| 1 |
-*- coding: utf-8 -*-
|
| 2 |
Changes with APR 0.9.19
|
| 3 |
|
| 4 |
*) SECURITY: CVE-2009-2412 (cve.mitre.org)
|
| 5 |
Fix overflow in pools and rmm, where size alignment was taking place.
|
| 6 |
[Matt Lewis <mattlewis@google.com>, Sander Striker, William Rowe]
|
| 7 |
|
| 8 |
Changes with APR 0.9.18
|
| 9 |
|
| 10 |
*) z/OS: return standard apr_status_t codes from apr_dso_load()
|
| 11 |
and apr_dso_sym(). [David Jones <oscaremma gmail.com>]
|
| 12 |
|
| 13 |
*) Fix apr_tokenize_to_argv parsing. PR 46128
|
| 14 |
[Edward Rudd <eddie omegaware.com>]
|
| 15 |
|
| 16 |
Changes with APR 0.9.17
|
| 17 |
|
| 18 |
*) Fix DSO-related crash on z/OS caused by incorrect memory
|
| 19 |
allocation. [David Jones <oscaremma gmail.com>]
|
| 20 |
|
| 21 |
*) Define apr_ino_t in such a way that it doesn't change definition
|
| 22 |
based on the library consumer's -D'efines to the filesystem.
|
| 23 |
[Lucian Adrian Grijincu <lucian.grijincu gmail.com>]
|
| 24 |
|
| 25 |
*) Cause apr_file_dup2() on Win32 to update the MSVCRT psuedo-stdio
|
| 26 |
handles for fd-based and FILE * based I/O. [William Rowe]
|
| 27 |
|
| 28 |
*) Revert Win32 to the 0.9.14 behavior of apr_proc_create() for any
|
| 29 |
of the three stdio streams which are not initialized, through either
|
| 30 |
apr_procattr_io_set() or apr_procattr_child_XXX_set(), when given a
|
| 31 |
procattr_t with one or two streams which were initialized through
|
| 32 |
apr_procattr_child_XXX_set(). Once again, these do not inherit the
|
| 33 |
parent process stdio stream to WIN32 child processes (passing
|
| 34 |
INVALID_HANDLE_VALUE instead) as on Unix. Note APR 1.3.0 adopts
|
| 35 |
the Unix behavior of inheriting any uninitialized streams as the
|
| 36 |
parent's corresponding stdio stream, in such cases. [William Rowe]
|
| 37 |
|
| 38 |
Changes with APR 0.9.16
|
| 39 |
|
| 40 |
*) Win32 apr_file_read: Correctly handle completion-based read-to-EOF.
|
| 41 |
[Steven Naim <steven.naim googlemail.com>]
|
| 42 |
|
| 43 |
*) Fixed Win32 regression of StdOutput inheritance in apr_proc_create.
|
| 44 |
[William Rowe]
|
| 45 |
|
| 46 |
Changes with APR 0.9.15
|
| 47 |
|
| 48 |
*) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls,
|
| 49 |
on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
|
| 50 |
of the stdin/out/err pipes. All other file handles are treated as
|
| 51 |
not-inherited until apr_file_dup2'ed a std handle of this process,
|
| 52 |
or while they are used by apr_proc_create. [William Rowe]
|
| 53 |
|
| 54 |
*) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
|
| 55 |
releases the interpretation would vary). [Branko Čibej]
|
| 56 |
|
| 57 |
*) Fix day of year (tm_day) calculation for July. The bug only affects
|
| 58 |
Windows builds. PR 42953. [Davi Arnaut]
|
| 59 |
|
| 60 |
Changes with APR 0.9.14
|
| 61 |
|
| 62 |
*) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
|
| 63 |
apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
|
| 64 |
|
| 65 |
*) Numerous build fixes for non-GCC builds and GCC builds on Win32,
|
| 66 |
as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>,
|
| 67 |
Curt Arnold <carnold apache.org>, John Mark Vandenberg,
|
| 68 |
Kouhei Sutou <kou cozmixng.org>, William Rowe]
|
| 69 |
|
| 70 |
*) Discard file buffers when running cleanups for exec.
|
| 71 |
PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
|
| 72 |
|
| 73 |
*) Improve thread safety of assorted file_io functions.
|
| 74 |
PR 42400. [Davi Arnaut <davi haxent.com.br>]
|
| 75 |
|
| 76 |
*) Fix file pointer position calculation in apr_file_writev() on
|
| 77 |
buffered file. PR 40963. [Davi Arnaut <davi haxent.com.br>]
|
| 78 |
|
| 79 |
Changes with APR 0.9.13
|
| 80 |
|
| 81 |
*) Fix detection of pthread cross-process robust mutexes.
|
| 82 |
PR 39833. [Tsuyoshi SASAMOTO <nazonazo miobox.jp>]
|
| 83 |
|
| 84 |
*) Correctly retrieve 'empty' environment values with apr_env_get
|
| 85 |
on Win32 (e.g. "VAR="), and added validation to testall suite.
|
| 86 |
PR 40764. [Issac Goldstand <margol beamartyr.net>]
|
| 87 |
|
| 88 |
*) Portably check for EEXIST in mktemp code. PR 40818
|
| 89 |
[Kenneth Golomb <KGolomb TradeCard.com>]
|
| 90 |
|
| 91 |
*) Fix apr_atomic_cas on platforms with 64 bit longs.
|
| 92 |
[Philip Martin <philip codematters.co.uk>]
|
| 93 |
|
| 94 |
*) Provide folding in autogenerated .manifest files for Win32 builders
|
| 95 |
using VisualStudio 2005 [William Rowe]
|
| 96 |
|
| 97 |
Changes with APR 0.9.12
|
| 98 |
|
| 99 |
*) Netware - add missing apu_version.c parsing for apu_version_string()
|
| 100 |
to the Netware specific builds. Unix platforms supporte this API
|
| 101 |
since 0.9.1. [Brad Nicholes]
|
| 102 |
|
| 103 |
Changes with APR 0.9.11
|
| 104 |
|
| 105 |
*) Synced get-version.sh to trunk to correctly retrieve 2 digit subversion,
|
| 106 |
which broke the 0.9.10 candidate. [William Rowe]
|
| 107 |
|
| 108 |
*) Fixed 'make check' target to avoid invoking sub-programs of testshm,
|
| 109 |
testshmconsumer and testshmproducer. [William Rowe]
|
| 110 |
|
| 111 |
*) Permit Win32 to seek to the point 2^32-1, by checking that result
|
| 112 |
against the actual error and continuing on success. [William Rowe]
|
| 113 |
|
| 114 |
Changes with APR 0.9.10
|
| 115 |
|
| 116 |
*) Minor bug fixes to address various platform build and run time issues.
|
| 117 |
|
| 118 |
*) Permit 'make check' binaries to run on Darwin by omitting -no-install
|
| 119 |
flag [William Rowe, Joe Orton]
|
| 120 |
|
| 121 |
Changes with APR 0.9.9
|
| 122 |
|
| 123 |
*) Prevent detection of robust mutex support with glibc 2.4,
|
| 124 |
fixing APR_LOCK_PROC_PTHREAD locks. PR 38442. [Joe Orton]
|
| 125 |
|
| 126 |
*) Fix apr_strerror() with glibc 2.4. [Joe Orton]
|
| 127 |
|
| 128 |
*) Install mkdir.sh, make_exports.awk, make_var_export.awk to the APR
|
| 129 |
installbuilddir, and provide working accessor variables in
|
| 130 |
apr_rules.mk.
|
| 131 |
[Max Bowsher]
|
| 132 |
|
| 133 |
*) Fix seeks with files opened in xthread mode for append on win32.
|
| 134 |
[M Joonas Pihlaja <jpihlaja cc.helsinki.fi>, Garrett Rooney]
|
| 135 |
|
| 136 |
*) Keep testpipe.c from hanging on win32. [Garrett Rooney]
|
| 137 |
|
| 138 |
*) Cause apr_file_write_full on win32 to consider the timeout value set by
|
| 139 |
apr_file_pipe_timeout_set. PR 30182
|
| 140 |
[<eholyat olf.com>]
|
| 141 |
|
| 142 |
*) Fix assertion from double close of a handle with a rwlock on win32.
|
| 143 |
[Evgueni Brevnov <evgueni.brevnov gmail.com>]
|
| 144 |
|
| 145 |
*) Fix EOF handling for unbuffered reads on win32.
|
| 146 |
[Konstantin Sharenkov <Konstantin.Sharenkov enterra-inc.com>]
|
| 147 |
|
| 148 |
*) Documented that apr_stat and apr_dir_read can return APR_INCOMPLETE,
|
| 149 |
and how to determine which parts of the resulting apr_finfo_t can be
|
| 150 |
used in such a case.
|
| 151 |
[Garrett Rooney]
|
| 152 |
|
| 153 |
*) Fix passing "" as an argument to the program started by apr_proc_create
|
| 154 |
on Win32.
|
| 155 |
[Philip Martin <philip codematters.co.uk>
|
| 156 |
|
| 157 |
*) Fix warning when compiling on FreeBSD by correcting the type of
|
| 158 |
the final argument passed to sysctlbyname. [Garrett Rooney]
|
| 159 |
|
| 160 |
Changes with APR 0.9.7
|
| 161 |
|
| 162 |
*) Fix crash in apr_dir_make_recursive() for relative path
|
| 163 |
when the working directory has been deleted. [Joe Orton]
|
| 164 |
|
| 165 |
*) Win32: fix apr_proc_mutex_trylock() to handle WAIT_TIMEOUT,
|
| 166 |
returning APR_EBUSY. [Ronen Mizrahi <ronen@tversity.com>]
|
| 167 |
|
| 168 |
*) Fix apr_file_read() to catch write failures when flushing pending
|
| 169 |
writes for a buffered file. [Joe Orton]
|
| 170 |
|
| 171 |
*) Fix apr_file_write() infinite loop on write failure for buffered
|
| 172 |
files. [Erik Huelsmann <ehuels gmail.com>]
|
| 173 |
|
| 174 |
*) Fix error handling where apr_uid_* and apr_gid_* could segfault
|
| 175 |
or return APR_SUCCESS in failure cases. PR 34053. [Joe Orton,
|
| 176 |
Paul Querna]
|
| 177 |
|
| 178 |
*) Refactor Win32 condition variables code to address bugs 27654, 34336.
|
| 179 |
[Henry Jen <henryjen ztune.net>, E Holyat <eholyat yahoo.com>]
|
| 180 |
|
| 181 |
*) Support APR_SO_SNDBUF and APR_SO_RCVBUF on Windows. PR 32177.
|
| 182 |
[Sim <sgobbi datamanagement.it>, Jeff Trawick]
|
| 183 |
|
| 184 |
*) Fix detection of rwlocks on Mac OS X. [Aaron Bannert]
|
| 185 |
|
| 186 |
*) Fix issue with poll() followed by net I/O yielding EAGAIN on
|
| 187 |
Mac OS 10.4 (Darwin 8). [Wilfredo Sanchez]
|
| 188 |
|
| 189 |
Changes with APR 0.9.6
|
| 190 |
|
| 191 |
*) Add apr_threadattr_stacksize_set() for overriding the default
|
| 192 |
stack size for threads created by apr_thread_create().
|
| 193 |
[Jeff Trawick]
|
| 194 |
|
| 195 |
*) Add an RPM spec file. [Graham Leggett]
|
| 196 |
|
| 197 |
*) Add a build script to create a solaris package. [Graham Leggett]
|
| 198 |
|
| 199 |
Changes with APR 0.9.5
|
| 200 |
|
| 201 |
*) Prevent unbounded memory use during repeated operations on a hash table.
|
| 202 |
[Julian Foad <julianfoad btopenworld.com>
|
| 203 |
|
| 204 |
*) fix apr_file_dup and apr_file_dup2 win32 implementations
|
| 205 |
to create a mutex [Steve Hay <steve.hay uk.radan.com>]
|
| 206 |
|
| 207 |
*) Makes the threads to behave like on posix. If the thread is created
|
| 208 |
without APR_DETACH expect that the thread_join will be called, so don't
|
| 209 |
close the handle in advance, if the thread has already finished.
|
| 210 |
[Mladen Turk]
|
| 211 |
|
| 212 |
*) The apr/test/Makefile.win is missing a target to build a
|
| 213 |
readchild.exe that test is depending on but is never built.
|
| 214 |
[Mladen Turk]
|
| 215 |
|
| 216 |
*) Fix build issues in paths containing symlinks. PR 8867.
|
| 217 |
[Joe Orton]
|
| 218 |
|
| 219 |
*) Update config.{guess,sub} for DragonFly BSD. PR 29858.
|
| 220 |
[Joe Orton]
|
| 221 |
|
| 222 |
*) Win32: Fix bug in apr_socket_sendfile that interferred with
|
| 223 |
Win32 LSPs. Bug is described in Apache 2.0 bugzilla report
|
| 224 |
23982 [Jan Bilek, Bill Stoddard]
|
| 225 |
|
| 226 |
*) apr_proc_create() on Unix: Remove unnecessary check for read
|
| 227 |
access to the working directory of the child process.
|
| 228 |
PR 30137. [Jeremy Chadwick <apache jdc.parodius.com>]
|
| 229 |
|
| 230 |
*) Win32: Fix bug tracking the file pointer on a file opened for
|
| 231 |
overlapped/APR_XTHREAD io. [Bill Stoddard]
|
| 232 |
|
| 233 |
*) Fix FreeBSD atomics. [Paul Querna <chip force-elite.com>]
|
| 234 |
|
| 235 |
*) Fix apr_snprintf() to respect precision for small floating point
|
| 236 |
numbers. PR 29621. [Artur Zaprzala <zybi talex.pl>]
|
| 237 |
|
| 238 |
*) Add command type APR_SHELLCMD_ENV for creating a process
|
| 239 |
which is started by the shell and which inherits the parent's
|
| 240 |
environment variables. [Jeff Trawick]
|
| 241 |
|
| 242 |
*) Change default inter-process locking mechanisms: POSIX semaphores
|
| 243 |
and pthread cross-process mutexes are not used by default; on
|
| 244 |
Solaris, fcntl locks are used by default. [Joe Orton]
|
| 245 |
|
| 246 |
*) Don't try to enable run-time linking on AIX < 4.2, as this
|
| 247 |
results in invalid linker options being used. PR 29170.
|
| 248 |
[Jeff Trawick]
|
| 249 |
|
| 250 |
*) Remove apr_file_copy()'s 2Gb file size limit on some platforms.
|
| 251 |
[Joe Orton]
|
| 252 |
|
| 253 |
*) Don't assume getnameinfo() can handle IPv4-mapped IPv6 addresses
|
| 254 |
on any platforms.
|
| 255 |
[Jeff Trawick, Joe Orton, Colm MacCárthaigh <colm stdlib.net>]
|
| 256 |
|
| 257 |
*) Support setuid, setgid and sticky file permissions bits on Unix.
|
| 258 |
[André Malo]
|
| 259 |
|
| 260 |
*) Fix sign error in apr_file_seek(APR_END).
|
| 261 |
[Greg Hudson <ghudson MIT.EDU>]
|
| 262 |
|
| 263 |
*) Provide workaround for socklen_t declaration problem with 64-bit
|
| 264 |
build on HP-UX. Stop setting a PA-RISC-specific compile option
|
| 265 |
on ia64. Look for -mt thread option, which is used with HP-UX
|
| 266 |
vendor compiler on ia64. [Jeff Trawick, based on idea from
|
| 267 |
Madhusudan Mathihalli]
|
| 268 |
|
| 269 |
*) Return an error instead of silently failing when apr_poll() is
|
| 270 |
used with file descriptors >= FD_SETSIZE. (Unix systems with
|
| 271 |
no native poll()) [Jeff Trawick, Brad Nicholes]
|
| 272 |
|
| 273 |
*) Fix handling of negative numbers in apr_strtoi64() on platforms
|
| 274 |
without strtoll. [Joe Orton]
|
| 275 |
|
| 276 |
*) Fix printing apr_int64_t values smaller than LONG_MIN on 32-bit
|
| 277 |
platforms in apr_vformatter. [Joe Orton]
|
| 278 |
|
| 279 |
*) Fix apr_socket_opt_set with APR_IPV6_V6ONLY flag. Fixes httpd
|
| 280 |
Listen IPv6 socket behavior on FreeBSD 5.x, OpenBSD, NetBSD.
|
| 281 |
[Justin Erenkrantz]
|
| 282 |
|
| 283 |
*) Fix apr_time_exp_get() for dates in 2038.
|
| 284 |
[Philip Martin <philip codematters.co.uk>]
|
| 285 |
|
| 286 |
*) Add APR_LARGEFILE flag to allow opening files with the
|
| 287 |
O_LARGEFILE flag; not recommended for general use, see
|
| 288 |
include/apr_file_io.h. [Joe Orton]
|
| 289 |
|
| 290 |
*) Various build fixes: thread_rwlock.c on some Solaris platforms
|
| 291 |
(PR 22990); filestat.c on ReliantUnix (PR 22990); config.status
|
| 292 |
on IRIX (PR 19251). [Various]
|
| 293 |
|
| 294 |
*) Use NI_NAMEREQD instead of NI_NUMERICHOST in
|
| 295 |
APR_CHECK_GETNAMEINFO_IPV4_MAPPED. PR 24469. [Justin Erenkrantz]
|
| 296 |
|
| 297 |
*) Ensure that apr_sockaddr_info_get() does not return anything
|
| 298 |
other than AF_INET and AF_INET6 addresses. [Joe Orton]
|
| 299 |
|
| 300 |
*) Clarify that apr_dir_read() does not guarantee order of returned
|
| 301 |
entries as previously claimed. [Joe Orton]
|
| 302 |
|
| 303 |
*) The whole codebase was relicensed and is now available under
|
| 304 |
the Apache License, Version 2.0 (http://www.apache.org/licenses).
|
| 305 |
[Apache Software Foundation]
|
| 306 |
|
| 307 |
*) Define apr_off_t as long rather than as off_t on platforms with a
|
| 308 |
32-bit off_t to prevent incompatibility with packages such as
|
| 309 |
Perl which redefine the size of off_t via _FILE_OFFSET_BITS on
|
| 310 |
some platforms. [Ben Reser <ben reser.org>]
|
| 311 |
|
| 312 |
*) apr_socket_connect(): allow app to make subsequent call on
|
| 313 |
non-blocking socket. [Jeff Trawick]
|
| 314 |
|
| 315 |
*) Add apr_os_pipe_put_ex(), which allows the caller to tell APR
|
| 316 |
to establish a cleanup on the pipe. [Jeff Trawick, Brad Nicholes]
|
| 317 |
|
| 318 |
*) Fix make_exports.awk to work with apr-iconv. [Justin Erenkrantz]
|
| 319 |
|
| 320 |
Changes with APR 0.9.4
|
| 321 |
|
| 322 |
*) win32: fix apr_file_dup() and apr_file_dup2() to dup the
|
| 323 |
ungetchar member [Stas Bekman]
|
| 324 |
|
| 325 |
*) Preserve leading '../' segments as when merging to an empty and
|
| 326 |
unrooted path - fixes a bug observed in SVN with Win32/Netware/OS2.
|
| 327 |
[Mike Pilato <cmpilato@collab.net>, William Rowe]
|
| 328 |
|
| 329 |
*) Work around a bug in Darwin when calling getnameinfo() on IPv4-mapped
|
| 330 |
IPv6-addresses. [Colm MacCárthaigh <colm@stdlib.net>, Jeff Trawick,
|
| 331 |
Justin Erenkrantz]
|
| 332 |
|
| 333 |
*) Add apr_temp_dir_get() for getting the most suitable temp directory
|
| 334 |
[Mike Pilato <cmpilato@collab.net>, Thom May]
|
| 335 |
|
| 336 |
*) Modify apr_sockaddr_info_get to call the resolver when we
|
| 337 |
do not have a hostname. Also, fix bugs in the getaddrinfo()
|
| 338 |
implementation.
|
| 339 |
[Colm MacCárthaigh <colm@stdlib.net>, Justin Erenkrantz]
|
| 340 |
|
| 341 |
*) Change the behavior of unix process 'trylock's to return
|
| 342 |
APR_ENOTIMPL instead of segfaulting, consistent with the
|
| 343 |
other lock implementations. [William Rowe]
|
| 344 |
|
| 345 |
*) Fix a subtle race where the ownership of a unix nested
|
| 346 |
thread lock could be corrupted when the prior owner released
|
| 347 |
the lock with another thread waiting on the same lock.
|
| 348 |
[William Rowe]
|
| 349 |
|
| 350 |
*) apr_socket_data_set(): allow the same key to be used for
|
| 351 |
multiple sockets in the same pool. [Jeff Trawick]
|
| 352 |
|
| 353 |
*) Add new table function apr_table_compress() and replace
|
| 354 |
red-black trees with mergesort in apr_table_overlap()
|
| 355 |
[Joe Schaefer <joe+gmane@sunstarsys.com>, Brian Pane]
|
| 356 |
|
| 357 |
*) Win32: Adopt Brian Havard's OS/2 rwlock implementation for
|
| 358 |
Windows [Marc Adkins, Bill Stoddard]
|
| 359 |
|
| 360 |
*) Add apr_proc_mutex_lockfile() for retrieving the name of the
|
| 361 |
file associated with a mutex. [Jeff Trawick]
|
| 362 |
|
| 363 |
*) Don't require the lock file name to be passed into
|
| 364 |
apr_proc_mutex_child_init() or apr_global_mutex_child_init().
|
| 365 |
This allows child init to work when the lock file was a temp
|
| 366 |
file created by APR. (The problem only occurred with flock-
|
| 367 |
based mutexes.) [Jeff Trawick]
|
| 368 |
|
| 369 |
*) When using a temporary file for flock- and fcntl-based mutexes,
|
| 370 |
don't let the file be deleted on close. For flock-based mutexes,
|
| 371 |
this corrects a fatal problem, since the file would disappear
|
| 372 |
when a program was spawned and cleanup-for-exec was performed,
|
| 373 |
and a subsequent attempt to perform child process mutex
|
| 374 |
initialization would fail. For fcntl-based mutexes, this was a
|
| 375 |
very minor issue that resulted in a failing unlink() when the
|
| 376 |
file was closed, since fcntl lock initialization always removes
|
| 377 |
the file immediately. [Jeff Trawick]
|
| 378 |
|
| 379 |
*) When writing to pipes with a timeout set, handle the situation
|
| 380 |
where the kernel says the pipe is writable but an attempt to
|
| 381 |
write <= PIPE_BUF bytes gets EAGAIN. APR will now write whatever
|
| 382 |
data will fit. APR applications that relied on the atomic nature
|
| 383 |
of relatively small pipe write requests may be affected.
|
| 384 |
PR 20295 [Mark Street <mark@faime.demon.co.uk>, Jeff Trawick]
|
| 385 |
|
| 386 |
*) Define _THREAD_SAFE for all compilations on AIX. Previously
|
| 387 |
those of us who used the vendor compiler had it defined
|
| 388 |
implicitly and others did not. The difference became obvious
|
| 389 |
with the recent thread safety fixes to apr_password_validate().
|
| 390 |
PR 20420 [Jeff Trawick]
|
| 391 |
|
| 392 |
*) For apr_proc_detach(APR_PROC_DETACH_FOREGROUND), don't treat
|
| 393 |
a setsid() failure as fatal, as the usual cause is that the
|
| 394 |
caller is already a process group leader. PR 18519
|
| 395 |
[Jeff Trawick]
|
| 396 |
|
| 397 |
*) Fix some problems with non-blocking socket handling on unix
|
| 398 |
that resulted in infinite timeouts being used for non-blocking
|
| 399 |
sockets with apr_socket_connect() and some read/write calls.
|
| 400 |
[Jeff Trawick]
|
| 401 |
|
| 402 |
*) Fix a bug in socket timeout handling on unix that left the
|
| 403 |
socket non-blocking after disabling the timeout.
|
| 404 |
[Jacob Craig Lewallen <jlewalle@cs.ucr.edu>]
|
| 405 |
|
| 406 |
*) Added flag APR_FILE_ATTR_HIDDEN for manipulating the "hidden"
|
| 407 |
file attribute on Windows and OS/2. [Branko Čibej]
|
| 408 |
|
| 409 |
*) SECURITY [CAN-2003-0245]: Fixed a bug that could be triggered
|
| 410 |
remotely through mod_dav and possibly other mechanisms, causing
|
| 411 |
an Apache child process to crash. The crash was first reported
|
| 412 |
by David Endler <DEndler@iDefense.com> and was researched and
|
| 413 |
fixed by Joe Orton <jorton@redhat.com>. Details will be released
|
| 414 |
on 30 May 2003.
|
| 415 |
|
| 416 |
*) apr_proc_wait(): Handle interrupted waitpid(2) calls by calling
|
| 417 |
it repeatedly until it succeeds or fails with errno other than
|
| 418 |
EINTR. This hides this UNIX-specific behavior from APR clients.
|
| 419 |
|
| 420 |
*) Removed the solaris-specific atomic code, due to licence
|
| 421 |
concerns (it was MPL 1.0, and the author could not be contacted)
|
| 422 |
[Ian Holsman]
|
| 423 |
|
| 424 |
*) apr_file_gets(): Return APR_SUCCESS if any characters are
|
| 425 |
returned. Any I/O errors or EOF will be reported on the
|
| 426 |
next call. Callers that are coded to expect returned
|
| 427 |
data + APR_EOF when there is no final newline are affected
|
| 428 |
by this change. [Jeff Trawick]
|
| 429 |
|
| 430 |
*) apr_proc_create() on Unix: Make the APR_SHELLCMD mode work
|
| 431 |
when there is more than one program argument passed in.
|
| 432 |
[Jeff Trawick]
|
| 433 |
|
| 434 |
*) Add --cc and --cpp flags to apr-config. [Jeff Trawick]
|
| 435 |
|
| 436 |
*) Don't segfault trying to close a file in error paths of flock
|
| 437 |
and fcntl mutex creation. PR 19036 [Jeff Trawick]
|
| 438 |
|
| 439 |
*) Add %pT support to apr_snprintf() for printing an apr_os_thread_t.
|
| 440 |
[Jeff Trawick]
|
| 441 |
|
| 442 |
*) Add APR_TCP_NODELAY_INHERITED & APR_O_NONBLOCK_INHERITED to apr.hw
|
| 443 |
[Allan Edwards]
|
| 444 |
|
| 445 |
*) Add APR_UINT64_T_HEX_FMT. [Jeff Trawick]
|
| 446 |
|
| 447 |
*) Add parameter to APR_SUBDIR_CONFIG to drop options passed to configure
|
| 448 |
before the subdir's configure is invoked.
|
| 449 |
[Jeff Trawick, Justin Erenkrantz]
|
| 450 |
|
| 451 |
*) Implement APR_SO_RCVBUF socket option on Unix.
|
| 452 |
[Adam Sussman <myddryn@vishnu.vidya.com>]
|
| 453 |
|
| 454 |
*) Don't add the math library (-lm) if the modf() function
|
| 455 |
is already available via libc. [Roy Fielding]
|
| 456 |
|
| 457 |
*) Solaris cc: Don't use the -mt option for threaded builds. That
|
| 458 |
is for non-Posix threading, and the use of it prevented us from
|
| 459 |
linking with -lpthread, which in turn caused weird problems for
|
| 460 |
APR applications. [Kristofer Spinka <kspinka@style.net>]
|
| 461 |
|
| 462 |
*) OS/2: apr_stat() fixes - When a character device is stat'ed,
|
| 463 |
fill in finfo.name if it was asked for. Return APR_INCOMPLETE
|
| 464 |
when appropriate. Addresses httpd incident [CAN-2003-0134].
|
| 465 |
[Brian Havard]
|
| 466 |
|
| 467 |
Changes with APR 0.9.3
|
| 468 |
|
| 469 |
*) Don't enable posixsem, at build time, on systems where sem_t *
|
| 470 |
won't "fit" into an int (sizeof-wise). Also, better error handling
|
| 471 |
when we fail to create a posixsem. PR 17186 [Scott Herod
|
| 472 |
<sherod@pillardata.com>, Jim Jagielski]
|
| 473 |
|
| 474 |
*) Default hpux 10.x to disable threading, since if it exists at all
|
| 475 |
the pthread implementation should not be trusted, while hpux 10
|
| 476 |
had its own threads implementation that is no longer supported.
|
| 477 |
PR 9457 [William Rowe]
|
| 478 |
|
| 479 |
*) Fix error in apr-config when symlinks are involved.
|
| 480 |
[Garrett Rooney <rooneg@electricjellyfish.net>]
|
| 481 |
|
| 482 |
Changes with APR 0.9.2
|
| 483 |
|
| 484 |
*) Numerous bug fixes for file and socket inheritence by child
|
| 485 |
processes on Unix, correcting bugs that affected the correct
|
| 486 |
behavior of apr_[file|socket]_inherit_[un]set() API.
|
| 487 |
[Bjoern A. Zeeb <bz@zabbadoz.net>, William Rowe, Joe Orton]
|
| 488 |
|
| 489 |
*) Define APR_UINT64_T_FMT and APR_UINT64_T_FMT_LEN.
|
| 490 |
Define APR_INT64_T_FMT_LEN on Windows and Netware. [Branko Čibej]
|
| 491 |
|
| 492 |
*) Correct apr_file_gets() on OS2 and Win32 so that '\r's are no longer
|
| 493 |
eaten, and apr_file_gets() -> apr_file_puts() moves the contents
|
| 494 |
uncorrupted. [William Rowe]
|
| 495 |
|
| 496 |
*) Alter Win32's handling of the apr_proc_t hproc member, so that we
|
| 497 |
close that system handle wherever an apr function would invoke the
|
| 498 |
final waitpid() against a zombie process on Unix. [William Rowe]
|
| 499 |
|
| 500 |
*) APR_MAX_SECONDS_TO_LINGER and APR_FNM_* #defines replace their
|
| 501 |
old undecorated names (missing APR_ prefix). The old names will
|
| 502 |
disappear with APR 1.0.0.
|
| 503 |
[Craig Rodrigues <rodrigc@attbi.com>, William Rowe]
|
| 504 |
|
| 505 |
|
| 506 |
*) When generating a semaphore name for posixsem locking, try to
|
| 507 |
be a little more robust (and unique). [Jim Jagielski]
|
| 508 |
|
| 509 |
*) Add functions apr_env_get, apr_env_set and apr_env_delete for
|
| 510 |
manipulating the environment. [Branko Čibej]
|
| 511 |
|
| 512 |
*) Fix APR_LAYOUT to work with layout files with no preceding blank lines
|
| 513 |
and emit errors when layout is not found. PR 15679.
|
| 514 |
[Justin Erenkrantz]
|
| 515 |
|
| 516 |
*) Add functions apr_filepath_list_split and apr_filepath_list_merge
|
| 517 |
for managing search paths. [Branko Čibej]
|
| 518 |
|
| 519 |
*) Introduce Release mode debugging symbols for Win32 builds of apr.
|
| 520 |
All library builds gain /Zi for debug symbols (which are discarded
|
| 521 |
at link time if some flavor of the /debug flag isn't passed to link)
|
| 522 |
and .dll builds gain .pdb symbols. [Allen Edwards, William Rowe]
|
| 523 |
|
| 524 |
*) Add two new proc attributes to improve diagnostics for
|
| 525 |
apr_proc_create() failures on platforms where fork()+exec() is used.
|
| 526 |
See the doc for apr_procattr_child_errfn_set() and
|
| 527 |
apr_procattr_error_check_set(). [Jeff Trawick]
|
| 528 |
|
| 529 |
*) Rename rules.mk to apr_rules.mk and make apr_rules.mk be installed.
|
| 530 |
[Thom May]
|
| 531 |
|
| 532 |
*) Fix a bug in apr_proc_create() that could cause a new child process
|
| 533 |
to run the parent's code if setrlimit() fails. [Jeff Trawick]
|
| 534 |
|
| 535 |
*) Disable apr_socket_sendfile() on 64-bit AIX to avoid an apparent
|
| 536 |
system problem. PR 11408. [Jeff Trawick]
|
| 537 |
|
| 538 |
*) Add --includedir flag to apr-config. [Justin Erenkrantz]
|
| 539 |
|
| 540 |
*) Only include sys/syslimits.h if we don't have limits.h
|
| 541 |
[Craig Rodrigues <rodrigc@attbi.com>, Garrett Rooney
|
| 542 |
<rooneg@electricjellyfish.net>, Thom May]
|
| 543 |
|
| 544 |
*) Allow apr-config to work in symlinked install directories when
|
| 545 |
'realpath' is available. [Justin Erenkrantz]
|
| 546 |
|
| 547 |
*) Namespace protect the header files in include/arch
|
| 548 |
[Thom May]
|
| 549 |
|
| 550 |
*) Add function apr_filepath_encoding and associated constants.
|
| 551 |
[Branko Čibej]
|
| 552 |
|
| 553 |
*) Allow apr_hash to have greater than int number of elements.
|
| 554 |
[Justin Erenkrantz]
|
| 555 |
|
| 556 |
*) Allow generation of dependencies by non-GCC compilers.
|
| 557 |
[Justin Erenkrantz]
|
| 558 |
|
| 559 |
*) Prevent obscenely large values of precision in apr_vformatter
|
| 560 |
from clobbering a buffer. [Sander Striker, Jim Jagielski]
|
| 561 |
|
| 562 |
*) limit the renames performed in apr_rename.pl to the most recent renames.
|
| 563 |
[Thom May]
|
| 564 |
|
| 565 |
*) Changed apr_mmap_dup() and friends so that there's no longer any
|
| 566 |
is_owner concept on the mmaped region, but rather something more
|
| 567 |
along the lines of a reference count. This allows the old apr_mmap_t
|
| 568 |
to still be used safely when the new apr_mmap_t is in a disjoint pool.
|
| 569 |
[Cliff Woolley, Sander Striker]
|
| 570 |
|
| 571 |
*) Fix a bug in apr_hash_merge() which caused the last entry in the
|
| 572 |
overlay hash to be lost. PR 10522 [Jeff Trawick]
|
| 573 |
|
| 574 |
*) Add DougM's apr_rename.pl script into helpers, and update for the new
|
| 575 |
batch of updates [Thom May]
|
| 576 |
|
| 577 |
*) Renames done (deprecated functions wrapped):
|
| 578 |
apr_filename_of_pathname -> apr_filepath_name_get
|
| 579 |
apr_get_groupid -> apr_gid_get
|
| 580 |
apr_get_groupname -> apr_gid_name_get
|
| 581 |
apr_compare_groups -> apr_gid_compare
|
| 582 |
apr_parse_addr_port -> apr_port_addr_parse
|
| 583 |
apr_shutdown -> apr_socket_shutdown
|
| 584 |
apr_bind -> apr_socket_bind
|
| 585 |
apr_listen -> apr_socket_listen
|
| 586 |
apr_accept -> apr_socket_accept
|
| 587 |
apr_connect -> apr_socket_connect
|
| 588 |
apr_send -> apr_socket_send
|
| 589 |
apr_sendv -> apr_socket_sendv
|
| 590 |
apr_sendto -> apr_socket_sendto
|
| 591 |
apr_implode_gmt -> apr_time_exp_gmt_get
|
| 592 |
apr_get_home_directory -> apr_uid_homepath_get
|
| 593 |
apr_get_userid -> apr_uid_get
|
| 594 |
apr_current_userid -> apr_uid_current
|
| 595 |
apr_compare_users -> apr_uid_compare
|
| 596 |
apr_get_username -> apr_uid_name_get
|
| 597 |
apr_recvfrom -> apr_socket_recvfrom
|
| 598 |
apr_sendfile -> apr_socket_sendfile
|
| 599 |
apr_recv -> apr_socket_recv
|
| 600 |
[Thom May]
|
| 601 |
|
| 602 |
*) Add APR_IPV6_V6ONLY socket option. [Jeff Trawick]
|
| 603 |
|
| 604 |
*) Update timeout algorithm in free_proc_chain. If a subprocess
|
| 605 |
did not exit immediately, the thread would sleep for 3 seconds
|
| 606 |
before checking the subprocess exit status again. In a very
|
| 607 |
common case when the subprocess was an HTTP server CGI script,
|
| 608 |
the CGI script actually exited a fraction of a second into the 3
|
| 609 |
second sleep, which effectively limited the server to serving one
|
| 610 |
CGI request every 3 seconds across a persistent connection.
|
| 611 |
[Bill Stoddard, Kai.Risku@arrak.fi]
|
| 612 |
|
| 613 |
*) Update doxygen tags. [Justin Erenkrantz]
|
| 614 |
|
| 615 |
*) NetWare: implemented a file IO path context scheme to directly
|
| 616 |
reference directory paths and files in the file system rather
|
| 617 |
than having to traverse the file system on every stat() or
|
| 618 |
open() call. (Performance enhancement) [Brad Nicholes]
|
| 619 |
|
| 620 |
*) ReliantUnix: recognize that dlsym() is in libdl and dlopen() is in
|
| 621 |
libc. The check is generic so maybe this fixes some other system.
|
| 622 |
PR 14189 [Jeff Trawick]
|
| 623 |
|
| 624 |
*) Win32: Fix APR_APPEND file i/o. [Bill Stoddard]
|
| 625 |
|
| 626 |
*) Fix a problem retrieving the remote socket address for sockets
|
| 627 |
created via apr_os_sock_put() or apr_os_sock_make(). [Jeff Trawick]
|
| 628 |
|
| 629 |
*) Add recognition of and socket API support for the SCTP protocol.
|
| 630 |
[Randall Stewart <randall@stewart.chicago.il.us>]
|
| 631 |
|
| 632 |
*) Win32: apr_shutdown was not honoring apr_shutdown_how_e and
|
| 633 |
always shutting down the socket for read. This could result
|
| 634 |
in Apache HTTPD 2.0 clients getting early connection closures
|
| 635 |
because lingering_close() was broken. [Bill Stoddard, Allan Edwards]
|
| 636 |
|
| 637 |
*) Add apr_atomic_casptr() to support atomic compare-and-swap
|
| 638 |
of pointers [Brian Pane]
|
| 639 |
|
| 640 |
*) Add apr_socket_create_ex() to allow protocol to be specified for the
|
| 641 |
socket. With APR 1.0, this function will be removed and apr_socket_create()
|
| 642 |
will have the additional parameter.
|
| 643 |
[Randall Stewart <randall@stewart.chicago.il.us>]
|
| 644 |
|
| 645 |
*) Fix the detection of INT64_C() when defined in <stdint.h>.
|
| 646 |
[Joe Orton <joe@manyfish.co.uk>]
|
| 647 |
|
| 648 |
*) Don't use whitespace before preprocessor directives in the configure
|
| 649 |
logic. Such whitespace breaks with some older preprocessors; a
|
| 650 |
particularly nasty break occurs on Tru64 4.0f where APR_CHECK_DEFINE
|
| 651 |
will always succeed. [Joe Orton <joe@manyfish.co.uk>]
|
| 652 |
|
| 653 |
*) Add APR_IPV4_ADDR_OK flag to apr_sockaddr_info_get() to allow
|
| 654 |
apps to avoid lookup of IPv6 address if IPv4 address is sufficient.
|
| 655 |
(New APR_IPV6_ADDR_OK flag is similar.) [Jeff Trawick]
|
| 656 |
|
| 657 |
*) Disable IPv6 support on Darwin. The current IPv6 support has a
|
| 658 |
problem in getnameinfo() which breaks certain applications.
|
| 659 |
[Sander Temme <sctemme@covalent.net>, Jeff Trawick]
|
| 660 |
|
| 661 |
*) Support for SCO OpenServer Release 5 [Kean Johnston <jkj@caldera.com>]
|
| 662 |
|
| 663 |
*) Faster (inline and mutex-free) implementations of all apr_atomic
|
| 664 |
operations for Linux/x86 (requires a 486 or later; to enable,
|
| 665 |
configure APR with --enable-nonportable-atomics=yes ) [Brian Pane]
|
| 666 |
|
| 667 |
*) Add --bindir option to apr-config. [Justin Erenkrantz]
|
| 668 |
|
| 669 |
*) Begin to rehash the test suite. There is now a new test program called
|
| 670 |
testall. This program currently runs testtime and teststr with the
|
| 671 |
CuTest framework. The stand-alone programs for testtime and teststr
|
| 672 |
can be built, but only if a special flag is specified when building.
|
| 673 |
[Ryan Bloom]
|
| 674 |
|
| 675 |
*) Fix a broken check for a failure to read from the random device file.
|
| 676 |
PR 12615 [tenthumbs@cybernex.net]
|
| 677 |
|
| 678 |
*) Print informative link errors on Darwin. [Justin Erenkrantz]
|
| 679 |
|
| 680 |
Changes with APR 0.9.1
|
| 681 |
|
| 682 |
*) Fixed usage of alloca in apr_poll() on Tru64
|
| 683 |
[Dave Hill <ddhill@zk3.dec.com>]
|
| 684 |
|
| 685 |
*) Running "make check" in the toplevel directory or the test/ directory
|
| 686 |
will build and run all test programs. [Aaron Bannert]
|
| 687 |
|
| 688 |
*) Add apr_array_pop(). [Justin Erenkrantz]
|
| 689 |
|
| 690 |
*) Fixed the native SPARC v8plus version of apr_atomic_dec
|
| 691 |
to match the semantics of the default C version [Brian Pane]
|
| 692 |
|
| 693 |
Changes with APR 0.9.0
|
| 694 |
|
| 695 |
*) If the length argument to apr_snprintf is 0, then we should return the
|
| 696 |
length that the string would be if we actually were going to fill it out.
|
| 697 |
However, if the length argument is 0, we can also accept a NULL string.
|
| 698 |
Also, added a test case for this. [Ryan Bloom]
|
| 699 |
|
| 700 |
*) Printing a string with apr_snprintf can seg fault, if a precision is
|
| 701 |
specified for the string, and the string being printed doesn't have a
|
| 702 |
trailing '\0'. Fix that seg fault by not calling strlen if a precision
|
| 703 |
is specified when printing a string. Also add a test to the test suite
|
| 704 |
for this case.
|
| 705 |
[R Samuel Klatchko <rsk@brightmail.com>]
|
| 706 |
|
| 707 |
*) handle leak related to threads on Windows2000/XP
|
| 708 |
[INOUE Seiichiro <inoue@ariel-networks.com>]
|
| 709 |
|
| 710 |
*) Includes moved to INCLUDEDIR/apr-{major} (e.g. /usr/include/apr-0)
|
| 711 |
[Greg Stein]
|
| 712 |
|
| 713 |
*) libtool versioning is used to give the library sonames a real
|
| 714 |
value. The libraries will be libapr-{major}.so.0.{minor}.{patch}
|
| 715 |
[Greg Stein]
|
| 716 |
|
| 717 |
*) Fix apr_tokenize_to_argv() to remove the escape character
|
| 718 |
(backslash) from the argument tokens. PR 11793 [Paul J. Reder]
|
| 719 |
|
| 720 |
*) Add APR_PARSE_ARGUMENTS and APR_LAYOUT macros for better layout
|
| 721 |
support. [Thom May]
|
| 722 |
|
| 723 |
*) Add parallel-apr layout which utilizes the major version number in
|
| 724 |
directories and library names. [Justin Erenkrantz]
|
| 725 |
|
| 726 |
*) Add a version number to the library name (e.g. libapr-1.so) so
|
| 727 |
that apps can do things like: -lapr-1 or -lapr-2, depending on
|
| 728 |
which version they want to use and link against. [Greg Stein]
|
| 729 |
|
| 730 |
*) Add --version to apr-config so that apps can retrieve the version
|
| 731 |
information of the (installed) APR. [Greg Stein]
|
| 732 |
|
| 733 |
*) Remove the APRVARS system; apps should use apr-config. [Greg Stein]
|
| 734 |
|
| 735 |
*) EBCDIC: fix compile failure in strings/apr_strings.c in
|
| 736 |
httpd-2.0.40 with the following error message:
|
| 737 |
CANNOT COMPILE apr_strtoi64(), only ASCII and EBCDIC supported
|
| 738 |
|
| 739 |
*) In apr_signal_thread() remove synchronous signals from the mask
|
| 740 |
passed to sigwait(). It is never valid for them to be there.
|
| 741 |
Some platforms silently ignore them, some return EINVAL, some
|
| 742 |
don't process it as desired. [Jeff Trawick]
|
| 743 |
|
| 744 |
*) Change config.nice generation to always expand variables.
|
| 745 |
[Justin Erenkrantz]
|
| 746 |
|
| 747 |
*) Renamed apr_strtoll()/apr_atoll() to follow int64 convention,
|
| 748 |
so these new helpers are apr_strtoi64/apr_atoi64(), since
|
| 749 |
'll' (long long) is a nonportable and aspecific construct.
|
| 750 |
Used ac/m4 tests to choose the appropriate fn behind strtoi64.
|
| 751 |
[William Rowe]
|
| 752 |
|
| 753 |
*) don't perform a strlen on that name value without checking for NULL
|
| 754 |
first (in getopt)
|
| 755 |
[David Waite <mass@akuma.org>, Ian Holsman]
|
| 756 |
|
| 757 |
*) Added apr_strtoll() and apr_atoll() to strings lib.
|
| 758 |
[Shantonu Sen <ssen@apple.com>, Wilfredo Sanchez]
|
| 759 |
|
| 760 |
*) Added a lightweight internal index to apr_table_t to speed up
|
| 761 |
table lookup operations [Brian Pane]
|
| 762 |
|
| 763 |
*) initalize handle members to invalid before calling createprocess
|
| 764 |
on win32 [Rob Saccoccio <robs@fastcgi.com>]
|
| 765 |
|
| 766 |
*) Removed apr/i18n to apr-util/xlate for inclusion of apr-iconv
|
| 767 |
as required by missing libiconv. [William Rowe]
|
| 768 |
|
| 769 |
*) Removed apr/md5 and apr/uuid into apr-util/crypto. [William Rowe]
|
| 770 |
|
| 771 |
*) Add APR_BUFFERED support to apr_os_file_put(). [Justin Erenkrantz]
|
| 772 |
|
| 773 |
*) Fix misinterpretation of timeout for select() on Win32/Netware.
|
| 774 |
Identified by [TANAKA Koichi <tanaka@ariel-networks.com>]
|
| 775 |
|
| 776 |
*) Re-write apr_poll() on Unix. This improves the performance by
|
| 777 |
giving the user back control over the memory in the pollset.
|
| 778 |
[Ryan Bloom]
|
| 779 |
|
| 780 |
*) Added APR_LIMIT_NOFILE option to apr_procattr_limit_set() to
|
| 781 |
control the file descriptor limit on platforms that support
|
| 782 |
RLIMIT_NOFILE. [Brian Pane]
|
| 783 |
|
| 784 |
*) FreeBSD: change apr_sendfile to accomodate a 4.6 kernel patch.
|
| 785 |
[Greg Ames]
|
| 786 |
|
| 787 |
*) Faster code for the apr_table get/set functions [Brian Pane]
|
| 788 |
|
| 789 |
*) Fix the userid functions on Irix to handle the way that Irix
|
| 790 |
reports a failure from getpwnam_r(). PR 10095.
|
| 791 |
[Robert I. Cowles <ric@cs.uregina.ca>, Jeff Trawick]
|
| 792 |
|
| 793 |
*) apr_table_do() and apr_table_vdo() now return an int rather than
|
| 794 |
void to indicate whether or not any of its iterations returned 0.
|
| 795 |
[Cliff Woolley]
|
| 796 |
|
| 797 |
*) Fix the definition of union semun so that it is valid on systems
|
| 798 |
where sizeof(long) != sizeof(int). This resolves a hang on
|
| 799 |
HP-UX/Itanium.
|
| 800 |
[Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>]
|
| 801 |
|
| 802 |
*) Correct shared library support on Darwin to not fatally error out
|
| 803 |
when a shared library does not exist. [Justin Erenkrantz]
|
| 804 |
|
| 805 |
*) Added optimized atomic CAS support for Linux/x86 (available only
|
| 806 |
when APR is configured with --enable-nonportable-atomics=yes)
|
| 807 |
[Brian Pane]
|
| 808 |
|
| 809 |
*) Fix a compile error in the EGD support in rand.c on older Solaris
|
| 810 |
versions. PR 9976 [Jim Morris <jmorris@sunflower.com>]
|
| 811 |
|
| 812 |
*) Fixed apr_file_seek() to unset the eof_hit flag. [Stas Bekman]
|
| 813 |
|
| 814 |
*) Removed --disable-atomics flag and added --enable-nonportable-atomics,
|
| 815 |
thereby defaulting to portable binaries on those systems that could
|
| 816 |
be optimized at the expense of portability. PR: 9507 [Aaron Bannert]
|
| 817 |
|
| 818 |
*) Added 2 additional lock functions: apr_proc_mutex_name and
|
| 819 |
apr_proc_mutex_defname which returns the type name of the mutex
|
| 820 |
(eg: "sysvsem") as well as the default mutex type (APR_LOCK_DEFAULT).
|
| 821 |
Mostly useful under Unix were the locktypes are selectable.
|
| 822 |
[Jim Jagielski]
|
| 823 |
|
| 824 |
*) Fixed apr_generate_random_bytes() for Win32 on Win NT or 9x by
|
| 825 |
dropping the 0x40 bit (CRYPT_SILENT) for earlier OS'es.
|
| 826 |
PR 9286 [William Rowe]
|
| 827 |
|
| 828 |
*) Added --with-devrandom=[DEV] configure flag which allows a particular
|
| 829 |
"/dev/random"-compatible device to be specified, overriding the
|
| 830 |
default search path (/dev/random then /dev/arandom then /dev/urandom).
|
| 831 |
Also, if --with-egd=<path> is specified, it now implies
|
| 832 |
--without-devrandom. [Cliff Woolley]
|
| 833 |
|
| 834 |
*) Darwin/Mac OS X: Don't leave zombie processes when the app calls
|
| 835 |
apr_signal(SIGCHLD, SIG_IGN). This fixes a problem with Apache's
|
| 836 |
mod_cgid. PR 9168. [Jeff Trawick]
|
| 837 |
|
| 838 |
*) Win32: Fix bug where apr_sendfile() was incorrectly returning
|
| 839 |
APR_SUCCESS on a TransmitFile call that was interrupted by
|
| 840 |
the client closing its end of the connection. Always call
|
| 841 |
GetOverlappedResults() to get results of async TransmitFile()
|
| 842 |
completion notification. [Bill Stoddard]
|
| 843 |
|
| 844 |
*) Renamed APR_XtOffset -> APR_OFFSET and APR_XtOffsetOf -> APR_OFFSETOF.
|
| 845 |
[Cliff Woolley]
|
| 846 |
|
| 847 |
*) Cygwin: the unix version of apr_file_open() must respect the
|
| 848 |
APR_BINARY flag if the underlying platform requires it (in
|
| 849 |
which case we assume O_BINARY is defined). PR 9185.
|
| 850 |
[Cliff Woolley]
|
| 851 |
|
| 852 |
*) Linux, AIX: Use crypt_r() instead of crypt() because the native
|
| 853 |
crypt() is not thread-safe. The misuse of crypt() led to
|
| 854 |
intermittent failures with Apache basic authentication when crypt
|
| 855 |
passwords were being used. [Jeff Trawick]
|
| 856 |
|
| 857 |
*) AIX: Global mutexes don't need an intraprocess mutex when SysV
|
| 858 |
sems are used for the crossprocess mutex.
|
| 859 |
Darwin: The same optimization was applied for Posix sems.
|
| 860 |
[Jeff Trawick]
|
| 861 |
|
| 862 |
*) Fix a problem with global mutexes on OS/390 when something other
|
| 863 |
than the default mechanism (SysV sem) was used. The mutexes didn't
|
| 864 |
necessarily block out other threads in the same process.
|
| 865 |
[Jeff Trawick]
|
| 866 |
|
| 867 |
*) Fixed apr_strfsize formatting of values over 1 gig
|
| 868 |
[Matsuzaki Yoshinobu <maz@iij.ad.jp>]
|
| 869 |
|
| 870 |
*) Renamed --disable-atomics as --disable-optimized-atomics,
|
| 871 |
since it doesn't really disable the atomics. [Aaron Bannert]
|
| 872 |
|
| 873 |
*) Converted apr_pcalloc to a macro [Brian Pane]
|
| 874 |
|
| 875 |
*) Fixed APR_STATUS_IS_ETIMEDOUT macro.
|
| 876 |
[Dagfinn Aarvaag <dagfinn.aarvaag@beepscience.com>]
|
| 877 |
|
| 878 |
*) Add --disable-atomics switch to override our handcoded assembly
|
| 879 |
optimizations. Note that this has no effect if your operating
|
| 880 |
system has a userspace atomic interface. [Justin Erenkrantz]
|
| 881 |
|
| 882 |
*) Remove Linux atomic support since it does not have a usable
|
| 883 |
userspace atomic interface. [Justin Erenkrantz]
|
| 884 |
|
| 885 |
*) Don't require that the DNS can map 127.0.0.1 when checking for
|
| 886 |
the presence/usability of getnameinfo(). PR 7642. [Jeff Trawick]
|
| 887 |
|
| 888 |
*) Remove APR_WANT_SIGNAL from apr_want.h because code must include
|
| 889 |
apr_signal.h in order to get consistent definitions. [Roy Fielding]
|
| 890 |
|
| 891 |
*) Don't try to use /dev/zero and mmap on platforms that don't
|
| 892 |
support that (such as HP-UX). PR 8537. [Justin Erenkrantz]
|
| 893 |
|
| 894 |
*) Reduce the number of apr_sendfile calls on AIX and OS/390 by
|
| 895 |
remembering when the kernel tells us the next one will block.
|
| 896 |
[Jeff Trawick]
|
| 897 |
|
| 898 |
*) Reduce the number of apr_sendfile calls on FreeBSD by remembering
|
| 899 |
when the kernel tells us the next one will block. [Greg Ames]
|
| 900 |
|
| 901 |
*) To support modules like PHP, which implement their own
|
| 902 |
loaded extensions, Darwin needs to place their public
|
| 903 |
symbols in the global table. [Marko Karppinen <markonen@php.net>,
|
| 904 |
Jim Jagielski]
|
| 905 |
|
| 906 |
*) Rename apr_get_groupname to apr_group_name_get.
|
| 907 |
[Thom May <thom@planetarytramp.net>]
|
| 908 |
|
| 909 |
*) Allow VPATH builds to properly build dependencies and switch to
|
| 910 |
a .deps dependency model to mimic httpd-2.0. [Justin Erenkrantz]
|
| 911 |
|
| 912 |
*) Tru64: Stop leaving zombies in APR apps like mod_cgid which
|
| 913 |
tell APR to ignore SIGCHLD.
|
| 914 |
[Dave Hill <David.D.Hill@Compaq.com>]
|
| 915 |
|
| 916 |
*) Ensure that the ATOMIC_HASH can not be negative.
|
| 917 |
[Joe Orton <jorton@redhat.com>]
|
| 918 |
|
| 919 |
*) Fix a problem with eof reporting with Unix file I/O on
|
| 920 |
unbuffered files. [Stas Bekman <stas@stason.org>]
|
| 921 |
|
| 922 |
*) Rename apr_explode_time to apr_time_exp_tz.
|
| 923 |
[Thom May <thom@planetarytramp.net>]
|
| 924 |
|
| 925 |
*) Rename apr_explode_localtime to apr_time_exp_lt.
|
| 926 |
[Thom May <thom@planetarytramp.net>]
|
| 927 |
|
| 928 |
*) Set precompiler for Solaris atomics when using GNU binutils.
|
| 929 |
PR 7876. [solomon@conceptshopping.com (Marvin Solomon)]
|
| 930 |
|
| 931 |
*) AIX: Fix breakage with 64-bit builds on versions of AIX prior
|
| 932 |
to 5L. PR 7957 [Jeff Trawick]
|
| 933 |
|
| 934 |
*) On socket write functions (apr_sendfile, apr_send, apr_sendv),
|
| 935 |
added a select to wait for writability on the socket if the
|
| 936 |
previous write was incomplete. [Jeff Trawick, Brian Pane]
|
| 937 |
|
| 938 |
*) Deprecated the apr_lock.h API. Please see the following files
|
| 939 |
for the improved thread and process locking and signaling:
|
| 940 |
apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h,
|
| 941 |
apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert]
|
| 942 |
|
| 943 |
*) Fix some daylight savings time breakage on (at least) AIX,
|
| 944 |
Solaris, and HP-UX. [Jeff Trawick]
|
| 945 |
|
| 946 |
*) Added support for Posix semaphores (sem_open, et.al.) for mutex
|
| 947 |
locking. We use named semaphores in this implementation. The
|
| 948 |
default priority is between pthread and sysvsem.
|
| 949 |
[Jim Jagielski]
|
| 950 |
|
| 951 |
*) Get flock-based mutexes to work in apps like Apache. Use the
|
| 952 |
same permissions on flock- and fcntl-based mutexes as Apache
|
| 953 |
1.3. [Jeff Trawick]
|
| 954 |
|
| 955 |
*) Fix apr-config so that it will not attempt to cd to a non-existent
|
| 956 |
directory. [Justin Erenkrantz]
|
| 957 |
|
| 958 |
*) Change the ordering of the apr_lock implementation method to
|
| 959 |
better match what's done in Apache 1.3. The ordering is
|
| 960 |
now (highest to lowest): pthread -> sysvsem -> fcntl -> flock.
|
| 961 |
[Jim Jagielski]
|
| 962 |
|
| 963 |
*) Improve detection of the INT64_C macro to prevent problems
|
| 964 |
with HP-UX's ANSI C compiler. PR 8932. [Justin Erenkrantz]
|
| 965 |
|
| 966 |
*) Make sure gethostbyname() can handle 255.255.255.255 if we
|
| 967 |
are to trust it to handle numeric address strings in
|
| 968 |
apr_sockaddr_info_get(). This fixes a problem on HP-UX
|
| 969 |
which led to an assertion failure at Apache startup when
|
| 970 |
using vhosts. [Jeff Trawick]
|
| 971 |
|
| 972 |
*) Don't mask SIGUSR2 [Jin Hong <jinh@cnet.com>]
|
| 973 |
|
| 974 |
*) Load libraries if they not MH_BUNDLE, but if they are not, it
|
| 975 |
just attempts to link them as shared libs.
|
| 976 |
[Pier Fumagalli <pier@betaversion.org>]
|
| 977 |
|
| 978 |
*) apr_atomic_dec now returns a zero value if the value of
|
| 979 |
the atomic is zero, non-zero otherwise [Ian Holsman]
|
| 980 |
|
| 981 |
*) When opening a file, only create an internal thread mutex
|
| 982 |
if APR_XTHREAD is set. [Brian Pane]
|
| 983 |
|
| 984 |
*) Move the kill_conditions enum in apr_thread_proc.h into the
|
| 985 |
APR namespace. kill_after_timeout et al have been renamed
|
| 986 |
appropriately (e.g., APR_KILL_AFTER_TIMEOUT). [Jeff Trawick]
|
| 987 |
|
| 988 |
*) Fix a segfault in apr_thread_rwlock_destroy() on Win32.
|
| 989 |
[INOUE Seiichiro <inoue@ariel-networks.com>]
|
| 990 |
|
| 991 |
*) configure now checks to see if we can change DNS timeout values
|
| 992 |
[Ian Holsman]
|
| 993 |
|
| 994 |
*) Fix a bug in apr_file_seek() on Unix when using buffered
|
| 995 |
files. PR 10003 [Jeff Trawick]
|
| 996 |
|
| 997 |
*) Small table performance optimization: eliminate the
|
| 998 |
zero-fill of newly allocated elements when expanding
|
| 999 |
a table's size. [Brian Pane]
|
| 1000 |
|
| 1001 |
*) Allow APR to install its generated libtool(s) via the
|
| 1002 |
--with-installbuilddir option (defaults to ${datadir}/build).
|
| 1003 |
[Justin Erenkrantz]
|
| 1004 |
|
| 1005 |
*) renames: apr_ansi_time_to_apr_time becomes apr_time_ansi_put
|
| 1006 |
ap_exploded_time_t becomes apr_time_exp_t
|
| 1007 |
[Thom May <thom@planetarytramp.net>]
|
| 1008 |
|
| 1009 |
*) Add the APR_FILE_NOCLEANUP flag to apr_file_open().
|
| 1010 |
Adding the flag will prevent the file from being closed
|
| 1011 |
when the pool passed in on apr_file_open() is destroyed.
|
| 1012 |
This feature is useful when using apr_os_file_get|put()
|
| 1013 |
to manage the apr_os_file_t in apr_file_t (ie, file handle
|
| 1014 |
caching in the HTTP server) [Bill Stoddard]
|
| 1015 |
|
| 1016 |
*) Win32: Fix APR_XTHREAD problems in apr_file_read()
|
| 1017 |
and apr_file_write(). Multiple threads were using the
|
| 1018 |
same overlapped structure and io event handle created
|
| 1019 |
in the open call, which could cause unpredictable
|
| 1020 |
file i/o results. [Bill Stoddard]
|
| 1021 |
|
| 1022 |
*) Win32: apr_proc_mutex_trylock and apr_proc_mutex_lock were
|
| 1023 |
incorrectly returning APR_BUSY if the lock was previously
|
| 1024 |
held by a thread that exited before releasing the lock
|
| 1025 |
(ie, if the process holding the lock segfaults). The MSDN
|
| 1026 |
doc says when WaitForSingleObject returns WAIT_ABANDONED,
|
| 1027 |
the calling thread takes ownership of the mutex, so these
|
| 1028 |
two routines should return APR_SUCCESS in this case, not
|
| 1029 |
APR_BUSY. [Bill Stoddard]
|
| 1030 |
|
| 1031 |
*) Added a new m4 function APR_EXPAND_VAR that will iteratively
|
| 1032 |
interpolate the contents of a variable, such as $sysconfdir,
|
| 1033 |
for use in a borne script. [Aaron Bannert]
|
| 1034 |
|
| 1035 |
*) apr-atomic support for old-sparc's and gas on solaris
|
| 1036 |
[Dale Ghent <daleg@elemental.org>, jean-frederic clere, Ian Holsman]
|
| 1037 |
|
| 1038 |
*) Change apr_proc_detach to take a parameter that can enable/disable
|
| 1039 |
automatic forking (aka, to "daemonize").
|
| 1040 |
[Jos Backus <josb@cncdsl.com>, Aaron Bannert]
|
| 1041 |
|
| 1042 |
*) Implement apr_global_lock_foo() on Win32
|
| 1043 |
[Bill Stoddard]
|
| 1044 |
|
| 1045 |
*) Fix select() argument call when waiting for IO. PR 9674.
|
| 1046 |
[David MacKenzie <djm@pix.net>]
|
| 1047 |
|
| 1048 |
*) Add a new lock API (apr_global_mutex_t) to provide guaranteed
|
| 1049 |
cross-process AND cross-thread mutual exclusion. [Aaron Bannert]
|
| 1050 |
|
| 1051 |
*) Note: We are in the process of deprecating the apr_lock.h API.
|
| 1052 |
The new and improved lock/synchronization APIs now reside
|
| 1053 |
in apr_thread_mutex.h, apr_proc_mutex.h, apr_thread_rwlock.h,
|
| 1054 |
and apr_thread_cond.h. [Aaron Bannert]
|
| 1055 |
|
| 1056 |
*) Enable autoconf 2.52{f,g} build support.
|
| 1057 |
[Blair Zajac <blair@orcaware.com>]
|
| 1058 |
|
| 1059 |
*) Added new functions for atomic operations. These are experimental
|
| 1060 |
at the moment, so use in apps is discouraged [Ian Holsman]
|
| 1061 |
|
| 1062 |
*) Correct serious problems with the Win32 apr_file_dup2
|
| 1063 |
and apr_file_open_stdxxx() fns. [William Rowe]
|
| 1064 |
|
| 1065 |
*) Begin implementation of the WinCE port.
|
| 1066 |
[Mladen Turk <mturk@mappingsoft.com>]
|
| 1067 |
|
| 1068 |
*) Disable SHMEM_MMAP_ZERO on HPUX 11.x where it is not supported.
|
| 1069 |
Use SHMEM_SHMGET_ANON instead. [Aaron Bannert]
|
| 1070 |
|
| 1071 |
*) Fix a few attempts to add to a void * ptr in the Unix shared
|
| 1072 |
memory support code. PR #9710 Per Ekman [pek@pdc.kth.se]
|
| 1073 |
|
| 1074 |
*) In the Linux apr_sendfile(), fix the types of some parameters
|
| 1075 |
to apr_send() and apr_recv(). Breakage was seen in 64-bit mode
|
| 1076 |
on s/390. PR #9712 [Neale.Ferguson@SoftwareAG-usa.coom]
|
| 1077 |
|
| 1078 |
*) added APR_PROGRAM_ENV and APR_PROGRAM_PATH options for starting
|
| 1079 |
processes via apr_proc_create() [Greg Stein]
|
| 1080 |
|
| 1081 |
*) Deprecated apr_pool_free_blocks_num_bytes() [Sander Striker]
|
| 1082 |
|
| 1083 |
*) Add --enable-pool-debug to make it easier for people to
|
| 1084 |
enable pool debug mode. Removed the APR_POOL_DEBUG_VERBOSE
|
| 1085 |
define that was previously being used. [Sander Striker]
|
| 1086 |
|
| 1087 |
*) Changed the apr_file_dup2() function prototype. It can only
|
| 1088 |
take and reuse an apr_file_t*, and will no longer create one
|
| 1089 |
if *new_file == NULL (use apr_file_dup() for that). [Aaron Bannert]
|
| 1090 |
|
| 1091 |
*) Implemented name-based shared memory on Unix. [Aaron Bannert]
|
| 1092 |
|
| 1093 |
*) Fix spelling mistakes in APRDesign.
|
| 1094 |
[Blair Zajac <blair@orcaware.com>]
|
| 1095 |
|
| 1096 |
*) Ensure that apr_file_mktemp creates the temp file if it isn't there.
|
| 1097 |
[John Sterling <sterling@covalent.net>]
|
| 1098 |
|
| 1099 |
*) Make sure to pre-mark anon SysV shared memory segments as
|
| 1100 |
removed. [Jim Jagielski]
|
| 1101 |
|
| 1102 |
*) Add --with-efence to allow usage of Electric Fence.
|
| 1103 |
[Justin Erenkrantz]
|
| 1104 |
|
| 1105 |
*) Updated the pools debug code. Check if a pool is still
|
| 1106 |
valid on the most common apr_pool_xxx functions.
|
| 1107 |
Fix the way APR_POOL_DEBUG_VERBOSE was using stderr.
|
| 1108 |
Make the output somewhat nicer in this debug mode. [Sander Striker]
|
| 1109 |
|
| 1110 |
*) Add new define APR_POOL_DEBUG_VERBOSE which spits out info
|
| 1111 |
about pool creation/destruction [Ian Holsman]
|
| 1112 |
|
| 1113 |
*) Fix GMT offset adjustments for platforms that do not have native
|
| 1114 |
GMT offset adjustments. [Jon Travis <jtravis@covalent.net>]
|
| 1115 |
|
| 1116 |
*) Add new apr_shm_t API and remove old apr_shmem_t API. The new
|
| 1117 |
API handles both anonymous and name-based shared memory. Anonymous
|
| 1118 |
shared memory segments are only usable on systems with process
|
| 1119 |
inheritance, and so the new API with name-based segments is
|
| 1120 |
usable on platforms like Win32. [Aaron Bannert and William Rowe
|
| 1121 |
with much help from Justin Erenkrantz and Sander Striker]
|
| 1122 |
|
| 1123 |
*) Add --with-egd to support EGD-compatible entropy gatherers for
|
| 1124 |
those platforms without native support. [Justin Erenkrantz]
|
| 1125 |
|
| 1126 |
*) apr_lock_create() and apr_proc_mutex_create() now have an
|
| 1127 |
additional parameter for specifying the lock mechanism.
|
| 1128 |
apr_lock_create_np() and apr_proc_mutex_create_np() have been
|
| 1129 |
removed. [Jeff Trawick]
|
| 1130 |
|
| 1131 |
*) Change the prototype of apr_thread_exit() so that the apr_status_t
|
| 1132 |
is no longer a pointer. It was difficult and sometimes hazardous
|
| 1133 |
to return a apr_status_t* at times, and this allows us to return
|
| 1134 |
the APR_* error codes directly. [Aaron Bannert]
|
| 1135 |
|
| 1136 |
*) Add apr_sockaddr_equal() for comparing APR sockaddrs.
|
| 1137 |
[Jeff Trawick]
|
| 1138 |
|
| 1139 |
*) Win32: apr_sendfile() should return APR_ENOTIMPL if
|
| 1140 |
oslevel < WINNT. [Bill Stoddard]
|
| 1141 |
|
| 1142 |
*) Put new pools code in place which allows applications to
|
| 1143 |
switch off locking on pools operations in case a pool is
|
| 1144 |
guaranteed to never being used in more than one thread
|
| 1145 |
at the same time. We've seen a significant performance
|
| 1146 |
improvement over the old code. [Sander Striker]
|
| 1147 |
|
| 1148 |
*) Add apr-config - a shell script to allow third-party programs
|
| 1149 |
easy access to APR configuration parameters. [Justin Erenkrantz]
|
| 1150 |
|
| 1151 |
*) Add find_apr.m4 to allow third-party programs that use APR to
|
| 1152 |
have a standard m4 macro for detection. [Greg Stein]
|
| 1153 |
|
| 1154 |
*) SEGV in apr_table_overlap [Brian Pane]
|
| 1155 |
|
| 1156 |
*) apr_array_copy speedup by removing the zero-fill [Brian Pane]
|
| 1157 |
|
| 1158 |
*) Fix build breakage on systems with getaddrinfo() but not
|
| 1159 |
gai_strerror() (e.g., RedHat 5.2). [Jeff Trawick]
|
| 1160 |
|
| 1161 |
*) Fix a problem in Unix apr_file_dup() which caused 0 to be returned
|
| 1162 |
by the first read. [Stas Bekman <stas@stason.org>]
|
| 1163 |
|
| 1164 |
*) Fix a buglet that caused APR_FILE_BASED_SHM to be set inadvertently
|
| 1165 |
on some platforms (e.g., Linux, AIX). [Jeff Trawick]
|
| 1166 |
|
| 1167 |
*) Speed up apr_table operations by using a cache/checksum and a
|
| 1168 |
red-black tree in the overlay.
|
| 1169 |
[Brian Pane <bpane@pacbell.net>, Cliff Woolley]
|
| 1170 |
|
| 1171 |
*) Speed up apr_pool_userdata_set[n] by letting hash_set figure out
|
| 1172 |
the strings length. [Brian Pane <bpane@pacbell.net>]
|
| 1173 |
|
| 1174 |
*) New function apr_mmap_dup. This is called in the mmap_setaside.
|
| 1175 |
[Brian Pane <bpane@pacbell.net>]
|
| 1176 |
|
| 1177 |
*) Speed up the apr_hash_t implementation's handling of APR_HASH_KEY_STRING.
|
| 1178 |
[Brian Pane <bpane@pacbell.net>]
|
| 1179 |
|
| 1180 |
*) Tweak apr_gethostname() so that it detects truncation of the
|
| 1181 |
name and returns an error. [Jeff Trawick]
|
| 1182 |
|
| 1183 |
*) Fix bug in Darwin DSO code. [Sander Temme]
|
| 1184 |
|
| 1185 |
*) Fix apr_setup_signal_thread() to grab the right error code from
|
| 1186 |
a sigprocmask() failure. This only affects platforms that use
|
| 1187 |
sigprocmask() in lieu of pthread_sigmask(). [Jeff Trawick]
|
| 1188 |
|
| 1189 |
*) Fix the Unix HAVE_POLL flavor of apr_poll_socket_mask() so that
|
| 1190 |
it doesn't segfault. Avoid some wasted storage in a poll-related
|
| 1191 |
APR structure. [INOUE Seiichiro <inoue@ariel-networks.com>]
|
| 1192 |
|
| 1193 |
*) Fix apr_setup_signal_thread() so that threads don't block
|
| 1194 |
synchronous signals (e.g., SIGSEGV). It is a programming error
|
| 1195 |
to do so, and some platforms (e.g., Solaris, AIX) don't call any
|
| 1196 |
registered signal handler when such signals are blocked.
|
| 1197 |
[Jeff Trawick]
|
| 1198 |
|
| 1199 |
*) Change the apr_table_elts macro so that it provides access via
|
| 1200 |
a const pointer instead of a non-const pointer.
|
| 1201 |
[Brian Pane <bpane@pacbell.net>]
|
| 1202 |
|
| 1203 |
*) Use strerror_r() where available, since strerror() isn't always
|
| 1204 |
thread-safe. Example systems where strerror() isn't thread-safe:
|
| 1205 |
Linux+glibc, AIX [Jeff Trawick]
|
| 1206 |
|
| 1207 |
*) Fix some file cleanup problems in apr_proc_create() which could
|
| 1208 |
result in the pipes for stdin/stdout/stderr being closed
|
| 1209 |
immediately. [Jeff Trawick]
|
| 1210 |
|
| 1211 |
*) New functions apr_hash_[merge|copy], change to overlay fn
|
| 1212 |
so that it calls merge, which does a inline iteration instead
|
| 1213 |
of calling the iterator function. [Brian Pane <bpane@pacbell.net>]
|
| 1214 |
|
| 1215 |
*) Introduce the apr_pool_userdata_setn() variant that doesn't
|
| 1216 |
strdup the key. Allows both the _setn() and _set() variant to
|
| 1217 |
accept NULL for the cleanup. [Brian Pane <bpane@pacbell.net>]
|
| 1218 |
|
| 1219 |
*) Re-vamp the apr_proc_wait and apr_proc_wait_all functions. We
|
| 1220 |
now return the exit code from the program and a reason that the
|
| 1221 |
program died, either normal exit or signalled.
|
| 1222 |
[Jeff Trawick and Ryan Bloom]
|
| 1223 |
|
| 1224 |
*) Implement portable accessors for proc mutex. These are equivalent
|
| 1225 |
to apr_os_lock_get/set, but they work for apr_proc_mutex_t types
|
| 1226 |
instead. [Aaron Bannert]
|
| 1227 |
|
| 1228 |
*) Added a new parameter to apr_thread_mutex_init(). Now, by default,
|
| 1229 |
thread mutexes are not nested (sometimes called "recursive"). To
|
| 1230 |
enable nested mutexes, a flag must be passed to the init script.
|
| 1231 |
Non-nested mutexes are much faster than nested ones.
|
| 1232 |
[Aaron Bannert]
|
| 1233 |
|
| 1234 |
*) read_with_timeout in apr/file_io/win32/readwrite.c incorrectly
|
| 1235 |
returned APR_SUCCESS instead of APR_EOF when PeekNamedPipe failed
|
| 1236 |
and the result from GetLastError() was ERROR_BROKEN_PIPE. Because
|
| 1237 |
of this, the pipe wasn't closed as soon as it could be.
|
| 1238 |
[Tim Costello <tim.costello@zcmgroup.com.au>]
|
| 1239 |
|
| 1240 |
*) Fix a problem in the Win32 pipe creation code called by
|
| 1241 |
apr_proc_create(): It didn't register cleanups for either the
|
| 1242 |
read or the write ends of the pipe, so file handles (and event
|
| 1243 |
handles for pipes with asynchronous I/O mode set) are never
|
| 1244 |
closed. [Tim Costello <tim.costello@zcmgroup.com.au>]
|
| 1245 |
|
| 1246 |
*) Add support for QNX 6. [J.T. Conklin <jtc@acorntoolworks.com>]
|
| 1247 |
|
| 1248 |
*) We now create exports.c and export_vars.h, which in turn create
|
| 1249 |
exports.c. From this we generate two more files with different
|
| 1250 |
purposes: apr.exp - list of exported symbols; and exports.lo
|
| 1251 |
(exports.o) - an object file that can be linked with an executable
|
| 1252 |
to force resolution of all apr symbols. [Aaron Bannert]
|
| 1253 |
|
| 1254 |
*) Add the apr_thread_cond_timedwait function to the condition
|
| 1255 |
variable API. [Aaron Bannert]
|
| 1256 |
|
| 1257 |
*) Fixed apr_file_mktemp on systems without mkstemp (Win32, etc).
|
| 1258 |
[Mladen Turk, Cliff Woolley]
|
| 1259 |
|
| 1260 |
*) Fix a segfault in apr_poll_clear on Unix. Also fix the logic
|
| 1261 |
for the case where there are multiple events ORed together in
|
| 1262 |
the events list. [Jamshid Mahdavi <mahdavi@volera.com>]
|
| 1263 |
|
| 1264 |
*) Files opened on Unix with the flag APR_DELONCLOSE are now
|
| 1265 |
not unlinked until they are actually closed, rather than as
|
| 1266 |
soon as they're opened. The old approach worked but made
|
| 1267 |
handling temp files harder. [Cliff Woolley]
|
| 1268 |
|
| 1269 |
*) Fix potential segfault when closing a file on Unix. If
|
| 1270 |
apr_file_close() was called and it failed, it would not
|
| 1271 |
deregister the file cleanup. Therefore the cleanup would
|
| 1272 |
be run again later on a now-invalid descriptor. [Cliff Woolley]
|
| 1273 |
|
| 1274 |
*) Introduce apr_pool_lock for debugging, in combination with
|
| 1275 |
ALLOC_USE_MALLOC + DEBUG_WITH_MPROTECT. Only implemented
|
| 1276 |
on Win32 today, very effective for debugging pool constness.
|
| 1277 |
[William Rowe]
|
| 1278 |
|
| 1279 |
*) Optimize apr_pstrcat by caching lengths of first 6 strings
|
| 1280 |
[Brian Pane <bpane@pacbell.net>]
|
| 1281 |
|
| 1282 |
*) Add pool accessors to the apr_thread_mutex_t datatype.
|
| 1283 |
[Aaron Bannert <aaron@clove.org>]
|
| 1284 |
|
| 1285 |
*) Add the apr_file_mktemp function. This creates and opens a
|
| 1286 |
temporary file, for use by the program. This file is created
|
| 1287 |
delete_on_close. The initial implementation only works on
|
| 1288 |
Unix, but Windows is coming soon. [Ryan Bloom]
|
| 1289 |
|
| 1290 |
*) Make the unix version of apr_proc_wait_all_procs a simple wrapper
|
| 1291 |
around apr_proc_wait, and which extracts the exit code from the
|
| 1292 |
status returned by waitpid.
|
| 1293 |
[Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
|
| 1294 |
|
| 1295 |
*) Add process locking API to APR. [Aaron Bannert <aaron@clove.org>]
|
| 1296 |
|
| 1297 |
*) Add condition variables for Windows. [Ryan Bloom]
|
| 1298 |
|
| 1299 |
*) Add condition variables to the APR set of locking functions.
|
| 1300 |
This does Unix, and provides stubs for all other platforms.
|
| 1301 |
[Aaron Bannert <aaron@clove.org>]
|
| 1302 |
|
| 1303 |
*) Don't search for IPv6 names in apr_sockaddr_info_get() if the
|
| 1304 |
application doesn't specify the family (i.e., the application
|
| 1305 |
passes in AF_UNSPEC) and APR isn't built with IPv6 support.
|
| 1306 |
[Jeff Trawick]
|
| 1307 |
|
| 1308 |
*) Fix the API for the apr_proc_create() call on Win32. Several
|
| 1309 |
bad assumptions are gone, including a mismatch between unix and
|
| 1310 |
win32, where win32 was defaulting to create detached. Also fixes
|
| 1311 |
the apr_proc_t's pid member to a real pid (identity that works
|
| 1312 |
across processes) instead of the handle (which is a new hproc
|
| 1313 |
member value.) [William Rowe]
|
| 1314 |
|
| 1315 |
*) Modify the external apr_filepath_get() fn to take a flags arg,
|
| 1316 |
currently only for APR_FILEPATH_NATIVE. This returns c:\foo
|
| 1317 |
format on Win32, and should do the same on OS2, or sys\vol:\foo
|
| 1318 |
on Netware. Primarily for internals, but possibly useful to
|
| 1319 |
others (and it mirrors some of the other apr_filepath_*() calls.)
|
| 1320 |
[William Rowe]
|
| 1321 |
|
| 1322 |
*) Add the new thread read/write lock API to APR.
|
| 1323 |
[Aaron Bannert <aaron@clove.org>]
|
| 1324 |
|
| 1325 |
*) Add the new thread mutex lock API to APR.
|
| 1326 |
[Aaron Bannert <aaron@clove.org>]
|
| 1327 |
|
| 1328 |
*) Cache GMT offset on platforms that don't store it in the tm struct.
|
| 1329 |
This offset is normalized to be independent of daylight savings
|
| 1330 |
time. [Brian Pane <bpane@pacbell.net>]
|
| 1331 |
|
| 1332 |
*) Initial support for cygwin. [Stipe Tolj <tolj@wapme-systems.de>]
|
| 1333 |
|
| 1334 |
*) Fix a problem with buffered files on Unix. [Brian Havard]
|
| 1335 |
|
| 1336 |
*) Fix the bungling of getaddrinfo() error codes. [Jeff Trawick]
|
| 1337 |
|
| 1338 |
*) Add an apr_thread_once function to APR. This allows a
|
| 1339 |
program to ensure that a function is only called once.
|
| 1340 |
[Ryan Bloom]
|
| 1341 |
|
| 1342 |
*) APR Documentation is now in Doxygen format.
|
| 1343 |
[Ian Holsman]
|
| 1344 |
|
| 1345 |
*) Get apr_ungetc() to work with buffered files on Unix.
|
| 1346 |
[Jeff Trawick]
|
| 1347 |
|
| 1348 |
*) Fixed apr_filepath_root on Unix [William Rowe, Cliff Woolley].
|
| 1349 |
|
| 1350 |
*) Rename XtOffset to APR_XtOffset. This namespace protection
|
| 1351 |
is important to keep from conflicting with other packages.
|
| 1352 |
[Perl]
|
| 1353 |
|
| 1354 |
*) Introduce a new --disable-ipv6 option to disable IPv6 support.
|
| 1355 |
[Sterling Hughes <sterling@designmultimedia.com>, Jeff
|
| 1356 |
Trawick]
|
| 1357 |
|
| 1358 |
*) Fix the new shared memory code. We need to pass a pointer to
|
| 1359 |
an apr_file_t to apr_file_open. Also, apr_os_file_get returns
|
| 1360 |
a status value, not the OS file descriptor. [Ryan Bloom]
|
| 1361 |
|
| 1362 |
*) Fix the new shared memory configure script. The APR_DECIDE
|
| 1363 |
macros go in order, so the last set of dependancies that are
|
| 1364 |
met are the ones used. That means that when using those macros,
|
| 1365 |
options should be listed with the least desirable option first,
|
| 1366 |
and the most desirable last. The new shared memory routines did
|
| 1367 |
the opposite, so we chose the wrong shared memory option on Linux.
|
| 1368 |
[Ryan Bloom]
|
| 1369 |
|
| 1370 |
*) Move the necessary shared memory code from MM into APR and remove
|
| 1371 |
our dependency upon MM. [Justin Erenkrantz]
|
| 1372 |
|
| 1373 |
*) Get apr_lock_file and apr_unlock_file working on Windows 9x.
|
| 1374 |
[Mladen Turk, Bill Stoddard]
|
| 1375 |
|
| 1376 |
*) Make all APR pools be allocated out of the permanent pool.
|
| 1377 |
This brings APR pools back to a tree structure. There are
|
| 1378 |
no longer any way to create a pool that is not a decendant
|
| 1379 |
of the permanent_pool. [Ryan Bloom]
|
| 1380 |
|
| 1381 |
*) Wrap all functions in APR_DECLARE macro.
|
| 1382 |
[Sterling Hughes <sterling@designmultimedia.com>]
|
| 1383 |
|
| 1384 |
*) Non-blocking connects shouldn't be calling connect a second
|
| 1385 |
time. According to Single Unix, a non-blocking connect has
|
| 1386 |
succeeded when the select pops successfully. It has failed
|
| 1387 |
if the select failed. The second connect was causing 502's
|
| 1388 |
in the httpd-proxy. [John Barbee barbee@veribox.net]
|
| 1389 |
|
| 1390 |
*) Fix apr_dir_rewind() for Win32 to avoid returning a bogus error.
|
| 1391 |
[Jeff Trawick, William Rowe]
|
| 1392 |
|
| 1393 |
*) Detect required libraries first. This minimizes the libraries
|
| 1394 |
needed in apr_hints.m4. [Justin Erenkrantz]
|
| 1395 |
|
| 1396 |
*) Support the AIX, glibc2, and Solaris variants of gethostby{name|addr}_r.
|
| 1397 |
Use gethostbyaddr_r function when available.
|
| 1398 |
[Sterling Hughes <sterling@designmultimedia.com>]
|
| 1399 |
|
| 1400 |
*) Add new socket option, APR_INCOMPLETE_READ, that should be
|
| 1401 |
set when you expect the first non-blocking read to fail with
|
| 1402 |
EAGAIN. Setting APR_INCOMPLETE_READ prior to calling apr_read
|
| 1403 |
will cause select() to be called first to wait for bytes
|
| 1404 |
to read. [Brian Pane, Dean Gaudet]
|
| 1405 |
|
| 1406 |
*) Better installation. This makes us install the APRVARS file,
|
| 1407 |
as well as MM. [Ryan Bloom]
|
| 1408 |
|
| 1409 |
*) Provide new number conversion functions apr_itoa, apr_ltoa, and
|
| 1410 |
apr_off_t_toa, and inline code in inet_ntop4, to reduce CPU
|
| 1411 |
consumption. [Brian Pane]
|
| 1412 |
|
| 1413 |
*) Updated APR to pass the thread worker_function prototype
|
| 1414 |
(apr_thread_start_t) two parameters, the apr private data
|
| 1415 |
(apr_thread_t*) and the application private data (void*).
|
| 1416 |
Applications' worker_thread() routines may use apr_thread_pool_get
|
| 1417 |
to access the pool (implemented using APR_POOL_*_ACCESSOR() macros.)
|
| 1418 |
[Aaron Bannert <aaron@ebuilt.com>]
|
| 1419 |
|
| 1420 |
*) Add Solaris 8's sendfilev() support. This requires the following
|
| 1421 |
patches from Sun: 111297 (Sparc), 111298 (x86). You'll need the
|
| 1422 |
other patches listed in the patch description. [Justin Erenkrantz]
|
| 1423 |
|
| 1424 |
*) Close file descriptor when we are done with fcntl or flock-based
|
| 1425 |
cross-process lock. Otherwise, we leak descriptors.
|
| 1426 |
[Justin Erenkrantz]
|
| 1427 |
|
| 1428 |
*) Fix a possible data corruption problem with the use of getpwnam_r() on
|
| 1429 |
all platforms where that function is used.
|
| 1430 |
Use getpwnam_r() and getgrgid_r() instead of getpwnam() and getgrgid()
|
| 1431 |
with threaded builds on glibc (2.1, at least) to avoid thread safety
|
| 1432 |
issues. [Jeff Trawick]
|
| 1433 |
|
| 1434 |
*) Added apr_lock_tryacquire. It will attempt to acquire the lock, but
|
| 1435 |
will not block if it can not acquire the lock. Returns APR_EBUSY if
|
| 1436 |
acquistion can not happen. [Justin Erenkrantz]
|
| 1437 |
|
| 1438 |
*) Added an inherit flag to apr_socket_create and other socket creation
|
| 1439 |
functions. This allows APR programs to specify that a socket should
|
| 1440 |
be passed to any child processes that are created. The inherit flag
|
| 1441 |
is only meaningful if programs use apr_process_create(). This
|
| 1442 |
also adds a couple of macros that allow APR types to set and unset
|
| 1443 |
the inherit flag. [Ryan Bloom]
|
| 1444 |
|
| 1445 |
*) apr_connect()on Windows: Handle timeouts and returning the proper
|
| 1446 |
status code when a connect is in progress. [Bill Stoddard]
|
| 1447 |
|
| 1448 |
*) apr_connect() on Unix: Handle EINTR during connect(). Handle timeouts.
|
| 1449 |
[Jeff Trawick]
|
| 1450 |
|
| 1451 |
*) Handle the weird case where getpwnam() returns NULL but errno is zero.
|
| 1452 |
[Jeff Trawick]
|
| 1453 |
|
| 1454 |
*) Add apr_file_flags_get() which returns the flags that were originally
|
| 1455 |
passed in to apr_file_open(). [Cliff Woolley]
|
| 1456 |
|
| 1457 |
*) Added APR_HAS_XTHREAD_FILES macro that indicates whether or not the
|
| 1458 |
platform handles files opened in APR_XTHREAD mode natively. Currently
|
| 1459 |
only Win32 has such native support. [Cliff Woolley]
|
| 1460 |
|
| 1461 |
*) Fix gmt offset handling on Solaris. Apache log messages now show
|
| 1462 |
local time again. PR #7902 [Taketo Kabe <kabe@sra-tohoku.co.jp>]
|
| 1463 |
|
| 1464 |
*) apr_pstrcat() optimizations [Doug MacEachern, Jeff Trawick]
|
| 1465 |
|
| 1466 |
*) Make the apr_pool_is_ancestor logic public. This is required for
|
| 1467 |
some new logic that is going into HTTPD. I have left the join logic
|
| 1468 |
in that function debug only. [Ryan Bloom]
|
| 1469 |
|
| 1470 |
*) Clean up Win32 locks when the pool goes away.
|
| 1471 |
[Justin Erenkrantz, Jeff Trawick]
|
| 1472 |
|
| 1473 |
*) Implement apr_get_home_directory for Win32. [William Rowe]
|
| 1474 |
|
| 1475 |
*) Complete the implementation of LARGEFILE support on Win32, although
|
| 1476 |
the mmap semantics still need a touch of work. [William Rowe]
|
| 1477 |
|
| 1478 |
*) Fix the APR_XTHREAD support, and apr_sendfile mechanics, so we can
|
| 1479 |
handle cross-threaded file handles on Win32. [William Rowe]
|
| 1480 |
|
| 1481 |
*) Implement APR_READWRITE locks on Unix with POSIX rwlocks.
|
| 1482 |
Introduce new apr_lock_acquire_rw() function which takes in
|
| 1483 |
APR_READER or APR_WRITER. [Justin Erenkrantz]
|
| 1484 |
|
| 1485 |
*) Add apr_open_stdin. This mirrors apr_open_stderr, except it works
|
| 1486 |
on stdin. [Aaron Bannert <abannert@ebuilt.com>]
|
| 1487 |
|
| 1488 |
*) Add apr_strtok(), a thread-safe flavor of strtok() which has the
|
| 1489 |
same interface as strtok_r(). [Jeff Trawick]
|
| 1490 |
|
| 1491 |
*) Add other child support to Win32 [Bill Stoddard]
|
| 1492 |
|
| 1493 |
*) Other-child registrations are automatically removed when the
|
| 1494 |
associated pool is destroyed. This avoids garbage in the list
|
| 1495 |
of registrations when a pool with a registration is freed.
|
| 1496 |
[Jeff Trawick]
|
| 1497 |
|
| 1498 |
*) Allow LTFLAGS to be overridden by the configure command-line
|
| 1499 |
(default="--silent") and introduce LT_LDFLAGS. [Roy Fielding]
|
| 1500 |
|
| 1501 |
*) Add memory code kindly donated to APR by
|
| 1502 |
Elrond <elrond@samba-tng.org>
|
| 1503 |
Luke Kenneth Casson Leighton <lkcl@samba-tng.org>
|
| 1504 |
Sander Striker <striker@samba-tng.org>
|
| 1505 |
[David Reid]
|
| 1506 |
|
| 1507 |
*) Fix a problem with the FreeBSD flavor of apr_sendfile() where we
|
| 1508 |
could return APR_EAGAIN+bytes_sent. [Jeff Trawick]
|
| 1509 |
|
| 1510 |
*) Fix a problem on unixware where clearing h_errno wouldn't work.
|
| 1511 |
Use set_h_errno() instead. PR #7651 [Jeff Trawick]
|
| 1512 |
|
| 1513 |
*) Add the test and build directories (when present) to the recursive
|
| 1514 |
make process, being sure that they are run last. test is only done
|
| 1515 |
recursively for make *clean targets. [Roy Fielding]
|
| 1516 |
|
| 1517 |
*) Make the apr_mmap_create() function use the native_flags variable.
|
| 1518 |
This allows us to actually create WRITEABLE MMAPs.
|
| 1519 |
[Ed Korthof <ed@apache.org>]
|
| 1520 |
|
| 1521 |
*) Completely revamp configure so that it preserves the standard make
|
| 1522 |
variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving
|
| 1523 |
the configure additions to EXTRA_* variables. Also, allow the user
|
| 1524 |
to specify NOTEST_* values for all of the above, which eliminates the
|
| 1525 |
need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting
|
| 1526 |
of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to
|
| 1527 |
avoid pointless duplications. Fix the order in which flags are given
|
| 1528 |
on the compile and link lines. [Roy Fielding]
|
| 1529 |
|
| 1530 |
*) Fix DSO code on HP/UX. We have to use == not =, and it makes more
|
| 1531 |
sense to actually return errno, so that the return code means
|
| 1532 |
something. [Ryan Bloom]
|
| 1533 |
|
| 1534 |
*) Clean up conditionals in unix DSO code so that we decide based on
|
| 1535 |
the dynamic loading implementation, which we noticed at configure
|
| 1536 |
time, instead of by operating system.
|
| 1537 |
[Wilfredo Sanchez]
|
| 1538 |
|
| 1539 |
*) Add DSO support for dyld platforms (Darwin/Mac OS and OpenStep).
|
| 1540 |
[Wilfredo Sanchez]
|
| 1541 |
|
| 1542 |
*) Amend the time code to better deal with time zones.
|
| 1543 |
[David Reid]
|
| 1544 |
|
| 1545 |
*) Carefully select an appropriate native type for apr_int64_t and
|
| 1546 |
define its format as APR_INT64_T_FMT and literal using APR_INT64_C().
|
| 1547 |
[Justin Erenkrantz, William Rowe]
|
| 1548 |
|
| 1549 |
*) Make clean, distclean, and extraclean consistently according to the
|
| 1550 |
Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
|
| 1551 |
|
| 1552 |
*) Initial implementation of of apr_filepath (get/set/parse_root and
|
| 1553 |
merge) for Windows. [William Rowe]
|
| 1554 |
|
| 1555 |
*) Cleaned up implementation of of apr_filepath (get/set/parse_root
|
| 1556 |
and merge) for Unix. [Greg Stein, William Rowe]
|
| 1557 |
|
| 1558 |
*) Fixup the --enable-libtool option. This allows the test directory
|
| 1559 |
to compile again. The test directory still doesn't work when
|
| 1560 |
APR is configured without libtool. [Ryan Bloom]
|
| 1561 |
|
| 1562 |
*) If we don't have sigwait() in the system, see if sigsuspend() is
|
| 1563 |
available, and use that instead. [Wilfredo Sanchez]
|
| 1564 |
|
| 1565 |
*) Make libtool optional at configure time. This is done with
|
| 1566 |
--disable-libtool. [Ryan Bloom]
|
| 1567 |
|
| 1568 |
*) Recognize systems where the TCP_NODELAY setting is inherited from
|
| 1569 |
the listening socket, and optimize apr_setsockopt(APR_TCP_NODELAY)
|
| 1570 |
accordingly. [Jeff Trawick]
|
| 1571 |
|
| 1572 |
*) Recognize the presence of getnameinfo() on Tru64. [David Reid]
|
| 1573 |
|
| 1574 |
*) Allow APR to be installed. [Ryan Bloom]
|
| 1575 |
|
| 1576 |
*) Generate config.nice for easy re-run of configure. [Roy Fielding]
|
| 1577 |
|
| 1578 |
*) Define preprocessor flags in CPPFLAGS instead of CFLAGS and
|
| 1579 |
bring some sanity to the compiler command-lines. [Roy Fielding]
|
| 1580 |
|
| 1581 |
*) Use the dso/aix subdirectory for older versions of AIX and fix
|
| 1582 |
a number of bugs in the dso code in that directory.
|
| 1583 |
[Victor Orlikowski]
|
| 1584 |
|
| 1585 |
*) Allow libtool 1.3b to be used. [Victor Orlikowski]
|
| 1586 |
|
| 1587 |
*) Misc. Win32 fixes: Set the pool pointer in apr_sockaddr_t
|
| 1588 |
structures created with the apr_socket_t to prevent segfault
|
| 1589 |
in certain apps. Flush unwritten buffered data when the file
|
| 1590 |
is closed. [Jeff Trawick]
|
| 1591 |
|
| 1592 |
*) Win32: Get APR to compile with MSVC 5.0 (a.k.a. VC97).
|
| 1593 |
PR #7489 [Jeff Trawick]
|
| 1594 |
|
| 1595 |
*) First draft implementation of apr_filepath (get/set/parse_root
|
| 1596 |
and merge) for Unix. [William Rowe]
|
| 1597 |
|
| 1598 |
*) Add apr_ipsubnet_create() and apr_ipsubnet_test() for testing
|
| 1599 |
whether or not an address is within a subnet. [Jeff Trawick]
|
| 1600 |
|
| 1601 |
*) Add apr_sendto and apr_recvfrom for Unix. Start of adding UDP
|
| 1602 |
support. [David Reid]
|
| 1603 |
|
| 1604 |
*) Add a method to get the password from the system for a given
|
| 1605 |
user. [John Barbee <jbarbee@covalent.net>]
|
| 1606 |
|
| 1607 |
*) Change the include path order, so that we look for included files
|
| 1608 |
in the APR paths first, and the system paths second.
|
| 1609 |
[jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>]
|
| 1610 |
|
| 1611 |
*) Add a with-sendfile option, so that people on platforms without a
|
| 1612 |
sendfile implementation for APR can easily disable it from the
|
| 1613 |
configure line. [Ryan Bloom]
|
| 1614 |
|
| 1615 |
*) Change the check for netinet/tcp.h to work around an issue with
|
| 1616 |
that header file on IRIX 6.5 which prevented it from being
|
| 1617 |
detected. PR #6459 [Jeff Trawick]
|
| 1618 |
|
| 1619 |
*) Introduce apr_get_userid to return a named user's apr_uid_t and
|
| 1620 |
apr_gid_t across platforms [Cliff Woolley, William Rowe]
|
| 1621 |
|
| 1622 |
*) In apr_shm_init(), check the retcode from mm_malloc(). Previously,
|
| 1623 |
we segfaulted here if mm_malloc() failed to get a lock. An example
|
| 1624 |
error scenario is when the lock file lives on a filesystem which
|
| 1625 |
doesn't support locking. [Jeff Trawick]
|
| 1626 |
|
| 1627 |
*) Name protected the autoconf macros defined by APR. Moved the
|
| 1628 |
REENTRANCY_FLAGS settings into apr_hints.m4. Inlined the
|
| 1629 |
APR_PREPARE_MM_DIR macro because it could only be used once.
|
| 1630 |
Removed the unused macros MY_TRY_RUN, MY_TRY_RUN_NATIVE, and
|
| 1631 |
AC_USE_FUNCTION. Added some macro comments. [Roy Fielding]
|
| 1632 |
|
| 1633 |
*) Cope with BSDi installations where the default make has been
|
| 1634 |
replaced with GNU make. [Joe Orton <joe@manyfish.co.uk>]
|
| 1635 |
|
| 1636 |
*) Changed apr/helpers to apr/build to be consistent with other Apache
|
| 1637 |
source trees. Added make variables to rules.mk.in that point to the
|
| 1638 |
builders directory and its scripts. Updated buildconf, configure.in,
|
| 1639 |
and Makefile.in files to create and use the new scripts. Moved scandoc
|
| 1640 |
to scandoc.pl and its default.pl template to scandoc_template.pl.
|
| 1641 |
[Roy Fielding]
|
| 1642 |
|
| 1643 |
*) Updated config.guess and config.sub to GNU libtool 1.3.5 features,
|
| 1644 |
with the Apache additions for OS/390 and OS/2 emx. [Roy Fielding]
|
| 1645 |
|
| 1646 |
*) Moved hints.m4, apr_common.m4, and helpers/apr-conf.m4 into the
|
| 1647 |
new build directory as apr_hints.m4, apr_common.m4, apr_network.m4,
|
| 1648 |
and apr_threads.m4. [Roy Fielding]
|
| 1649 |
|
| 1650 |
*) Get apr_sendfile() working on HP-UX. This gets APR to build on
|
| 1651 |
HP-UX without having to turn off APR_HAS_SENDFILE. [Jeff Trawick]
|
| 1652 |
|
| 1653 |
*) Force FreeBSD to compile without threads by default. To enable
|
| 1654 |
threads, use --enable-threads on the configure line.
|
| 1655 |
[Ryan Bloom]
|
| 1656 |
|
| 1657 |
*) Purge system password buffer before returning from apr_password_get.
|
| 1658 |
No longer abuses bufsize argument on return. [William Rowe]
|
| 1659 |
|
| 1660 |
*) Moved the prototypes for apr_snprintf and apr_vsnprintf to the
|
| 1661 |
apr_strings.h header, from apr_lib.h. This location makes more
|
| 1662 |
sense. [Ryan Bloom]
|
| 1663 |
|
| 1664 |
*) Added the APR_TRY_COMPILE_NO_WARNING configure macro for testing a
|
| 1665 |
compile with -Werror as well as the APR_CHECK_ICONV_INBUF macro to
|
| 1666 |
test for annoying iconv prototype differences.
|
| 1667 |
[Jeff Trawick, Roy Fielding]
|
| 1668 |
|
| 1669 |
*) Fix a problem with configure on NetBSD. We must include sys/types.h
|
| 1670 |
for some platforms. [jun-ichiro hagino <itojun@kame.net>]
|
| 1671 |
|
| 1672 |
*) Some fixes in the Win32 time support.
|
| 1673 |
(IsLeapYear): New macro for quickly figgerin' out if a given year is a
|
| 1674 |
leap year. (SystemTimeToAprExpTime): Perform the calculation of
|
| 1675 |
tm_yday. Also, negate the sign of the tm_gmtoff field to be
|
| 1676 |
consistent with Unix platforms and APR header file comments.
|
| 1677 |
[Mike Pilato]
|
| 1678 |
|
| 1679 |
*) Implement WinNT Unix'ish permissions. [William Rowe]
|
| 1680 |
|
| 1681 |
*) Corrected an OS2'ism of apr_get_home_directory. OS2 now returns the
|
| 1682 |
proper directory, including the user's name.
|
| 1683 |
|
| 1684 |
*) Removed private os2errno.h and integrated the OS2 network error codes
|
| 1685 |
into apr_errno.h for optimized error tests (APR_STATUS_IS_EFOO(rv)).
|
| 1686 |
[William Rowe]
|
| 1687 |
|
| 1688 |
*) Moved inclusion of <os2.h> header from multiple modules into apr.h
|
| 1689 |
[William Rowe]
|
| 1690 |
|
| 1691 |
*) Added apr_compare_users() and apr_compare_groups() for more complex
|
| 1692 |
apr_uid_t and apr_gid_t structures. Enabled both .user and .group
|
| 1693 |
results from WinNT/2000 stat/getfileinfo, but expect to find that
|
| 1694 |
.group is 'None' in most cases. [William Rowe]
|
| 1695 |
|
| 1696 |
*) Replace configure --with-optim option by using the environment
|
| 1697 |
variable OPTIM instead. This is needed because configure options
|
| 1698 |
do not support multiple flags separated by spaces. [Roy Fielding]
|
| 1699 |
|
| 1700 |
*) Eliminate the APR_SIG* aliases for standard signal names,
|
| 1701 |
since they serve no useful purpose. [Roy Fielding]
|
| 1702 |
|
| 1703 |
*) Abstracted apr_get_username and apr_get_groupname for unix and win32.
|
| 1704 |
Modified Win32 apr_uid_t and apr_gid_t to use PSIDs, and elimintated
|
| 1705 |
the uid_t and gid_t definitions. [William Rowe]
|
| 1706 |
|
| 1707 |
*) Radically refactored apr_stat/lstat/getfileinfo/dir_read for Win32
|
| 1708 |
to assure we are retrieving what we expect to retrieve, and reporting
|
| 1709 |
the correct result (APR_SUCCESS or APR_INCOMPLETE). The potential
|
| 1710 |
for a bit more optimization still remains. [William Rowe]
|
| 1711 |
|
| 1712 |
*) While we have the future opportunity to cache the apr_stat'ed file
|
| 1713 |
handle for a very fast open (dup handle) on Win32, patched to close
|
| 1714 |
that file after a stat always. Needs a new semantic before we leave
|
| 1715 |
handles dangling when the user intends to rm. [William Rowe]
|
| 1716 |
|
| 1717 |
*) Correct Win32 apr_stat/lstat/getfileinfo/dir_read to all zero out
|
| 1718 |
the finfo buffer on success (or incomplete success). [William Rowe]
|
| 1719 |
|
| 1720 |
*) Fix Win32/Unix apr_lstat to throw the .valid bit APR_FINFO_LINK to
|
| 1721 |
indicate we attempted to open the link. Only the .filetype APR_LNK
|
| 1722 |
reflects if the file found was, in fact, a link. [William Rowe]
|
| 1723 |
|
| 1724 |
*) Fixed apr_open and apr_rename to function on Win9x.
|
| 1725 |
[Mike Pilato <cmpilato@collab.net>]
|
| 1726 |
|
| 1727 |
*) Add apr_open_stdout. This mirrors apr_open_stderr, except it works
|
| 1728 |
on stdout. [Mike Pilato <cmpilato@collab.net>]
|
| 1729 |
|
| 1730 |
*) Fix bug in file_io/unix/dir.c. There is no such thing as a dirent,
|
| 1731 |
it must be a struct dirent.
|
| 1732 |
[Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
|
| 1733 |
|
| 1734 |
*) Fix the configure script so that we can build from a different
|
| 1735 |
directory. [Kevin Pilch-Bisson <kevin@pilch-bisson.net>]
|
| 1736 |
|
| 1737 |
*) Introduce the wanted flag argument to the apr_stat/lstat/getfileinfo
|
| 1738 |
family of functions. This change allows the user to determine what
|
| 1739 |
platform-specific file information is retrieved, to optimize both
|
| 1740 |
portability and performance. [William Rowe]
|
| 1741 |
|
| 1742 |
*) Fix make depend. [Ryan Bloom]
|
| 1743 |
|
| 1744 |
*) All dso implementations now register a cleanup to unload the DSO
|
| 1745 |
when it is loaded. If the pool is removed, we really do need to
|
| 1746 |
remove the DSO. In the past, different platforms behaved differently
|
| 1747 |
it this respect. [Ryan Bloom]
|
| 1748 |
|
| 1749 |
*) Add linkage declarations to the DSO code.
|
| 1750 |
[Gregory Nicholls <gnicholls@level8.com>]
|
| 1751 |
|
| 1752 |
*) Some adjustment of hints.m4 setting flags (used to check if null
|
| 1753 |
first) and added some verbosity. [Jim Jagielski]
|
| 1754 |
|
| 1755 |
*) Specify APR_DECLARE to some of the APR functions. This helps linking
|
| 1756 |
on some operating systems. [Gregory Nicholls <gnicholls@level8.com>]
|
| 1757 |
|
| 1758 |
*) Libtool'ized APR and converted all the makefiles to share rules
|
| 1759 |
from helpers/rules.mk. [Greg Stein]
|
| 1760 |
|
| 1761 |
*) Remove a warning on FreeBSD. FreeBSD defines TCP_NO_PUSH, but we
|
| 1762 |
don't actually use it. This causes os_cork to be defined but not
|
| 1763 |
used. This patch keeps us from defining os_cork and os_uncork on
|
| 1764 |
FreeBSD. [Ryan Bloom]
|
| 1765 |
|
| 1766 |
*) Keep apr_terminate from seg faulting on terminate. This is
|
| 1767 |
happening on systems that do not NULL out locks when they are
|
| 1768 |
destroyed. To keep this from happening, we set the locks to
|
| 1769 |
NULL after destroying them in apr_terminate, and we have to
|
| 1770 |
check for NULL in free_blocks.
|
| 1771 |
[Allan Edwards and Gregory Nicholls <gnicholls@level8.com>]
|
| 1772 |
|
| 1773 |
*) Remove the ability to allocate memory out of a NULL pool.
|
| 1774 |
[Ryan Bloom]
|
| 1775 |
|
| 1776 |
*) Add an APR_GET_POOL macro to get a pool from any APR type that has
|
| 1777 |
a pool. This requires that ALL apr types put the pool as the first
|
| 1778 |
field in their structure. [Ryan Bloom]
|
| 1779 |
|
| 1780 |
*) Begin to remove the ability to allocate out of NULL pools. The first
|
| 1781 |
problem to solve, is that we need an apr_lock in order to allocate
|
| 1782 |
pools, so that we can lock things out when allocating. So, how do we
|
| 1783 |
allocate locks without a pool to allocate from? The answer is to create
|
| 1784 |
a global_apr_pool, which is a bootstrapping pool. There should NEVER
|
| 1785 |
be a sub-pool off this pool, and it is static to an APR file. This is
|
| 1786 |
only used to allow us to allocate the locks cleanly, without using the
|
| 1787 |
NULL pool hack. [Ryan Bloom]
|
| 1788 |
|
| 1789 |
*) Fix a logic error in the poll code when implemented using select.
|
| 1790 |
[Nick Caruso <ncaruso@gamesville.com>]
|
| 1791 |
|
| 1792 |
*) FreeBSD does not support sendfile() in combination with threads
|
| 1793 |
before version 4.2. We no longer even try to support it.
|
| 1794 |
[Ryan Bloom]
|
| 1795 |
|
| 1796 |
*) On FreeBSD, it is possible for the first call to sendfile to
|
| 1797 |
get EAGAIN, but still send some data. This means that we cannot
|
| 1798 |
call sendfile and then check for EAGAIN, and then wait and call
|
| 1799 |
sendfile again. If we do that, then we are likely to send the
|
| 1800 |
first chunk of data twice, once in the first call and once in the
|
| 1801 |
second. If we are using a timed write, then we check to make sure
|
| 1802 |
we can send data before trying to send it. [Ryan Bloom]
|
| 1803 |
|
| 1804 |
*) Cleanup to help Apache support programs build cleanly.
|
| 1805 |
[Cliff Woolley <cliffwoolley@yahoo.com>]
|
| 1806 |
|
| 1807 |
*) Cleanup some compiler warnings on Solaris
|
| 1808 |
[Dale Ghent <daleg@elemental.org>]
|
| 1809 |
|
| 1810 |
*) apr_getaddrinfo() can now return multiple addresses for a host
|
| 1811 |
via the next field in apr_sockaddr_t. [Jeff Trawick]
|
| 1812 |
|
| 1813 |
*) Tighten up the check for getaddrinfo(). If it can't figure out
|
| 1814 |
the appropriate address family for 127.0.0.1, it fails.
|
| 1815 |
Unfortunately, Tru64 fails this test so we won't do IPv6 on
|
| 1816 |
Tru64. [Jeff Trawick]
|
| 1817 |
|
| 1818 |
*) Rename apr_opendir to apr_dir_open. [Ryan Bloom]
|
| 1819 |
|
| 1820 |
*) apr_snprintf()'s %pI format string now takes apr_sockaddr_t *
|
| 1821 |
instead of sockaddr_in *. [Jeff Trawick]
|
| 1822 |
|
| 1823 |
*) Fix a bug in apr_accept() for Win32 and Unix where the local
|
| 1824 |
apr_sockaddr_t in the new connected socket was not initialized
|
| 1825 |
properly. This could result in a bad string for apr_get_ipaddr(),
|
| 1826 |
among other things. [Jeff Trawick]
|
| 1827 |
|
| 1828 |
*) Add apr_getnameinfo(), a replacement for apr_get_hostname() which
|
| 1829 |
supports IPv6 and will be friendlier for use with eventual
|
| 1830 |
SOCK_DGRAM support. apr_get_hostname() is gone. [Jeff Trawick]
|
| 1831 |
|
| 1832 |
|
| 1833 |
Changes with APR a9
|
| 1834 |
|
| 1835 |
*) Removed the iconv implementation from the i18n/unix/iconv branch.
|
| 1836 |
This now resides in the apr-iconv repository, and will be ported
|
| 1837 |
over time to use native apr types (e.g. apr_dso) for portability.
|
| 1838 |
|
| 1839 |
*) Only support IPv6 if we have sockaddr_in and a working
|
| 1840 |
getaddrinfo(). [Jeff Trawick]
|
| 1841 |
|
| 1842 |
*) Add apr_parse_addr_port() for parsing the hostname:port portion
|
| 1843 |
of URLs and similar strings. [Jeff Trawick]
|
| 1844 |
|
| 1845 |
*) Add Win32 MMAP support [William Rowe]
|
| 1846 |
|
| 1847 |
*) Allow the APR programmer to specify if the MMAP is read-only or
|
| 1848 |
write-able.
|
| 1849 |
[Ryan Bloom and Will Rowe]
|
| 1850 |
|
| 1851 |
*) Check more carefully for getaddrinfo(). Accept those that
|
| 1852 |
require <netdb.h> to be included (e.g., Tru64). Reject those that
|
| 1853 |
fail a very basic operational test (e.g., AIX). [Jeff Trawick]
|
| 1854 |
|
| 1855 |
*) Add apr_make_os_sock() for constructing a fully-capable APR
|
| 1856 |
socket. [Jeff Trawick]
|
| 1857 |
|
| 1858 |
*) Make APR's shared memory routines always allocate enough memory
|
| 1859 |
for the requested segment, the MM internal types, and the APR
|
| 1860 |
internal types.
|
| 1861 |
[Ryan Bloom]
|
| 1862 |
|
| 1863 |
*) Add APR_SIZE_T_FMT. Get the other APR_xx_T_FMT variables
|
| 1864 |
defined properly on AIX. [Jeff Trawick]
|
| 1865 |
|
| 1866 |
*) network API changes: get rid of apr_get_socket_inaddr(),
|
| 1867 |
apr_get_remote_name(), and apr_get_local_name() [Jeff Trawick]
|
| 1868 |
|
| 1869 |
*) Add a step at configure time to create a file at the top-level,
|
| 1870 |
apr.exports, which lists every function exported by APR. The
|
| 1871 |
file is generated by a script in helpers, that reads each header
|
| 1872 |
file.
|
| 1873 |
[Ryan Bloom]
|
| 1874 |
|
| 1875 |
*) Lock config changes: Detect SysV sem capability by the presence of
|
| 1876 |
sempaphore functions, not by the presence of union semun. New
|
| 1877 |
config variable apr_lock_method can override autodetection of the
|
| 1878 |
apr_lock implementation method. For now, hints.m4 uses it to select
|
| 1879 |
SysV semaphores for OS/390. New config variable
|
| 1880 |
apr_process_lock_is_global specifies that the selected inter-process
|
| 1881 |
lock method is sufficient for APR_LOCKALL (i.e., it blocks all
|
| 1882 |
threads and processes). For now, hints.m4 turns on this flag for
|
| 1883 |
OS/390. [Jeff Trawick]
|
| 1884 |
|
| 1885 |
*) Get APR_OFF_T_FMT defined properly on Solaris Sparc.
|
| 1886 |
[Jeff Trawick]
|
| 1887 |
|
| 1888 |
|
| 1889 |
Changes with APR a8
|
| 1890 |
|
| 1891 |
*) Change the name of the sa_len field in apr_sockaddr_t to salen.
|
| 1892 |
Some platforms have a macro named sa_len.
|
| 1893 |
[Tony Finch]
|
| 1894 |
|
| 1895 |
*) apr_set_port(), apr_get_port(), apr_set_ipaddr(), and apr_get_ipaddr()
|
| 1896 |
now take apr_sockaddr_t as a parameter instead of apr_socket_t +
|
| 1897 |
apr_interface_e. This will allow the same routines to be used with
|
| 1898 |
datagram APIs to be added later. Note that code which calls
|
| 1899 |
apr_set_ipaddr() should probably be changed to call apr_getaddrinfo()
|
| 1900 |
for protocol independence. [Jeff Trawick]
|
| 1901 |
|
| 1902 |
*) apr_create_tcp_socket() has been removed. Use apr_create_socket()
|
| 1903 |
instead. [Jeff Trawick]
|
| 1904 |
|
| 1905 |
*) Source was moved from the apache-2.0 repository. For all CHANGES
|
| 1906 |
prior to this time, please see the apache-2.0 repository
|