/[Apache-SVN]/apr/apr/branches/0.9.x/CHANGES
ViewVC logotype

Contents of /apr/apr/branches/0.9.x/CHANGES

Parent Directory Parent Directory | Revision Log Revision Log


Revision 800890 - (show annotations)
Tue Aug 4 17:55:53 2009 UTC (3 months, 2 weeks ago) by wrowe
File size: 81539 byte(s)
correct missing NULL
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

Properties

Name Value
svn:eol-style native
svnmailer:content-charset utf-8

apache@apache.org
ViewVC Help
Powered by ViewVC 1.1.2