_ ___ ____ ____ ____ |_|_ _ / _ \/ ___/ ___|| _ \ ___ __ _ _|_||_| | | | \___ \___ \| |_) | / __|/ _` | |_||_|_| | |_| |___) |__) | __/ \__ \ (_| | |_|_|_| \___/|____/____/|_| |___/\__,_| OSSP sa - Socket Abstraction CHANGELOG This is a list of all changes to OSSP sa. For a more brief summary please have a look at the NEWS file. Changes between 1.2.6 and 1.2.7 (03-Oct-2005 to xx-XXX-2006) o Upgrade build environment to GNU libtool 1.5.22 and GNU shtool 2.0.5 [Ralf S. Engelschall ] o Adjusted all copyright messages for year 2006. [Ralf S. Engelschall] Changes between 1.2.5 and 1.2.6 (02-Oct-2005 to 03-Oct-2005) o Removed SA_SYSCALL_GETHOSTBYNAME because gethostbyname(3) cannot be overridden as at is use point (function sa_addr_u2a) the sa_t object is not available. Additionally, for IPv6 getaddrinfo(3) would have been overridden, too. This fixed compilation on platforms without IPv6 APIs. [Ralf S. Engelschall ] Changes between 1.2.4 and 1.2.5 (29-Jan-2005 to 02-Oct-2005) o Added pkg-config(1) specification sa.pc [Ralf S. Engelschall ] o Upgrade build environment to GNU libtool 1.5.20 and GNU shtool 2.0.3 [Ralf S. Engelschall ] o Follow FlexeLint suggestions and "constify" some API function parameters. [Ralf S. Engelschall ] Changes between 1.2.3 and 1.2.4 (24-Jan-2005 to 29-Jan-2005) o Fix timeout handling in various functions by fixing the internal select(2) usage: the timeout structure is (standard compliantly) modified in place on some platforms (like Linux), so its values have to be preserved before calls to select(2)). [Robert Wood ] Changes between 1.2.2 and 1.2.3 (26-Jun-2004 to 24-Jan-2005) o Adjusted all copyright messages for new year 2005. [Ralf S. Engelschall] o Do not pass NULL directly to variadic functions because NULL is not guarrantied to be a pointer. [Ralf S. Engelschall ] o Added SA_SYSCALL_GETHOSTBYNAME for supporting the overloading of gethostbyname(2) system calls. [Ralf S. Engelschall ] o Upgrade build environment to GNU libtool 1.5.10 and GNU shtool 2.0.1 [Ralf S. Engelschall ] Changes between 1.2.1 and 1.2.2 (11-Jun-2004 to 26-Jun-2004) o Allow negative values for SA_OPTION_LINGER to cover the special case of l_onoff=1/l_linger=0 where a TCP RST based connection termination is performed on close(2). [Alexandre Balaban ] o Provide Autoconf check (AC_CHECK_VA_COPY) for va_copy(d,s) macro and fallback implementations and now that we can be sure that va_copy() exists for us, use it in var_formatv() and ts.c instead of the direct assignments (which are not sufficiently portable). [Ralf S. Engelschall ] o Remove "#undef socklen_t" from sa.h because the socklen_t fallback is a "typedef" since a longer time. [Ralf S. Engelschall ] Changes between 1.2.0 and 1.2.1 (02-Apr-2003 to 11-Jun-2004) o Fix timeout implementation related to SO_RCVTIMEO/SO_SNDTIMEO. [Ralf S. Engelschall , Thomas Lotterer ] o Upgrade build environment to GNU libtool 1.5.6 [Ralf S. Engelschall ] Changes between 1.1.0 and 1.2.0 (10-Nov-2003 to 02-Apr-2004) o In sa_connect() also select(2) on the socket if EINTR was returned similar to what is done already for EINPROGRESS, because one is not allowed to re-start connect(2) according to STEVENS (Unix Network Programming, volume 1, section 5.9) but instead have to perform the same post-processing under EINTR (under both timeout and non-timeout situations) what we already did for EINPROGRESS (in timeout-aware situation). [Ralf S. Engelschall] o Adjusted all copyright messages for new year 2004. [Ralf S. Engelschall] o Restart accept(2) after interrupted system call. OSSP lmtp2nntp daemon failed to accept a connection after a signal handler was run on Solaris which caused the system call to be interrupted. Issue was found and reported by Amos Gouaux. [Thomas Lotterer ] o Add SA_CHECK_SOCKOPT autoconf check to detect setsockopt failing under run-time on Solaris 2.6,8,9,10 and Debian 2.2 because SO_RCVTIMEO|SO_SNDTIMEO are defined but not implemented. Issue was found and reported by Amos Gouaux. [Thomas Lotterer , Amos Gouaux ] o Upgrade and unify build environment devtool and devtool.func. Change devtool.conf to require current versions of shtool, libtool and autoconf; correct spelling [Thomas Lotterer ] Changes between 1.0.5 and 1.1.0 (31-Jan-2003 to 10-Nov-2003) o Upgrade build environment to GNU autoconf 2.58. [Ralf S. Engelschall ] o Upgrade build environment to GNU libtool 1.5. [Ralf S. Engelschall ] o Fix memory leak in test suite (sa_test.c). [Ralf S. Engelschall ] o Added internal address resolving support via the new IEEE Std 1003.1g-2000 ("POSIX.1") getaddrinfo(3) API. This especially provides more portable IPv6 address resolving. [Ralf S. Engelschall ] Changes between 1.0.4 and 1.0.5 (28-Jan-2003 to 31-Jan-2003) o Fixed test suite library (ts.c): the ts_suite_free() function performed an illegal iteration for freeing elements (they were freed but still references for traversing to next element). This is now solved by a look-ahead traversion. [Ralf S. Engelschall, Brian T. Egleston ] o Fixed test suite (sa_test.c): an sa_addr_t was destroyed too early and this way crashed the test suite. [Brian T. Egleston ] Changes between 1.0.3 and 1.0.4 (06-Jan-2003 to 28-Jan-2003) o Fixed embedding support: mappings for symbols sa_sendf and sa_id were missing. [Thomas Lotterer ] Changes between 1.0.2 and 1.0.3 (04-Dec-2002 to 06-Jan-2003) o Adjusted all copyright messages for new year 2003. [Ralf S. Engelschall] o Fixed generated owner in distribution tarball. [Ralf S. Engelschall] o Fixed two compile-time warnings in sa_test.c. [Ralf S. Engelschall] Changes between 1.0.1 and 1.0.2 (07-Nov-2002 to 04-Dec-2002) o Fixed a few bugs and lots of internal type inconsistencies, all found by splint(1). [Ralf S. Engelschall] o Upgraded build environment to GNU autoconf 2.57. [Ralf S. Engelschall] Changes between 1.0.0 and 1.0.1 (01-Nov-2002 to 07-Nov-2002) o Make sure that "va_list" variables are not compared against NULL because this is not possible on all platforms. [Ralf S. Engelschall] o Ported to brain-dead OpenUNIX where shutdown(3)'s SHUT_XX values are not easily available and where variables named sa_len conflict with structure fields in vendor headers. [Ralf S. Engelschall] o Fixed two compile-time warnings. [Alvaro Lopez Ortega ] o Upgraded build environment to GNU shtool 1.6.2 [Ralf S. Engelschall] Changes between 0.9.3 and 1.0.0 (30-Oct-2002 to 01-Nov-2002) o Consistently return SA_ERR_MEM instead of SA_ERR_SYS if memory allocations failed. [Ralf S. Engelschall] o Various source tree cleanups. [Ralf S. Engelschall] o Cleanup markup in manual page (sa.pod) [Ralf S. Engelschall] o API Cleanups: use politically correct use "extern" keyword in sa.h; use leading underscores for variables names in prototypes; move "raddr" argument to second position in sa_{send,recv,sendf}. [Ralf S. Engelschall] Changes between 0.9.2 and 0.9.3 (11-Oct-2002 to 30-Oct-2002) o Added a function sa_sendf(3) which is a convience wrapper to sa_send(3) for sending formatted data. This is similar to what sa_writef(3) does for sa_write(3). The difference is just that sa_writef(3) does not need a temporary buffer (because can use the stream I/O write buffer) while sa_sendf(3) requires a temporary buffer for its operation. Nevertheless the temporary buffer is allocated only if the formatted data is large. For small formatted data a fast stack-based buffer is used for higher performance. [Ralf S. Engelschall] o Finished implementation of test suite in order to cover mostly all functionality of the API. [Ralf S. Engelschall] o Rewrote the implementation of sa_option(3) in order to make options configurable _before_ the underlying socket is implicitly allocated. This fixes especially sa_option(sa, SA_OPTION_REUSEADDR, 1) before sa_bind(). [Ralf S. Engelschall, Michael van Elst ] o Finished writing the documentation (manual page sa.pod). [Ralf S. Engelschall] o Fixed return code and error handling in sa_read(3). [Ulrich Dessauer ] o Upgraded build environment to GNU autoconf 2.54 and GNU libtool 1.4.3. [Ralf S. Engelschall] o Source tree cleanups and polishing. [Ralf S. Engelschall] Changes between 0.9.1 and 0.9.2 (15-Mar-2002 to 11-Oct-2002) o Check for inet_addr, inet_aton, inet_pton, inet_ntoa and inet_ntop under configure time and use this to use reasonable fallbacks for the underlying usage of address manipulation functions. [Ralf S. Engelschall] o Upgraded build environment to GNU shtool 1.6.1. [Ralf S. Engelschall] o Fixed "make realclean" target. [Ralf S. Engelschall] Changes between 0.9.0 and 0.9.1 (31-Jan-2002 to 15-Mar-2002) o Removed gcc -ggdb3 option under --enable-debug. [Ralf S. Engelschall] o Upgraded build environment to GNU autoconf 2.53 and GNU shtool 1.6.0. [Ralf S. Engelschall] o Fixed internal snprintf implementation [Ralf S. Engelschall] o Fixed internal test suite library [Ralf S. Engelschall]