ChangeLog vanessa_socket Library to simplify handling of TCP sockets Copyright (C) 1999-2004 Horms ---------------------------------------------------------------------- 22nd March 2004 (Horms) * 0.0.7 - Don't call umask in daemon code in vanessa_socket_daemon_process() or vanessa_socket_daemon_inetd_process(). ---------------------------------------------------------------------- 15th December 2003 (Horms) * 0.0.6 - Better logging of faile gethopstbyname() and gethostbyaddr() calls - Reset addrlen correctly in vanessa_socket_server_accept() Maxim Dounin - Set listen() to SOMAXCONN if possible. Maxim Dounin - Better logging of errors looking user or group in vanessa_socket_daemon_setid() ---------------------------------------------------------------------- 6th June 2003 (Horms) * 0.0.5 - No Change ---------------------------------------------------------------------- 26th March 2003 (Horms) * 0.0.5beta7 - Compile time check to see if stdio and stderr can be reassigned. - Set upper bound of ports to 65535 rather than USHRT_MAX. USHRT_MAX doesn't seem to be universal. ---------------------------------------------------------------------- 7th February 2003 (Horms) * 0.0.5beta4 - Made vanessa_socket_accept resistant to SIGPIPE. Russell Corker. ---------------------------------------------------------------------- 8th January 2003 (Horms) * 0.0.5beta2 - Packaging fixes ---------------------------------------------------------------------- 27th December 2002 (Horms) * 0.0.5beta1 - Since the introduction of non-forking code the noconnections variable has not been incremented. However, the reaper signal handler continues to decrement this value, causing a wraparound. This has been resolved, and maximum connection tracking now impliclty works with when vanessa_socket_server_accept() is in forking mode. Thanks to Chris Stratford for spotting this problem. - Be sure to close socket on error in vanessa_socket_server_bind_sockaddr_in - Use logging convenicence macros provided by libvanessa_logger rather than providing our own. - Fixed potential infinite recursion problem in vanessa_socket_pipe_write_func() - Fixed handling of invalid port lookups - Support lookup up UCP port names - If possible vanessa_socket_daemon_process() opens /dev/console as fd 1 and 2. Otherwise /dev/null is opened (which was the previous behaviour). These two file descriptors are then linked to the file handles stdout and stderr respectivley. - Cast parameters to calls to isdigit to int in vanessa_socket_str_is_digit(). Should avoid compiler warnings. - Fixed bug in zering of addr data structure in vanessa_socket_host_port_sockaddr_in() where the size to be zeroed was set to the size of a pointer, rather than the structure it points to. This caused host lookup problems on (at least) FreeBSD. Dounin Maxim - Use memset() instead of bzero(). - Ignore ECONNABORTED for accept(). Maxim Dounin. - Treat getsockname() and getpeername() errors as transient. Maxim Dounin ---------------------------------------------------------------------- 17th May 2002 (Horms) * 0.0.4 ---------------------------------------------------------------------- 11th May 2002 (Horms) * 0.0.4beta4 - ignore EINTR for accept() in vanessa_socket_server_accept(). This will occur as a child process exits. ---------------------------------------------------------------------- 30th April 2002 (Horms) * 0.0.4beta3 - Fix bug in reseting signal hander in vanessa_socket_handler_reaper - vanessa_socket_host_port_sockaddr_in provides a more infomative message if conversion of an IP address to binary fails when VANESSA_SOCKET_NO_LOOKUP is set. - include errno.h in vanessa_socket_pipe to allow it to compile on GNU/Hurd ---------------------------------------------------------------------- 24th March 2002 (Horms) * 0.0.4beta2 - Server code doesn't set SIGCHLD handler to vanessa_socket_server_reaper, this should be done by the aplication. If a non-forking server is being used, SIGPIPE needs to be set to something, and SIGCHILD is irrelevant. - vanessa_socket_server_open() and freinds use vanessa_socket_server_bind() amd vanessa_socket_server_accept() ---------------------------------------------------------------------- 14th March 2002 (Horms) * 0.0.4beta1 - Added code to detatch from the terminal to become a daemon. - include in vanessa_socket_pipe.c. closes: Debian Bug#108209 - Fixed minor .spec file errors Scot W. Hetzel & Horms - Added vanessa_socket_server_bind(), vanessa_socket_server_accept() and friends - Allow select() function to be supplied to vanessa_socket_pipe(). - Use system variants of read(), write() and select() by default in vanessa_socket_pipe() and friends. ---------------------------------------------------------------------- 29th June 2001 (Horms) * 0.0.3 - Allow read() and write() functions to be supplied to vanessa_socket_pipe() and friends. - Tidyied up logging ---------------------------------------------------------------------- 19th April 2001 (Horms) * 0.0.2 - Fixed problem linking so that it is linked against the shared libary libvanessa_logger instead of statically linked - Fixed some (minor) casting problems when using bind() and various popt calls. ---------------------------------------------------------------------- 5th April 2001 (Horms) * 0.0.1 - Fixed problem with -b under BSD ("Erik R. Leo" ) - Fixed problem with client connecting to bizzare address under BSD ("Erik R. Leo" ) - Added -lresolv and -lvanessa_logger to build to aid compiling under solaris (Chris Stratford ) - Added -lresolv and -lvanessa_logger to build to aid compiling under solaris (Chris Stratford ) - Added timeradd and timersub compatibility for Solaris (Chris Stratford ) - Cleaned up Debian packages ---------------------------------------------------------------------- 9th January 2000 (Horms) * version 0.0.0 - Added vanessa_socket_client_src_open() and vanessa_socket_client_src_open_in_addr() that enable a conection to be openend to a server and optionally have the source port and/or address specified.