| -*- coding: utf-8 -*- |
| Changes with APR 0.9.20 |
| |
| *) Security: CVE-2011-0419 |
| Reimplement apr_fnmatch() from scratch using a non-recursive |
| algorithm; now has improved compliance with the fnmatch() spec. |
| [William Rowe] |
| |
| *) Updated config.guess and config.sub. [Rainer Jung] |
| |
| *) Fix flag character '#' in combination with format character 'x' in |
| apr snprintf implementations. [Rainer Jung] |
| |
| Changes with APR 0.9.19 |
| |
| *) SECURITY: CVE-2009-2412 (cve.mitre.org) |
| Fix overflow in pools and rmm, where size alignment was taking place. |
| [Matt Lewis <mattlewis@google.com>, Sander Striker, William Rowe] |
| |
| *) Improve platform detection by updating config.guess and config.sub. |
| [Rainer Jung] |
| |
| Changes with APR 0.9.18 |
| |
| *) z/OS: return standard apr_status_t codes from apr_dso_load() |
| and apr_dso_sym(). [David Jones <oscaremma gmail.com>] |
| |
| *) Fix apr_tokenize_to_argv parsing. PR 46128 |
| [Edward Rudd <eddie omegaware.com>] |
| |
| Changes with APR 0.9.17 |
| |
| *) Fix DSO-related crash on z/OS caused by incorrect memory |
| allocation. [David Jones <oscaremma gmail.com>] |
| |
| *) Define apr_ino_t in such a way that it doesn't change definition |
| based on the library consumer's -D'efines to the filesystem. |
| [Lucian Adrian Grijincu <lucian.grijincu gmail.com>] |
| |
| *) Cause apr_file_dup2() on Win32 to update the MSVCRT psuedo-stdio |
| handles for fd-based and FILE * based I/O. [William Rowe] |
| |
| *) Revert Win32 to the 0.9.14 behavior of apr_proc_create() for any |
| of the three stdio streams which are not initialized, through either |
| apr_procattr_io_set() or apr_procattr_child_XXX_set(), when given a |
| procattr_t with one or two streams which were initialized through |
| apr_procattr_child_XXX_set(). Once again, these do not inherit the |
| parent process stdio stream to WIN32 child processes (passing |
| INVALID_HANDLE_VALUE instead) as on Unix. Note APR 1.3.0 adopts |
| the Unix behavior of inheriting any uninitialized streams as the |
| parent's corresponding stdio stream, in such cases. [William Rowe] |
| |
| Changes with APR 0.9.16 |
| |
| *) Win32 apr_file_read: Correctly handle completion-based read-to-EOF. |
| [Steven Naim <steven.naim googlemail.com>] |
| |
| *) Fixed Win32 regression of StdOutput inheritance in apr_proc_create. |
| [William Rowe] |
| |
| Changes with APR 0.9.15 |
| |
| *) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls, |
| on WinNT (not WinCE, nor 9x) so that we toggle the inherited state |
| of the stdin/out/err pipes. All other file handles are treated as |
| not-inherited until apr_file_dup2'ed a std handle of this process, |
| or while they are used by apr_proc_create. [William Rowe] |
| |
| *) Define the Mac OS/X filesystem_encoding as utf-8 (in previous |
| releases the interpretation would vary). [Branko Čibej] |
| |
| *) Fix day of year (tm_day) calculation for July. The bug only affects |
| Windows builds. PR 42953. [Davi Arnaut] |
| |
| Changes with APR 0.9.14 |
| |
| *) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in |
| apr_file_mktemp. [Brian J. France <list firehawksystems.com>] |
| |
| *) Numerous build fixes for non-GCC builds and GCC builds on Win32, |
| as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>, |
| Curt Arnold <carnold apache.org>, John Mark Vandenberg, |
| Kouhei Sutou <kou cozmixng.org>, William Rowe] |
| |
| *) Discard file buffers when running cleanups for exec. |
| PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver] |
| |
| *) Improve thread safety of assorted file_io functions. |
| PR 42400. [Davi Arnaut <davi haxent.com.br>] |
| |
| *) Fix file pointer position calculation in apr_file_writev() on |
| buffered file. PR 40963. [Davi Arnaut <davi haxent.com.br>] |
| |
| Changes with APR 0.9.13 |
| |
| *) Fix detection of pthread cross-process robust mutexes. |
| PR 39833. [Tsuyoshi SASAMOTO <nazonazo miobox.jp>] |
| |
| *) Correctly retrieve 'empty' environment values with apr_env_get |
| on Win32 (e.g. "VAR="), and added validation to testall suite. |
| PR 40764. [Issac Goldstand <margol beamartyr.net>] |
| |
| *) Portably check for EEXIST in mktemp code. PR 40818 |
| [Kenneth Golomb <KGolomb TradeCard.com>] |
| |
| *) Fix apr_atomic_cas on platforms with 64 bit longs. |
| [Philip Martin <philip codematters.co.uk>] |
| |
| *) Provide folding in autogenerated .manifest files for Win32 builders |
| using VisualStudio 2005 [William Rowe] |
| |
| Changes with APR 0.9.12 |
| |
| *) Netware - add missing apu_version.c parsing for apu_version_string() |
| to the Netware specific builds. Unix platforms supporte this API |
| since 0.9.1. [Brad Nicholes] |
| |
| Changes with APR 0.9.11 |
| |
| *) Synced get-version.sh to trunk to correctly retrieve 2 digit subversion, |
| which broke the 0.9.10 candidate. [William Rowe] |
| |
| *) Fixed 'make check' target to avoid invoking sub-programs of testshm, |
| testshmconsumer and testshmproducer. [William Rowe] |
| |
| *) Permit Win32 to seek to the point 2^32-1, by checking that result |
| against the actual error and continuing on success. [William Rowe] |
| |
| Changes with APR 0.9.10 |
| |
| *) Minor bug fixes to address various platform build and run time issues. |
| |
| *) Permit 'make check' binaries to run on Darwin by omitting -no-install |
| flag [William Rowe, Joe Orton] |
| |
| Changes with APR 0.9.9 |
| |
| *) Prevent detection of robust mutex support with glibc 2.4, |
| fixing APR_LOCK_PROC_PTHREAD locks. PR 38442. [Joe Orton] |
| |
| *) Fix apr_strerror() with glibc 2.4. [Joe Orton] |
| |
| *) Install mkdir.sh, make_exports.awk, make_var_export.awk to the APR |
| installbuilddir, and provide working accessor variables in |
| apr_rules.mk. |
| [Max Bowsher] |
| |
| *) Fix seeks with files opened in xthread mode for append on win32. |
| [M Joonas Pihlaja <jpihlaja cc.helsinki.fi>, Garrett Rooney] |
| |
| *) Keep testpipe.c from hanging on win32. [Garrett Rooney] |
| |
| *) Cause apr_file_write_full on win32 to consider the timeout value set by |
| apr_file_pipe_timeout_set. PR 30182 |
| [<eholyat olf.com>] |
| |
| *) Fix assertion from double close of a handle with a rwlock on win32. |
| [Evgueni Brevnov <evgueni.brevnov gmail.com>] |
| |
| *) Fix EOF handling for unbuffered reads on win32. |
| [Konstantin Sharenkov <Konstantin.Sharenkov enterra-inc.com>] |
| |
| *) Documented that apr_stat and apr_dir_read can return APR_INCOMPLETE, |
| and how to determine which parts of the resulting apr_finfo_t can be |
| used in such a case. |
| [Garrett Rooney] |
| |
| *) Fix passing "" as an argument to the program started by apr_proc_create |
| on Win32. |
| [Philip Martin <philip codematters.co.uk> |
| |
| *) Fix warning when compiling on FreeBSD by correcting the type of |
| the final argument passed to sysctlbyname. [Garrett Rooney] |
| |
| Changes with APR 0.9.7 |
| |
| *) Fix crash in apr_dir_make_recursive() for relative path |
| when the working directory has been deleted. [Joe Orton] |
| |
| *) Win32: fix apr_proc_mutex_trylock() to handle WAIT_TIMEOUT, |
| returning APR_EBUSY. [Ronen Mizrahi <ronen@tversity.com>] |
| |
| *) Fix apr_file_read() to catch write failures when flushing pending |
| writes for a buffered file. [Joe Orton] |
| |
| *) Fix apr_file_write() infinite loop on write failure for buffered |
| files. [Erik Huelsmann <ehuels gmail.com>] |
| |
| *) Fix error handling where apr_uid_* and apr_gid_* could segfault |
| or return APR_SUCCESS in failure cases. PR 34053. [Joe Orton, |
| Paul Querna] |
| |
| *) Refactor Win32 condition variables code to address bugs 27654, 34336. |
| [Henry Jen <henryjen ztune.net>, E Holyat <eholyat yahoo.com>] |
| |
| *) Support APR_SO_SNDBUF and APR_SO_RCVBUF on Windows. PR 32177. |
| [Sim <sgobbi datamanagement.it>, Jeff Trawick] |
| |
| *) Fix detection of rwlocks on Mac OS X. [Aaron Bannert] |
| |
| *) Fix issue with poll() followed by net I/O yielding EAGAIN on |
| Mac OS 10.4 (Darwin 8). [Wilfredo Sanchez] |
| |
| Changes with APR 0.9.6 |
| |
| *) Add apr_threadattr_stacksize_set() for overriding the default |
| stack size for threads created by apr_thread_create(). |
| [Jeff Trawick] |
| |
| *) Add an RPM spec file. [Graham Leggett] |
| |
| *) Add a build script to create a solaris package. [Graham Leggett] |
| |
| Changes with APR 0.9.5 |
| |
| *) Prevent unbounded memory use during repeated operations on a hash table. |
| [Julian Foad <julianfoad btopenworld.com> |
| |
| *) fix apr_file_dup and apr_file_dup2 win32 implementations |
| to create a mutex [Steve Hay <steve.hay uk.radan.com>] |
| |
| *) Makes the threads to behave like on posix. If the thread is created |
| without APR_DETACH expect that the thread_join will be called, so don't |
| close the handle in advance, if the thread has already finished. |
| [Mladen Turk] |
| |
| *) The apr/test/Makefile.win is missing a target to build a |
| readchild.exe that test is depending on but is never built. |
| [Mladen Turk] |
| |
| *) Fix build issues in paths containing symlinks. PR 8867. |
| [Joe Orton] |
| |
| *) Update config.{guess,sub} for DragonFly BSD. PR 29858. |
| [Joe Orton] |
| |
| *) Win32: Fix bug in apr_socket_sendfile that interferred with |
| Win32 LSPs. Bug is described in Apache 2.0 bugzilla report |
| 23982 [Jan Bilek, Bill Stoddard] |
| |
| *) apr_proc_create() on Unix: Remove unnecessary check for read |
| access to the working directory of the child process. |
| PR 30137. [Jeremy Chadwick <apache jdc.parodius.com>] |
| |
| *) Win32: Fix bug tracking the file pointer on a file opened for |
| overlapped/APR_XTHREAD io. [Bill Stoddard] |
| |
| *) Fix FreeBSD atomics. [Paul Querna <chip force-elite.com>] |
| |
| *) Fix apr_snprintf() to respect precision for small floating point |
| numbers. PR 29621. [Artur Zaprzala <zybi talex.pl>] |
| |
| *) Add command type APR_SHELLCMD_ENV for creating a process |
| which is started by the shell and which inherits the parent's |
| environment variables. [Jeff Trawick] |
| |
| *) Change default inter-process locking mechanisms: POSIX semaphores |
| and pthread cross-process mutexes are not used by default; on |
| Solaris, fcntl locks are used by default. [Joe Orton] |
| |
| *) Don't try to enable run-time linking on AIX < 4.2, as this |
| results in invalid linker options being used. PR 29170. |
| [Jeff Trawick] |
| |
| *) Remove apr_file_copy()'s 2Gb file size limit on some platforms. |
| [Joe Orton] |
| |
| *) Don't assume getnameinfo() can handle IPv4-mapped IPv6 addresses |
| on any platforms. |
| [Jeff Trawick, Joe Orton, Colm MacCárthaigh <colm stdlib.net>] |
| |
| *) Support setuid, setgid and sticky file permissions bits on Unix. |
| [André Malo] |
| |
| *) Fix sign error in apr_file_seek(APR_END). |
| [Greg Hudson <ghudson MIT.EDU>] |
| |
| *) Provide workaround for socklen_t declaration problem with 64-bit |
| build on HP-UX. Stop setting a PA-RISC-specific compile option |
| on ia64. Look for -mt thread option, which is used with HP-UX |
| vendor compiler on ia64. [Jeff Trawick, based on idea from |
| Madhusudan Mathihalli] |
| |
| *) Return an error instead of silently failing when apr_poll() is |
| used with file descriptors >= FD_SETSIZE. (Unix systems with |
| no native poll()) [Jeff Trawick, Brad Nicholes] |
| |
| *) Fix handling of negative numbers in apr_strtoi64() on platforms |
| without strtoll. [Joe Orton] |
| |
| *) Fix printing apr_int64_t values smaller than LONG_MIN on 32-bit |
| platforms in apr_vformatter. [Joe Orton] |
| |
| *) Fix apr_socket_opt_set with APR_IPV6_V6ONLY flag. Fixes httpd |
| Listen IPv6 socket behavior on FreeBSD 5.x, OpenBSD, NetBSD. |
| [Justin Erenkrantz] |
| |
| *) Fix apr_time_exp_get() for dates in 2038. |
| [Philip Martin <philip codematters.co.uk>] |
| |
| *) Add APR_LARGEFILE flag to allow opening files with the |
| O_LARGEFILE flag; not recommended for general use, see |
| include/apr_file_io.h. [Joe Orton] |
| |
| *) Various build fixes: thread_rwlock.c on some Solaris platforms |
| (PR 22990); filestat.c on ReliantUnix (PR 22990); config.status |
| on IRIX (PR 19251). [Various] |
| |
| *) Use NI_NAMEREQD instead of NI_NUMERICHOST in |
| APR_CHECK_GETNAMEINFO_IPV4_MAPPED. PR 24469. [Justin Erenkrantz] |
| |
| *) Ensure that apr_sockaddr_info_get() does not return anything |
| other than AF_INET and AF_INET6 addresses. [Joe Orton] |
| |
| *) Clarify that apr_dir_read() does not guarantee order of returned |
| entries as previously claimed. [Joe Orton] |
| |
| *) The whole codebase was relicensed and is now available under |
| the Apache License, Version 2.0 (http://www.apache.org/licenses). |
| [Apache Software Foundation] |
| |
| *) Define apr_off_t as long rather than as off_t on platforms with a |
| 32-bit off_t to prevent incompatibility with packages such as |
| Perl which redefine the size of off_t via _FILE_OFFSET_BITS on |
| some platforms. [Ben Reser <ben reser.org>] |
| |
| *) apr_socket_connect(): allow app to make subsequent call on |
| non-blocking socket. [Jeff Trawick] |
| |
| *) Add apr_os_pipe_put_ex(), which allows the caller to tell APR |
| to establish a cleanup on the pipe. [Jeff Trawick, Brad Nicholes] |
| |
| *) Fix make_exports.awk to work with apr-iconv. [Justin Erenkrantz] |
| |
| Changes with APR 0.9.4 |
| |
| *) win32: fix apr_file_dup() and apr_file_dup2() to dup the |
| ungetchar member [Stas Bekman] |
| |
| *) Preserve leading '../' segments as when merging to an empty and |
| unrooted path - fixes a bug observed in SVN with Win32/Netware/OS2. |
| [Mike Pilato <cmpilato@collab.net>, William Rowe] |
| |
| *) Work around a bug in Darwin when calling getnameinfo() on IPv4-mapped |
| IPv6-addresses. [Colm MacCárthaigh <colm@stdlib.net>, Jeff Trawick, |
| Justin Erenkrantz] |
| |
| *) Add apr_temp_dir_get() for getting the most suitable temp directory |
| [Mike Pilato <cmpilato@collab.net>, Thom May] |
| |
| *) Modify apr_sockaddr_info_get to call the resolver when we |
| do not have a hostname. Also, fix bugs in the getaddrinfo() |
| implementation. |
| [Colm MacCárthaigh <colm@stdlib.net>, Justin Erenkrantz] |
| |
| *) Change the behavior of unix process 'trylock's to return |
| APR_ENOTIMPL instead of segfaulting, consistent with the |
| other lock implementations. [William Rowe] |
| |
| *) Fix a subtle race where the ownership of a unix nested |
| thread lock could be corrupted when the prior owner released |
| the lock with another thread waiting on the same lock. |
| [William Rowe] |
| |
| *) apr_socket_data_set(): allow the same key to be used for |
| multiple sockets in the same pool. [Jeff Trawick] |
| |
| *) Add new table function apr_table_compress() and replace |
| red-black trees with mergesort in apr_table_overlap() |
| [Joe Schaefer <joe+gmane@sunstarsys.com>, Brian Pane] |
| |
| *) Win32: Adopt Brian Havard's OS/2 rwlock implementation for |
| Windows [Marc Adkins, Bill Stoddard] |
| |
| *) Add apr_proc_mutex_lockfile() for retrieving the name of the |
| file associated with a mutex. [Jeff Trawick] |
| |
| *) Don't require the lock file name to be passed into |
| apr_proc_mutex_child_init() or apr_global_mutex_child_init(). |
| This allows child init to work when the lock file was a temp |
| file created by APR. (The problem only occurred with flock- |
| based mutexes.) [Jeff Trawick] |
| |
| *) When using a temporary file for flock- and fcntl-based mutexes, |
| don't let the file be deleted on close. For flock-based mutexes, |
| this corrects a fatal problem, since the file would disappear |
| when a program was spawned and cleanup-for-exec was performed, |
| and a subsequent attempt to perform child process mutex |
| initialization would fail. For fcntl-based mutexes, this was a |
| very minor issue that resulted in a failing unlink() when the |
| file was closed, since fcntl lock initialization always removes |
| the file immediately. [Jeff Trawick] |
| |
| *) When writing to pipes with a timeout set, handle the situation |
| where the kernel says the pipe is writable but an attempt to |
| write <= PIPE_BUF bytes gets EAGAIN. APR will now write whatever |
| data will fit. APR applications that relied on the atomic nature |
| of relatively small pipe write requests may be affected. |
| PR 20295 [Mark Street <mark@faime.demon.co.uk>, Jeff Trawick] |
| |
| *) Define _THREAD_SAFE for all compilations on AIX. Previously |
| those of us who used the vendor compiler had it defined |
| implicitly and others did not. The difference became obvious |
| with the recent thread safety fixes to apr_password_validate(). |
| PR 20420 [Jeff Trawick] |
| |
| *) For apr_proc_detach(APR_PROC_DETACH_FOREGROUND), don't treat |
| a setsid() failure as fatal, as the usual cause is that the |
| caller is already a process group leader. PR 18519 |
| [Jeff Trawick] |
| |
| *) Fix some problems with non-blocking socket handling on unix |
| that resulted in infinite timeouts being used for non-blocking |
| sockets with apr_socket_connect() and some read/write calls. |
| [Jeff Trawick] |
| |
| *) Fix a bug in socket timeout handling on unix that left the |
| socket non-blocking after disabling the timeout. |
| [Jacob Craig Lewallen <jlewalle@cs.ucr.edu>] |
| |
| *) Added flag APR_FILE_ATTR_HIDDEN for manipulating the "hidden" |
| file attribute on Windows and OS/2. [Branko Čibej] |
| |
| *) SECURITY [CAN-2003-0245]: Fixed a bug that could be triggered |
| remotely through mod_dav and possibly other mechanisms, causing |
| an Apache child process to crash. The crash was first reported |
| by David Endler <DEndler@iDefense.com> and was researched and |
| fixed by Joe Orton <jorton@redhat.com>. Details will be released |
| on 30 May 2003. |
| |
| *) apr_proc_wait(): Handle interrupted waitpid(2) calls by calling |
| it repeatedly until it succeeds or fails with errno other than |
| EINTR. This hides this UNIX-specific behavior from APR clients. |
| |
| *) Removed the solaris-specific atomic code, due to licence |
| concerns (it was MPL 1.0, and the author could not be contacted) |
| [Ian Holsman] |
| |
| *) apr_file_gets(): Return APR_SUCCESS if any characters are |
| returned. Any I/O errors or EOF will be reported on the |
| next call. Callers that are coded to expect returned |
| data + APR_EOF when there is no final newline are affected |
| by this change. [Jeff Trawick] |
| |
| *) apr_proc_create() on Unix: Make the APR_SHELLCMD mode work |
| when there is more than one program argument passed in. |
| [Jeff Trawick] |
| |
| *) Add --cc and --cpp flags to apr-config. [Jeff Trawick] |
| |
| *) Don't segfault trying to close a file in error paths of flock |
| and fcntl mutex creation. PR 19036 [Jeff Trawick] |
| |
| *) Add %pT support to apr_snprintf() for printing an apr_os_thread_t. |
| [Jeff Trawick] |
| |
| *) Add APR_TCP_NODELAY_INHERITED & APR_O_NONBLOCK_INHERITED to apr.hw |
| [Allan Edwards] |
| |
| *) Add APR_UINT64_T_HEX_FMT. [Jeff Trawick] |
| |
| *) Add parameter to APR_SUBDIR_CONFIG to drop options passed to configure |
| before the subdir's configure is invoked. |
| [Jeff Trawick, Justin Erenkrantz] |
| |
| *) Implement APR_SO_RCVBUF socket option on Unix. |
| [Adam Sussman <myddryn@vishnu.vidya.com>] |
| |
| *) Don't add the math library (-lm) if the modf() function |
| is already available via libc. [Roy Fielding] |
| |
| *) Solaris cc: Don't use the -mt option for threaded builds. That |
| is for non-Posix threading, and the use of it prevented us from |
| linking with -lpthread, which in turn caused weird problems for |
| APR applications. [Kristofer Spinka <kspinka@style.net>] |
| |
| *) OS/2: apr_stat() fixes - When a character device is stat'ed, |
| fill in finfo.name if it was asked for. Return APR_INCOMPLETE |
| when appropriate. Addresses httpd incident [CAN-2003-0134]. |
| [Brian Havard] |
| |
| Changes with APR 0.9.3 |
| |
| *) Don't enable posixsem, at build time, on systems where sem_t * |
| won't "fit" into an int (sizeof-wise). Also, better error handling |
| when we fail to create a posixsem. PR 17186 [Scott Herod |
| <sherod@pillardata.com>, Jim Jagielski] |
| |
| *) Default hpux 10.x to disable threading, since if it exists at all |
| the pthread implementation should not be trusted, while hpux 10 |
| had its own threads implementation that is no longer supported. |
| PR 9457 [William Rowe] |
| |
| *) Fix error in apr-config when symlinks are involved. |
| [Garrett Rooney <rooneg@electricjellyfish.net>] |
| |
| Changes with APR 0.9.2 |
| |
| *) Numerous bug fixes for file and socket inheritence by child |
| processes on Unix, correcting bugs that affected the correct |
| behavior of apr_[file|socket]_inherit_[un]set() API. |
| [Bjoern A. Zeeb <bz@zabbadoz.net>, William Rowe, Joe Orton] |
| |
| *) Define APR_UINT64_T_FMT and APR_UINT64_T_FMT_LEN. |
| Define APR_INT64_T_FMT_LEN on Windows and Netware. [Branko Čibej] |
| |
| *) Correct apr_file_gets() on OS2 and Win32 so that '\r's are no longer |
| eaten, and apr_file_gets() -> apr_file_puts() moves the contents |
| uncorrupted. [William Rowe] |
| |
| *) Alter Win32's handling of the apr_proc_t hproc member, so that we |
| close that system handle wherever an apr function would invoke the |
| final waitpid() against a zombie process on Unix. [William Rowe] |
| |
| *) APR_MAX_SECONDS_TO_LINGER and APR_FNM_* #defines replace their |
| old undecorated names (missing APR_ prefix). The old names will |
| disappear with APR 1.0.0. |
| [Craig Rodrigues <rodrigc@attbi.com>, William Rowe] |
| |
| |
| *) When generating a semaphore name for posixsem locking, try to |
| be a little more robust (and unique). [Jim Jagielski] |
| |
| *) Add functions apr_env_get, apr_env_set and apr_env_delete for |
| manipulating the environment. [Branko Čibej] |
| |
| *) Fix APR_LAYOUT to work with layout files with no preceding blank lines |
| and emit errors when layout is not found. PR 15679. |
| [Justin Erenkrantz] |
| |
| *) Add functions apr_filepath_list_split and apr_filepath_list_merge |
| for managing search paths. [Branko Čibej] |
| |
| *) Introduce Release mode debugging symbols for Win32 builds of apr. |
| All library builds gain /Zi for debug symbols (which are discarded |
| at link time if some flavor of the /debug flag isn't passed to link) |
| and .dll builds gain .pdb symbols. [Allen Edwards, William Rowe] |
| |
| *) Add two new proc attributes to improve diagnostics for |
| apr_proc_create() failures on platforms where fork()+exec() is used. |
| See the doc for apr_procattr_child_errfn_set() and |
| apr_procattr_error_check_set(). [Jeff Trawick] |
| |
| *) Rename rules.mk to apr_rules.mk and make apr_rules.mk be installed. |
| [Thom May] |
| |
| *) Fix a bug in apr_proc_create() that could cause a new child process |
| to run the parent's code if setrlimit() fails. [Jeff Trawick] |
| |
| *) Disable apr_socket_sendfile() on 64-bit AIX to avoid an apparent |
| system problem. PR 11408. [Jeff Trawick] |
| |
| *) Add --includedir flag to apr-config. [Justin Erenkrantz] |
| |
| *) Only include sys/syslimits.h if we don't have limits.h |
| [Craig Rodrigues <rodrigc@attbi.com>, Garrett Rooney |
| <rooneg@electricjellyfish.net>, Thom May] |
| |
| *) Allow apr-config to work in symlinked install directories when |
| 'realpath' is available. [Justin Erenkrantz] |
| |
| *) Namespace protect the header files in include/arch |
| [Thom May] |
| |
| *) Add function apr_filepath_encoding and associated constants. |
| [Branko Čibej] |
| |
| *) Allow apr_hash to have greater than int number of elements. |
| [Justin Erenkrantz] |
| |
| *) Allow generation of dependencies by non-GCC compilers. |
| [Justin Erenkrantz] |
| |
| *) Prevent obscenely large values of precision in apr_vformatter |
| from clobbering a buffer. [Sander Striker, Jim Jagielski] |
| |
| *) limit the renames performed in apr_rename.pl to the most recent renames. |
| [Thom May] |
| |
| *) Changed apr_mmap_dup() and friends so that there's no longer any |
| is_owner concept on the mmaped region, but rather something more |
| along the lines of a reference count. This allows the old apr_mmap_t |
| to still be used safely when the new apr_mmap_t is in a disjoint pool. |
| [Cliff Woolley, Sander Striker] |
| |
| *) Fix a bug in apr_hash_merge() which caused the last entry in the |
| overlay hash to be lost. PR 10522 [Jeff Trawick] |
| |
| *) Add DougM's apr_rename.pl script into helpers, and update for the new |
| batch of updates [Thom May] |
| |
| *) Renames done (deprecated functions wrapped): |
| apr_filename_of_pathname -> apr_filepath_name_get |
| apr_get_groupid -> apr_gid_get |
| apr_get_groupname -> apr_gid_name_get |
| apr_compare_groups -> apr_gid_compare |
| apr_parse_addr_port -> apr_port_addr_parse |
| apr_shutdown -> apr_socket_shutdown |
| apr_bind -> apr_socket_bind |
| apr_listen -> apr_socket_listen |
| apr_accept -> apr_socket_accept |
| apr_connect -> apr_socket_connect |
| apr_send -> apr_socket_send |
| apr_sendv -> apr_socket_sendv |
| apr_sendto -> apr_socket_sendto |
| apr_implode_gmt -> apr_time_exp_gmt_get |
| apr_get_home_directory -> apr_uid_homepath_get |
| apr_get_userid -> apr_uid_get |
| apr_current_userid -> apr_uid_current |
| apr_compare_users -> apr_uid_compare |
| apr_get_username -> apr_uid_name_get |
| apr_recvfrom -> apr_socket_recvfrom |
| apr_sendfile -> apr_socket_sendfile |
| apr_recv -> apr_socket_recv |
| [Thom May] |
| |
| *) Add APR_IPV6_V6ONLY socket option. [Jeff Trawick] |
| |
| *) Update timeout algorithm in free_proc_chain. If a subprocess |
| did not exit immediately, the thread would sleep for 3 seconds |
| before checking the subprocess exit status again. In a very |
| common case when the subprocess was an HTTP server CGI script, |
| the CGI script actually exited a fraction of a second into the 3 |
| second sleep, which effectively limited the server to serving one |
| CGI request every 3 seconds across a persistent connection. |
| [Bill Stoddard, Kai.Risku@arrak.fi] |
| |
| *) Update doxygen tags. [Justin Erenkrantz] |
| |
| *) NetWare: implemented a file IO path context scheme to directly |
| reference directory paths and files in the file system rather |
| than having to traverse the file system on every stat() or |
| open() call. (Performance enhancement) [Brad Nicholes] |
| |
| *) ReliantUnix: recognize that dlsym() is in libdl and dlopen() is in |
| libc. The check is generic so maybe this fixes some other system. |
| PR 14189 [Jeff Trawick] |
| |
| *) Win32: Fix APR_APPEND file i/o. [Bill Stoddard] |
| |
| *) Fix a problem retrieving the remote socket address for sockets |
| created via apr_os_sock_put() or apr_os_sock_make(). [Jeff Trawick] |
| |
| *) Add recognition of and socket API support for the SCTP protocol. |
| [Randall Stewart <randall@stewart.chicago.il.us>] |
| |
| *) Win32: apr_shutdown was not honoring apr_shutdown_how_e and |
| always shutting down the socket for read. This could result |
| in Apache HTTPD 2.0 clients getting early connection closures |
| because lingering_close() was broken. [Bill Stoddard, Allan Edwards] |
| |
| *) Add apr_atomic_casptr() to support atomic compare-and-swap |
| of pointers [Brian Pane] |
| |
| *) Add apr_socket_create_ex() to allow protocol to be specified for the |
| socket. With APR 1.0, this function will be removed and apr_socket_create() |
| will have the additional parameter. |
| [Randall Stewart <randall@stewart.chicago.il.us>] |
| |
| *) Fix the detection of INT64_C() when defined in <stdint.h>. |
| [Joe Orton <joe@manyfish.co.uk>] |
| |
| *) Don't use whitespace before preprocessor directives in the configure |
| logic. Such whitespace breaks with some older preprocessors; a |
| particularly nasty break occurs on Tru64 4.0f where APR_CHECK_DEFINE |
| will always succeed. [Joe Orton <joe@manyfish.co.uk>] |
| |
| *) Add APR_IPV4_ADDR_OK flag to apr_sockaddr_info_get() to allow |
| apps to avoid lookup of IPv6 address if IPv4 address is sufficient. |
| (New APR_IPV6_ADDR_OK flag is similar.) [Jeff Trawick] |
| |
| *) Disable IPv6 support on Darwin. The current IPv6 support has a |
| problem in getnameinfo() which breaks certain applications. |
| [Sander Temme <sctemme@covalent.net>, Jeff Trawick] |
| |
| *) Support for SCO OpenServer Release 5 [Kean Johnston <jkj@caldera.com>] |
| |
| *) Faster (inline and mutex-free) implementations of all apr_atomic |
| operations for Linux/x86 (requires a 486 or later; to enable, |
| configure APR with --enable-nonportable-atomics=yes ) [Brian Pane] |
| |
| *) Add --bindir option to apr-config. [Justin Erenkrantz] |
| |
| *) Begin to rehash the test suite. There is now a new test program called |
| testall. This program currently runs testtime and teststr with the |
| CuTest framework. The stand-alone programs for testtime and teststr |
| can be built, but only if a special flag is specified when building. |
| [Ryan Bloom] |
| |
| *) Fix a broken check for a failure to read from the random device file. |
| PR 12615 [tenthumbs@cybernex.net] |
| |
| *) Print informative link errors on Darwin. [Justin Erenkrantz] |
| |
| Changes with APR 0.9.1 |
| |
| *) Fixed usage of alloca in apr_poll() on Tru64 |
| [Dave Hill <ddhill@zk3.dec.com>] |
| |
| *) Running "make check" in the toplevel directory or the test/ directory |
| will build and run all test programs. [Aaron Bannert] |
| |
| *) Add apr_array_pop(). [Justin Erenkrantz] |
| |
| *) Fixed the native SPARC v8plus version of apr_atomic_dec |
| to match the semantics of the default C version [Brian Pane] |
| |
| Changes with APR 0.9.0 |
| |
| *) If the length argument to apr_snprintf is 0, then we should return the |
| length that the string would be if we actually were going to fill it out. |
| However, if the length argument is 0, we can also accept a NULL string. |
| Also, added a test case for this. [Ryan Bloom] |
| |
| *) Printing a string with apr_snprintf can seg fault, if a precision is |
| specified for the string, and the string being printed doesn't have a |
| trailing '\0'. Fix that seg fault by not calling strlen if a precision |
| is specified when printing a string. Also add a test to the test suite |
| for this case. |
| [R Samuel Klatchko <rsk@brightmail.com>] |
| |
| *) handle leak related to threads on Windows2000/XP |
| [INOUE Seiichiro <inoue@ariel-networks.com>] |
| |
| *) Includes moved to INCLUDEDIR/apr-{major} (e.g. /usr/include/apr-0) |
| [Greg Stein] |
| |
| *) libtool versioning is used to give the library sonames a real |
| value. The libraries will be libapr-{major}.so.0.{minor}.{patch} |
| [Greg Stein] |
| |
| *) Fix apr_tokenize_to_argv() to remove the escape character |
| (backslash) from the argument tokens. PR 11793 [Paul J. Reder] |
| |
| *) Add APR_PARSE_ARGUMENTS and APR_LAYOUT macros for better layout |
| support. [Thom May] |
| |
| *) Add parallel-apr layout which utilizes the major version number in |
| directories and library names. [Justin Erenkrantz] |
| |
| *) Add a version number to the library name (e.g. libapr-1.so) so |
| that apps can do things like: -lapr-1 or -lapr-2, depending on |
| which version they want to use and link against. [Greg Stein] |
| |
| *) Add --version to apr-config so that apps can retrieve the version |
| information of the (installed) APR. [Greg Stein] |
| |
| *) Remove the APRVARS system; apps should use apr-config. [Greg Stein] |
| |
| *) EBCDIC: fix compile failure in strings/apr_strings.c in |
| httpd-2.0.40 with the following error message: |
| CANNOT COMPILE apr_strtoi64(), only ASCII and EBCDIC supported |
| |
| *) In apr_signal_thread() remove synchronous signals from the mask |
| passed to sigwait(). It is never valid for them to be there. |
| Some platforms silently ignore them, some return EINVAL, some |
| don't process it as desired. [Jeff Trawick] |
| |
| *) Change config.nice generation to always expand variables. |
| [Justin Erenkrantz] |
| |
| *) Renamed apr_strtoll()/apr_atoll() to follow int64 convention, |
| so these new helpers are apr_strtoi64/apr_atoi64(), since |
| 'll' (long long) is a nonportable and aspecific construct. |
| Used ac/m4 tests to choose the appropriate fn behind strtoi64. |
| [William Rowe] |
| |
| *) don't perform a strlen on that name value without checking for NULL |
| first (in getopt) |
| [David Waite <mass@akuma.org>, Ian Holsman] |
| |
| *) Added apr_strtoll() and apr_atoll() to strings lib. |
| [Shantonu Sen <ssen@apple.com>, Wilfredo Sanchez] |
| |
| *) Added a lightweight internal index to apr_table_t to speed up |
| table lookup operations [Brian Pane] |
| |
| *) initalize handle members to invalid before calling createprocess |
| on win32 [Rob Saccoccio <robs@fastcgi.com>] |
| |
| *) Removed apr/i18n to apr-util/xlate for inclusion of apr-iconv |
| as required by missing libiconv. [William Rowe] |
| |
| *) Removed apr/md5 and apr/uuid into apr-util/crypto. [William Rowe] |
| |
| *) Add APR_BUFFERED support to apr_os_file_put(). [Justin Erenkrantz] |
| |
| *) Fix misinterpretation of timeout for select() on Win32/Netware. |
| Identified by [TANAKA Koichi <tanaka@ariel-networks.com>] |
| |
| *) Re-write apr_poll() on Unix. This improves the performance by |
| giving the user back control over the memory in the pollset. |
| [Ryan Bloom] |
| |
| *) Added APR_LIMIT_NOFILE option to apr_procattr_limit_set() to |
| control the file descriptor limit on platforms that support |
| RLIMIT_NOFILE. [Brian Pane] |
| |
| *) FreeBSD: change apr_sendfile to accomodate a 4.6 kernel patch. |
| [Greg Ames] |
| |
| *) Faster code for the apr_table get/set functions [Brian Pane] |
| |
| *) Fix the userid functions on Irix to handle the way that Irix |
| reports a failure from getpwnam_r(). PR 10095. |
| [Robert I. Cowles <ric@cs.uregina.ca>, Jeff Trawick] |
| |
| *) apr_table_do() and apr_table_vdo() now return an int rather than |
| void to indicate whether or not any of its iterations returned 0. |
| [Cliff Woolley] |
| |
| *) Fix the definition of union semun so that it is valid on systems |
| where sizeof(long) != sizeof(int). This resolves a hang on |
| HP-UX/Itanium. |
| [Madhusudan Mathihalli <madhusudan_mathihalli@hp.com>] |
| |
| *) Correct shared library support on Darwin to not fatally error out |
| when a shared library does not exist. [Justin Erenkrantz] |
| |
| *) Added optimized atomic CAS support for Linux/x86 (available only |
| when APR is configured with --enable-nonportable-atomics=yes) |
| [Brian Pane] |
| |
| *) Fix a compile error in the EGD support in rand.c on older Solaris |
| versions. PR 9976 [Jim Morris <jmorris@sunflower.com>] |
| |
| *) Fixed apr_file_seek() to unset the eof_hit flag. [Stas Bekman] |
| |
| *) Removed --disable-atomics flag and added --enable-nonportable-atomics, |
| thereby defaulting to portable binaries on those systems that could |
| be optimized at the expense of portability. PR: 9507 [Aaron Bannert] |
| |
| *) Added 2 additional lock functions: apr_proc_mutex_name and |
| apr_proc_mutex_defname which returns the type name of the mutex |
| (eg: "sysvsem") as well as the default mutex type (APR_LOCK_DEFAULT). |
| Mostly useful under Unix were the locktypes are selectable. |
| [Jim Jagielski] |
| |
| *) Fixed apr_generate_random_bytes() for Win32 on Win NT or 9x by |
| dropping the 0x40 bit (CRYPT_SILENT) for earlier OS'es. |
| PR 9286 [William Rowe] |
| |
| *) Added --with-devrandom=[DEV] configure flag which allows a particular |
| "/dev/random"-compatible device to be specified, overriding the |
| default search path (/dev/random then /dev/arandom then /dev/urandom). |
| Also, if --with-egd=<path> is specified, it now implies |
| --without-devrandom. [Cliff Woolley] |
| |
| *) Darwin/Mac OS X: Don't leave zombie processes when the app calls |
| apr_signal(SIGCHLD, SIG_IGN). This fixes a problem with Apache's |
| mod_cgid. PR 9168. [Jeff Trawick] |
| |
| *) Win32: Fix bug where apr_sendfile() was incorrectly returning |
| APR_SUCCESS on a TransmitFile call that was interrupted by |
| the client closing its end of the connection. Always call |
| GetOverlappedResults() to get results of async TransmitFile() |
| completion notification. [Bill Stoddard] |
| |
| *) Renamed APR_XtOffset -> APR_OFFSET and APR_XtOffsetOf -> APR_OFFSETOF. |
| [Cliff Woolley] |
| |
| *) Cygwin: the unix version of apr_file_open() must respect the |
| APR_BINARY flag if the underlying platform requires it (in |
| which case we assume O_BINARY is defined). PR 9185. |
| [Cliff Woolley] |
| |
| *) Linux, AIX: Use crypt_r() instead of crypt() because the native |
| crypt() is not thread-safe. The misuse of crypt() led to |
| intermittent failures with Apache basic authentication when crypt |
| passwords were being used. [Jeff Trawick] |
| |
| *) AIX: Global mutexes don't need an intraprocess mutex when SysV |
| sems are used for the crossprocess mutex. |
| Darwin: The same optimization was applied for Posix sems. |
| [Jeff Trawick] |
| |
| *) Fix a problem with global mutexes on OS/390 when something other |
| than the default mechanism (SysV sem) was used. The mutexes didn't |
| necessarily block out other threads in the same process. |
| [Jeff Trawick] |
| |
| *) Fixed apr_strfsize formatting of values over 1 gig |
| [Matsuzaki Yoshinobu <maz@iij.ad.jp>] |
| |
| *) Renamed --disable-atomics as --disable-optimized-atomics, |
| since it doesn't really disable the atomics. [Aaron Bannert] |
| |
| *) Converted apr_pcalloc to a macro [Brian Pane] |
| |
| *) Fixed APR_STATUS_IS_ETIMEDOUT macro. |
| [Dagfinn Aarvaag <dagfinn.aarvaag@beepscience.com>] |
| |
| *) Add --disable-atomics switch to override our handcoded assembly |
| optimizations. Note that this has no effect if your operating |
| system has a userspace atomic interface. [Justin Erenkrantz] |
| |
| *) Remove Linux atomic support since it does not have a usable |
| userspace atomic interface. [Justin Erenkrantz] |
| |
| *) Don't require that the DNS can map 127.0.0.1 when checking for |
| the presence/usability of getnameinfo(). PR 7642. [Jeff Trawick] |
| |
| *) Remove APR_WANT_SIGNAL from apr_want.h because code must include |
| apr_signal.h in order to get consistent definitions. [Roy Fielding] |
| |
| *) Don't try to use /dev/zero and mmap on platforms that don't |
| support that (such as HP-UX). PR 8537. [Justin Erenkrantz] |
| |
| *) Reduce the number of apr_sendfile calls on AIX and OS/390 by |
| remembering when the kernel tells us the next one will block. |
| [Jeff Trawick] |
| |
| *) Reduce the number of apr_sendfile calls on FreeBSD by remembering |
| when the kernel tells us the next one will block. [Greg Ames] |
| |
| *) To support modules like PHP, which implement their own |
| loaded extensions, Darwin needs to place their public |
| symbols in the global table. [Marko Karppinen <markonen@php.net>, |
| Jim Jagielski] |
| |
| *) Rename apr_get_groupname to apr_group_name_get. |
| [Thom May <thom@planetarytramp.net>] |
| |
| *) Allow VPATH builds to properly build dependencies and switch to |
| a .deps dependency model to mimic httpd-2.0. [Justin Erenkrantz] |
| |
| *) Tru64: Stop leaving zombies in APR apps like mod_cgid which |
| tell APR to ignore SIGCHLD. |
| [Dave Hill <David.D.Hill@Compaq.com>] |
| |
| *) Ensure that the ATOMIC_HASH can not be negative. |
| [Joe Orton <jorton@redhat.com>] |
| |
| *) Fix a problem with eof reporting with Unix file I/O on |
| unbuffered files. [Stas Bekman <stas@stason.org>] |
| |
| *) Rename apr_explode_time to apr_time_exp_tz. |
| [Thom May <thom@planetarytramp.net>] |
| |
| *) Rename apr_explode_localtime to apr_time_exp_lt. |
| [Thom May <thom@planetarytramp.net>] |
| |
| *) Set precompiler for Solaris atomics when using GNU binutils. |
| PR 7876. [solomon@conceptshopping.com (Marvin Solomon)] |
| |
| *) AIX: Fix breakage with 64-bit builds on versions of AIX prior |
| to 5L. PR 7957 [Jeff Trawick] |
| |
| *) On socket write functions (apr_sendfile, apr_send, apr_sendv), |
| added a select to wait for writability on the socket if the |
| previous write was incomplete. [Jeff Trawick, Brian Pane] |
| |
| *) Deprecated the apr_lock.h API. Please see the following files |
| for the improved thread and process locking and signaling: |
| apr_proc_mutex.h, apr_thread_mutex.h, apr_thread_rwlock.h, |
| apr_thread_cond.h, and apr_global_mutex.h. [Aaron Bannert] |
| |
| *) Fix some daylight savings time breakage on (at least) AIX, |
| Solaris, and HP-UX. [Jeff Trawick] |
| |
| *) Added support for Posix semaphores (sem_open, et.al.) for mutex |
| locking. We use named semaphores in this implementation. The |
| default priority is between pthread and sysvsem. |
| [Jim Jagielski] |
| |
| *) Get flock-based mutexes to work in apps like Apache. Use the |
| same permissions on flock- and fcntl-based mutexes as Apache |
| 1.3. [Jeff Trawick] |
| |
| *) Fix apr-config so that it will not attempt to cd to a non-existent |
| directory. [Justin Erenkrantz] |
| |
| *) Change the ordering of the apr_lock implementation method to |
| better match what's done in Apache 1.3. The ordering is |
| now (highest to lowest): pthread -> sysvsem -> fcntl -> flock. |
| [Jim Jagielski] |
| |
| *) Improve detection of the INT64_C macro to prevent problems |
| with HP-UX's ANSI C compiler. PR 8932. [Justin Erenkrantz] |
| |
| *) Make sure gethostbyname() can handle 255.255.255.255 if we |
| are to trust it to handle numeric address strings in |
| apr_sockaddr_info_get(). This fixes a problem on HP-UX |
| which led to an assertion failure at Apache startup when |
| using vhosts. [Jeff Trawick] |
| |
| *) Don't mask SIGUSR2 [Jin Hong <jinh@cnet.com>] |
| |
| *) Load libraries if they not MH_BUNDLE, but if they are not, it |
| just attempts to link them as shared libs. |
| [Pier Fumagalli <pier@betaversion.org>] |
| |
| *) apr_atomic_dec now returns a zero value if the value of |
| the atomic is zero, non-zero otherwise [Ian Holsman] |
| |
| *) When opening a file, only create an internal thread mutex |
| if APR_XTHREAD is set. [Brian Pane] |
| |
| *) Move the kill_conditions enum in apr_thread_proc.h into the |
| APR namespace. kill_after_timeout et al have been renamed |
| appropriately (e.g., APR_KILL_AFTER_TIMEOUT). [Jeff Trawick] |
| |
| *) Fix a segfault in apr_thread_rwlock_destroy() on Win32. |
| [INOUE Seiichiro <inoue@ariel-networks.com>] |
| |
| *) configure now checks to see if we can change DNS timeout values |
| [Ian Holsman] |
| |
| *) Fix a bug in apr_file_seek() on Unix when using buffered |
| files. PR 10003 [Jeff Trawick] |
| |
| *) Small table performance optimization: eliminate the |
| zero-fill of newly allocated elements when expanding |
| a table's size. [Brian Pane] |
| |
| *) Allow APR to install its generated libtool(s) via the |
| --with-installbuilddir option (defaults to ${datadir}/build). |
| [Justin Erenkrantz] |
| |
| *) renames: apr_ansi_time_to_apr_time becomes apr_time_ansi_put |
| ap_exploded_time_t becomes apr_time_exp_t |
| [Thom May <thom@planetarytramp.net>] |
| |
| *) Add the APR_FILE_NOCLEANUP flag to apr_file_open(). |
| Adding the flag will prevent the file from being closed |
| when the pool passed in on apr_file_open() is destroyed. |
| This feature is useful when using apr_os_file_get|put() |
| to manage the apr_os_file_t in apr_file_t (ie, file handle |
| caching in the HTTP server) [Bill Stoddard] |
| |
| *) Win32: Fix APR_XTHREAD problems in apr_file_read() |
| and apr_file_write(). Multiple threads were using the |
| same overlapped structure and io event handle created |
| in the open call, which could cause unpredictable |
| file i/o results. [Bill Stoddard] |
| |
| *) Win32: apr_proc_mutex_trylock and apr_proc_mutex_lock were |
| incorrectly returning APR_BUSY if the lock was previously |
| held by a thread that exited before releasing the lock |
| (ie, if the process holding the lock segfaults). The MSDN |
| doc says when WaitForSingleObject returns WAIT_ABANDONED, |
| the calling thread takes ownership of the mutex, so these |
| two routines should return APR_SUCCESS in this case, not |
| APR_BUSY. [Bill Stoddard] |
| |
| *) Added a new m4 function APR_EXPAND_VAR that will iteratively |
| interpolate the contents of a variable, such as $sysconfdir, |
| for use in a borne script. [Aaron Bannert] |
| |
| *) apr-atomic support for old-sparc's and gas on solaris |
| [Dale Ghent <daleg@elemental.org>, jean-frederic clere, Ian Holsman] |
| |
| *) Change apr_proc_detach to take a parameter that can enable/disable |
| automatic forking (aka, to "daemonize"). |
| [Jos Backus <josb@cncdsl.com>, Aaron Bannert] |
| |
| *) Implement apr_global_lock_foo() on Win32 |
| [Bill Stoddard] |
| |
| *) Fix select() argument call when waiting for IO. PR 9674. |
| [David MacKenzie <djm@pix.net>] |
| |
| *) Add a new lock API (apr_global_mutex_t) to provide guaranteed |
| cross-process AND cross-thread mutual exclusion. [Aaron Bannert] |
| |
| *) Note: We are in the process of deprecating the apr_lock.h API. |
| The new and improved lock/synchronization APIs now reside |
| in apr_thread_mutex.h, apr_proc_mutex.h, apr_thread_rwlock.h, |
| and apr_thread_cond.h. [Aaron Bannert] |
| |
| *) Enable autoconf 2.52{f,g} build support. |
| [Blair Zajac <blair@orcaware.com>] |
| |
| *) Added new functions for atomic operations. These are experimental |
| at the moment, so use in apps is discouraged [Ian Holsman] |
| |
| *) Correct serious problems with the Win32 apr_file_dup2 |
| and apr_file_open_stdxxx() fns. [William Rowe] |
| |
| *) Begin implementation of the WinCE port. |
| [Mladen Turk <mturk@mappingsoft.com>] |
| |
| *) Disable SHMEM_MMAP_ZERO on HPUX 11.x where it is not supported. |
| Use SHMEM_SHMGET_ANON instead. [Aaron Bannert] |
| |
| *) Fix a few attempts to add to a void * ptr in the Unix shared |
| memory support code. PR #9710 Per Ekman [pek@pdc.kth.se] |
| |
| *) In the Linux apr_sendfile(), fix the types of some parameters |
| to apr_send() and apr_recv(). Breakage was seen in 64-bit mode |
| on s/390. PR #9712 [Neale.Ferguson@SoftwareAG-usa.coom] |
| |
| *) added APR_PROGRAM_ENV and APR_PROGRAM_PATH options for starting |
| processes via apr_proc_create() [Greg Stein] |
| |
| *) Deprecated apr_pool_free_blocks_num_bytes() [Sander Striker] |
| |
| *) Add --enable-pool-debug to make it easier for people to |
| enable pool debug mode. Removed the APR_POOL_DEBUG_VERBOSE |
| define that was previously being used. [Sander Striker] |
| |
| *) Changed the apr_file_dup2() function prototype. It can only |
| take and reuse an apr_file_t*, and will no longer create one |
| if *new_file == NULL (use apr_file_dup() for that). [Aaron Bannert] |
| |
| *) Implemented name-based shared memory on Unix. [Aaron Bannert] |
| |
| *) Fix spelling mistakes in APRDesign. |
| [Blair Zajac <blair@orcaware.com>] |
| |
| *) Ensure that apr_file_mktemp creates the temp file if it isn't there. |
| [John Sterling <sterling@covalent.net>] |
| |
| *) Make sure to pre-mark anon SysV shared memory segments as |
| removed. [Jim Jagielski] |
| |
| *) Add --with-efence to allow usage of Electric Fence. |
| [Justin Erenkrantz] |
| |
| *) Updated the pools debug code. Check if a pool is still |
| valid on the most common apr_pool_xxx functions. |
| Fix the way APR_POOL_DEBUG_VERBOSE was using stderr. |
| Make the output somewhat nicer in this debug mode. [Sander Striker] |
| |
| *) Add new define APR_POOL_DEBUG_VERBOSE which spits out info |
| about pool creation/destruction [Ian Holsman] |
| |
| *) Fix GMT offset adjustments for platforms that do not have native |
| GMT offset adjustments. [Jon Travis <jtravis@covalent.net>] |
| |
| *) Add new apr_shm_t API and remove old apr_shmem_t API. The new |
| API handles both anonymous and name-based shared memory. Anonymous |
| shared memory segments are only usable on systems with process |
| inheritance, and so the new API with name-based segments is |
| usable on platforms like Win32. [Aaron Bannert and William Rowe |
| with much help from Justin Erenkrantz and Sander Striker] |
| |
| *) Add --with-egd to support EGD-compatible entropy gatherers for |
| those platforms without native support. [Justin Erenkrantz] |
| |
| *) apr_lock_create() and apr_proc_mutex_create() now have an |
| additional parameter for specifying the lock mechanism. |
| apr_lock_create_np() and apr_proc_mutex_create_np() have been |
| removed. [Jeff Trawick] |
| |
| *) Change the prototype of apr_thread_exit() so that the apr_status_t |
| is no longer a pointer. It was difficult and sometimes hazardous |
| to return a apr_status_t* at times, and this allows us to return |
| the APR_* error codes directly. [Aaron Bannert] |
| |
| *) Add apr_sockaddr_equal() for comparing APR sockaddrs. |
| [Jeff Trawick] |
| |
| *) Win32: apr_sendfile() should return APR_ENOTIMPL if |
| oslevel < WINNT. [Bill Stoddard] |
| |
| *) Put new pools code in place which allows applications to |
| switch off locking on pools operations in case a pool is |
| guaranteed to never being used in more than one thread |
| at the same time. We've seen a significant performance |
| improvement over the old code. [Sander Striker] |
| |
| *) Add apr-config - a shell script to allow third-party programs |
| easy access to APR configuration parameters. [Justin Erenkrantz] |
| |
| *) Add find_apr.m4 to allow third-party programs that use APR to |
| have a standard m4 macro for detection. [Greg Stein] |
| |
| *) SEGV in apr_table_overlap [Brian Pane] |
| |
| *) apr_array_copy speedup by removing the zero-fill [Brian Pane] |
| |
| *) Fix build breakage on systems with getaddrinfo() but not |
| gai_strerror() (e.g., RedHat 5.2). [Jeff Trawick] |
| |
| *) Fix a problem in Unix apr_file_dup() which caused 0 to be returned |
| by the first read. [Stas Bekman <stas@stason.org>] |
| |
| *) Fix a buglet that caused APR_FILE_BASED_SHM to be set inadvertently |
| on some platforms (e.g., Linux, AIX). [Jeff Trawick] |
| |
| *) Speed up apr_table operations by using a cache/checksum and a |
| red-black tree in the overlay. |
| [Brian Pane <bpane@pacbell.net>, Cliff Woolley] |
| |
| *) Speed up apr_pool_userdata_set[n] by letting hash_set figure out |
| the strings length. [Brian Pane <bpane@pacbell.net>] |
| |
| *) New function apr_mmap_dup. This is called in the mmap_setaside. |
| [Brian Pane <bpane@pacbell.net>] |
| |
| *) Speed up the apr_hash_t implementation's handling of APR_HASH_KEY_STRING. |
| [Brian Pane <bpane@pacbell.net>] |
| |
| *) Tweak apr_gethostname() so that it detects truncation of the |
| name and returns an error. [Jeff Trawick] |
| |
| *) Fix bug in Darwin DSO code. [Sander Temme] |
| |
| *) Fix apr_setup_signal_thread() to grab the right error code from |
| a sigprocmask() failure. This only affects platforms that use |
| sigprocmask() in lieu of pthread_sigmask(). [Jeff Trawick] |
| |
| *) Fix the Unix HAVE_POLL flavor of apr_poll_socket_mask() so that |
| it doesn't segfault. Avoid some wasted storage in a poll-related |
| APR structure. [INOUE Seiichiro <inoue@ariel-networks.com>] |
| |
| *) Fix apr_setup_signal_thread() so that threads don't block |
| synchronous signals (e.g., SIGSEGV). It is a programming error |
| to do so, and some platforms (e.g., Solaris, AIX) don't call any |
| registered signal handler when such signals are blocked. |
| [Jeff Trawick] |
| |
| *) Change the apr_table_elts macro so that it provides access via |
| a const pointer instead of a non-const pointer. |
| [Brian Pane <bpane@pacbell.net>] |
| |
| *) Use strerror_r() where available, since strerror() isn't always |
| thread-safe. Example systems where strerror() isn't thread-safe: |
| Linux+glibc, AIX [Jeff Trawick] |
| |
| *) Fix some file cleanup problems in apr_proc_create() which could |
| result in the pipes for stdin/stdout/stderr being closed |
| immediately. [Jeff Trawick] |
| |
| *) New functions apr_hash_[merge|copy], change to overlay fn |
| so that it calls merge, which does a inline iteration instead |
| of calling the iterator function. [Brian Pane <bpane@pacbell.net>] |
| |
| *) Introduce the apr_pool_userdata_setn() variant that doesn't |
| strdup the key. Allows both the _setn() and _set() variant to |
| accept NULL for the cleanup. [Brian Pane <bpane@pacbell.net>] |
| |
| *) Re-vamp the apr_proc_wait and apr_proc_wait_all functions. We |
| now return the exit code from the program and a reason that the |
| program died, either normal exit or signalled. |
| [Jeff Trawick and Ryan Bloom] |
| |
| *) Implement portable accessors for proc mutex. These are equivalent |
| to apr_os_lock_get/set, but they work for apr_proc_mutex_t types |
| instead. [Aaron Bannert] |
| |
| *) Added a new parameter to apr_thread_mutex_init(). Now, by default, |
| thread mutexes are not nested (sometimes called "recursive"). To |
| enable nested mutexes, a flag must be passed to the init script. |
| Non-nested mutexes are much faster than nested ones. |
| [Aaron Bannert] |
| |
| *) read_with_timeout in apr/file_io/win32/readwrite.c incorrectly |
| returned APR_SUCCESS instead of APR_EOF when PeekNamedPipe failed |
| and the result from GetLastError() was ERROR_BROKEN_PIPE. Because |
| of this, the pipe wasn't closed as soon as it could be. |
| [Tim Costello <tim.costello@zcmgroup.com.au>] |
| |
| *) Fix a problem in the Win32 pipe creation code called by |
| apr_proc_create(): It didn't register cleanups for either the |
| read or the write ends of the pipe, so file handles (and event |
| handles for pipes with asynchronous I/O mode set) are never |
| closed. [Tim Costello <tim.costello@zcmgroup.com.au>] |
| |
| *) Add support for QNX 6. [J.T. Conklin <jtc@acorntoolworks.com>] |
| |
| *) We now create exports.c and export_vars.h, which in turn create |
| exports.c. From this we generate two more files with different |
| purposes: apr.exp - list of exported symbols; and exports.lo |
| (exports.o) - an object file that can be linked with an executable |
| to force resolution of all apr symbols. [Aaron Bannert] |
| |
| *) Add the apr_thread_cond_timedwait function to the condition |
| variable API. [Aaron Bannert] |
| |
| *) Fixed apr_file_mktemp on systems without mkstemp (Win32, etc). |
| [Mladen Turk, Cliff Woolley] |
| |
| *) Fix a segfault in apr_poll_clear on Unix. Also fix the logic |
| for the case where there are multiple events ORed together in |
| the events list. [Jamshid Mahdavi <mahdavi@volera.com>] |
| |
| *) Files opened on Unix with the flag APR_DELONCLOSE are now |
| not unlinked until they are actually closed, rather than as |
| soon as they're opened. The old approach worked but made |
| handling temp files harder. [Cliff Woolley] |
| |
| *) Fix potential segfault when closing a file on Unix. If |
| apr_file_close() was called and it failed, it would not |
| deregister the file cleanup. Therefore the cleanup would |
| be run again later on a now-invalid descriptor. [Cliff Woolley] |
| |
| *) Introduce apr_pool_lock for debugging, in combination with |
| ALLOC_USE_MALLOC + DEBUG_WITH_MPROTECT. Only implemented |
| on Win32 today, very effective for debugging pool constness. |
| [William Rowe] |
| |
| *) Optimize apr_pstrcat by caching lengths of first 6 strings |
| [Brian Pane <bpane@pacbell.net>] |
| |
| *) Add pool accessors to the apr_thread_mutex_t datatype. |
| [Aaron Bannert <aaron@clove.org>] |
| |
| *) Add the apr_file_mktemp function. This creates and opens a |
| temporary file, for use by the program. This file is created |
| delete_on_close. The initial implementation only works on |
| Unix, but Windows is coming soon. [Ryan Bloom] |
| |
| *) Make the unix version of apr_proc_wait_all_procs a simple wrapper |
| around apr_proc_wait, and which extracts the exit code from the |
| status returned by waitpid. |
| [Kevin Pilch-Bisson <kevin@pilch-bisson.net>] |
| |
| *) Add process locking API to APR. [Aaron Bannert <aaron@clove.org>] |
| |
| *) Add condition variables for Windows. [Ryan Bloom] |
| |
| *) Add condition variables to the APR set of locking functions. |
| This does Unix, and provides stubs for all other platforms. |
| [Aaron Bannert <aaron@clove.org>] |
| |
| *) Don't search for IPv6 names in apr_sockaddr_info_get() if the |
| application doesn't specify the family (i.e., the application |
| passes in AF_UNSPEC) and APR isn't built with IPv6 support. |
| [Jeff Trawick] |
| |
| *) Fix the API for the apr_proc_create() call on Win32. Several |
| bad assumptions are gone, including a mismatch between unix and |
| win32, where win32 was defaulting to create detached. Also fixes |
| the apr_proc_t's pid member to a real pid (identity that works |
| across processes) instead of the handle (which is a new hproc |
| member value.) [William Rowe] |
| |
| *) Modify the external apr_filepath_get() fn to take a flags arg, |
| currently only for APR_FILEPATH_NATIVE. This returns c:\foo |
| format on Win32, and should do the same on OS2, or sys\vol:\foo |
| on Netware. Primarily for internals, but possibly useful to |
| others (and it mirrors some of the other apr_filepath_*() calls.) |
| [William Rowe] |
| |
| *) Add the new thread read/write lock API to APR. |
| [Aaron Bannert <aaron@clove.org>] |
| |
| *) Add the new thread mutex lock API to APR. |
| [Aaron Bannert <aaron@clove.org>] |
| |
| *) Cache GMT offset on platforms that don't store it in the tm struct. |
| This offset is normalized to be independent of daylight savings |
| time. [Brian Pane <bpane@pacbell.net>] |
| |
| *) Initial support for cygwin. [Stipe Tolj <tolj@wapme-systems.de>] |
| |
| *) Fix a problem with buffered files on Unix. [Brian Havard] |
| |
| *) Fix the bungling of getaddrinfo() error codes. [Jeff Trawick] |
| |
| *) Add an apr_thread_once function to APR. This allows a |
| program to ensure that a function is only called once. |
| [Ryan Bloom] |
| |
| *) APR Documentation is now in Doxygen format. |
| [Ian Holsman] |
| |
| *) Get apr_ungetc() to work with buffered files on Unix. |
| [Jeff Trawick] |
| |
| *) Fixed apr_filepath_root on Unix [William Rowe, Cliff Woolley]. |
| |
| *) Rename XtOffset to APR_XtOffset. This namespace protection |
| is important to keep from conflicting with other packages. |
| [Perl] |
| |
| *) Introduce a new --disable-ipv6 option to disable IPv6 support. |
| [Sterling Hughes <sterling@designmultimedia.com>, Jeff |
| Trawick] |
| |
| *) Fix the new shared memory code. We need to pass a pointer to |
| an apr_file_t to apr_file_open. Also, apr_os_file_get returns |
| a status value, not the OS file descriptor. [Ryan Bloom] |
| |
| *) Fix the new shared memory configure script. The APR_DECIDE |
| macros go in order, so the last set of dependancies that are |
| met are the ones used. That means that when using those macros, |
| options should be listed with the least desirable option first, |
| and the most desirable last. The new shared memory routines did |
| the opposite, so we chose the wrong shared memory option on Linux. |
| [Ryan Bloom] |
| |
| *) Move the necessary shared memory code from MM into APR and remove |
| our dependency upon MM. [Justin Erenkrantz] |
| |
| *) Get apr_lock_file and apr_unlock_file working on Windows 9x. |
| [Mladen Turk, Bill Stoddard] |
| |
| *) Make all APR pools be allocated out of the permanent pool. |
| This brings APR pools back to a tree structure. There are |
| no longer any way to create a pool that is not a decendant |
| of the permanent_pool. [Ryan Bloom] |
| |
| *) Wrap all functions in APR_DECLARE macro. |
| [Sterling Hughes <sterling@designmultimedia.com>] |
| |
| *) Non-blocking connects shouldn't be calling connect a second |
| time. According to Single Unix, a non-blocking connect has |
| succeeded when the select pops successfully. It has failed |
| if the select failed. The second connect was causing 502's |
| in the httpd-proxy. [John Barbee barbee@veribox.net] |
| |
| *) Fix apr_dir_rewind() for Win32 to avoid returning a bogus error. |
| [Jeff Trawick, William Rowe] |
| |
| *) Detect required libraries first. This minimizes the libraries |
| needed in apr_hints.m4. [Justin Erenkrantz] |
| |
| *) Support the AIX, glibc2, and Solaris variants of gethostby{name|addr}_r. |
| Use gethostbyaddr_r function when available. |
| [Sterling Hughes <sterling@designmultimedia.com>] |
| |
| *) Add new socket option, APR_INCOMPLETE_READ, that should be |
| set when you expect the first non-blocking read to fail with |
| EAGAIN. Setting APR_INCOMPLETE_READ prior to calling apr_read |
| will cause select() to be called first to wait for bytes |
| to read. [Brian Pane, Dean Gaudet] |
| |
| *) Better installation. This makes us install the APRVARS file, |
| as well as MM. [Ryan Bloom] |
| |
| *) Provide new number conversion functions apr_itoa, apr_ltoa, and |
| apr_off_t_toa, and inline code in inet_ntop4, to reduce CPU |
| consumption. [Brian Pane] |
| |
| *) Updated APR to pass the thread worker_function prototype |
| (apr_thread_start_t) two parameters, the apr private data |
| (apr_thread_t*) and the application private data (void*). |
| Applications' worker_thread() routines may use apr_thread_pool_get |
| to access the pool (implemented using APR_POOL_*_ACCESSOR() macros.) |
| [Aaron Bannert <aaron@ebuilt.com>] |
| |
| *) Add Solaris 8's sendfilev() support. This requires the following |
| patches from Sun: 111297 (Sparc), 111298 (x86). You'll need the |
| other patches listed in the patch description. [Justin Erenkrantz] |
| |
| *) Close file descriptor when we are done with fcntl or flock-based |
| cross-process lock. Otherwise, we leak descriptors. |
| [Justin Erenkrantz] |
| |
| *) Fix a possible data corruption problem with the use of getpwnam_r() on |
| all platforms where that function is used. |
| Use getpwnam_r() and getgrgid_r() instead of getpwnam() and getgrgid() |
| with threaded builds on glibc (2.1, at least) to avoid thread safety |
| issues. [Jeff Trawick] |
| |
| *) Added apr_lock_tryacquire. It will attempt to acquire the lock, but |
| will not block if it can not acquire the lock. Returns APR_EBUSY if |
| acquistion can not happen. [Justin Erenkrantz] |
| |
| *) Added an inherit flag to apr_socket_create and other socket creation |
| functions. This allows APR programs to specify that a socket should |
| be passed to any child processes that are created. The inherit flag |
| is only meaningful if programs use apr_process_create(). This |
| also adds a couple of macros that allow APR types to set and unset |
| the inherit flag. [Ryan Bloom] |
| |
| *) apr_connect()on Windows: Handle timeouts and returning the proper |
| status code when a connect is in progress. [Bill Stoddard] |
| |
| *) apr_connect() on Unix: Handle EINTR during connect(). Handle timeouts. |
| [Jeff Trawick] |
| |
| *) Handle the weird case where getpwnam() returns NULL but errno is zero. |
| [Jeff Trawick] |
| |
| *) Add apr_file_flags_get() which returns the flags that were originally |
| passed in to apr_file_open(). [Cliff Woolley] |
| |
| *) Added APR_HAS_XTHREAD_FILES macro that indicates whether or not the |
| platform handles files opened in APR_XTHREAD mode natively. Currently |
| only Win32 has such native support. [Cliff Woolley] |
| |
| *) Fix gmt offset handling on Solaris. Apache log messages now show |
| local time again. PR #7902 [Taketo Kabe <kabe@sra-tohoku.co.jp>] |
| |
| *) apr_pstrcat() optimizations [Doug MacEachern, Jeff Trawick] |
| |
| *) Make the apr_pool_is_ancestor logic public. This is required for |
| some new logic that is going into HTTPD. I have left the join logic |
| in that function debug only. [Ryan Bloom] |
| |
| *) Clean up Win32 locks when the pool goes away. |
| [Justin Erenkrantz, Jeff Trawick] |
| |
| *) Implement apr_get_home_directory for Win32. [William Rowe] |
| |
| *) Complete the implementation of LARGEFILE support on Win32, although |
| the mmap semantics still need a touch of work. [William Rowe] |
| |
| *) Fix the APR_XTHREAD support, and apr_sendfile mechanics, so we can |
| handle cross-threaded file handles on Win32. [William Rowe] |
| |
| *) Implement APR_READWRITE locks on Unix with POSIX rwlocks. |
| Introduce new apr_lock_acquire_rw() function which takes in |
| APR_READER or APR_WRITER. [Justin Erenkrantz] |
| |
| *) Add apr_open_stdin. This mirrors apr_open_stderr, except it works |
| on stdin. [Aaron Bannert <abannert@ebuilt.com>] |
| |
| *) Add apr_strtok(), a thread-safe flavor of strtok() which has the |
| same interface as strtok_r(). [Jeff Trawick] |
| |
| *) Add other child support to Win32 [Bill Stoddard] |
| |
| *) Other-child registrations are automatically removed when the |
| associated pool is destroyed. This avoids garbage in the list |
| of registrations when a pool with a registration is freed. |
| [Jeff Trawick] |
| |
| *) Allow LTFLAGS to be overridden by the configure command-line |
| (default="--silent") and introduce LT_LDFLAGS. [Roy Fielding] |
| |
| *) Add memory code kindly donated to APR by |
| Elrond <elrond@samba-tng.org> |
| Luke Kenneth Casson Leighton <lkcl@samba-tng.org> |
| Sander Striker <striker@samba-tng.org> |
| [David Reid] |
| |
| *) Fix a problem with the FreeBSD flavor of apr_sendfile() where we |
| could return APR_EAGAIN+bytes_sent. [Jeff Trawick] |
| |
| *) Fix a problem on unixware where clearing h_errno wouldn't work. |
| Use set_h_errno() instead. PR #7651 [Jeff Trawick] |
| |
| *) Add the test and build directories (when present) to the recursive |
| make process, being sure that they are run last. test is only done |
| recursively for make *clean targets. [Roy Fielding] |
| |
| *) Make the apr_mmap_create() function use the native_flags variable. |
| This allows us to actually create WRITEABLE MMAPs. |
| [Ed Korthof <ed@apache.org>] |
| |
| *) Completely revamp configure so that it preserves the standard make |
| variables CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS and LIBS by moving |
| the configure additions to EXTRA_* variables. Also, allow the user |
| to specify NOTEST_* values for all of the above, which eliminates the |
| need for THREAD_CPPFLAGS, THREAD_CFLAGS, and OPTIM. Fix the setting |
| of INCLUDES and EXTRA_INCLUDES. Check flags as they are added to |
| avoid pointless duplications. Fix the order in which flags are given |
| on the compile and link lines. [Roy Fielding] |
| |
| *) Fix DSO code on HP/UX. We have to use == not =, and it makes more |
| sense to actually return errno, so that the return code means |
| something. [Ryan Bloom] |
| |
| *) Clean up conditionals in unix DSO code so that we decide based on |
| the dynamic loading implementation, which we noticed at configure |
| time, instead of by operating system. |
| [Wilfredo Sanchez] |
| |
| *) Add DSO support for dyld platforms (Darwin/Mac OS and OpenStep). |
| [Wilfredo Sanchez] |
| |
| *) Amend the time code to better deal with time zones. |
| [David Reid] |
| |
| *) Carefully select an appropriate native type for apr_int64_t and |
| define its format as APR_INT64_T_FMT and literal using APR_INT64_C(). |
| [Justin Erenkrantz, William Rowe] |
| |
| *) Make clean, distclean, and extraclean consistently according to the |
| Gnu makefile guidelines. [Justin Erenkrantz <jerenkrantz@ebuilt.com>] |
| |
| *) Initial implementation of of apr_filepath (get/set/parse_root and |
| merge) for Windows. [William Rowe] |
| |
| *) Cleaned up implementation of of apr_filepath (get/set/parse_root |
| and merge) for Unix. [Greg Stein, William Rowe] |
| |
| *) Fixup the --enable-libtool option. This allows the test directory |
| to compile again. The test directory still doesn't work when |
| APR is configured without libtool. [Ryan Bloom] |
| |
| *) If we don't have sigwait() in the system, see if sigsuspend() is |
| available, and use that instead. [Wilfredo Sanchez] |
| |
| *) Make libtool optional at configure time. This is done with |
| --disable-libtool. [Ryan Bloom] |
| |
| *) Recognize systems where the TCP_NODELAY setting is inherited from |
| the listening socket, and optimize apr_setsockopt(APR_TCP_NODELAY) |
| accordingly. [Jeff Trawick] |
| |
| *) Recognize the presence of getnameinfo() on Tru64. [David Reid] |
| |
| *) Allow APR to be installed. [Ryan Bloom] |
| |
| *) Generate config.nice for easy re-run of configure. [Roy Fielding] |
| |
| *) Define preprocessor flags in CPPFLAGS instead of CFLAGS and |
| bring some sanity to the compiler command-lines. [Roy Fielding] |
| |
| *) Use the dso/aix subdirectory for older versions of AIX and fix |
| a number of bugs in the dso code in that directory. |
| [Victor Orlikowski] |
| |
| *) Allow libtool 1.3b to be used. [Victor Orlikowski] |
| |
| *) Misc. Win32 fixes: Set the pool pointer in apr_sockaddr_t |
| structures created with the apr_socket_t to prevent segfault |
| in certain apps. Flush unwritten buffered data when the file |
| is closed. [Jeff Trawick] |
| |
| *) Win32: Get APR to compile with MSVC 5.0 (a.k.a. VC97). |
| PR #7489 [Jeff Trawick] |
| |
| *) First draft implementation of apr_filepath (get/set/parse_root |
| and merge) for Unix. [William Rowe] |
| |
| *) Add apr_ipsubnet_create() and apr_ipsubnet_test() for testing |
| whether or not an address is within a subnet. [Jeff Trawick] |
| |
| *) Add apr_sendto and apr_recvfrom for Unix. Start of adding UDP |
| support. [David Reid] |
| |
| *) Add a method to get the password from the system for a given |
| user. [John Barbee <jbarbee@covalent.net>] |
| |
| *) Change the include path order, so that we look for included files |
| in the APR paths first, and the system paths second. |
| [jean-frederic clere <jfrederic.clere@fujitsu-siemens.com>] |
| |
| *) Add a with-sendfile option, so that people on platforms without a |
| sendfile implementation for APR can easily disable it from the |
| configure line. [Ryan Bloom] |
| |
| *) Change the check for netinet/tcp.h to work around an issue with |
| that header file on IRIX 6.5 which prevented it from being |
| detected. PR #6459 [Jeff Trawick] |
| |
| *) Introduce apr_get_userid to return a named user's apr_uid_t and |
| apr_gid_t across platforms [Cliff Woolley, William Rowe] |
| |
| *) In apr_shm_init(), check the retcode from mm_malloc(). Previously, |
| we segfaulted here if mm_malloc() failed to get a lock. An example |
| error scenario is when the lock file lives on a filesystem which |
| doesn't support locking. [Jeff Trawick] |
| |
| *) Name protected the autoconf macros defined by APR. Moved the |
| REENTRANCY_FLAGS settings into apr_hints.m4. Inlined the |
| APR_PREPARE_MM_DIR macro because it could only be used once. |
| Removed the unused macros MY_TRY_RUN, MY_TRY_RUN_NATIVE, and |
| AC_USE_FUNCTION. Added some macro comments. [Roy Fielding] |
| |
| *) Cope with BSDi installations where the default make has been |
| replaced with GNU make. [Joe Orton <joe@manyfish.co.uk>] |
| |
| *) Changed apr/helpers to apr/build to be consistent with other Apache |
| source trees. Added make variables to rules.mk.in that point to the |
| builders directory and its scripts. Updated buildconf, configure.in, |
| and Makefile.in files to create and use the new scripts. Moved scandoc |
| to scandoc.pl and its default.pl template to scandoc_template.pl. |
| [Roy Fielding] |
| |
| *) Updated config.guess and config.sub to GNU libtool 1.3.5 features, |
| with the Apache additions for OS/390 and OS/2 emx. [Roy Fielding] |
| |
| *) Moved hints.m4, apr_common.m4, and helpers/apr-conf.m4 into the |
| new build directory as apr_hints.m4, apr_common.m4, apr_network.m4, |
| and apr_threads.m4. [Roy Fielding] |
| |
| *) Get apr_sendfile() working on HP-UX. This gets APR to build on |
| HP-UX without having to turn off APR_HAS_SENDFILE. [Jeff Trawick] |
| |
| *) Force FreeBSD to compile without threads by default. To enable |
| threads, use --enable-threads on the configure line. |
| [Ryan Bloom] |
| |
| *) Purge system password buffer before returning from apr_password_get. |
| No longer abuses bufsize argument on return. [William Rowe] |
| |
| *) Moved the prototypes for apr_snprintf and apr_vsnprintf to the |
| apr_strings.h header, from apr_lib.h. This location makes more |
| sense. [Ryan Bloom] |
| |
| *) Added the APR_TRY_COMPILE_NO_WARNING configure macro for testing a |
| compile with -Werror as well as the APR_CHECK_ICONV_INBUF macro to |
| test for annoying iconv prototype differences. |
| [Jeff Trawick, Roy Fielding] |
| |
| *) Fix a problem with configure on NetBSD. We must include sys/types.h |
| for some platforms. [jun-ichiro hagino <itojun@kame.net>] |
| |
| *) Some fixes in the Win32 time support. |
| (IsLeapYear): New macro for quickly figgerin' out if a given year is a |
| leap year. (SystemTimeToAprExpTime): Perform the calculation of |
| tm_yday. Also, negate the sign of the tm_gmtoff field to be |
| consistent with Unix platforms and APR header file comments. |
| [Mike Pilato] |
| |
| *) Implement WinNT Unix'ish permissions. [William Rowe] |
| |
| *) Corrected an OS2'ism of apr_get_home_directory. OS2 now returns the |
| proper directory, including the user's name. |
| |
| *) Removed private os2errno.h and integrated the OS2 network error codes |
| into apr_errno.h for optimized error tests (APR_STATUS_IS_EFOO(rv)). |
| [William Rowe] |
| |
| *) Moved inclusion of <os2.h> header from multiple modules into apr.h |
| [William Rowe] |
| |
| *) Added apr_compare_users() and apr_compare_groups() for more complex |
| apr_uid_t and apr_gid_t structures. Enabled both .user and .group |
| results from WinNT/2000 stat/getfileinfo, but expect to find that |
| .group is 'None' in most cases. [William Rowe] |
| |
| *) Replace configure --with-optim option by using the environment |
| variable OPTIM instead. This is needed because configure options |
| do not support multiple flags separated by spaces. [Roy Fielding] |
| |
| *) Eliminate the APR_SIG* aliases for standard signal names, |
| since they serve no useful purpose. [Roy Fielding] |
| |
| *) Abstracted apr_get_username and apr_get_groupname for unix and win32. |
| Modified Win32 apr_uid_t and apr_gid_t to use PSIDs, and elimintated |
| the uid_t and gid_t definitions. [William Rowe] |
| |
| *) Radically refactored apr_stat/lstat/getfileinfo/dir_read for Win32 |
| to assure we are retrieving what we expect to retrieve, and reporting |
| the correct result (APR_SUCCESS or APR_INCOMPLETE). The potential |
| for a bit more optimization still remains. [William Rowe] |
| |
| *) While we have the future opportunity to cache the apr_stat'ed file |
| handle for a very fast open (dup handle) on Win32, patched to close |
| that file after a stat always. Needs a new semantic before we leave |
| handles dangling when the user intends to rm. [William Rowe] |
| |
| *) Correct Win32 apr_stat/lstat/getfileinfo/dir_read to all zero out |
| the finfo buffer on success (or incomplete success). [William Rowe] |
| |
| *) Fix Win32/Unix apr_lstat to throw the .valid bit APR_FINFO_LINK to |
| indicate we attempted to open the link. Only the .filetype APR_LNK |
| reflects if the file found was, in fact, a link. [William Rowe] |
| |
| *) Fixed apr_open and apr_rename to function on Win9x. |
| [Mike Pilato <cmpilato@collab.net>] |
| |
| *) Add apr_open_stdout. This mirrors apr_open_stderr, except it works |
| on stdout. [Mike Pilato <cmpilato@collab.net>] |
| |
| *) Fix bug in file_io/unix/dir.c. There is no such thing as a dirent, |
| it must be a struct dirent. |
| [Kevin Pilch-Bisson <kevin@pilch-bisson.net>] |
| |
| *) Fix the configure script so that we can build from a different |
| directory. [Kevin Pilch-Bisson <kevin@pilch-bisson.net>] |
| |
| *) Introduce the wanted flag argument to the apr_stat/lstat/getfileinfo |
| family of functions. This change allows the user to determine what |
| platform-specific file information is retrieved, to optimize both |
| portability and performance. [William Rowe] |
| |
| *) Fix make depend. [Ryan Bloom] |
| |
| *) All dso implementations now register a cleanup to unload the DSO |
| when it is loaded. If the pool is removed, we really do need to |
| remove the DSO. In the past, different platforms behaved differently |
| it this respect. [Ryan Bloom] |
| |
| *) Add linkage declarations to the DSO code. |
| [Gregory Nicholls <gnicholls@level8.com>] |
| |
| *) Some adjustment of hints.m4 setting flags (used to check if null |
| first) and added some verbosity. [Jim Jagielski] |
| |
| *) Specify APR_DECLARE to some of the APR functions. This helps linking |
| on some operating systems. [Gregory Nicholls <gnicholls@level8.com>] |
| |
| *) Libtool'ized APR and converted all the makefiles to share rules |
| from helpers/rules.mk. [Greg Stein] |
| |
| *) Remove a warning on FreeBSD. FreeBSD defines TCP_NO_PUSH, but we |
| don't actually use it. This causes os_cork to be defined but not |
| used. This patch keeps us from defining os_cork and os_uncork on |
| FreeBSD. [Ryan Bloom] |
| |
| *) Keep apr_terminate from seg faulting on terminate. This is |
| happening on systems that do not NULL out locks when they are |
| destroyed. To keep this from happening, we set the locks to |
| NULL after destroying them in apr_terminate, and we have to |
| check for NULL in free_blocks. |
| [Allan Edwards and Gregory Nicholls <gnicholls@level8.com>] |
| |
| *) Remove the ability to allocate memory out of a NULL pool. |
| [Ryan Bloom] |
| |
| *) Add an APR_GET_POOL macro to get a pool from any APR type that has |
| a pool. This requires that ALL apr types put the pool as the first |
| field in their structure. [Ryan Bloom] |
| |
| *) Begin to remove the ability to allocate out of NULL pools. The first |
| problem to solve, is that we need an apr_lock in order to allocate |
| pools, so that we can lock things out when allocating. So, how do we |
| allocate locks without a pool to allocate from? The answer is to create |
| a global_apr_pool, which is a bootstrapping pool. There should NEVER |
| be a sub-pool off this pool, and it is static to an APR file. This is |
| only used to allow us to allocate the locks cleanly, without using the |
| NULL pool hack. [Ryan Bloom] |
| |
| *) Fix a logic error in the poll code when implemented using select. |
| [Nick Caruso <ncaruso@gamesville.com>] |
| |
| *) FreeBSD does not support sendfile() in combination with threads |
| before version 4.2. We no longer even try to support it. |
| [Ryan Bloom] |
| |
| *) On FreeBSD, it is possible for the first call to sendfile to |
| get EAGAIN, but still send some data. This means that we cannot |
| call sendfile and then check for EAGAIN, and then wait and call |
| sendfile again. If we do that, then we are likely to send the |
| first chunk of data twice, once in the first call and once in the |
| second. If we are using a timed write, then we check to make sure |
| we can send data before trying to send it. [Ryan Bloom] |
| |
| *) Cleanup to help Apache support programs build cleanly. |
| [Cliff Woolley <cliffwoolley@yahoo.com>] |
| |
| *) Cleanup some compiler warnings on Solaris |
| [Dale Ghent <daleg@elemental.org>] |
| |
| *) apr_getaddrinfo() can now return multiple addresses for a host |
| via the next field in apr_sockaddr_t. [Jeff Trawick] |
| |
| *) Tighten up the check for getaddrinfo(). If it can't figure out |
| the appropriate address family for 127.0.0.1, it fails. |
| Unfortunately, Tru64 fails this test so we won't do IPv6 on |
| Tru64. [Jeff Trawick] |
| |
| *) Rename apr_opendir to apr_dir_open. [Ryan Bloom] |
| |
| *) apr_snprintf()'s %pI format string now takes apr_sockaddr_t * |
| instead of sockaddr_in *. [Jeff Trawick] |
| |
| *) Fix a bug in apr_accept() for Win32 and Unix where the local |
| apr_sockaddr_t in the new connected socket was not initialized |
| properly. This could result in a bad string for apr_get_ipaddr(), |
| among other things. [Jeff Trawick] |
| |
| *) Add apr_getnameinfo(), a replacement for apr_get_hostname() which |
| supports IPv6 and will be friendlier for use with eventual |
| SOCK_DGRAM support. apr_get_hostname() is gone. [Jeff Trawick] |
| |
| |
| Changes with APR a9 |
| |
| *) Removed the iconv implementation from the i18n/unix/iconv branch. |
| This now resides in the apr-iconv repository, and will be ported |
| over time to use native apr types (e.g. apr_dso) for portability. |
| |
| *) Only support IPv6 if we have sockaddr_in and a working |
| getaddrinfo(). [Jeff Trawick] |
| |
| *) Add apr_parse_addr_port() for parsing the hostname:port portion |
| of URLs and similar strings. [Jeff Trawick] |
| |
| *) Add Win32 MMAP support [William Rowe] |
| |
| *) Allow the APR programmer to specify if the MMAP is read-only or |
| write-able. |
| [Ryan Bloom and Will Rowe] |
| |
| *) Check more carefully for getaddrinfo(). Accept those that |
| require <netdb.h> to be included (e.g., Tru64). Reject those that |
| fail a very basic operational test (e.g., AIX). [Jeff Trawick] |
| |
| *) Add apr_make_os_sock() for constructing a fully-capable APR |
| socket. [Jeff Trawick] |
| |
| *) Make APR's shared memory routines always allocate enough memory |
| for the requested segment, the MM internal types, and the APR |
| internal types. |
| [Ryan Bloom] |
| |
| *) Add APR_SIZE_T_FMT. Get the other APR_xx_T_FMT variables |
| defined properly on AIX. [Jeff Trawick] |
| |
| *) network API changes: get rid of apr_get_socket_inaddr(), |
| apr_get_remote_name(), and apr_get_local_name() [Jeff Trawick] |
| |
| *) Add a step at configure time to create a file at the top-level, |
| apr.exports, which lists every function exported by APR. The |
| file is generated by a script in helpers, that reads each header |
| file. |
| [Ryan Bloom] |
| |
| *) Lock config changes: Detect SysV sem capability by the presence of |
| sempaphore functions, not by the presence of union semun. New |
| config variable apr_lock_method can override autodetection of the |
| apr_lock implementation method. For now, hints.m4 uses it to select |
| SysV semaphores for OS/390. New config variable |
| apr_process_lock_is_global specifies that the selected inter-process |
| lock method is sufficient for APR_LOCKALL (i.e., it blocks all |
| threads and processes). For now, hints.m4 turns on this flag for |
| OS/390. [Jeff Trawick] |
| |
| *) Get APR_OFF_T_FMT defined properly on Solaris Sparc. |
| [Jeff Trawick] |
| |
| |
| Changes with APR a8 |
| |
| *) Change the name of the sa_len field in apr_sockaddr_t to salen. |
| Some platforms have a macro named sa_len. |
| [Tony Finch] |
| |
| *) apr_set_port(), apr_get_port(), apr_set_ipaddr(), and apr_get_ipaddr() |
| now take apr_sockaddr_t as a parameter instead of apr_socket_t + |
| apr_interface_e. This will allow the same routines to be used with |
| datagram APIs to be added later. Note that code which calls |
| apr_set_ipaddr() should probably be changed to call apr_getaddrinfo() |
| for protocol independence. [Jeff Trawick] |
| |
| *) apr_create_tcp_socket() has been removed. Use apr_create_socket() |
| instead. [Jeff Trawick] |
| |
| *) Source was moved from the apache-2.0 repository. For all CHANGES |
| prior to this time, please see the apache-2.0 repository |