| 1 |
-*- coding: utf-8 -*-
|
| 2 |
Changes for APR 1.3.10
|
| 3 |
|
| 4 |
*) Solaris 10 and later: Change the default cross-mutex mechanism from
|
| 5 |
fcntl to pthread to resolve EDEADLK failures with some multi-threaded,
|
| 6 |
multi-process applications (e.g., httpd's worker MPM with certain
|
| 7 |
plug-in modules). [Jeff Trawick]
|
| 8 |
|
| 9 |
*) Solaris pollcb support: Fix a hang in apr_pollcb_poll().
|
| 10 |
[Jeff Trawick]
|
| 11 |
|
| 12 |
*) Solaris pollset support: Fix a 1.3.9 regression in apr_pollset_poll()
|
| 13 |
which could result in a crash when the call was interrupted by a
|
| 14 |
signal. PR 48030. [Jeff Trawick]
|
| 15 |
|
| 16 |
*) Solaris pollset support: Fix a 1.3.9 regression in apr_pollset_poll()
|
| 17 |
which resulted in invalid return codes from the APR function. A work-
|
| 18 |
around was needed for bad return codes from 32-bit port_getn() on
|
| 19 |
Solaris 10 x86. PR 48029. [Jeff Trawick]
|
| 20 |
|
| 21 |
*) The implementation of expand_array() in tables/apr_hash.c allocates
|
| 22 |
a new bucket array, without making any attempt to release the memory
|
| 23 |
allocated for the previous bucket array. That wastes memory: if the
|
| 24 |
hash table grows exponentially, this strategy wastes O(n) extra memory.
|
| 25 |
Use a subpool instead. [Neil Conway <nrc cs.berkeley.edu>]
|
| 26 |
|
| 27 |
Changes for APR 1.3.9
|
| 28 |
|
| 29 |
*) Posix semaphores can now be named and used as named semaphores.
|
| 30 |
[Jim Jagielski]
|
| 31 |
|
| 32 |
*) Better handling of APR_OFF_T_FMT for Darwin 10 depending on -arch
|
| 33 |
setting of compiler. [Jim Jagielski]
|
| 34 |
|
| 35 |
*) Add comments describing the thread-safety properties of apr_pool_t.
|
| 36 |
[Neil Conway nrc cs.berkeley.edu]
|
| 37 |
|
| 38 |
*) Pass default environment to testsock, testshm and testproc children, so
|
| 39 |
that tests run when APR is compiled with Intel C Compiler.
|
| 40 |
[Bojan Smojver]
|
| 41 |
|
| 42 |
*) Fix error handling in the Solaris pollset support (Event Port backend).
|
| 43 |
PR 47645. [Jeff Trawick]
|
| 44 |
|
| 45 |
*) Add the remainder of this fix from trunk:
|
| 46 |
Fix Solaris poll failure. PR 43000
|
| 47 |
[Henry Jen <henryjen ztune.net>]
|
| 48 |
|
| 49 |
Changes for APR 1.3.8
|
| 50 |
|
| 51 |
*) SECURITY: CVE-2009-2412 (cve.mitre.org)
|
| 52 |
Fix overflow in pools and rmm, where size alignment was taking place.
|
| 53 |
[Matt Lewis <mattlewis@google.com>, Sander Striker]
|
| 54 |
|
| 55 |
*) Make sure that "make check" is used in the RPM spec file, consistent
|
| 56 |
with apr-util. [Graham Leggett]
|
| 57 |
|
| 58 |
*) Pass default environment to testflock, testoc and testpipe children,
|
| 59 |
so that tests run when APR is compiled with Intel C Compiler.
|
| 60 |
[Bojan Smojver]
|
| 61 |
|
| 62 |
Changes for APR 1.3.7
|
| 63 |
|
| 64 |
*) More elaborate detection for dup3(), accept4() and epoll_create1().
|
| 65 |
[Chetan Reddy <chetanreddy gmail.com>, Bojan Smojver]
|
| 66 |
|
| 67 |
Changes for APR 1.3.6
|
| 68 |
|
| 69 |
*) On Linux/hppa flock() returns EAGAIN instead of EWOULDBLOCK. This
|
| 70 |
causes proc mutex failures.
|
| 71 |
[Stefan Fritsch <sf sfritsch.de>]
|
| 72 |
|
| 73 |
*) Set CLOEXEC flags where appropriate. Either use new O_CLOEXEC flag and
|
| 74 |
associated functions, such as dup3(), accept4(), epoll_create1() etc.,
|
| 75 |
or simply set CLOEXEC flag using fcntl(). PR 46425. [Stefan Fritsch
|
| 76 |
<sf sfritsch.de>, Arkadiusz Miskiewicz <arekm pld-linux.org>]
|
| 77 |
|
| 78 |
Changes for APR 1.3.5
|
| 79 |
|
| 80 |
*) Dropped kqueue and apr_poll detection from Mac OS/X 10.5/Darwin 9
|
| 81 |
due to various reported problems. [William Rowe]
|
| 82 |
|
| 83 |
Changes for APR 1.3.4
|
| 84 |
|
| 85 |
*) apr_strerror() on OS/2: Fix problem with calculating buffer size.
|
| 86 |
PR 45689. [Erik Lax <apache datahack.se>]
|
| 87 |
|
| 88 |
*) Prefer glibtool1/glibtoolize1. [Jim Jagielski]
|
| 89 |
|
| 90 |
*) Fix buildconf with libtool 2.2. [Joe Orton]
|
| 91 |
|
| 92 |
*) Fix a bug with the APR_DELONCLOSE flag. Child processes were (also)
|
| 93 |
unlinking the file. [Greg Stein]
|
| 94 |
|
| 95 |
*) Fix compilation error on systems that do not have IPV6.
|
| 96 |
PR 46601 [Julien Charbon <jch 4js.com>]
|
| 97 |
|
| 98 |
*) apr_socket_sendfile() on Solaris: Fix handling of files truncated
|
| 99 |
after the sender determines the length. (This fixes a busy loop in
|
| 100 |
httpd when a file being served is truncated.) [Jeff Trawick]
|
| 101 |
|
| 102 |
*) Fix documentation for apr_temp_dir_get().
|
| 103 |
PR 46303 [Carlo Marcelo Arenas Belon <carenas sajinet.com.pe>]
|
| 104 |
|
| 105 |
*) Add AC_MSG_RESULT after AC_MSG_CHECKING.
|
| 106 |
PR 46427 [Rainer Jung <rainer.jung kippdata.de>]
|
| 107 |
|
| 108 |
*) Reset errno to zero in apr_strtoi64 to prevent returning an errno not
|
| 109 |
equal zero in cases where the operation worked fine. [Ruediger Pluem]
|
| 110 |
|
| 111 |
*) Win32: Do not error out on apr_pollset_poll() when there are no sockets.
|
| 112 |
[Justin Erenkrantz]
|
| 113 |
|
| 114 |
*) Fix apr_tokenize_to_argv parsing. PR 46128
|
| 115 |
[Edward Rudd <eddie omegaware.com>]
|
| 116 |
|
| 117 |
Changes for APR 1.3.3
|
| 118 |
|
| 119 |
*) Rename apr_pool_create_core to apr_pool_create_unmanaged and
|
| 120 |
deprecate the old API name. It better reflects the scope and usage
|
| 121 |
of this function. [Mladen Turk]
|
| 122 |
|
| 123 |
*) Use proper return code for fcntl-based apr_proc_mutex_trylock()
|
| 124 |
on platforms that return EACCES instead of EAGAIN when the lock
|
| 125 |
is already held (AIX, HP-UX).
|
| 126 |
[Eric Covener]
|
| 127 |
|
| 128 |
*) Fix APR_PID_T_FMT detection on Solaris. PR 45513
|
| 129 |
[Rainer Jung <rainer.jung kippdata.de>]
|
| 130 |
|
| 131 |
Changes for APR 1.3.2
|
| 132 |
|
| 133 |
*) Fix getservbyname_r() detection. [Ruediger Pluem]
|
| 134 |
|
| 135 |
Changes for APR 1.3.1
|
| 136 |
|
| 137 |
*) Fix win32 apr.hw to pick up XP/2003 TCP/IP multicast constants and
|
| 138 |
revert to IPV6 disabled-by-default (a change present only in 1.3.0).
|
| 139 |
[William Rowe]
|
| 140 |
|
| 141 |
*) Fix autoconf cached detection of atomic builtins. [Jim Jagielski]
|
| 142 |
|
| 143 |
*) Use thread safe versions of getservbyname(). [Bojan Smojver]
|
| 144 |
|
| 145 |
*) Use thread safe getpass_r on Netware. [Guenter Knauf]
|
| 146 |
|
| 147 |
Changes for APR 1.3.0
|
| 148 |
|
| 149 |
*) Fix Solaris poll failure. PR 43000
|
| 150 |
[Henry Jen <henryjen ztune.net>]
|
| 151 |
|
| 152 |
*) apr_getservbyname(): Use proper method for converting port
|
| 153 |
to host byte order. PR 44903.
|
| 154 |
[Chris Taylor <ctaylor wadeford.plus.com>]
|
| 155 |
|
| 156 |
*) Use /dev/urandom in preference to /dev/random as entropy source
|
| 157 |
for apr_generate_random_bytes. PR 44881. [Bojan Smojver]
|
| 158 |
|
| 159 |
*) Implement apr_proc_wait_all_procs for windows.
|
| 160 |
The implementation uses tool help library present
|
| 161 |
on Windows 2000 and later. APR_ENOTIMPL is returned
|
| 162 |
on platforms missing tool help from kernel32.dll.
|
| 163 |
[Mladen Turk]
|
| 164 |
|
| 165 |
*) Introduce apr_pool_pre_cleanup_register() for registering
|
| 166 |
a cleanup that is called before any subpool is destroyed
|
| 167 |
within apr_pool_clear or apr_pool_destroy.
|
| 168 |
This allows to register a cleanup that will notify subpools
|
| 169 |
about its inevitable destruction.
|
| 170 |
[Mladen Turk]
|
| 171 |
|
| 172 |
*) Introduce apr_pool_create_core_ex() for creation of standalone
|
| 173 |
pools without parent. This function should be used for short
|
| 174 |
living pools, usually ones that are created and destroyed
|
| 175 |
either in a loop or inside function call. Since the pools
|
| 176 |
created with this function doesn't have a parent they must
|
| 177 |
be explicitly destroyed when done.
|
| 178 |
[Mladen Turk]
|
| 179 |
|
| 180 |
*) Fix return value when apr_pollset_poll interrupted.
|
| 181 |
PR 42580 [Basant Kumar Kukreja <basant.kukreja sun.com>]
|
| 182 |
|
| 183 |
*) Add missing semi-colon in Win9x code path of apr_file_open that breaks
|
| 184 |
Win9X Debug builds. PR 44329. [Curt Arnold]
|
| 185 |
|
| 186 |
*) z/OS: return standard apr_status_t codes from apr_dso_load()
|
| 187 |
and apr_dso_sym(). [David Jones <oscaremma gmail.com>]
|
| 188 |
|
| 189 |
*) Fix the make test target in the spec file. [Graham Leggett]
|
| 190 |
|
| 191 |
*) Fix DSO-related crash on z/OS caused by incorrect memory
|
| 192 |
allocation. [David Jones <oscaremma gmail.com>]
|
| 193 |
|
| 194 |
*) Implement Darwin-semantic (9.0.0 and later) sendfile support.
|
| 195 |
Use writev in lieu of hdtr vecs since how Darwin counts the
|
| 196 |
data is undocumented. [Geoff Greer <angryparsley mipsisrisc.com>,
|
| 197 |
William Rowe, Jim Jagielski]
|
| 198 |
|
| 199 |
*) Implemented the APR_FOPEN_SPARSE flag, permits win32 to create
|
| 200 |
sparse data files. Also bestow apr_fileinfo_t csize field for
|
| 201 |
Windows versions 2000 and later, which helps in the detection
|
| 202 |
that a sparse file is truly in use (see test/testlfs.c for an
|
| 203 |
example, because different filesystems can vary in behavior
|
| 204 |
even on an OS supporting sparse files). [William Rowe]
|
| 205 |
|
| 206 |
*) Corrected for Darwin and others to toggle APR_HAS_LARGE_FILES
|
| 207 |
where large off_t's are enabled without any extra defines, hints
|
| 208 |
or additional functions. This is binary compatible, but apps
|
| 209 |
may need to be recompiled to take full advantage depending on how
|
| 210 |
they detect this feature. [William Rowe]
|
| 211 |
|
| 212 |
*) Implement apr_atomic_casptr() and apr_atomic_xchgptr() for z/OS.
|
| 213 |
[David Jones <oscaremma gmail.com>]
|
| 214 |
|
| 215 |
*) Introduce apr_file_pipe_create_ex() to portably permit one pipe
|
| 216 |
end or another to be entirely blocking for non-APR applications
|
| 217 |
(e.g. stdio streams) and the other (or both ends) non blocking,
|
| 218 |
with a timeout of 0 by default.
|
| 219 |
[William Rowe]
|
| 220 |
|
| 221 |
*) apr_procattr_io_set() on Windows: Set non-blocking pipe handles
|
| 222 |
to a default timeout of 0, following the Unix default. No effect
|
| 223 |
on pipe handles configured to block. PR 43522.
|
| 224 |
[Eric Covener <covener gmail.com>]
|
| 225 |
|
| 226 |
*) apr_file_write() on Windows: Fix return code when writing to a non-
|
| 227 |
blocking pipe would have blocked. PR 43563.
|
| 228 |
[Eric Covener <covener gmail.com>]
|
| 229 |
|
| 230 |
*) Introduce APR_NO_FILE as an option to apr_procattr_io_set() for any
|
| 231 |
of the three stdio streams to cause the corresponding streams to be
|
| 232 |
closed to the child process. This becomes effective in 1.3.0 across
|
| 233 |
platforms (equivilant to APR_NO_PIPE in 1.2.x except on Win32.)
|
| 234 |
[William Rowe]
|
| 235 |
|
| 236 |
*) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls,
|
| 237 |
on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
|
| 238 |
of the stdin/out/err pipes. All other file handles are treated as
|
| 239 |
not-inherited until apr_file_dup2'ed a std handle of this process,
|
| 240 |
or while they are used by apr_proc_create. [William Rowe]
|
| 241 |
|
| 242 |
*) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
|
| 243 |
releases the interpretation would vary). [Branko Čibej]
|
| 244 |
|
| 245 |
*) Add table cloning (deep copy) convenience function.
|
| 246 |
[Davi Arnaut]
|
| 247 |
|
| 248 |
*) Rework the WIN32 CV code to signal the condition only if one or
|
| 249 |
more threads are blocked on the condition variable. If no threads
|
| 250 |
are waiting on the condition variable, nothing happens. The change
|
| 251 |
also eliminates the thundering-herd problem of the manual-reset
|
| 252 |
event, which (theoretically) wakes up all threads waiting on. Now
|
| 253 |
the behavior of the CV's should be the same on Unix and win32
|
| 254 |
platforms. PR 42305. [Davi Arnaut]
|
| 255 |
|
| 256 |
*) Define SEM_FAILED if it isn't already defined, as the proc mutex
|
| 257 |
code already does it. Also search for the sem_open function in
|
| 258 |
the realtime library. (This fixes HP-UX sem_open detection).
|
| 259 |
[Davi Arnaut]
|
| 260 |
|
| 261 |
*) Define the _HPUX_SOURCE feature test macro to obtain maximum
|
| 262 |
functionality.
|
| 263 |
PR 42261. [Davi Arnaut]
|
| 264 |
|
| 265 |
*) Stop invoking the testshm* helpers upon 'make test' invocation.
|
| 266 |
[Kurt Miller <kurt intricatesoftware.com>]
|
| 267 |
|
| 268 |
*) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
|
| 269 |
apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
|
| 270 |
|
| 271 |
*) Numerous build fixes for non-GCC builds and GCC builds on Win32,
|
| 272 |
as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>,
|
| 273 |
Curt Arnold <carnold apache.org>, John Mark Vandenberg,
|
| 274 |
Kouhei Sutou <kou cozmixng.org>, William Rowe]
|
| 275 |
|
| 276 |
*) Discard file buffers when running cleanups for exec.
|
| 277 |
PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
|
| 278 |
|
| 279 |
*) Improve thread safety of assorted file_io functions.
|
| 280 |
PR 42400. [Davi Arnaut <davi haxent.com.br>]
|
| 281 |
|
| 282 |
*) Add the apr_pollcb API as an alternative more efficient method
|
| 283 |
of polling sockets, compared to apr_pollset. [Paul Querna]
|
| 284 |
|
| 285 |
*) Fix possible crash in apr_pool_initialize() when built with
|
| 286 |
verbose pool debugging. PR 41063.
|
| 287 |
[Peter Steiner <peter.steiner+apache hugwi.ch>]
|
| 288 |
|
| 289 |
*) Fix --disable-ipv6 build on platforms with getifaddrs().
|
| 290 |
PR 39199. [Joe Orton]
|
| 291 |
|
| 292 |
*) Correctly retrieve 'empty' environment values with apr_env_get
|
| 293 |
on Win32 (e.g. "VAR="), and added validation to testall suite.
|
| 294 |
PR 40764. [Issac Goldstand <margol beamartyr.net>]
|
| 295 |
|
| 296 |
*) Portably check for EEXIST in mktemp code. PR 40818
|
| 297 |
[Kenneth Golomb <KGolomb TradeCard.com>]
|
| 298 |
|
| 299 |
*) Fix apr_socket_recvfrom() to ensure the peer's address is returned
|
| 300 |
through the "from" parameter. [Joe Orton]
|
| 301 |
|
| 302 |
*) Fix error checking in kqueue, epoll and event port versions of
|
| 303 |
apr_pollset_create. PR 40660, 40661, 40662
|
| 304 |
[Larry Cipriani <lvc lucent.com>]
|
| 305 |
|
| 306 |
*) Add some documentation on the format matched by apr_fnmatch.
|
| 307 |
[David Glasser <glasser mit.edu>]
|
| 308 |
|
| 309 |
*) Add apr_hash_clear. [Daniel L. Rall <dlr apache.org>]
|
| 310 |
|
| 311 |
*) Don't try to build apr_app.c on MinGW.
|
| 312 |
[Matthias Miller <Blog outofhanwell.com>]
|
| 313 |
|
| 314 |
*) Fix the timeout converstion in apr_pollset with the KQueue
|
| 315 |
backend. [Marco Molteni <mmolteni cisco.com>]
|
| 316 |
|
| 317 |
*) Support MinGW. [John Vandenberg, Justin Erenkrantz]
|
| 318 |
|
| 319 |
*) Implement apr_thread_yield on Unix in terms of pthread_yield or
|
| 320 |
sched_yield. [Keisuke Nishida <keisuke.nishida gmail.com>]
|
| 321 |
|
| 322 |
*) Provide folding in autogenerated .manifest files for Win32 builders
|
| 323 |
using VisualStudio 2005 [William Rowe]
|
| 324 |
|
| 325 |
*) Utilise Solaris' native atomic_* functions for apr_atomics
|
| 326 |
where appropriate. [Colm MacCárthaigh]
|
| 327 |
|
| 328 |
*) Make apr_socket_recvfrom initialize the port field in the from
|
| 329 |
sockaddr. PR 39325 [Anthony Minessale <anthmct yahoo.com>]
|
| 330 |
|
| 331 |
*) NetBSD: Avoid leaving zombie process when using apr_signal()
|
| 332 |
to ignore SIGCHLD. PR 36750. [Todd Vierling <tv pobox.com>]
|
| 333 |
|
| 334 |
*) Implement support for apr_proc_mutex_trylock() on Unix platforms.
|
| 335 |
PR 38785. [Chris Darroch <chrisd pearsoncmg.com>]
|
| 336 |
|
| 337 |
*) APR_FIND_APR macro now supports customisable detailed checks on
|
| 338 |
each installed apr. [Justin Erenkrantz, Colm MacCárthaigh]
|
| 339 |
|
| 340 |
*) APR_FIND_APR macro no longer checks /usr/local/apache2/
|
| 341 |
[Colm MacCárthaigh]
|
| 342 |
|
| 343 |
*) Add APR_POLLSET_NOCOPY option to apr_pollset API to eliminate
|
| 344 |
O(n)-time lookup in apr_pollset_remove() (currently implemented
|
| 345 |
only for epoll). [Brian Pane]
|
| 346 |
|
| 347 |
*) Add apr_file_buffer_set() and apr_file_buffer_size_get() functions
|
| 348 |
to support variable buffer sizes with APR file handles.
|
| 349 |
[Colm MacCárthaigh]
|
| 350 |
|
| 351 |
*) Add apr_file_open_flags_std[err|out|in]() functions.
|
| 352 |
[Colm MacCárthaigh]
|
| 353 |
|
| 354 |
*) stdio: apr_file_open_std[err|out|in]() functions now set the APR_WRITE
|
| 355 |
or APR_READ flag as appropriate. [Colm MacCárthaigh]
|
| 356 |
|
| 357 |
*) multicast: apr_mcast_*() no longer return APR_ENOTIMPL when invoked
|
| 358 |
for non-UDP/RAW sockets. The caller is expected to ensure that the
|
| 359 |
socket-type is suitable for multicast. [Colm MacCárthaigh]
|
| 360 |
|
| 361 |
*) Add apr_sockaddr_ip_getbuf() function. [Joe Orton]
|
| 362 |
|
| 363 |
*) Fix handling of %pI in apr_psprintf. [Joe Orton]
|
| 364 |
|
| 365 |
*) Provide APR_VERSION_AT_LEAST() macro for applications which
|
| 366 |
want to enable features based on a required level of APR.
|
| 367 |
[Jeff Trawick]
|
| 368 |
|
| 369 |
*) jlibtool: Teach to use static libraries with -static.
|
| 370 |
[Justin Erenkrantz]
|
| 371 |
|
| 372 |
*) Fix checks for alloca() support in configure. PR 13037.
|
| 373 |
[Noah Misch <noah cs.caltech.edu>]
|
| 374 |
|
| 375 |
*) Add %pm support to apr_snprintf() for printing the error string
|
| 376 |
corresponding to an apr_status_t value. [Joe Orton]
|
| 377 |
|
| 378 |
*) Add APR_ARRAY_IDX() and APR_ARRAY_PUSH() convenience macros to
|
| 379 |
apr_tables.h. [Garrett Rooney]
|
| 380 |
|
| 381 |
|
| 382 |
Changes for APR 1.2.x and later:
|
| 383 |
|
| 384 |
*) http://svn.apache.org/viewvc/apr/apr/branches/1.2.x/CHANGES?view=markup
|
| 385 |
|
| 386 |
Changes for APR 1.1.x and later:
|
| 387 |
|
| 388 |
*) http://svn.apache.org/viewvc/apr/apr/branches/1.1.x/CHANGES?view=markup
|
| 389 |
|
| 390 |
Changes for APR 1.0.x and later:
|
| 391 |
|
| 392 |
*) http://svn.apache.org/viewvc/apr/apr/branches/1.0.x/CHANGES?view=markup
|
| 393 |
|
| 394 |
Changes for APR 0.9.x and later/earlier:
|
| 395 |
|
| 396 |
*) http://svn.apache.org/viewvc/apr/apr/branches/0.9.x/CHANGES?view=markup
|