Commit cd531338 authored by Per Cederqvist's avatar Per Cederqvist

Import of libisc 1.00

parent bafd19a4
......@@ -2,7 +2,7 @@
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
......@@ -279,7 +279,7 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
......@@ -291,7 +291,7 @@ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -305,14 +305,15 @@ the "copyright" line and a pointer to where the full notice is found.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
......
This diff is collapsed.
1999-05-01 Per Cederqvist <ceder@lysator.liu.se>
* 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 <ceder@lysator.liu.se>
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 <ceder@lysator.liu.se>
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: <time.h> and <stddef.h> must be included
before "isc.h".
* src/isc_alloc.c: <time.h> 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 <ceder@lysator.liu.se>
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 <ceder@lysator.liu.se>
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 <ceder@gratia>
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 <ceder@gratia>
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 <ceder@lysator.liu.se>
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 <ceder@gratia>
Rebuild more often.
* src/Makefile.am (isc_stdout.o): Depend on ../config.status.
1999-04-05 Per Cederqvist <ceder@gratia>
Get rid of useless compiler warnings.
* configure.in: Don't use -Wtraditional.
1999-02-05 Per Cederqvist <ceder@gratia>
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 <davby@ida.liu.se>
* src/.cvsignore: Added .bbg, .bb, .da and .gcov files.
1999-01-15 David Byers <davby@ida.liu.se>
* configure.in: Added --with-checker, --with-gcov and
--with-optimization.
1998-10-06 Per Cederqvist <ceder@gratia>
Port to glibc2.
* src/isc_session.c: Include <time.h>.
1998-07-09 Per Cederqvist <ceder@lysator.liu.se>
--enable-isc-printf was broken.
* src/isc_wait.c: Include <stdarg.h>.
1999-04-21 Per Cederqvist <ceder@lysator.liu.se>
* 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 <ceder@lysator.liu.se>
* Version 0.99 released.
Release preparations.
* NEWS: Updated.
* README: Updated.
......
# ISC - networking library
# Copyright (C) 1998 by Peter Eriksson and Per Cederqvist of the
# Lysator Academic Computer Association.
# ISC - networking library
# Copyright (C) 1998-1999 by Peter Eriksson and Per Cederqvist of the
# Lysator Academic Computer Association.
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the Free
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## Process this file with automake to produce Makefile.in
SUBDIRS = src man doc demo
AUTOMAKE_OPTIONS = gnu
RM = rm -f
EXTRA_DIST = .cvsignore
EXTRA_DIST = .cvsignore README.DEVO RELEASING
MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure \
install-sh mkinstalldirs missing INSTALL COPYING
News in release 1.00 (release date: 1999-05-01):
* All of ISC is now distributed under LGPL.
* isc_printf() and isc_vprintf() have been removed. The
implementation was unifficient, it used code that could not be
distributed under GPL or LGPL, and the implementation was
unportable. It was also not needed by the core projects that use
ISC. If anybody supplies an efficient implementation that is
distributable under LGPL it will be included in a future release.
* New functions: isc_puts() and isc_putul().
* New configure options --with-checker, --with-gcov and
--without-optimization are useful during debugging.
* The distribution is now totally self-contained.
* Many implementations of stdio cannot use high file descriptors
(typically the file descriptor must be less than 256). You can now
tell ISC to leave a few low-numbered file descriptors unused so that
they are available for use with stdio. Set the fd_relocate member
of the IscSessionConfig structure to the lowest number that ISC is
allowed to use.
* The new event ISC_EVENT_LOGIN_UNRELOCATED is generated if ISC failed
to relocate the file descriptor when it was about to generate an
ISC_EVENT_LOGIN session. Applications could destroy the new
session, or take care to not open new stdio files as long as the
unrelocated session exists. This event is never generated if
fd_relocate is set to 0.
* The master config version is now 1006. The session config version
is now 1002.
* IscHandlerList has been simplified.
* Some other minor fixes and cleanup.
News in release 0.99 (release date: 1998-07-06):
* Uses autoconf and automake for easy integration in other packages.
......
This package implements a library of functions that was intendend to
help creating client-server packages using TCP/IP or other file
descriptor based links. Use of this package for development of new
software is not recommended.
software is not currently recommended.
Much of the documentation is probably outdated. Be sure to read the
file NEWS, and trust it more than the man pages. Trust doc/MANUAL.sv
even less than the man pages.
even less than the man pages. Better still: use the source code
instead of the documentation.
This code is distributed under the GNU General Public License, except
for src/printf.c. See that file for all the details. src/printf.c is
not used unless the deprecated --enable-isc-printf switch is used.
This is an interim release, that will be used as a baseline for tests
with incorporating this library in other code such as the LysKOM
server. You should expect isc-1.0 to be released within a few
man-days. (What that translates to in calendar days is totally
unknown.)
This code is distributed under the GNU Library General Public License.
/Peter Eriksson <pen@lysator.liu.se> and
Per Cederqvist <ceder@lysator.liu.se>
* Use an autoconf check for the buggy inet_ntoa (search for __GNU__ in
src/isc_socket.c to see what I'm talking about).
* Get rid of isc/printf.c. Who uses it anyway? Ah, the lyskomd
server... What a pity.
* Anvnd ett IscMessage som sendbuffert
* Kolla upp s att inte tecken i sendbuf[] snds frn isc_flush() verkligen
......@@ -14,6 +11,3 @@
* IscHandlerCache: Direkta funktionspekare ocks.
* Man-sidorna
* Root-Makefile
dnl ISC - networking library
dnl Copyright (C) 1998 by Peter Eriksson and Per Cederqvist of the
dnl Lysator Academic Computer Association.
dnl ISC - networking library
dnl Copyright (C) 1998-1999 by Peter Eriksson and Per Cederqvist of the
dnl Lysator Academic Computer Association.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2 of the License, or
dnl (at your option) any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl This library is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl
dnl You should have received a copy of the GNU Library General Public
dnl License along with this library; if not, write to the Free
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dnl Process this file with autoconf to produce a configure script.
AC_REVISION($Revision: 1.1 $)dnl
AC_REVISION($Revision: 1.1.1.2 $)dnl
AC_INIT(src/isc_master.c)
AM_INIT_AUTOMAKE(isc, 0.99)
AM_INIT_AUTOMAKE(isc, 1.00)
AC_ARG_ENABLE([isc-printf],
[ --enable-isc-printf include isc_printf support (non-portable)])
AC_ARG_WITH([checker],
[ --with-checker compile with Gnu Checker],
[use_checker=$withval],
[use_checker=no])
[if test "$enable_isc_printf" = yes
then]
AC_DEFINE(ISC_PRINTF_SUPPORT)
[ LIBOBJS="printf.o $LIBOBJS"
fi]
AC_ARG_WITH([gcov],
[ --with-gcov instrument for gcov (requires gcc)],
[use_gcov=$withval],
[use_gcov=no])
AC_ARG_WITH([optimization],
[ --without-optimization turn off optimization
--with-optimization[=N] select level of optimization (default on)],
[opt_level=$withval],
[opt_level=""])
AC_SUBST(LIBOBJS)
dnl Checks for programs.
......@@ -39,8 +46,6 @@ AC_PROG_CC
AC_AIX
AC_ISC_POSIX
AC_MINIX
AC_PROG_INSTALL
AC_PROG_MAKE_SET
AC_PROG_RANLIB
dnl Checks for libraries.
......@@ -50,15 +55,17 @@ AC_HEADER_STDC
AC_CHECK_HEADERS(stdlib.h stdarg.h stddef.h string.h sys/select.h unistd.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AM_C_PROTOTYPES
AM_PROG_CC_STDC
AC_HEADER_TIME
AC_C_CONST
AC_TYPE_SIZE_T
CMOD_C_ATTRIBUTE_UNUSED
[if test -n "$GCC"; then
CFLAGS="$CFLAGS -Wall -W -Wtraditional -Wshadow -Wpointer-arith"]
[if test -n "$GCC"; then]
dnl "-Wtraditional" isn't really useful: we don't support
dnl pre-c89-compilers.
[CFLAGS="$CFLAGS -Wall -W -Wshadow -Wpointer-arith"]
CMOD_COMPILER_CC_ACCEPTS([-Wbad-function-cast])
CMOD_COMPILER_CC_ACCEPTS([-Wcast-qual])
CMOD_COMPILER_CC_ACCEPTS([-Wcast-align])
......@@ -71,4 +78,27 @@ CMOD_C_ATTRIBUTE_UNUSED
CMOD_COMPILER_CC_ACCEPTS([-pipe])
[fi]
[if test "$use_gcov" = "yes" -a -n "$GCC"; then]
CMOD_COMPILER_CC_ACCEPTS([-ftest-coverage])
CMOD_COMPILER_CC_ACCEPTS([-fprofile-arcs])
[fi]
[if test -n "$opt_level" -a "$opt_level" != "yes" ; then
CFLAGS=`echo "$CFLAGS" | sed "s/-O[0-9]*//"`
if test "$opt_level" != "no" ; then
CFLAGS="$CFLAGS -O$opt_level"
fi
fi]
# Check for checker
[if test "$use_checker" = "yes"
then]
AC_CHECK_PROGS(CHECKER, checker)
[ CC="checker $CC"
LIBS="-lchkr_m $LIBS" ]
[fi]
AC_OUTPUT(Makefile src/Makefile man/Makefile doc/Makefile demo/Makefile)
......@@ -118,6 +118,7 @@ if [ x"$dir_arg" != x ]; then
if [ -d $dst ]; then
instcmd=:
chmodcmd=""
else
instcmd=mkdir
fi
......
......@@ -82,15 +82,17 @@ WARNING: \`$1' is missing on your system. You should only need it if
you modified \`acconfig.h' or \`configure.in'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER([^):]*:\([^)]*\)).*/\1/p' configure.in`
if test -z "$files"; then
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^):]*\)).*/\1/p' configure.in`
test -z "$files" || files="$files.in"
else
files=`echo "$files" | sed -e 's/:/ /g'`
fi
test -z "$files" && files="config.h.in"
touch $files
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake)
......@@ -99,9 +101,9 @@ WARNING: \`$1' is missing on your system. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print \
| sed 's/^\(.*\).am$/touch \1.in/' \
| sh
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
bison|yacc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment