Net::Server is an extensible class-oriented Internet server written in Perl. The base Net::Server class contains the bulk of the functionality but can easily be extended with subclasses, process hooks, or overridden methods. The subclasses included with the distribution include single process, forking server, pre-forking server, and inetd server. All subclasses (except for inetd) allow for binding to and accepting on multiple ports. It has the ability to read a conf file, take command line arguments, chroot to a different directory, become another user, become another group, maintain a pid file, and specify log file. Subclasses contain extended functionality such as min_servers, max_servers, and spare_servers. Written to be light but powerful, Net::Server is intended to be the back end layer of FTP, SMTP, HTTP, ad serving, POP3, and other services, with protocol-specific functions layered on top.
Release Notes: This release allows for better handling of setlogsock depending upon the version of Sys::Syslog installed. post_client_connection_hook was added.
Release Notes: Safer peername check in get_client_info to avoid crashing under certain conditions, more graceful exit of children in PreFork, killing children with a kill 15 rather than kill 2, a backward compatibility fix for IO::Socket usage, and much more.
Release Notes: Changes to Net::Server::Proto::SSL (which correctly setup SSL connections), and a fix for a bug in IO::Socket::SSL.
Release Notes: This release adds Net::Server::Multiplex, a post_child_cleanup_hook to server_close, and a no_close_by_child flag. The pre_server_close_hook has been moved inside server_close. There are various small cleanups. In Net::Server::Fork, a bug in the forking server once the parent had reached max_servers caused a slow infinite loop and no processing of connections; this has been fixed.
Release Notes: A new dequeuing ability in Net::Server::Fork.