head 1.54; access; symbols LMTP2NNTP_1_4_1:1.52 LMTP2NNTP_1_4_0:1.52 SIO_0_9_3:1.52 SA_1_2_6:1.52 SA_1_2_5:1.51 SA_1_2_4:1.44 SA_1_2_3:1.43 LMTP2NNTP_1_3_0:1.39 LMTP2NNTP_1_3b2:1.39 SA_1_2_2:1.39 LMTP2NNTP_1_3b1:1.37 SA_1_2_1:1.37 LMTP2NNTP_1_3a3:1.35 LMTP2NNTP_1_3a2:1.35 LMTP2NNTP_1_3a1:1.35 SA_1_2_0:1.35 SA_1_1_0:1.28 SIO_0_9_2:1.25 SIO_0_9_1:1.25 LMTP2NNTP_1_2_0:1.25 LMTP2NNTP_1_2b4:1.25 LMTP2NNTP_1_2b3:1.25 LMTP2NNTP_1_2b2:1.25 LMTP2NNTP_1_2b1:1.23 LMTP2NNTP_1_2a8:1.23 SIO_0_9_0:1.23 LMTP2NNTP_1_2a7:1.23 SA_1_0_5:1.23 SA_1_0_4:1.20 SA_1_0_3:1.19 SA_1_0_2:1.17 SA_1_0_1:1.15 SA_1_0_0:1.10 SA_0_9_3:1.5; locks; strict; comment @# @; 1.54 date 2006.06.10.10.00.17; author rse; state Exp; branches; next 1.53; commitid JpcJR7gM5uNpwrAr; 1.53 date 2006.02.28.21.10.17; author rse; state Exp; branches; next 1.52; commitid pYKNbJqoapQxvonr; 1.52 date 2005.10.03.08.16.56; author rse; state Exp; branches; next 1.51; 1.51 date 2005.10.02.16.44.14; author rse; state Exp; branches; next 1.50; 1.50 date 2005.10.02.16.43.08; author rse; state Exp; branches; next 1.49; 1.49 date 2005.09.07.13.01.23; author rse; state Exp; branches; next 1.48; 1.48 date 2005.09.07.12.58.56; author rse; state Exp; branches; next 1.47; 1.47 date 2005.05.16.10.01.27; author rse; state Exp; branches; next 1.46; 1.46 date 2005.03.29.19.24.29; author rse; state Exp; branches; next 1.45; 1.45 date 2005.03.29.19.05.16; author rse; state Exp; branches; next 1.44; 1.44 date 2005.01.29.08.17.32; author rse; state Exp; branches; next 1.43; 1.43 date 2005.01.24.15.10.09; author rse; state Exp; branches; next 1.42; 1.42 date 2004.10.03.14.49.37; author rse; state Exp; branches; next 1.41; 1.41 date 2004.10.03.14.00.23; author rse; state Exp; branches; next 1.40; 1.40 date 2004.09.25.21.24.30; author rse; state Exp; branches; next 1.39; 1.39 date 2004.06.26.11.38.20; author rse; state Exp; branches; next 1.38; 1.38 date 2004.06.26.11.16.02; author rse; state Exp; branches; next 1.37; 1.37 date 2004.06.11.10.32.54; author rse; state Exp; branches; next 1.36; 1.36 date 2004.06.11.10.30.34; author rse; state Exp; branches; next 1.35; 1.35 date 2004.04.02.18.50.06; author rse; state Exp; branches; next 1.34; 1.34 date 2004.04.02.18.47.39; author rse; state Exp; branches; next 1.33; 1.33 date 2004.04.02.18.21.07; author rse; state Exp; branches; next 1.32; 1.32 date 2004.04.02.17.13.10; author rse; state Exp; branches; next 1.31; 1.31 date 2004.04.02.12.26.59; author thl; state Exp; branches; next 1.30; 1.30 date 2004.03.26.16.49.40; author rse; state Exp; branches; next 1.29; 1.29 date 2004.03.26.16.05.59; author thl; state Exp; branches; next 1.28; 1.28 date 2003.11.10.18.50.28; author rse; state Exp; branches; next 1.27; 1.27 date 2003.11.10.18.38.27; author rse; state Exp; branches; next 1.26; 1.26 date 2003.10.17.17.42.19; author rse; state Exp; branches; next 1.25; 1.25 date 2003.02.09.14.43.28; author rse; state Exp; branches; next 1.24; 1.24 date 2003.02.07.20.47.51; author rse; state Exp; branches; next 1.23; 1.23 date 2003.01.31.18.58.18; author rse; state Exp; branches; next 1.22; 1.22 date 2003.01.31.18.34.06; author rse; state Exp; branches; next 1.21; 1.21 date 2003.01.31.18.32.00; author rse; state Exp; branches; next 1.20; 1.20 date 2003.01.28.13.58.07; author rse; state Exp; branches; next 1.19; 1.19 date 2003.01.06.13.11.23; author rse; state Exp; branches; next 1.18; 1.18 date 2002.12.31.22.08.57; author rse; state Exp; branches; next 1.17; 1.17 date 2002.12.04.12.43.03; author rse; state Exp; branches; next 1.16; 1.16 date 2002.12.01.13.09.01; author rse; state Exp; branches; next 1.15; 1.15 date 2002.11.07.12.44.41; author rse; state Exp; branches; next 1.14; 1.14 date 2002.11.07.12.44.12; author rse; state Exp; branches; next 1.13; 1.13 date 2002.11.07.12.17.06; author rse; state Exp; branches; next 1.12; 1.12 date 2002.11.07.10.08.32; author rse; state Exp; branches; next 1.11; 1.11 date 2002.11.07.06.24.08; author rse; state Exp; branches; next 1.10; 1.10 date 2002.11.01.08.44.02; author rse; state Exp; branches; next 1.9; 1.9 date 2002.10.31.07.20.10; author rse; state Exp; branches; next 1.8; 1.8 date 2002.10.31.07.17.46; author rse; state Exp; branches; next 1.7; 1.7 date 2002.10.30.20.24.01; author rse; state Exp; branches; next 1.6; 1.6 date 2002.10.30.20.22.06; author rse; state Exp; branches; next 1.5; 1.5 date 2002.10.30.19.15.59; author rse; state Exp; branches; next 1.4; 1.4 date 2002.10.30.19.09.35; author rse; state Exp; branches; next 1.3; 1.3 date 2002.10.30.19.01.31; author rse; state Exp; branches; next 1.2; 1.2 date 2002.10.30.08.42.16; author rse; state Exp; branches; next 1.1; 1.1 date 2002.10.26.17.59.29; author rse; state Exp; branches; next ; desc @@ 1.54 log @Adjusted all copyright messages for year 2006 @ text @ _ ___ ____ ____ ____ |_|_ _ / _ \/ ___/ ___|| _ \ ___ __ _ _|_||_| | | | \___ \___ \| |_) | / __|/ _` | |_||_|_| | |_| |___) |__) | __/ \__ \ (_| | |_|_|_| \___/|____/____/|_| |___/\__,_| 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] @ 1.53 log @Upgrade build environment to GNU libtool 1.5.22 and GNU shtool 2.0.5 @ text @d20 3 @ 1.52 log @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. @ text @d14 6 @ 1.51 log @bump version before release @ text @d14 9 @ 1.50 log @use new GNU shtool 2.0.3 @ text @d14 1 a14 1 Changes between 1.2.4 and 1.2.5 (29-Jan-2005 to xx-xxx-2005) @ 1.49 log @Add pkg-config(1) specification file sa.pc @ text @d20 1 a20 1 GNU shtool 2.0.2 @ 1.48 log @upgrade build environment @ text @d15 3 @ 1.47 log @Upgrade build environment to GNU libtool 1.5.16 @ text @d14 1 a14 1 Changes between 1.2.4 and 1.2.5 (29-Jan-2005 to xx-Mar-2005) d16 2 a17 1 o Upgrade build environment to GNU libtool 1.5.16 a23 3 o Upgrade build environment to GNU libtool 1.5.14 [Ralf S. Engelschall ] @ 1.46 log @Follow FlexeLint suggestions and "constify" some API function parameters. @ text @d15 3 @ 1.45 log @upgrade to libtool 1.5.14 @ text @d16 4 @ 1.44 log @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)). Problem found by: Robert Wood @ text @d14 5 @ 1.43 log @welcome 2005 in OSSP sa, too @ text @d14 8 @ 1.42 log @Do not pass NULL directly to variadic functions because NULL is not guarrantied to be a pointer. @ text @d14 4 a17 1 Changes between 1.2.2 and 1.2.3 (26-Jun-2004 to xx-xxx-2004) @ 1.41 log @Added SA_SYSCALL_GETHOSTBYNAME for supporting the overloading of gethostbyname(2) system calls. @ text @d16 4 @ 1.40 log @Upgrade build environment to GNU libtool 1.5.10 and GNU shtool 2.0.1 @ text @d16 4 @ 1.39 log @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). o Remove "#undef socklen_t" from sa.h because the socklen_t fallback is a "typedef" since a longer time. @ text @d14 6 @ 1.38 log @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). Submitted by: Alexandre Balaban @ text @d21 10 @ 1.37 log @prepare for release @ text @d14 7 @ 1.36 log @Fix timeout implementation related to SO_RCVTIMEO/SO_SNDTIMEO. @ text @d17 5 a21 1 [Ralf S. Engelschall, Thomas Lotterer] @ 1.35 log @adjust date @ text @d14 5 @ 1.34 log @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). @ text @d14 1 a14 1 Changes between 1.1.0 and 1.2.0 (10-Nov-2003 to xx-Apr-2004) @ 1.33 log @Adjusted all copyright messages for new year 2004. @ text @d16 9 @ 1.32 log @next will be 1.2.0, I think @ text @d16 3 @ 1.31 log @restart accept(2) after interrupted system call @ text @d14 1 a14 1 Changes between 1.1.0 and FIXME (10-Nov-2003 to FIXME) @ 1.30 log @give credit, too @ text @d16 6 @ 1.29 log @Add autoconf check to detect unimplemented setsockopt features. Reported by Amos Gouaux. @ text @d20 1 a20 1 [Thomas Lotterer ] @ 1.28 log @bump before release @ text @d14 13 @ 1.27 log @upgrade to Autoconf 2.58 @ text @d14 1 a14 1 Changes between 1.0.5 and 1.1.0 (31-Jan-2003 to xx-Nov-2003) @ 1.26 log @Upgrade to GNU libtool 1.5 @ text @d14 4 a17 1 Changes between 1.0.5 and 1.1.0 (31-Jan-2003 to xx-Feb-2003) d19 1 a19 1 o Upgrade to GNU libtool 1.5. @ 1.25 log @Fix memory leak in test suite (sa_test.c). (detected by valgrind, see http://developer.kde.org/~sewardj/) @ text @d16 3 @ 1.24 log @Add 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. @ text @d16 3 @ 1.23 log @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. Hint by: Brian T. Egleston @ text @d14 7 @ 1.22 log @Fixed test suite (sa_test.c): an sa_addr_t was destroyed too early and this way crashed the test suite. Submitted by: Brian T. Egleston @ text @d16 6 @ 1.21 log @fix date @ text @d14 6 @ 1.20 log @remember change @ text @d14 1 a14 1 Changes between 1.0.3 and 1.0.4 (06-Jan-2002 to 28-Jan-2003) @ 1.19 log @- Adjusted all copyright messages for new year 2003. - Fixed generated owner in distribution tarball. - Prepare for 1.0.3 release @ text @d14 6 @ 1.18 log @Fixed two compile-time warnings in sa_test.c @ text @d14 7 a20 1 Changes between 1.0.2 and 1.0.3 (04-Dec-2002 to xx-Jan-2003) @ 1.17 log @upgrade to Autoconf 2.57 and prepare for release @ text @d14 6 a19 1 Changes between 1.0.1 and 1.0.2 (07-Nov-2002 to xx-Dec-2002) @ 1.16 log @remember changes @ text @d20 1 a20 1 o Upgraded build environment to GNU autoconf 2.56. @ 1.15 log @prepare for release @ text @d14 9 @ 1.14 log @Make sure that "va_list" variables are not compared against NULL because this is not possible on all platforms. @ text @d14 1 a14 1 Changes between 1.0.0 and 1.0.1 (01-Nov-2002 to xx-Nov-2002) @ 1.13 log @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. @ text @d16 4 @ 1.12 log @remember change @ text @d16 5 @ 1.11 log @Fixed two compile-time warnings. Submitted by: Alvaro Lopez Ortega @ text @d19 3 @ 1.10 log @final adjustments for OSSP sa 1.0.0 release @ text @d14 5 @ 1.9 log @Consistently return SA_ERR_MEM instead of SA_ERR_SYS if memory allocations failed. @ text @d14 1 a14 1 Changes between 0.9.3 and 1.0.0 (30-Oct-2002 to 31-Oct-2002) @ 1.8 log @polish for OSSP sa 1.0.0 release @ text @d15 4 @ 1.7 log @Cleanup markup in manual page (sa.pod) @ text @d14 4 a17 1 Changes between 0.9.3 and x.x.x (30-Oct-2002 to xx-Nov-2002) d45 1 a45 1 allocated. This fixes especially sa_option(sa, SA_OPTION_REUSEADDR, 1) @ 1.6 log @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}. @ text @d16 3 @ 1.5 log @polish for release @ text @d14 7 @ 1.4 log @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. @ text @d14 1 a14 1 Changes between 0.9.2 and 0.9.3 (11-Oct-2002 to xx-Oct-2002) @ 1.3 log @now done @ text @d16 10 @ 1.2 log @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(). @ text @d16 4 @ 1.1 log @cleanup source tree @ text @d16 6 @