CHANGES revision 289166
1316485Sdavidcs -*- coding: utf-8 -*- 2337519SdavidcsChanges for APR 1.5.2 3316485Sdavidcs 4316485Sdavidcs *) SECURITY: CVE-2015-1829 (cve.mitre.org) 5316485Sdavidcs APR applications using APR named pipe support on Windows can be 6316485Sdavidcs vulnerable to a pipe squatting attack from a local process; the extent 7316485Sdavidcs of the vulnerability, when present, depends on the application. 8316485Sdavidcs Initial analysis and report was provided by John Hernandez of Casaba 9316485Sdavidcs Security via HP SSRT Security Alert. [Yann Ylavic] 10316485Sdavidcs 11316485Sdavidcs *) apr_atomic: Fix errors when building on Visual Studio 2013 while 12316485Sdavidcs maintaining the ability to build on Visual Studio 6 with Windows 13316485Sdavidcs Server 2003 R2 SDK. PR 57191. [Gregg Smith] 14316485Sdavidcs 15316485Sdavidcs *) Switch to generic atomics for early/unpatched Solaris 10 not exporting 16316485Sdavidcs some atomic functions. PR 55418. [Yann Ylavic] 17316485Sdavidcs 18316485Sdavidcs *) apr_file_mktemp() on HP-UX: Remove limitation of 26 temporary files 19316485Sdavidcs per process. PR 57677. [Jeff Trawick] 20316485Sdavidcs 21316485Sdavidcs *) apr_escape: Correctly calculate the size of the returned string in 22316485Sdavidcs apr_escape_path and set the correct return value in case we actually 23316485Sdavidcs escape the string. [<aduryagin gmail.com>] PR 57230. 24316485Sdavidcs 25316485Sdavidcs *) pollcb on Windows: Handle calls with no file/socket descriptors. 26316485Sdavidcs Follow up to PR 49882. [Jeff Trawick, Yann Ylavic] 27316485Sdavidcs 28316485Sdavidcs *) apr_poll(cb): fix error paths returned values and leaks. [Yann Ylavic] 29316485Sdavidcs 30316485Sdavidcs *) apr_thread_cond_*wait() on BeOS: Fix broken logic. PR 45800. 31316485Sdavidcs [Jochen Voss (no e-mail)] 32316485Sdavidcs 33316485Sdavidcs *) apr_skiplist: Optimize the number of allocations by reusing pooled or 34316485Sdavidcs malloc()ed nodes for the lifetime of the skiplist. [Yann Ylavic] 35316485Sdavidcs 36316485Sdavidcs *) apr_skiplist: Fix possible multiple-free() on the same value in 37316485Sdavidcs apr_skiplist_remove_all(). [Yann Ylavic] 38316485Sdavidcs 39316485Sdavidcs *) apr_pollset: On z/OS, threadsafe apr_pollset_poll() may return 40316485Sdavidcs "EDC8102I Operation would block" under load. 41316485Sdavidcs [Pat Odonnell <patod us.ibm.com>] 42316485Sdavidcs 43316485Sdavidcs *) On z/OS, apr_sockaddr_info_get() with family == APR_UNSPEC was not 44316485Sdavidcs returning IPv4 addresses if any IPv6 addresses were returned. 45316485Sdavidcs [Eric Covener] 46316485Sdavidcs 47316485Sdavidcs *) Windows cmake build: Fix an incompatibility with cmake 2.8.12 and 48316485Sdavidcs later. [Jeff Trawick] 49316485Sdavidcs 50316485Sdavidcs *) apr_global_mutex/apr_proc_mutex: Resolve failures with the 51316485Sdavidcs POSIX sem implementation in environments which receive signals. 52316485Sdavidcs [Jeff Trawick] 53337519Sdavidcs 54316485Sdavidcs *) apr_skiplist: Fix potential corruption of skiplists leading to 55316485Sdavidcs results or crashes. [Takashi Sato <takashi tks st>, Eric Covener] 56316485Sdavidcs PR 56654. 57316485Sdavidcs 58316485Sdavidcs *) Improve platform detection by updating config.guess and config.sub. 59316485Sdavidcs [Rainer Jung] 60316485Sdavidcs 61316485SdavidcsChanges for APR 1.5.1 62316485Sdavidcs 63316485Sdavidcs *) apr_os_proc_mutex_get() on Unix: Avoid segfault for cross- 64316485Sdavidcs process pthread mutexes. [Yann Ylavic <ylavic.dev gmail.com>] 65316485Sdavidcs 66316485Sdavidcs *) When using shmget-based shared memory, the ID used for ftok is 67316485Sdavidcs now an APR hash of the filename instead of the constant '1'. 68316485Sdavidcs We do this to help avoid collisions. PR 53996 [Jim Jagielski] 69316485Sdavidcs 70316485Sdavidcs *) apr_socket_atreadeof(): Fix breakage on OS X. [Jim Jagielski] 71316485Sdavidcs 72316485Sdavidcs *) Fix POSIX shared memory (shm_open) use for named shared memory. 73316485Sdavidcs Includes adding '--enable-posix-shm' to force POSIX shm if 74316485Sdavidcs available, and OS X compatibility. PR 55928. 75316485Sdavidcs [Jozef Hatala <jh-asf skrt org>, Jim Jagielski] 76316485Sdavidcs 77316485Sdavidcs *) Fix race condition when calling apr_dir_make_recursive from 78316485Sdavidcs multiple threads on Windows. 79316485Sdavidcs [Bert Huijben] 80316485Sdavidcs 81316485Sdavidcs *) Fix apr_escape.c compilation errors on EBCDIC platforms. 82316485Sdavidcs [Eric Covener] 83316485Sdavidcs 84316485Sdavidcs *) FreeBSD 10: Correct a regression in 1.5.0 which affected non- 85316485Sdavidcs blocking sockets in some applications, including httpd. [Jeff 86316485Sdavidcs Trawick] 87316485Sdavidcs 88320162Sdavidcs *) Windows cmake build: Fix incorrect installation of some .pdb 89320162Sdavidcs files. Fix incorrect use of some logic intended for Windows 9x, 90320162Sdavidcs including legacy filesystem interfaces and dynamic loading of 91320162Sdavidcs some Windows APIs. [Jeff Trawick] 92320162Sdavidcs 93316485Sdavidcs *) apr_skiplist: Add compatibility with C++ applications. 94316485Sdavidcs [Jeff Trawick] 95316485Sdavidcs 96316485Sdavidcs *) Correct a regression in 1.5.0 which affected out-of-tree 97320162Sdavidcs builds on Unix. [Rainer Jung] 98320162Sdavidcs 99316485Sdavidcs *) Improve platform detection by updating config.guess and config.sub. 100316485Sdavidcs [Rainer Jung] 101316485Sdavidcs 102316485SdavidcsChanges for APR 1.5.0 103320162Sdavidcs 104316485Sdavidcs *) Fix Linux kernel version check to recognize more versions, 105316485Sdavidcs including versions 3.10 and later. PR 55690. [Joe Orton, 106316485Sdavidcs Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>] 107316485Sdavidcs 108316485Sdavidcs *) Add apr_sockaddr_is_wildcard() to check if a socket address 109316485Sdavidcs refers to the wildcard address for the protocol family (e.g., 110316485Sdavidcs 0.0.0.0/INADDR_ANY for IPv4). [Jeff Trawick] 111316485Sdavidcs 112316485Sdavidcs *) apr_file_dup2() on Windows: Fix debug RTL assertion when 113316485Sdavidcs attempting to _commit(stdout) or _commit(stderr). [Mike Rumph 114316485Sdavidcs <mike.rumph oracle.com>] 115316485Sdavidcs 116316485Sdavidcs *) apr_socket_connect() on Windows: Handle WSAEISCONN. PR 48736. 117316485Sdavidcs [<inoue ariel-networks.com>, Jeff Trawick] 118337519Sdavidcs 119316485Sdavidcs *) z/OS: threadsafe apr_pollset_poll support for sockets [Greg Ames] 120316485Sdavidcs 121316485Sdavidcs *) Windows: Don't obtain a mutex for buffered file I/O unless the 122316485Sdavidcs file was opened with the APR_FOPEN_XTHREAD flag. [Ivan Zhakov 123316485Sdavidcs <ivan visualsvn.com>] 124316485Sdavidcs 125316485Sdavidcs *) Windows: Create named shared memory segments under the "Local" 126316485Sdavidcs namespace if the caller is unprivileged, fixing an inability of 127316485Sdavidcs unprivileged callers to use apr_shm_create() with named shared 128316485Sdavidcs memory segments under recent Windows. As before, shared memory 129316485Sdavidcs segments are created under the "Global" namespace for privileged 130316485Sdavidcs callers. Add apr_shm_create_ex() and apr_shm_attach_ex(), which 131316485Sdavidcs provide the ability to override the normal namespace selection. 132316485Sdavidcs [Jeff Trawick] 133316485Sdavidcs 134316485Sdavidcs *) Update compile settings for MINT OS. PR 47181. [Alan Hourihane 135316485Sdavidcs <alanh fairlite.co.uk>] 136316485Sdavidcs 137316485Sdavidcs *) Files and pipes on Windows: Don't create an unused pollset when 138316485Sdavidcs files and pipes are opened. [Mladen Turk] 139316485Sdavidcs 140316485Sdavidcs *) apr_socket_timeout_set() on Windows: If the socket was in a non- 141316485Sdavidcs blocking state before, disable that setting so that timeouts work. 142316485Sdavidcs [Jeff Trawick] 143316485Sdavidcs 144316485Sdavidcs *) File info APIs: Fix calculation of atime and mtime on AIX. PR 51146. 145316485Sdavidcs [Ruediger Pluem] 146316485Sdavidcs 147316485Sdavidcs *) Add the apr_escape interface. [Graham Leggett] 148316485Sdavidcs 149316485Sdavidcs *) Cygwin build fixes. PRs 51016 and 55586. [Carlo Bramini 150316485Sdavidcs <carlo.bramix libero.it>] 151316485Sdavidcs 152316485Sdavidcs *) Add apr_skiplist family. [Jim Jagielski] 153316485Sdavidcs 154316485Sdavidcs *) Add experimental cmake-based build system for Windows. Refer to 155316485Sdavidcs README.cmake for more information. [Jeff Trawick, Tom Donovan] 156316485Sdavidcs 157316485Sdavidcs *) Add the apr_table_getm() call, which transparently handles the 158316485Sdavidcs merging of keys with multiple values. [Graham Leggett] 159316485Sdavidcs 160316485Sdavidcs *) Add apr_hash_this_key(), apr_hash_this_key_len(), and 161316485Sdavidcs apr_hash_this_val() for easier access to those attributes from 162316485Sdavidcs a hash iterator. [Hyrum K. Wright <hyrum_wright mail.utexas.edu>] 163316485Sdavidcs 164316485Sdavidcs *) MinGW/MSYS: Support shared builds of APR, other general improvements 165316485Sdavidcs to support of this toolchain. PR 46175. [Carlo Bramini 166316485Sdavidcs <carlo.bramix libero.it>] 167316485Sdavidcs 168316485Sdavidcs *) Improve platform detection by updating config.guess and config.sub. 169316485Sdavidcs [Rainer Jung] 170316485Sdavidcs 171316485Sdavidcs *) apr_socket_opt_set: Add support for APR_SO_BROADCAST. PR 46389. 172316485Sdavidcs [Armin M��ller <mueller itestra com>] 173316485Sdavidcs 174316485Sdavidcs *) Enable platform specific support for the opening of a file or 175316485Sdavidcs pipe in non-blocking mode through the APR_FOPEN_NONBLOCK flag. 176316485Sdavidcs [Graham Leggett] 177316485Sdavidcs 178316485SdavidcsChanges for APR 1.4.x and later: 179316485Sdavidcs 180316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/1.4.x/CHANGES?view=markup 181316485Sdavidcs 182316485SdavidcsChanges for APR 1.3.x and later: 183316485Sdavidcs 184316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/1.3.x/CHANGES?view=markup 185316485Sdavidcs 186316485SdavidcsChanges for APR 1.2.x and later: 187316485Sdavidcs 188316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup 189316485Sdavidcs 190316485SdavidcsChanges for APR 1.1.x and later: 191316485Sdavidcs 192316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup 193316485Sdavidcs 194316485SdavidcsChanges for APR 1.0.x and later: 195316485Sdavidcs 196316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup 197316485Sdavidcs 198316485SdavidcsChanges for APR 0.9.x and later/earlier: 199316485Sdavidcs 200316485Sdavidcs *) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup 201316485Sdavidcs