Projects
Kolab:16:Enterprise
apr
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 2
View file
apr.spec
Changed
@@ -5,8 +5,8 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.5.1 -Release: 3%{?dist} +Version: 1.5.2 +Release: 1%{?dist} # ASL 2.0: everything # ISC: network_io/apr-1.4.6/network_io/unix/inet_?to?.c # BSD with advertising: strings/apr_snprintf.c, strings/apr_fnmatch.c, @@ -129,6 +129,9 @@ %{_datadir}/aclocal/*.m4 %changelog +* Sun Jan 17 2016 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 1.5.2-1 +- Check in version 1.5.2 + * Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
View file
apr-1.5.1.tar.bz2/CHANGES -> apr-1.5.2.tar.bz2/CHANGES
Changed
@@ -1,4 +1,63 @@ -*- coding: utf-8 -*- +Changes for APR 1.5.2 + + *) SECURITY: CVE-2015-1829 (cve.mitre.org) + APR applications using APR named pipe support on Windows can be + vulnerable to a pipe squatting attack from a local process; the extent + of the vulnerability, when present, depends on the application. + Initial analysis and report was provided by John Hernandez of Casaba + Security via HP SSRT Security Alert. [Yann Ylavic] + + *) apr_atomic: Fix errors when building on Visual Studio 2013 while + maintaining the ability to build on Visual Studio 6 with Windows + Server 2003 R2 SDK. PR 57191. [Gregg Smith] + + *) Switch to generic atomics for early/unpatched Solaris 10 not exporting + some atomic functions. PR 55418. [Yann Ylavic] + + *) apr_file_mktemp() on HP-UX: Remove limitation of 26 temporary files + per process. PR 57677. [Jeff Trawick] + + *) apr_escape: Correctly calculate the size of the returned string in + apr_escape_path and set the correct return value in case we actually + escape the string. [<aduryagin gmail.com>] PR 57230. + + *) pollcb on Windows: Handle calls with no file/socket descriptors. + Follow up to PR 49882. [Jeff Trawick, Yann Ylavic] + + *) apr_poll(cb): fix error paths returned values and leaks. [Yann Ylavic] + + *) apr_thread_cond_*wait() on BeOS: Fix broken logic. PR 45800. + [Jochen Voss (no e-mail)] + + *) apr_skiplist: Optimize the number of allocations by reusing pooled or + malloc()ed nodes for the lifetime of the skiplist. [Yann Ylavic] + + *) apr_skiplist: Fix possible multiple-free() on the same value in + apr_skiplist_remove_all(). [Yann Ylavic] + + *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return + "EDC8102I Operation would block" under load. + [Pat Odonnell <patod us.ibm.com>] + + *) On z/OS, apr_sockaddr_info_get() with family == APR_UNSPEC was not + returning IPv4 addresses if any IPv6 addresses were returned. + [Eric Covener] + + *) Windows cmake build: Fix an incompatibility with cmake 2.8.12 and + later. [Jeff Trawick] + + *) apr_global_mutex/apr_proc_mutex: Resolve failures with the + POSIX sem implementation in environments which receive signals. + [Jeff Trawick] + + *) apr_skiplist: Fix potential corruption of skiplists leading to + results or crashes. [Takashi Sato <takashi tks st>, Eric Covener] + PR 56654. + + *) Improve platform detection by updating config.guess and config.sub. + [Rainer Jung] + Changes for APR 1.5.1 *) apr_os_proc_mutex_get() on Unix: Avoid segfault for cross- @@ -37,8 +96,8 @@ *) Correct a regression in 1.5.0 which affected out-of-tree builds on Unix. [Rainer Jung] - *) Improve platform detection for bundled expat by updating - config.guess and config.sub. [Rainer Jung] + *) Improve platform detection by updating config.guess and config.sub. + [Rainer Jung] Changes for APR 1.5.0
View file
apr-1.5.1.tar.bz2/CMakeLists.txt -> apr-1.5.2.tar.bz2/CMakeLists.txt
Changed
@@ -234,6 +234,7 @@ test/testprocmutex.c test/testrand.c test/testshm.c + test/testskiplist.c test/testsleep.c test/testsock.c test/testsockets.c @@ -252,7 +253,6 @@ SET(install_targets) SET(install_bin_pdb) -SET(install_lib_pdb) # libapr-1 is shared, apr-1 is static ADD_LIBRARY(libapr-1 SHARED ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED} libapr.rc) @@ -264,7 +264,6 @@ ADD_LIBRARY(apr-1 STATIC ${APR_SOURCES} ${APR_PUBLIC_HEADERS_GENERATED}) SET(install_targets ${install_targets} apr-1) -SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/apr-1.pdb) TARGET_LINK_LIBRARIES(apr-1 ${APR_SYSTEM_LIBS}) SET_TARGET_PROPERTIES(apr-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;WINNT") ADD_DEPENDENCIES(apr-1 test_char_header) @@ -272,12 +271,10 @@ # libaprapp-1 and aprapp-1 are static ADD_LIBRARY(libaprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) SET(install_targets ${install_targets} libaprapp-1) -SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/libaprapp-1.pdb) SET_TARGET_PROPERTIES(libaprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_APP;WINNT") ADD_LIBRARY(aprapp-1 STATIC misc/win32/apr_app.c misc/win32/internal.c ${APR_PUBLIC_HEADERS_GENERATED}) SET(install_targets ${install_targets} aprapp-1) -SET(install_lib_pdb ${install_lib_pdb} ${PROJECT_BINARY_DIR}/aprapp-1.pdb) SET_TARGET_PROPERTIES(aprapp-1 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_APP;WINNT") IF(APR_BUILD_TESTAPR) @@ -394,10 +391,6 @@ INSTALL(FILES ${install_bin_pdb} DESTINATION bin CONFIGURATIONS RelWithDebInfo Debug) - - INSTALL(FILES ${install_lib_pdb} - DESTINATION lib - CONFIGURATIONS RelWithDebInfo Debug) ENDIF() INSTALL(FILES ${APR_PUBLIC_HEADERS_STATIC} ${APR_PUBLIC_HEADERS_GENERATED} DESTINATION include)
View file
apr-1.5.1.tar.bz2/Makefile.in -> apr-1.5.2.tar.bz2/Makefile.in
Changed
@@ -129,11 +129,11 @@ etags: etags `find . -name '*.[ch]'` -make_tools_dir: +OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) +tools/gen_test_char.lo: tools/gen_test_char.c $(APR_MKDIR) tools + $(LT_COMPILE) -OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS) -tools/gen_test_char.lo: make_tools_dir tools/gen_test_char@EXEEXT@: $(OBJECTS_gen_test_char) $(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
View file
apr-1.5.1.tar.bz2/NOTICE -> apr-1.5.2.tar.bz2/NOTICE
Changed
@@ -1,5 +1,5 @@ Apache Portable Runtime -Copyright (c) 2000-2014 The Apache Software Foundation. +Copyright (c) 2000-2015 The Apache Software Foundation. This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
View file
apr-1.5.1.tar.bz2/NWGNUmakefile -> apr-1.5.2.tar.bz2/NWGNUmakefile
Changed
@@ -50,6 +50,7 @@ # XINCDIRS += \ $(APR)/include \ + $(APR)/include/private \ $(APR)/include/arch/NetWare \ $(APR)/include/arch/unix \ $(APR)/memory/unix \ @@ -293,11 +294,13 @@ FILES_lib_objs = \ $(OBJDIR)/apr_atomic.o \ $(OBJDIR)/apr_cpystrn.o \ + $(OBJDIR)/apr_escape.o \ $(OBJDIR)/apr_fnmatch.o \ $(OBJDIR)/apr_getpass.o \ $(OBJDIR)/apr_hash.o \ $(OBJDIR)/apr_pools.o \ $(OBJDIR)/apr_random.o \ + $(OBJDIR)/apr_skiplist.o \ $(OBJDIR)/apr_snprintf.o \ $(OBJDIR)/apr_strings.o \ $(OBJDIR)/apr_strnatcmp.o \ @@ -407,7 +410,7 @@ vpath %.c atomic/netware:strings:tables:passwd:lib:time/unix vpath %.c file_io/unix:locks/netware:misc/netware:misc/unix:threadproc/netware vpath %.c poll/unix:shmem/unix:support/unix:random/unix -vpath %.c dso/netware:memory/unix:mmap/unix:user/netware +vpath %.c dso/netware:memory/unix:mmap/unix:user/netware:encoding # Use the win32 network_io if Winsock is being used ifndef USE_STDSOCKETS
View file
apr-1.5.1.tar.bz2/apr.dsp -> apr-1.5.2.tar.bz2/apr.dsp
Changed
@@ -907,69 +907,6 @@ # Begin Source File SOURCE=.\include\apr_want.h - -!IF "$(CFG)" == "apr - Win32 Release" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "apr - Win32 Debug" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "apr - Win32 Release9x" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\9x\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "apr - Win32 Debug9x" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\9x\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "apr - x64 Release" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\x64\LibR\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "apr - x64 Debug" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\x64\LibD\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ENDIF - # End Source File # End Group # End Target
View file
apr-1.5.1.tar.bz2/apr.spec -> apr-1.5.2.tar.bz2/apr.spec
Changed
@@ -3,7 +3,7 @@ Summary: Apache Portable Runtime library Name: apr -Version: 1.5.1 +Version: 1.5.2 Release: 1 License: Apache Software License Group: System Environment/Libraries @@ -76,7 +76,7 @@ %defattr(-,root,root,-) %doc docs/APRDesign.html docs/canonical_filenames.html %doc docs/incomplete_types docs/non_apr_programs -%doc --parents html +%doc html %{_bindir}/apr*config %{_libdir}/libapr-%{aprver}.*a %{_libdir}/libapr-%{aprver}.so
View file
apr-1.5.1.tar.bz2/atomic/win32/apr_atomic.c -> apr-1.5.2.tar.bz2/atomic/win32/apr_atomic.c
Changed
@@ -23,33 +23,12 @@ return APR_SUCCESS; } -/* - * Remapping function pointer type to accept apr_uint32_t's type-safely - * as the arguments for as our apr_atomic_foo32 Functions - */ -typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_fn) - (apr_uint32_t volatile *); -typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_fn) - (apr_uint32_t volatile *, - apr_uint32_t); -typedef WINBASEAPI apr_uint32_t (WINAPI * apr_atomic_win32_ptr_val_val_fn) - (apr_uint32_t volatile *, - apr_uint32_t, apr_uint32_t); -typedef WINBASEAPI void * (WINAPI * apr_atomic_win32_ptr_ptr_ptr_fn) - (volatile void **, - void *, const void *); -typedef WINBASEAPI void * (WINAPI * apr_atomic_win32_ptr_ptr_fn) - (volatile void **, - void *); - APR_DECLARE(apr_uint32_t) apr_atomic_add32(volatile apr_uint32_t *mem, apr_uint32_t val) { #if (defined(_M_IA64) || defined(_M_AMD64)) return InterlockedExchangeAdd(mem, val); -#elif defined(__MINGW32__) - return InterlockedExchangeAdd((long *)mem, val); #else - return ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, val); + return InterlockedExchangeAdd((long *)mem, val); #endif } @@ -62,10 +41,8 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) InterlockedExchangeAdd(mem, -val); -#elif defined(__MINGW32__) - InterlockedExchangeAdd((long *)mem, -val); #else - ((apr_atomic_win32_ptr_val_fn)InterlockedExchangeAdd)(mem, -val); + InterlockedExchangeAdd((long *)mem, -val); #endif } @@ -74,10 +51,8 @@ /* we return old value, win32 returns new value :( */ #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedIncrement(mem) - 1; -#elif defined(__MINGW32__) - return InterlockedIncrement((long *)mem) - 1; #else - return ((apr_atomic_win32_ptr_fn)InterlockedIncrement)(mem) - 1; + return InterlockedIncrement((long *)mem) - 1; #endif } @@ -85,10 +60,8 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedDecrement(mem); -#elif defined(__MINGW32__) - return InterlockedDecrement((long *)mem); #else - return ((apr_atomic_win32_ptr_fn)InterlockedDecrement)(mem); + return InterlockedDecrement((long *)mem); #endif } @@ -96,10 +69,8 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) InterlockedExchange(mem, val); -#elif defined(__MINGW32__) - InterlockedExchange((long*)mem, val); #else - ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val); + InterlockedExchange((long*)mem, val); #endif } @@ -113,10 +84,8 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedCompareExchange(mem, with, cmp); -#elif defined(__MINGW32__) - return InterlockedCompareExchange((long*)mem, with, cmp); #else - return ((apr_atomic_win32_ptr_val_val_fn)InterlockedCompareExchange)(mem, with, cmp); + return InterlockedCompareExchange((long*)mem, with, cmp); #endif } @@ -124,11 +93,8 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedCompareExchangePointer((void* volatile*)mem, with, (void*)cmp); -#elif defined(__MINGW32__) - return InterlockedCompareExchangePointer((void**)mem, with, (void*)cmp); #else - /* Too many VC6 users have stale win32 API files, stub this */ - return ((apr_atomic_win32_ptr_ptr_ptr_fn)InterlockedCompareExchange)(mem, with, cmp); + return InterlockedCompareExchangePointer((void**)mem, with, (void*)cmp); #endif } @@ -136,19 +102,12 @@ { #if (defined(_M_IA64) || defined(_M_AMD64)) && !defined(RC_INVOKED) return InterlockedExchange(mem, val); -#elif defined(__MINGW32__) - return InterlockedExchange((long *)mem, val); #else - return ((apr_atomic_win32_ptr_val_fn)InterlockedExchange)(mem, val); + return InterlockedExchange((long *)mem, val); #endif } APR_DECLARE(void*) apr_atomic_xchgptr(volatile void **mem, void *with) { -#if (defined(_M_IA64) || defined(_M_AMD64) || defined(__MINGW32__)) && !defined(RC_INVOKED) return InterlockedExchangePointer((void**)mem, with); -#else - /* Too many VC6 users have stale win32 API files, stub this */ - return ((apr_atomic_win32_ptr_ptr_fn)InterlockedExchange)(mem, with); -#endif }
View file
apr-1.5.1.tar.bz2/build-outputs.mk -> apr-1.5.2.tar.bz2/build-outputs.mk
Changed
@@ -251,7 +251,7 @@ file_io/win32/filesys.lo: file_io/win32/filesys.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_general.h include/apr_pools.h include/apr_strings.h include/apr_thread_mutex.h include/apr_want.h file_io/win32/flock.lo: file_io/win32/flock.c .make.dirs file_io/win32/open.lo: file_io/win32/open.c .make.dirs include/apr_allocator.h include/apr_dso.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_global_mutex.h include/apr_inherit.h include/apr_network_io.h include/apr_pools.h include/apr_portable.h include/apr_proc_mutex.h include/apr_shm.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_thread_proc.h include/apr_time.h include/apr_user.h include/apr_want.h -file_io/win32/pipe.lo: file_io/win32/pipe.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h +file_io/win32/pipe.lo: file_io/win32/pipe.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_escape.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h file_io/win32/readwrite.lo: file_io/win32/readwrite.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_lib.h include/apr_pools.h include/apr_strings.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h file_io/win32/seek.lo: file_io/win32/seek.c .make.dirs include/apr_allocator.h include/apr_errno.h include/apr_file_info.h include/apr_file_io.h include/apr_general.h include/apr_inherit.h include/apr_pools.h include/apr_tables.h include/apr_thread_mutex.h include/apr_time.h include/apr_user.h include/apr_want.h
View file
apr-1.5.1.tar.bz2/build/NWGNUenvironment.inc -> apr-1.5.2.tar.bz2/build/NWGNUenvironment.inc
Changed
@@ -141,6 +141,7 @@ CPP = mwccnlm LINK = mwldnlm LIB = mwldnlm -type library -w nocmdline +WIN_CC = mwcc # Setup build tools AWK = awk @@ -206,6 +207,20 @@ MATH3S = PLIB3S = $(METROWERKS)/Novell Support/Metrowerks Support/Libraries/MSL C++/MWCPP.lib +ifeq "$(OS)" "Windows_NT" +# MetroWerks Win32 build flags to create build tools +MWCW_MSL = "$(METROWERKS)/MSL" +MWCW_W32 = "$(METROWERKS)/Win32-x86 Support" +CC_FOR_BUILD = $(WIN_CC) +CFLAGS_FOR_BUILD = -O2 -gccinc -nodefaults -proc 586 -w off +CFLAGS_FOR_BUILD += -ir $(MWCW_MSL) -ir $(MWCW_W32) -lr $(MWCW_MSL) -lr $(MWCW_W32) +CFLAGS_FOR_BUILD += -lMSL_All_x86.lib -lkernel32.lib -luser32.lib +else +# GNUC build flags to create build tools +CC_FOR_BUILD = gcc +CFLAGS_FOR_BUILD = -Wall -O2 +endif + # Base compile flags # and prefix or precompiled header added here. @@ -222,6 +237,12 @@ CFLAGS = -c -w nocmdline -gccinc -Cpp_exceptions off -RTTI off -align 4 -proc PII +ifdef CC_MAX_ERRORS +CFLAGS += -maxerrors $(CC_MAX_ERRORS) +else +CFLAGS += -maxerrors 1 +endif + ifeq "$(REQUIRE_PROTOTYPES)" "1" CFLAGS += -r endif @@ -237,7 +258,7 @@ CFLAGS += -O4,p endif -# -prefix apr_arch_pre_nw.h #include pre_nw.h for all files +# -prefix apr_arch_pre_nw.h #include apr_arch_pre_nw.h for all files CFLAGS += -prefix apr_arch_pre_nw.h
View file
apr-1.5.1.tar.bz2/build/NWGNUmakefile -> apr-1.5.2.tar.bz2/build/NWGNUmakefile
Changed
@@ -23,6 +23,7 @@ $(APU)/include/private/apu_config.h \ $(APU)/include/private/apu_select_dbm.h \ $(APUXML)/expat/lib/expat_config.h \ + $(APR)/include/private/apr_escape_test_char.h \ $(EOLIST) nlms :: $(APR)/aprlib.imp @@ -69,6 +70,14 @@ @echo $(DL)Creating $@$(DL) $(call COPY,$<,$@) +$(APR)/include/private/apr_escape_test_char.h: gen_test_char.exe $(APR)/tools/gen_test_char.c + @echo $(DL)GEN $@$(DL) + $< > $@ + +%.exe: $(APR)/tools/%.c + @echo $(DL)Creating Build Helper $@$(DL) + $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -DCROSS_COMPILE $< -o $@ + # # You can use this target if all that is needed is to copy files to the # installation area @@ -81,6 +90,7 @@ $(call DEL,NWGNUversion.inc) $(call DEL,$(APR)/aprlib.imp) $(foreach file,$(FILES_prebuild_headers),$(call DEL,$(file))) + $(call DEL,gen_test_char.exe) # # Include the 'tail' makefile that has targets that depend on variables defined
View file
apr-1.5.1.tar.bz2/build/apr_hints.m4 -> apr-1.5.2.tar.bz2/build/apr_hints.m4
Changed
@@ -183,7 +183,7 @@ APR_ADDTO(CPPFLAGS, [-DRHAPSODY]) ;; *-apple-darwin*) - APR_ADDTO(CPPFLAGS, [-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp]) + APR_ADDTO(CPPFLAGS, [-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK]) APR_SETIFNULL(apr_posixsem_is_global, [yes]) case $host in *-apple-darwin[[1-9]].*)
View file
apr-1.5.1.tar.bz2/build/config.guess -> apr-1.5.2.tar.bz2/build/config.guess
Changed
@@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2014-02-12' +timestamp='2014-03-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -826,7 +826,7 @@ *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; - i*:MSYS*:*) + *:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) @@ -969,10 +969,10 @@ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; - or1k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} exit ;; - or32:Linux:*:*) + or32:Linux:*:* | or1k*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*)
View file
apr-1.5.1.tar.bz2/build/config.sub -> apr-1.5.2.tar.bz2/build/config.sub
Changed
@@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2014 Free Software Foundation, Inc. -timestamp='2014-01-01' +timestamp='2014-09-11' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -283,8 +283,10 @@ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ @@ -296,11 +298,11 @@ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ - | open8 \ - | or1k | or32 \ + | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ @@ -402,8 +404,10 @@ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ @@ -415,6 +419,7 @@ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ + | or1k*-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ @@ -824,6 +829,10 @@ basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -1369,14 +1378,14 @@ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1594,9 +1603,6 @@ mips*-*) os=-elf ;; - or1k-*) - os=-elf - ;; or32-*) os=-coff ;;
View file
apr-1.5.1.tar.bz2/build/nw_export.inc -> apr-1.5.2.tar.bz2/build/nw_export.inc
Changed
@@ -15,6 +15,7 @@ #include "apr_dso.h" #include "apr_env.h" #include "apr_errno.h" +#include "apr_escape.h" #include "apr_file_info.h" #include "apr_file_io.h" #include "apr_fnmatch.h" @@ -34,6 +35,7 @@ #include "apr_random.h" #include "apr_shm.h" #include "apr_signal.h" +#include "apr_skiplist.h" #include "apr_strings.h" #include "apr_support.h" #include "apr_tables.h"
View file
apr-1.5.1.tar.bz2/build/rpm/apr.spec.in -> apr-1.5.2.tar.bz2/build/rpm/apr.spec.in
Changed
@@ -76,7 +76,7 @@ %defattr(-,root,root,-) %doc docs/APRDesign.html docs/canonical_filenames.html %doc docs/incomplete_types docs/non_apr_programs -%doc --parents html +%doc html %{_bindir}/apr*config %{_libdir}/libapr-%{aprver}.*a %{_libdir}/libapr-%{aprver}.so
View file
apr-1.5.1.tar.bz2/configure -> apr-1.5.2.tar.bz2/configure
Changed
@@ -6802,10 +6802,10 @@ *-apple-darwin*) if test "x$CPPFLAGS" = "x"; then - test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp\"" - CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp" + test "x$silent" != "xyes" && echo " setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK\"" + CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK" else - apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp" + apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK" for i in $apr_addto_bugger; do apr_addto_duplicate="0" for j in $CPPFLAGS; do @@ -18794,7 +18794,34 @@ else case $host_cpu in i[456]86) force_generic_atomics=yes ;; - *) force_generic_atomics=no ;; + *) force_generic_atomics=no + case $host in + *solaris2.10*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <atomic.h> +int +main () +{ +void *ptr = NULL; atomic_cas_ptr(&ptr, NULL, NULL); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + force_generic_atomics=yes + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $force_generic_atomics = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: nonportable atomic support disabled, system needs Patch-ID 118884 or 118885" >&5 +$as_echo "$as_me: nonportable atomic support disabled, system needs Patch-ID 118884 or 118885" >&6;} + fi + ;; + esac + ;; esac fi @@ -22292,7 +22319,7 @@ fi done -for ac_func in getpass getpassphrase gmtime_r localtime_r mkstemp +for ac_func in getpass getpassphrase gmtime_r localtime_r do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -22304,6 +22331,23 @@ fi done +case $host in + *-hp-hpux*) + ;; + *) + for ac_func in mkstemp +do : + ac_fn_c_check_func "$LINENO" "mkstemp" "ac_cv_func_mkstemp" +if test "x$ac_cv_func_mkstemp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MKSTEMP 1 +_ACEOF + +fi +done + + ;; +esac @@ -23902,7 +23946,7 @@ if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then # Enable LFS aprlfs=1 - for ac_func in mmap64 sendfile64 sendfilev64 mkstemp64 readdir64_r + for ac_func in mmap64 sendfile64 sendfilev64 readdir64_r do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -23914,6 +23958,23 @@ fi done + case $host in + *-hp-hpux*) + ;; + *) + for ac_func in mkstemp64 +do : + ac_fn_c_check_func "$LINENO" "mkstemp64" "ac_cv_func_mkstemp64" +if test "x$ac_cv_func_mkstemp64" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MKSTEMP64 1 +_ACEOF + +fi +done + + ;; + esac elif test "${ac_cv_sizeof_off_t}" != "${ac_cv_sizeof_size_t}"; then # unsure of using -gt above is as portable, can can't forsee where # off_t can legitimately be smaller than size_t
View file
apr-1.5.1.tar.bz2/configure.in -> apr-1.5.2.tar.bz2/configure.in
Changed
@@ -640,7 +640,20 @@ ], [case $host_cpu in i[[456]]86) force_generic_atomics=yes ;; - *) force_generic_atomics=no ;; + *) force_generic_atomics=no + case $host in + *solaris2.10*) + AC_TRY_COMPILE( + [#include <atomic.h>], + [void *ptr = NULL; atomic_cas_ptr(&ptr, NULL, NULL);],, + [force_generic_atomics=yes] + ) + if test $force_generic_atomics = yes; then + AC_MSG_NOTICE([nonportable atomic support disabled, system needs Patch-ID 118884 or 118885]) + fi + ;; + esac + ;; esac ]) @@ -1400,7 +1413,15 @@ mmap="1" fi AC_CHECK_FUNCS(memmove, [ have_memmove="1" ], [have_memmove="0" ]) -AC_CHECK_FUNCS([getpass getpassphrase gmtime_r localtime_r mkstemp]) +AC_CHECK_FUNCS([getpass getpassphrase gmtime_r localtime_r]) +case $host in + *-hp-hpux*) + dnl mkstemp is limited to 26 temporary files (a-z); use APR replacement + ;; + *) + AC_CHECK_FUNCS(mkstemp) + ;; +esac AC_SUBST(fork) AC_SUBST(have_inet_addr) @@ -1801,7 +1822,15 @@ if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then # Enable LFS aprlfs=1 - AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 mkstemp64 readdir64_r]) + AC_CHECK_FUNCS([mmap64 sendfile64 sendfilev64 readdir64_r]) + case $host in + *-hp-hpux*) + dnl mkstemp64 is limited to 26 temporary files (a-z); use APR replacement + ;; + *) + AC_CHECK_FUNCS(mkstemp64) + ;; + esac elif test "${ac_cv_sizeof_off_t}" != "${ac_cv_sizeof_size_t}"; then # unsure of using -gt above is as portable, can can't forsee where # off_t can legitimately be smaller than size_t
View file
apr-1.5.1.tar.bz2/encoding/apr_escape.c -> apr-1.5.2.tar.bz2/encoding/apr_escape.c
Changed
@@ -436,6 +436,8 @@ while ((c = *s) && slen) { if (TEST_CHAR(c, T_OS_ESCAPE_PATH)) { d = c2x(c, '%', d); + size += 2; + found = 1; } else { *d++ = c;
View file
apr-1.5.1.tar.bz2/file_io/win32/pipe.c -> apr-1.5.2.tar.bz2/file_io/win32/pipe.c
Changed
@@ -18,6 +18,7 @@ #include "apr_file_io.h" #include "apr_general.h" #include "apr_strings.h" +#include "apr_escape.h" #if APR_HAVE_ERRNO_H #include <errno.h> #endif @@ -46,7 +47,8 @@ return APR_ENOTIMPL; } if (timeout && !(thepipe->pOverlapped)) { - /* Cannot be nonzero if a pipe was opened blocking */ + /* Cannot be nonzero if a pipe was opened blocking + */ return APR_EINVAL; } thepipe->timeout = timeout; @@ -81,7 +83,6 @@ static unsigned long id = 0; DWORD dwPipeMode; DWORD dwOpenMode; - char name[50]; sa.nLength = sizeof(sa); @@ -126,8 +127,26 @@ (void) apr_pollset_create(&(*out)->pollset, 1, p, 0); #endif if (apr_os_level >= APR_WIN_NT) { + char rand[8]; + int pid = getpid(); +#define FMT_PIPE_NAME "\\\\.\\pipe\\apr-pipe-%x.%lx." + /* ^ ^ ^ + * pid | | + * | | + * id | + * | + * hex-escaped rand[8] (16 bytes) + */ + char name[sizeof FMT_PIPE_NAME + 2 * sizeof(pid) + + 2 * sizeof(id) + + 2 * sizeof(rand)]; + apr_size_t pos; + /* Create the read end of the pipe */ dwOpenMode = PIPE_ACCESS_INBOUND; +#ifdef FILE_FLAG_FIRST_PIPE_INSTANCE + dwOpenMode |= FILE_FLAG_FIRST_PIPE_INSTANCE; +#endif if (blocking == APR_WRITE_BLOCK /* READ_NONBLOCK */ || blocking == APR_FULL_NONBLOCK) { dwOpenMode |= FILE_FLAG_OVERLAPPED; @@ -135,10 +154,11 @@ (*in)->pOverlapped->hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); (*in)->timeout = 0; } - dwPipeMode = 0; - sprintf(name, "\\\\.\\pipe\\apr-pipe-%u.%lu", getpid(), id++); + apr_generate_random_bytes(rand, sizeof rand); + pos = apr_snprintf(name, sizeof name, FMT_PIPE_NAME, pid, id++); + apr_escape_hex(name + pos, rand, sizeof rand, 0, NULL); (*in)->filehand = CreateNamedPipe(name, dwOpenMode, @@ -148,6 +168,11 @@ 65536, /* nInBufferSize, */ 1, /* nDefaultTimeOut, */ &sa); + if ((*in)->filehand == INVALID_HANDLE_VALUE) { + apr_status_t rv = apr_get_os_error(); + file_cleanup(*in); + return rv; + } /* Create the write end of the pipe */ dwOpenMode = FILE_ATTRIBUTE_NORMAL; @@ -160,12 +185,18 @@ } (*out)->filehand = CreateFile(name, - GENERIC_WRITE, /* access mode */ - 0, /* share mode */ - &sa, /* Security attributes */ - OPEN_EXISTING, /* dwCreationDisposition */ - dwOpenMode, /* Pipe attributes */ - NULL); /* handle to template file */ + GENERIC_WRITE, /* access mode */ + 0, /* share mode */ + &sa, /* Security attributes */ + OPEN_EXISTING, /* dwCreationDisposition */ + dwOpenMode, /* Pipe attributes */ + NULL); /* handle to template file */ + if ((*out)->filehand == INVALID_HANDLE_VALUE) { + apr_status_t rv = apr_get_os_error(); + file_cleanup(*out); + file_cleanup(*in); + return rv; + } } else { /* Pipes on Win9* are blocking. Live with it. */
View file
apr-1.5.1.tar.bz2/include/apr_skiplist.h -> apr-1.5.2.tar.bz2/include/apr_skiplist.h
Changed
@@ -40,7 +40,9 @@ /** * apr_skiplist_compare is the function type that must be implemented * per object type that is used in a skip list for comparisons to maintain - * order + * order. A value <0 indicates placement after this node; a value of 0 + * indicates collision with this exact node; a value >0 indicates placement + * before this node. * */ typedef int (*apr_skiplist_compare) (void *, void *); @@ -171,7 +173,8 @@ APR_DECLARE(void *) apr_skiplist_previous(apr_skiplist *sl, apr_skiplistnode **iter); /** - * Insert an element into the skip list using the specified comparison function. + * Insert an element into the skip list using the specified comparison function + * if it does not already exist. * @param sl The skip list * @param data The element to insert * @param comp The comparison function to use for placement into the skip list @@ -180,7 +183,8 @@ void *data, apr_skiplist_compare comp); /** - * Insert an element into the skip list using the existing comparison function. + * Insert an element into the skip list using the existing comparison function + * if it does not already exist (as determined by the comparison function) * @param sl The skip list * @param data The element to insert * @remark If no comparison function has been set for the skip list, the element @@ -190,7 +194,7 @@ /** * Remove an element from the skip list using the specified comparison function for - * locating the element. + * locating the element. In the case of duplicates, the 1st entry will be removed. * @param sl The skip list * @param data The element to remove * @param myfree A function to be called for each removed element @@ -203,7 +207,7 @@ /** * Remove an element from the skip list using the existing comparison function for - * locating the element. + * locating the element. In the case of duplicates, the 1st entry will be removed. * @param sl The skip list * @param data The element to remove * @param myfree A function to be called for each removed element @@ -229,7 +233,7 @@ APR_DECLARE(void) apr_skiplist_destroy(apr_skiplist *sl, apr_skiplist_freefunc myfree); /** - * Return the first element in the skip list, leaving the element in the skip list. + * Return the first element in the skip list, removing the element from the skip list. * @param sl The skip list * @param myfree A function to be called for the removed element * @remark NULL will be returned if there are no elements
View file
apr-1.5.1.tar.bz2/include/apr_version.h -> apr-1.5.2.tar.bz2/include/apr_version.h
Changed
@@ -38,7 +38,7 @@ */ -#define APR_COPYRIGHT "Copyright (c) 2000-2014 The Apache Software " \ +#define APR_COPYRIGHT "Copyright (c) 2000-2015 The Apache Software " \ "Foundation or its licensors, as applicable." /* The numeric compile-time version constants. These constants are the @@ -62,7 +62,7 @@ * The Patch Level never includes API changes, simply bug fixes. * Reset to 0 when upgrading APR_MINOR_VERSION */ -#define APR_PATCH_VERSION 1 +#define APR_PATCH_VERSION 2 /** * The symbol APR_IS_DEV_VERSION is only defined for internal,
View file
apr-1.5.1.tar.bz2/libapr.dsp -> apr-1.5.2.tar.bz2/libapr.dsp
Changed
@@ -765,7 +765,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\Release\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\Release\gen_test_char /Fe.\Release\gen_test_char.exe .\tools\gen_test_char.c .\Release\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -776,7 +776,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\Debug\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\Debug\gen_test_char /Fe.\Debug\gen_test_char.exe .\tools\gen_test_char.c .\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -787,7 +787,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\9x\Release\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\Release\gen_test_char /Fe.\9x\Release\gen_test_char.exe .\tools\gen_test_char.c .\9x\Release\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -798,7 +798,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\9x\Debug\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\9x\Debug\gen_test_char /Fe.\9x\Debug\gen_test_char.exe .\tools\gen_test_char.c .\9x\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -809,7 +809,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\x64\Release\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\Release\gen_test_char /Fe.\x64\Release\gen_test_char.exe .\tools\gen_test_char.c .\x64\Release\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -820,7 +820,7 @@ # Begin Custom Build - Creating gen_test_char.exe and apr_escape_test_char.h InputPath=.\include\apr_escape.h -".\x64\Debug\gen_test_char.exe" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" +".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" cl.exe /nologo /W3 /EHsc /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /I ".\include" /Fo.\x64\Debug\gen_test_char /Fe.\x64\Debug\gen_test_char.exe .\tools\gen_test_char.c .\x64\Debug\gen_test_char.exe > .\include\apr_escape_test_char.h @@ -952,69 +952,6 @@ # Begin Source File SOURCE=.\include\apr_want.h - -!IF "$(CFG)" == "libapr - Win32 Release" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "libapr - Win32 Debug" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "libapr - Win32 Release9x" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "libapr - Win32 Debug9x" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "libapr - x64 Release" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ELSEIF "$(CFG)" == "libapr - x64 Debug" - -# Begin Custom Build -InputPath=.\include\apr_want.h - -".\include\apr_escape_test_char.h" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" - type .\include\apr.hw > .\include\apr.h - -# End Custom Build - -!ENDIF - # End Source File # End Group # Begin Source File
View file
apr-1.5.1.tar.bz2/locks/beos/thread_cond.c -> apr-1.5.2.tar.bz2/locks/beos/thread_cond.c
Changed
@@ -113,10 +113,11 @@ apr_thread_mutex_lock(cond->condlock); - if (rv != B_OK) + if (rv != B_OK) { if (rv == B_TIMED_OUT) return APR_TIMEUP; return rv; + } acquire_sem(cond->lock); APR_RING_REMOVE(wait, link);
View file
apr-1.5.1.tar.bz2/locks/unix/proc_mutex.c -> apr-1.5.2.tar.bz2/locks/unix/proc_mutex.c
Changed
@@ -114,7 +114,9 @@ usec = apr_time_usec(now); apr_snprintf(semname, sizeof(semname), "/ApR.%lxZ%lx", sec, usec); } - psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); + do { + psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); + } while (psem == (sem_t *)SEM_FAILED && errno == EINTR); if (psem == (sem_t *)SEM_FAILED) { if (errno == ENAMETOOLONG) { /* Oh well, good try */ @@ -122,7 +124,9 @@ } else { return errno; } - psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); + do { + psem = sem_open(semname, O_CREAT | O_EXCL, 0644, 1); + } while (psem == (sem_t *)SEM_FAILED && errno == EINTR); } if (psem == (sem_t *)SEM_FAILED) { @@ -140,7 +144,12 @@ static apr_status_t proc_mutex_posix_acquire(apr_proc_mutex_t *mutex) { - if (sem_wait(mutex->psem_interproc) < 0) { + int rc; + + do { + rc = sem_wait(mutex->psem_interproc); + } while (rc < 0 && errno == EINTR); + if (rc < 0) { return errno; } mutex->curr_locked = 1; @@ -149,7 +158,12 @@ static apr_status_t proc_mutex_posix_tryacquire(apr_proc_mutex_t *mutex) { - if (sem_trywait(mutex->psem_interproc) < 0) { + int rc; + + do { + rc = sem_trywait(mutex->psem_interproc); + } while (rc < 0 && errno == EINTR); + if (rc < 0) { if (errno == EAGAIN) { return APR_EBUSY; }
View file
apr-1.5.1.tar.bz2/memory/unix/apr_pools.c -> apr-1.5.2.tar.bz2/memory/unix/apr_pools.c
Changed
@@ -1135,21 +1135,12 @@ * room to hold the NUL terminator. */ if (ps.node->first_avail == ps.node->endp) { - if (psprintf_flush(&ps.vbuff) == -1) { - if (pool->abort_fn) { - pool->abort_fn(APR_ENOMEM); - } - - return NULL; - } + if (psprintf_flush(&ps.vbuff) == -1) + goto error; } - if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1) { - if (pool->abort_fn) - pool->abort_fn(APR_ENOMEM); - - return NULL; - } + if (apr_vformatter(psprintf_flush, &ps.vbuff, fmt, ap) == -1) + goto error; strp = ps.vbuff.curpos; *strp++ = '\0'; @@ -1195,6 +1186,15 @@ list_insert(active, node); return strp; + +error: + if (pool->abort_fn) + pool->abort_fn(APR_ENOMEM); + if (ps.got_a_new_node) { + ps.node->next = ps.free; + allocator_free(pool->allocator, ps.node); + } + return NULL; }
View file
apr-1.5.1.tar.bz2/misc/unix/errorcodes.c -> apr-1.5.2.tar.bz2/misc/unix/errorcodes.c
Changed
@@ -39,6 +39,8 @@ static char *apr_error_string(apr_status_t statcode) { switch (statcode) { + case APR_ENOSTAT: + return "Could not perform a stat on the file."; case APR_ENOPOOL: return "A new pool could not be created."; case APR_EBADDATE: @@ -73,7 +75,10 @@ return "The specified IP address is invalid."; case APR_EBADMASK: return "The specified network mask is invalid."; - + case APR_ESYMNOTFOUND: + return "Could not find the requested symbol."; + case APR_ENOTENOUGHENTROPY: + return "Not enough entropy to continue."; case APR_INCHILD: return "Your code just forked, and you are currently executing in the " @@ -128,10 +133,12 @@ return "The given path is misformatted or contained invalid characters"; case APR_EPATHWILD: return "The given path contained wildcard characters"; + case APR_EBUSY: + return "The given lock was busy."; case APR_EPROC_UNKNOWN: return "The process is not recognized."; case APR_EGENERAL: - return "Internal error"; + return "Internal error (specific information not available)"; default: return "Error string not specified yet"; }
View file
apr-1.5.1.tar.bz2/network_io/unix/sockaddr.c -> apr-1.5.2.tar.bz2/network_io/unix/sockaddr.c
Changed
@@ -325,6 +325,16 @@ hints.ai_flags = AI_ADDRCONFIG; } #endif + +#ifdef __MVS__ + /* z/OS will not return IPv4 address under AF_UNSPEC if any IPv6 results + * are returned, w/o AI_ALL. + */ + if (family == APR_UNSPEC) { + hints.ai_flags |= AI_ALL; + } +#endif + if(hostname == NULL) { #ifdef AI_PASSIVE /* If hostname is NULL, assume we are trying to bind to all
View file
apr-1.5.1.tar.bz2/network_io/unix/sockets.c -> apr-1.5.2.tar.bz2/network_io/unix/sockets.c
Changed
@@ -145,13 +145,22 @@ #ifndef HAVE_SOCK_CLOEXEC { int flags; + apr_status_t rv; - if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) - return errno; + if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) { + rv = errno; + close((*new)->socketdes); + (*new)->socketdes = -1; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) - return errno; + if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) { + rv = errno; + close((*new)->socketdes); + (*new)->socketdes = -1; + return rv; + } } #endif @@ -306,13 +315,22 @@ #ifndef HAVE_ACCEPT4 { int flags; + apr_status_t rv; - if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) - return errno; + if ((flags = fcntl((*new)->socketdes, F_GETFD)) == -1) { + rv = errno; + close((*new)->socketdes); + (*new)->socketdes = -1; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) - return errno; + if (fcntl((*new)->socketdes, F_SETFD, flags) == -1) { + rv = errno; + close((*new)->socketdes); + (*new)->socketdes = -1; + return rv; + } } #endif
View file
apr-1.5.1.tar.bz2/poll/unix/epoll.c -> apr-1.5.2.tar.bz2/poll/unix/epoll.c
Changed
@@ -104,14 +104,22 @@ #ifndef HAVE_EPOLL_CREATE1 { - int flags; + int fd_flags; - if ((flags = fcntl(fd, F_GETFD)) == -1) - return errno; + if ((fd_flags = fcntl(fd, F_GETFD)) == -1) { + rv = errno; + close(fd); + pollset->p = NULL; + return rv; + } - flags |= FD_CLOEXEC; - if (fcntl(fd, F_SETFD, flags) == -1) - return errno; + fd_flags |= FD_CLOEXEC; + if (fcntl(fd, F_SETFD, fd_flags) == -1) { + rv = errno; + close(fd); + pollset->p = NULL; + return rv; + } } #endif @@ -122,11 +130,13 @@ ((rv = apr_thread_mutex_create(&pollset->p->ring_lock, APR_THREAD_MUTEX_DEFAULT, p)) != APR_SUCCESS)) { + close(fd); pollset->p = NULL; return rv; } #else if (flags & APR_POLLSET_THREADSAFE) { + close(fd); pollset->p = NULL; return APR_ENOTIMPL; } @@ -345,14 +355,23 @@ #ifndef HAVE_EPOLL_CREATE1 { - int flags; - - if ((flags = fcntl(fd, F_GETFD)) == -1) - return errno; + int fd_flags; + apr_status_t rv; + + if ((fd_flags = fcntl(fd, F_GETFD)) == -1) { + rv = errno; + close(fd); + pollcb->fd = -1; + return rv; + } - flags |= FD_CLOEXEC; - if (fcntl(fd, F_SETFD, flags) == -1) - return errno; + fd_flags |= FD_CLOEXEC; + if (fcntl(fd, F_SETFD, fd_flags) == -1) { + rv = errno; + close(fd); + pollcb->fd = -1; + return rv; + } } #endif
View file
apr-1.5.1.tar.bz2/poll/unix/kqueue.c -> apr-1.5.2.tar.bz2/poll/unix/kqueue.c
Changed
@@ -115,12 +115,20 @@ { int flags; - if ((flags = fcntl(pollset->p->kqueue_fd, F_GETFD)) == -1) - return errno; + if ((flags = fcntl(pollset->p->kqueue_fd, F_GETFD)) == -1) { + rv = errno; + close(pollset->p->kqueue_fd); + pollset->p = NULL; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl(pollset->p->kqueue_fd, F_SETFD, flags) == -1) - return errno; + if (fcntl(pollset->p->kqueue_fd, F_SETFD, flags) == -1) { + rv = errno; + close(pollset->p->kqueue_fd); + pollset->p = NULL; + return rv; + } } pollset->p->result_set = apr_palloc(p, pollset->p->setsize * sizeof(apr_pollfd_t)); @@ -338,13 +346,22 @@ { int flags; + apr_status_t rv; - if ((flags = fcntl(fd, F_GETFD)) == -1) - return errno; + if ((flags = fcntl(fd, F_GETFD)) == -1) { + rv = errno; + close(fd); + pollcb->fd = -1; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl(fd, F_SETFD, flags) == -1) - return errno; + if (fcntl(fd, F_SETFD, flags) == -1) { + rv = errno; + close(fd); + pollcb->fd = -1; + return rv; + } } pollcb->fd = fd;
View file
apr-1.5.1.tar.bz2/poll/unix/poll.c -> apr-1.5.2.tar.bz2/poll/unix/poll.c
Changed
@@ -240,26 +240,25 @@ { int ret; apr_status_t rv = APR_SUCCESS; -#ifdef WIN32 - apr_interval_time_t orig_timeout = timeout; -#endif - if (timeout > 0) { - timeout /= 1000; - } #ifdef WIN32 /* WSAPoll() requires at least one socket. */ if (pollset->nelts == 0) { *num = 0; - if (orig_timeout > 0) { - apr_sleep(orig_timeout); + if (timeout > 0) { + apr_sleep(timeout); return APR_TIMEUP; } return APR_SUCCESS; } - + if (timeout > 0) { + timeout /= 1000; + } ret = WSAPoll(pollset->p->pollset, pollset->nelts, (int)timeout); #else + if (timeout > 0) { + timeout /= 1000; + } ret = poll(pollset->p->pollset, pollset->nelts, timeout); #endif (*num) = ret; @@ -398,12 +397,23 @@ apr_status_t rv = APR_SUCCESS; apr_uint32_t i; +#ifdef WIN32 + /* WSAPoll() requires at least one socket. */ + if (pollcb->nelts == 0) { + if (timeout > 0) { + apr_sleep(timeout); + return APR_TIMEUP; + } + return APR_SUCCESS; + } if (timeout > 0) { timeout /= 1000; } -#ifdef WIN32 ret = WSAPoll(pollcb->pollset.ps, pollcb->nelts, (int)timeout); #else + if (timeout > 0) { + timeout /= 1000; + } ret = poll(pollcb->pollset.ps, pollcb->nelts, timeout); #endif if (ret < 0) {
View file
apr-1.5.1.tar.bz2/poll/unix/pollcb.c -> apr-1.5.2.tar.bz2/poll/unix/pollcb.c
Changed
@@ -136,6 +136,9 @@ } pollcb->provider = provider; } + else if (rv != APR_SUCCESS) { + return rv; + } *ret_pollcb = pollcb; return APR_SUCCESS;
View file
apr-1.5.1.tar.bz2/poll/unix/port.c -> apr-1.5.2.tar.bz2/poll/unix/port.c
Changed
@@ -188,12 +188,20 @@ { int flags; - if ((flags = fcntl(pollset->p->port_fd, F_GETFD)) == -1) - return errno; + if ((flags = fcntl(pollset->p->port_fd, F_GETFD)) == -1) { + rv = errno; + close(pollset->p->port_fd); + pollset->p = NULL; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl(pollset->p->port_fd, F_SETFD, flags) == -1) - return errno; + if (fcntl(pollset->p->port_fd, F_SETFD, flags) == -1) { + rv = errno; + close(pollset->p->port_fd); + pollset->p = NULL; + return rv; + } } pollset->p->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t)); @@ -478,13 +486,22 @@ { int flags; + apr_status_t rv; - if ((flags = fcntl(pollcb->fd, F_GETFD)) == -1) - return errno; + if ((flags = fcntl(pollcb->fd, F_GETFD)) == -1) { + rv = errno; + close(pollcb->fd); + pollcb->fd = -1; + return rv; + } flags |= FD_CLOEXEC; - if (fcntl(pollcb->fd, F_SETFD, flags) == -1) - return errno; + if (fcntl(pollcb->fd, F_SETFD, flags) == -1) { + rv = errno; + close(pollcb->fd); + pollcb->fd = -1; + return rv; + } } pollcb->pollset.port = apr_palloc(p, size * sizeof(port_event_t));
View file
apr-1.5.1.tar.bz2/poll/unix/z_asio.c -> apr-1.5.2.tar.bz2/poll/unix/z_asio.c
Changed
@@ -272,7 +272,7 @@ APR_THREAD_MUTEX_DEFAULT, p) != APR_SUCCESS) { DBG1(1, "apr_thread_mutex_create returned %d\n", rv); - pollset = NULL; + pollset->p = NULL; return rv; } rv = msgget(IPC_PRIVATE, S_IWUSR+S_IRUSR); /* user r/w perms */ @@ -280,7 +280,7 @@ #if DEBUG perror(__FUNCTION__ " msgget returned < 0 "); #endif - pollset = NULL; + pollset->p = NULL; return rv; } @@ -292,7 +292,7 @@ APR_RING_INIT(&priv->prior_ready_ring, asio_elem_t, link); #else /* APR doesn't have threads but caller wants a threadsafe pollset */ - pollset = NULL; + pollset->p = NULL; return APR_ENOTIMPL; #endif @@ -304,6 +304,7 @@ priv->query_set = apr_palloc(p, size * sizeof(apr_pollfd_t)); if ((!priv->pollset) || (!priv->query_set)) { + pollset->p = NULL; return APR_ENOMEM; } } @@ -314,6 +315,10 @@ priv->size = size; priv->result_set = apr_palloc(p, size * sizeof(apr_pollfd_t)); if (!priv->result_set) { + if (flags & APR_POLLSET_THREADSAFE) { + msgctl(priv->msg_q, IPC_RMID, NULL); + } + pollset->p = NULL; return APR_ENOMEM; } @@ -379,6 +384,7 @@ APR_RING_REMOVE(elem, link); DBG1(3, "used recycled memory at %08p\n", elem); elem->state = ASIO_INIT; + elem->a.aio_cflags = 0; } else { elem = (asio_elem_t *) apr_pcalloc(pollset->pool, sizeof(asio_elem_t)); @@ -659,6 +665,7 @@ if (ret == 1) { DBG(4, "asyncio() completed inline\n"); /* it's ready now */ + elem->state = ASIO_COMPLETE; APR_RING_INSERT_TAIL(&(priv->ready_ring), elem, asio_elem_t, link); }
View file
apr-1.5.1.tar.bz2/tables/apr_skiplist.c -> apr-1.5.2.tar.bz2/tables/apr_skiplist.c
Changed
@@ -25,12 +25,18 @@ #include "apr_skiplist.h" +typedef struct { + apr_skiplistnode **data; + size_t size, pos; + apr_pool_t *p; +} apr_skiplist_q; + struct apr_skiplist { apr_skiplist_compare compare; apr_skiplist_compare comparek; int height; int preheight; - int size; + size_t size; apr_skiplistnode *top; apr_skiplistnode *bottom; /* These two are needed for appending */ @@ -38,6 +44,8 @@ apr_skiplistnode *bottomend; apr_skiplist *index; apr_array_header_t *memlist; + apr_skiplist_q nodes_q, + stack_q; apr_pool_t *pool; }; @@ -52,20 +60,15 @@ apr_skiplist *sl; }; -#ifndef MIN -#define MIN(a,b) ((a<b)?(a):(b)) -#endif - static int get_b_rand(void) { static int ph = 32; /* More bits than we will ever use */ - static apr_uint32_t randseq; + static int randseq; if (ph > 31) { /* Num bits in return of rand() */ ph = 0; - randseq = (apr_uint32_t) rand(); + randseq = rand(); } - ph++; - return ((randseq & (1 << (ph - 1))) >> (ph - 1)); + return randseq & (1 << ph++); } typedef struct { @@ -103,7 +106,7 @@ memlist++; } /* no free chunks */ - ptr = apr_pcalloc(sl->pool, size); + ptr = apr_palloc(sl->pool, size); if (!ptr) { return ptr; } @@ -122,7 +125,7 @@ return ptr; } else { - return calloc(1, size); + return malloc(size); } } @@ -149,27 +152,73 @@ } } +static apr_status_t skiplist_qpush(apr_skiplist_q *q, apr_skiplistnode *m) +{ + if (q->pos >= q->size) { + apr_skiplistnode **data; + size_t size = (q->pos) ? q->pos * 2 : 32; + if (q->p) { + data = apr_palloc(q->p, size * sizeof(*data)); + if (data) { + memcpy(data, q->data, q->pos * sizeof(*data)); + } + } + else { + data = realloc(q->data, size * sizeof(*data)); + } + if (!data) { + return APR_ENOMEM; + } + q->data = data; + q->size = size; + } + q->data[q->pos++] = m; + return APR_SUCCESS; +} + +static APR_INLINE apr_skiplistnode *skiplist_qpop(apr_skiplist_q *q) +{ + return (q->pos > 0) ? q->data[--q->pos] : NULL; +} + +static APR_INLINE void skiplist_qclear(apr_skiplist_q *q) +{ + q->pos = 0; +} + +static apr_skiplistnode *skiplist_new_node(apr_skiplist *sl) +{ + apr_skiplistnode *m = skiplist_qpop(&sl->nodes_q); + if (!m) { + if (sl->pool) { + m = apr_palloc(sl->pool, sizeof *m); + } + else { + m = malloc(sizeof *m); + } + } + return m; +} + +static apr_status_t skiplist_free_node(apr_skiplist *sl, apr_skiplistnode *m) +{ + return skiplist_qpush(&sl->nodes_q, m); +} + static apr_status_t skiplisti_init(apr_skiplist **s, apr_pool_t *p) { apr_skiplist *sl; if (p) { sl = apr_pcalloc(p, sizeof(apr_skiplist)); sl->memlist = apr_array_make(p, 20, sizeof(memlist_t)); + sl->pool = sl->nodes_q.p = sl->stack_q.p = p; } else { sl = calloc(1, sizeof(apr_skiplist)); + if (!sl) { + return APR_ENOMEM; + } } -#if 0 - sl->compare = (apr_skiplist_compare) NULL; - sl->comparek = (apr_skiplist_compare) NULL; - sl->height = 0; - sl->preheight = 0; - sl->size = 0; - sl->top = NULL; - sl->bottom = NULL; - sl->index = NULL; -#endif - sl->pool = p; *s = sl; return APR_SUCCESS; } @@ -248,56 +297,32 @@ } } -APR_DECLARE(apr_skiplistnode *) apr_skiplist_getlist(apr_skiplist *sl) -{ - if (!sl->bottom) { - return NULL; - } - return sl->bottom->next; -} - -APR_DECLARE(void *) apr_skiplist_find(apr_skiplist *sl, void *data, apr_skiplistnode **iter) -{ - void *ret; - apr_skiplistnode *aiter; - if (!sl->compare) { - return 0; - } - if (iter) { - ret = apr_skiplist_find_compare(sl, data, iter, sl->compare); - } - else { - ret = apr_skiplist_find_compare(sl, data, &aiter, sl->compare); - } - return ret; -} - static int skiplisti_find_compare(apr_skiplist *sl, void *data, apr_skiplistnode **ret, apr_skiplist_compare comp) { - apr_skiplistnode *m = NULL; int count = 0; + apr_skiplistnode *m; m = sl->top; while (m) { - int compared; - compared = (m->next) ? comp(data, m->next->data) : -1; - if (compared == 0) { - m = m->next; - while (m->down) { - m = m->down; + if (m->next) {
View file
apr-1.5.1.tar.bz2/test/Makefile.in -> apr-1.5.2.tar.bz2/test/Makefile.in
Changed
@@ -29,7 +29,7 @@ testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \ testenv.lo testprocmutex.lo testfnmatch.lo testatomic.lo testflock.lo \ testsock.lo testglobalmutex.lo teststrnatcmp.lo testfilecopy.lo \ - testtemp.lo testlfs.lo testcond.lo testescape.lo + testtemp.lo testlfs.lo testcond.lo testescape.lo testskiplist.lo OTHER_PROGRAMS = \ echod@EXEEXT@ \
View file
apr-1.5.1.tar.bz2/test/Makefile.win -> apr-1.5.2.tar.bz2/test/Makefile.win
Changed
@@ -98,7 +98,8 @@ $(INTDIR)\testsock.obj $(INTDIR)\testglobalmutex.obj \ $(INTDIR)\teststrnatcmp.obj $(INTDIR)\testfilecopy.obj \ $(INTDIR)\testtemp.obj $(INTDIR)\testlfs.obj \ - $(INTDIR)\testcond.obj $(INTDIR)\testescape.obj + $(INTDIR)\testcond.obj $(INTDIR)\testescape.obj \ + $(INTDIR)\testskiplist.obj CLEAN_DATA = testfile.tmp lfstests\large.bin \ data\testputs.txt data\testbigfprintf.dat \
View file
apr-1.5.1.tar.bz2/test/NWGNUaprtest -> apr-1.5.2.tar.bz2/test/NWGNUaprtest
Changed
@@ -176,6 +176,7 @@ $(OBJDIR)/testdup.o \ $(OBJDIR)/testdso.o \ $(OBJDIR)/testenv.o \ + $(OBJDIR)/testescape.o \ $(OBJDIR)/testfilecopy.o \ $(OBJDIR)/testfileinfo.o \ $(OBJDIR)/testfile.o \ @@ -199,6 +200,7 @@ $(OBJDIR)/testprocmutex.o \ $(OBJDIR)/testrand.o \ $(OBJDIR)/testshm.o \ + $(OBJDIR)/testskiplist.o \ $(OBJDIR)/testsleep.o \ $(OBJDIR)/testsock.o \ $(OBJDIR)/testsockets.o \
View file
apr-1.5.1.tar.bz2/test/abts_tests.h -> apr-1.5.2.tar.bz2/test/abts_tests.h
Changed
@@ -67,7 +67,8 @@ {testtime}, {testud}, {testuser}, - {testvsn} + {testvsn}, + {testskiplist} }; #endif /* APR_TEST_INCLUDES */
View file
apr-1.5.1.tar.bz2/test/testatomic.c -> apr-1.5.2.tar.bz2/test/testatomic.c
Changed
@@ -205,7 +205,7 @@ { apr_uint32_t y32; apr_uint32_t rv; - apr_uint32_t minus1 = -1; + apr_uint32_t minus1 = (apr_uint32_t)-1; char *str; apr_atomic_set32(&y32, 0); @@ -218,8 +218,8 @@ static void test_inc_neg1(abts_case *tc, void *data) { - apr_uint32_t y32 = -1; - apr_uint32_t minus1 = -1; + apr_uint32_t y32 = (apr_uint32_t)-1; + apr_uint32_t minus1 = (apr_uint32_t)-1; apr_uint32_t rv; char *str;
View file
apr-1.5.1.tar.bz2/test/testdll.dsp -> apr-1.5.2.tar.bz2/test/testdll.dsp
Changed
@@ -311,6 +311,10 @@ # End Source File # Begin Source File +SOURCE=.\testskiplist.c +# End Source File +# Begin Source File + SOURCE=.\testsleep.c # End Source File # Begin Source File
View file
apr-1.5.1.tar.bz2/test/testlib.dsp -> apr-1.5.2.tar.bz2/test/testlib.dsp
Changed
@@ -311,6 +311,10 @@ # End Source File # Begin Source File +SOURCE=.\testskiplist.c +# End Source File +# Begin Source File + SOURCE=.\testsleep.c # End Source File # Begin Source File
View file
apr-1.5.1.tar.bz2/test/testpoll.c -> apr-1.5.2.tar.bz2/test/testpoll.c
Changed
@@ -42,6 +42,11 @@ static apr_pollfd_t *pollarray_large; #endif +/* default_pollset_impl can be overridden temporarily to control + * testcases which don't specify an implementation explicitly + */ +static int default_pollset_impl = APR_POLLSET_DEFAULT; + static void make_socket(apr_socket_t **sock, apr_sockaddr_t **sa, apr_port_t port, apr_pool_t *p, abts_case *tc) { @@ -287,7 +292,8 @@ static void setup_pollset(abts_case *tc, void *data) { apr_status_t rv; - rv = apr_pollset_create(&pollset, LARGE_NUM_SOCKETS, p, 0); + rv = apr_pollset_create_ex(&pollset, LARGE_NUM_SOCKETS, p, 0, + default_pollset_impl); ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); } @@ -492,7 +498,8 @@ apr_pollfd_t pfd; apr_int32_t num; - rv = apr_pollset_create(&pollset, 5, p, 0); + rv = apr_pollset_create_ex(&pollset, 5, p, 0, + default_pollset_impl); ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); pfd.p = p; @@ -769,6 +776,47 @@ } } +static void pollset_wakeup(abts_case *tc, void *data) +{ + apr_status_t rv; + apr_pollfd_t socket_pollfd; + apr_pollset_t *pollset; + apr_int32_t num; + const apr_pollfd_t *descriptors; + + rv = apr_pollset_create_ex(&pollset, 1, p, APR_POLLSET_WAKEABLE, + default_pollset_impl); + if (rv == APR_ENOTIMPL) { + ABTS_NOT_IMPL(tc, "apr_pollset_wakeup() not supported"); + return; + } + ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); + + /* send wakeup but no data; apr_pollset_poll() should return APR_EINTR */ + rv = apr_pollset_wakeup(pollset); + ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); + + rv = apr_pollset_poll(pollset, -1, &num, &descriptors); + ABTS_INT_EQUAL(tc, APR_EINTR, rv); + + /* send wakeup and data; apr_pollset_poll() should return APR_SUCCESS */ + socket_pollfd.desc_type = APR_POLL_SOCKET; + socket_pollfd.reqevents = APR_POLLIN; + socket_pollfd.desc.s = s[0]; + socket_pollfd.client_data = s[0]; + rv = apr_pollset_add(pollset, &socket_pollfd); + ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); + + send_msg(s, sa, 0, tc); + + rv = apr_pollset_wakeup(pollset); + ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); + + rv = apr_pollset_poll(pollset, -1, &num, &descriptors); + ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); + ABTS_INT_EQUAL(tc, 1, num); +} + static void justsleep(abts_case *tc, void *data) { apr_int32_t nsds; @@ -868,6 +916,7 @@ abts_run_test(suite, trigger_pollcb, NULL); abts_run_test(suite, timeout_pollcb, NULL); abts_run_test(suite, timeout_pollin_pollcb, NULL); + abts_run_test(suite, pollset_wakeup, NULL); abts_run_test(suite, close_all_sockets, NULL); abts_run_test(suite, pollset_default, NULL); abts_run_test(suite, pollcb_default, NULL);
View file
apr-1.5.2.tar.bz2/test/testskiplist.c
Added
@@ -0,0 +1,448 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "testutil.h" +#include "apr.h" +#include "apr_strings.h" +#include "apr_general.h" +#include "apr_pools.h" +#include "apr_skiplist.h" +#if APR_HAVE_STDIO_H +#include <stdio.h> +#endif +#if APR_HAVE_STDLIB_H +#include <stdlib.h> +#endif +#if APR_HAVE_STRING_H +#include <string.h> +#endif + +static apr_pool_t *ptmp = NULL; +static apr_skiplist *skiplist = NULL; + +/* apr_skiplist_add[_compare]() are missing in 1.5.x, + * so emulate them (not thread-safe!)... + */ +static apr_skiplist_compare current_comp; +static int add_comp(void *a, void *b) +{ + return current_comp(a, b) < 0 ? -1 : +1; +} +static apr_skiplistnode *apr_skiplist_add_compare(apr_skiplist *sl, void *data, + apr_skiplist_compare comp) +{ + current_comp = comp; + return apr_skiplist_insert_compare(sl, data, add_comp); +} +static apr_skiplistnode *apr_skiplist_add(apr_skiplist *sl, void *data) +{ + /* Ugly, really, but should work *as long as* the compare function is the + * first field of the (opaque) skiplist struct, this is the case for now :p + */ + return apr_skiplist_add_compare(sl, data, *(apr_skiplist_compare*)sl); +} + +static int skiplist_get_size(abts_case *tc, apr_skiplist *sl) +{ + size_t size = 0; + apr_skiplistnode *n; + for (n = apr_skiplist_getlist(sl); n; apr_skiplist_next(sl, &n)) { + ++size; + } + return size; +} + +static void skiplist_init(abts_case *tc, void *data) +{ + apr_time_t now = apr_time_now(); + srand((unsigned int)(((now >> 32) ^ now) & 0xffffffff)); + + ABTS_INT_EQUAL(tc, APR_SUCCESS, apr_skiplist_init(&skiplist, p)); + ABTS_PTR_NOTNULL(tc, skiplist); + apr_skiplist_set_compare(skiplist, (apr_skiplist_compare)strcmp, + (apr_skiplist_compare)strcmp); +} + +static void skiplist_find(abts_case *tc, void *data) +{ + const char *val; + + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "baton")); + val = apr_skiplist_find(skiplist, "baton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "baton", val); +} + +static void skiplist_dontfind(abts_case *tc, void *data) +{ + const char *val; + + val = apr_skiplist_find(skiplist, "keynotthere", NULL); + ABTS_PTR_EQUAL(tc, NULL, (void *)val); +} + +static void skiplist_insert(abts_case *tc, void *data) +{ + const char *val; + int i; + + for (i = 0; i < 10; ++i) { + ABTS_PTR_EQUAL(tc, NULL, apr_skiplist_insert(skiplist, "baton")); + ABTS_TRUE(tc, 1 == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "baton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "baton", val); + } + + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "foo")); + ABTS_TRUE(tc, 2 == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "foo", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "foo", val); + + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "atfirst")); + ABTS_TRUE(tc, 3 == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "atfirst", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "atfirst", val); +} + +static void skiplist_add(abts_case *tc, void *data) +{ + const char *val; + size_t i, n = skiplist_get_size(tc, skiplist); + + for (i = 0; i < 100; ++i) { + n++; + ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "daton")); + ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "daton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "daton", val); + + n++; + ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton")); + ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "baton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "baton", val); + + n++; + ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "caton")); + ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "caton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "caton", val); + + n++; + ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "aaton")); + ABTS_TRUE(tc, n == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "aaton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "aaton", val); + } +} + +static void skiplist_destroy(abts_case *tc, void *data) +{ + apr_skiplist_destroy(skiplist, NULL); + ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist)); +} + +static void skiplist_size(abts_case *tc, void *data) +{ + const char *val; + + ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist)); + + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "abc")); + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "ghi")); + ABTS_PTR_NOTNULL(tc, apr_skiplist_insert(skiplist, "def")); + val = apr_skiplist_find(skiplist, "abc", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "abc", val); + val = apr_skiplist_find(skiplist, "ghi", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "ghi", val); + val = apr_skiplist_find(skiplist, "def", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "def", val); + + ABTS_TRUE(tc, 3 == skiplist_get_size(tc, skiplist)); + apr_skiplist_destroy(skiplist, NULL); +} + +static void skiplist_remove(abts_case *tc, void *data) +{ + const char *val; + + ABTS_TRUE(tc, 0 == skiplist_get_size(tc, skiplist)); + + ABTS_PTR_NOTNULL(tc, apr_skiplist_add(skiplist, "baton")); + ABTS_TRUE(tc, 1 == skiplist_get_size(tc, skiplist)); + val = apr_skiplist_find(skiplist, "baton", NULL); + ABTS_PTR_NOTNULL(tc, val); + ABTS_STR_EQUAL(tc, "baton", val); +
View file
apr-1.5.1.tar.bz2/test/testutil.h -> apr-1.5.2.tar.bz2/test/testutil.h
Changed
@@ -103,5 +103,6 @@ abts_suite *testud(abts_suite *suite); abts_suite *testuser(abts_suite *suite); abts_suite *testvsn(abts_suite *suite); +abts_suite *testskiplist(abts_suite *suite); #endif /* APR_TEST_INCLUDES */
View file
apr-1.5.1.tar.bz2/threadproc/netware/thread.c -> apr-1.5.2.tar.bz2/threadproc/netware/thread.c
Changed
@@ -77,7 +77,7 @@ apr_pool_t *pool) { apr_status_t stat; - long flags = NX_THR_BIND_CONTEXT; + unsigned long flags = NX_THR_BIND_CONTEXT; char threadName[NX_MAX_OBJECT_NAME_LEN+1]; size_t stack_size = APR_DEFAULT_STACK_SIZE; @@ -120,8 +120,8 @@ /* void(*start_routine)(void *arg) */ (void (*)(void *)) dummy_worker, /* void *arg */ (*new), /* int priority */ NX_PRIO_MED, - /* NXSize_t stackSize */ stack_size, - /* long flags */ NX_CTX_NORMAL, + /* size_t stackSize */ stack_size, + /* unsigned long flags */ NX_CTX_NORMAL, /* int *error */ &stat); stat = NXContextSetName( @@ -130,7 +130,7 @@ stat = NXThreadCreate( /* NXContext_t context */ (*new)->ctx, - /* long flags */ flags, + /* unsigned long flags */ flags, /* NXThreadId_t *thread_id */ &(*new)->td); if (stat == 0)
View file
apr.dsc
Changed
@@ -2,7 +2,7 @@ Source: apr Binary: libapr1, libapr1-dev, libapr1-dbg Architecture: any -Version: 1.5.1-2 +Version: 1.5.2-1 Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> Uploaders: Peter Samuelson <peter@p12n.org>, Stefan Fritsch <sf@debian.org> Homepage: http://apr.apache.org/ @@ -15,5 +15,5 @@ libapr1-dbg deb debug extra arch=any libapr1-dev deb libdevel optional arch=any Files: - 00000000000000000000000000000000 0 apr-1.5.1.tar.bz2 + 00000000000000000000000000000000 0 apr-1.5.2.tar.bz2 00000000000000000000000000000000 0 debian.tar.gz
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +apr (1.5.2-1) unstable; urgency=medium + + * Check in release 1.5.2 + + -- Jeroen van Meeuwen (Kolab Systems> <vanmeeuwen@kolabsys.com> Sun, 17 Jan 2016 23:21:06 +0200 + apr (1.5.1-2) unstable; urgency=medium * Backport build fix from upstream SVN to avoid building some parts
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.