-*- coding: utf-8 -*- Changes for APR 1.4.9 *) Fix race condition when calling apr_dir_make_recursive from multiple threads on Windows. [Bert Huijben] *) Add experimental cmake-based build system for Windows. Refer to README.cmake for more information. [Jeff Trawick, Tom Donovan] *) configure: Fix detection of O_NONBLOCK inheritance broken in 1.4.7. [Rainer Jung] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] Changes for APR 1.4.8 *) Fix compilation with FreeBSD on ARM. [Olli Hauer ] *) Fix 1.4.7 regression in apr_mcast_hops() and apr_mcast_loopback() for AF_INET (IPv4) sockets on most Unix platforms. [Joe Orton] *) Fix the return value of apr_threadattr_detach_get() on some platforms like OS X and Solaris. [Rainer Jung, ] Changes for APR 1.4.7 *) Fix apr_sockaddr_info_get() not returning an error in some cases. PR 54779. [Jan Kaluža ] *) Fix amd64 assembler version of apr_atomic_xchgptr(). PR 51851. [Mattias Engdegård ] *) Fix PPC atomics to work with gcc 4.0. PR 54840. [Mattias Engdegård ] *) configure: Fix detection of O_NONBLOCK inheritance on busy systems. [Rainer Jung] *) Remove unused code, fix strict C compliance bug in SHA-256 implementation. [Jan Kaluza ] *) Fix apr_ipsubnet_test() false positives when comparing IPv4 subnet representation against an IPv6 address. PR 54047. [Joe Orton] *) apr_socket_accept_filter: Return success when trying to again set the filter to the same value as before, avoiding an unhelpful APR_EINVAL. PR 37863. [Jeff Trawick] *) configure: Fix Linux 3.x detection. PR 54001. [Gilles Espinasse ] *) apr_time_exp_*() on Windows: Fix error in the tm_yday field of apr_time_exp_t for times within leap years. PR 53175. [Jeff Trawick] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] *) Add support for OSX Mountain Lion (10.8) [Jim Jagielski] *) Add various gcc function attributes. [Stefan Fritsch] *) Fix some problems in apr_sockaddr_info_get() when trying to resolve the loopback addresses of a protocol family that is not otherwise configured on the system. PR 52709. [Nirgal Vourgère , Stefan Fritsch] *) Fix file not being unlocked if truncate call on a file fails. [Mladen Turk] *) apr_mcast_hops: Fix EINVAL for IPv6 sockets caused by using byte instead integer for setsockopt. [Mladen Turk] *) Windows: Fix compile-time checks for 64-bit builds, resolving a crash in httpd's mod_rewrite. PR 49155. [] Changes for APR 1.4.6 *) Flush write buffer before truncate call on a file. [Mladen Turk] *) Randomise hashes by providing a seed. Assigned CVE-2012-0840, oCERT-2011-003, but not known to be exploitable. [Bojan Smojver, Branko Čibej, Ruediger Pluem et al.] *) apr_random: Prevent segfault if pool used to initialize apr_random is destroyed before forking. [Stefan Fritsch] *) testrand: Improve child randomness test case. [Rainer Jung] *) apr_proc_fork, apr_random_after_fork: disambiguate what happens to the proc structure passed in, and ensure that the pid is set correctly in a newly created child; note that merely mixing a PID into the random seed of a new child doesn't markedly increase entropy. [Sander Temme] *) apr_file_open: Avoid fcntl() calls if support for O_CLOEXEC works. PR 48557. [Mike Frysinger ] *) apr_dir_make_recursive: Fix race condition that could lead to EEXIST being returned. PR 51254. [William Lee , Wim Lewis ] *) configure: Fix APR_RESTORE_THE_ENVIRONMENT if the original variable was a single space. PR 50334. [Nathan Phillip Brink ] *) apr_proc_create: Don't close any of the new stdin/stdout/stderr in the child if it already has the correct FD. PR 51995. [Dan Ports ] *) Fix flag character '#' in combination with format character 'x' in apr snprintf implementations. [Rainer Jung] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] *) Add libtool2 files to extraclean make target. [Rainer Jung] *) Don't overwrite our config.guess and config.sub when running buildconf. [Rainer Jung] *) Silence autoconf 2.68 warnings. [Rainer Jung] Changes for APR 1.4.5 *) Security: CVE-2011-1928 apr_fnmatch(): Fix high CPU loop. [William Rowe] *) Fix top_builddir in installed apr_rules.mk. [Bojan Smojver] Changes for APR 1.4.4 *) Windows: Fix command-line builds. [William Rowe] Changes for APR 1.4.3 *) Security: CVE-2011-0419 Reimplement apr_fnmatch() from scratch using a non-recursive algorithm; now has improved compliance with the fnmatch() spec. [William Rowe] *) Fix environment-related crash using some non-standard builds on Windows 7/Server 2008. [Steve Hay ] *) poll, pollset, pollcb on Windows: Handle calls with no file/socket descriptors. PR 49882. [Stefan Ruppert , Jeff Trawick] *) Fix APR_IPV6_V6ONLY issues on Windows related to run-time behavior on Windows older than Vista and SDK/MinGW levels without IPV6_V6ONLY. PR 45321. [Sob ] *) Fix address handling when accepting an AF_INET socket from a socket bound as AF_INET6. PR 49678. [Joe Orton] *) Fix error return values from apr_sockaddr_info_get() on Windows for IPv6 builds. [Ivan Zhakov ] *) Add new experimental configure option --enable-allocator-uses-mmap to use mmap instead of malloc in apr_allocator_alloc(). This greatly reduces memory fragmentation with malloc implementations (e.g. glibc) that don't handle allocationss of a page-size-multiples in an efficient way. It also makes apr_allocator_max_free_set() actually have some effect on such platforms. [Stefan Fritsch] *) configure: Support 64 and 32 bit universal builds for Darwin/ OS X 10.6+. [Jim Jagielski] *) apr_sockaddr_info_get() on AIX: Fix a problem which could set the port field in the native socket address to 1 when 0 was specified. PR 46964. [Jeff Trawick] *) configure: Make definition of apr_ino_t independent of _FILE_OFFSET_BITS even on platforms where ino_t is 'unsigned int'. [Stefan Fritsch] *) apr_ring: Workaround for aliasing problem that causes gcc 4.5 to miscompile some brigade related code. PR 50190. [Stefan Fritsch] *) apr_file_flush_locked(): Handle short writes. [Stefan Fritsch] *) apr_pollset_create_ex(): Trap errors from pollset providers. PR 49094. [Sami Tolvanen ] *) apr_pollset_create*(): Fix memory lifetime problem with the wakeup pipe when the pollset was created with APR_POLLSET_NOCOPY. [Neil Conway ] *) Fix detection of some Linux variants when configure is built with recent GNU tools. [Eric Covener] *) Avoid a redundant fcntl() call in apr_file_open() where O_CLOEXEC is supported. PR 48557. [Joe Orton] *) Improve platform detection by updating config.guess and config.sub. [Rainer Jung] Changes for APR 1.4.2 *) Undo a crash-bug introduced in 1.4.1 affecting some applications of the apr hash and table structures, reported to affect Subversion by Bert Huijben . [Graham Leggett] Changes for APR 1.4.1 *) Win32: Properly handle the ERROR_DIRECTORY system error code. [Brane Čibej] Changes for APR 1.4.0 *) Windows: Default build configurations assume NT or higher at run-time. *) Add apr_global_mutex_lockfile() for retrieving the file, if any, associated with the mutex. Add apr_global_mutex_name() for retrieving the name of the lock mechanism used by the underlying proc mutex. [Jeff Trawick] *) Add apr_socket_atreadeof to determine whether the receive part of the socket has been closed by the peer. [Ruediger Pluem, Mladen Turk, Joe Orton] *) Make apr_pollset and apr_pollcb implementations using providers. Added apr_pollset_create_ex and apr_pollcb_create_ex that allows choosing non-default providers. [Mladen Turk] *) Win32: Use WSAPoll as default pollset method if supported and found inside winsock dll. [Mladen Turk] *) apr_temp_dir_get() now checks the TMPDIR environment variable first, instead of third. [Jim Jagielski] *) Add apr_file_sync() and apr_file_datasync() calls. [Bojan Smojver] *) apr_pollset_wakeup() on Windows: Fix core caused by closing the file_socket_pipe with standard file_close. [Arsen Chaloyan, Mladen Turk] *) Introduce apr_hash_do() for iterating over a hash table. [Mladen Turk] *) Make sure WIN32 behaves the same as posix for file-backed shared memory by removing the file on cleanup/remove. [Mladen Turk] *) Introduce apr_pollset_wakeup() for interrupting the blocking apr_pollset_poll() call. [Mladen Turk] *) Add apr_file_link() function. PR 44841. [Mark Heily ] Changes for APR 1.3.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?view=markup Changes for APR 1.2.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup Changes for APR 1.1.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup Changes for APR 1.0.x and later: *) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup Changes for APR 0.9.x and later/earlier: *) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup