2002-04-11 David Byers * configure.in: Added AC_PREREQ(2.53). 2001-09-23 Per Cederqvist * Re-applied a couple of lyskomd modifications. 1999-07-05 Per Cederqvist Delay problems with sessions that are deconnected until we can do a proper fix. * src/isc.h (ISC_DEFAULT_MAX_QUEUED_SIZE): Double to 600. 1999-05-21 Per Cederqvist Remove all gcov files in "make mostlyclean". * src/Makefile.am (MOSTLYCLEANFILES): Added "*.da", "*.bb", "*.gcov" and "*.bbg". 1999-05-17 Per Cederqvist Don't needlessly call time(). * src/isc.h (IscSession): Comment out idlesince. * src/isc_event.c (isc_getnextevent): Don't waste time setting idlesince, which lyskomd doesn't use. 1999-05-01 Per Cederqvist The LysKOM server should not install isc thingies. * src/Makefile.am (noinst_LIBRARIES, noinst_HEADERS): Use instead of lib_LIBRARIES and include_HEADERS so that nothing from isc gets installed by lyskomd. * man/Makefile.am (noinst_MANS): Use noinst_MANS instead of man_MANS so that nothing from isc gets installed by lyskomd. 2001-09-23 Per Cederqvist * Version 1.01 released. Release preparations. * configure.in: Release 1.01. * NEWS: Entry for 1.01 written. Port to Autoconf 2.52 and Automake 1.5. * RELEASING: Updated for automake 1.5. * configure.in: Adjusted to autoconf 2.52: AC_INIT Now takes package name and version as arguments. Use AC_CONFIG_SRCDIR. Use AC_HELP_STRING to format help strings. Use CMOD_CHECK_CC_OPT instead of CMOD_COMPILER_CC_ACCEPTS. Don't use -Wpointer-arith. Use AC_CONFIG_FILES. * acinclude.m4 (CMOD_COMPILER_CC_ACCEPTS): Removed. (CMOD_CHECK_CC_OPT): New macro. * README.DEVO: Updated for autoconf 2.52 and automake 1.5. Removed an unused attribute in IscSession. Handle isc_getraddress() failures properly. * src/isc_tcp.c (isc_tcp_accept_fn): Don't set scb->mode. Fail properly if isc_getraddress() fails. * src/isc.h (IscSession): Delete the "mode" attribute, which was only set in some cases and never used. * src/isc_session.c (isc_openfile): Don't set scb->mode. 1999-05-01 Per Cederqvist * Version 1.00 released. Release preparations. * configure.in: Release 1.00. * TODO: Updated. * README: Updated. * NEWS: Entry for 1.00 written. "make maintainer-clean" shoudl remove everything that can be recreated. * Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in, aclocal.m4, configure, install-sh, mkinstalldirs, missing, INSTALL and COPYING. * src/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in. * man/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in. * doc/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in. * demo/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in. Removed support for isc_printf and isc_vprintf for license, performance and portability reasons. * configure.in: Removed --enable-isc-printf. * src/isc_stdout.c (isc_printf): Removed. (isc_vprintf): Removed. (send_scb): Removed. (send_putc): Removed. * src/isc.h (isc_printf): Removed. (isc_vprintf): Removed. * src/Makefile.am (libisc_a_LIBADD): Removed. (isc_stdout.o): No longer depend on ../config.status. * src/printf.c: Removed. Merged in all changes made to ISC in the lyskomd code from the isc_merge_1999_04_21 tag to the isc_merge_1999_05_01 tag. Details follows: 1999-04-28 Per Cederqvist Added some output functions. * src/isc_stdout.c (isc_puts): New function. (isc_putul): New function. * src/isc.h (isc_puts): New function. (isc_putul): New function. 1999-04-24 Per Cederqvist Make it easier to compile ISC out-of-the-repository. * README.DEVO: Mention bootstrap.sh. * bootstrap.sh: New file. Fix file inclusions. * src/isc_relocate.c: and must be included before "isc.h". * src/isc_alloc.c: must be included before "isc.h". * src/isc_master.c: Likewise. * src/isc_output.c: Likewise. * src/isc_tcp.c: Likewise. * src/isc_udp.c: Likewise. Update at least one of the man pages. * man/isc_close.3x: Updated. Distribute ISC under LGPL. * README: Changed license to LGPL. * COPYING.LIB: New file, containing LGPL, the license this library is distributed under. * COPYING: No longer under version control. This file is still included in the distribution, even though ISC is licensed under LGPL instead of GPL, for two reasons: LGPL allows you to change the license to GPL, and automake requires the file COPYING. * Makefile.am: Changed license to LGPL. * configure.in: Changed license to LGPL. * demo/Makefile.am: Changed license to LGPL. * man/Makefile.am: Changed license to LGPL. * man/TEMPLATE: Changed license to LGPL. * man/isc.3x: Changed license to LGPL. * man/isc_close.3x: Changed license to LGPL. * man/isc_createtcp.3x: Changed license to LGPL. * man/isc_destroy.3x: Changed license to LGPL. * man/isc_initialize.3x: Changed license to LGPL. * man/isc_listentcp.3x: Changed license to LGPL. * man/isc_openfd.3x: Changed license to LGPL. * man/isc_openfile.3x: Changed license to LGPL. * man/isc_opentcp.3x: Changed license to LGPL. * man/isc_shutdown.3x: Changed license to LGPL. * man/isc_unlisten.3x: Changed license to LGPL. * src/Makefile.am: Changed license to LGPL. * src/intern.h: Changed license to LGPL. * src/isc.h: Changed license to LGPL. * src/isc_abort.c: Changed license to LGPL. * src/isc_alloc.c: Changed license to LGPL. * src/isc_event.c: Changed license to LGPL. * src/isc_handler.c: Changed license to LGPL. * src/isc_master.c: Changed license to LGPL. * src/isc_message.c: Changed license to LGPL. * src/isc_output.c: Changed license to LGPL. * src/isc_queue.c: Changed license to LGPL. * src/isc_relocate.c: Changed license to LGPL. * src/isc_session.c: Changed license to LGPL. * src/isc_socket.c: Changed license to LGPL. * src/isc_stdout.c: Changed license to LGPL. * src/isc_tcp.c: Changed license to LGPL. * src/isc_udp.c: Changed license to LGPL. * src/isc_wait.c: Changed license to LGPL. * src/unused.h: Changed license to LGPL. 1999-04-22 Per Cederqvist Distribute administrative files. * Makefile.am (EXTRA_DIST): Added README.DEVO and RELEASING. Merged in all changes made to ISC in the lyskomd code from ISC 0.99 to the isc_merge_1999_04_21 tag. Details follows: 1999-04-17 Per Cederqvist Added full support for fd relocation. * src/isc_relocate.c (isc_relocate_fd): Implemented for real. * src/isc_event.c (isc_getnextevent): Return ISC_EVENT_LOGIN_UNRELOCATED instead of ISC_EVENT_LOGIN if a file descriptor relocation failed. * src/isc.h (IscEventType): New event: ISC_EVENT_LOGIN_UNRELOCATED. 1999-04-17 Per Cederqvist Added limited support for fd relocation. Error handling still needed. * src/isc_udp.c (isc_createudp): Relocate the fd. * src/isc_tcp.c (isc_tcp_accept_fn): isc_createtcp will close the file descriptor if it fails, so don't re-close it here. isc_createtcp will also set the fd attribute of the session; don't set it again. (isc_createtcp): Relocate the fd. Be careful to always close it if an error occurs. * src/isc_relocate.c (isc_relocate_fd): New file and function. This is still a dummy implementation. * src/isc_master.c (isc_initialize): Expect master config version 1006 and session config 1002. Handle fd_relocate. * src/isc.h (IscSessionConfig): Added fd_relocate. * src/intern.h (isc_relocate_fd): New function. * src/Makefile.am (libisc_a_SOURCES): Added isc_relocate.c. 1999-04-16 Per Cederqvist Simplify the use of IscHandlerList. (This needs more documentation.) * src/isc.h (IscSession): Removed the "IscHandlerCache fun" member. (IscHandlerList): Renamed the "old" member to "current". (ISC_HCALLFUN1): Adapted to IscHandlerList changes. (ISC_HCALLFUN2): Adapted to IscHandlerList changes. (ISC_HCALLFUN3): Adapted to IscHandlerList changes. * src/intern.h (ISC_SCALLFUN1): Use ISC_HCALLFUN1 to simplify code. Adapted to IscHandlerList changes. (ISC_SCALLFUN2): Analogous. (ISC_SCALLFUN3): Analogous. * src/isc_handler.c (isc_pushhandler): Modified so that the members of the member "current" of IscHandlerList objects points to the IscHandler object where the callbacks that should be used exist. Once that changes was done, there is no need for the "scb->fun" member, so it was removed. (isc_pophandler): Adjusted accordingly. * src/isc_session.c (isc_create): Removed the code that initialized scb->fun. (isc_destroy): Use scb->handlers->current instead of scb->fun. * src/isc_event.c (isc_getnextevent): Use scb->handlers->current instead of scb->fun. 1999-04-15 Per Cederqvist Allow disabled sessions to emit data. It is input from the sessions that is disabled. * src/isc_stdout.c (isc_putc): Allow output to sessions that are in state ISC_STATE_DISABLED. (isc_write): Likewise. * src/isc_output.c (isc_flush): Flush pending output even when the session is in ISC_STATE_DISABLED. (isc_oflush): Likewise. * src/isc_event.c (isc_getnextevent): Flush pending output even when the session is in ISC_STATE_DISABLED. 1999-04-11 Per Cederqvist Rebuild more often. * src/Makefile.am (isc_stdout.o): Depend on ../config.status. 1999-04-05 Per Cederqvist Get rid of useless compiler warnings. * configure.in: Don't use -Wtraditional. 1999-02-05 Per Cederqvist Get rid of a compiler warning. * src/isc_alloc.c (ISC_MAGIC_ALLOC): This is an unsigned constant. (ISC_MAGIC_FREE): Likewise. 1999-01-18 David Byers * src/.cvsignore: Added .bbg, .bb, .da and .gcov files. 1999-01-15 David Byers * configure.in: Added --with-checker, --with-gcov and --with-optimization. 1998-10-06 Per Cederqvist Port to glibc2. * src/isc_session.c: Include . 1998-07-09 Per Cederqvist --enable-isc-printf was broken. * src/isc_wait.c: Include . 1999-04-21 Per Cederqvist * demo/Makefile.am: Insert copyright header. Clean up the configure script. * configure.in (AC_PROG_MAKE_SET, AC_PROG_INSTALL): Removed. This is automatically done by AM_INIT_AUTOMAKE. (AM_PROG_CC_STDC): Use it instead of AM_C_PROTOTYPES. 1998-07-06 Per Cederqvist * Version 0.99 released. Release preparations. * NEWS: Updated. * README: Updated. * RELEASING: New file. * README.DEVO: New file. Include isc_wait.o in the built library. * src/Makefile.am (libisc_a_SOURCES): Added isc_wait.c. Improved portability. * src/isc_wait.c: Check TIME_WITH_SYS_TIME. * src/isc_socket.c: Check TIME_WITH_SYS_TIME. * src/isc_event.c: Check TIME_WITH_SYS_TIME. Ported to Solaris 2.7 Beta/gcc 2.8.1. * src/isc_udp.c: Include . (isc_udp_read_fn): Now static. Flag unused arguments. (isc_udp_destroy_fn): Likewise. (isc_udp_write_fn): Now static. (isc_mkudpaddress): Likewise. Don't pass potentially negative characters to isdigit. * src/isc_tcp.c: Include . (isc_tcp_accept_fn): Now static. Flag unused arguments. (isc_tcp_destroy_fn): Likewise. (isc_mktcpaddress): Now static. Don't pass potentially negative characters to isdigit. * src/isc_session.c: Include . (isc_default_read_fn): Flag unused arguments. (isc_default_write_fn): Flag unused arguments. (isc_default_close_fn): Flag unused arguments. (isc_file_destroy_fn): Flag unused arguments. * src/isc_alloc.c (isc_realloc): Code simplified. (isc_free): Code simplified. * src/unused.h: New file (taken from cmod). Added automake/autoconf support. * AUTHORS: New file. * Makefile.am: New file. * NEWS: New file. * acinclude.m4: New file. * configure.in: New file. * demo/Makefile.am: New file. * demo/README: New file. * doc/Makefile.am: New file. * man/Makefile.am: New file. * src/Makefile.am: New file. * man/Makefile: This file is now generated by configure. Don't store it under version control. * src/Makefile: Likewise. * demo/Makefile: Likewise. * build/stddef.h: File removed. * build/gmkdep: File removed. 1998-06-21 Per Cederqvist Incorporated all relevant improvements made to ISC in the committed sources of lyskomd as of 1998-06-21. Edited details follows. Include file improvements. * src/isc_event.c: Include , and for increased portability. * src/printf.c: Check HAVE_STRING_H and HAVE_STDLIB_H before including those files. Don't forward-declare memchr. Ignore attempts to look up the NULL host name. * src/isc_socket.c (isc_gethostname): Return NULL if given a NULL IscAddress. 1998-05-07 Per Cederqvist Incorporated all relevant improvements made to ISC in kom++-0.7.post.2. Edited details follows. Avoid including more files than necessary. * src/isc.h: Don't include any include files. * src/isc_abort.c: Don't declare system functions. Fixed include statements. * src/isc_alloc.c: Likewise. * src/isc_event.c: Likewise. * src/isc_message.c: Likewise. * src/isc_output.c: Likewise. * src/isc_session.c: Likewise. * src/isc_socket.c: Likewise. * src/isc_stdout.c: Likewise. * src/isc_tcp.c: Likewise. * src/isc_udp.c: Likewise. * src/isc_handler.c: Fixed include statements. * src/isc_master: Likewise. * src/isc_queue.c: Likewise. Added the ability to wait until a connection attempt (initiated by this process) either fails or succeeds. * src/isc.h: (isc_wait): Prototype added. * src/isc_wait.c: New file, containing isc_wait. Only support isc_printf and isc_vprintf if ISC_PRINTF_SUPPORT if defined. These functions may lead to bad use of the buffers. * src/isc.h: (isc_vprintf, isc_printf): Only declare if ISC_PRINTF_SUPPORT is defined. Fail to compile if ISC_PRINTF_SUPPORT is defined but HAVE_STDARG_H isn't. * src/isc_stdout.c (send_scb, send_putc, isc_vprintf, isc_printf): Only defined if ISC_PRINTF_SUPPORT is defined. Make sure that isc_getnextevent only returns a single ISC_EVENT_LOGOUT message when a session logs out. * src/isc.h: (IscSessionState): New state: ISC_STATE_CLOSING2. * src/isc_event.c (isc_getnextevent): There is now only one ISC_EVENT_LOGOUT message per session. Set the state to ISC_STATE_CLOSING2 when generating an ISC_EVENT_LOGOUT message. * src/isc_output.c (isc_flush): Treat ISC_STATE_CLOSING2 as ISC_STATE_CLOSING. (isc_oflush): Likewise. Portability fixes. * src/isc_alloc.c (isc_mallocfn, isc_reallocfn, isc_freefn): Removed lame casts. Make sure that isc_malloc returns a block that is aligned on a "long" boundary. * src/isc_alloc.c (isc_malloc, isc_free, isc_realloc): Portablilty fix: Align data on a "long" boundary, not only an "int" boundary. Typo fix. * src/isc_event.c (isc_getnextevent): Fixed a spelling error in a comment. Make sure that errors are reported to the proper session. * src/isc_event.c (isc_getnextevent): event->session was sometimes set erronously if an error occured in select() or if a timeout occured. Use O_NONBLOCK instead of the now obsolete name FNDELAY. * src/isc_session.c (isc_openfd): Use O_NONBLOCK instead of FNDELAY. * src/isc_tcp.c (isc_createtcp): Use O_NONBLOCK instead of FNDELAY. * src/isc_udp.c (isc_createudp): Use O_NONBLOCK instead of FNDELAY. Avoid warnings by adding a dubious cast. * src/isc_socket.c (isc_gethostname): Cast argument to gethostbyaddr to a char* to avoid a warning. Portability fix: Renamed _printf to UCB_printf. * src/isc_stdout.c (isc_printf, isc_vprintf): Call UCB_printf instead of _printf. * src/printf.c (UCB_printf): Renamed _printf to UCB_printf (to avoid conflicts on HPUX). Don't use obsolete setsockopt interfaces. * src/isc_tcp.c (isc_createtcp): Fixed calls to setsockopt with SO_LINGER and SO_REUSEADDR arguments. The old-style style previously used should no longer be necessary on modern operating systems, and in fact it no longer works everywere. * src/isc_udp.c (isc_createudp): Fixed calls to setsockopt with SO_LINGER and SO_REUSEADDR arguments. The old-style style previously used should no longer be necessary on modern operating systems, and in fact it no longer works everywere. If an attempt to bind failed with EADDRINUSE all the retries would automatically fail. * src/isc_tcp.c (isc_listentcp): Clear errno on each loop in the retry loop. Include the licensing conditions used by this package. * COPYING: New file. 1998-04-03 Per Cederqvist Port to glibc 2, where errno is a macro. * isc.h (IscSession::isc_errno): New name for former struct member errno. All users updated. 1996-07-24 Per Cederqvist ISC_EVENT_LOGIN events now return the listening session in the event, so that it can be used to easily determine which kind of connection that was made. 66.7 % of the code was contributed by . * src/isc.h (IscEvent): New field: listen_session. * src/isc_event.c (isc_getnextevent): Fill in listen_session when an ISC_EVENT_LOGIN event is created. Set it to NULL in all other cases. 1996-07-23 Per Cederqvist * Imported ISC version 0.98.3.