From 2e3abe4cda90a5104aaf8abe6e914bf21f3bd4aa Mon Sep 17 00:00:00 2001
From: nobody <nomail@example.com>
Date: Fri, 29 Aug 2003 17:27:51 +0000
Subject: [PATCH] This commit was manufactured by cvs2svn to create tag
 '2.1.2'.

---
 Build                                      |   34 -
 Config                                     |   60 -
 FileList                                   |  136 --
 MANIFEST                                   |   23 -
 Makefile                                   |  128 --
 config/.cvsignore                          |    0
 config/ChangeLog                           |   34 -
 config/Makefile                            |   47 -
 config/balance-config.h                    |   36 -
 config/balance-defs.make                   |   94 --
 config/config-template.h                   |   82 --
 config/sun4os4-config.h                    |   49 -
 config/sun4os4-defs.make                   |  116 --
 config/vax-config.h                        |   28 -
 config/vax-defs.make                       |   85 --
 db-crypt/db/ramkomd-data                   |  Bin 621 -> 0 bytes
 db-crypt/db/ramkomd-texts                  |    0
 doc/ADMINISTRATING                         |   46 -
 doc/Distfile                               |    1 -
 doc/Makefile                               |   39 -
 doc/Makefile.template                      |   63 -
 doc/coding-standards.txt                   |   77 --
 doc/man/Makefile                           |   60 -
 doc/man/man1/.cvsignore                    |    0
 doc/man/man3/.cvsignore                    |    0
 doc/man/man3/isc3.x                        |  209 ---
 doc/man/man5/.cvsignore                    |    0
 doc/man/man5/lyskom.5                      |  317 -----
 doc/man/man5/ramkom.5                      |  317 -----
 doc/man/man8/.cvsignore                    |    0
 doc/man/man8/dbck.8                        |  132 --
 doc/man/man8/lyskomd.8                     |  402 ------
 doc/man/man8/ramkomd.8                     |  118 --
 doc/man/man8/updateLysKOM.8                |   36 -
 doc/prot-A.bnf                             | 1067 --------------
 doc/prot-A.slightly-obsolete               |  230 ----
 doc/vad-aer-olaest.swe                     |  145 --
 fixconfig                                  |    9 -
 foo                                        |    0
 run-support/start_kom.sh                   |    6 -
 run-support/stop_kom.sh                    |    4 -
 run-support/updateLysKOM                   |    3 -
 scripts/Depend.make                        |   43 -
 scripts/Makefile                           |   42 -
 scripts/Parallell-depend.make              |   53 -
 scripts/RCS-depend.make                    |   51 -
 scripts/Single-depend.make                 |   30 -
 scripts/import.make                        |   60 -
 scripts/install-includes.make              |   33 -
 scripts/sub-binaries.make                  |   32 -
 scripts/sub-clean.make                     |   40 -
 scripts/sub-depend.make                    |   34 -
 scripts/sub-includes.make                  |   31 -
 scripts/sub-install.make                   |   31 -
 scripts/sub-libraries.make                 |   31 -
 src/Makefile                               |   46 -
 src/include/Makefile                       |   70 -
 src/include/com.h                          |   83 --
 src/include/dependencies                   |    0
 src/include/server/Makefile                |   54 -
 src/include/server/dependencies            |    0
 src/libraries/Makefile                     |   44 -
 src/libraries/gnumalloc/Makefile           |   57 -
 src/libraries/gnumalloc/gmalloc.c          | 1350 ------------------
 src/libraries/libansi/Makefile             |   63 -
 src/libraries/libansi/config.h             |    8 -
 src/libraries/libansi/dependencies         |    1 -
 src/libraries/libansi/difftime.c           |   38 -
 src/libraries/libansi/libansi.a            |  Bin 1280 -> 0 bytes
 src/libraries/libansi/mktime.c             |   28 -
 src/libraries/libansi/strchr.c             |   42 -
 src/libraries/libansi/tmp-difftime.h       |    8 -
 src/libraries/libansi/vprintf.c            |    3 -
 src/libraries/libcommon/Makefile           |   97 --
 src/libraries/libcommon/client-Makefile.in |   41 -
 src/libraries/libcommon/dependencies       |   26 -
 src/libraries/libisc-new/src/Makefile      |   61 -
 src/libraries/libmisc/Makefile             |   71 -
 src/libraries/libmisc/client-Makefile.in   |   50 -
 src/libraries/libmisc/dependencies         |   46 -
 src/libraries/libmisc/missing.c            |  137 --
 src/libraries/libmisc/testnumlist          |  Bin 32768 -> 0 bytes
 src/server/FileList                        |  126 --
 src/server/Makefile                        |  179 ---
 src/server/aux-item-def.tab.c              | 1454 --------------------
 src/server/memory.h                        |   83 --
 src/server/missing-ansi.c                  |  114 --
 src/server/tmp-difftime.h                  |    3 -
 src/server/version.incl                    |   30 -
 89 files changed, 9157 deletions(-)
 delete mode 100755 Build
 delete mode 100755 Config
 delete mode 100644 FileList
 delete mode 100644 MANIFEST
 delete mode 100644 Makefile
 delete mode 100644 config/.cvsignore
 delete mode 100644 config/ChangeLog
 delete mode 100644 config/Makefile
 delete mode 100644 config/balance-config.h
 delete mode 100644 config/balance-defs.make
 delete mode 100644 config/config-template.h
 delete mode 100644 config/sun4os4-config.h
 delete mode 100644 config/sun4os4-defs.make
 delete mode 100644 config/vax-config.h
 delete mode 100644 config/vax-defs.make
 delete mode 100644 db-crypt/db/ramkomd-data
 delete mode 100644 db-crypt/db/ramkomd-texts
 delete mode 100644 doc/ADMINISTRATING
 delete mode 100644 doc/Distfile
 delete mode 100644 doc/Makefile
 delete mode 100644 doc/Makefile.template
 delete mode 100644 doc/coding-standards.txt
 delete mode 100644 doc/man/Makefile
 delete mode 100644 doc/man/man1/.cvsignore
 delete mode 100644 doc/man/man3/.cvsignore
 delete mode 100644 doc/man/man3/isc3.x
 delete mode 100644 doc/man/man5/.cvsignore
 delete mode 100644 doc/man/man5/lyskom.5
 delete mode 100644 doc/man/man5/ramkom.5
 delete mode 100644 doc/man/man8/.cvsignore
 delete mode 100644 doc/man/man8/dbck.8
 delete mode 100644 doc/man/man8/lyskomd.8
 delete mode 100644 doc/man/man8/ramkomd.8
 delete mode 100644 doc/man/man8/updateLysKOM.8
 delete mode 100644 doc/prot-A.bnf
 delete mode 100644 doc/prot-A.slightly-obsolete
 delete mode 100644 doc/vad-aer-olaest.swe
 delete mode 100755 fixconfig
 delete mode 100644 foo
 delete mode 100644 run-support/start_kom.sh
 delete mode 100644 run-support/stop_kom.sh
 delete mode 100644 run-support/updateLysKOM
 delete mode 100644 scripts/Depend.make
 delete mode 100644 scripts/Makefile
 delete mode 100644 scripts/Parallell-depend.make
 delete mode 100644 scripts/RCS-depend.make
 delete mode 100644 scripts/Single-depend.make
 delete mode 100644 scripts/import.make
 delete mode 100644 scripts/install-includes.make
 delete mode 100644 scripts/sub-binaries.make
 delete mode 100644 scripts/sub-clean.make
 delete mode 100644 scripts/sub-depend.make
 delete mode 100644 scripts/sub-includes.make
 delete mode 100644 scripts/sub-install.make
 delete mode 100644 scripts/sub-libraries.make
 delete mode 100644 src/Makefile
 delete mode 100644 src/include/Makefile
 delete mode 100644 src/include/com.h
 delete mode 100644 src/include/dependencies
 delete mode 100644 src/include/server/Makefile
 delete mode 100644 src/include/server/dependencies
 delete mode 100644 src/libraries/Makefile
 delete mode 100644 src/libraries/gnumalloc/Makefile
 delete mode 100644 src/libraries/gnumalloc/gmalloc.c
 delete mode 100644 src/libraries/libansi/Makefile
 delete mode 100644 src/libraries/libansi/config.h
 delete mode 100644 src/libraries/libansi/dependencies
 delete mode 100644 src/libraries/libansi/difftime.c
 delete mode 100644 src/libraries/libansi/libansi.a
 delete mode 100644 src/libraries/libansi/mktime.c
 delete mode 100644 src/libraries/libansi/strchr.c
 delete mode 100644 src/libraries/libansi/tmp-difftime.h
 delete mode 100644 src/libraries/libansi/vprintf.c
 delete mode 100644 src/libraries/libcommon/Makefile
 delete mode 100644 src/libraries/libcommon/client-Makefile.in
 delete mode 100644 src/libraries/libcommon/dependencies
 delete mode 100644 src/libraries/libisc-new/src/Makefile
 delete mode 100644 src/libraries/libmisc/Makefile
 delete mode 100644 src/libraries/libmisc/client-Makefile.in
 delete mode 100644 src/libraries/libmisc/dependencies
 delete mode 100644 src/libraries/libmisc/missing.c
 delete mode 100755 src/libraries/libmisc/testnumlist
 delete mode 100644 src/server/FileList
 delete mode 100755 src/server/Makefile
 delete mode 100644 src/server/aux-item-def.tab.c
 delete mode 100644 src/server/memory.h
 delete mode 100644 src/server/missing-ansi.c
 delete mode 100644 src/server/tmp-difftime.h
 delete mode 100644 src/server/version.incl

diff --git a/Build b/Build
deleted file mode 100755
index d3d138eae..000000000
--- a/Build
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-#
-# $Id: Build,v 1.11 1994/04/05 07:50:22 ceder Exp $
-# Copyright (C) 1991, 1992, 1993  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: Build,v 1.11 1994/04/05 07:50:22 ceder Exp $
-date
-make depend \
-&& echo '*** Depend ready. Making libraries. ***' \
-&& make -k libraries \
-&& echo '*** Libraries ready. Making binaries. ***' \
-&& make -k binaries \
-&& echo '*** All binaries might be built. Install manually.'
-date
diff --git a/Config b/Config
deleted file mode 100755
index 5889b012c..000000000
--- a/Config
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/sh
-#
-# $Id: Config,v 1.11 1992/12/19 00:25:02 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: Config,v 1.11 1992/12/19 00:25:02 ceder Exp $
-
-x=
-
-[ -d include ] && rm -rf include
-mkdir include
-
-case "$1" in
-+help | +hel | +he | +h | -h | -H)
-	echo Usage: ./Config hosttype
-	echo where hosttype is one of
-	echo	balance    sparc;;
-balance)
-	x=balance;;
-sun3 | sun3os4 | sun4 | sun4os4 | sparc | sparcos4) 
-	x=sun4os4;;
-vax)
-	x=vax;;
-*)	echo Unsupported host type "$1".
-	x=error;;
-esac
-
-case "$x" in
-error)	false;;
-*)
-	for i in `find . -type d -print`
-	do  echo TOPDIR=`pwd` > $i/Topdir.make
-	done
-
-	rm -f scripts/import.make
-	ln -s ../config/${x}-defs.make scripts/import.make
-	( cd config; make SYSTEM=${x} config )
-	( cd src/include/ansi/${x} ; make SYSTEM=${x} config )
-	( cd src/libraries/regex ; ./configure )
-esac
diff --git a/FileList b/FileList
deleted file mode 100644
index 55815ac0e..000000000
--- a/FileList
+++ /dev/null
@@ -1,136 +0,0 @@
-(Hey, Emacs, this is a -*- Indented-text -*- file!)
-
-*  ansi-include/
-   Directory containing ANSI-fied header files for the standard
-   libraries.
-
-
-*  ChangeLog
-   Log file where the progressing work and changes are sporadically
-   documented.  You are encouraged to add an entry in this file
-   whenever you change something in this directory.
-
-
-*  client/
-   Directory containing a TTY-based client for LysKOM, very similar to
-   the original KOM program from QZ.
-
-
-*  config.h
-   Configuration parameters for compiling.  Contains among other
-   things all the stupid limits you really want to be without, all the
-   smart limits that has to be there to make it impossible to crash
-   the server, and lots of constants and configuration options.
-
-
-*  debug.h
-   Some #defines for debugging purposes.
-
-
-*  doc/
-   Documentation of LysKOM; both internal and external.  Also some
-   random thoughts members of the development team wanted to write
-   down during development.
-
-
-*  FileList
-   This file, describing all the files.
-
-
-*  kom-errno.c
-   Defines the variable 'kom_errno' and the function 'kom_perror()'.
-   Used for error handling in LysKOM.
-
-
-*  kom-errno.h
-   Defines the type 'Kom_err' and declares the variable 'kom_errno'.
-   The server sets the value of 'kom_errno' when an error occurs.
-   The function 'kom_perror()' is declared.
-
-
-*  kom-types.h
-   Declares the types used by LysKOM.  Here are the types that are
-   common to both the server and the client.  Types that look
-   different to the server and the client, are found in
-   'server/server-types.h' and 'client/client-types.h' respectively.
-
-
-*  ldb/
-   Directory containing the low-level database routines for the LysKOM
-   server.  'ldb' stands for Lyskom DataBase.
-
-
-*  List-Files
-   Shell script to list the files in this directory not documented in
-   the file 'FileList' (the one you are reading now).
-
-
-*  Mailinglist
-   List of mail addresses of people who want to be informed of the
-   progress of LysKOM.
-
-
-*  Makefile
-   Exactly what the name says.
-
-
-*  misc-types.h
-   Miscellaneous types and constants that are useful in many places in
-   LysKOM, but are not very LysKOM-specific.
-
-
-*  s-collat-tables.c
-   Collating tables used for the 's_usr_strcmp()' and
-   's_usr_strhead()' functions in 's-string.h'
-
-
-*  s-collat-tables.h
-   Header file for 's-collat-tables.c'
-
-
-*  s-string.c
-   Routines for manipulating objects of type String as defined in
-   's-string.h'
-
-
-*  s-string.h
-   Header file for 's-string.c'
-   Definies our own string type 'String', and declares the functions
-   in 's-string.c'
-
-
-*  server/
-   Directory containing the LysKOM server, except for the low-level
-   database routines, which for historical reasons are in the separate
-   directory 'ldb/'.
-
-
-*  services.h
-   Declares all the services available from the LysKOM server.
-
-
-*  Summarize-Headers
-   Since we write our .h files with documentation in line, they
-   tend to get rather long, and it gets somewhat difficult to get
-   a quick overview of what functions are declared in the file.
-   This script cuts out all the "unnecessary" information: all
-   comments and all preprocessor lines (starting with #).
-
-
-*  TAGS
-   Tags table for use with Emacs.
-
-
-*  Template
-   Template for automatically generating 'Makefile'.  'Makefile' is
-   updated with the command 'make depend'.  This should be given
-   whenever a change to 'Template' is done, or any new files are
-   added, or any dependecies are changed.  Dependencies for normal C
-   files are generated automatically by this.
-   If 'Makefile' should become garbled, copy 'Template' to 'Makefile'
-   and do a 'make depend'.
-
-
-*  test-services/
-   Directory containing programs to test parts of the server.  Used by
-   ceder, and should not be distributed.
diff --git a/MANIFEST b/MANIFEST
deleted file mode 100644
index 9e76727bc..000000000
--- a/MANIFEST
+++ /dev/null
@@ -1,23 +0,0 @@
-$Id: MANIFEST,v 1.2 1991/09/13 20:00:02 linus Exp $
-
-Filename		Description
---------		-----------
-Config			- Script to make the configuration for different 
-			  machines
-Build			- Script to build the server
-Makefile		- The Makefile of the topdir
-src/			- Source dir
-src/Makefile		- The Makefile
-src/libraries		- Source dir for the libraries
-src/libraries/Makefile	- The Makefile for the libraries
-src/libraries/libansi	- Substitutes ansi functions if necessary.
-src/libraries/libcommon - LysKOM functions for both server and clients.
-src/libraries/libisc	- interprocess communication package
-src/libraries/libmisc	- mixed functions
-doc			- Dir with documentation files.
-config			- Configuration files for the different machines
-scripts			- Installation scripts. includes for make
-src/server		- The server
-src/include		- The include files that will be referenced
-db-crypt		- Initial database for server with encrypted passwords
-db-nocrypt		- Initial database for server without encryption
diff --git a/Makefile b/Makefile
deleted file mode 100644
index f232adb19..000000000
--- a/Makefile
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-# $Id: Makefile,v 0.38 1993/10/03 16:01:14 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-SUBDIRS = doc junk scripts src config
-SERVER-VER = 1.4.1
-
-all: msg includes libraries binaries end-msg
-
-includes: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h
-	for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making includes in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) includes) }	\
-	done
-
-
-libraries: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h
-	-$(MKDIR) $(LIBDIR)
-	for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making libraries in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) libraries) }  \
-	done
-
-include $(SCRIPTDIR)/sub-binaries.make
-include $(SCRIPTDIR)/sub-install.make
-include $(SCRIPTDIR)/sub-depend.make
-
-.PHONY: clean
-clean:
-	$(RM) $(GENERIC-CLEAN)
-	-for i in $(SUBDIRS); \
-	do \
-	   [ -d $$i ] && { echo making clean in directory $$i; \
-	   (cd $$i; $(MAKE) $(EXPORTS) clean) } \
-	done
-
-distcleandescend:
-	$(RM) $(GENERIC-DIST-CLEAN)
-	$(RM) -r $(INCLUDEDIR)
-	$(RM) -r $(LIBDIR)
-	-for i in $(SUBDIRS); \
-	do \
-	   [ -d $$i ] && { echo making distclean in directory $$i; \
-	   (cd $$i; $(MAKE) $(EXPORTS) distclean) } \
-	done
-
-distclean: clean distcleandescend
-	$(RM) $(SCRIPTDIR)/import.make
-
-depend: $(INCLUDEDIR) $(INCLUDEDIR)/m-config.h msg includes
-
-distribution: distclean
-	find . -name '#*#' -print
-	-$(RM) -r lyskom-$(SERVER-VER)
-	$(MKDIR) lyskom-$(SERVER-VER)
-	cp README-serverrelease lyskom-$(SERVER-VER)/README
-	cp COPYING INSTALL Config Build Makefile lyskom-$(SERVER-VER)/
-	$(MKDIR) lyskom-$(SERVER-VER)/src
-	cp src/Makefile lyskom-$(SERVER-VER)/src/
-	$(MKDIR) lyskom-$(SERVER-VER)/src/libraries
-	cp src/libraries/Makefile lyskom-$(SERVER-VER)/src/libraries/
-	$(MKDIR) lyskom-$(SERVER-VER)/doc
-	for i in ADMINISTRATION Makefile misc_items prot-A.txt	\
-		server-async.extend server.extend what-is-unread.swe; 	\
-	do 								\
-		cp doc/$$i lyskom-$(SERVER-VER)/doc/$i;			\
-	done
-	cp -r doc/man lyskom-$(SERVER-VER)/doc/man
-	cp -r config lyskom-$(SERVER-VER)/config
-	cp -r scripts lyskom-$(SERVER-VER)/scripts
-	$(RM) lyskom-$(SERVER-VER)/scripts/import.make
-	cp -r run-support lyskom-$(SERVER-VER)/run-support
-	cp -r src/libraries/libansi lyskom-$(SERVER-VER)/src/libraries
-	cp -r src/libraries/libcommon lyskom-$(SERVER-VER)/src/libraries
-	cp -r src/libraries/libisc-new lyskom-$(SERVER-VER)/src/libraries
-	cp -r src/libraries/libmisc lyskom-$(SERVER-VER)/src/libraries
-	cp -r src/libraries/regex lyskom-$(SERVER-VER)/src/libraries
-	cp -r src/server lyskom-$(SERVER-VER)/src
-	cp -r src/include lyskom-$(SERVER-VER)/src/include
-	cp -r db-crypt lyskom-$(SERVER-VER)
-	cp -r db-nocrypt lyskom-$(SERVER-VER)
-	find lyskom-$(SERVER-VER) -name CVS.adm -print -exec rm -rf {} \; -prune
-	find lyskom-$(SERVER-VER) -name Topdir.make -print -exec rm -rf {} \;
-	tar cvf lyskom-$(SERVER-VER).tar lyskom-$(SERVER-VER)
-	$(RM) lyskom-$(SERVER-VER).tar.Z
-	compress lyskom-$(SERVER-VER).tar
-	$(RM) -r lyskom-$(SERVER-VER)
-
-msg:
-	@echo Top-level source directory is believed to be $(TOPDIR)
-	@date
-	@echo
-
-end-msg:
-	@echo
-	@echo Finished at
-	@date
-
-$(INCLUDEDIR) $(INCLUDEDIR)/m-config.h:
-	@echo You must run Config before Build or make.
-	@exit 1
diff --git a/config/.cvsignore b/config/.cvsignore
deleted file mode 100644
index e69de29bb..000000000
diff --git a/config/ChangeLog b/config/ChangeLog
deleted file mode 100644
index 5033a8fb3..000000000
--- a/config/ChangeLog
+++ /dev/null
@@ -1,34 +0,0 @@
-Tue Apr 14 17:38:37 1992  Per Cederqvist  (ceder@lysator)
-
-	* balance-defs.make: Updated.
-
-	* sunos4-defs.make (PROFILE-LIB-SUFFIX): New variable.
-
-Sat Apr  4 19:11:53 1992  Per Cederqvist  (ceder@lysator)
-
-	* sun4os4-defs.make (CC): gcc2 has been renamed to gcc.
-
-	* sun4os4-defs.make (ANSIDIR): Use new directory.
-
-	* sun4os4-defs.make (LIBIDENT): New variable.
-
-Mon Mar  9 16:43:00 1992  Per Cederqvist  (ceder@robin)
-
-	* PIPE (sun4os4-defs.make): Added note about sun3 /bin/as.
-
-Wed Feb 26 19:53:05 1992  Per Cederqvist  (ceder@lysator)
-
-	* CC (sun4os4-defs.make): Use gcc2 with a fair amount of warnings.
-
-Mon Feb 10 03:18:20 1992  Linus Tolke Y  (linus at robin)
-
-	* Makefile: new target config, called from config.
-
-	* sun4os4-defs.make: MKDIR macro added. This is not used though.
-
-Sun Feb  9 22:20:00 1992  Linus Tolke Y  (linus at robin)
-
-	* sun4os4-defs.make: New defaults. The defaults dirs are now: 
-	  for libraries /usr/local/lib/lyskom
-	  for include files: /usr/local/include/lyskom
-
diff --git a/config/Makefile b/config/Makefile
deleted file mode 100644
index f09bcaaf7..000000000
--- a/config/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# $Id: Makefile,v 1.6 1992/02/10 02:43:36 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-includes: $(INCLUDEDIR)/m-config.h
-
-$(INCLUDEDIR)/m-config.h:
-	@echo You must run Config before Build or make.
-	false
-
-libraries:;
-binaries:;
-clean:
-	$(RM) $(GENERIC-CLEAN)
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-
-depend:;
-
-config:
-	cp $(SYSTEM)-config.h $(INCLUDEDIR)/m-config.h
diff --git a/config/balance-config.h b/config/balance-config.h
deleted file mode 100644
index 62819a5cc..000000000
--- a/config/balance-config.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * $Id: balance-config.h,v 1.5 1992/03/31 20:50:21 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * $Id: balance-config.h,v 1.5 1992/03/31 20:50:21 ceder Exp $
- *
- * This works on a Sequent Balance running Dynix 2.1.1.
- */
-
-/* See config-template.h for comments. */
-
-#define HAVE_GETDTABLESIZE
-#define HAVE_STRERROR
-#define RFC_931
-#define ENCRYPT_PASSWORDS
diff --git a/config/balance-defs.make b/config/balance-defs.make
deleted file mode 100644
index 3f1931cce..000000000
--- a/config/balance-defs.make
+++ /dev/null
@@ -1,94 +0,0 @@
-#
-# $Id: balance-defs.make,v 1.11 1992/04/14 15:56:27 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: balance-defs.make,v 1.11 1992/04/14 15:56:27 ceder Exp $
-# This file is included by all Makefiles in the LysKOM hierarchy.
-# It gives default values for all variables that is normally used. 
-# TOPDIR and SCRIPTDIR must be set before this file is included.
-#
-# This version is tuned for a Sequent Balance.
-
-SHELL=/bin/sh
-AWK = gawk
-SED = /usr/bin/sed
-CC = gcc -ansi
-RM = /usr/gnu/bin/rm -vf
-RANLIB = ranlib
-TOUCHLIB = ranlib
-SYMLINK = ln -s
-YACC = bison -d
-LEX = flex
-MKDIR=/bin/mkdir
-
-INCLUDEDIR	= $(TOPDIR)/include
-LIBDIR		= $(TOPDIR)/lib
-ANSIDIR		= $(INCLUDEDIR)/ansi
-
-INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR)
-OPTIMIZE-FLAGS = -O
-MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes
-PIPE = -pipe
-
-# -h flag makes NULL pointer references generate runtime errors
-LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS)
-
-# Library for hostname lookup.
-LIBRESOLV = -lresolv
-
-# Our Sequent does not (yet) have the authuser library.
-
-#LIBIDENT = -lauthuser
-LIBIDENT =
-
-CFLAGS =  $(INCLUDES)  $(OPTIMIZE-FLAGS)  $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS)
-
-# Are we profiling? PROFILE-FLAGS are sent to CC when compiling and linking.
-# PROFILE-LIB-SUFFIX are included in all library names so that we can have
-# one profiled and one non-profiled version at the same time. But make sure
-# to delete all .o files when switching between profiling and not profiling...
-#PROFILE-FLAGS = -pg -static
-#PROFILE-LIB-SUFFIX = -pg
-PROFILE-FLAGS = 
-PROFILE-LIB-SUFFIX = 
-
-# LysKOM executables that the typical user doesn't use go here.
-# (The server, dbck, et c)
-
-LYSKOMSYSBIN = /usr/lyskom/bin
-
-# User executables (such as lyskom, kompost et c)
-
-LYSKOMUSRBIN = /usr/local/bin
-
-
-
-GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile
-
-GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies
-
-EXPORTS =
-
-# The Makefiles also dependes on the variables
-# AR, ARFLAGS
-# that are automatically set by GNU Make.
diff --git a/config/config-template.h b/config/config-template.h
deleted file mode 100644
index bdb5713cc..000000000
--- a/config/config-template.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * $Id: config-template.h,v 1.6 1992/03/31 20:50:25 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * $Id: config-template.h,v 1.6 1992/03/31 20:50:25 ceder Exp $
- *
- * This is a generic configuration file for LysKOM.
- */
-
-/*
- * Define BUGGY_INET_NTOA if inet_ntoa is buggy. This is the case for
- * a Sun Sparc with SunOS 4.1.1. If you define BUGGY_INET_NTOA a
- * replacement routine (from libraries/libisc/inet_ntoa.c) will be
- * used.
- */
-
-#define BUGGY_INET_NTOA
-
-/*
- * Define HAVE_LOCALE if you have it (and want to use it).
- */
-
-#define HAVE_LOCALE
-
-/*
- * Define RFC_931 if you want to use authentication as in rfc 931.
- * You need the authuser package that Daniel J. Bernstein has written.
- */
-
-#define RFC_931
-
-/*
- * Define HAVE_STRERROR if your libc.a have strerror.
- */
-
-#define HAVE_STRERROR
-
-/*
- * If you have the getdtablesize system call.
- */
-
-#define HAVE_GETDTABLESIZE
-
-/*
- * Max number of file descriptors that can be opened by a process.
- * If this is set too large here, the server will crash when too many
- * people try to connect at the same time.
- */
-
-#include <sys/param.h>		/* One way to do it... */
-#define MAX_OPEN_FD NOFILE
-
-#include <limits.h>		/* Another. (I'm not sure that this  */
-#define MAX_OPEN_FD _POSIX_OPEN_MAX /* is correct - use at your own risk!*/
-
-
-/*
- * Define ENCRYPT_PASSWORDS to encrypt the users password via crypt(3).
- */
-
-#define ENCRYPT_PASSWORDS
diff --git a/config/sun4os4-config.h b/config/sun4os4-config.h
deleted file mode 100644
index 147778286..000000000
--- a/config/sun4os4-config.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * $Id: sun4os4-config.h,v 1.5 1992/03/31 20:50:29 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * $Id: sun4os4-config.h,v 1.5 1992/03/31 20:50:29 ceder Exp $
- *
- * Configure LysKOM for a Sun Sparc-server running SunOS 4.1.1.
- * This is the configuration we are running at Lysator, so this is
- * fairly well tested.
- */
-
-/*
- * Define BUGGY_INET_NTOA if inet_ntoa is buggy. This is the case for
- * a Sun Sparc with SunOS 4.1.1. If you define BUGGY_INET_NTOA a
- * replacement routine (from libraries/libisc/inet_ntoa.c) will be
- * used.
- */
-
-#define BUGGY_INET_NTOA
-
-#define RFC_931
-
-#define HAVE_GETDTABLESIZE
-
-/* We have LOCALE. */
-
-#define HAVE_LOCALE
-#define ENCRYPT_PASSWORDS
diff --git a/config/sun4os4-defs.make b/config/sun4os4-defs.make
deleted file mode 100644
index 9483b5953..000000000
--- a/config/sun4os4-defs.make
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-# $Id: sun4os4-defs.make,v 1.26 1993/10/03 15:57:48 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: sun4os4-defs.make,v 1.26 1993/10/03 15:57:48 ceder Exp $
-# This file is included by all Makefiles in the LysKOM hierarchy.
-# It gives default values for all variables that is normally used. 
-# TOPDIR and SCRIPTDIR must be set before this file is included.
-#
-# This version is tuned for a Sparc running SunOS 4.1.1 and a lot
-# of Gnu utilities.
-
-SHELL=/bin/sh
-AWK = awk
-SED = /usr/bin/sed
-CC = gcc -ansi
-RM = /bin/rm -f
-RANLIB = ranlib
-#RANLIB = echo
-TOUCHLIB = ranlib
-#TOUCHLIB = ranlib -t
-#TOUCHLIB = echo
-SYMLINK = ln -s
-YACC = bison -d
-LEX = flex
-MKDIR=/bin/mkdir
-
-#Use these in the distribution!
-INCLUDEDIR	= $(TOPDIR)/include
-LIBDIR		= $(TOPDIR)/lib
-ANSIDIR = /
-#ANSIDIR		= $(INCLUDEDIR)/ansi
-
-# These are used at Lysator during development
-#INCLUDEDIR	= /usr/local/include/lyskom
-#LIBDIR		= /usr/local/lib/lyskom
-#ANSIDIR		= $(INCLUDEDIR)/ansi
-#ANSIDIR=/usr/gnu/var/gcc/sunos4.1.1/2.1/proto-include
-
-INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR) -I/usr/local/include
-
-OPTIMIZE-FLAGS = -O3
-MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes  \
-	-Wpointer-arith
-
-# You sometimes can't use -pipe on a sun3, since Suns /bin/as can't read
-# stdin. If you use gas you can use -pipe.
-PIPE = -pipe
-#PIPE =
-
-# -h flag makes NULL pointer references generate runtime errors
-LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS)
-
-# Library for hostname lookup.
-# There is a bug in SunOS 4.1.1 that makes it impossible to use -lresolv.
-# It can be fixed by either installing the 4.0.3 version of
-# /usr/lib/libreslov.a or by omitting -lresolv.
-#
-# Note that -lresolv is not necessary if YP/NIS is set up so that the NIS 
-# server asks the nameserver.
-
-LIBRESOLV = # -lresolv
-
-LIBIDENT = -lauthuser
-
-CFLAGS =  $(INCLUDES)  $(OPTIMIZE-FLAGS)  $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS)
-
-# Are we profiling? PROFILE-FLAGS are sent to CC when compiling and linking.
-# PROFILE-LIB-SUFFIX are included in all library names so that we can have
-# one profiled and one non-profiled version at the same time. But make sure
-# to delete all .o files when switching between profiling and not profiling...
-#PROFILE-FLAGS = -pg -static
-#PROFILE-LIB-SUFFIX = -pg
-PROFILE-FLAGS = 
-PROFILE-LIB-SUFFIX = 
-
-# LysKOM executables that the typical user doesn't use go here.
-# (The server, dbck, et c)
-
-LYSKOMSYSBIN = /usr/lyskom/bin
-
-# User executables (such as lyskom, kompost et c)
-
-LYSKOMUSRBIN = /usr/local/bin
-
-
-
-GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile
-
-GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies
-
-EXPORTS =
-
-# The Makefiles also dependes on the variables
-# AR, ARFLAGS
-# that are automatically set by GNU Make.
diff --git a/config/vax-config.h b/config/vax-config.h
deleted file mode 100644
index 5ee137aa9..000000000
--- a/config/vax-config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * $Id: vax-config.h,v 1.1 1992/04/14 19:19:48 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-
-#define RFC_931
-#define HAVE_GETDTABLESIZE
-#define ENCRYPT_PASSWORDS
diff --git a/config/vax-defs.make b/config/vax-defs.make
deleted file mode 100644
index a4c6d771a..000000000
--- a/config/vax-defs.make
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-# $Id: vax-defs.make,v 1.1 1992/04/14 19:19:51 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: vax-defs.make,v 1.1 1992/04/14 19:19:51 ceder Exp $
-# This file is included by all Makefiles in the LysKOM hierarchy.
-# It gives default values for all variables that is normally used. 
-# TOPDIR and SCRIPTDIR must be set before this file is included.
-#
-# This version is tuned for a Sparc running SunOS 4.1.1 and a lot
-# of Gnu utilities.
-
-SHELL=/bin/sh
-AWK = gawk
-SED = /usr/bin/sed
-CC = gcc -ansi
-RM = rm -f
-RANLIB = ranlib
-TOUCHLIB = ranlib -t
-SYMLINK = ln -s
-YACC = bison -d
-LEX = flex
-MKDIR=/bin/mkdir
-
-INCLUDEDIR	= $(TOPDIR)/include
-LIBDIR		= $(TOPDIR)/lib
-ANSIDIR		= $(INCLUDEDIR)/ansi
-
-INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR)
-OPTIMIZE-FLAGS = -O
-MISC-CFLAGS = -g -Wall -Wstrict-prototypes -Wmissing-prototypes
-PIPE = -pipe
-
-# -h flag makes NULL pointer references generate runtime errors
-LDFLAGS = -h -L$(LIBDIR) $(PROFILE-FLAGS)
-
-LIBRESOLV = -lresolv
-
-LIBIDENT = -lauthuser
-
-CFLAGS =  $(INCLUDES)  $(OPTIMIZE-FLAGS)  $(MISC-CFLAGS) $(PIPE) $(TARGET) $(PROFILE-FLAGS)
-
-PROFILE-FLAGS = 
-PROFILE-LIB-SUFFIX = 
-
-# LysKOM executables that the typical user doesn't use go here.
-# (The server, dbck, et c)
-
-LYSKOMSYSBIN = /usr/lyskom/bin
-
-# User executables (such as lyskom, kompost et c)
-
-LYSKOMUSRBIN = /usr/local/bin
-
-
-
-GENERIC-CLEAN = *~ *.o lib*.a core temp-Makefile temp-?-Makefile
-
-GENERIC-DIST-CLEAN = TAGS Topdir.make dependencies
-
-EXPORTS =
-
-# The Makefiles also dependes on the variables
-# AR, ARFLAGS
-# that are automatically set by GNU Make.
diff --git a/db-crypt/db/ramkomd-data b/db-crypt/db/ramkomd-data
deleted file mode 100644
index bf280601c0ddcd88ebd7e3190f6727734d78053d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 621
zcmbVKL2JVx6y7<%;#~$!3q@@b&8=l@2+O+B+m5o>EnQ-Qx<P3Bw|kzZ3ABS9mhYiH
z5I?{7y?2-0uhu~l%m4`GFIpO@tguC`U?RRjwIYP-V5I^CQ^4Jh93Wv4r4dE!B17(a
z2ueNY0{_J+^HNro(BpV9<C$n0_k7YEL&y(WkCliiU$-C9N)2@dS!*7jpT>zI318(^
zp$cQQuqUT&d(z=RiD3^h9D5HjLb!L1vGgK~-QRxsa2_uEm_ZWp^nF9O53ifu=gyj&
z{{sl)Z!(wqwrq{CwO;n;yez)vMgsl?@U8Y3I^WH}{z@*1&vK`(w)0S=By!>xF_6BF
Iu9^S`KMIhAP5=M^

diff --git a/db-crypt/db/ramkomd-texts b/db-crypt/db/ramkomd-texts
deleted file mode 100644
index e69de29bb..000000000
diff --git a/doc/ADMINISTRATING b/doc/ADMINISTRATING
deleted file mode 100644
index d7e2d490d..000000000
--- a/doc/ADMINISTRATING
+++ /dev/null
@@ -1,46 +0,0 @@
-		     Administrating a LysKOM site
-		     ============================
-
-  This document is a short description of how to administrate a LysKOM
-database on your site.
-
-  The first thing you will have to do is to follow the instructions in
-the file INSTALL.  This will set up the LysKOM system with a database
-containing a few necessary conferences and one person - the
-administrator.
-
-  Once the LysKOM system is running, there is not much you will have
-to do to keep it that way.  One thing to remember is that the current
-release of the server (0.32) has an incomplete handling of garbage
-collection of the database.  The database is split into two files, the
-information file and the text file.  Newly written texts are
-concatenated to the text file and old texts are never removed.  The
-information file contains information about conferences, users and
-where in the text file the texts are.  This file is properly garbage
-collected, but not the text file.
-
-  There is a program called dbck (Data Base Check) which is used to
-check the consistency of the LysKOM database.  This program can also
-be used to shrink the text file.  To do this, just type `dbck -g' in
-the database directory, or give additional switches to dbck to use the
-correct directory.  See further the manual page for dbck.  When dbck
-is to be run on the database, the LysKOM server *must* be stopped, or
-unrepairable damage may result.  See below for a description on how to
-stop the server.
-
-  There is a shell script called updateLysKOM which is used to insure
-continuous operation.  This script is run with certain intervals and
-if the LysKOM server has died for some reason, updateLysKOM restarts
-it.  If the server is still running properly, updateLysKOM sends a
-signal (SIGUSR1) to it, which causes the server to write call
-statistics to a file named etc/lyskomd-log in the lyskom directory.
-
-  Taking the server down cleanly can be done in two ways: through the
-use of the LysKOM protocol on a socket, preferably through the use of
-a suitable client, or to send the signal SIGHUP to it.  This will
-cause the server to save the database and close all client
-connections.  It will also create a file named etc/memory-usage in
-which the memory usage of the server is reported.  There is currently
-a small memory leak in the server. We know about it, so there is no
-need to send bug reports to us about that (unless you have found where
-the leak is).
diff --git a/doc/Distfile b/doc/Distfile
deleted file mode 100644
index a82a44195..000000000
--- a/doc/Distfile
+++ /dev/null
@@ -1 +0,0 @@
-(/usr/local/src/2kom/doc) -> (nanny.lysator.liu.se) install;
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index 44636a5b4..000000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# $Id: Makefile,v 0.6 1991/09/15 09:54:18 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-SUBDIRS = man
-
-all:;
-depend:;
-includes:;
-libraries:;
-binaries:;
-
-include $(SCRIPTDIR)/sub-clean.make
-include $(SCRIPTDIR)/sub-install.make
diff --git a/doc/Makefile.template b/doc/Makefile.template
deleted file mode 100644
index f92cc4512..000000000
--- a/doc/Makefile.template
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# $Id: Makefile.template,v 0.2 1991/09/15 09:54:15 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-#  Makefile for LysKOM
-#
-###############################################################################
-#
-#  SPECIAL CONSIDERATIONS:
-#
-#  -  Requires GNU make.
-#  -  CC, OPTIMIZE-FLAGS and other make variables are passed down 
-#     in the environment.
-#  -  C compiler must be ANSI conformant.
-#
-###############################################################################
-#
-#  SPECIAL TARGETS:
-###############################################################################
-
-# Directories that you might want to override via the environment.
-
-ifndef TOPDIR
-TOPDIR := /usr/lyskom/src
-endif
-
-ifndef SCRIPTDIR
-SCRIPTDIR := $(TOPDIR)/scripts
-endif
-
-include $(SCRIPTDIR)/import.make
-
-
-# All directories that make should traverse to when doing clean etc.
-
-SUBDIRS = doc include junk lib scripts src
-
-all:
-	for i in $(SUBDIRS) ;	\
-	do	\
-		echo making all in directory $$i; \
-		(cd $$i; $(MAKE) all)	\
-	done
diff --git a/doc/coding-standards.txt b/doc/coding-standards.txt
deleted file mode 100644
index b70117880..000000000
--- a/doc/coding-standards.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-DENNA FIL [R V[LDIGT OBSOLETE NU! Vi anv{nder CVS nu.
-
-				/ceder
-
-- hur man formatterar koden -
-
-- namnkonventioner -
-
-- Makefile -
-
-RCS
-
-Att skapa en ny fil:
-
-En ny fil placeras under RCS med "ci -r0.1 filnamn". I direktoryt
-m}ste det finnas ett direktory som heter RCS. (Man kan skapa checka in
-en ny fil fr}n emacs, men d} f}r den versionsnummer 1.0. Det g}r att
-{ndra i RCS/*,v-filen, men det blir jobbigare..)
-
-
-ATT TITTA P] EN FIL
-
-F|r att titta p} en fil g|r man "co filnamn". Med "make sources"
-checkas alla filer ut (om Makefilen {r r{tt skriven).
-
-
-
-ATT EDITERA EN FIL
-
-Innan man editerar filen m}ste man l}sa den. Det g|r man med "co -l
-filnamn" eller "C-x \"" om man anv{nder rcs-cks i emacs.
-
-Om man kommmer p} att man inte ville {ndra i filen kan man l}sa upp
-den med "rcs -u filnamn".
-
-F|r att l{mna in den nya versionen g|r man "ci filnamn" eller "C-x #".
-
-
-
-RCSCLEAN
-
-"make rcsclean" tar bort all k{llkod som inte {r l}st f|r editering.
-Med "make sources" kan man f} tillbaks den.
-
-
-RCS anv{nder inte ChangeLog. Med "rlog file" f}r man se alla {ndringar
-som gjorts i en fil. I filen RCS/.rcsfreeze.log kan man se de
-logmeddelande som skrivits in n{r man gjort rcsfreeze.
-
-ChangeLoggen ska anv{ndas ({ven om det inte {r gjort p} slutet p}
-servern).
-
-ATT INSTALLERA EN NY VERSION
-
-RCS:
-
-1) make
-2) rcsclean	# Se till att alla filer f|rsvinner
-3) rcsfreeze v0-30-4	# Eller liknande
-4) make sources
-5) make -t	# S} att man slipper kompilera om saker i on|dan.
-
-Bara steg 2 och 3 beh|vs. 1, 4 och 5 sparar lite tid.
-
-BIN[RER:
-
-Flytta server/diskomd till /usr/lyskom/bin/ramkomd. Se till att INNAN
-dess spara den gamla ramkomd. Skriv inte |ver en exekverande fil!
-
-COMMON
-
-"make serverinstall" och "make clientinstall" skall g|ras n{r man har
-{ndrat n}got.
-
-LIB
-
-"make install" skall g|ras n{r man har {ndrat n}got.
diff --git a/doc/man/Makefile b/doc/man/Makefile
deleted file mode 100644
index 71cdcfda7..000000000
--- a/doc/man/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# $Id: Makefile,v 1.9 1991/10/29 06:06:27 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-MANDIR = /usr/local/man
-MANEXTS = 1 3 5 8
-
-all:;
-depend:;
-
-clean:
-	$(RM) $(GENERIC-CLEAN)
-	-for i in $(MANEXTS); \
-	do \
-	   [ -d man$$i ] && { echo making clean in directory man$$i; \
-	   (cd man$$i; $(RM) *~ core) } \
-	done
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-	-for i in $(MANEXTS); \
-	do \
-	   [ -d man$$i ] && { echo making clean in directory man$$i; \
-	   (cd man$$i; $(RM) *.ps *.cat *.man *.txt $(GENERIC-DIST-CLEAN)) } \
-	done
-
-install:
-	for i in $(MANEXTS); \
-	do \
-	   [ -d man$$i ] && { for page in man$$i/*.$$i; \
-	   do \
-	      echo installing $$page; \
-	      install $$page $(MANDIR)/man$$i; \
-	   done } \
-	done
diff --git a/doc/man/man1/.cvsignore b/doc/man/man1/.cvsignore
deleted file mode 100644
index e69de29bb..000000000
diff --git a/doc/man/man3/.cvsignore b/doc/man/man3/.cvsignore
deleted file mode 100644
index e69de29bb..000000000
diff --git a/doc/man/man3/isc3.x b/doc/man/man3/isc3.x
deleted file mode 100644
index fa876e52f..000000000
--- a/doc/man/man3/isc3.x
+++ /dev/null
@@ -1,209 +0,0 @@
-.\" $Id: isc3.x,v 0.2 1991/09/15 09:54:51 linus Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Copyright:	$
-.\" Copyright (c) 1991 Lysator Computer Club, Linkoping University, Sweden
-.\" All rights reserved
-...
-.V= $Header: /home/ceder/convert-lyskomd/cvsroot/lyskom-server/doc/man/man3/Attic/isc3.x,v 0.2 1991/09/15 09:54:51 linus Exp $
-.TH ISC 3X "\*(V)" "LUNATIX"
-.SH NAME
-isc_initialize, isc_shutdown, isc_listen, isc_unlisten,
-isc_opentcp, isc_openfile, isc_openfd, isc_close,
-isc_sessions, isc_getnextevent, isc_dispose, 
-isc_flush, isc_write, isc_putc, isc_printf,
-isc_allocmsg, isc_reallocmsg, isc_freemsg, isc_mkstrmsg,
-isc_setmaxmsgsize, isc_setallocfn, isc_setlogfn, isc_setabortfn
-.SH FUNCTIONS
-.nf
-.B IscMaster *
-.B "    isc_initialize (IscConfig *cfg)"
-.PP
-.B void
-.B "    isc_shutdown(IscMaster *mcb)"
-.PP
-.B int
-.B "    isc_listen(IscMaster *mcb, int port);"
-.PP
-.B void
-.B "    isc_unlisten(IscMaster *mcb, int port);"
-.PP
-.B "IscSession *"
-.B "    isc_opentcp(IscMaster *mcb, const char *host, int port)"
-.PP
-.B "IscSession *"
-.B "    isc_openfile(IscMaster *mcb, const char *path, int mode)"
-.PP
-.B "IscSession *"
-.B "    isc_openfd(IscMaster *mcb, int fd)"
-.PP
-.B "void"
-.B "    isc_close (IscSession *scb)"
-.PP
-.B "int"
-.B "    isc_sessions (IscMaster *mcb)"
-.PP
-.B "IscEvent *"
-.B "    isc_getnextevent (IscMaster *mcb, long timeout)"
-.PP
-.B "void"
-.B "    isc_dispose (IscEvent *ecb)"
-.PP
-.B "void"
-.B "    isc_flush (IscSession *scb)"
-.PP
-.B "int"
-.B "    isc_write (IscSession *scb, const void *buf, size_t len)"
-.PP
-.B "int"
-.B "    isc_printf (IscSession *scb, const char *format, ...)"
-.PP
-.B "int"
-.B "    isc_putc (int chr, IscSession *scb)"
-.PP
-.B "IscMessage *"
-.B "    isc_allocmsg(size_t size);"
-.PP
-.B "IscMessage *"
-.B "    isc_reallocmsg(IscMessage *msg, size_t size);"
-.PP
-.B "void"
-.B "    isc_freemsg(IscMessage *msg);"
-.PP
-.B "IscMessage *"
-.B "    isc_mkstrmsg(const char *str);"
-.PP
-.B "void"
-.B "    isc_setmaxmsgsize (IscMaster *mcb, size_t size)"
-.PP
-.B "void"
-.B "    isc_setlogfn (void (*logfnp)(const char *fmt, va_list AP))"
-.PP
-.B "void"
-.B "    isc_setallocfn (void * (*mallocfn)(size_t size),"
-.B "                    void * (*reallocfn)(void *buf, size_t size),"
-.B "                    void   (*freefn)(void *buf))"
-.PP
-.B "void"
-.B "    isc_setabortfn (void (*abortfn)(const char *msg))"
-.SH TYPES
-.nf
-.B typedef void IscConfig;
-.PP
-.B typedef enum 
-.B {
-.B "    ISC_EVENT_ERROR,"
-.B "    ISC_EVENT_TIMEOUT,"
-.B "    ISC_EVENT_LOGIN,"
-.B "    ISC_EVENT_LOGOUT,"
-.B "    ISC_EVENT_MESSAGE,"
-.B "} IscEventType;"
-.PP
-.B typedef enum
-.B {
-.B "  ISC_TYPE_UNKNOWN,"
-.B "  ISC_TYPE_TCP,"
-.B "  ISC_TYPE_FILE"
-.B "} IscSessionType;"
-.PP
-.B typedef struct isc_msg
-.B {
-.B "  int size;"
-.B "  int length;"
-.B "  char *buffer;"
-.B } IscMessage;
-.PP
-.B typedef struct isc_mcb
-.B {
-.B "  int port;"
-.B "  int fd;"
-.B "  int maxmsgsize;"
-.B "  int maxqueuedsize;"
-.B "  int maxdequeuelen;"
-.B "  struct isc_scb *sessions;"
-.B } IscMaster;
-.PP
-.B typedef struct isc_scb
-.B {
-.B "    struct isc_scb  * prev;"
-.B "    struct isc_scb  * next;"
-.B "    IscMaster       * mcb;"
-.B "    IscSessionType    type;"
-.B "    int               fd;
-.B "    IscMsgQueue     * rd_msg_q;"
-.B "    IscMsgQueue     * wr_msg_q;"
-.B "    char              sendbuf[2048];"
-.B "    int               sendindex;"
-.B "    union"
-.B "    {"
-.B "      struct"
-.B "      {"
-.B "        char  * hostname;"
-.B "        int     rport;"
-.B "        int     lport;"
-.B "      } tcp;"
-.B "      struct"
-.B "      {"
-.B "	    char * pathname;"
-.B "	    int    openmode;"
-.B "      } file;"
-.B "    } info;"
-.B "    int               kill_him;"
-.B "    time_t            logintime;"
-.B "    struct"
-.B "    {"
-.B "      struct"
-.B "      {"
-.B "        long bytes;"
-.B "        long packets;"
-.B "      } rx, tx;"
-.B "    } stats;"
-.B ""
-.B "    ISC_UDGTYPE  * udg;   /* Reserved for user defined usage */"
-.B "} IscSession;"
-.PP
-.B typedef struct isc_ecb
-.B {
-.B "  IscEventType    event;"
-.B "  IscSession    * session;"
-.B "  IscMessage    * msg;"
-.B } IscEvent;
-.SH DESCRIPTION
-These functions implement an interface to the TCP/IP streams facitiliy.
-The functions are obtained with the loader option
-.BR \-lisc .
-(More to come here...)
-.PP
-.SH DIAGNOSTICS
-(And here... :\-)
-.PP
-.SH BUGS
-Hehe... I'm sure they exists...
-.SH GUILTY
-Peter Eriksson <pen@lysator.liu.se> &
-Per Cederqvist <ceder@lysator.liu.se>
-
-
-ISC is Copyright (c) 1991 Lysator Computer Club, Linkoping University, Sweden,
-in cooperation with the International Syndicate of Computation.
-All rights reserved.
diff --git a/doc/man/man5/.cvsignore b/doc/man/man5/.cvsignore
deleted file mode 100644
index e69de29bb..000000000
diff --git a/doc/man/man5/lyskom.5 b/doc/man/man5/lyskom.5
deleted file mode 100644
index 981e6a83d..000000000
--- a/doc/man/man5/lyskom.5
+++ /dev/null
@@ -1,317 +0,0 @@
-.\" $Id: lyskom.5,v 1.5 1991/09/21 03:02:33 ceder Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: lyskom.5,v 1.5 1991/09/21 03:02:33 ceder Exp $
-.\" $Date: 1991/09/21 03:02:33 $
-.TH lyskom 5 "August 24, 1991"
-.SH NAME
-lyskom - LysKOM 
-.I database
-format
-.SH SYNOPSIS
-.B /usr/lyskom/db/lyskomd-*
-.br
-and
-.br
-.B /usr/lyskom/etc/pid
-.PP
-.B #include <lyskom/kom-types.h>
-.SH DISCLAIMER
-The
-.I database
-is not really a database but a sequential file where all data is saved
-from the memory.
-.SH DESCRIPTION
-There are 2 files: One file with all the data
-.RB ( lyskomd-data ).
-And one with all texts 
-.RB ( lyskomd-texts ).
-The texts file does not contain any information about where any text
-starts of ends, all this is in the data file together with other infos
-on the text.
-.PP
-If the first five chars of the data file is CLEAN then the
-.I database
-is considered clean. If its anything else the
-.BR lyskomd (8)
-proglys will try to find the backupfile instead.
-.PP
-Then there is a number telling the number of the next free conference
-.RI ( next_free_num ).
-.PP
-Now follows a list of all conferences. One conference on each line. If
-the conference is deleted the line consists of a
-.B @
-otherwise it starts with a
-.BR + .
-.PP
-Now follows a list of all person statuses. Here is also every person
-on its own line and the deleted persons or the numbers that are not
-persons but conferences are lines containing just a
-.BR @ .
-.PP
-Both the conference status part and the person status part are exactly
-.IR next_free_num -1
-lines long.
-.PP
-Now follows the number of the next text that is not used and a list of
-text statuses.
-Every text status has its own line just like the other statuses and
-non-existent texts are represented by the 
-.BI @ .
-.PP
-The different statuses types are
-.B conference
-.BR statuses ,
-.B person statuses
-and
-.B text 
-.BR statuses .
-These are in a struct in the include file but in this file they are
-not saved as structs but every element is saved as a ascii string.
-Strings are saved as holerith strings. The field of the struct is not
-even saved in the same order as in the struct. 
-Their order in the database is followed below.
-.PP
-An array of things is represented in the database by a number telling
-how many elements there are in the array and the either a
-.B *
-in the case no elements or a 
-.B {
-followed by all the elements and a finishing
-.BR } .
-.SS Conference status
-.LP
-This contains all information for a conference. A conference is a
-object that recieves texts.
-.TP 15
-.I Name
-Name of the conference saved as a holerith string.
-.TP
-.I Member list
-An array of the members in that conference.
-.TP
-.I First local number
-This is the local number of the first text in the conference. Its
-saved here in order to save space in this file by not mentioning all
-deleted texts in the beginning of the conference.
-.TP
-.I Texts
-This is an array of recieved texts. The local number of the text is
-determined by the position in this list and the value of the
-.I first local
-.IR number .
-.TP
-.I Type
-This is the type of the conf, it contains the infomation that says if
-the conference is read protected, original flagged conference, secret,
-or if its a letter box.
-.TP
-.I Creation time
-The time the conference was created.
-.TP
-.I Last written
-The time the last text was sent to the conference.
-.TP
-.I Creator
-The number of the person that has created the conference. This is 0
-for conferences that are created initially.
-.TP
-.I Presentation
-This is the number of the text containing a presentation of the
-conference. If there is no presentation this number is 0.
-.TP
-.I Supervisor
-This is the number of the conference whose members are supervisors of
-the conference. Initially this is set to be the number of the letter
-box of the creator.
-.TP
-.I Permitted submitters
-This is the number of the conference whose members are allowed to
-submit texts to this conference. If this is 0 (the default) all
-persons i 
-.B LysKOM
-are allowed to submit.
-.TP
-.I Super conference
-This is a number of a conference that comments to articles should be
-sent to if this conference is original flagged.
-.TP
-.I Message of the day
-This is the textnumber of the text containing a notice message about
-the conference. Mostly used for letter boxes. If 0 then there is no
-such message.
-.TP
-.I Garb nice
-This is the number of days a text stays in the conference before it is
-removed by the expiration routines. Its really the expiration rate.
-.SS Person statuses
-.LP
-Person statuses contains all info about persons.
-.TP 15
-.I Password
-The password is stored as a string. The length of the string is 64 but
-the length of the password itself is stored as the first char in the
-string. Passwords longer that 63 chars are truncated.
-.TP
-.I Username
-This is the username and machine from the last time the person logged in.
-.TP
-.I Privileges
-The persons privileges are stored here. This is a bit array, length is
-16 bits. It is not really welldetemined what bit does what.
-.TP
-.I Personal flags
-The persons flags are stored here.
-.TP
-.I First local number
-This is the local number of the first created text that still exists
-in the database. Its local to this list.
-.TP
-.I Created text list
-This is an array of all created texts beginning at the first local
-number.
-.TP
-.I Marked texts
-This is an array of all marked texts and their mark type. Every
-element in the array is a text number and a mark number.
-.TP
-.I Membership
-Here is the information about which conferences the person is member
-in. Its an array where every element is of the type 
-.B Membership
-(See below).
-.TP
-.I Last login
-Time of the last login.
-.TP
-.I User area
-Number of the text being the persons user area. If there is no user
-area this is 0.
-.TP
-.I Total time present
-Time in 
-.B LysKOM
-in seconds.
-.TP
-.I Sessions
-Number of logins made for that person.
-.TP
-.I Created lines
-.TP
-.I Created bytes
-.TP
-.I Read texts
-Count of read marked texts.
-.TP
-.I No of fetches
-This is the information about how many texts this person has fetched.
-Using caching clients this number could increase well beyond
-.I Read 
-.IR texts .
-.TP
-.I Created persons
-Count of created persons.
-.TP 
-.I Created conferences
-Count of created conferences.
-.SS Text statuses
-This contains info about the texts.
-.TP 15
-.I Created time
-Time this text was created.
-.TP
-.I Author
-Person that wrote this text.
-.TP
-.I Start
-Start pointer for the text in the
-.I lyskomd-texts
-file.
-.TP
-.I Number of lines
-Length of the text in lines.
-.TP
-.I Number of chars
-Length of the text in chars.
-.TP
-.I Number of marks
-Count of existing marks on this text.
-.TP
-.I Header list
-An array containing info about 
-.IR recipients ,
-.I comments
-.IR to -pointers
-etc. Every element is a 
-.IR Misc_info .
-.SS Membership
-The membership type tells us about conferences we are member of and
-how much we have already read of it. It is saved in this way:
-.TP
-.I Last time read
-Updated when we mark a text as read in this conference.
-.TP
-.I Conference number
-The number telling what conf.
-.TP
-.I Priority
-Used by the client to determine reading order.
-.TP
-.I Last text read
-Local number of the last text we have read. This is used to keep track
-of which texts we have not yet read and calculate how many unread we
-have in this conference.
-.TP
-.I Read texts
-An array containing the texts that we have read after the 
-.I Last text 
-.IR read .
-This is necessary because its possible to read in any order.
-.SH FILES
-.TP 20
-.IB database-directory /db/lyskomd-data
-File with all the elements and pointers.
-.TP
-.IB database-directory /db/lyskomd-texts
-File with the texts.
-.TP
-.IB database-directory /etc/pid
-File with the pid of the lyskom-process.
-.TP
-.IB database-directory /db/lyskomd-backup
-Backup file with all data.
-.SH "SEE ALSO"
-.BR lyskomd (8),
-.BR dbck (8)
-.SH BUGS
-This is really a joke. Its not a database, not optimal in any way. But
-it works.
-.PP
-The 
-.I message of the day
-text number is not saved anywhere. This makes the
-server forget what text that is when restarting.
-.SH NOTES
-This will soon disapear and be replaced by something more bazaarly
-inexplicable.
diff --git a/doc/man/man5/ramkom.5 b/doc/man/man5/ramkom.5
deleted file mode 100644
index fa0e2d1e1..000000000
--- a/doc/man/man5/ramkom.5
+++ /dev/null
@@ -1,317 +0,0 @@
-.\" $Id: ramkom.5,v 1.4 1991/09/15 09:54:59 linus Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: ramkom.5,v 1.4 1991/09/15 09:54:59 linus Exp $
-.\" $Date: 1991/09/15 09:54:59 $
-.TH ramkom 5 "August 24, 1991"
-.SH NAME
-ramkom - LysKOM 
-.I database
-format
-.SH SYNOPSIS
-.B /usr/lyskom/db/ramkomd-*
-.br
-and
-.br
-.B /usr/lyskom/etc/pid
-.PP
-.B #include <lyskom/kom-types.h>
-.SH DISCLAIMER
-The
-.I database
-is not really a database but a sequential file where all data is saved
-from the memory.
-.SH DESCRIPTION
-There are 2 files: One file with all the data
-.RB ( ramkomd-data ).
-And one with all texts 
-.RB ( ramkomd-texts ).
-The texts file does not contain any information about where any text
-starts of ends, all this is in the data file together with other infos
-on the text.
-.PP
-If the first five chars of the data file is CLEAN then the
-.I database
-is considered clean. If its anything else the
-.BR ramkomd (8)
-program will try to find the backupfile instead.
-.PP
-Then there is a number telling the number of the next free conference
-.RI ( next_free_num ).
-.PP
-Now follows a list of all conferences. One conference on each line. If
-the conference is deleted the line consists of a
-.B @
-otherwise it starts with a
-.BR + .
-.PP
-Now follows a list of all person statuses. Here is also every person
-on its own line and the deleted persons or the numbers that are not
-persons but conferences are lines containing just a
-.BR @ .
-.PP
-Both the conference status part and the person status part are exactly
-.IR next_free_num -1
-lines long.
-.PP
-Now follows the number of the next text that is not used and a list of
-text statuses.
-Every text status has its own line just like the other statuses and
-non-existent texts are represented by the 
-.BI @ .
-.PP
-The different statuses types are
-.B conference
-.BR statuses ,
-.B person statuses
-and
-.B text 
-.BR statuses .
-These are in a struct in the include file but in this file they are
-not saved as structs but every element is saved as a ascii string.
-Strings are saved as holerith strings. The field of the struct is not
-even saved in the same order as in the struct. 
-Their order in the database is followed below.
-.PP
-An array of things is represented in the database by a number telling
-how many elements there are in the array and the either a
-.B *
-in the case no elements or a 
-.B {
-followed by all the elements and a finishing
-.BR } .
-.SS Conference status
-.LP
-This contains all information for a conference. A conference is a
-object that recieves texts.
-.TP 15
-.I Name
-Name of the conference saved as a holerith string.
-.TP
-.I Member list
-An array of the members in that conference.
-.TP
-.I First local number
-This is the local number of the first text in the conference. Its
-saved here in order to save space in this file by not mentioning all
-deleted texts in the beginning of the conference.
-.TP
-.I Texts
-This is an array of recieved texts. The local number of the text is
-determined by the position in this list and the value of the
-.I first local
-.IR number .
-.TP
-.I Type
-This is the type of the conf, it contains the infomation that says if
-the conference is read protected, original flagged conference, secret,
-or if its a letter box.
-.TP
-.I Creation time
-The time the conference was created.
-.TP
-.I Last written
-The time the last text was sent to the conference.
-.TP
-.I Creator
-The number of the person that has created the conference. This is 0
-for conferences that are created initially.
-.TP
-.I Presentation
-This is the number of the text containing a presentation of the
-conference. If there is no presentation this number is 0.
-.TP
-.I Supervisor
-This is the number of the conference whose members are supervisors of
-the conference. Initially this is set to be the number of the letter
-box of the creator.
-.TP
-.I Permitted submitters
-This is the number of the conference whose members are allowed to
-submit texts to this conference. If this is 0 (the default) all
-persons i 
-.B LysKOM
-are allowed to submit.
-.TP
-.I Super conference
-This is a number of a conference that comments to articles should be
-sent to if this conference is original flagged.
-.TP
-.I Message of the day
-This is the textnumber of the text containing a notice message about
-the conference. Mostly used for letter boxes. If 0 then there is no
-such message.
-.TP
-.I Garb nice
-This is the number of days a text stays in the conference before it is
-removed by the expiration routines. Its really the expiration rate.
-.SS Person statuses
-.LP
-Person statuses contains all info about persons.
-.TP 15
-.I Password
-The password is stored as a string. The length of the string is 64 but
-the length of the password itself is stored as the first char in the
-string. Passwords longer that 63 chars are truncated.
-.TP
-.I Username
-This is the username and machine from the last time the person logged in.
-.TP
-.I Privileges
-The persons privileges are stored here. This is a bit array, length is
-16 bits. It is not really welldetemined what bit does what.
-.TP
-.I Personal flags
-The persons flags are stored here.
-.TP
-.I First local number
-This is the local number of the first created text that still exists
-in the database. Its local to this list.
-.TP
-.I Created text list
-This is an array of all created texts beginning at the first local
-number.
-.TP
-.I Marked texts
-This is an array of all marked texts and their mark type. Every
-element in the array is a text number and a mark number.
-.TP
-.I Membership
-Here is the information about which conferences the person is member
-in. Its an array where every element is of the type 
-.B Membership
-(See below).
-.TP
-.I Last login
-Time of the last login.
-.TP
-.I User area
-Number of the text being the persons user area. If there is no user
-area this is 0.
-.TP
-.I Total time present
-Time in 
-.B LysKOM
-in seconds.
-.TP
-.I Sessions
-Number of logins made for that person.
-.TP
-.I Created lines
-.TP
-.I Created bytes
-.TP
-.I Read texts
-Count of read marked texts.
-.TP
-.I No of fetches
-This is the information about how many texts this person has fetched.
-Using caching clients this number could increase well beyond
-.I Read 
-.IR texts .
-.TP
-.I Created persons
-Count of created persons.
-.TP 
-.I Created conferences
-Count of created conferences.
-.SS Text statuses
-This contains info about the texts.
-.TP 15
-.I Created time
-Time this text was created.
-.TP
-.I Author
-Person that wrote this text.
-.TP
-.I Start
-Start pointer for the text in the
-.I ramkomd-texts
-file.
-.TP
-.I Number of lines
-Length of the text in lines.
-.TP
-.I Number of chars
-Length of the text in chars.
-.TP
-.I Number of marks
-Count of existing marks on this text.
-.TP
-.I Header list
-An array containing info about 
-.IR recipients ,
-.I comments
-.IR to -pointers
-etc. Every element is a 
-.IR Misc_info .
-.SS Membership
-The membership type tells us about conferences we are member of and
-how much we have already read of it. It is saved in this way:
-.TP
-.I Last time read
-Updated when we mark a text as read in this conference.
-.TP
-.I Conference number
-The number telling what conf.
-.TP
-.I Priority
-Used by the client to determine reading order.
-.TP
-.I Last text read
-Local number of the last text we have read. This is used to keep track
-of which texts we have not yet read and calculate how many unread we
-have in this conference.
-.TP
-.I Read texts
-An array containing the texts that we have read after the 
-.I Last text 
-.IR read .
-This is necessary because its possible to read in any order.
-.SH FILES
-.TP 20
-.IB database-directory /db/ramkomd-data
-File with all the elements and pointers.
-.TP
-.IB database-directory /db/ramkomd-texts
-File with the texts.
-.TP
-.IB database-directory /etc/pid
-File with the pid of the lyskom-process.
-.TP
-.IB database-directory /db/ramkomd-backup
-Backup file with all data.
-.SH "SEE ALSO"
-.BR ramkomd (8),
-.BR dbck (8)
-.SH BUGS
-This is really a joke. Its not a database, not optimal in any way. But
-it works.
-.PP
-The 
-.I message of the day
-text number is not saved anywhere. This makes the
-server forget what text that is when restarting.
-.SH NOTES
-This will soon disapear and be replaced by something more bazaarly
-inexplicable.
diff --git a/doc/man/man8/.cvsignore b/doc/man/man8/.cvsignore
deleted file mode 100644
index e69de29bb..000000000
diff --git a/doc/man/man8/dbck.8 b/doc/man/man8/dbck.8
deleted file mode 100644
index 968e0184c..000000000
--- a/doc/man/man8/dbck.8
+++ /dev/null
@@ -1,132 +0,0 @@
-.\" $Id: dbck.8,v 1.7 1992/02/23 02:56:43 ceder Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: dbck.8,v 1.7 1992/02/23 02:56:43 ceder Exp $
-.\" $Date: 1992/02/23 02:56:43 $
-.TH dbck 8 "August 22, 1991"
-.SH NAME
-dbck - reports and corrects errors in the LysKOM database. This
-program is also used remove unreferenced texts from the texts file.
-.SH SYNOPSIS
-.B /usr/lyskom/bin/dbck 
-[
-.B -D
-.I database-directory
-] [
-.B -irvgs
-]
-.SH DESCRIPTION
-This program should be run after something has happened that has made the
-database corrupted.
-.PP
-It fixes the database, checking all references.
-.PP
-With argument
-.B -g
-the file with texts are rewritten without all unreferenced texts and
-all pointers are adjusted. This does only happen if the database was
-correct.
-.PP
-If none of the options
-.B -r, -i
-or
-.B -g
-are given the database is not changed.
-.SH OPTIONS
-.TP
-.BI \-D " database-directory"
-Use the database in the
-.I database-directory
-as the target of the checkup.
-.br
-Example: If your database is in
-.ft B
-$HOME/lyskom/db
-.ft R
-you should use the command
-.ft B
-.br
-/usr/lyskom/bin/dbck -D $HOME/lyskom
-.ft R
-.TP
-.B \-i
-Run interactively asking the user questions.
-.TP
-.B \-r
-Repair simple errors without asking.
-.TP
-.B \-v
-Verbose mode. Report not only errors but other statuses of the
-database.
-.TP
-.B \-g
-Do the garbage collect of the texts part of the database. This is
-sometimes called a compression of the text but it only removes
-non-referenced texts.
-.TP
-.B \-s
-Gather statistics about the lengths of texts. A table containing
-the frequency of all lenghts that is currently used is printed.
-.SH NOTES
-The messages
-.I Conference <confno> has a bad Text-list. Starts with 0
-and
-.I Person <persno> has created <number> conferences, not <number> 
-.RI ( as
-.I said in
-.IR person-stat ).
-are normal. If you get them when you specify
-.B -g,
-let
-.B dbck
-fix them and run
-.B dbck -g
-again.
-.SH FILES
-.TP 20
-.B /usr/lyskom
-Default database directory.
-.TP
-.IB database-directory /db/ramkomd-data
-File with all the elements and pointers.
-.TP
-.IB database-directory /db/ramkomd-texts
-File with the texts.
-.TP
-.IB database-directory /db/ramkomd-backup
-Backup file of
-.B ramkomd-data.
-.SH BUGS
-Does not lock the database.
-.PP
-Does never check if the database is locked.
-.PP
-Should have an unlock database option.
-.PP
-Does not check that 
-.B ramkomd-data
-and
-.B ramkomd-texts
-are consistent.
-.SH AUTHOR
-Per Cederqvist <ceder@lysator.liu.se>
diff --git a/doc/man/man8/lyskomd.8 b/doc/man/man8/lyskomd.8
deleted file mode 100644
index 00e12627e..000000000
--- a/doc/man/man8/lyskomd.8
+++ /dev/null
@@ -1,402 +0,0 @@
-.\" $Id: lyskomd.8,v 1.8 1994/02/19 04:57:37 ceder Exp $
-.\" Copyright (C) 1991, 1994  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: lyskomd.8,v 1.8 1994/02/19 04:57:37 ceder Exp $
-.\" $Date: 1994/02/19 04:57:37 $
-.TH lyskomd 8 "January 12, 1994" "Lysator"
-.SH NAME
-lyskomd - LysKOM server
-.SH SYNOPSIS
-.B /usr/lyskom/bin/lyskomd 
-[
-.B -d ...
-] [
-.B config-file
-]
-.SH DESCRIPTION
-This program runs a LysKOM server.
-.PP
-The server reads a configuration file (see CONFIGURATION below) and
-then listensfor connections on the given ports (defaults are 4894
-for the 
-.I client_port
-and 4895 for the
-.IR mux_port ).
-.SH OPTIONS
-.TP
-.B \-d
-Adds one to the debug-level i.e. increases the amount of output on the
-stderr from the process.  This option can be given repeatedly.
-
-Using one
-.B \-d
-make the process print a
-.I >
-for every timeout, a message for every person that is connecting or
-disconnecting and a message for every successful or unsuccessful
-communication to the process.
-.SH CONFIGURATION
-The configuration file is line oriented.
-Each line consists of one 
-.B parameter name,
-a colon, and the
-.B parameter value.
-Empty lines, and lines whose first non-blank character is #, are
-comment lines and ignored.
-The configuration file is normally found in
-.B /usr/lyskom/etc/config,
-but the exact location can be changed at compile time (by modifying
-.B DEFAULT_DBASE_DIR
-and/or
-.B CONFIG_FILE
-in
-.B src/server/server-config.c)
-or at run time (by specifying a config file as an argument).
-
-The following parameters can be set in the config file:
-.TP
-.B Locale: locale_name
-Use
-.I locale_name
-as the locale to run in.  
-This parameter is only available on systems which support the
-.B setlocale()
-call.  If this parameter is not set, no call to
-.B setlocale()
-will be made.
-.TP
-.B Prefix: prefix
-The default value of
-.I prefix
-is 
-.B /usr/lyskom
-(unless changed in server-config.c).
-All files that the server uses are found in sub-directories of this
-directory.  See FILES below.
-.TP
-.B Send async: bool
-Do not send any non-requested messages. This disables the sending of
-messages about events in the server to all connections.  
-Use of this parameter is not recommended.  This option is on by
-default.
-.TP
-.B Client port: portname
-Listen for new clients on
-.I portname,
-which can be a symbolic port name (traditionally looked up in
-.B /etc/services)
-or a port number.  This defaults to 4894, and all clients currently
-expect that number.
-.TP
-.B Mux port: portname
-Listen for mux connections on
-.I portname.
-Muxes can be used to multiplex several clients on a single file
-descriptor.  The mux runs as a separate process.  This was used
-historically when LysKOM ran on a machine were only 20 file
-descriptors coule be open at once.  The mux code has not been
-released.  Send a mail to 
-.B bug-lyskom@lysator.liu.se
-if you need it.  The default port number is 4895.
-.TP
-.B Presentation of conferences: conf-no
-The number of the conference where presentations should be sent.
-Defaults to 1.
-.TP
-.B Presentation of persons: conf-no
-The number of the conference where presentations should be sent.
-Defaults to 2.
-.TP
-.B Motd-conference: conf-no
-The number of the conference where "message-of-the-day" messages
-should be sent.
-Defaults to 3.
-.TP
-.B News-conference: conf-no
-The number of the conference where news of interest to the readers of
-this LysKOM server should be written.  This is typically a conference
-with very low traffic which everyone shoule be a member of.  Clients
-should offer new users to join it.  Defaults to 4.
-.TP
-.B Message of the day: text-no
-Default message-of-the-day of this server.  
-The text will be showed automatically by conforming LysKOM clients
-when a user logs on.  
-There is a question in protocol A which changes this number, but
-(currently) a motd set by the protocol will be forgotten the next time
-the server is restarted.
-This may change in the future.
-.TP
-.B Never save: bool
-Do not use unless you know what you are doing.
-(Note: there is currently no-one in the LysKOM development group which
-knows exactly what this option does!)
-.TP
-.B Log accesses: filename
-This parameter can only be set if the server has been compiled with
-.B LOGACCESSES
-defined.  It will save a trace of all activity in the database to a
-file, for later use in simulations et c.  
-Compiling with
-.B LOGECCESSES
-slows the server down quite a lot, so it is normally not defined.
-.TP
-.B Data file: data_file
-Part of the data base will be held in
-.I prefix/data_file.
-.TP
-.B Backup file: backup_file
-The file
-.I prefix/backup_file
-will always contain a complete data base, but it might be a little
-outdated.
-.TP
-.B Text file: text_file
-The file
-.I prefix/text_file
-holds all actual text which is written.
-.TP
-.B Text backup file: backup_text
-When dbck is run with the
-.I -g
-option (see dbck(8)) it will store the previous contents of
-.I prefix/text_file
-in
-.I prefix/backup_text.
-This file is never used by lyskomd itself.
-.TP
-.B Log statistics: stat_file
-Whenever lyskomd receives a SIGHUP it will append a timestamp and
-a count of how many different atomic calls have been made in
-.I prefix/stat_file.
-.TP
-.B Pid file: pid_file
-When lyskomd is up-and-running it will write its pid in the file
-.I prefix/pid_file.
-This file is not currently used as a log file.  It is present here
-only so that the updateLysKOM script can easily find out what pid the
-LysKOM server has.
-.TP
-.B Memory usage file: mem_file
-When lyskomd exits normally it appends some info on its usage of
-memory to
-.I prefix/mem_file.
-Almost any memory leak bugs should be detectable by looking in this
-file.
-.TP
-.B Idle timeout: idle
-Number of milliseconds to sleep when there is nothing for lyskomd
-to do.
-.TP
-.B Garb timeout: garb
-Number of milliseconds to sleep when the server is garbaging texts,
-but has nothing else important to do.
-.TP
-.B Sync timeout: sync
-Number of milliseconds to sleep when lyskomd is saving its database.
-Defaults to 0.
-.TP
-.B Garb interval: garb_interval
-Number of minutes between each garb sweep.  Defaults to 1440, that is,
-a garb sweep will be run once per day.
-.TP
-.B Sync interval: sync_interval
-Number of minutes between syncs.  Currently, lyskomd holds part of the 
-data base in main memory.  It is dumped to
-.I prefix/data_file
-periodically.  This parameter determines the period.
-.TP
-.B Sync retry interval: retry_interval
-If anything goes wrong while trying to dump the data base to
-.I prefix/data_file
-(such as if the disk is full),
-lyskomd will wait for this many minutes before trying again.
-.TP
-.B Max conference name length: int
-.TP
-.B Max password length: int
-Only the first eight characters of the password are currently
-significant, even if this number is much larger.
-.TP
-.B Max what am I doing length: int
-.TP
-.B Max username length: int
-.TP
-.B Max text length: int
-.TP
-.B Max broadcaset length: int
-.TP
-.B Max regexp length: int
-.TP
-.B Max marks per person: int
-.TP
-.B Max marks per text: int
-.TP
-.B Max recipients per text: int
-.TP
-.B Max comments per text: int
-.TP
-.B Max footnotes per text: int
-.TP
-.B Max links per text: int
-.TP
-.B Max mark_as_read chunks: int
-.TP
-.B Max super_conf loop: int
-.TP
-.B Default garb nice: int
-Each conference has a lifetime for texts written in it.  
-The lifetime is counted in days, and can be set for each conference by
-the administrator of the conference.
-This is the default value assigned to new conferences.
-.TP
-.B Max client transmit queue: int
-Mux number of pending data blocks in the reply queue to a client.  If
-there is ever more than this many data blocks in the queue the client
-will be disconnected.  Each atomic question typically generates two
-data blocks.
-.TP
-.B Max simultaneous client replies: int
-This is a performance tuning parameter of little real interest.
-.TP
-.B Anyone can create new persons: bool
-If this is set, anyone can create a new person, even if he lacks
-special bits for doing so.
-.TP
-.B Anyone can create new conferences: bool
-If this is set, anyone can create a new conferences, even if he lacks
-special bits for doing so.
-.TP
-.B Allow creation of persons before login: bool
-If this is set, persons can connect the the server and create a new
-person without logging in.  This is how new users register in open
-environments.
-.TP
-.B Default change name capability: bool
-If this is set, new users are created with the ability to change their
-own name.
-.TP
-.B Cache conference limit: int
-How many conference statuses the server cache should hold in main
-memory.
-.TP
-.B Cache person limit: assign_int
-How many person statuses the server cache should hold in main
-memory.
-.TP
-.B Cache text_stat limit: assign_int
-How many text statuses the server cache should hold in main
-memory.
-.TP
-.B Echo: text_string
-Write
-.I text_string
-in the log.
-.TP
-.B Jubel: pers_no text_no
-State that
-.I pers_no
-is not allowed to create text number
-.I text_no
-.TP
-.B Jubel: pers_no divident remainder
-Say that
-.I pers_no
-is not allowed to create any text number
-.I T
-which meets the condition
-.I T \% divident == remainder
-.SH SIGNALS
-There are some signals that have a special meaning to the LysKOM
-server.
-.TP
-.B SIGHUP
-Logs out all sessions, saves the database and exits normally.
-.TP 
-.B SIGQUIT
-Saves the database and dump core. (This should only be used for
-debugging purposes.)
-.TP
-.B SIGUSR1
-Print statistics about how often different commands have been used
-since the process started.
-.TP
-.B SIGUSR2
-Forks a child that immediately dumps core. The main process just waits
-until the child is done and then continues. (This does not work on
-Suns.)
-.SH FILES
-.TP 20
-.B /usr/lyskom
-Default value of
-.I prefix.
-.TP
-.IB prefix /db/lyskomd-data
-Half of the database: all status information.
-.TP
-.IB prefix /db/lyskomd-texts
-The other half of the database: the actual texts.
-.TP
-.IB prefix /db/lyskomd-backup
-A backup copy of 
-.I lyskomd-data.
-Never, ever delete this file unless you know what you are doing, or
-you may lose the entire data base.  Most of the time this is the only
-complete database file!
-.TP
-.IB prefix /etc/pid
-File with the pid of the lyskom-process.
-.TP
-.IB database-directory /etc/memory-usage
-On normal exit, 
-.I lyskomd
-will append some statistics to this file.  It can be used for
-detecting memory leaks.
-.SH BUGS
-.PP
-lyskomd should re-read the config file when a SIGHUP is received.
-.PP
-lyskomd should terminate when a SIGINT or SIGTERM is received.
-.PP
-A very small memory leak still remains.
-.PP
-There is no practical handling of security.
-.PP
-The choice of asynchronously issued messages is not very good.
-.PP
-The so called "data base" is a joke.
-.PP
-It uses too much memory.
-.SH HISTORY
-In 1990, Per Cederqvist <ceder@lysator.liu.se> and Peter Eriksson
-<pen@lysator.liu.se> and a few other persons started to write the
-server.  It was operational in the summer of 1990, even though the
-members of Lysator discovered a thing called MUD.  We started using
-RCS on 20 May 1991. The first release was made on 16 Sept 1991. 
-Around that time we switched from RCS to CVS, and ceder started to
-write pcl-cvs (a GNU Emacs front-end to CVS) instead of LysKOM. After
-a while, he started writing Bugtrack, to be able to handle all bug
-reports he recieved about pcl-cvs.  He hopes to be able to devote some
-more time to LysKOM in the future.
-.SH NOTE
-Contact Per Cederqvist if you want commercial support of LysKOM.
diff --git a/doc/man/man8/ramkomd.8 b/doc/man/man8/ramkomd.8
deleted file mode 100644
index 3f0646cdc..000000000
--- a/doc/man/man8/ramkomd.8
+++ /dev/null
@@ -1,118 +0,0 @@
-.\" $Id: ramkomd.8,v 1.4 1991/09/15 09:54:39 linus Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: ramkomd.8,v 1.4 1991/09/15 09:54:39 linus Exp $
-.\" $Date: 1991/09/15 09:54:39 $
-.TH ramkomd 8 "August 22, 1991"
-.SH NAME
-ramkomd - LysKOM server
-.SH SYNOPSIS
-.B /usr/lyskom/bin/ramkomd 
-[
-.B -d
-] [
-.B -q
-] [
-.BI -D database-directory
-] [
-.BI -p clientportnumber
-] [
-.BI -P muxportnumber
-] [
-.B -a
-]
-.SH DESCRIPTION
-This program runs a LysKOM server.
-.PP
-It listens for connections on the given portnumbers (defaults are 4894
-for the 
-.I clientportnumber
-and 4787 for the
-.IR muxportnumber ).
-.SH OPTIONS
-.TP
-.B \-d
-Adds one to the debug-level i.e. increases the amount of output on the
-stderr from the process.
-
-Using one
-.B \-d
-make the process print a
-.I >
-for every timeout, a message for every person that is connecting or
-disconnecting and a message for every succesful or unsuccessful
-communication to the process.
-.TP
-.B \-q
-Never save the database.
-.TP
-.BI \-D database-directory
-Use the database in the
-.I database-directory.
-.br
-Example: If your database is in
-.B $HOME/lyskom/db
-you should use the option
-.B \-D$HOME/lyskom
-.TP
-.BI \-p clientportnumber
-listens for clients on the port number
-.I clientportnumber.
-.TP
-.BI \-P muxportnumber
-listens for mux connections on the port number
-.I muxportnumber.
-A mux connection is a connection using a special protocoll to allow
-several sessions within one connection.
-.TP
-.B \-a
-Do not send any non-requested messages. This disables the sending of
-messages about events in the server to all connections.
-.SH FILES
-.TP 20
-.B /usr/lyskom
-Default database directory.
-.TP
-.IB database-directory /db/ramkomd-data
-File with all the elements and pointers.
-.TP
-.IB database-directory /db/ramkomd-texts
-File with the texts.
-.TP
-.IB database-directory /etc/pid
-File with the pid of the lyskom-process.
-.TP
-.IB database-directory /db/ramkomd-backup
-Backup file with all data.
-.SH BUGS
-Small memory leak.
-.PP
-There is no practical handling of security.
-.PP
-The choice of asynchronously issued messages is not very good.
-.PP
-The so called "data base" is a joke.
-.SH AUTHOR
-Per Cederqvist <ceder@lysator.liu.se>
-.SH NOTE
-Version 2.0 on its way.
diff --git a/doc/man/man8/updateLysKOM.8 b/doc/man/man8/updateLysKOM.8
deleted file mode 100644
index 8e75d624f..000000000
--- a/doc/man/man8/updateLysKOM.8
+++ /dev/null
@@ -1,36 +0,0 @@
-.\" $Id: updateLysKOM.8,v 1.2 1991/09/15 09:54:36 linus Exp $
-.\" Copyright (C) 1991  Lysator Academic Computer Association.
-.\"
-.\" This file is part of the LysKOM server.
-.\" 
-.\" LysKOM 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 1, or (at your option) 
-.\" any later version.
-.\" 
-.\" LysKOM 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.
-.\" 
-.\" You should have received a copy of the GNU General Public License
-.\" along with LysKOM; see the file COPYING.  If not, write to
-.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-.\" MA 02139, USA.
-.\"
-.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
-.\"
-.\" $Id: updateLysKOM.8,v 1.2 1991/09/15 09:54:36 linus Exp $
-.\" $Date: 1991/09/15 09:54:36 $
-.TH updateLysKOM 8 "August 22, 1991"
-.SH NAME
-updateLysKOM - tells the server to save the internal statistics
-.SH SYNOPSIS
-.B /usr/lyskom/bin/updateLysKOM
-.SH DESCRIPTION
-This program sends a USR1 signal to the LysKOM server. If the sending
-of a signal fails it restarts the server.
-.SH INSTALLATION
-Make sure the source file contains the correct file to start, find the
-pid in and the correct logfiles.
diff --git a/doc/prot-A.bnf b/doc/prot-A.bnf
deleted file mode 100644
index 7f025bca7..000000000
--- a/doc/prot-A.bnf
+++ /dev/null
@@ -1,1067 +0,0 @@
-				   
-			   LysKOM-Projektet
-		   --------------------------------
-	Specifikation av protokoll A mellan klient och server
-		   --------------------------------
-			   av Lars Aronsson
-		      <Aronsson@Lysator.LiU.SE>
-			     25 juni 1991
-
-
-
-				LysKOM
-
-LysKOM {r ett datakonferenssystem. Andra liknande system {r QZ-KOM och
-PortaCOM. LysKOM {r Copyright (C) 1990 datorf|reningen Lysator vid
-Universitetet och Tekniska H|gskolan i Link|ping. Var och en till}ts
-fritt kopiera, {ndra och distribuera LysKOM dokument och program,
-givet att mottagarna ges samma r{ttigheter. Varken Lysator eller dess
-medlemmar tar n}got som helst ansvar f|r dokumentens eller programmens
-riktighet eller f|ljderna av deras anv{ndande.
-
-
-			    Den h{r texten
-
-Den h{r texten specificerar version A av det protokoll som anv{nds
-mellan en klient (anv{ndarens program) och en server (databasen). Den
-h{r texten {r t{nkt att inneh}lla allt du beh|ver veta f|r att skriva
-en klient utan att veta n}got om servern, eller tv{rtom.
-
-Mitt syfte {r att den h{r texten skall vara s} fullst{ndig och korrekt
-som m|jligt. Om du hittar n}gra fel, eller kommer p} n}got som saknas,
-s} h|r g{rna av dig till mig. F|ljande {r de saker som jag vet saknas
-i den h{r texten:
-
-	Vad som lagras i en anv{ndares "user-area", och hur.
-
-
-				Filer
-
-Den h{r filen {r en mer systematisk sammanst{llning av nedan
-uppr{knade filer.  Det {r m|jligt att filerna har {ndrat namn, antal
-och utseende n{r du l{ser detta. S} h{r hette de den 3 juni 1991:
-
-	2kom/doc/com-spec		-- borta!
-	2kom/doc/security-levels.txt
-	2kom/include/kom-types.h
-	2kom/include/kom-errno.h
-	2kom/isc-client/com.h
-	2kom/server/fncdef.txt		-- borta?
-	2kom/include/services.h
-
-
-		       Underliggande protokoll
-
-LysKOM Protokoll A kan k|ras ovanp} vilken tillf|rlitlig dubbelriktad
-8-bitars bytekanal som helst. I n|dfall kan det ocks} k|ras p} en
-7-bitars bytekanal. Idag k|rs det ovanp} Telnet/TCP/IP. P} Lysator
-anv{nds telnetport 4894 p} IP-host 130.236.254.12 (laila).  Data i
-protokoll A sker i ASCII klartext. I hollerithstr{ngar (se nedan) f}r
-godtyckliga 8-bitars bytes f|rekomma, men tanken {r att man skall
-kunna k|ra protokollet "r}tt" fr}n en textterminal.
-
-
-		       Abstrakt syntaxnotation
-
-I den h{r specifikationen har en BNF-liknande grammatik anv{nts f|r
-att beskriva protokollets dataelement. Det {r mycket vetenskapligt,
-f|r s} g|r de som specar OSI-protokoll. Den h{r grammatiken borde
-likna ASN.1 mer {n den g|r, men jag har inte ASN.1-specen h{r.
-Dataf{lt har givits namn med liten begynnelsebokstav, datatyper med
-stor. Operatorn "::=" definierar (som i BNF) och ":" ger typ (som i
-Pascal). Kommentarer inleds med "!" och avslutas med radslut (som i
-BLISS). Semikolon anv{nds som i C. De grundl{ggande typerna och deras
-notation beskrivs h{rn{st.
-
-
-		       Grundl{ggande datatyper
-
-Dataelementen som skickas med protokollet }tskiljs av (godtyckliga
-sekvenser av) mellanslag, tab-tecken, line-feed, return, eller NULL.
-Undvik att skicka NULL, men var beredd p} att tolka det som ett
-mellanslag.
-
-INTEGER {r icke-negativa heltal som skall rymmas p} 32 bitar. De
-skickas som text p} decimal form.
-
-HOLLERITH {r textstr{ngar. F|rst skickas str{ngens l{ngd som en
-INTEGER, sedan bokstaven "H" och d{refter (utan }tskiljande
-mellanslag!) texten. Texten f}r inneh}lla vilka byte-v{rden som helst
-fr}n 0 till 255.
-
-BITSTRING skickas som text representerande ett heltal p} bin{r form.
-Antal bitar i str{ngen framg}r alltid av sammanhanget. [ven inledande
-nollor m}ste skickas. Siffran "1" representerar sant v{rde och "0"
-falskt. Bitarna skickas i den ordning de st}r listade i den abstrakta
-syntaxen.
-
-	shape-of-world : BITSTRING (
-	  is-flat; is-round; is-3d; is-2d;	! e.g. "0110"
-	)
-
-ARRAY {r en lista med ett visst antal element. Elementens typ noteras
-omedelbart efter ordet ARRAY. F|rst skickas en INTEGER som ger antalet
-element, sedan skickas tecknet "{", d{refter alla elementen i f|ljd
-och slutligen tecknet "}". Tecknen "{" och "}" fyller egentligen ingen
-funktion, men underl{ttar n{r man k|r protokollet "r}tt".  Exempel:
-
-	hackers : ARRAY HOLLERITH;
-	! e.g. 4 { 8Haronsson 7Hbellman 4Hinge 5Hceder }
-
-SELECTION {r en INTEGER med efterf|ljande svans. Vilken typ svansen
-har beror p} v{rdet av heltalet. F|r vissa v{rden kan svansen vara
-tom. V{rdet anges i den abstrakta syntaxen med "nummer=namn".
-Exempel:
-
-	phrase : SELECTION (
-	  1=hello	name:HOLLERITH;		! e.g. "1 4HJohn"
-	  2=howdy	;			! e.g. "2"
-	)
-
-RPC {r en mycket speciell notation som anv{nds f|r protokoll med
-remote procedure calls, dvs fr}gor och svar. Notationen f|r RPC ser ut
-som SELECTION, men varje alternativ har tv} svansar: fr}gan och
-svaret. Selectornumret skickas bara tillsammans med fr}gan. Exempel:
-
-	phrases : RPC (
-	  1=cost    inventory:INTEGER;	price:INTEGER;
-	  2=time    timezone:INTEGER;	hours:INTEGER;
-	  3=name    ;			name:HOLLERITH;
-	)
-	! e.g. "1 23"->"498" "3"->"4HLars" "2 1"->"1430"
-
-Datastrukturen struct/record markeras i den abstrakta syntaxen bara
-med omgivande "(" och ")". Detta inneb{r inte att n}gra extra tecken
-skickas i protokollet.
-
-
-				Dialog
-
-En session b|rjar alltid med en uppkoppling, d{r klienten v{ljer
-protokoll genom att skicka en
-
-	uppkopplingsbeg{ran : ( "A"; loginnamn : HOLLERITH; )
-
-vilken besvaras fr}n servern av en
-
-	uppkopplingsbekr{ftelse : "LysKOM\n"
-
-D{refter har vi finns bara RPC-protokollet commands. Klienten f}r
-skicka flera fr}gor innan den f}tt svar p} det f|rsta. F|r att h}lla
-reda p} till vilket anrop ett visst svar h|r, v{ljer klienten ett
-referensnummer att medf|lja och samma nummer }terfinns i svaret. Det
-{r klientens sak att fritt v{lja och h}lla reda p} referensnumren.
-
-	fr}ga : (
-	  ref-no : INTEGER;
-	  commands-call;
-	)
-
-som, om allt g}r som det skall, besvaras fr}n servern med
-
-	ok-return : (
-	  "=";
-	  ref-no : INTEGER;
-	  commands-return;
-	)
-
-eller, om n}got misslyckades, med
-
-	error-return : (
-	  "%";
-	  ref-no : INTEGER;
-	  error-no : Error-No;
-	  error-status : INTEGER;
-	)
-
-Det skall inte vara n}got tomrum mellan "=" respektive "%" och ref-no.
-Observera att {ven f|r de funktioner d{r f-return {r inneh}llsl|st
-svarar servern med "=" eller "%" och ref-number. 
-
-
-		 S{kerhetsniv}er och privilegiebittar
-
-S{kerhet och privilegier byggs i LysKOM med tv} komponenter: Varje
-person har sig ett antal bittar tilldelad (man kan s{ga att personen
-tillh|r ett antal grupper) och varje session har dessutom en
-s{kerhetsniv} (ett tal). Varje r{ttighet kr{ver en viss bitt och en
-viss minsta niv}. De senast aktuella kombinationerna
-bitt-niv}-r{ttighet beskrivs i filen 2kom/doc/security-levels.txt, h{r
-ges en vackrare tabell:
-
-	Bitt	Niv}	R{ttighet
-	------------------------------------------------------
-	wheel				Normalt ej tilldelad
-		  0	Alltid logga in, {ven vid "crowded"
-		  6	S{tta alla Priv_bits f|r alla personer
-		  7	S{tta password f|r alla personer
-		  8	Vara organisat|r (supervisor) f|r allt
-		 10	Kan l{sa alla texter
-	------------------------------------------------------
-	admin				Normalt ej tilldelad
-		  1	St{nga av servern
-		  1	S{tta motd_of_kom
-		  1	L{sa last_login
-		  2	L{sa status f|r hemliga m|ten och
-			personer
-		  2	L{sa de skyddade delarna av statusen
-		  2	L{sa hela text_statusen,
-			{ven vid hemliga mottagare
-		  3	Byta namn p} alla
-		  4	Addera/subtrahera medlemmar
-		  4	Addera/subtrahera mottagare till texter
-		  5	S{tta superm|te
-		  5	Radera texter
-		  6	S{tta administrat|r
-	------------------------------------------------------
-	statistic			Normalt ej tilldelad
-		  2	L{sa statistikdelarna av Person-structen,
-			{ven om de {r skyddade.
-	------------------------------------------------------
-	create_conf			Normalt tilldelad
-		  0	Skapa m|ten
-	------------------------------------------------------
-	create_pers			Normalt tilldelad
-		  0	Skapa personer
-	------------------------------------------------------
-
-Enligt Thomas Bellmans erfarenheter anv{nder en administrat|r i
-praktiskt arbete bara niv}erna 0 och 255. I st{llet f|r
-s{kerhetsniv}er borde de enskilda privilegiebittarna sl}s p} och av
-individuellt. Detta kanske l|ses elegantare i kommande versioner av
-protokollet.
-
-
-			       Felkoder
-
-De felkoder som f|rekommer som svar p} RPC-anrop {r nedanst}ende. H{r
-{r de f|rklarade i nummerordning. Det finns en kort lista i alfabetisk
-ordning strax efter}t.
-
-	Error-No : SELECTION (
-	  0=no-error;		! No error has occured
-	  2=not-impl;		! Not implemented yet
-	  3=obsolete;		! No longer implemented
-	  4=pwd;		! Wrong or illegal password
-	  5=long-str;		! String too long
-	  6=login;		! Not logged in.
-	  7=login-disallowed;	! System is in 'singel-user mode'
-	  8=conf-zero;		! Attempt to use conference number 0.
-	  9=undef-conf;		! Undefined or secret conference
-	  10=undef-pers;	! Undefined or secret person
-	  11=access; 		! No 'read/write permission'
-	  12=perm;		! No permission
-	  13=not-member;	! Not member in conf
-	  14=no-such-text;	! No such global text-no, or no access
-	  15=text-zero;		! Can't use text no 0
-	  16=no-such-local-text;! No such local text-no
-	  17=local-text-zero;	! Can't use local text no 0
-	  18=bad-name;		! Too short or too long
-				! or contains illegal chars
-	  19=index-out-of-range;
-	  20=conf-exists;	! Already exists
-	  21=pers-exists;	! Already exists
-	  22=secret-public;	! Cannot be secret and !rd-prot
-	  23=letter-box;	! Cannot change letter-box flag
-	  24=ldb-err;		! Should never happen,
-				! unless Willf|r makes a mistake.
-	  25=ill-misc;		! Illegal misc field.
-				! err-stat holds field no
-	  26=illegal-info-type;	! Info-type parameter was illegal.
-				! This means that there is a
-				! bug in the client.
-	  27=already-recipient;	! Already recipient to this text.
-	  28=already-comment;	! Already comment to this text.
-	  29=already-footnote;	! Already footnote to this text.
-	  30=not-recipient;	! Not recipient
-	  31=not-comment;	! Not comment to this text.
-	  32=not-footnote;	! Not footnote to this text.
-	  33=recipient-limit;	! Too many recipients
-	  34=comm-limit;	! Too many comments
-	  35=foot-limit;	! Too many footnotes
-	  36=mark-limit;	! Too many marks.
-	  37=not-author;	! Only the author may add footnotes or
-				! delete texts.
-	  38=no-connect;	! Can't connect to specified server
-	  39=out-of-memory;	! Couldn't get memory for result
-	  40=server-is-crazy;	! Client can't understand server
-	  41=client-is-crazy;	! Client thinks that server says it
-				! can't understand client.
-	  42=undef-session;	! This session doesn't exist
-	)
-
-
-	Nummer	Felmeddelande	Nummer	Felmeddelande
-	------------------------------------------------------
-	    11	access		    28	already-comment
-	    29	already-footnote    27	already-recipient
-	    18	bad-name	    41	client-is-crazy
-	    34	comm-limit	    20	conf-exists
-	     8	conf-zero	    35	foot-limit
-	    25	ill-misc	    26	illegal-info-type
-	    19	index-out-of-range  24	ldb-err
-	    23	letter-box	    17	local-text-zero
-	     6	login		     7	login-disallowed
-	     5	long-str	    36	mark-limit
-	    38	no-connect	     0	no-error
-	    16	no-such-local-text  14	no-such-text
-	    37	not-author	    31	not-comment
-	    32	not-footnote	     2	not-impl
-	    13	not-member	    30	not-recipient
-	     3	obsolete	    39	out-of-memory
-	    12	perm		    21	pers-exists
-	     4	pwd		    33	recipient-limit
-	    22	secret-public	    40	server-is-crazy
-	    15	text-zero	     9	undef-conf
-	    10	undef-pers	    42	undef-session
-	------------------------------------------------------
-
-
-			   Asynkrona anrop
-
-N{r som helst kan servern skicka ut ett asynkront anrop. En klient
-beh|ver inte bry sig om dem. Det g}r bra att l{sa undan dem n{r ett
-svar skall l{sas. Asynkrona meddelanden b|rjar alltid med ":" och ett
-heltal som talar om hur m}nga parametrar som kommer. D{refter kommer
-en selector och parametrarna. Precis som f|r ok- och error-return {r
-d{r inget tomrum mellan ":" och f|rsta heltalet. I f|rklaringen nedan
-listas de asynkrona anropen i nummerordning, men en alfabetiskt
-sorterad lista f|ljer strax d{rp}.
-
-
-asynk-meddelande ::= (
-  ":";
-  antal-params:INTEGER;
-  meddelande : SELECTION (
-    0=new-text	( text-no : Text-No;
-		  text-stat : Text-stat )
-	! En ny text har skapats.
-
-    1=logout	person : Pers-No;
-	! G}r {ven under namnet "i-am-off" (i C-koden).
-	! K{llkoden f|r Elispklienten g|r g{llande att
-	! asynkrona anropet nummer 1 {r taget ur bruk.
-	! Det {r ersatt av anrop 13 som anger sessionsnummer.
-
-    2=who-info	( person : Pers-No;
-		  conference : Conf-No;
-		  what-am-i-doing : HOLLERITH; )
-	! K{llkoden f|r Elispklienten g|r g{llande att
-	! asynkrona anropet nummer 2 heter login, men att
-	! det hur som helst {r taget ur bruk och ersatt av
-	! asynkrona anropet nummer 9.
-
-    3=conf-deleted	! Anv ej av Elispklienten
-		???
-    4=conf-created	! Anv ej av Elispklienten
-		???
-    5=conf-changed-name
-		( conf-no : Conf-No;
-		  old-name : HOLLERITH;
-		  new-name : HOLLERITH; )
-	! G}r {ven under namnet "new-name" (i C-koden).
-
-    6=i-am-on	info : Who-Info;
-    7=database-is-syncing
-		;
-    8=forced-leave-conf	! Anv ej av Elispklienten
-		???
-    9=login	( pers-no : Pers-No;
-		  session-no : Session-No; )
-
-    10=broadcast-message
-		( sender : Pers-No;
-		  message : HOLLERITH; )
-	! Det vore estetiskt f|rdelaktigt om servern aldrig skickade
-	! asynkrona anropet nummer 10 utan h|ll sig till nummer 12.
-
-    11=crowded	;
-	! Asynkrona anropet nummer 11 betyder att n}gon har
-	! misslyckats logga in, eftersom servern inte har fler
-	! lediga f|rbindelser. Den ansvarsk{nnande anv{ndaren
-	! kan nu v{lja att logga ut f|r att bereda plats.
-
-    12=directed-message
-		( recipient : Pers-No;
-		  sender : Pers-No;
-		  message : HOLLERITH;  )
-	! Om argumentet recipient {r noll (0) i asynkrona anropet
-	! nummer 12, s} {r meddelandet riktat till alla inloggade.
-	! Det {r {nnu inte m|jligt att rikta ett meddelande till
-	! en viss session.
-
-    13=new-logout
-		( pers-no : Pers-No;
-		  session-no : Session-No; )
-  )
-)
-
-En asterisk (*) efter numret i tabellen nedan anger att det asynkrona
-anropet ersatts av n}got annat. Se ovan under respektive anrop f|r
-n{rmare beskrivning.
-
-	   Nr	Asynkront anrop	   Nr	Asynkront anrop
-	------------------------------------------------------
-	    10	broadcast-message    5	conf-changed-name
-	     4	conf-created	     3	conf-deleted
-	    11	crowded		     7	database-is-syncing
-	    12	directed-message     8	forced-leave-conf
-	     6	i-am-on		     9	login
-	     1*	logout		    13	new-logout
-	     0	new-text	     2*	who-info
-	------------------------------------------------------
-
-
-			      RPC-anrop
-
-Klienten skickar RPC-anrop med parametrar till servern. Servern svarar
-endera med ett felmeddelande (se ovan i avsnitten Dialog och Felkoder)
-eller med ett returv{rde. Nedan ges BNF-grammatiken f|r de datatyper
-som anv{nds i parametrar och returv{rden. RPC-anropen listas i
-alfabetisk ordning, men en numeriskt sorterad lista f|ljer strax
-efter}t.
-
-
-commands : RPC (
-  ! Anropsnummer och -namn
-	! Datayp f|r anropsparameter
-	! Datatyp f|r returv{rde
-	
-  32=add-comment
-	params : ( comment : Text-No;
-		   comment-to : Text-No; )
-	;
-
-
-  37=add-footnote
-	params : ( footnote : Text-No;
-		   footnote-to : Text-No; )
-	;
-
-  14=add-member
-	params : ( conf-no : Conf-No;
-		   pers-no : Pers-No;
-		   priority : INTEGER;
-		   where : INTEGER;	 )
-	;
-	! Addera angiven person som medlem i angivet m|te
-	! Priority {r prioriteten p} l{slistan
-	! Where {r placering p} listan, 0 (noll) eller st|rre
-	! RPC-anropet nummer 14 anv{nds {ven senare f|r att {ndra
-	! prioritet och plats p} listan.
-
-  30=add-recipient
-	! The sequence "conf-no, type" is a reversed Misc-Info.
-	! Type is recpt or cc_recpt.
-	add-recipient-params : ( text-no : Text-No;
-				 conf-no : Conf-No;
-				 type : INTEGER;    )
-	;
-
-  45=broadcast
-	message : HOLLERITH;
-	;
-	! Ett privilegierat anrop.
-	! Samma effekt kan n}s genom magisk parameter till anrop 53.
-	! En gammal felaktig kommentar g|r g{llande att parametern
-	! skulle vara ett text-no, men s} {r inte fallet.
-
-   3=change-name
-	change-name-params : ( conf-no : Conf-No;
-			       new-name : HOLLERITH; )
-	;
-	! Anropet nummer 3 byter namn p} angivet m|te eller person.
-
-   4=change-what-i-am-doing
-	what-am-i-doing : HOLLERITH;
-	;
-	! Den medskickade texten kommer att visas i vilka-listan,
-	! se {ven anropet nummer 51.
-
-  10=create-conf
-	params : ( name : HOLLERITH;
-		   type : Conf-Type;  )
-	result : Conf-No;
-
-   5=create-person
-	create-person-params : ( name : HOLLERITH;
-				 passwd : HOLLERITH; )
-	Pers-No;
-	! En ny person skapas med angivet namn och l|senord.
-	! Den skapade personens personnummer returneras.
-
-  28=create-text
-	! create-text-return returns text number zero on error
-	! NB! Only Misc-Infos 0,1,2,4 can be sent here.
-	params : ( text : HOLLERITH;
-		   misc-info : ARRAY Misc-Info )
-	result : Text-No;
-
-  11=delete-conf
-	conf : Conf-No;
-	;
-	! Utpl}na ett m|te eller en person.
-
-  29=delete-text
-	Text-No;
-	;
-
-  55=disconnect
-	session-no : Session-No;
-	;
-	! Disconnect a session. You can disconnect your own session
-	! (even if you are not logged in) and any session where you
-	! are supervisor of the user that is logged in on that
-	! session.
-
-  42=enable
-	ena-level : INTEGER;
-	;
-	! This is a privileged call.
-	! Set ena-level. Zero means don't use any privileges.
-
-  50=get-conf-stat
-	conf-no : Conf-No;
-	result : Conference;
-	! Returnera m|tesstatus f|r angivet m|te
-
-  13=get-conf-stat-old
-	params : ( conf-no : Conf-No;
-		   mask : INTEGER;	 )
-	result : Conference
-	! Eftersom den mask som ing}r i params f|ga beaktas,
-	! har anropet nummer 13 ersatts av anropet 50.
-	! M|tesstatusen f|r det angivna m|tet returneras.
-	! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H)
-	! name i svaret. Fr}n b|rjan var det t{nkt:
-	! mask = name + members + texts + list-sizes -- just use 255
-
-  47=get-created-texts
-	params : ( person : Pers-No;
-		   first : Local-Text-No;
-		   no-of-texts : INTEGER; )
-	created-texts : Text-List;
-	! NB! first is a text number local to the person who wrote it.
-	!     It is not a Local-Text-No in his mailbox.
-
-  34=get-map
-	params : ( conf-no : Conf-No;
-		   first-local-no : Local-Text-No;
-		   no-of-texts : INTEGER; )
-	result : Text-List;
-
-  23=get-marks
-	;
-	Mark-List;
-
-  48=get-members
-	params : ( conf : Conf-No;
-		   first : INTEGER;
-		   no-of-members : INTEGER; )
-	members : Member-List;
-	! first should perhaps be Local-Conf-No...
-
-  46=get-membership
-	params : ( person : Pers-No;
-		   first : INTEGER;
-		   no-of-confs : INTEGER;
-		   mask : BITSTRING (want-read-texts); )
-	memberships : Membership-List;
-	! first should perhaps be Local-Conf-No...
-
-  49=get-person-stat
-	person : Pers-No;
-	result : Person;
-	! Personstatusen f|r den angivna personen returneras.
-
-   6=get-person-stat-old
-	params : ( person : Pers-No;
-		   mask : INTEGER;   )
-	result : Person;
-	! Eftersom den mask som ing}r i params f|ga beaktas,
-	! har anropet nummer 6 ersatts av anropet 49.
-	! Personstatusen f|r den angivna personen returneras.
-	! Om masken {r ett j{mnt tal, s} skickas ett tomt f{lt (0H)
-	! username i svaret.
-
-  36=get-server-info
-	;
-	result : Info;
-	! Return various information about the server.
-	! Anrop 36 hette tidigare get-info med samma semantik.
-
-  54=get-session-info
-	session-no : Session-No;
-	result : Session-Info;
-
-  25=get-text
-	params : ( text : Text-No;
-		   start-char : INTEGER;
-		   end-char : INTEGER;   )
-	result : HOLLERITH;
-
-  26=get-text-stat
-	params : Text-No;
-	result : Text-Stat;
-
-  35=get-time
-	;
-	Time;
-
-  52=get-unread-confs
-	pers-no : Pers-No;
-	conf-no-list : ARRAY Conf-No;
-
-   0=login
-	login-params : ( person : Pers-No;
-			 passwd : HOLLERITH; )
-	;
-
-   1=logout
-	;
-	;
-	! Anropet nummer 1 misslyckas aldrig.
-
-  12=lookup-name
-	name : HOLLERITH;
-	result : Conf-List-Old;
-	! Expandera ett f|rkortat namn och returnera en lista
-	! med nummer p} de m|ten och personer som det kan vara.
-	! Se kommentaren vid definitionen av Conf-List.
-
-  27=mark-as-read
-	params : ( conference : Conf-No;
-		   texts : ARRAY Local-Text-No; )
-	;
-
-  24=mark-text
-	params : ( text : Text-No;
-		   mark-type : INTEGER; )
-	! mark-type = permanently-marked -- just use 255 (?)
-	! The server only stores (does not act upon) this value.
-	;
-
-   2=pepsi
-	Conf-No;
-	;
-	! Anropet nummer 2 anv{nds f|r att g} till det angivna m|tet.
-	! Det engelska namnet {r change conference.
-	! Namnet "Pepsi" h|r till avdelningen mer krystade vitsar.
-
-   9=query-read-texts
-	params : ( pers-no : Pers-No;
-		   conf-no : Conf-No;  )
-	result : Membership;
-	! Man kan fr}ga efter ol{sta utan att logga in.
-
-  53=send-message
-	params : ( recipient : Pers-No;
-		   message : HOLLERITH; )
-	;
-	! Ett privilegierat anrop.
-	! Om mottagaren {r nummer noll, skickas meddlandet till
-	! samtliga inloggade personer. Detta kan ers{tta anrop 45.
-
-  17=set-conf-motd
-	params : ( conf-no : Conf-No;
-		   text-no : Text-No; )
-	;
-	! S{tt lappen text-no p} d|rren till conf-no.
-	! Set-presentation och set-etc-motd trollar dessutom
-	! med f{ltet no-of-marks i textstatusen f|r den gamla
-	! och den nya presentationstexten.
-	! Anrop 17 hette f|rr set-etc-motd med samma semantik.
-
-  21=set-conf-type
-	params : ( conf-no : Conf-No;
-		   type : Conf-Type   )
-	;
-	! M|tet conf-no {r av typen type.
-
-  22=set-garb-nice
-	params : ( conf-no : Conf-No;
-		   nice : Garb-Nice;  )
-	;
-	! Inl{gg i m|tet conf-no sparas i nice dagar innan de raderas.
-
-  41=set-motd-of-lyskom
-	motd : Text-No;
-	;
-	! This is a privileged call.
-	! The text indicated by the parameter is set to be the message
-	! of the day of LysKOM.
-
-   8=set-passwd
-	params : ( person : Pers-No;
-		   old-pwd : HOLLERITH;
-		   new-pwd : HOLLERITH; )
-	;
-	! Ge personen ett nytt l|senord. Old-pwd {r det (gamla)
-	! l|senordet f|r personen som g|r RPC-anropet (inte
-	! n|dv{ndigt samma som anges av f|rsta argumentet).
-
-  19=set-permitted-submitters
-	params : ( conf-no : Conf-No;
-		   perm-sub : Conf-No; )
-	;
-	! M|tet conf-no {r skrivskyddat.
-	! Endast medlemmar i perm-sub f}r skriva inl{gg i conf-no.
-	! Om perm-sub {r 0 (noll) (???) {r m|tet inte skrivskyddat.
-
-  16=set-presentation
-	params : ( conf-no : Conf-No;
-		   text-no : Text-No; )
-	;
-	! [ndra presentationen f|r angivet m|te eller person.
-	! Ange text-no 0 (noll) f|r att ta bort presentationen.
-	! Set-presentation och set-etc-motd trollar dessutom
-	! med f{ltet no-of-marks i textstatusen f|r den gamla
-	! och den nya presentationstexten.
-
-   7=set-priv-bits
-	params : ( person : Pers-No;
-		   privileges : Priv-Bits )
-	;
-	! Ge eller ta n}gra bittar f|r den angivna personen.
-
-  20=set-super-conf
-	params : ( conf-no : Conf-No;
-		   super-conf : Conf-No; )
-	;
-	! G|r super-conf till superm|te (organisat|r?) f|r m|tet
-	! conf-no. Om conf-no {r skrivskyddat, s} skickas eventuella
-	! brev vidare till superm|tet.
-
-  18=set-supervisor
-	params : ( conf-no : Conf-No;
-		   admin : Conf-No; )
-	;
-	! G|r alla medlemmar i m|tet admin till administrat|rer (???)
-	! f|r m|tet conf-no. Admin {r typiskt en persons brevl}da.
-
-  40=set-unread
-	params : ( conference : Conf-No;
-		   no-of-unread : INTEGER; )
-	;
-	! Endast l{sa no-of-unread senaste i angivet m|te.
-
-  57=set-user-area
-	params : ( pers-no : Pers-No;
-		   user-area : Text-No; )
-	;
-	! Angiven text anv{nds f|r att lagra angiven persons
-	! variabler. Hur detta g}r till borde kanske behandlas
-	! i ett separat kapitel.
-
-  44=shutdown
-	exit-val : INTEGER;
-	;
-	! This is a privileged call.
-	! Shutdown server.
-	! An old comment says exit-val is not used by the server.
-	! Samma effekt n}s genom kill -HUP mot servern.
-
-  33=sub-comment
-	params : ( comment : Text-No;
-		   comment-to : Text-No; )
-	;
-
-  38=sub-footnote
-	params : ( footnote : Text-No;
-		   footnote-to : Text-No; )
-	;
-
-  15=sub-member
-	params : ( conf-no : Conf-No;
-		   pers-no : Pers-No; )
-	;
-	! Subtrahera angiven person som medlem i angivet m|te.
-
-  31=sub-recipient
-	params : ( text-no : Text-No;
-		   conf-no : Conf-No; )
-	;
-
-
-  43=sync
-	;
-	;
-	! Make LysKOM sync its files. This is a privileged call.
-	! Samma effekt n}s med kill -SIGUSR1 mot servern.
-
-  56=who-am-i
-	;
-	sesson-no : Session-No;
-
-  39=who-is-on-old
-	;
-	result : Who-Info-List-Old;
-	! Anrop nummer 39 {r ersatt av anrop 51, vars svar ger
-	! mer information.
-
-  51=who-is-on
-	;
-	result : Who-Info-List;
-	! Svaret {r en lista med information om nu aktiva sessioner.
-)
-
-De anrop vars nummer i listan nedan f|ljs av en asterisk (*) {r
-ersatta av modernare verianter i den nuvarande versionen (0.33) av
-Elisp-klienten.
-
-	Nummer	RPC-Anrop	Nummer	RPC-Anrop
-	------------------------------------------------------
-	     0	login		     1	logout
-	     2	pepsi		     3	change-name
-	     4	change-what-i-am-doing
-	     5	create-person	     6*	get-person-stat-old
-	     7	set-priv-bits	     8	set-passwd
-	     9	query-read-texts    10	create-conf
-	    11	delete-conf	    12	lookup-name
-	    13*	get-conf-stat-old   14	add-member
-	    15	sub-member	    16	set-presentation
-	    17	set-conf-motd	    18	set-supervisor
-	    19	set-permitted-submitters
-	    20	set-super-conf	    21	set-conf-type
-	    22	set-garb-nice	    23	get-marks
-	    24	mark-text	    25	get-text
-	    26	get-text-stat	    27	mark-as-read
-	    28	create-text	    29	delete-text
-	    30	add-recipient	    31	sub-recipient
-	    32	add-comment	    33	sub-comment
-	    34	get-map		    35	get-time
-	    36	get-server-info	    37	add-footnote
-	    38	sub-footnote	    39*	who-is-on-old
-	    40	set-unread	    41	set-motd-of-lyskom
-	    42	enable		    43	sync
-	    44	shutdown	    45*	broadcast
-	    46	get-membership	    47	get-created-texts
-	    48	get-members	    49	get-person-stat
-	    50	get-conf-stat	    51	who-is-on
-	    52	get-unread-confs    53	send-message
-	    54	get-session-info    55	disconnect
-	    56	who-am-i	    57  set-user-area
-	------------------------------------------------------
-
-
-			Konstruerade datatyper
-
-H{r definieras de datatyper som sedan anv{nds i RPC-anrop fr}n
-klienten till servern och i asynkrona anrop fr}n servern till
-klienten. Datatyperna listas i bokstavsordning.
-
-
-! Pers-no and Conf-no are u_shorts in the same domain.
-Conf-No ::= INTEGER;
-Conf-No-List ::= ARRAY Conf-No;		! Anv{nds var?
-
-Conf-List ::= ARRAY ( conference : Conf-No;
-		      type : Conf-Type;	    )
-
-! Som svar p} anrop 12 ges Conf-List-Old, som inte kan formuleras
-! med den h{r BNF-grammatiken. Conf-List borde returneras, men d}
-! vore inte LysKOM bak}tkompatibelt.
-! Conf-List-Old:   "3 { 3 45 62 } { 1001 0000 1001 }"
-! Conf-List:	   "3 { 3 1001  45 0000  62 1001 }"
-
-Conf-Type ::= BITSTRING (
-  rd_prot;		! Can anyone become a member?
-  original;		! Comments forbidden?
-  secret;		! Secret mailboxes cannot easily login by name
-  letterbox;		! Mailbox
-)
-
-Conference ::= (
-  name : HOLLERITH;
-  type : Conf-Type;
-  creation-time : Time;
-  last-written : Time;
-  creator : Pers-No;
-  presentation : Text-No;
-  supervisor : Conf-No;
-  permitted-submitters : Conf-No;	! Zero means anybody
-  super-conf : Conf-No;			! Zero means author
-  msg-of-day : Text-No;			! Every conf has one
-  nice : Garb-Nice;
-  no-of-members : INTEGER;
-  first-local-no : Local-Text-No;	! Oldest text still stored
-  no-of-texts : INTEGER;		! How many texts stored
-)
-
-Garb-Nice ::= INTEGER;			! Number of days
-
-Info ::= (
-  version : INTEGER;
-  conf-pres-conf : Conf-No;		! M|tet Pres (nya) m|ten
-  pers-pres-conf : Conf-No;		! M|tet Pres (nya) medlemmar
-  motd-conf : Conf-No;			! M|tet Lappar p} d|rren
-  kom-news-conf : Conf-No;		! M|tet Nyheter om LysKOM
-  motd-of-lyskom : Text-No;		! Visas vid login
-)
-
-! kom-types.h defines Info-Datum as the tail in Misc-Info
-! kom-types.h defines Info-Type as the selector in Misc-Info
-
-Local-Text-No ::= INTEGER;
-
-Mark ::= ( text-no : Text-No; type : INTEGER )
-	! Servern ger sig inte p} att tolka markeringstypen,
-	! det {r helt upp till klienten.
-
-Mark-List ::= ARRAY Mark;
-
-
-Member ::= Pers-No;
-Member-List ::= ARRAY Member;
-Membership ::= (
-  last-time-read : Time;
-  conference : Conf-No;
-  priority : INTEGER;
-  last-text-read : Local-Text-No;
-  read-texts : ARRAY Local-Text-No;
-)
-
-Membership-List ::= ARRAY Membership;
-
-Misc-Info ::= SELECTION (
-  0=recpt	recipient : Conf-No;		! Mottagare
-  1=cc-recpt	cc-recipient : Conf-No;		! Extra kopia
-  2=comm-to	comment-to : Text-No;		! Kommentar till
-  3=comm-in	commented-in: Text-No;		! Kommentar i
-  4=footn-to	footnote-to : Text-No;		! Fotnot till
-  5=footn-in	footnoted-in : Text-No;		! Fotnot i
-  6=loc-no	local-no : Local-Text-No	! Lokalt textnummer
-  7=rec-time	received-at : Time;		! Mottaget tid
-  8=sent-by	sender : Pers-No;		! S{nt av
-  9=sent-at	sent-at : Time;			! S{nt n{r
-! 10=...-recpt	???				! F|r k{nnedom
-)
-
-Pers-List ::= ARRAY Pers-No;
-
-Pers-No ::= Conf-no;
-
-Person ::= (
-  username : HOLLERITH;			! E-mail adress
-  privileges : Priv-Bits;
-  flags : Personal-Flags;
-  last-login : Time;			! Eller logout?
-  user-area : Text-No;
-  total-time-present : INTEGER;		! I sekunder
-  sessions : INTEGER;
-  created-lines : INTEGER;
-  created-bytes : INTEGER;
-  read-texts : INTEGER;
-  no-of-text-fetches : INTEGER;
-  created-persons : INTEGER;
-  created-confs : INTEGER;
-  first-created-local-no : INTEGER;  	! Well, local isn't really true but...
-  no-of-created-texts : INTEGER;     	! Numbers of texts in the ARRAY,
-					! i.e. not erased ones.
-  no-of-marks : INTEGER;
-  no-of-confs : INTEGER;
-)					! /mo
-
-Personal-Flags ::= BITSTRING (
-  unread-is-secret;
-	! V{rdet 1 betyder att antalet ol{sta texter h}lls hemligt
-  flg2; flg3; flg4; flg5; flg6; flg7; flg8;
-)
-
-! Se avsnittet ovan om s{kerhetsniv}er och privilegiebittar.
-Priv-Bits ::= BITSTRING (
-  wheel; admin; statistic; create_pers; create_conf; change_name;
-  flg7; flg8; flg9; flg10; flg11; flg12; flg13; flg14; flg15; flg16;
-)
-
-! Session-Info {r v{ldigt likt Who-Info.
-Session-Info ::= (
-  person : Pers-No;
-  working-conference : Conf-No;
-  session : Session-No;
-  what-am-i-doing : HOLLERITH;
-  username : HOLLERITH;		! user@host
-  idle-time : INTEGER;		! Sekunder sedan senaste anrop
-  connection-time : Time;	! Tid och datum f|r uppkoppling
-				! Detta {r ej detsamma som login-tid
-)
-
-! Session numbers are unique to each session. A person can have
-! more than one session running at the same time. Session numbers
-! are assigned starting from 1 up. Session numbers are not reused
-! during the lifetime of the server. See Who-Info-List
-Session-No ::= INTEGER;
-
-Text-List ::= ( first-local-no : Local-Text-No;
-		texts : ARRAY Text-No;		)
-
-! Text-No is a u_long.
-Text-No ::= INTEGER;
-
-Text-Stat ::= (
-  creation-time : Time;
-  author : Pers-No;
-  no-of-lines : INTEGER;
-  no-of-chars : String-Size;
-  no-of-marks : INTEGER;
-  misc-info : ARRAY Misc-Info;
-)
-
-! UNIX <time.h> struct tm. No time zone.
-Time ::= (
-  seconds : INTEGER;		! 0 ... 59
-  minutes : INTEGER;		! 0 ... 59
-  hours : INTEGER;		! 0 ... 23
-  mday : INTEGER;		! 1 ... 31
-  month : INTEGER;		! jan = 0 ... dec = 11
-  year : INTEGER;		! Sedan 1900
-  weekday : INTEGER;		! s|n = 0 ... SAT = 6
-  yearday : INTEGER;		! 0 ... 365
-  isdst : INTEGER;		! positivt = sommartid, 0 = normaltid
-)
-  
-Who-Info-Old ::= (
-  person : Pers-No;
-  what-am-i-doing : HOLLERITH;
-  working-conference : Conf-No;
-)
-Who-Info-List-Old ::= ARRAY Who-Info-Old;
-
-Who-Info ::= (
-  person : Pers-No;
-  working-conference : Conf-No;
-  session : Session-No;
-  what-am-i-doing : HOLLERITH;
-  username : HOLLERITH;		! user@hostname
-)
-
-Who-Info-List ::= ARRAY Who-Info;
-
-
-
-			       Exempel
-
-Nedan ett exempel fr}n en verklig LysKOM-session. Kommentarer har jag
-gett med "!" som i grammatiken. Exemplet {r gammalt och inneh}ller en
-del detaljer som senare tagits ur bruk, men det ger {nd} en ide om hur
-det r}a protokollet ser ut.
-
-	$ telnet laila 4894
-	Trying 130.236.254.12 ...
-	Connected to laila.lysator.liu.se.
-	Escape character is '^]'.
-	A8Haronsson	 		! Jag k|r protokoll A
-	LysKOM 				! LysKOM svarar
-	1 12 13HLars Aronsson 		! lookup-name
-	=1 2 { 8 38 } { 1001 1001 } 	! Person 8 eller Person 38
-	:3 2 21 7 0H 			! Person 21 gick till m|te 7
-	:1 1 56 			! Person 56 loggade just ut
-	2 0 8 8H******** 		! login Person 8 med password
-	:3 2 8 0 0H 			! Person 8 loggade just in
-	=2 				! login OK
-	3 10 23HAntikommunistiskt Forum 0000 
-					! Jag skapar ett |ppet m|te
-	=3 57 				! OK, m|te 57 skapat
-	4 1 				! Jag loggar ut
-	:1 1 8 				! Person 8 loggade just ut
-	=4 				! logout OK
diff --git a/doc/prot-A.slightly-obsolete b/doc/prot-A.slightly-obsolete
deleted file mode 100644
index 7664414be..000000000
--- a/doc/prot-A.slightly-obsolete
+++ /dev/null
@@ -1,230 +0,0 @@
-
-
-			   LysKOM-Projektet
-		   --------------------------------
-	      Beskrivning av server-klient-protokollet,
-			 version A, i LysKOM
-		   --------------------------------
-			   av Lars Aronsson
-		      <aronsson@lysator.liu.se>
-			     datum ok{nt
-
-
-
-Kommunikationen till servern sker i klartext. P} s} vis {r det m|jligt
-att provk|ra utan att ha en klient ig}ng. Avlusningen blev ocks}
-enklare.
-
-
-UPPKOPPLING
-
-Vid uppkoppling s{nder klienten ett 'A' f|ljt av login-identiteten f|r
-anv{ndaren (en str{ng, se nedan). Servern svarar med att skicka
-"LysKOM\n". Sedan {r uppkopplingen gjord.
-
-FUNKTIONSANROP
-
-Vid ett funktionsanrop skickas f|ljande data fr}n klienten till
-servern:
-
-	ref-nr  funktions-nr parametrar
-
-ref-nr {r ett heltal (unsigned, max 32 bitar) som klienten kan v{lja
-fritt, t ex som ett l|pnummer.
-
-funktions-nr {r ett heltal som anger vilken funktion man vill anropa.
-De definieras i isc/com.h.
-
-Om anropet lyckades ser svaret ut s} h{r:
-
-	=ref-nr  svar
-
-Om det misslyckas:
-
-	%ref-nr  kom_errno err_stat
-
-
-
-DATAFORMAT
-
-Allt som skickas (utom m|jligtvis innuti str{ngar) {r ASCII. Bortsett
-fr}n innuti str{ngar skickas inga kontrolltecken. Whitespace anv{nds
-f|r att skilja olika f{lt }t. Som whitespace r{knas ' ', \r, \n, \t
-och \000. (Ett funktionsanrop beh|ver inte avslutas med \n, det g}r
-lika bra med vilken whitespace som helst, men det m}ste finnas en
-whitespace - det r{cker inte med att paketet tar slut).
-
-Alla tal, (t ex int, Pers_no, Conf_no) skickas i decimal form.
-
-Enumar skickas i decimal form.
-
-Str{ngar skickas som Hollerith-str{ngar, dvs f|rst ett heltal som
-anger l{ngden, sen ett H, sen str{ngen. Innuti en str{ng kan vilka
-tecken som helst komma. (0-255).
-
-Arrayer skickas inom m}svingar. T ex kan en Text_list som ser ut s}
-h{r:
-typedef  struct {
-	Local_text_no	  first_local_no,
-    			  no_of_texts;
-	Text_no		* texts;
-}  Text_list;
-
-skickas s} h{r:
-	5 3 { 8 9 11 }
-
-eller, om texts==NULL:
-	5 3 *
-
-Asterisk anv{nds allts} f|r att markera en tom array. (Till exempel om
-man inte fr}gar efter Membership). Asterisk-notationen kan bara
-anv{ndas i rikting fr}n servern till klienten. 
-
-
-EXEMPEL
-
-S} h{r kan en k|rning se ut.
-
-Klienten skickar	Servern svarar		F|rklaring
-================	==============		==========
-
-A5Hceder		LysKOM\n		Uppkoppling.
-1 37			=1 100 1 2 3 4 5712	Get_info
-69 27 5712		=69 {textstat}		Get_text_stat
-18 26 5712		=18 {textmassa}		Get_text
-2 1 334 5HaBcdE		%2 3 0 0 0		Login, misslyckas. (KOM_PWD)
-3 1 334 5HaBcDe		=3			Login, lyckas.
-...
-9 2			=9			Logout (beh|vs eg. ej)
-
-
-FELHANTERING
-
-Om servern tar emot text som inte st{mmer med det protokoll som f|r
-tillf{llet {r implementerat (f|rhoppningsvis, men ej n|dv{ndigtvis,
-det som {r beskrivet h{r) skriver den ut "%% LysKOM protocol error.\n"
-
-ASYNKRONA MEDDELANDEN
-
-Servern skickar ibland ut meddelanden som clienterna kanske tycker {r
-intressanta. Formatet f|r dessa {r:
-
-	:no_of_tokens function < tokens >
-
-De b|rjar allts} med ":" i st{llet f|r "=" eller "%". Genom att
-antalet token alltid s{nds s} kan {ven gamla klienter "|verleva" en ny
-klient med nya asynkrona meddelanden. Det {r bara att hoppa |ver r{tt
-antal token.
-
-Termen "asynkrona meddelanden" {r lite oegentlig. Meddelanden {r
-synkroniserade med allt annat som skickas ut fr}n servern. Ett
-meddelanden kommer bara n{r ett svar skulle ha kommit.
-
-DATAFORMAT F\R SAMMANSATTA TYPER
-
-Person
-	username	str{ng
-	privileges	bitstr{ng
-	personal_flags	bitstr{ng
-	created_texts:
-	    first_local_no
-	    no_of_texts
-	    texts	array
-	marks:
-	    no_of_marks
-	    marks	array
-	conferences:
-	    no_of_confs
-	    confs:	array
-		conf_no
-		priority
-		last_time_read
-		last_text_read
-		no_of_read
-		read_texts	array
-	user_area
-	last_login
-	total_time_present
-	sessions
-	created_lines
-	created_bytes
-	read_texts
-	no_of_text_fetches
-	created_persons
-	created_confs
-
-
-
-Conference
-
-	name	str{ng
-	members:
-	    no_of_members
-	    members:	array
-		member	(Pers_no)
-	texts:
-	    first_local_no
-	    no_of_texts
-	    texts	array (Text_no)
-	conf_type	bitstr{ng
-	creator
-	creation_time
-	presentation
-	supervisor
-	permitted_submitters
-	super_conf
-	last_written
-	msg_of_day
-	nice
-
-
-Text_stat
-
-	author
-	creation_time
-	no_of_lines
-	no_of_marks
-	no_of_misc
-	misc_info:	array
-	    type	0 recpt
-			1 cc_recpt
-			2 comm_to
-			3 comm_in
-			4 footn_to
-			5 footn_in
-			6 loc_no
-			7 rec_time
-			8 sent_by	
-			9 sent_at
-	    datum
-
-
-
-Info
-	version
-	conf_pres_conf
-	pers_pres_conf
-	motd_conf
-	kom_news_conf
-	motd_of_lyskom
-
-Membership
-
-	no_of_confs
-	confs:	array
-	    conf_no
-	    priority
-	    last_time_read
-	    last_text_read
-	    no_of_read
-	    read_texts	array
-
-
-Text_list
-	first_local_no
-	no_of_texts
-	    texts	array
-
-str{ng
-	12HTolv tecken.
-
diff --git a/doc/vad-aer-olaest.swe b/doc/vad-aer-olaest.swe
deleted file mode 100644
index f56926256..000000000
--- a/doc/vad-aer-olaest.swe
+++ /dev/null
@@ -1,145 +0,0 @@
-This swedish text describes how the client knows which texts the user
-has not yet read. It is extracted from the LysKOM-server that runs
-at lysator.liu.se.
--------------------------------------------------------------------
-
-
-102868 1991-09-07  20:40  /132 rader/ ceder (Per Cederqvist  Lysator)
-Kommentar till text 102846 av Jonas S Karlsson (@Link ping enl CSN)
-Mottagare: LysKOM internals <1804>
-Markerad av dig och 2 andra.
-[rende: Hur man vet vad som {r ol{st.
-------------------------------------------------------------
-Varje person har en lista |ver vilka m|ten han {r med i. F|r varje
-m|te han {r med i lagras i en struct som vi kallar Membership:
-
-	* m|tesnumret
-	* prioriteten p} m|tet
-	* n{r man senast l{ste en text i m|tet (markerade en text i
-	  m|tet som l{st)
-	* vilka texter man har l{st (lokala m|tesnummer)
-	  Just nu lagras det som
-	
-		Local_text_no  last_text_read;
-		u_short	       no_of_read_texts;
-		Local_text_no *read_texts;
-
-	  vilket inneb{r att man har l{st alla texter fram till och
-	  med last_text_read, och dessutom alla texter som finns i den
-	  dynamiskt allokerade arrayen read_texts (som inneh}ller
-	  no_of_read_texts texter).
-
-query_read_texts tar som argument en person och ett m|te (som
-eventuellt kan vara en brevl}da) och returnerar den personens
-Membership f|r just det m|tet. Till protokoll B kommer vi att d|pa om
-funktionen till get_membership.
-
-> 102846 1991-09-07  17:05  /16 rader/ Jonas S Karlsson (@Link ping enl CSN)
-> Mottagare: LysKOM internals <1801>
-> [rende: Protokollet fr{ga...
-
-102846 {r ett globalt textnummer. Vi anv{nder typen Text_no f|r att
-lagra och hantera s}dana nummer. 1801 {r ett lokalt nummer f|r m|tet
-LysKOM internals. S}dana nummer lagras i en Local_text_no. (B}de
-Text_no och Local_text_no {r 32 bittar just nu).
-
-F|r varje m|te finns en relation MAP : Local_text_no -> Text_no.  Med
-anropet get_map kan man h{mta en tabell med vars hj{lp man kan g|ra den
-|vers{ttningen f|r ett visst m|te.
-
-
-get_created_texts ger en lista som inneh}ller de texter som en viss
-person har skrivit.
-
-F|r att ta reda p} vilka m|ten man har ol{sta inl{gg i g|r man s} h{r:
-
-1) get_unread_confs (ditt personnummer)
-
-Du f}r en lista med m|tesnummer. LysKOM garanterar att du inte har
-n}got ol{st i n}got annat m|te, men det kan h{nda att den ger tillbaks
-n}gra m|ten som du i verkligheten inte har n}got ol{st i.
-
-De m|ten man f}r tillbaks {r de d{r de existerar (eller har existerat)
-en text med ett h|gre lokalt textnummer {n last_text_read i ditt
-Membership i m|tet i fr}ga.
-
-2a) G|r query_read_texts f|r alla m|ten i listan du fick i steg 1.
-
-2b) Samtidigt h{mtar du m|tesstatusen f|r de m|tena (med
-get_conf_stat).
-
-3) Samla ihop alla svaren och sortera dom s} att man f}r l{sa
-inl{ggen i r{tt ordning.
-
-4) Ta det f|rsta m|tet. J{mf|r det h|gsta lokala numret som existerar
-(det kan du f} fram ur m|tesstatusen) med last_text_read i ditt
-Membership. Om det visar sig att det finns texter du inte har l{st
-m}ste du g|ra ett get_map f|r att ta reda p} vilket globalt textnummer
-de ol{sta texterna har.
-
-5) Sl} upp varje lokalt textnummer som du inte har l{st i mappen. Du
-f}r ett Text_no. Om du f}r en nolla inneb{r det att den text som hade
-det numret har raderats eller subtraherats fr}n m|tet. Ignorera det
-lokala numret och tag n{sta.
-
-6) N{r du f}r ett textnummer som inte {r noll h{mtar du textstatusen
-och textmassan (sj{lva texten) med get_text_stat och get_text, och
-visar den p} sk{rmen. N{r anv{ndaren har l{st klart texten talar du om
-det f|r servern med mark_as_read (som tar ett m|tesnummer och ett
-Local_text_no som argument och uppdaterar ditt Membership f|r det
-m|tet). Om texten har flera mottagare som du {r medlem i ska du anropa
-mark_as_read en g}ng f|r varje mottagare.
-
-Repetera steg 5 och 6 tills du har l{st ut m|tet. Se till att du
-f|ljer kommentartr{det, om anv{ndaren vill det.
-
-Repetera steg 4 tills allt {r utl{st.
-
-Visa alla markerade.
-
-Se tiden.
-=================================================================
-
-S} g}r det till, grovt sett. Saker och ting kompliceras av att det
-hela tiden skrivs nya texter. Servern skickar ut ett asynkront
-meddelande n{r en ny text skapas (i ett m|te som man {r medlem i). I
-meddelandet finns hela textstatusen (s} att man slipper h{mta den).
-
-En annan grej som g|r det hela komplicerat {r att man g{rna vill att
-klienten ska h{mta saker i f|rv{g n{r man inte har n}got annat att
-g|ra. Man vill att klienten inte ska h{mta samma information mer {n en
-g}ng. Man vill f} upp den f|rsta texten s} snabbt som m|jligt. Man
-vill kunna g|ra Lista Nyheter s} snabbt som m|jligt. Det finns m}nga
-saker man kan optimera p} olika s{tt.
-
-Elispklienten g|r inte riktigt som jag har beskrivit det p} alla
-st{llen, men resultatet blir i princip det samma. En del av anropen
-(t ex get_unread_confs) har vi inf|rt i efterhand f|r att vi m{rkte
-att det var n|dv{ndigt f|r att f} saker och ting att g} n}gorlunda
-snabbt.
-
-Vi har medvetet valt att g|ra s} mycket jobb som m|jligt i klienten,
-och s} lite jobb som m|jligt i servern. Nu, n{r det blev s} att
-klienten {r skriven i elisp, s} skulle vi nog ha f}tt ett snabbare
-system (s{rskilt uppstarten) om servern varit mer intelligent och valt
-i vilken ordning texter ska visas. Systemet {r designat med m}let att
-det inte ska bli l}ngsammare {ven om m}nga klienter kopplar upp sig
-samtidigt, och det m}let har vi nog n}tt. (Att det kan g} l}ngsamt n{r
-5-6 personer k|r sin elispklient p} lysator.liu.se beror inte p}
-svarstiderna fr}n LysKOM-servern, utan p} att emacsarna blir
-l}ngsamma. De som k|r fr}n en obelastad maskin samtidigt m{rker inte
-att det g}r l}ngsamt (skryt, skryt:-)). (Nej, det finns inga m{tningar
-som bekr{ftar det h{r - men jag t{nker m{ta lite responstider senare i
-h|st).
-
-Med en smart klient skriven i c kommer LysKOM att bli snabbt. Om
-c-klienterna k|rs p} varsin maskin (var och en har sin egen
-arbetsstation) tror jag att systemet kommer att klara "tillr{ckligt"
-m}nga anv{ndare. (LysKOM {r ju ett lokalt media. Om hela v{rlden k|rde
-p} samma LysKOM-server i st{llet f|r att skriva news skulle det bli
-olidligt att l{sa LysKOM {ven om man bortser fr}n responstider...)
-
-P}peka g{rna eventuella oklarheter i den h{r texten. Jag t{nker skicka
-med den bland dokumentationen vi har i serverreleasen som vi snart
-g|r, s} jag vill att texten ska vara begriplig...
-(102868) -----------------------------------
diff --git a/fixconfig b/fixconfig
deleted file mode 100755
index 1992589ae..000000000
--- a/fixconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-sed '/^s%@LIBOBJS@%$LIBOBJS%g$/a\
-" $top_srcdir/${file}.in | sed "\
-$prsub\
-$extrasub\
-' config.status \
-|sed 's/^" $top_srcdir.${file}.in >>/" >>/' > config.newstatus
-mv config.newstatus config.status
-chmod +x config.status
diff --git a/foo b/foo
deleted file mode 100644
index e69de29bb..000000000
diff --git a/run-support/start_kom.sh b/run-support/start_kom.sh
deleted file mode 100644
index c18053588..000000000
--- a/run-support/start_kom.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-rm -f @ETCDIR@/status
-if kill -HUP `cat @ETCDIR@/pid`
-then true
-else @BINDIR@/updateLysKOM
-fi
diff --git a/run-support/stop_kom.sh b/run-support/stop_kom.sh
deleted file mode 100644
index c0077434e..000000000
--- a/run-support/stop_kom.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-whoami > @ETCDIR@/status
-echo "$1" >> @ETCDIR@/status
-kill -HUP `cat @ETCDIR@/pid`
diff --git a/run-support/updateLysKOM b/run-support/updateLysKOM
deleted file mode 100644
index d071a5f74..000000000
--- a/run-support/updateLysKOM
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd /usr/lyskom/cores
-/bin/kill -USR1 `/bin/cat /usr/lyskom/etc/pid` 2>/dev/null >/dev/null || /usr/lyskom/bin/lyskomd >>/usr/lyskom/etc/stdout.log 2>>/usr/lyskom/etc/stderr.log &
diff --git a/scripts/Depend.make b/scripts/Depend.make
deleted file mode 100644
index a0468994f..000000000
--- a/scripts/Depend.make
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# $Id: Depend.make,v 0.2 1991/09/15 09:58:55 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-depend:
-	${SED} '/^# OBJECTS: @@@* #$$/q' Makefile	> temp-Makefile
-	echo '# This line is generated by "make depend"'>>temp-Makefile
-	echo -n 'OBJECTS = '				>>temp-Makefile
-	ls *.c | ${AWK} 'BEGIN	{	pos = 10;	}		\
-				{	sub(/\.c$$/, ".o");		\
-					pos += length($$0) + 1;		\
-					if (pos >= 75)			\
-					{	printf("\\\n\t");	\
-						pos = 9 + length($$0);	\
-					}				\
-					printf ("%s ", $$0);		\
-				 }'			>>temp-Makefile
-	echo						>>temp-Makefile
-	${SED} '/^# RULES: @@@* #$$/,/^# DEPENDENCIES: @@@* #$$/!d' \
-		Makefile				>>temp-Makefile
-	echo						>>temp-Makefile
-	gcc -M -DCLIENT ${INCLUDES}  *.c		>>temp-Makefile
-	mv temp-Makefile Makefile
diff --git a/scripts/Makefile b/scripts/Makefile
deleted file mode 100644
index cca9a7eab..000000000
--- a/scripts/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# $Id: Makefile,v 0.8 1991/09/15 09:58:48 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-all:;
-depend:;
-install:;
-includes:;
-libraries:;
-binaries:;
-	
-
-clean:
-	$(RM) $(GENERIC-CLEAN)
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
diff --git a/scripts/Parallell-depend.make b/scripts/Parallell-depend.make
deleted file mode 100644
index 5d369904d..000000000
--- a/scripts/Parallell-depend.make
+++ /dev/null
@@ -1,53 +0,0 @@
-#
-# $Id: Parallell-depend.make,v 0.8 1993/10/16 16:33:06 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-depend: temp-A-Makefile temp-B-Makefile temp-C-Makefile \
-		temp-D-Makefile temp-E-Makefile
-	rm -f dependencies
-	cat temp-?-Makefile >dependencies
-	rm temp-?-Makefile temp-?-files
-	echo depend ready.
-
-temp-A-Makefile: c-indexes 
-	-$(CC) $(DEPENDFLAG) $(CFLAGS) `cat temp-A-files`     >temp-A-Makefile
-
-temp-B-Makefile: c-indexes 
-	-$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-B-files`     >temp-B-Makefile
-
-temp-C-Makefile: c-indexes 
-	-$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-C-files`     >temp-C-Makefile
-
-temp-D-Makefile: c-indexes 
-	-$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-D-files`     >temp-D-Makefile
-
-temp-E-Makefile: c-indexes 
-	-$(CC) $(DEPENDFLAG) ${CFLAGS} `cat temp-E-files`     >temp-E-Makefile
-
-c-indexes: specials
-	ls $(srcdir)/*.c|${AWK} '{ a[i++] = $$1; } \
-	   END { for ( j = 0; j < i; j++ ) \
-		   print a[j] > sprintf("temp-%c-files", 65 + j % 5); }'
-
-dependencies:
-	touch dependencies
diff --git a/scripts/RCS-depend.make b/scripts/RCS-depend.make
deleted file mode 100644
index c003347f3..000000000
--- a/scripts/RCS-depend.make
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# $Id: RCS-depend.make,v 0.2 1991/09/15 09:58:40 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-depend: temp-A-Makefile temp-B-Makefile temp-C-Makefile temp-D-Makefile \
-		temp-E-Makefile
-	rcs -l dependencies
-	rm -f dependencies
-	cat temp-?-Makefile				>dependencies
-	rm temp-?-Makefile temp-?-files
-	echo " " | ci dependencies
-
-temp-A-Makefile: c-indexes
-	gcc -M ${TARGET} ${INCLUDES} `cat temp-A-files`	>temp-A-Makefile
-
-temp-B-Makefile: c-indexes
-	gcc -M ${TARGET} ${INCLUDES} `cat temp-B-files`	>temp-B-Makefile
-
-temp-C-Makefile: c-indexes
-	gcc -M ${TARGET} ${INCLUDES} `cat temp-C-files`	>temp-C-Makefile
-
-temp-D-Makefile: c-indexes
-	gcc -M ${TARGET} ${INCLUDES} `cat temp-D-files`	>temp-D-Makefile
-
-temp-E-Makefile: c-indexes
-	gcc -M ${TARGET} ${INCLUDES} `cat temp-E-files`	>temp-E-Makefile
-
-c-indexes: sources
-	echo ${SRCS}|tr " " \\012 |${AWK} '{ a[i++] = $$1; }				\
-	   END { for ( j = 0; j < i; j++ )				\
-		   print a[j] > sprintf("temp-%c-files", 65 + j % 5); }
diff --git a/scripts/Single-depend.make b/scripts/Single-depend.make
deleted file mode 100644
index a97523dd5..000000000
--- a/scripts/Single-depend.make
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# $Id: Single-depend.make,v 1.6 1993/10/16 16:33:15 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: depend
-depend:
-	$(CC) $(DEPENDFLAG) $(CFLAGS) $(srcdir)/*.c     >dependencies
-
-dependencies:
-	touch dependencies
diff --git a/scripts/import.make b/scripts/import.make
deleted file mode 100644
index 06f8c61c3..000000000
--- a/scripts/import.make
+++ /dev/null
@@ -1,60 +0,0 @@
-# This file is included by all Makefiles in the LysKOM hierarchy.
-# It gives default values for all variables that is normally used. 
-# TOPDIR and SCRIPTDIR must be set before this file is included.
-# If any of the variables are defined in the environment, that value
-# will override the value that is set here.
-#
-# ceder is guilty.
-#
-
-SHELL=/bin/sh
-AWK = gawk
-SED = /usr/bin/sed
-CC = gcc -ansi
-RM = /usr/gnu/bin/rm -vf
-
-INCLUDEDIR	= $(TOPDIR)/include
-LIBDIR		= $(TOPDIR)/lib
-ANSIDIR		= $(INCLUDEDIR)/ansi
-
-INCLUDES = -I$(ANSIDIR) -I$(INCLUDEDIR)
-OPTIMIZE-FLAGS = -O
-MISC-CFLAGS = -g -Wall
-PIPE = -pipe
-
-# -h flag makes NULL pointer references generate runtime errors
-LDFLAGS = -h -L$(LIBDIR)
-
-CFLAGS =  $(INCLUDES)  $(OPTIMIZE-FLAGS)  $(MISC-CFLAGS) $(PIPE) $(TARGET)
-
-# LysKOM executables that the typical user don't use go here.
-# (The server, dbck, et c)
-
-LYSKOMSYSBIN = /usr/lyskom/bin
-
-# User executables (such as lyskom, kompost et c)
-
-LYSKOMUSRBIN = /usr/local/bin
-
-
-
-GENERIC-CLEAN = *~ *.o lib*.a dependencies core TAGS temp-Makefile  \
-	 temp-?-Makefile
-
-# Too ugly... and it swells...
-#
-# EXPORTS = CC="${CC}" SHELL="${SHELL}" AWK="${AWK}" SED="${SED}" 	\
-# 	RM="${RM}" INCLUDEDIR="${INCLUDEDIR}" LIBDIR="${LIBDIR}"	\
-# 	ANSIDIR="${ANSIDIR}" INCLUDES="${INCLUDES}"			\
-# 	OPTIMIZE-FLAGS="${OPTIMIZE-FLAGS}"				\
-# 	MISC-CFLAGS="${MISC-CFLAGS}" PIPE="${PIPE}"			\
-# 	LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}"				\
-# 	LYSKOMSYSBIN="${LYSKOMSYSBIN}" LYSKOMUSRBIN="${LYSKOMUSRBIN}"	\
-# 	TOPDIR="${TOPDIR}" SCRIPTDIR="${SCRIPTDIR}" AR="${AR}" 		\
-# 	ARFLAGS="${ARFLAGS}" GENERIC-CLEAN="${GENERIC-CLEAN}"
-
-EXPORTS =
-
-# The Makefiles also dependes on the variables
-# AR, ARFLAGS
-# that are automatically set by GNU Make.
diff --git a/scripts/install-includes.make b/scripts/install-includes.make
deleted file mode 100644
index 4e3b874de..000000000
--- a/scripts/install-includes.make
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# $Id: install-includes.make,v 1.4 1993/10/10 11:56:49 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: includes
-includes:
-	for i in $(INSTALL-HDRS);\
-	do	\
-		( cmp $(srcdir)/$$i $(INCLUDEDIR)/$$i 2>/dev/null ) \
-		  || ( $(RM) $(INCLUDEDIR)/$$i; \
-			cp $(srcdir)/$$i $(INCLUDEDIR)/$$i; \
-			chmod a-w $(INCLUDEDIR)/$$i ) \
-	done
diff --git a/scripts/sub-binaries.make b/scripts/sub-binaries.make
deleted file mode 100644
index f80cd9fef..000000000
--- a/scripts/sub-binaries.make
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# $Id: sub-binaries.make,v 1.3 1991/09/15 09:58:25 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: binaries
-binaries:
-	-for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making binaries in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) binaries) }	\
-	done
-
diff --git a/scripts/sub-clean.make b/scripts/sub-clean.make
deleted file mode 100644
index c3835023c..000000000
--- a/scripts/sub-clean.make
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# $Id: sub-clean.make,v 1.4 1991/09/15 09:58:22 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: clean
-clean:
-	$(RM) $(GENERIC-CLEAN)
-	-for i in $(SUBDIRS); \
-	do \
-	   [ -d $$i ] && { echo making clean in directory $$i; \
-	   (cd $$i; $(MAKE) $(EXPORTS) clean) } \
-	done
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-	-for i in $(SUBDIRS); \
-	do \
-	   [ -d $$i ] && { echo making distclean in directory $$i; \
-	   (cd $$i; $(MAKE) $(EXPORTS) distclean) } \
-	done
diff --git a/scripts/sub-depend.make b/scripts/sub-depend.make
deleted file mode 100644
index ee2548f89..000000000
--- a/scripts/sub-depend.make
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# $Id: sub-depend.make,v 1.3 1991/09/15 09:58:18 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-dependencies:
-	touch dependencies
-
-.PHONY: depend
-depend:
-	-for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making depend in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) depend) }	\
-	done
diff --git a/scripts/sub-includes.make b/scripts/sub-includes.make
deleted file mode 100644
index 39e3596b9..000000000
--- a/scripts/sub-includes.make
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# $Id: sub-includes.make,v 1.3 1991/09/15 09:58:15 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: includes
-includes:
-	-for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making includes in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) includes) }	\
-	done
diff --git a/scripts/sub-install.make b/scripts/sub-install.make
deleted file mode 100644
index ccf3c82af..000000000
--- a/scripts/sub-install.make
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# $Id: sub-install.make,v 1.3 1991/09/15 09:58:11 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: install
-install:
-	-for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making install in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) install) }	\
-	done
diff --git a/scripts/sub-libraries.make b/scripts/sub-libraries.make
deleted file mode 100644
index dbde07dcc..000000000
--- a/scripts/sub-libraries.make
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# $Id: sub-libraries.make,v 1.3 1991/09/15 09:58:07 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-.PHONY: libraries
-libraries:
-	-for i in $(SUBDIRS) ;	\
-	do	\
-		[ -d $$i ] && { echo making libraries in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) libraries) }	\
-	done
diff --git a/src/Makefile b/src/Makefile
deleted file mode 100644
index 89cd06e93..000000000
--- a/src/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# $Id: Makefile,v 0.8 1991/09/15 09:59:02 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-# All directories that make should traverse to when doing clean etc.
-
-SUBDIRS = include libraries server komutils clients
-
-all: includes libraries binaries
-
-include $(SCRIPTDIR)/sub-includes.make
-include $(SCRIPTDIR)/sub-libraries.make
-include $(SCRIPTDIR)/sub-binaries.make
-include $(SCRIPTDIR)/sub-install.make
-include $(SCRIPTDIR)/sub-clean.make
-include $(SCRIPTDIR)/sub-depend.make
-
-
-
-
-
diff --git a/src/include/Makefile b/src/include/Makefile
deleted file mode 100644
index f223909e5..000000000
--- a/src/include/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# $Id: Makefile,v 0.11 1993/01/16 23:12:32 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-SUBDIRS = ansi server 
-
-INSTALL-HDRS = compiler.h debug.h kom-types.h config.h kom-errno.h \
-	misc-types.h services.h rcs.h
-
-all: includes libraries binaries
-
-libraries:;
-binaries:;
-
-
-.PHONY : includes
-includes:
-	for i in $(INSTALL-HDRS) ; \
-	do	\
-		( cmp $$i $(INCLUDEDIR)/$$i 2>/dev/null ) \
-		  || cp $$i $(INCLUDEDIR)/$$i; \
-	done;
-	for i in $(SUBDIRS); \
-	do	\
-		[ -d $$i ] && ( echo making includes in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) includes); ) \
-	done;
-
-clean:
-	$(RM) $(GENERIC-CLEAN)
-	for i in $(SUBDIRS); \
-	do	\
-		[ -d $$i ] && { echo making clean in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) clean); } \
-	done
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-	for i in $(SUBDIRS); \
-	do	\
-		[ -d $$i ] && { echo making distclean in directory $$i; \
-		(cd $$i; $(MAKE) $(EXPORTS) distclean); } \
-	done
-
-depend:;
diff --git a/src/include/com.h b/src/include/com.h
deleted file mode 100644
index cc1ed5fbf..000000000
--- a/src/include/com.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Don't edit this file! It is generated from fncdef.txt
- * and com-h.awk.
- */
-
-enum call_header {
-    call_fnc_login_old            = 0,
-    call_fnc_logout               = 1,
-    call_fnc_pepsi                = 2,
-    call_fnc_change_name          = 3,
-    call_fnc_change_what_i_am_doing = 4,
-    call_fnc_create_person        = 5,
-    call_fnc_get_person_stat_old  = 6,
-    call_fnc_set_priv_bits        = 7,
-    call_fnc_set_passwd           = 8,
-    call_fnc_query_read_texts     = 9,
-    call_fnc_create_conf          = 10,
-    call_fnc_delete_conf          = 11,
-    call_fnc_lookup_name          = 12,
-    call_fnc_get_conf_stat_old    = 13,
-    call_fnc_add_member           = 14,
-    call_fnc_sub_member           = 15,
-    call_fnc_set_presentation     = 16,
-    call_fnc_set_etc_motd         = 17,
-    call_fnc_set_supervisor       = 18,
-    call_fnc_set_permitted_submitters = 19,
-    call_fnc_set_super_conf       = 20,
-    call_fnc_set_conf_type        = 21,
-    call_fnc_set_garb_nice        = 22,
-    call_fnc_get_marks            = 23,
-    call_fnc_mark_text_old        = 24,
-    call_fnc_get_text             = 25,
-    call_fnc_get_text_stat        = 26,
-    call_fnc_mark_as_read         = 27,
-    call_fnc_create_text          = 28,
-    call_fnc_delete_text          = 29,
-    call_fnc_add_recipient        = 30,
-    call_fnc_sub_recipient        = 31,
-    call_fnc_add_comment          = 32,
-    call_fnc_sub_comment          = 33,
-    call_fnc_get_map              = 34,
-    call_fnc_get_time             = 35,
-    call_fnc_get_info             = 36,
-    call_fnc_add_footnote         = 37,
-    call_fnc_sub_footnote         = 38,
-    call_fnc_who_is_on_old        = 39,
-    call_fnc_set_unread           = 40,
-    call_fnc_set_motd_of_lyskom   = 41,
-    call_fnc_enable               = 42,
-    call_fnc_sync                 = 43,
-    call_fnc_shutdown             = 44,
-    call_fnc_broadcast            = 45,
-    call_fnc_get_membership       = 46,
-    call_fnc_get_created_texts    = 47,
-    call_fnc_get_members          = 48,
-    call_fnc_get_person_stat      = 49,
-    call_fnc_get_conf_stat        = 50,
-    call_fnc_who_is_on            = 51,
-    call_fnc_get_unread_confs     = 52,
-    call_fnc_send_message         = 53,
-    call_fnc_get_session_info     = 54,
-    call_fnc_disconnect           = 55,
-    call_fnc_who_am_i             = 56,
-    call_fnc_set_user_area        = 57,
-    call_fnc_get_last_text        = 58,
-    call_fnc_create_anonymous_text = 59,
-    call_fnc_find_next_text_no    = 60,
-    call_fnc_find_previous_text_no = 61,
-    call_fnc_login                = 62,
-    call_fnc_who_is_on_ident      = 63,
-    call_fnc_get_session_info_ident = 64,
-    call_fnc_re_lookup_person     = 65,
-    call_fnc_re_lookup_conf       = 66,
-    call_fnc_lookup_person        = 67,
-    call_fnc_lookup_conf          = 68,
-    call_fnc_set_client_version   = 69,
-    call_fnc_get_client_name      = 70,
-    call_fnc_get_client_version   = 71,
-    call_fnc_mark_text            = 72,
-    call_fnc_unmark_text          = 73
-};
-
-typedef enum call_header Call_header;
diff --git a/src/include/dependencies b/src/include/dependencies
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/include/server/Makefile b/src/include/server/Makefile
deleted file mode 100644
index d35c56373..000000000
--- a/src/include/server/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# $Id: Makefile,v 0.11 1992/02/10 02:53:56 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-TARGET = -DCLIENT
-
-INSTALL-HDRS = smalloc.h
-
-all: includes libraries binaries
-
-libraries:;
-binaries:;
-
-.PHONY : includes
-includes:
-	-$(MKDIR) $(INCLUDEDIR)/server
-	for i in $(INSTALL-HDRS);\
-	do	\
-		( cmp $$i $(INCLUDEDIR)/server/$$i 2>/dev/null ) \
-		|| cp $$i $(INCLUDEDIR)/server/$$i; \
-	done
-
-clean:
-	$(RM) $(GENERIC-CLEAN)
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-
-depend:;
diff --git a/src/include/server/dependencies b/src/include/server/dependencies
deleted file mode 100644
index e69de29bb..000000000
diff --git a/src/libraries/Makefile b/src/libraries/Makefile
deleted file mode 100644
index 3aef192e3..000000000
--- a/src/libraries/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# $Id: Makefile,v 0.11 1992/12/19 00:25:19 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-# All directories that make should traverse to when doing clean etc.
-# Note that client-support depends on libmisc.
-
-SUBDIRS = libansi libmisc libisc libcommon client-support laclib libisc-new \
-	regex
-
-all: includes libraries binaries
-
-include $(SCRIPTDIR)/sub-includes.make
-include $(SCRIPTDIR)/sub-libraries.make
-include $(SCRIPTDIR)/sub-clean.make
-include $(SCRIPTDIR)/sub-depend.make
-include $(SCRIPTDIR)/sub-install.make
-
-binaries:;
diff --git a/src/libraries/gnumalloc/Makefile b/src/libraries/gnumalloc/Makefile
deleted file mode 100644
index 36f66aa7d..000000000
--- a/src/libraries/gnumalloc/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
-# This file is part of the GNU C Library.
-
-# The GNU C 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.
-
-# The GNU C 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 Library General Public
-# License along with the GNU C Library; see the file COPYING.LIB.  If
-# not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-# Cambridge, MA 02139, USA.
-
-# Makefile for standalone distribution of malloc.
-
-# Use this on System V.
-#CPPFLAGS = -DUSG
-
-.PHONY: all
-all: libmalloc.a gmalloc.o
-
-gmalloc = valloc.c malloc.c free.c cfree.c realloc.c calloc.c morecore.c memalign.c
-sources = valloc.c malloc.c free.c cfree.c realloc.c calloc.c morecore.c memalign.c mcheck.c mtrace.c mstats.c vm-limit.c ralloc.c malloc-find.c
-objects = valloc.o malloc.o free.o cfree.o realloc.o calloc.o morecore.o memalign.o mcheck.o mtrace.o mstats.o vm-limit.o ralloc.o malloc-find.o
-headers = malloc.h
-
-libmalloc.a: $(objects)
-	ar crv $@ $(objects)
-	ranlib $@
-
-$(objects): $(headers)
-
-gmalloc.c: gmalloc-head.c $(headers) $(gmalloc) Makefile
-	cat gmalloc-head.c $(headers) $(gmalloc) > $@-tmp
-	mv -f $@-tmp $@
-# Make it unwritable to avoid accidentally changing the file,
-# since it is generated and any changes would be lost.
-	chmod a-w $@
-
-.c.o:
-	$(CC) $(CFLAGS) $(CPPFLAGS) -I. -c $< $(OUTPUT_OPTION)
-
-.PHONY: clean realclean malloc-clean malloc-realclean
-clean malloc-clean:
-	-rm -f libmalloc.a *.o core
-realclean malloc-realclean: clean
-	-rm -f TAGS tags *~
-
-# For inside the C library.
-malloc.tar malloc.tar.Z: FORCE
-	$(MAKE) -C .. $@
-FORCE:
diff --git a/src/libraries/gnumalloc/gmalloc.c b/src/libraries/gnumalloc/gmalloc.c
deleted file mode 100644
index 859a29709..000000000
--- a/src/libraries/gnumalloc/gmalloc.c
+++ /dev/null
@@ -1,1350 +0,0 @@
-/* DO NOT EDIT THIS FILE -- it is automagically generated.  -*- C -*- */
-
-#define _MALLOC_INTERNAL
-
-/* The malloc headers and source files from the C library follow here.  */
-
-/* Declarations for `malloc' and friends.
-   Copyright 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
-		  Written May 1989 by Mike Haertel.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef _MALLOC_H
-
-#define _MALLOC_H	1
-
-#ifdef _MALLOC_INTERNAL
-
-#ifdef	HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if	defined(_LIBC) || defined(STDC_HEADERS) || defined(USG)
-#include <string.h>
-#else
-#ifndef memset
-#define	memset(s, zero, n)	bzero ((s), (n))
-#endif
-#ifndef memcpy
-#define	memcpy(d, s, n)		bcopy ((s), (d), (n))
-#endif
-#endif
-
-#if	defined (__GNU_LIBRARY__) || (defined (__STDC__) && __STDC__)
-#include <limits.h>
-#else
-#ifndef CHAR_BIT
-#define	CHAR_BIT	8
-#endif
-#endif
-
-#ifdef	HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#endif	/* _MALLOC_INTERNAL.  */
-
-
-#ifdef	__cplusplus
-extern "C"
-{
-#endif
-
-#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
-#undef	__P
-#define	__P(args)	args
-#undef	__ptr_t
-#define	__ptr_t		void *
-#else /* Not C++ or ANSI C.  */
-#undef	__P
-#define	__P(args)	()
-#undef	const
-#define	const
-#undef	__ptr_t
-#define	__ptr_t		char *
-#endif /* C++ or ANSI C.  */
-
-#if defined (__STDC__) && __STDC__
-#include <stddef.h>
-#define	__malloc_size_t		size_t
-#define	__malloc_ptrdiff_t	ptrdiff_t
-#else
-#define	__malloc_size_t		unsigned int
-#define	__malloc_ptrdiff_t	int
-#endif
-
-#ifndef	NULL
-#define	NULL	0
-#endif
-
-
-/* Allocate SIZE bytes of memory.  */
-extern __ptr_t malloc __P ((__malloc_size_t __size));
-/* Re-allocate the previously allocated block
-   in __ptr_t, making the new block SIZE bytes long.  */
-extern __ptr_t realloc __P ((__ptr_t __ptr, __malloc_size_t __size));
-/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0.  */
-extern __ptr_t calloc __P ((__malloc_size_t __nmemb, __malloc_size_t __size));
-/* Free a block allocated by `malloc', `realloc' or `calloc'.  */
-extern void free __P ((__ptr_t __ptr));
-
-/* Allocate SIZE bytes allocated to ALIGNMENT bytes.  */
-extern __ptr_t memalign __P ((__malloc_size_t __alignment,
-			      __malloc_size_t __size));
-
-/* Allocate SIZE bytes on a page boundary.  */
-extern __ptr_t valloc __P ((__malloc_size_t __size));
-
-
-#ifdef _MALLOC_INTERNAL
-
-/* The allocator divides the heap into blocks of fixed size; large
-   requests receive one or more whole blocks, and small requests
-   receive a fragment of a block.  Fragment sizes are powers of two,
-   and all fragments of a block are the same size.  When all the
-   fragments in a block have been freed, the block itself is freed.  */
-#define INT_BIT		(CHAR_BIT * sizeof(int))
-#define BLOCKLOG	(INT_BIT > 16 ? 12 : 9)
-#define BLOCKSIZE	(1 << BLOCKLOG)
-#define BLOCKIFY(SIZE)	(((SIZE) + BLOCKSIZE - 1) / BLOCKSIZE)
-
-/* Determine the amount of memory spanned by the initial heap table
-   (not an absolute limit).  */
-#define HEAP		(INT_BIT > 16 ? 4194304 : 65536)
-
-/* Number of contiguous free blocks allowed to build up at the end of
-   memory before they will be returned to the system.  */
-#define FINAL_FREE_BLOCKS	8
-
-/* Data structure giving per-block information.  */
-typedef union
-  {
-    /* Heap information for a busy block.  */
-    struct
-      {
-	/* Zero for a large (multiblock) object, or positive giving the
-	   logarithm to the base two of the fragment size.  */
-	int type;
-	union
-	  {
-	    struct
-	      {
-		__malloc_size_t nfree; /* Free frags in a fragmented block.  */
-		__malloc_size_t first; /* First free fragment of the block.  */
-	      } frag;
-	    /* For a large object, in its first block, this has the number
-	       of blocks in the object.  In the other blocks, this has a
-	       negative number which says how far back the first block is.  */
-	    __malloc_ptrdiff_t size;
-	  } info;
-      } busy;
-    /* Heap information for a free block
-       (that may be the first of a free cluster).  */
-    struct
-      {
-	__malloc_size_t size;	/* Size (in blocks) of a free cluster.  */
-	__malloc_size_t next;	/* Index of next free cluster.  */
-	__malloc_size_t prev;	/* Index of previous free cluster.  */
-      } free;
-  } malloc_info;
-
-/* Pointer to first block of the heap.  */
-extern char *_heapbase;
-
-/* Table indexed by block number giving per-block information.  */
-extern malloc_info *_heapinfo;
-
-/* Address to block number and vice versa.  */
-#define BLOCK(A)	(((char *) (A) - _heapbase) / BLOCKSIZE + 1)
-#define ADDRESS(B)	((__ptr_t) (((B) - 1) * BLOCKSIZE + _heapbase))
-
-/* Current search index for the heap table.  */
-extern __malloc_size_t _heapindex;
-
-/* Limit of valid info table indices.  */
-extern __malloc_size_t _heaplimit;
-
-/* Doubly linked lists of free fragments.  */
-struct list
-  {
-    struct list *next;
-    struct list *prev;
-  };
-
-/* Free list headers for each fragment size.  */
-extern struct list _fraghead[];
-
-/* List of blocks allocated with `memalign' (or `valloc').  */
-struct alignlist
-  {
-    struct alignlist *next;
-    __ptr_t aligned;		/* The address that memaligned returned.  */
-    __ptr_t exact;		/* The address that malloc returned.  */
-  };
-extern struct alignlist *_aligned_blocks;
-
-/* Instrumentation.  */
-extern __malloc_size_t _chunks_used;
-extern __malloc_size_t _bytes_used;
-extern __malloc_size_t _chunks_free;
-extern __malloc_size_t _bytes_free;
-
-/* Internal version of `free' used in `morecore' (malloc.c). */
-extern void _free_internal __P ((__ptr_t __ptr));
-
-#endif /* _MALLOC_INTERNAL.  */
-
-/* Given an address in the middle of a malloc'd object,
-   return the address of the beginning of the object.  */
-extern __ptr_t malloc_find_object_address __P ((__ptr_t __ptr));
-
-/* Underlying allocation function; successive calls should
-   return contiguous pieces of memory.  */
-extern __ptr_t (*__morecore) __P ((__malloc_ptrdiff_t __size));
-
-/* Default value of `__morecore'.  */
-extern __ptr_t __default_morecore __P ((__malloc_ptrdiff_t __size));
-
-/* If not NULL, this function is called after each time
-   `__morecore' is called to increase the data size.  */
-extern void (*__after_morecore_hook) __P ((void));
-
-/* Nonzero if `malloc' has been called and done its initialization.  */
-extern int __malloc_initialized;
-
-/* Hooks for debugging versions.  */
-extern void (*__malloc_initialize_hook) __P ((void));
-extern void (*__free_hook) __P ((__ptr_t __ptr));
-extern __ptr_t (*__malloc_hook) __P ((__malloc_size_t __size));
-extern __ptr_t (*__realloc_hook) __P ((__ptr_t __ptr, __malloc_size_t __size));
-extern __ptr_t (*__memalign_hook) __P ((__malloc_size_t __size,
-					__malloc_size_t __alignment));
-
-/* Return values for `mprobe': these are the kinds of inconsistencies that
-   `mcheck' enables detection of.  */
-enum mcheck_status
-  {
-    MCHECK_DISABLED = -1,	/* Consistency checking is not turned on.  */
-    MCHECK_OK,			/* Block is fine.  */
-    MCHECK_FREE,		/* Block freed twice.  */
-    MCHECK_HEAD,		/* Memory before the block was clobbered.  */
-    MCHECK_TAIL			/* Memory after the block was clobbered.  */
-  };
-
-/* Activate a standard collection of debugging hooks.  This must be called
-   before `malloc' is ever called.  ABORTFUNC is called with an error code
-   (see enum above) when an inconsistency is detected.  If ABORTFUNC is
-   null, the standard function prints on stderr and then calls `abort'.  */
-extern int mcheck __P ((void (*__abortfunc) __P ((enum mcheck_status))));
-
-/* Check for aberrations in a particular malloc'd block.  You must have
-   called `mcheck' already.  These are the same checks that `mcheck' does
-   when you free or reallocate a block.  */
-extern enum mcheck_status mprobe __P ((__ptr_t __ptr));
-
-/* Activate a standard collection of tracing hooks.  */
-extern void mtrace __P ((void));
-extern void muntrace __P ((void));
-
-/* Statistics available to the user.  */
-struct mstats
-  {
-    __malloc_size_t bytes_total; /* Total size of the heap. */
-    __malloc_size_t chunks_used; /* Chunks allocated by the user. */
-    __malloc_size_t bytes_used;	/* Byte total of user-allocated chunks. */
-    __malloc_size_t chunks_free; /* Chunks in the free list. */
-    __malloc_size_t bytes_free;	/* Byte total of chunks in the free list. */
-  };
-
-/* Pick up the current statistics. */
-extern struct mstats mstats __P ((void));
-
-/* Call WARNFUN with a warning message when memory usage is high.  */
-extern void memory_warnings __P ((__ptr_t __start,
-				  void (*__warnfun) __P ((const char *))));
-
-
-/* Relocating allocator.  */
-
-/* Allocate SIZE bytes, and store the address in *HANDLEPTR.  */
-extern __ptr_t r_alloc __P ((__ptr_t *__handleptr, __malloc_size_t __size));
-
-/* Free the storage allocated in HANDLEPTR.  */
-extern void r_alloc_free __P ((__ptr_t *__handleptr));
-
-/* Adjust the block at HANDLEPTR to be SIZE bytes long.  */
-extern __ptr_t r_re_alloc __P ((__ptr_t *__handleptr, __malloc_size_t __size));
-
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif /* malloc.h  */
-/* Allocate memory on a page boundary.
-   Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#if defined (__GNU_LIBRARY__) || defined (_LIBC)
-#include <stddef.h>
-#include <sys/cdefs.h>
-extern size_t __getpagesize __P ((void));
-#else
-#include "getpagesize.h"
-#define	 __getpagesize()	getpagesize()
-#endif
-
-#ifndef	_MALLOC_INTERNAL
-#define	_MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-static __malloc_size_t pagesize;
-
-__ptr_t
-valloc (size)
-     __malloc_size_t size;
-{
-  if (pagesize == 0)
-    pagesize = __getpagesize ();
-
-  return memalign (pagesize, size);
-}
-/* Memory allocator `malloc'.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-		  Written May 1989 by Mike Haertel.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define _MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-/* How to really get more memory.  */
-__ptr_t (*__morecore) __P ((ptrdiff_t __size)) = __default_morecore;
-
-/* Debugging hook for `malloc'.  */
-__ptr_t (*__malloc_hook) __P ((__malloc_size_t __size));
-
-/* Pointer to the base of the first block.  */
-char *_heapbase;
-
-/* Block information table.  Allocated with align/__free (not malloc/free).  */
-malloc_info *_heapinfo;
-
-/* Number of info entries.  */
-static __malloc_size_t heapsize;
-
-/* Search index in the info table.  */
-__malloc_size_t _heapindex;
-
-/* Limit of valid info table indices.  */
-__malloc_size_t _heaplimit;
-
-/* Free lists for each fragment size.  */
-struct list _fraghead[BLOCKLOG];
-
-/* Instrumentation.  */
-__malloc_size_t _chunks_used;
-__malloc_size_t _bytes_used;
-__malloc_size_t _chunks_free;
-__malloc_size_t _bytes_free;
-
-/* Are you experienced?  */
-int __malloc_initialized;
-
-void (*__malloc_initialize_hook) __P ((void));
-void (*__after_morecore_hook) __P ((void));
-
-/* Aligned allocation.  */
-static __ptr_t align __P ((__malloc_size_t));
-static __ptr_t
-align (size)
-     __malloc_size_t size;
-{
-  __ptr_t result;
-  unsigned long int adj;
-
-  result = (*__morecore) (size);
-  adj = (unsigned long int) ((unsigned long int) ((char *) result -
-						  (char *) NULL)) % BLOCKSIZE;
-  if (adj != 0)
-    {
-      adj = BLOCKSIZE - adj;
-      (void) (*__morecore) (adj);
-      result = (char *) result + adj;
-    }
-
-  if (__after_morecore_hook)
-    (*__after_morecore_hook) ();
-
-  return result;
-}
-
-/* Set everything up and remember that we have.  */
-static int initialize __P ((void));
-static int
-initialize ()
-{
-  if (__malloc_initialize_hook)
-    (*__malloc_initialize_hook) ();
-
-  heapsize = HEAP / BLOCKSIZE;
-  _heapinfo = (malloc_info *) align (heapsize * sizeof (malloc_info));
-  if (_heapinfo == NULL)
-    return 0;
-  memset (_heapinfo, 0, heapsize * sizeof (malloc_info));
-  _heapinfo[0].free.size = 0;
-  _heapinfo[0].free.next = _heapinfo[0].free.prev = 0;
-  _heapindex = 0;
-  _heapbase = (char *) _heapinfo;
-
-  /* Account for the _heapinfo block itself in the statistics.  */
-  _bytes_used = heapsize * sizeof (malloc_info);
-  _chunks_used = 1;
-
-  __malloc_initialized = 1;
-  return 1;
-}
-
-/* Get neatly aligned memory, initializing or
-   growing the heap info table as necessary. */
-static __ptr_t morecore __P ((__malloc_size_t));
-static __ptr_t
-morecore (size)
-     __malloc_size_t size;
-{
-  __ptr_t result;
-  malloc_info *newinfo, *oldinfo;
-  __malloc_size_t newsize;
-
-  result = align (size);
-  if (result == NULL)
-    return NULL;
-
-  /* Check if we need to grow the info table.  */
-  if ((__malloc_size_t) BLOCK ((char *) result + size) > heapsize)
-    {
-      newsize = heapsize;
-      while ((__malloc_size_t) BLOCK ((char *) result + size) > newsize)
-	newsize *= 2;
-      newinfo = (malloc_info *) align (newsize * sizeof (malloc_info));
-      if (newinfo == NULL)
-	{
-	  (*__morecore) (-size);
-	  return NULL;
-	}
-      memcpy (newinfo, _heapinfo, heapsize * sizeof (malloc_info));
-      memset (&newinfo[heapsize], 0,
-	      (newsize - heapsize) * sizeof (malloc_info));
-      oldinfo = _heapinfo;
-      newinfo[BLOCK (oldinfo)].busy.type = 0;
-      newinfo[BLOCK (oldinfo)].busy.info.size
-	= BLOCKIFY (heapsize * sizeof (malloc_info));
-      _heapinfo = newinfo;
-      /* Account for the _heapinfo block itself in the statistics.  */
-      _bytes_used += newsize * sizeof (malloc_info);
-      ++_chunks_used;
-      _free_internal (oldinfo);
-      heapsize = newsize;
-    }
-
-  _heaplimit = BLOCK ((char *) result + size);
-  return result;
-}
-
-/* Allocate memory from the heap.  */
-__ptr_t
-malloc (size)
-     __malloc_size_t size;
-{
-  __ptr_t result;
-  __malloc_size_t block, blocks, lastblocks, start;
-  register __malloc_size_t i;
-  struct list *next;
-
-  /* ANSI C allows `malloc (0)' to either return NULL, or to return a
-     valid address you can realloc and free (though not dereference).
-
-     It turns out that some extant code (sunrpc, at least Ultrix's version)
-     expects `malloc (0)' to return non-NULL and breaks otherwise.
-     Be compatible.  */
-
-#if	0
-  if (size == 0)
-    return NULL;
-#endif
-
-  if (__malloc_hook != NULL)
-    return (*__malloc_hook) (size);
-
-  if (!__malloc_initialized)
-    if (!initialize ())
-      return NULL;
-
-  if (size < sizeof (struct list))
-    size = sizeof (struct list);
-
-#ifdef SUNOS_LOCALTIME_BUG
-  if (size < 16)
-    size = 16;
-#endif
-
-  /* Determine the allocation policy based on the request size.  */
-  if (size <= BLOCKSIZE / 2)
-    {
-      /* Small allocation to receive a fragment of a block.
-	 Determine the logarithm to base two of the fragment size. */
-      register __malloc_size_t log = 1;
-      --size;
-      while ((size /= 2) != 0)
-	++log;
-
-      /* Look in the fragment lists for a
-	 free fragment of the desired size. */
-      next = _fraghead[log].next;
-      if (next != NULL)
-	{
-	  /* There are free fragments of this size.
-	     Pop a fragment out of the fragment list and return it.
-	     Update the block's nfree and first counters. */
-	  result = (__ptr_t) next;
-	  next->prev->next = next->next;
-	  if (next->next != NULL)
-	    next->next->prev = next->prev;
-	  block = BLOCK (result);
-	  if (--_heapinfo[block].busy.info.frag.nfree != 0)
-	    _heapinfo[block].busy.info.frag.first = (unsigned long int)
-	      ((unsigned long int) ((char *) next->next - (char *) NULL)
-	       % BLOCKSIZE) >> log;
-
-	  /* Update the statistics.  */
-	  ++_chunks_used;
-	  _bytes_used += 1 << log;
-	  --_chunks_free;
-	  _bytes_free -= 1 << log;
-	}
-      else
-	{
-	  /* No free fragments of the desired size, so get a new block
-	     and break it into fragments, returning the first.  */
-	  result = malloc (BLOCKSIZE);
-	  if (result == NULL)
-	    return NULL;
-
-	  /* Link all fragments but the first into the free list.  */
-	  for (i = 1; i < (__malloc_size_t) (BLOCKSIZE >> log); ++i)
-	    {
-	      next = (struct list *) ((char *) result + (i << log));
-	      next->next = _fraghead[log].next;
-	      next->prev = &_fraghead[log];
-	      next->prev->next = next;
-	      if (next->next != NULL)
-		next->next->prev = next;
-	    }
-
-	  /* Initialize the nfree and first counters for this block.  */
-	  block = BLOCK (result);
-	  _heapinfo[block].busy.type = log;
-	  _heapinfo[block].busy.info.frag.nfree = i - 1;
-	  _heapinfo[block].busy.info.frag.first = i - 1;
-
-	  _chunks_free += (BLOCKSIZE >> log) - 1;
-	  _bytes_free += BLOCKSIZE - (1 << log);
-	  _bytes_used -= BLOCKSIZE - (1 << log);
-	}
-    }
-  else
-    {
-      /* Large allocation to receive one or more blocks.
-	 Search the free list in a circle starting at the last place visited.
-	 If we loop completely around without finding a large enough
-	 space we will have to get more memory from the system.  */
-      blocks = BLOCKIFY (size);
-      start = block = _heapindex;
-      while (_heapinfo[block].free.size < blocks)
-	{
-	  block = _heapinfo[block].free.next;
-	  if (block == start)
-	    {
-	      /* Need to get more from the system.  Check to see if
-		 the new core will be contiguous with the final free
-		 block; if so we don't need to get as much.  */
-	      block = _heapinfo[0].free.prev;
-	      lastblocks = _heapinfo[block].free.size;
-	      if (_heaplimit != 0 && block + lastblocks == _heaplimit &&
-		  (*__morecore) (0) == ADDRESS (block + lastblocks) &&
-		  (morecore ((blocks - lastblocks) * BLOCKSIZE)) != NULL)
-		{
- 		  /* Which block we are extending (the `final free
- 		     block' referred to above) might have changed, if
- 		     it got combined with a freed info table.  */
- 		  block = _heapinfo[0].free.prev;
-  		  _heapinfo[block].free.size += (blocks - lastblocks);
-		  _bytes_free += (blocks - lastblocks) * BLOCKSIZE;
-		  continue;
-		}
-	      result = morecore (blocks * BLOCKSIZE);
-	      if (result == NULL)
-		return NULL;
-	      block = BLOCK (result);
-	      _heapinfo[block].busy.type = 0;
-	      _heapinfo[block].busy.info.size = blocks;
-	      ++_chunks_used;
-	      _bytes_used += blocks * BLOCKSIZE;
-	      return result;
-	    }
-	}
-
-      /* At this point we have found a suitable free list entry.
-	 Figure out how to remove what we need from the list. */
-      result = ADDRESS (block);
-      if (_heapinfo[block].free.size > blocks)
-	{
-	  /* The block we found has a bit left over,
-	     so relink the tail end back into the free list. */
-	  _heapinfo[block + blocks].free.size
-	    = _heapinfo[block].free.size - blocks;
-	  _heapinfo[block + blocks].free.next
-	    = _heapinfo[block].free.next;
-	  _heapinfo[block + blocks].free.prev
-	    = _heapinfo[block].free.prev;
-	  _heapinfo[_heapinfo[block].free.prev].free.next
-	    = _heapinfo[_heapinfo[block].free.next].free.prev
-	    = _heapindex = block + blocks;
-	}
-      else
-	{
-	  /* The block exactly matches our requirements,
-	     so just remove it from the list. */
-	  _heapinfo[_heapinfo[block].free.next].free.prev
-	    = _heapinfo[block].free.prev;
-	  _heapinfo[_heapinfo[block].free.prev].free.next
-	    = _heapindex = _heapinfo[block].free.next;
-	  --_chunks_free;
-	}
-
-      _heapinfo[block].busy.type = 0;
-      _heapinfo[block].busy.info.size = blocks;
-      ++_chunks_used;
-      _bytes_used += blocks * BLOCKSIZE;
-      _bytes_free -= blocks * BLOCKSIZE;
-
-      /* Mark all the blocks of the object just allocated except for the
-	 first with a negative number so you can find the first block by
-	 adding that adjustment.  */
-      while (--blocks > 0)
-	_heapinfo[block + blocks].busy.info.size = -blocks;
-    }
-
-  return result;
-}
-
-#ifndef _LIBC
-
-/* On some ANSI C systems, some libc functions call _malloc, _free
-   and _realloc.  Make them use the GNU functions.  */
-
-__ptr_t
-_malloc (size)
-     __malloc_size_t size;
-{
-  return malloc (size);
-}
-
-void
-_free (ptr)
-     __ptr_t ptr;
-{
-  free (ptr);
-}
-
-__ptr_t
-_realloc (ptr, size)
-     __ptr_t ptr;
-     __malloc_size_t size;
-{
-  return realloc (ptr, size);
-}
-
-#endif
-/* Free a block of memory allocated by `malloc'.
-   Copyright 1990, 1991, 1992, 1994 Free Software Foundation, Inc.
-		  Written May 1989 by Mike Haertel.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define _MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-/* Debugging hook for free.  */
-void (*__free_hook) __P ((__ptr_t __ptr));
-
-/* List of blocks allocated by memalign.  */
-struct alignlist *_aligned_blocks = NULL;
-
-/* Return memory to the heap.
-   Like `free' but don't call a __free_hook if there is one.  */
-void
-_free_internal (ptr)
-     __ptr_t ptr;
-{
-  int type;
-  __malloc_size_t block, blocks;
-  register __malloc_size_t i;
-  struct list *prev, *next;
-
-  block = BLOCK (ptr);
-
-  type = _heapinfo[block].busy.type;
-  switch (type)
-    {
-    case 0:
-      /* Get as many statistics as early as we can.  */
-      --_chunks_used;
-      _bytes_used -= _heapinfo[block].busy.info.size * BLOCKSIZE;
-      _bytes_free += _heapinfo[block].busy.info.size * BLOCKSIZE;
-
-      /* Find the free cluster previous to this one in the free list.
-	 Start searching at the last block referenced; this may benefit
-	 programs with locality of allocation.  */
-      i = _heapindex;
-      if (i > block)
-	while (i > block)
-	  i = _heapinfo[i].free.prev;
-      else
-	{
-	  do
-	    i = _heapinfo[i].free.next;
-	  while (i > 0 && i < block);
-	  i = _heapinfo[i].free.prev;
-	}
-
-      /* Determine how to link this block into the free list.  */
-      if (block == i + _heapinfo[i].free.size)
-	{
-	  /* Coalesce this block with its predecessor.  */
-	  _heapinfo[i].free.size += _heapinfo[block].busy.info.size;
-	  block = i;
-	}
-      else
-	{
-	  /* Really link this block back into the free list.  */
-	  _heapinfo[block].free.size = _heapinfo[block].busy.info.size;
-	  _heapinfo[block].free.next = _heapinfo[i].free.next;
-	  _heapinfo[block].free.prev = i;
-	  _heapinfo[i].free.next = block;
-	  _heapinfo[_heapinfo[block].free.next].free.prev = block;
-	  ++_chunks_free;
-	}
-
-      /* Now that the block is linked in, see if we can coalesce it
-	 with its successor (by deleting its successor from the list
-	 and adding in its size).  */
-      if (block + _heapinfo[block].free.size == _heapinfo[block].free.next)
-	{
-	  _heapinfo[block].free.size
-	    += _heapinfo[_heapinfo[block].free.next].free.size;
-	  _heapinfo[block].free.next
-	    = _heapinfo[_heapinfo[block].free.next].free.next;
-	  _heapinfo[_heapinfo[block].free.next].free.prev = block;
-	  --_chunks_free;
-	}
-
-      /* Now see if we can return stuff to the system.  */
-      blocks = _heapinfo[block].free.size;
-      if (blocks >= FINAL_FREE_BLOCKS && block + blocks == _heaplimit
-	  && (*__morecore) (0) == ADDRESS (block + blocks))
-	{
-	  register __malloc_size_t bytes = blocks * BLOCKSIZE;
-	  _heaplimit -= blocks;
-	  (*__morecore) (-bytes);
-	  _heapinfo[_heapinfo[block].free.prev].free.next
-	    = _heapinfo[block].free.next;
-	  _heapinfo[_heapinfo[block].free.next].free.prev
-	    = _heapinfo[block].free.prev;
-	  block = _heapinfo[block].free.prev;
-	  --_chunks_free;
-	  _bytes_free -= bytes;
-	}
-
-      /* Set the next search to begin at this block.  */
-      _heapindex = block;
-      break;
-
-    default:
-      /* Do some of the statistics.  */
-      --_chunks_used;
-      _bytes_used -= 1 << type;
-      ++_chunks_free;
-      _bytes_free += 1 << type;
-
-      /* Get the address of the first free fragment in this block.  */
-      prev = (struct list *) ((char *) ADDRESS (block) +
-			   (_heapinfo[block].busy.info.frag.first << type));
-
-      if (_heapinfo[block].busy.info.frag.nfree == (BLOCKSIZE >> type) - 1)
-	{
-	  /* If all fragments of this block are free, remove them
-	     from the fragment list and free the whole block.  */
-	  next = prev;
-	  for (i = 1; i < (__malloc_size_t) (BLOCKSIZE >> type); ++i)
-	    next = next->next;
-	  prev->prev->next = next;
-	  if (next != NULL)
-	    next->prev = prev->prev;
-	  _heapinfo[block].busy.type = 0;
-	  _heapinfo[block].busy.info.size = 1;
-
-	  /* Keep the statistics accurate.  */
-	  ++_chunks_used;
-	  _bytes_used += BLOCKSIZE;
-	  _chunks_free -= BLOCKSIZE >> type;
-	  _bytes_free -= BLOCKSIZE;
-
-	  free (ADDRESS (block));
-	}
-      else if (_heapinfo[block].busy.info.frag.nfree != 0)
-	{
-	  /* If some fragments of this block are free, link this
-	     fragment into the fragment list after the first free
-	     fragment of this block. */
-	  next = (struct list *) ptr;
-	  next->next = prev->next;
-	  next->prev = prev;
-	  prev->next = next;
-	  if (next->next != NULL)
-	    next->next->prev = next;
-	  ++_heapinfo[block].busy.info.frag.nfree;
-	}
-      else
-	{
-	  /* No fragments of this block are free, so link this
-	     fragment into the fragment list and announce that
-	     it is the first free fragment of this block. */
-	  prev = (struct list *) ptr;
-	  _heapinfo[block].busy.info.frag.nfree = 1;
-	  _heapinfo[block].busy.info.frag.first = (unsigned long int)
-	    ((unsigned long int) ((char *) ptr - (char *) NULL)
-	     % BLOCKSIZE >> type);
-	  prev->next = _fraghead[type].next;
-	  prev->prev = &_fraghead[type];
-	  prev->prev->next = prev;
-	  if (prev->next != NULL)
-	    prev->next->prev = prev;
-	}
-      break;
-    }
-}
-
-/* Return memory to the heap.  */
-void
-free (ptr)
-     __ptr_t ptr;
-{
-  register struct alignlist *l;
-
-  if (ptr == NULL)
-    return;
-
-  for (l = _aligned_blocks; l != NULL; l = l->next)
-    if (l->aligned == ptr)
-      {
-	l->aligned = NULL;	/* Mark the slot in the list as free.  */
-	ptr = l->exact;
-	break;
-      }
-
-  if (__free_hook != NULL)
-    (*__free_hook) (ptr);
-  else
-    _free_internal (ptr);
-}
-/* Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C 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.
-
-The GNU C 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 Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define _MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-#ifdef _LIBC
-
-#include <ansidecl.h>
-#include <gnu-stabs.h>
-
-#undef	cfree
-
-function_alias(cfree, free, void, (ptr),
-	       DEFUN(cfree, (ptr), PTR ptr))
-
-#else
-
-void
-cfree (ptr)
-     __ptr_t ptr;
-{
-  free (ptr);
-}
-
-#endif
-/* Change the size of a block allocated by `malloc'.
-   Copyright 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
-		     Written May 1989 by Mike Haertel.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define _MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-#if  (defined (MEMMOVE_MISSING) || \
-      !defined(_LIBC) && !defined(STDC_HEADERS) && !defined(USG))
-
-/* Snarfed directly from Emacs src/dispnew.c:
-   XXX Should use system bcopy if it handles overlap.  */
-#ifndef emacs
-
-/* Like bcopy except never gets confused by overlap.  */
-
-static void
-safe_bcopy (from, to, size)
-     char *from, *to;
-     int size;
-{
-  if (size <= 0 || from == to)
-    return;
-
-  /* If the source and destination don't overlap, then bcopy can
-     handle it.  If they do overlap, but the destination is lower in
-     memory than the source, we'll assume bcopy can handle that.  */
-  if (to < from || from + size <= to)
-    bcopy (from, to, size);
-
-  /* Otherwise, we'll copy from the end.  */
-  else
-    {
-      register char *endf = from + size;
-      register char *endt = to + size;
-
-      /* If TO - FROM is large, then we should break the copy into
-	 nonoverlapping chunks of TO - FROM bytes each.  However, if
-	 TO - FROM is small, then the bcopy function call overhead
-	 makes this not worth it.  The crossover point could be about
-	 anywhere.  Since I don't think the obvious copy loop is too
-	 bad, I'm trying to err in its favor.  */
-      if (to - from < 64)
-	{
-	  do
-	    *--endt = *--endf;
-	  while (endf != from);
-	}
-      else
-	{
-	  for (;;)
-	    {
-	      endt -= (to - from);
-	      endf -= (to - from);
-
-	      if (endt < to)
-		break;
-
-	      bcopy (endf, endt, to - from);
-	    }
-
-	  /* If SIZE wasn't a multiple of TO - FROM, there will be a
-	     little left over.  The amount left over is
-	     (endt + (to - from)) - to, which is endt - from.  */
-	  bcopy (from, to, endt - from);
-	}
-    }
-}     
-#endif	/* Not emacs.  */
-
-#define memmove(to, from, size) safe_bcopy ((from), (to), (size))
-
-#endif
-
-
-#define min(A, B) ((A) < (B) ? (A) : (B))
-
-/* Debugging hook for realloc.  */
-__ptr_t (*__realloc_hook) __P ((__ptr_t __ptr, __malloc_size_t __size));
-
-/* Resize the given region to the new size, returning a pointer
-   to the (possibly moved) region.  This is optimized for speed;
-   some benchmarks seem to indicate that greater compactness is
-   achieved by unconditionally allocating and copying to a
-   new region.  This module has incestuous knowledge of the
-   internals of both free and malloc. */
-__ptr_t
-realloc (ptr, size)
-     __ptr_t ptr;
-     __malloc_size_t size;
-{
-  __ptr_t result;
-  int type;
-  __malloc_size_t block, blocks, oldlimit;
-
-  if (size == 0)
-    {
-      free (ptr);
-      return malloc (0);
-    }
-  else if (ptr == NULL)
-    return malloc (size);
-
-  if (__realloc_hook != NULL)
-    return (*__realloc_hook) (ptr, size);
-
-  block = BLOCK (ptr);
-
-  type = _heapinfo[block].busy.type;
-  switch (type)
-    {
-    case 0:
-      /* Maybe reallocate a large block to a small fragment.  */
-      if (size <= BLOCKSIZE / 2)
-	{
-	  result = malloc (size);
-	  if (result != NULL)
-	    {
-	      memcpy (result, ptr, size);
-	      _free_internal (ptr);
-	      return result;
-	    }
-	}
-
-      /* The new size is a large allocation as well;
-	 see if we can hold it in place. */
-      blocks = BLOCKIFY (size);
-      if (blocks < _heapinfo[block].busy.info.size)
-	{
-	  /* The new size is smaller; return
-	     excess memory to the free list. */
-	  _heapinfo[block + blocks].busy.type = 0;
-	  _heapinfo[block + blocks].busy.info.size
-	    = _heapinfo[block].busy.info.size - blocks;
-	  _heapinfo[block].busy.info.size = blocks;
-	  /* We have just created a new chunk by splitting a chunk in two.
-	     Now we will free this chunk; increment the statistics counter
-	     so it doesn't become wrong when _free_internal decrements it.  */
-	  ++_chunks_used;
-	  _free_internal (ADDRESS (block + blocks));
-	  result = ptr;
-	}
-      else if (blocks == _heapinfo[block].busy.info.size)
-	/* No size change necessary.  */
-	result = ptr;
-      else
-	{
-	  /* Won't fit, so allocate a new region that will.
-	     Free the old region first in case there is sufficient
-	     adjacent free space to grow without moving. */
-	  blocks = _heapinfo[block].busy.info.size;
-	  /* Prevent free from actually returning memory to the system.  */
-	  oldlimit = _heaplimit;
-	  _heaplimit = 0;
-	  _free_internal (ptr);
-	  _heaplimit = oldlimit;
-	  result = malloc (size);
-	  if (result == NULL)
-	    {
-	      /* Now we're really in trouble.  We have to unfree
-		 the thing we just freed.  Unfortunately it might
-		 have been coalesced with its neighbors.  */
-	      if (_heapindex == block)
-	        (void) malloc (blocks * BLOCKSIZE);
-	      else
-		{
-		  __ptr_t previous = malloc ((block - _heapindex) * BLOCKSIZE);
-		  (void) malloc (blocks * BLOCKSIZE);
-		  _free_internal (previous);
-		}
-	      return NULL;
-	    }
-	  if (ptr != result)
-	    memmove (result, ptr, blocks * BLOCKSIZE);
-	}
-      break;
-
-    default:
-      /* Old size is a fragment; type is logarithm
-	 to base two of the fragment size.  */
-      if (size > (__malloc_size_t) (1 << (type - 1)) &&
-	  size <= (__malloc_size_t) (1 << type))
-	/* The new size is the same kind of fragment.  */
-	result = ptr;
-      else
-	{
-	  /* The new size is different; allocate a new space,
-	     and copy the lesser of the new size and the old. */
-	  result = malloc (size);
-	  if (result == NULL)
-	    return NULL;
-	  memcpy (result, ptr, min (size, (__malloc_size_t) 1 << type));
-	  free (ptr);
-	}
-      break;
-    }
-
-  return result;
-}
-/* Copyright (C) 1991, 1992, 1994 Free Software Foundation, Inc.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.
-
-   The author may be reached (Email) at the address mike@ai.mit.edu,
-   or (US mail) as Mike Haertel c/o Free Software Foundation.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define	_MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-/* Allocate an array of NMEMB elements each SIZE bytes long.
-   The entire array is initialized to zeros.  */
-__ptr_t
-calloc (nmemb, size)
-     register __malloc_size_t nmemb;
-     register __malloc_size_t size;
-{
-  register __ptr_t result = malloc (nmemb * size);
-
-  if (result != NULL)
-    (void) memset (result, 0, nmemb * size);
-
-  return result;
-}
-/* Copyright (C) 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
-
-The GNU C Library 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, or (at your option)
-any later version.
-
-The GNU C 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 General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with the GNU C Library; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define	_MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-#ifndef	__GNU_LIBRARY__
-#define	__sbrk	sbrk
-#endif
-
-#ifdef __GNU_LIBRARY__
-/* It is best not to declare this and cast its result on foreign operating
-   systems with potentially hostile include files.  */
-extern __ptr_t __sbrk __P ((int increment));
-#endif
-
-#ifndef NULL
-#define NULL 0
-#endif
-
-/* Allocate INCREMENT more bytes of data space,
-   and return the start of data space, or NULL on errors.
-   If INCREMENT is negative, shrink data space.  */
-__ptr_t
-__default_morecore (increment)
-#ifdef __STDC__
-     ptrdiff_t increment;
-#else
-     int increment;
-#endif
-{
-  __ptr_t result = (__ptr_t) __sbrk ((int) increment);
-  if (result == (__ptr_t) -1)
-    return NULL;
-  return result;
-}
-/* Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
-
-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 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 Library General Public
-License along with this library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#ifndef	_MALLOC_INTERNAL
-#define _MALLOC_INTERNAL
-#include <malloc.h>
-#endif
-
-__ptr_t (*__memalign_hook) __P ((size_t __size, size_t __alignment));
-
-__ptr_t
-memalign (alignment, size)
-     __malloc_size_t alignment;
-     __malloc_size_t size;
-{
-  __ptr_t result;
-  unsigned long int adj;
-
-  if (__memalign_hook)
-    return (*__memalign_hook) (alignment, size);
-
-  size = ((size + alignment - 1) / alignment) * alignment;
-
-  result = malloc (size);
-  if (result == NULL)
-    return NULL;
-  adj = (unsigned long int) ((unsigned long int) ((char *) result -
-						  (char *) NULL)) % alignment;
-  if (adj != 0)
-    {
-      struct alignlist *l;
-      for (l = _aligned_blocks; l != NULL; l = l->next)
-	if (l->aligned == NULL)
-	  /* This slot is free.  Use it.  */
-	  break;
-      if (l == NULL)
-	{
-	  l = (struct alignlist *) malloc (sizeof (struct alignlist));
-	  if (l == NULL)
-	    {
-	      free (result);
-	      return NULL;
-	    }
-	  l->next = _aligned_blocks;
-	  _aligned_blocks = l;
-	}
-      l->exact = result;
-      result = l->aligned = (char *) result + alignment - adj;
-    }
-
-  return result;
-}
diff --git a/src/libraries/libansi/Makefile b/src/libraries/libansi/Makefile
deleted file mode 100644
index b809cba6a..000000000
--- a/src/libraries/libansi/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-#
-# $Id: Makefile,v 0.14 1992/04/14 19:20:21 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-LIBNAME = libansi$(PROFILE-LIB-SUFFIX).a
-
-LIBOBJS = strerror.o vprintf.o
-
-all:	$(LIBNAME)
-
-$(LIBNAME): $(LIBOBJS)
-	$(AR) $(ARFLAGS) $(LIBNAME) $?
-	$(RANLIB) $(LIBNAME)
-
-includes:;
-
-libraries: $(LIBNAME)
-	$(RM) $(LIBDIR)/$(LIBNAME)
-	cp $(LIBNAME) $(LIBDIR)/$(LIBNAME)
-	$(RANLIB) $(LIBDIR)/$(LIBNAME)
-
-binaries:;
-
-clean:
-	$(RM) ${LIBOBJS} $(GENERIC-CLEAN)
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-
-
-# Recreate the Makefile
-include $(SCRIPTDIR)/Single-depend.make
-
-
-tags:
-	etags -t *.[hc]	
-
-include dependencies
diff --git a/src/libraries/libansi/config.h b/src/libraries/libansi/config.h
deleted file mode 100644
index 80afad665..000000000
--- a/src/libraries/libansi/config.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-** config.h
-**
-** System: SunOS 4.1.1
-*/
-
-
-/* #define HAVE_STRERROR */
diff --git a/src/libraries/libansi/dependencies b/src/libraries/libansi/dependencies
deleted file mode 100644
index 00b32730b..000000000
--- a/src/libraries/libansi/dependencies
+++ /dev/null
@@ -1 +0,0 @@
-strerror.o : strerror.c config.h 
diff --git a/src/libraries/libansi/difftime.c b/src/libraries/libansi/difftime.c
deleted file mode 100644
index b3b65a3df..000000000
--- a/src/libraries/libansi/difftime.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * $Id: difftime.c,v 1.3 1994/03/06 19:41:33 ceder Exp $
- * Copyright (C) 1993, 1994  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-
-static char *rcsid = "$Id: difftime.c,v 1.3 1994/03/06 19:41:33 ceder Exp $";
-#include "rcs.h"
-USE(rcsid);
-
-#include <time.h>
-#include <sys/types.h>		/* Needed for time_t on dynix.*/
-#include "tmp-difftime.h"
-
-extern double
-difftime(time_t t1, time_t t2)
-{
-    return (double) t1 - (double) t2;
-}
diff --git a/src/libraries/libansi/libansi.a b/src/libraries/libansi/libansi.a
deleted file mode 100644
index da20a4f3e62e290cd2381b772fd4d11db21625e9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1280
zcmaKrzl#$=6vyA@;$4gfo)M1|ELKsFgNr+x{gvH|1pHBnTp@On<nkNhZrI%jTIEDU
zusKw&6U10(XK$g1U@Q0s7_hO^%F_7W%qE#wI56`*^PTtJ%)Hq>y<H3Ior~Eh4x3>Z
zg!w?_&9ZGxW2WxljOh%=f=LTZ(=5y4noe_7t!9-aWd#5_*r{y*D6a&<1F}~rv3jmS
z{QUd-{bvUN%R^XEaK4273shnFa+pCaOWHB)`#BYkqb*~9lB)tkyEcU7x9jR`{pse5
z)UOmA-upbx?EOFofKveJN1Omu<i`nX0GSLjozXx(lCXn5q*L1lNIjfPCZCYYsFM%1
z%Tnw$DRu`>Ki%sF@^r6sTEx+qOOn&RC+TiUJ0tN0iHnDX!z!9fykKH}eJCuAeTnZ&
z{6^xB5|1VRGiPN(Vprl@65o^fK;qXDzmxduoO$8s9@MFbN71Y$Oizq&!u6amoKGNQ
zT{*9#sp7Zv?JNmAkMgt35wfWNJ};PR3m*jY{0Z~?W1;h$30Lu*SKIY^r5@bwcYDo7
z9xA(oR$hZj)DOFU+(Nh;Rq%i4b)#5Je4HUAe+f(>Uk40uV^#{8x1}?~Hk^WGINl6x
z59*y-=*D^})IH5(Ix4-uZ>v18@V~%;A9dS)vmsm!a@D*omc%cvn)B7D6NIsdv3UA|
zZd;B=<8<%&0qlR{7SlRn*)q+7ne5AB7rly75^-X2XQuJ}neK>t&!UoLUN+6sP0Zcu
z1vRQ9)`@urUKAR^V7J#qi5JNsiSIqrc}2K>C+IfN(JV1@_BQTSW|cN|X!?P>!vLSy
Ry~*rSjaQKsJsn1)(O=y(>$Cs>

diff --git a/src/libraries/libansi/mktime.c b/src/libraries/libansi/mktime.c
deleted file mode 100644
index c21728590..000000000
--- a/src/libraries/libansi/mktime.c
+++ /dev/null
@@ -1,28 +0,0 @@
-#if 0
-/* mktime is no longer used in LysKOM. This fact was discovered by
-   ceder 1993-10-02. */
-#include <time.h>
-
-/*
- * This version in NOT 100 % ANSI-conformant, but it is enough to run LysKOM
- * (I hope) /ceder
- */
-
-extern time_t
-mktime (const struct tm  * temeptr )
-{
-    int nyears;
-    int nleaps;
-    int ndays;
-
-    nyears = temeptr->tm_year - 70;
-    nleaps = (nyears+2) / 4;
-
-    ndays = 365 * nyears + nleaps + temeptr->tm_yday;
-    
-    return (time_t) ( temeptr->tm_sec
-		     + 60 * ( temeptr->tm_min
-			     + 60 * ( temeptr->tm_hour 
-				     + 24 * ndays )));
-}
-#endif
diff --git a/src/libraries/libansi/strchr.c b/src/libraries/libansi/strchr.c
deleted file mode 100644
index 817e53d4f..000000000
--- a/src/libraries/libansi/strchr.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * $Id: strchr.c,v 1.1 1993/10/14 22:13:37 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-
-static char *rcsid = "$Id: strchr.c,v 1.1 1993/10/14 22:13:37 ceder Exp $";
-#include "rcs.h"
-USE(rcsid);
-
-#ifdef HAVE_STRING_H
-#  include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-#  include <strings.h>
-#endif
-
-int
-strchr(const char *s, 
-       int c)
-{
-    return index(s, c);
-}
diff --git a/src/libraries/libansi/tmp-difftime.h b/src/libraries/libansi/tmp-difftime.h
deleted file mode 100644
index d93ae2e21..000000000
--- a/src/libraries/libansi/tmp-difftime.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* Provide a prototype for difftime.  Since it returns a double, and
-   not an int, it is essential that we always have a prototype for
-   difftime in scope when we use it.  All files in the LysKOM server
-   which use difftime includes this file.
-
-   This file is hereby placed in the public domain. */
-
-extern double difftime(time_t t1, time_t t2);
diff --git a/src/libraries/libansi/vprintf.c b/src/libraries/libansi/vprintf.c
deleted file mode 100644
index 00f910501..000000000
--- a/src/libraries/libansi/vprintf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#ifdef __vax__
-#error "No vfprinf supported yet. Tell bug-lyskom@lysator.liu.se to fix this."
-#endif
diff --git a/src/libraries/libcommon/Makefile b/src/libraries/libcommon/Makefile
deleted file mode 100644
index 87b5f898e..000000000
--- a/src/libraries/libcommon/Makefile
+++ /dev/null
@@ -1,97 +0,0 @@
-#
-# $Id: Makefile,v 0.12 1992/07/06 13:36:11 linus Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-TARGET = -DCLIENT
-
-
-LIBOBJS = kom-errno.o misc-parser.o parser.o
-INSTALL-HDRS = misc-parser.h parser.h
-LIBRARIES = liblyskom-server$(PROFILE-LIB-SUFFIX).a \
-		liblyskom-client$(PROFILE-LIB-SUFFIX).a
-
-all: $(LIBRARIES)
-
-client-dir:
-	$(MKDIR) client-dir
-	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \
-	tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` client-dir/
-
-server-dir:
-	$(MKDIR) server-dir
-	ln -s `echo $(LIBOBJS) $(INSTALL-HDRS) dependencies Topdir.make | \
-	tr ' ' '\012' | sed 's/.o$$/.c/' | sed 's:^:\.\./:' ` server-dir/
-
-.PHONY: liblyskom-server$(PROFILE-LIB-SUFFIX).a
-liblyskom-server$(PROFILE-LIB-SUFFIX).a: server-dir
-	(cd server-dir;$(MAKE) $(EXPORTS) -f ../Makefile ../$@ TARGET=-DSERVER)
-	$(RANLIB) $@
-
-
-../liblyskom-server$(PROFILE-LIB-SUFFIX).a: $(LIBOBJS) 
-	$(AR) $(ARFLAGS) $@ $?
-
-.PHONY: liblyskom-client$(PROFILE-LIB-SUFFIX).a
-liblyskom-client$(PROFILE-LIB-SUFFIX).a: client-dir
-	(cd client-dir;$(MAKE) $(EXPORTS) -f ../Makefile ../$@ TARGET=-DCLIENT)
-	$(RANLIB) $@
-
-
-../liblyskom-client$(PROFILE-LIB-SUFFIX).a: $(LIBOBJS) 
-	$(AR) $(ARFLAGS) $@ $?
-
-
-clean:
-	$(RM) $(GENERIC-CLEAN) $(LIBRARIES)
-	-for i in client-dir server-dir; \
-	do \
-	   [ -d $$i ] && { echo cleaning directory $$i ; \
-	   (cd $$i; $(RM) $(GENERIC-CLEAN)) } \
-	done
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-	$(RM) -r client-dir server-dir
-
-libraries: includes all 
-	(cd $(LIBDIR); $(RM)  $(LIBRARIES))
-	cp $(LIBRARIES) $(LIBDIR)
-	(cd $(LIBDIR); $(TOUCHLIB) $(LIBRARIES))
-
-include $(SCRIPTDIR)/install-includes.make
-
-binaries:;
-
-tags:
-	etags -t $(INCLUDEDIR)/*.h *.[hc]	
-
-# Recreate the Makefile from Makefile
-
-include $(SCRIPTDIR)/Single-depend.make
-
-include dependencies
diff --git a/src/libraries/libcommon/client-Makefile.in b/src/libraries/libcommon/client-Makefile.in
deleted file mode 100644
index be64a5958..000000000
--- a/src/libraries/libcommon/client-Makefile.in
+++ /dev/null
@@ -1,41 +0,0 @@
-AR = @AR@
-RANLIB = @RANLIB@
-srcdir = @srcdir@
-VPATH = @srcdir@
-CC = @CC@ -ansi
-DEFS = @DEFS@
-
-CFLAGS = -g -Wall ${OPTFLAGS} ${DEFS} \
-	-I${srcdir}/../../include \
-	-I${srcdir}/../libmisc
-
-../liblyskom-client.a: kom-errno.o misc-parser.o parser.o
-	$(AR) $(ARFLAGS) $@ $?
-	$(RANLIB) $@
-
-# dependencies
-
-kom-errno.o : kom-errno.c \
-  ../../include/config.h \
-  ../../include/kom-errno.h \
-  ../../include/m-config.h \
-  ../../include/rcs.h 
-
-misc-parser.o : misc-parser.c \
-  misc-parser.h \
-  ../../include/kom-types.h \
-  ../../include/misc-types.h \
-  ../../include/rcs.h \
-  ../libmisc/s-collat-tabs.h \
-  ../libmisc/s-string.h 
-
-parser.o : parser.c \
-  parser.h \
-  ../../include/compiler.h \
-  ../../include/misc-types.h \
-  ../../include/rcs.h \
-  ../libmisc/s-collat-tabs.h \
-  ../libmisc/s-string.h \
-  ../libmisc/zmalloc.h 
-
-
diff --git a/src/libraries/libcommon/dependencies b/src/libraries/libcommon/dependencies
deleted file mode 100644
index dc0646a6b..000000000
--- a/src/libraries/libcommon/dependencies
+++ /dev/null
@@ -1,26 +0,0 @@
-kom-errno.o : kom-errno.c /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/config.h \
-  /users/ceder/lyskom/include/kom-errno.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h 
-misc-parser.o : misc-parser.c misc-parser.h \
-  /users/ceder/lyskom/include/kom-types.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /usr/gnu/lib/gcc-include/limits.h \
-  /users/ceder/lyskom/include/ansi/time.h /usr/include/time.h \
-  /users/ceder/lyskom/include/s-string.h \
-  /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/misc-types.h \
-  /users/ceder/lyskom/include/s-collat-tabs.h 
-parser.o : parser.c /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/s-string.h \
-  /usr/gnu/lib/gcc-include/limits.h /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/misc-types.h \
-  /users/ceder/lyskom/include/s-collat-tabs.h parser.h \
-  /users/ceder/lyskom/include/zmalloc.h \
-  /users/ceder/lyskom/include/compiler.h 
diff --git a/src/libraries/libisc-new/src/Makefile b/src/libraries/libisc-new/src/Makefile
deleted file mode 100644
index 5aaac806f..000000000
--- a/src/libraries/libisc-new/src/Makefile
+++ /dev/null
@@ -1,61 +0,0 @@
-#
-# Makefile for libisc
-#
-# Copyright (c) 1992 Peter Eriksson and Per Cederqvist of the
-#                    Lysator Academic Computer Association.
-#
-#
-#
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-
-SOURCES=isc_event.c isc_session.c isc_abort.c isc_alloc.c isc_master.c\
-        isc_output.c isc_queue.c isc_message.c isc_handler.c\
-        isc_stdout.c isc_socket.c isc_tcp.c isc_udp.c printf.c
-LIBOBJS=isc_event.o isc_session.o isc_abort.o isc_alloc.o isc_master.o\
-        isc_output.o isc_queue.o isc_message.o isc_handler.o\
-        isc_stdout.o isc_socket.o isc_tcp.o isc_udp.o printf.o
-
-
-LIBNAME = libisc-new$(PROFILE-LIB-SUFFIX).a
-
-INSTALL-HDRS = isc.h
-
-all: 		$(LIBNAME)
-
-binaries:;
-
-libraries: $(LIBDIR)/$(LIBNAME)
-
-includes:
-	( cmp isc.h $(INCLUDEDIR)/isc-new.h 2>/dev/null ) \
-	  || ( $(RM) $(INCLUDEDIR)/isc-new.h; \
-		cp isc.h $(INCLUDEDIR)/isc-new.h; \
-		chmod a-w $(INCLUDEDIR)/isc-new.h ) \
-
-$(LIBDIR)/$(LIBNAME): $(LIBNAME)
-	$(RM) $(LIBDIR)/$(LIBNAME)
-	cp $(LIBNAME) $(LIBDIR)/$(LIBNAME)
-	$(TOUCHLIB) $(LIBDIR)/$(LIBNAME)
-
-tags:
-	etags -t *.[hc]
-
-
-clean:
-	$(RM) ${OBJECTS} $(GENERIC-CLEAN) Distfile testnumlist
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-
-include $(SCRIPTDIR)/Single-depend.make
-
-include dependencies
-
-$(LIBNAME): $(LIBOBJS)
-	$(AR) $(ARFLAGS) $(LIBNAME) $?
-	$(RANLIB) $(LIBNAME)
diff --git a/src/libraries/libmisc/Makefile b/src/libraries/libmisc/Makefile
deleted file mode 100644
index 7a282aab0..000000000
--- a/src/libraries/libmisc/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# $Id: Makefile,v 0.12 1992/04/14 15:43:20 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-TARGET = -DCLIENT
-
-LIBNAME = libmisc$(PROFILE-LIB-SUFFIX).a
-
-LIBOBJS = pom.o s-collat-tabs.o s-string.o zmalloc.o
-
-INSTALL-HDRS = pom.h s-collat-tabs.h s-string.h zmalloc.h
-
-all:	$(LIBNAME)
-
-$(LIBNAME): $(LIBOBJS)
-	$(AR) $(ARFLAGS) $(LIBNAME) $?
-	$(RANLIB) $(LIBNAME)
-
-libraries: $(LIBNAME)
-	$(RM) $(LIBDIR)/$(LIBNAME)
-	cp $(LIBNAME) $(LIBDIR)/$(LIBNAME)
-	$(TOUCHLIB) $(LIBDIR)/$(LIBNAME)
-
-include $(SCRIPTDIR)/install-includes.make
-
-binaries:;
-
-testnumlist: testnumlist.o numlist.o
-	$(CC) -o testnumlist testnumlist.o numlist.o
-
-
-clean:
-	$(RM) ${OBJECTS} $(GENERIC-CLEAN) Distfile testnumlist
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN)
-
-
-# Recreate the Makefile
-include $(SCRIPTDIR)/Single-depend.make
-
-
-tags:
-	etags -t $(INCLUDEDIR)/*.h *.[hc]	
-
-include dependencies
diff --git a/src/libraries/libmisc/client-Makefile.in b/src/libraries/libmisc/client-Makefile.in
deleted file mode 100644
index 401767b24..000000000
--- a/src/libraries/libmisc/client-Makefile.in
+++ /dev/null
@@ -1,50 +0,0 @@
-AR = @AR@
-RANLIB = @RANLIB@
-srcdir = @srcdir@
-VPATH = @srcdir@
-CC = @CC@ -ansi
-DEFS = @DEFS@
-
-CFLAGS = -g -Wall ${OPTFLAGS} ${DEFS} \
-	-I${srcdir}/../../include
-
-../libmisc.a: pom.o s-collat-tabs.o s-string.o zmalloc.o missing.o
-	$(AR) $(ARFLAGS) $@ $?
-	$(RANLIB) $@
-
-
-# dependencies
-
-missing.o : missing.c 
-
-numlist.o : numlist.c \
-  numlist.h \
-  ../../include/misc-types.h 
-
-numlist2.o : numlist2.c \
-  ../../include/misc-types.h \
-  numlist2.h 
-
-pom.o : pom.c \
-  pom.h \
-  ../../include/rcs.h 
-
-s-collat-tabs.o : s-collat-tabs.c \
-  s-collat-tabs.h \
-  ../../include/rcs.h 
-
-s-string.o : s-string.c \
-  ../../include/misc-types.h \
-  ../../include/rcs.h \
-  s-collat-tabs.h \
-  s-string.h 
-
-testnumlist.o : testnumlist.c \
-  numlist.h \
-  ../../include/misc-types.h 
-
-zmalloc.o : zmalloc.c \
-  zmalloc.h \
-  ../../include/compiler.h \
-  ../../include/rcs.h 
-
diff --git a/src/libraries/libmisc/dependencies b/src/libraries/libmisc/dependencies
deleted file mode 100644
index 123b2966a..000000000
--- a/src/libraries/libmisc/dependencies
+++ /dev/null
@@ -1,46 +0,0 @@
-numlist.o : numlist.c /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/ansi/stdlib.h \
-  /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \
-  numlist.h 
-testnumlist.o : testnumlist.c /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/ansi/stdlib.h \
-  /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \
-  numlist.h 
-numlist2.o : numlist2.c /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/ansi/stdlib.h \
-  /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/misc-types.h \
-  numlist2.h 
-zmalloc.o : zmalloc.c /users/ceder/lyskom/include/ansi/stddef.h \
-  /users/ceder/lyskom/include/ansi/sys/types.h /usr/include/sys/types.h \
-  /usr/gnu/lib/gcc-include/sys/stdtypes.h /usr/include/sys/stdtypes.h \
-  /usr/include/sys/sysmacros.h /users/ceder/lyskom/include/ansi/malloc.h \
-  /users/ceder/lyskom/include/ansi/string.h \
-  /users/ceder/lyskom/include/compiler.h zmalloc.h 
-pom.o : pom.c /users/ceder/lyskom/include/ansi/sys/types.h \
-  /usr/include/sys/types.h /usr/gnu/lib/gcc-include/sys/stdtypes.h \
-  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
-  /users/ceder/lyskom/include/ansi/time.h /usr/include/time.h \
-  /users/ceder/lyskom/include/ansi/math.h /usr/include/math.h \
-  /usr/include/floatingpoint.h /usr/include/sys/ieeefp.h \
-  /users/ceder/lyskom/include/ansi/stdio.h pom.h 
-s-collat-tabs.o : s-collat-tabs.c s-collat-tabs.h \
-  /usr/gnu/lib/gcc-include/limits.h 
-s-string.o : s-string.c /users/ceder/lyskom/include/ansi/sys/types.h \
-  /usr/include/sys/types.h /usr/gnu/lib/gcc-include/sys/stdtypes.h \
-  /usr/include/sys/stdtypes.h /usr/include/sys/sysmacros.h \
-  /users/ceder/lyskom/include/ansi/stdio.h \
-  /users/ceder/lyskom/include/ansi/string.h \
-  /users/ceder/lyskom/include/ansi/ctype.h /usr/include/ctype.h \
-  /users/ceder/lyskom/include/ansi/stdlib.h \
-  /users/ceder/lyskom/include/ansi/stddef.h /usr/gnu/lib/gcc-include/assert.h \
-  /users/ceder/lyskom/include/misc-types.h s-collat-tabs.h \
-  /usr/gnu/lib/gcc-include/limits.h s-string.h 
diff --git a/src/libraries/libmisc/missing.c b/src/libraries/libmisc/missing.c
deleted file mode 100644
index 8a5f3492c..000000000
--- a/src/libraries/libmisc/missing.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * $Id: missing.c,v 1.3 1993/10/10 17:11:07 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * Missing functions.
- */
-
-static char *rcsid = "$Id: missing.c,v 1.3 1993/10/10 17:11:07 ceder Exp $";
-
-#ifdef __sequent__
-
-#include <stdio.h>
-#include <strings.h>
-#include <time.h>
-
-char *
-cuserid(char *s)
-{
-    char *tmp;
-
-    tmp = getenv("USER");
-    if ( tmp == NULL )
-    {
-	if ( s != NULL )
-	    *s = '\n';
-	return NULL;
-    }
-    else
-    {
-	if ( s != NULL )
-	    strcpy(s, tmp);
-	return tmp;
-    }
-}
-
-
-void *
-memcpy (void * s1, const void * s2, unsigned int n)
-{
-    extern bcopy(const char *b1, char *b2, unsigned int length);
-    
-    bcopy(s2, s1, n);
-    return s1;
-}
-
-char *memchr(s, c, n)
-char *s;
-int c, n;
-{
-    int r = 0;
-
-    while (r <= n) {
-	if (s[r] == c)
-	    return s + r;
-	r++;
-    }
-    return NULL;
-}
-
-char *strchr(s, c)
-char *s;
-int c;
-{
-    return memchr(s, c, strlen(s));
-}
-    
-
-char * memset(s, c, n)
-char *s;
-int c, n;
-{
-    while(n>=0) {
-	s[n] = c;
-	n--;
-    }
-    return s;
-}
-
-#if 0
-extern struct tm
-mktime (const struct tm  * temeptr )
-{
-    int nyears;
-    int nleaps;
-    int ndays;
-
-    nyears = temeptr->tm_year - 70;
-    nleaps = (nyears+2) / 4;
-
-    ndays = 365 * nyears + nleaps + temeptr->tm_yday;
-    
-    return (struct tm) ( temeptr->tm_sec
-		     + 60 * ( temeptr->tm_min
-			     + 60 * ( temeptr->tm_hour 
-				     + 24 * ndays )));
-}
-#endif
-
-
-/* Mathematical things. */
-
-#include <math.h>
-
-double fmod(double t, double n)
-{
-    double lastt = t;
-    while((n > 0.0 && t > n)
-	  || (n < 0.0 && t < n))
-	if (t == lastt)
-	    return HUGE;
-	else
-	    t = t - n;
-    return t;
-}
-
-#endif
diff --git a/src/libraries/libmisc/testnumlist b/src/libraries/libmisc/testnumlist
deleted file mode 100755
index 103245d0a3816fd38dda3481d15c1add2871998a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 32768
zcmeI44|G)3oyYG?CLtsf8Wk~8ijNpW2>CaYKZFU`fQW%&NE5KAXeP<bgwbIVXC@Y@
zt3$+gOFc?m_1Ko$RJ&cYmLg@@uFJML9&4?oNLh-1>e|$!mD5dK7PFe#$n5v`d%u@=
z1K86&d(NJo-S-Y}-e-RI_kQ<xfA@Fqojhi4+U?3$%24Ksi@G=$OaeZx9#^X5qO1O0
zd5Ya{ZCmwjk>}Dw%B_Z1|D#gHIlW5dbSYKdvaY40+TBXBhv~Jn@%0JityW;S+O*+5
zq5jruGS9cXU87pIx}I#=qUgG#^=VhbuP0DhZe?@kB&0@5Jo7y6c-pmu<%QlfN{!y!
zWgob14JuciH}1;Mybw8AvP7v%GRO904!H+2r{T&VYEy>$$ezp*oX23jn`)`9%ABkY
zxE{tiRINzT`m{R4wu?~b36viaoh{JW0zSf4PLLPsQB$*2J%F03-9}aB1gsz8vYlM!
zMNP$Kd(=;HN2KjO*d1LBA0nO&_XWAETETV^pH-P-$Khjj7Iaszg*nSUIQ@KOOJ<_-
zHi~X$ymG6GWyTPR6R_(taQ($Qnb%r(w%xbp*UH;^W9xv?r@Sc34$cA10bLb5Uu3I-
zxu8PGvRa$N?$&|oqLwzibK|7;ds>^TZ%0h;R35x@wKh}Sst1yZ>R7b9Iu@!*_NnSn
z_}1#J;Y1(wlq%{;q-p|2yw8}bmWQ&-%(AHk#^$d6{%E|{h;&6`1Boyxstar@mi0W9
zR?3a@e3VbanT-=i>mT3~yuGaFvikLx^;94w`KVCHq45snmCK79#Ovns4aCe<Sa?uf
z-%gUkV60{_u5;YYD!sb7x5c1$-WBP+R9X~kwDq~9Q0|)BKQkwdTF0xEsj)m=SXiyP
zGRpO@skXJjS#~+1c0J2CwykZwW%-`WM8dNVubb~M;wrbeDl@TfXY58|WXnWlzt@u)
z2aUVa!)Ti~-Hg|Wr~mSxyWc=<T=L0GCS$Rwl{U4Om|87cPmfWZuN}eIDhwj$PXC_Y
z4{uo8j=F;?bNffc<%a)eTyFSt<MJBXe@0wxV4qgBt^EjJ^2C?;ls;O0Mjr(x`zS9s
z<InZxSBKB?CXc-N)dBPpMog?Lnd*!WY(^q2H7;A9r&th;hr(M#fZUp(UaKxsxh-2W
zNBHibND3i&ktMApscg$kP)}f#PxQ{hoH5a*J`7=`PE>AEMVW~WYlCn8@5kWP7tS4n
zSNEAQxN>uU>NW#Gh((jBfXc)8TCXl!Z$#tCa3U2B<<Xl^I2LAJA5VmP`g-Hht>KW-
z)3<qZS3DFjF6+soQFs!uQ0^0$=_U}F-4vNuSD0}){R51N@wT;y&3HtqXZlYaxwl&N
zzfZ5w{SxaI(i%}%m3iN*RH%0iy~bzYHLo{;SEDx;jNuyX&Bg02z1IY9gzZyoANA%O
zrgyM)CE0rApw!z8n=^xJbj`ebM6--F?-$KktXZ6JRW8en2WJP1$dgsW>>p>%E1M8W
zG!Ww|uslsfIdn}lks9cV8JokK`x3Vq;VqlG29k&sW-R0m=7l+2%SMXI25SFAWDdN1
zp})+UTe!TAUrXE8QobzT$*;Rr5zQ7>O=J&i>Md5Tm7r|@9_8(uLlV*~#<f_zwQb&0
zMat{x*n@jtHOrKD-X2xx_0YTaow#$Hd}j}_`nKLu8CNqo)4fJvM|v;r>@%S2Wvf-n
zTcX|?JUUpstZmi2FMB;ayBwwR4tT1(t9M4OSq=M<xnv(+c#X&5I~XOobX~q%d4i>&
zLMojXRYhibX_@jI*rU9WJkpwna^<P6QeKM2%QYL;u6aj!Gh^cGc(uDroqmEMN%5It
z$vY1cRfKjFVrE4h)W-cgWAF&t?w#<C^ot>#_tYE@w_!YZ+_F=0-UHAu2I)?N2;P*y
zH;S+28|-^v)$)e=b|(4xQhI9Ne)!JRzI|x}Ypp(`Z_yW6B{K7tnSE#XGE$u*_nF~@
zYj~TX?2^n_wHwjN?NY87>Kxy&HkH|r5!H*<DlbvDJD9_{IZ8HYM&j8>DQPKUao$^L
zqb3(iEUhnl(Y~-!PhfP8kw4TvL`|uO=^c81%&75tY~3Ey`n^+2hZU`1X}m_7r<PcC
zbQhbMlo@+#+mUTXb6bm1Xj=_?`dz_BWYt)3mUVv#>gDKD*&HrY8LXhzY>H7>YK}tq
zeA3EhGdiaa8VX}A-J8>&2`&lZV+vy2R*e31ZzGQ|!g*HboZ<XLZsgAUH2NM_<Z2;#
z8<Y{w<F1OLembPtEe)1%j5jF{S)+VBGrF1u^c-n(KkZhz5#{3dSQ)&gFCflbyhDzf
zQ6EM`C9X>(e&gqgU(amIcKhJG<&;m#+m0E^wKqs(b(~J}P{u?JX|uPesl<o=9i*u6
zohU(6#?296VAX?_o9w9b{B=IvpJIK)SGiUP>nw{U3lQTotzlNDa*ivmVs$3TC_~$k
zgOa5moI8$^rH9YT(u1Ur$efX-;YQ0JDm!Nj#V53NOl#{MQ|)Q-Z;|+)JAY|rquI-g
z)-hqO;5LhW^hdCm`(jKo89AwCvYX<l+*&4&n)zZz+05z>w_wbVZCHzOKGvI%5kJ<w
z$%-S#@VY+{K|kVmlFF$bjPhb>?a8TQJnTWAZh)UBgP7wdy&U3tDBH(T(|Dw&OZ{Q4
z!E+Uj9z$K)tUN}Vw2Zcti|0}hM};gR-!tRLy78$qP%&cDv29;ELJ>Km+>C#-!n`s^
zFQvBUKBMN&8_cEIaW|EvJo|TUj_6uqd2g<YARlboro6-j3zv`uDnsv%7dIQ{*_N?F
zd^w05wac)AdRf}grN&Flmd~R$vu*T$RC&x*%|MhUBLKEy;6`?EzMc{BUTPiXvB>Rq
z_qu}=yCdf+Pg7hl^7K1t98>$+DWXMInY0S6^^&za(0?cU)>)<2dSKVe@nV0hGRrRa
z)NK1sJ6_ZiF3gCT3GNA{IMXn`N0Du#$k~(hIfZ>4MHWm<`J6Hue3gA#X<OEM5A&7T
z#<$Yv=sWh)_5&^C`AR;=oa}2wTqlYV+sT=e;*;LH(~g}UpL1)MD9Sfu5Py4!FJ?B7
zw$a?aGgyXCktgYsq&ZgKZx_7@$|@^!=<{vR9Ooxw#X8aQ_9uA^=_CCQ_i7{ETHD94
zwxjnv=Bk5vlRi=Nm{;mB)kaaBI<{oq+;zsdS89jV3TpZOy<Sgmn<Y7G<)N{o<tAkU
z+3hw+PO}7Ja7I3d+(CD6$+_?AK^wAyJiDk&tP(cNwaNS&39EV)%A2R&OPRSk9hoCB
z9=GHCpO+)1g}7s~U#8Aw5i=LyVFy|{)he}wB*iFwYg=(mkupCWVC2-CUDMbxv#)9H
z>=>+Eo;l&(OBO0TrU&kOEbIE1p-4qALtFXVj@ih1XM0ML;<LS|IENRU%|>%6d2yHN
z!4k`ZJj=4~fsCVcWO8iT^-j(d<!0N;$m({}>KczJD~HUKY^1s4+g2TVo;0I>BJ}qL
zkNH#<)|M417mfMNvne~)rSYt*${HJE4LlBtrFAl5#yFqMETDWPovC$Ev?p70j;!Q5
zcno%_Q_@=%sJ;F3>-NSdMl|+*ORX|vJ@s?wWGt3{lm<VGnQRN{=r<!&MRj~({odQH
zItIz_lEQY%l2Nn$_={>ZZmqYYsDFa~qAFf~^ozyIuI0a}5WP{Xw`Y2X@!65KW*@yY
z<vo@*;495#Tz&~wT-<FmuiJ^gnkF(wXof+@xYbQcd1m68z#~<<ZpEL}bRAUcV|3kt
z2XS=09}nH=`c<W7(DhL~=A-KqN?k<PeM-%u>(h89Jd-V(Pw41T-o-fSn1Qo^$t=U4
z>R1((!ZT&%!Z{sh7EU}<<|lh}Zw}6jM1~9NkPW)$Je*|XV>ronq3{L5b8sacdRj>5
zESywE{?U1%oS(pz%8GDOT^|>ojjQE5F&$J!2icyBlkTO1n2&5V?H;89WNX?qmGc|r
z&cc&PHDkKU#<Otd3$j%<{51^7FLtS{AzbOWWSW|Wr;p4FvQ^d{^lTjOs=?j#v>e>z
zQaNw1hEmI?sq6&whw=VXF6C(!c?a~rCHkG&$_4#m^p8qTQ(0Be9|zy&QtpW854u!t
zk?@Xed}zUwREp<UvQ^GgN-Zb_KMwoUM|6D8rKXWRIu4+{2bHSa4t@^$tCaHLPegSb
zetw4(aJ=qP+3<&tw;_L7_#L$UHsLYY`4s9(BNej2>%ho0*M;yO@mz@hb6tvd!RK=1
zn9C3O0m#>N;^EVll<EwJx>8-Z#6v2X>PnDgOBAo2E3R!_cJ-<&ROjZdXxuF8jKuo7
zsLWIe$8U`$`r_*9<Y%L)o=qy!(Ae1M>l{epNew*$q^Dn<@xD;Fvp*4y(|ystZoEcf
z$?k!OGNrg$s-k7R?MZ~YQemhKq>`#L+0zx*bj?R;_PyrQG;%f;>+4aS5jKV!y1M(Q
zQISL#rYzIZWSAb&*#bOi>JBID_w>-xeiw-*^tW*e+~kvZv(@O1i^tFjbkMj`J@n!n
zP6V6?I1z9n@c%smS@`_m#aZ&F199=2SVxXQZzIkiK58AoN31e@yfWmzY52JH0M_wl
zd=4T}5PJ0gxO{Zs(|qPVh5t>(@s4uw^|#8+*Vk1RUymyfUk|HnzCMR<7m)rB)ik~y
zz*AXzzei2y>$eqsp5&vs?9v5S<G+`ERY}8F)nGI>R@eBeYZ{F!`ucB67{0}g^+v})
z+_*a0Bmbps-6>b=laMZUpF@~~MmdKQ0Ve`Z1e^#s5pW{lM8JuF69FdzP6V6?I1z9n
z;6%WQfD-{H0!{>+2sjaNBH%>8iGULUCjw3coCr7(_{)ocCx?78|66;8hy61QTrM=3
zzoYmG;UUNuYP>iE0ltekgqN$*c#$KTwn(YZY5b_h|D^FN8ozI|>pYEXHNHmUq{jDY
z{7sGbYkWxKmu+_EXxyOjN{!n!zCmNHz3zl2*V^vBTa)k9_-h*ft;YK_{*lH%*Z3uk
z-_ZE?8jstY<<dA`;|n$ZgvM8B+^X@l8gJ707LB)Re3!=eX#AkYk7)e3##-NHjcD?J
zv)QBdou^cj>p7`b@OORrd$YusAa4&S9AHDKOL1YI2W}HC25%HD0pBEC3dVO<C+~eu
zcmd>xh0C#X#&yCA!6)$5=o`}{;KQTks^_O^k>YF8Gc>*gmEs_uvm1t(>ATd~m#4w_
zCd>qQxiG#1oZT`EIgVN2RU?e<7P_EuKKTwXaUB@nzh!wnn5%)j0gRL7i@=u)H-arY
zi@{cWn!q=T&Jyq_>Rrvo`1{7$8;7WnzyF=xn+Ax_@nJ9~odopzMwqkK&;>p$m+wdu
zuLQ#`%dZ0CJu`eMwR~6&-XL;(-?-H3ueIQa$e~+$yKp=BN#PE#)sOgoa_RFTUk^Sa
z4BMs0g|7v_DU7}?JtcfS_yb|YV?H7I-wDnU?g8ft!>{>y!oA=*!Z(9Ug=63f#HYW6
z1pK}6>@8`K#PAMb>h~SPkmIZNyTD&cgP`+1n8z0werA7d7;@-52i`Tp>=^`qUHBgG
zBOaE|uL1AY_&~^(52u;wCHoDH$865|xW;uFw`<(5@eYlj)c8e>M{S;#tMP1&D>c4S
z<4<dRr^esY_(vN5OylDkYwew;%|Fw$wof~4>*r3_c&5g4HD0K3qsA*WZqxXBjUyUs
zb8qfeO}<^@do_MY<AWOiMB}3x|3>5AY5cCn6E;uJ)>xa<reCDVi#68zZo0O<Ob=-~
zTHj6oh9=i?a{5b>x2qM76&OVLXK^{WRpbl78-+2>=7)qU!CQoDz-eL3pYuO2TnoNe
z7<1|Thww8NEkE<LH8k%tY=D$i-Y$*5Tf#E(E$_!9H^+6}p<$NO?@#i6K4NkNd|2A`
zRT80Hm?!63d?ol%k*@^r7bf`&!k9nj9}#W=zb?EA{3h(bE&jk}e%25b^1Pj&Kg3AC
z%gLW9TnOedZu*>m$*`%@54ka7GJMFNCq9po2tH%}oNw_B;P*s+qf%vg!jPA-E6~UM
zSynFcZZP_T?O-k~YZMNFFBcAjR|_L%W$nV7z*b*J!8eH<*D|ZGW8guN$HC~|{6*{t
z`<&l4M1^Kdt{-CLn1qBWCJEu0;LoL@Bk{R&7>wgt$kQW?F0?s+n}@mVVY;kP>UPv?
zaT@%H$hU#NEes#atp42&{-Mb41|Jb7`3d1KfZq}RYw&5|9r!&?j_{Yj@R@zM2Rs+P
zJy=2l_9y?zA!hpQk^g;RFZiG^wOz~M{9mM@kG79P{>x!7z88#`<{uw1+4AQrsH>Dj
zX!|a3x$xJ)jlzh*f@a}wfY%8l-xpYY`WP7b!FIj{w)z(_TaXg@-+>X|{FlsjQN8)U
zOQTTw=;SadD%S^)|HlZkdktOS+f%qVExZrBUHJRphoFB-Y(mGIGem`)CwwpZhkp0O
z{497#_{ZQUg`WdIBm6uVC+q(dZ1w32;Fm@IGw^%Dhw=L<^b7012sVU|g00vd12>EO
zm*884kAt@g!*+RE_!aQ|!l<hpZDjkegV7(%BVfz_-+&PpZ-K-C?e!W%q{wmb&L3i=
z@#3vYgUy(G>xGdg-X+3g;O1fI;PYWWc-aVZ)*xM0;Fsp8>uKS4!H6%*abG!N!Hn3H
zqs`3t98`Wn81<B&68;1DwD2GCXKjw~hu|5gce&XXs>|CkM1^Ksu1f>N|L$QhK2zNb
zot_bsU#H6oMf>W}Z`_z+Z{aNAkAbCMT<3u+L=N4B4Z<_QZLk?KeIPsD)DRV#K4^1`
z_pV_UXZ;pB+eer^23_ET0Xyq}#Ph+|373IojJOtnQz9=1-yw{3aN)zkRp0}{)!=7^
zePGE?S3Ou_?m{~jzAQS6z;6mSf+gmz#Y$C3-nuRaqs{E+C&6=to536c_`eJcKUn7q
zuobHn;58z@5`2yDRp1+iQC?xS_iAuL<gMUah1Y`b5Jv1PFduPU?chDa9pLAL5!Z?l
z;q~C(38VgsF=52J;<WJf_)TSzFy^gF%YUqQmCYiDzm=<ngJ9IbK45OEl)26Y-zrhY
z@?P*JVYIK(YRk=F%yr(oIe44{-Uo+B(afJ+LySBgA4`KJpPvvO$G!W6(H8H4Vd&uR
z*K+Vbj4<a|F-M*JTT#lfzXI=|V(^{d2ZYn$Az`d#mHUJ-rYmJEyY2!Hi+nryHQ~F#
zqr#t8s>);QR9X4+MaXA}{66q(;hkU(0sQ$JF#KoV;8#_%@Ppvh!ViP3G4fR~-n0HL
z@P6S(z&{io0v{LtCis-_WB7@$<<D-g<-_A(zvw&xZWjIy*ox<O!Ilqy4@OR~4+p^a
z3qK8hNcf+@hlHO6zbX6^rE08tv5wSSE^_GBSnd5e*vc!CCq(Bkc#H6hV5=XGfcJ>}
zC>ZszZ~p=w6+Xs~8caE2<1<8#HN{sYJOXYM#@gX)5yl+m3ktst4k6!uz>VM>^Zsmz
z3e6loI>g91{7M=uIXogfj(blCkAdG6J_&wb7(RRdIIQT%LCn1qBg}bqbV1IXf)6oa
ztQWqNFxCs-9l{gf9l{@i9}&)gA2r#Hix2%xHt9!2K8c|l1wQmE%d^0U9rH9WV!@0Y
z_e*@-Ua<6?y8zrRI=I&#5iSJBg|WW)#b@^g;6ahk24gI-{W)OdH?sl$fp9Sx{mpW8
zf&Vq(Ql)Bhgy(}{i*?Gu0pSYpI$`vAt>tG8_#TmC?Wi3R#@bPPP#Eh)?R&z=k-9wL
zC168%DcGv387#T&UIw;ebp^Oh^sfTnB#iR9t-`Co+l4Xz*IB-`gLjL(1N^-3dhm$w
zwMx~yg|7pn%^ZhL@CxA|c%vrYBHRVJ<c}M%soy2?9<UXMUhuQX$qx~H9F&Izg+t8r
zIlSN^VJ~=Y8geuL3rdBN{{>aTW8lTYC&5dFN5RX66&-o-xnTJS^Na_;S9qA~kpl&*
z>^%?)+Uz|L3O-}+fl#o~-UFea+urM-V3WPqK|#vi-=N^H>^%(%zG&}hQ1EqoPlJNT
z?7a&L_St(E6g*?^QBZKy-lL%44SUalf_Lpb2WDj1dk)Mv&)#!jhGFeFfbATr?2QFz
zpW3QEW&WVBPo=`il>9y)(%zn)PV9x*AB}}WRa44(6!sDbq<l*gzNSjQuWnIYV{JoS
zW78xqYEnI$x)Onue`&(sRMX`1LlW!5Ho1Ib?Vq}FAfAl&#<344tJaZfO;e>$?w?v(
zZ<i)FVUq##o(48w>tEE+*hH^Z-L?aZ&b)7`*+#Rtp}xMhUh3t0r)n+MjF=vqZT8i0
z{XT!A+3v}^q?p52)8wy*ZQjiRkwlz)O?7Cf3iS<i$HEYCkQzzEbx+DUA}qhPFB*bk
z{Ze1OqJ13(B7t?jhNVe=O=l1K$5&BPQR{E&>`x^EzC}yReLlP;$wt-L-IWYOSkX|&
zD!4Tn-HJOFH}LyNtgAQBP=O{?_!>w*f+Ps|D|~fz6^%_z3O$qzr#dMIRI)!D4iVO=
zR1e)qT(6KkRP0mzQ7-kV&9n^#WQ{5wi^gvzY*0PeDuS_ArJ|d;ycYXYbiy5egZop7
zP&5)@YgF=C3ZrSqQmR*z!df-ZX~h}HSwU3}beib|pm36h19qX5b>1@2Mb57CH7-py
z-r5xl_!cki;so?H)gqh?b!faOrLeGvx<VoLrB?M==&xB??#BS>BOmJ(Hh?B*P<>__
z;Gh|hM%8P<&EeZfr&ifER3wCrG?F)y6o_aC*7<!)lePXxDB0N^O(g?<zxcL@ee>5h
zz&X)P`F(16UtbI(uy$#9<+3#$R|aY-*0ry{5}n+nItF@r!pS5`>z0Psek$OruUNTk
z)tdF~C|-o}R&D1HDAh0BlC<{ipv^=AmIBHe?6QCoCAi9I$eVTq{K!3jy_t-(sRsm;
ziD+$A9H^I6GzC-#w9IT|5$|3M-zg=L!cA6HytxVLt4G>5qI%k21lx!tt?akn`Wq!!
zbxrkDyRV@Jc}?4hP({AQJTRtOH8)2Iti<Sw$Krv0{~{F)_^9Flmhnjkc$X8=g3@9%
zwt;VezEZSv3ko3!_!p~4G#*WE3WoyzT5L}u`waUhO<Fe3ntV|w?c`GBOuV%2I1?{|
z;7q*E#A{8;0ehb$-s?%WZIW5z|Hy1?HYyOov`W)4&#sfZNpZ8y4XH?GO{C`5SGGJ5
z(I<1-5I@jw&glL1Jh|h4VkBzjt=QA*Y<nUUWA>a+s}`*i{Ryo3yiW3(VO2wm$C>t%
z{W0wHHKj@xX|~nbmg3>hn)XqdY1OhIL0XBm#$0jibxJne3arH1gEFjCll7WgZ=F#R
zKu9FeylPtkvZ^u{_m!l?#?1Hn%E-6b3jCJ4%`(BuudM*FR;jG`XEf04OKrKOMre0g
zmC%)X4l$<)-NdoC>NR&NJGT)ZWft1)r|UVb;FC5M=#SpK?d;9ktX<mv%-z{6H$P%C
zHmmrf_FtPU|DW%$#(x+)FHQuU2sjaNBH%>8iGULUCjw3coCr7(a3bJDz=?np0Ve`Z
W1e^#s5pW{lM8JuF6M?_T2>chUK90Wt

diff --git a/src/server/FileList b/src/server/FileList
deleted file mode 100644
index d08e0d917..000000000
--- a/src/server/FileList
+++ /dev/null
@@ -1,126 +0,0 @@
-This is a list of all files in the server directory.
-
-Atomic calls
-------------
-*  services.h
-*  manipulate.h
-*  admin.c
-*  admin.h
-*  conference.c
-*  membership.c
-*  person.c
-*  session.c
-*  text.c
-
-*  version.incl
-   Inkluderas av admin.c. Inneh}ller versionsnummret multiplicerat med 100.
-   I b-server blir det en str{ng.
-
-*  parser.c@
-*  parser.h@
-   Matchar namn. Samma fil som anv{nds i tty-klienten. Ska bort till b-server.
-
-
-Data cache
-----------
-*  cache.c
-*  cache.h
-   H{r skulle det ha legat en fungerande cache om inte mud funnits...
-
-Highest level of I/O
---------------------
-*  async.h
-*  send-async.c
-*  send-async.h
-*  call-switch.incl
-*  com-h.awk
-*  com.h
-*  connections.c
-*  connections.h
-*  end-of-atomic.c
-*  end-of-atomic.h
-*  fnc-def-init.awk
-*  fnc-def-init.incl
-*  fncdef-no-str-limit.txt
-*  fncdef.txt
-*  isc-parse.c
-*  isc-parse.h
-
-Low-level I/O
--------------
-*  isc-server.c
-*  isc-server.h
-*  printf.c
-
-Awk scripts
------------
-*  call-switch.awk
-
-Misc
-----
-*  config.c
-*  kom-types.c
-*  kom-errno.c@
-*  log.c
-*  log.h
-*  minmax.h
-*  missing-ansi.c
-*  smalloc.c
-*  smalloc.h
-*  std-disclaimer.h
-
-Dbck
-----
-*  dbck
-*  dbck-cache.c
-*  dbck.c
-*  misc-parser.c@
-*  misc-parser.h@
-
-Non-sources
------------
-*  ChangeLog
-*  FileList
-*  Makefile
-*  TAGS
-*  To-do
-
-Main
-----
-*  lyskomd.c
-*  lyskomd.h
-*  text-garb.c
-*  text-garb.h
-
-Protocol A
-----------
-*  prot-a-output.c
-*  prot-a-output.h
-*  prot-a-parse-arg-c.awk
-*  prot-a-parse-arg-h.awk
-*  prot-a-parse-arg.c
-*  prot-a-parse-arg.h
-*  prot-a-parse.c
-*  prot-a-parse.h
-*  prot-a-send-async.c
-*  prot-a-send-async.h
-*  prot-a.c
-*  prot-a.h
-
-String packet
--------------
-*  s-collat-tables.c@
-*  s-string.c@
-
-Ramkomd
--------
-*  ram-cache.c
-*  ram-output.c
-*  ram-output.h
-*  ram-output2.c
-*  ram-parse.c
-*  ram-parse.h
-*  ram-smalloc.c
-*  ramkomd
-*  ramkomd.c
-
diff --git a/src/server/Makefile b/src/server/Makefile
deleted file mode 100755
index 05e8b6a7c..000000000
--- a/src/server/Makefile
+++ /dev/null
@@ -1,179 +0,0 @@
-#
-# $Id: Makefile,v 0.28 1992/12/19 01:56:20 ceder Exp $
-# Copyright (C) 1991  Lysator Academic Computer Association.
-#
-# This file is part of the LysKOM server.
-# 
-# LysKOM 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 1, or (at your option) 
-# any later version.
-# 
-# LysKOM 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.
-# 
-# You should have received a copy of the GNU General Public License
-# along with LysKOM; see the file COPYING.  If not, write to
-# Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
-# or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
-# MA 02139, USA.
-#
-# Please mail bug reports to bug-lyskom@lysator.liu.se. 
-#
-# $Id: Makefile,v 0.28 1992/12/19 01:56:20 ceder Exp $
-
-include Topdir.make
-SCRIPTDIR = $(TOPDIR)/scripts
-
-include $(SCRIPTDIR)/import.make
-
-HDRS = admin.h isc-parse.h prot-a-output.h async.h isc-interface.h \
-	prot-a-parse.h cache.h tmp-limits.h prot-a-send-async.h connections.h \
-	log.h prot-a.h dbck-cache.h lyskomd.h ram-output.h disk-cache.h \
-	manipulate.h ram-parse.h end-of-atomic.h memory.h send-async.h exp.h \
-	minmax.h internal-connections.h mux-parse.h \
-	internal-services.h mux.h text-garb.h \
-	version.incl cache-node.h
-
-# See config/sun4os4-defs.make about LIBRESOLV if you are running SunOS 4.1.1.
-
-LIBS = -lisc-new$(PROFILE-LIB-SUFFIX) -lmisc$(PROFILE-LIB-SUFFIX) \
-	-llyskom-server$(PROFILE-LIB-SUFFIX) -lansi$(PROFILE-LIB-SUFFIX) \
-	$(LIBRESOLV) $(LIBIDENT) -lregex
-
-TARGET = -DSERVER
-
-
-# Files that implements protocol A.
-PROTA =  prot-a-output.o prot-a-parse-arg.o prot-a-parse.o prot-a.o \
-	 prot-a-send-async.o
-
-PROTA_SRCS = prot-a-output.c prot-a-parse-arg.c prot-a-parse.c prot-a.c \
-	     prot-a-send-async.c
-
-MUX = mux.o mux-parse.o
-
-MUX_SRCS = mux.c mux-parse.c
-# Implementations of the atomic calls.
-
-ATOMS = text.o membership.o person.o conference.o session.o admin.o \
-	regex-match.o
-ATOMS_SRCS = text.c membership.c person.c conference.c session.c admin.c \
-	regex-match.o
-
-# These files are needed by all versions of the LysKOM server.
-GENOBJS = connections.o log.o $(ATOMS) \
-          kom-types.o \
-          send-async.o server-config.o text-garb.o \
-          missing-ansi.o isc-parse.o memory.o $(PROTA) $(MUX) \
-	  internal-connections.o rfc931.o isc-malloc.o
-
-GEN_SRCS = connections.c log.c $(ATOMS_SRCS) \
-          kom-types.c \
-          send-async.c server-config.c text-garb.c \
-          missing-ansi.c isc-parse.c memory.c $(PROTA_SRCS) $(MUX_SRCS) \
-	  internal-connections.c rfc931.c isc-malloc.c
-
-# Files for lyskomd.
-
-DISKOBJS = ramkomd.o ram-smalloc.o simple-cache.o ram-parse.o ram-output.o \
-	disk-end-of-atomic.o cache-node.o string-malloc.o
-
-DISK_SRCS = ramkomd.c ram-smalloc.c simple-cache.c ram-parse.c ram-output.c \
-	disk-end-of-atomic.c cache-node.c string-malloc.c
-
-
-DBCK = dbck.o dbck-cache.o ram-smalloc.o ram-parse.o server-config.o\
-	kom-types.o\
-	missing-ansi.o ram-output.o memory.o
-
-DBCK_SRCS = dbck.c dbck-cache.c ram-smalloc.c ram-parse.c server-config.c\
-	kom-types.c\
-	missing-ansi.c ram-output.c memory.c
-
-ENCRYPT = encrypt-passwd.o dbck-cache.o ram-smalloc.o ram-parse.o server-config.o\
-	kom-types.o\
-	missing-ansi.o ram-output.o memory.o
-
-SPECIALS = call-switch.incl com.h fnc-def-init.incl prot-a-parse-arg.c\
-	prot-a-parse-arg.h fncdef-no-str-limit.txt .gdbinit
-
-SRCS = $(GEN_SRCS) $(RAM_SRCS) $(DISK_SRCS) $(LYS_SRCS) $(DBCK_SRCS)
-
-PROGRAMS = lyskomd dbck
-
-
-all binaries: $(PROGRAMS)
-
-includes: com.h
-	cp com.h $(INCLUDEDIR)
-
-libraries:;
-
-lyskomd: $(DISKOBJS) $(GENOBJS)
-	$(CC) $(LDFLAGS) -o lyskomd $(DISKOBJS) $(GENOBJS) $(LIBS)
-
-encrypt: $(ENCRYPT)
-	$(CC) $(LDFLAGS) -o enrypt $(ENCRYPT) $(LIBS)
-
-dbck: $(DBCK)
-	$(CC) $(LDFLAGS) -o dbck $(DBCK) $(LIBS)
-
-call-switch.incl: call-switch.awk fncdef-no-str-limit.txt
-	$(AWK) -f call-switch.awk fncdef-no-str-limit.txt > call-switch.incl
-
-com.h: com-h.awk fncdef-no-str-limit.txt
-	$(AWK) -f com-h.awk fncdef-no-str-limit.txt > com.h
-
-fnc-def-init.incl: fnc-def-init.awk fncdef-no-str-limit.txt
-	$(AWK) -f fnc-def-init.awk fncdef-no-str-limit.txt > fnc-def-init.incl
-
-prot-a-parse-arg.c: prot-a-parse-arg-c.awk fncdef.txt prot-a-parse-arg.h
-	$(AWK) -f prot-a-parse-arg-c.awk fncdef.txt > prot-a-parse-arg.c
-
-prot-a-parse-arg.h: prot-a-parse-arg-h.awk fncdef-no-str-limit.txt
-	$(AWK) -f prot-a-parse-arg-h.awk fncdef-no-str-limit.txt > \
-		prot-a-parse-arg.h
-
-fncdef-no-str-limit.txt: fncdef.txt
-	(echo \# Do not edit this file! It is generated from fncdef.txt.;\
-	cat fncdef.txt) | sed 's/([^)]*)//g' > fncdef-no-str-limit.txt
-
-.gdbinit: Topdir.make
-	$(RM) -f .gdbinit
-	echo handle 13 nostop noprint 			>.gdbinit
-	echo dir $(TOPDIR)/src/libraries/libcommon	>>.gdbinit
-	echo dir $(TOPDIR)/src/libraries/libansi	>>.gdbinit
-	echo dir $(TOPDIR)/src/libraries/libisc		>>.gdbinit
-	echo dir $(TOPDIR)/src/libraries/libmisc	>>.gdbinit
-
-
-install:  $(PROGRAMS)
-	echo Server not installed.
-#	cp lyskomd $(DESTDIR)/ramkomd	# The utilites wants ramkomd.
-#	cp dbck $(DESTDIR)/
-#	strip $(DESTDIR)/dbck
-# Don't strip ramkomd - we want debugging info!
-
-clean:
-	$(RM) $(GENERIC-CLEAN) $(PROGRAMS)
-
-distclean: clean
-	$(RM) $(GENERIC-DIST-CLEAN) $(SPECIALS)
-
-specials: $(SPECIALS)
-
-tags:
-	$(RM) TAGS
-	etags -t $(INCLUDEDIR)/*.h *.h \
-		$(TOPDIR)/src/libraries/libisc-new/src/*.h \
-		$(TOPDIR)/src/libraries/lib*/*.h \
-		*.c \
-		$(TOPDIR)/src/libraries/libisc-new/src/*.c \
-		$(TOPDIR)/src/libraries/lib*/*.c
-
-include $(SCRIPTDIR)/Parallell-depend.make
-
-include dependencies
diff --git a/src/server/aux-item-def.tab.c b/src/server/aux-item-def.tab.c
deleted file mode 100644
index 4cdfff867..000000000
--- a/src/server/aux-item-def.tab.c
+++ /dev/null
@@ -1,1454 +0,0 @@
-
-/*  A Bison parser, made from ./aux-item-def.y
- by  GNU Bison version 1.25
-  */
-
-#define YYBISON 1  /* Identify Bison output.  */
-
-#define yyparse aux_item_def_parse
-#define yylex aux_item_def_lex
-#define yyerror aux_item_def_error
-#define yylval aux_item_def_lval
-#define yychar aux_item_def_char
-#define yydebug aux_item_def_debug
-#define yynerrs aux_item_def_nerrs
-#define YYLSP_NEEDED
-
-#define	NUMBER	258
-#define	BOOLEAN	259
-#define	ID	260
-#define	STRING	261
-#define	DISABLED	262
-#define	TEXT	263
-#define	CONFERENCE	264
-#define	LETTERBOX	265
-#define	TOK_SERVER	266
-#define	TOK_ANY	267
-#define	VOID	268
-#define	CREATE	269
-#define	MODIFY	270
-
-#line 1 "./aux-item-def.y"
-
-/*
- * $Id: aux-item-def.tab.c,v 1.6 1999/05/12 13:24:56 byers Exp $
- * Copyright (C) 1994, 1995, 1996  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-
-
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-#ifdef HAVE_STRING_H
-# include <string.h>
-#endif
-#if STDC_HEADERS || HAVE_STRING_H
-#  include <string.h>
-#else
-#  include <strings.h>
-#endif
-#ifdef HAVE_STDARG_H
-#  include <stdarg.h>
-#endif
-#include <malloc.h>
-
-#include "kom-types.h"
-#include "aux-items.h"
-#include "s-string.h"
-#include "server/smalloc.h"
-#include "lyskomd.h"
-#include "debug.h"
-#include "log.h"
-
-BUGDECL;    
-
-#define YYDEBUG 1
-    
-static Aux_item_definition      def;
-static Bool                     errorFlag = FALSE;
-
-#define CHK_ASSIGN(_i_, _f_, _t_, _d_, _e_, _l_) \
-        found = found || aux_item_def_check_assign(_i_,_d_,&def._f_,_t_,&(_e_),_l_)
-
-#define CHK_FLAG_A(_i_, _f_, _d_, _e_, _l_) \
-        if (!s_strcmp(s_fcrea_str(_i_),_d_)) \
-        { \
-            found = 1; \
-            if (_e_.type != BOOLEAN ) \
-            { \
-                  aux_item_def_error_line = _l_; \
-                yyerror("invalid type: expected %s, got %s", \
-                        aux_item_def_typename(BOOLEAN), \
-                        aux_item_def_typename(_e_.type)); \
-            } \
-            if (_e_.val.num) { def.set_flags._f_ = 1; } \
-            else { def.clear_flags._f_ = 1; } \
-        } 
-
-#define yyin aux_item_def_in
-#define yylineno aux_item_def_lineno
-
-extern int yylex(void);
-
-static char *inputFile;
-int aux_item_def_error_line;
-extern int yylineno;
-
-#if defined(HAVE_VFPRINTF) && defined(HAVE_STDARG_H)
-void yyerror(const char * format, ...)
-#  if HAVE_ATTRIBUTE_FORMAT_PRINTF
-    __attribute__ ((format (printf, 1, 2)))
-#  endif
-    ;
-#else
-void yyerror();
-#endif
-
-struct aux_item_def_value_type;
-static int  aux_item_def_check_assign(const char  *,
-                                      String,
-                                      void  *,
-                                      int,
-                                      struct aux_item_def_value_type *,
-                                      int);
-static const char *aux_item_def_typename(int);
-short aux_item_def_check_trigger(const char *check_name,
-                                 int type,
-                                 String trigger_name,
-                                 String function_name,
-                                 unsigned long *counter,
-                                 Aux_item_trigger **triggers);
-
-short aux_item_def_check_validate(const char *check_name,
-                                  String field_name,
-                                  int type,
-                                  String data,
-                                  Aux_item_definition *def);
-
-
-#define YYERROR_VERBOSE
-
-#line 122 "./aux-item-def.y"
-typedef union
-{
-    String          str;
-    unsigned long   num;
-    struct aux_item_def_value_type
-    {
-        int         type;
-        union
-        {
-            String          str;
-            unsigned long   num;
-        } val;
-    } value;
-} YYSTYPE;
-
-#ifndef YYLTYPE
-typedef
-  struct yyltype
-    {
-      int timestamp;
-      int first_line;
-      int first_column;
-      int last_line;
-      int last_column;
-      char *text;
-   }
-  yyltype;
-
-#define YYLTYPE yyltype
-#endif
-
-#include <stdio.h>
-
-#ifndef __cplusplus
-#ifndef __STDC__
-#define const
-#endif
-#endif
-
-
-
-#define	YYFINAL		39
-#define	YYFLAG		-32768
-#define	YYNTBASE	24
-
-#define YYTRANSLATE(x) ((unsigned)(x) <= 270 ? yytranslate[x] : 33)
-
-static const char yytranslate[] = {     0,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,    19,
-    20,     2,     2,    21,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,    18,    23,     2,
-    22,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,    16,     2,    17,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-     2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
-     6,     7,     8,     9,    10,    11,    12,    13,    14,    15
-};
-
-#if YYDEBUG != 0
-static const short yyprhs[] = {     0,
-     0,     3,     4,     9,    16,    24,    28,    30,    33,    36,
-    39,    41,    44,    47,    50,    51,    54,    57,    58,    63,
-    65,    67,    69,    73
-};
-
-static const short yyrhs[] = {    24,
-    25,     0,     0,    26,    16,    30,    17,     0,     3,    18,
-     5,    19,    27,    20,     0,     3,    18,     5,    19,    27,
-    20,     7,     0,    27,    21,    28,     0,    28,     0,    29,
-     8,     0,    29,     9,     0,    29,    10,     0,    11,     0,
-    29,    12,     0,    29,    14,     0,    29,    15,     0,     0,
-    30,    31,     0,    30,     1,     0,     0,     5,    22,    32,
-    23,     0,     4,     0,     6,     0,     3,     0,     5,    19,
-    20,     0,    13,     0
-};
-
-#endif
-
-#if YYDEBUG != 0
-static const short yyrline[] = { 0,
-   147,   148,   151,   161,   174,   184,   185,   188,   189,   190,
-   192,   193,   202,   203,   204,   206,   207,   208,   211,   293,
-   294,   295,   296,   297
-};
-#endif
-
-
-#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
-
-static const char * const yytname[] = {   "$","error","$undefined.","NUMBER",
-"BOOLEAN","ID","STRING","DISABLED","TEXT","CONFERENCE","LETTERBOX","TOK_SERVER",
-"TOK_ANY","VOID","CREATE","MODIFY","'{'","'}'","':'","'('","')'","','","'='",
-"';'","items","item","head","targets","target","action","body","assign","value", NULL
-};
-#endif
-
-static const short yyr1[] = {     0,
-    24,    24,    25,    26,    26,    27,    27,    28,    28,    28,
-    28,    28,    29,    29,    29,    30,    30,    30,    31,    32,
-    32,    32,    32,    32
-};
-
-static const short yyr2[] = {     0,
-     2,     0,     4,     6,     7,     3,     1,     2,     2,     2,
-     1,     2,     2,     2,     0,     2,     2,     0,     4,     1,
-     1,     1,     3,     1
-};
-
-static const short yydefact[] = {     2,
-     0,     0,     1,     0,     0,    18,     0,     0,    15,    17,
-     0,     3,    16,    11,     0,     7,     0,     0,     4,    15,
-     8,     9,    10,    12,    13,    14,    22,    20,     0,    21,
-    24,     0,     5,     6,     0,    19,    23,     0,     0
-};
-
-static const short yydefgoto[] = {     1,
-     3,     4,    15,    16,    17,     8,    13,    32
-};
-
-static const short yypact[] = {-32768,
-    10,   -15,-32768,    -7,     6,-32768,    -5,    -1,     1,-32768,
-    -2,-32768,-32768,-32768,   -19,-32768,     9,     2,    15,     1,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,     7,-32768,
--32768,     4,-32768,-32768,     5,-32768,-32768,    28,-32768
-};
-
-static const short yypgoto[] = {-32768,
--32768,-32768,-32768,    11,-32768,-32768,-32768,-32768
-};
-
-
-#define	YYLAST		31
-
-
-static const short yytable[] = {    10,
-    19,    20,     5,    11,    27,    28,    29,    30,     6,    38,
-     7,    14,     2,     9,    31,    12,    21,    22,    23,    18,
-    24,    33,    25,    26,    37,    35,    36,    39,     0,     0,
-    34
-};
-
-static const short yycheck[] = {     1,
-    20,    21,    18,     5,     3,     4,     5,     6,    16,     0,
-     5,    11,     3,    19,    13,    17,     8,     9,    10,    22,
-    12,     7,    14,    15,    20,    19,    23,     0,    -1,    -1,
-    20
-};
-/* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
-#line 3 "/sw/gnu/share/bison.simple"
-
-/* Skeleton output parser for bison,
-   Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
-
-   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, 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.
-
-   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.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
-#ifndef alloca
-#ifdef __GNUC__
-#define alloca __builtin_alloca
-#else /* not GNU C.  */
-#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
-#include <alloca.h>
-#else /* not sparc */
-#if defined (MSDOS) && !defined (__TURBOC__)
-#include <malloc.h>
-#else /* not MSDOS, or __TURBOC__ */
-#if defined(_AIX)
-#include <malloc.h>
- #pragma alloca
-#else /* not MSDOS, __TURBOC__, or _AIX */
-#ifdef __hpux
-#ifdef __cplusplus
-extern "C" {
-void *alloca (unsigned int);
-};
-#else /* not __cplusplus */
-void *alloca ();
-#endif /* not __cplusplus */
-#endif /* __hpux */
-#endif /* not _AIX */
-#endif /* not MSDOS, or __TURBOC__ */
-#endif /* not sparc.  */
-#endif /* not GNU C.  */
-#endif /* alloca not defined.  */
-
-/* This is the parser code that is written into each bison parser
-  when the %semantic_parser declaration is not specified in the grammar.
-  It was written by Richard Stallman by simplifying the hairy parser
-  used when %semantic_parser is specified.  */
-
-/* Note: there must be only one dollar sign in this file.
-   It is replaced by the list of actions, each action
-   as one case of the switch.  */
-
-#define yyerrok		(yyerrstatus = 0)
-#define yyclearin	(yychar = YYEMPTY)
-#define YYEMPTY		-2
-#define YYEOF		0
-#define YYACCEPT	return(0)
-#define YYABORT 	return(1)
-#define YYERROR		goto yyerrlab1
-/* Like YYERROR except do call yyerror.
-   This remains here temporarily to ease the
-   transition to the new meaning of YYERROR, for GCC.
-   Once GCC version 2 has supplanted version 1, this can go.  */
-#define YYFAIL		goto yyerrlab
-#define YYRECOVERING()  (!!yyerrstatus)
-#define YYBACKUP(token, value) \
-do								\
-  if (yychar == YYEMPTY && yylen == 1)				\
-    { yychar = (token), yylval = (value);			\
-      yychar1 = YYTRANSLATE (yychar);				\
-      YYPOPSTACK;						\
-      goto yybackup;						\
-    }								\
-  else								\
-    { yyerror ("syntax error: cannot back up"); YYERROR; }	\
-while (0)
-
-#define YYTERROR	1
-#define YYERRCODE	256
-
-#ifndef YYPURE
-#define YYLEX		yylex()
-#endif
-
-#ifdef YYPURE
-#ifdef YYLSP_NEEDED
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, &yylloc, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval, &yylloc)
-#endif
-#else /* not YYLSP_NEEDED */
-#ifdef YYLEX_PARAM
-#define YYLEX		yylex(&yylval, YYLEX_PARAM)
-#else
-#define YYLEX		yylex(&yylval)
-#endif
-#endif /* not YYLSP_NEEDED */
-#endif
-
-/* If nonreentrant, generate the variables here */
-
-#ifndef YYPURE
-
-int	yychar;			/*  the lookahead symbol		*/
-YYSTYPE	yylval;			/*  the semantic value of the		*/
-				/*  lookahead symbol			*/
-
-#ifdef YYLSP_NEEDED
-YYLTYPE yylloc;			/*  location data for the lookahead	*/
-				/*  symbol				*/
-#endif
-
-int yynerrs;			/*  number of parse errors so far       */
-#endif  /* not YYPURE */
-
-#if YYDEBUG != 0
-int yydebug;			/*  nonzero means print parse trace	*/
-/* Since this is uninitialized, it does not stop multiple parsers
-   from coexisting.  */
-#endif
-
-/*  YYINITDEPTH indicates the initial size of the parser's stacks	*/
-
-#ifndef	YYINITDEPTH
-#define YYINITDEPTH 200
-#endif
-
-/*  YYMAXDEPTH is the maximum size the stacks can grow to
-    (effective only if the built-in stack extension method is used).  */
-
-#if YYMAXDEPTH == 0
-#undef YYMAXDEPTH
-#endif
-
-#ifndef YYMAXDEPTH
-#define YYMAXDEPTH 10000
-#endif
-
-/* Prevent warning if -Wstrict-prototypes.  */
-#ifdef __GNUC__
-int yyparse (void);
-#endif
-
-#if __GNUC__ > 1		/* GNU C and GNU C++ define this.  */
-#define __yy_memcpy(TO,FROM,COUNT)	__builtin_memcpy(TO,FROM,COUNT)
-#else				/* not GNU C or C++ */
-#ifndef __cplusplus
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (to, from, count)
-     char *to;
-     char *from;
-     int count;
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
-
-  while (i-- > 0)
-    *t++ = *f++;
-}
-
-#else /* __cplusplus */
-
-/* This is the most reliable way to avoid incompatibilities
-   in available built-in functions on various systems.  */
-static void
-__yy_memcpy (char *to, char *from, int count)
-{
-  register char *f = from;
-  register char *t = to;
-  register int i = count;
-
-  while (i-- > 0)
-    *t++ = *f++;
-}
-
-#endif
-#endif
-
-#line 196 "/sw/gnu/share/bison.simple"
-
-/* The user can define YYPARSE_PARAM as the name of an argument to be passed
-   into yyparse.  The argument should have type void *.
-   It should actually point to an object.
-   Grammar actions can access the variable by casting it
-   to the proper pointer type.  */
-
-#ifdef YYPARSE_PARAM
-#ifdef __cplusplus
-#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL
-#else /* not __cplusplus */
-#define YYPARSE_PARAM_ARG YYPARSE_PARAM
-#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
-#endif /* not __cplusplus */
-#else /* not YYPARSE_PARAM */
-#define YYPARSE_PARAM_ARG
-#define YYPARSE_PARAM_DECL
-#endif /* not YYPARSE_PARAM */
-
-int
-yyparse(YYPARSE_PARAM_ARG)
-     YYPARSE_PARAM_DECL
-{
-  register int yystate;
-  register int yyn;
-  register short *yyssp;
-  register YYSTYPE *yyvsp;
-  int yyerrstatus;	/*  number of tokens to shift before error messages enabled */
-  int yychar1 = 0;		/*  lookahead token as an internal (translated) token number */
-
-  short	yyssa[YYINITDEPTH];	/*  the state stack			*/
-  YYSTYPE yyvsa[YYINITDEPTH];	/*  the semantic value stack		*/
-
-  short *yyss = yyssa;		/*  refer to the stacks thru separate pointers */
-  YYSTYPE *yyvs = yyvsa;	/*  to allow yyoverflow to reallocate them elsewhere */
-
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylsa[YYINITDEPTH];	/*  the location stack			*/
-  YYLTYPE *yyls = yylsa;
-  YYLTYPE *yylsp;
-
-#define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
-#else
-#define YYPOPSTACK   (yyvsp--, yyssp--)
-#endif
-
-  int yystacksize = YYINITDEPTH;
-
-#ifdef YYPURE
-  int yychar;
-  YYSTYPE yylval;
-  int yynerrs;
-#ifdef YYLSP_NEEDED
-  YYLTYPE yylloc;
-#endif
-#endif
-
-  YYSTYPE yyval;		/*  the variable used to return		*/
-				/*  semantic values from the action	*/
-				/*  routines				*/
-
-  int yylen;
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Starting parse\n");
-#endif
-
-  yystate = 0;
-  yyerrstatus = 0;
-  yynerrs = 0;
-  yychar = YYEMPTY;		/* Cause a token to be read.  */
-
-  /* Initialize stack pointers.
-     Waste one element of value and location stack
-     so that they stay on the same level as the state stack.
-     The wasted elements are never initialized.  */
-
-  yyssp = yyss - 1;
-  yyvsp = yyvs;
-#ifdef YYLSP_NEEDED
-  yylsp = yyls;
-#endif
-
-/* Push a new state, which is found in  yystate  .  */
-/* In all cases, when you get here, the value and location stacks
-   have just been pushed. so pushing a state here evens the stacks.  */
-yynewstate:
-
-  *++yyssp = yystate;
-
-  if (yyssp >= yyss + yystacksize - 1)
-    {
-      /* Give user a chance to reallocate the stack */
-      /* Use copies of these so that the &'s don't force the real ones into memory. */
-      YYSTYPE *yyvs1 = yyvs;
-      short *yyss1 = yyss;
-#ifdef YYLSP_NEEDED
-      YYLTYPE *yyls1 = yyls;
-#endif
-
-      /* Get the current used size of the three stacks, in elements.  */
-      int size = yyssp - yyss + 1;
-
-#ifdef yyoverflow
-      /* Each stack pointer address is followed by the size of
-	 the data in use in that stack, in bytes.  */
-#ifdef YYLSP_NEEDED
-      /* This used to be a conditional around just the two extra args,
-	 but that might be undefined if yyoverflow is a macro.  */
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yyls1, size * sizeof (*yylsp),
-		 &yystacksize);
-#else
-      yyoverflow("parser stack overflow",
-		 &yyss1, size * sizeof (*yyssp),
-		 &yyvs1, size * sizeof (*yyvsp),
-		 &yystacksize);
-#endif
-
-      yyss = yyss1; yyvs = yyvs1;
-#ifdef YYLSP_NEEDED
-      yyls = yyls1;
-#endif
-#else /* no yyoverflow */
-      /* Extend the stack our own way.  */
-      if (yystacksize >= YYMAXDEPTH)
-	{
-	  yyerror("parser stack overflow");
-	  return 2;
-	}
-      yystacksize *= 2;
-      if (yystacksize > YYMAXDEPTH)
-	yystacksize = YYMAXDEPTH;
-      yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
-      __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
-      yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
-      __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
-#ifdef YYLSP_NEEDED
-      yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
-      __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
-#endif
-#endif /* no yyoverflow */
-
-      yyssp = yyss + size - 1;
-      yyvsp = yyvs + size - 1;
-#ifdef YYLSP_NEEDED
-      yylsp = yyls + size - 1;
-#endif
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Stack size increased to %d\n", yystacksize);
-#endif
-
-      if (yyssp >= yyss + yystacksize - 1)
-	YYABORT;
-    }
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Entering state %d\n", yystate);
-#endif
-
-  goto yybackup;
- yybackup:
-
-/* Do appropriate processing given the current state.  */
-/* Read a lookahead token if we need one and don't already have one.  */
-/* yyresume: */
-
-  /* First try to decide what to do without reference to lookahead token.  */
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yydefault;
-
-  /* Not known => get a lookahead token if don't already have one.  */
-
-  /* yychar is either YYEMPTY or YYEOF
-     or a valid token in external form.  */
-
-  if (yychar == YYEMPTY)
-    {
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Reading a token: ");
-#endif
-      yychar = YYLEX;
-    }
-
-  /* Convert token to internal form (in yychar1) for indexing tables with */
-
-  if (yychar <= 0)		/* This means end of input. */
-    {
-      yychar1 = 0;
-      yychar = YYEOF;		/* Don't call YYLEX any more */
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Now at end of input.\n");
-#endif
-    }
-  else
-    {
-      yychar1 = YYTRANSLATE(yychar);
-
-#if YYDEBUG != 0
-      if (yydebug)
-	{
-	  fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-	  /* Give the individual parser a way to print the precise meaning
-	     of a token, for further debugging info.  */
-#ifdef YYPRINT
-	  YYPRINT (stderr, yychar, yylval);
-#endif
-	  fprintf (stderr, ")\n");
-	}
-#endif
-    }
-
-  yyn += yychar1;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
-    goto yydefault;
-
-  yyn = yytable[yyn];
-
-  /* yyn is what to do for this token type in this state.
-     Negative => reduce, -yyn is rule number.
-     Positive => shift, yyn is new state.
-       New state is final state => don't bother to shift,
-       just return success.
-     0, or most negative number => error.  */
-
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrlab;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrlab;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-  /* Shift the lookahead token.  */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
-#endif
-
-  /* Discard the token being shifted unless it is eof.  */
-  if (yychar != YYEOF)
-    yychar = YYEMPTY;
-
-  *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  /* count tokens shifted since error; after three, turn off error status.  */
-  if (yyerrstatus) yyerrstatus--;
-
-  yystate = yyn;
-  goto yynewstate;
-
-/* Do the default action for the current state.  */
-yydefault:
-
-  yyn = yydefact[yystate];
-  if (yyn == 0)
-    goto yyerrlab;
-
-/* Do a reduction.  yyn is the number of a rule to reduce with.  */
-yyreduce:
-  yylen = yyr2[yyn];
-  if (yylen > 0)
-    yyval = yyvsp[1-yylen]; /* implement default value of the action */
-
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      int i;
-
-      fprintf (stderr, "Reducing via rule %d (line %d), ",
-	       yyn, yyrline[yyn]);
-
-      /* Print the symbols being reduced, and their result.  */
-      for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
-	fprintf (stderr, "%s ", yytname[yyrhs[i]]);
-      fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
-    }
-#endif
-
-
-  switch (yyn) {
-
-case 3:
-#line 152 "./aux-item-def.y"
-{
-                if (def.tag != 0)
-                {
-                    aux_item_definition_add(&def);
-                }
-                def = empty_aux_item_definition;
-            ;
-    break;}
-case 4:
-#line 162 "./aux-item-def.y"
-{
-                def.tag = yyvsp[-5].num;
-                def.name = s_crea_c_str(yyvsp[-3].str);
-                if (buglevel)
-                {
-                    kom_log("Parsing definition of aux-iem %ld (%s)\n",
-                            def.tag, def.name);
-                }
-                s_clear(&(yyvsp[-3].str));
-                yyvsp[-3].str = EMPTY_STRING;
-                yylval.str = EMPTY_STRING;
-            ;
-    break;}
-case 5:
-#line 175 "./aux-item-def.y"
-{
-                def.tag = 0;
-                def.name = s_crea_c_str(yyvsp[-4].str);
-                s_clear(&(yyvsp[-4].str));
-                yyvsp[-4].str = EMPTY_STRING;
-                yylval.str = EMPTY_STRING;
-            ;
-    break;}
-case 8:
-#line 188 "./aux-item-def.y"
-{ def.texts = TRUE; def.text_a = yyvsp[-1].num; ;
-    break;}
-case 9:
-#line 189 "./aux-item-def.y"
-{ def.confs = TRUE; def.conf_a = yyvsp[-1].num; ;
-    break;}
-case 10:
-#line 190 "./aux-item-def.y"
-{ def.letterboxes = TRUE;
-                                        def.conf_a = yyvsp[-1].num; ;
-    break;}
-case 11:
-#line 192 "./aux-item-def.y"
-{ def.system = TRUE; ;
-    break;}
-case 12:
-#line 194 "./aux-item-def.y"
-{
-                def.texts       = TRUE; def.text_a = yyvsp[-1].num;
-                def.confs       = TRUE; def.conf_a = yyvsp[-1].num;
-                def.letterboxes = TRUE; 
-                def.system      = TRUE;
-            ;
-    break;}
-case 13:
-#line 202 "./aux-item-def.y"
-{ yyval.num = yyvsp[-1].num | AUX_ITEM_ADD_ON_CREATE; ;
-    break;}
-case 14:
-#line 203 "./aux-item-def.y"
-{ yyval.num = yyvsp[-1].num | AUX_ITEM_ADD_ON_MODIFY; ;
-    break;}
-case 15:
-#line 204 "./aux-item-def.y"
-{ yyval.num = 0; ;
-    break;}
-case 19:
-#line 212 "./aux-item-def.y"
-{
-                int found = 0;
-
-                CHK_ASSIGN("author-only", author_only, BOOLEAN,
-                           yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_ASSIGN("supervisor-only", supervisor_only,
-                           BOOLEAN, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_ASSIGN("system-only", system_only,
-                           BOOLEAN, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_ASSIGN("inherit-limit", inherit_limit, NUMBER,
-                           yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_ASSIGN("unique", one_per_person, BOOLEAN,
-                           yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_ASSIGN("permanent", may_not_delete, BOOLEAN,
-                           yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_FLAG_A("inherit", inherit, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_FLAG_A("secret", secret, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_FLAG_A("hide-creator", hide_creator,
-                           yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_FLAG_A("dont-garb", dont_garb, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line);
-                CHK_FLAG_A("reserved-2", reserved3, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); 
-                CHK_FLAG_A("reserved-3", reserved4, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); 
-                CHK_FLAG_A("reserved-4", reserved5, yyvsp[-3].str, yyvsp[-1].value, yylsp[-1].first_line); 
-
-
-                found = found ? 1 :
-                    aux_item_def_check_validate("validate",
-                                                yyvsp[-3].str,
-                                                yyvsp[-1].value.type,
-                                                yyvsp[-1].value.val.str,
-                                                &def);
-
-                found = found ? 1 :
-                    aux_item_def_check_trigger("delete-trigger",
-                                               yyvsp[-1].value.type,
-                                               yyvsp[-3].str,
-                                               yyvsp[-1].value.val.str,
-                                               &def.num_delete_triggers,
-                                               &def.delete_triggers);
-
-
-                found = found ? 1 :
-                    aux_item_def_check_trigger("undelete-trigger",
-                                               yyvsp[-1].value.type,
-                                               yyvsp[-3].str,
-                                               yyvsp[-1].value.val.str,
-                                               &def.num_undelete_triggers,
-                                               &def.undelete_triggers);
-
-
-                found = found ? 1 :
-                    aux_item_def_check_trigger("add-trigger",
-                                               yyvsp[-1].value.type,
-                                               yyvsp[-3].str,
-                                               yyvsp[-1].value.val.str,
-                                               &def.num_add_triggers,
-                                               &def.add_triggers);
-
-
-                if (found == 0)
-                {
-                    char *tmp;
-
-                    tmp = s_crea_c_str(yyvsp[-3].str);
-                    aux_item_def_error_line = yylsp[-3].first_line;
-                    yyerror("invalid field name: %s", tmp);
-                    free(tmp);
-                }
-
-                if (yyvsp[-1].value.type == STRING)
-                {
-                    s_clear(&(yyvsp[-1].value).val.str);
-                    yyvsp[-1].value.val.str = EMPTY_STRING;
-                    yylval.value.val.str = EMPTY_STRING;
-                }
-                s_clear(&(yyvsp[-3].str));
-                yyvsp[-3].str = EMPTY_STRING;
-                yylval.str = EMPTY_STRING;
-            ;
-    break;}
-case 20:
-#line 293 "./aux-item-def.y"
-{ yyval.value.val.num = yyvsp[0].num; yyval.value.type = BOOLEAN; ;
-    break;}
-case 21:
-#line 294 "./aux-item-def.y"
-{ yyval.value.val.str = yyvsp[0].str; yyval.value.type = STRING;  ;
-    break;}
-case 22:
-#line 295 "./aux-item-def.y"
-{ yyval.value.val.num = yyvsp[0].num; yyval.value.type = NUMBER;  ;
-    break;}
-case 23:
-#line 296 "./aux-item-def.y"
-{ yyval.value.val.str = yyvsp[-2].str; yyval.value.type = ID;;
-    break;}
-case 24:
-#line 297 "./aux-item-def.y"
-{ YYERROR; ;
-    break;}
-}
-   /* the action file gets copied in in place of this dollarsign */
-#line 498 "/sw/gnu/share/bison.simple"
-
-  yyvsp -= yylen;
-  yyssp -= yylen;
-#ifdef YYLSP_NEEDED
-  yylsp -= yylen;
-#endif
-
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
-
-  *++yyvsp = yyval;
-
-#ifdef YYLSP_NEEDED
-  yylsp++;
-  if (yylen == 0)
-    {
-      yylsp->first_line = yylloc.first_line;
-      yylsp->first_column = yylloc.first_column;
-      yylsp->last_line = (yylsp-1)->last_line;
-      yylsp->last_column = (yylsp-1)->last_column;
-      yylsp->text = 0;
-    }
-  else
-    {
-      yylsp->last_line = (yylsp+yylen-1)->last_line;
-      yylsp->last_column = (yylsp+yylen-1)->last_column;
-    }
-#endif
-
-  /* Now "shift" the result of the reduction.
-     Determine what state that goes to,
-     based on the state we popped back to
-     and the rule number reduced by.  */
-
-  yyn = yyr1[yyn];
-
-  yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
-  if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
-    yystate = yytable[yystate];
-  else
-    yystate = yydefgoto[yyn - YYNTBASE];
-
-  goto yynewstate;
-
-yyerrlab:   /* here on detecting error */
-
-  if (! yyerrstatus)
-    /* If not already recovering from an error, report this error.  */
-    {
-      ++yynerrs;
-
-#ifdef YYERROR_VERBOSE
-      yyn = yypact[yystate];
-
-      if (yyn > YYFLAG && yyn < YYLAST)
-	{
-	  int size = 0;
-	  char *msg;
-	  int x, count;
-
-	  count = 0;
-	  /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
-	  for (x = (yyn < 0 ? -yyn : 0);
-	       x < (sizeof(yytname) / sizeof(char *)); x++)
-	    if (yycheck[x + yyn] == x)
-	      size += strlen(yytname[x]) + 15, count++;
-	  msg = (char *) malloc(size + 15);
-	  if (msg != 0)
-	    {
-	      strcpy(msg, "parse error");
-
-	      if (count < 5)
-		{
-		  count = 0;
-		  for (x = (yyn < 0 ? -yyn : 0);
-		       x < (sizeof(yytname) / sizeof(char *)); x++)
-		    if (yycheck[x + yyn] == x)
-		      {
-			strcat(msg, count == 0 ? ", expecting `" : " or `");
-			strcat(msg, yytname[x]);
-			strcat(msg, "'");
-			count++;
-		      }
-		}
-	      yyerror(msg);
-	      free(msg);
-	    }
-	  else
-	    yyerror ("parse error; also virtual memory exceeded");
-	}
-      else
-#endif /* YYERROR_VERBOSE */
-	yyerror("parse error");
-    }
-
-  goto yyerrlab1;
-yyerrlab1:   /* here on error raised explicitly by an action */
-
-  if (yyerrstatus == 3)
-    {
-      /* if just tried and failed to reuse lookahead token after an error, discard it.  */
-
-      /* return failure if at end of input */
-      if (yychar == YYEOF)
-	YYABORT;
-
-#if YYDEBUG != 0
-      if (yydebug)
-	fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
-#endif
-
-      yychar = YYEMPTY;
-    }
-
-  /* Else will try to reuse lookahead token
-     after shifting the error token.  */
-
-  yyerrstatus = 3;		/* Each real token shifted decrements this */
-
-  goto yyerrhandle;
-
-yyerrdefault:  /* current state does not do anything special for the error token. */
-
-#if 0
-  /* This is wrong; only states that explicitly want error tokens
-     should shift them.  */
-  yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
-  if (yyn) goto yydefault;
-#endif
-
-yyerrpop:   /* pop the current state because it cannot handle the error token */
-
-  if (yyssp == yyss) YYABORT;
-  yyvsp--;
-  yystate = *--yyssp;
-#ifdef YYLSP_NEEDED
-  yylsp--;
-#endif
-
-#if YYDEBUG != 0
-  if (yydebug)
-    {
-      short *ssp1 = yyss - 1;
-      fprintf (stderr, "Error: state stack now");
-      while (ssp1 != yyssp)
-	fprintf (stderr, " %d", *++ssp1);
-      fprintf (stderr, "\n");
-    }
-#endif
-
-yyerrhandle:
-
-  yyn = yypact[yystate];
-  if (yyn == YYFLAG)
-    goto yyerrdefault;
-
-  yyn += YYTERROR;
-  if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
-    goto yyerrdefault;
-
-  yyn = yytable[yyn];
-  if (yyn < 0)
-    {
-      if (yyn == YYFLAG)
-	goto yyerrpop;
-      yyn = -yyn;
-      goto yyreduce;
-    }
-  else if (yyn == 0)
-    goto yyerrpop;
-
-  if (yyn == YYFINAL)
-    YYACCEPT;
-
-#if YYDEBUG != 0
-  if (yydebug)
-    fprintf(stderr, "Shifting error token, ");
-#endif
-
-  *++yyvsp = yylval;
-#ifdef YYLSP_NEEDED
-  *++yylsp = yylloc;
-#endif
-
-  yystate = yyn;
-  goto yynewstate;
-}
-#line 300 "./aux-item-def.y"
-
-
-extern FILE *yyin;
-
-#if defined(HAVE_VFPRINTF) && defined(HAVE_STDARG_H)
-void yyerror(const char *format, ...)
-{
-    va_list     AP;
-
-    va_start(AP, format);
-    fprintf(stderr, "%s: %d: ", inputFile, aux_item_def_error_line);
-    vfprintf(stderr, format, AP);
-    fprintf(stderr, "\n");
-    fflush(stderr);
-
-    errorFlag = TRUE;
-    va_end(AP);
-}
-#else
-void yyerror(const char *s, 
-             int a, int b, int c, int d, int e, int f, int g)
-{
-    fprintf(stderr, "%s: %d: ",  inputFile, aux_item_def_error_line);
-    fprintf(stderr, format, a, b, c, d, e, f, g);
-    fprintf(stderr, "\n");
-    fflush(stderr);
-
-    errorFlag = TRUE;
-}
-#endif
-
-static const char *aux_item_def_typename(int type)
-{
-    switch (type)
-    {
-    case STRING:  return "string";
-    case NUMBER:  return "number";
-    case BOOLEAN: return "boolean";
-    case ID:      return "identifier";
-    default:
-        return "unknown";
-    }
-}
-
-static int  aux_item_def_check_assign(const char  *id,
-                                      String field,
-                                      void  *data,
-                                      int    type,
-                                      struct aux_item_def_value_type *val,
-                                      int    lineno)
-{
-    if (!s_strcmp(s_fcrea_str(id), field))
-    {
-        if (type != val->type)
-        {
-            aux_item_def_error_line = lineno;
-            yyerror("invalid type: expected %s, got %s",
-                     aux_item_def_typename(type),
-                     aux_item_def_typename(val->type));
-            return 0;
-        }
-        else if (type == STRING)
-        {
-            *((char **)data) = s_crea_c_str(val->val.str);
-        }
-        else if (type == NUMBER)
-        {
-            *((unsigned long *)data) = val->val.num;
-        }
-        else if (type == BOOLEAN)
-        {
-            *((Bool *)data) = val->val.num ? TRUE : FALSE;
-        }
-        else
-        {
-            restart_kom("Internal error: bad type in aux-item definition "
-                        "assignment (can't happen.)\n");
-        }
-        return 1;
-    }
-    else
-    {
-        return 0;
-    }
-}
-
-short aux_item_def_check_trigger(const char *check_name,
-                                 int type,
-                                 String trigger_name,
-                                 String function_name,
-                                 unsigned long *counter,
-                                 Aux_item_trigger **triggers)
-{
-    Aux_item_trigger trigger;
-    char *tmp_string;
-
-    if (s_strcmp(s_fcrea_str(check_name), trigger_name) == 0)
-    {
-        if (type != ID)
-        {
-            yyerror("invalid type: expected %s, got %s", 
-                    aux_item_def_typename(ID), 
-                    aux_item_def_typename(type)); 
-            return 0;
-        }
-
-        tmp_string = s_crea_c_str(function_name);
-        trigger = aux_item_find_trigger(tmp_string);
-        sfree(tmp_string);
-
-        if (trigger == NULL)
-        {
-            yyerror("undefined function: %s",
-                    tmp_string);
-            return 1;
-        }
-
-        *counter += 1;
-        *triggers =
-            srealloc(*triggers,
-                     *counter *
-                     sizeof(Aux_item_trigger));
-        *triggers[*counter-1] = trigger;
-
-        return 1;
-    }
-    return 0;
-}
-
-void parse_aux_item_definitions(char *file)
-{
-    inputFile = file;
-    yyin = fopen(file, "r");
-    if (yyin == NULL)
-    {
-        perror(file);
-        restart_kom("Unable to open aux-item definition file\n");
-    }
-
-    def = empty_aux_item_definition;
-    yyparse();
-
-    if (errorFlag == TRUE)
-    {
-        restart_kom("Errors reading aux-item definition file\n");
-    }
-
-    /*
-      {
-        extern Aux_item_definition *aux_item_definition_list;
-        extern unsigned long num_aux_item_definitions;
-        Aux_item_definition *def;
-
-        fprintf(stderr, "Number of defs: %ld\n", num_aux_item_definitions);
-        def = aux_item_definition_list;
-
-        while (def != NULL)
-        {
-            fprintf(stderr, "Name:            '%s'\n", def->name);
-            fprintf(stderr, "Tag:             %ld\n", def->tag);
-            fprintf(stderr, "Clear flags:     ");
-            if (def->clear_flags.deleted) fprintf(stderr, "deleted ");
-            if (def->clear_flags.inherit) fprintf(stderr, "inherit ");
-            if (def->clear_flags.secret) fprintf(stderr, "secret ");
-            if (def->clear_flags.hide_creator) fprintf(stderr,"hide_creator ");
-            if (def->clear_flags.reserved2) fprintf(stderr, "reserved2 ");
-            if (def->clear_flags.reserved3) fprintf(stderr, "reserved3 ");
-            if (def->clear_flags.reserved4) fprintf(stderr, "reserved4 ");
-            if (def->clear_flags.reserved5) fprintf(stderr, "reserved5 ");
-            fprintf(stderr, "\n");
-            fprintf(stderr, "Set flags:       ");
-            if (def->set_flags.deleted) fprintf(stderr, "deleted ");
-            if (def->set_flags.inherit) fprintf(stderr, "inherit ");
-            if (def->set_flags.secret) fprintf(stderr, "secret ");
-            if (def->set_flags.hide_creator) fprintf(stderr,"hide_creator ");
-            if (def->set_flags.reserved2) fprintf(stderr, "reserved2 ");
-            if (def->set_flags.reserved3) fprintf(stderr, "reserved3 ");
-            if (def->set_flags.reserved4) fprintf(stderr, "reserved4 ");
-            if (def->set_flags.reserved5) fprintf(stderr, "reserved5 ");
-            fprintf(stderr, "\n");
-            fprintf(stderr, "Author only:     %d\n", def->author_only);
-            fprintf(stderr, "Supervisor only: %d\n", def->supervisor_only);
-            fprintf(stderr, "Unique:          %d\n", def->one_per_person);
-            fprintf(stderr, "Permanent:       %d\n", def->may_not_delete);
-            fprintf(stderr, "Inherit limit:   %ld\n", def->inherit_limit);
-            fprintf(stderr, "Texts:           %d\n", def->texts);
-            fprintf(stderr, "Conferences:     %d\n", def->confs);
-            fprintf(stderr, "Letterboxes:     %d\n", def->letterboxes);
-            fprintf(stderr, "Validate regexp: '%s'\n",
-                    def->validate_regexp?def->validate_regexp:"0x0");
-            def = def->next;
-        }
-    }
-    */
-}
-
-
-short aux_item_def_check_validate(const char *check_name,
-                                  String field_name,
-                                  int type,
-                                  String data,
-                                  Aux_item_definition *def)
-{
-    Aux_item_validation_function        validator;
-    char                               *tmp_string;
-
-    if (s_strcmp(s_fcrea_str(check_name), field_name) == 0)
-    {
-        /*
-         * Validator is a function
-         */
-
-        if (type == ID)
-        {
-            tmp_string = s_crea_c_str(data);
-            validator = aux_item_find_validator(tmp_string);
-            sfree(tmp_string);
-
-            if (validator == NULL)
-            {
-                yyerror("undefined function: %s",
-                        tmp_string);
-                return 1;
-            }
-
-            def->num_validators += 1;
-            def->validators = srealloc(def->validators,
-                                       def->num_validators *
-                                       sizeof(*def->validators));
-
-            def->validators[def->num_validators-1].type = AUX_VALIDATE_FUNCTION;
-            def->validators[def->num_validators-1].v.fn.function = validator;
-
-            return 1;
-            
-        }
-        else if (type == STRING)
-        {
-            /*
-             * Validator is a string (regexp)
-             */
-
-            def->num_validators += 1;
-            def->validators = srealloc(def->validators,
-                                       def->num_validators *
-                                       sizeof(*def->validators));
-
-
-            def->validators[def->num_validators-1].type = AUX_VALIDATE_REGEXP;
-            def->validators[def->num_validators-1].v.re.regexp = s_crea_c_str(data);
-        }
-        else
-        {
-            yyerror("invalid type: expected %s or %s, got %s", 
-                    aux_item_def_typename(ID), 
-                    aux_item_def_typename(STRING), 
-                    aux_item_def_typename(type)); 
-            return 0;
-        }
-
-        return 1;
-    }
-    return 0;
-}
diff --git a/src/server/memory.h b/src/server/memory.h
deleted file mode 100644
index a495495c2..000000000
--- a/src/server/memory.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * $Id: memory.h,v 0.6 1991/09/15 10:31:06 linus Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * $Id: memory.h,v 0.6 1991/09/15 10:31:06 linus Exp $
- *
- * The time has come to get some order into this mess.
- *
- * From now on the following terminology is used:
- *
- *    alloc_		smalloc() the object. Increase _cnt.
- *    free_		sfree() the object. Decrease _cnt.
- *    clear_		free_() any objects contained in the object,
- *			but not the object itself.
- *     copy_		smalloc() a new object and also smalloc()
- *			any objects contained in it.
- */
-
-
-
-extern Person *
-alloc_person(void);
-
-extern Conference *
-alloc_conference(void);
-
-extern Text_stat *
-alloc_text_stat(void);
-
-extern void
-free_person(Person *person);
-
-extern void
-free_conference(Conference *confp);
-
-extern void
-free_text_stat(Text_stat *t);
-
-extern Person *
-copy_person(Person *p);
-
-extern Conference *
-copy_conf(Conference *c);
-
-extern Text_stat *
-copy_text_stat(Text_stat *c);
-
-extern void
-clear_conference(Conference *c);
-
-extern void
-clear_person(Person *p);
-
-extern void
-clear_text_stat(Text_stat *t);
-
-#ifdef FILE
-
-extern void
-dump_alloc_counts(FILE *stat_file);
-
-#endif
diff --git a/src/server/missing-ansi.c b/src/server/missing-ansi.c
deleted file mode 100644
index 88f703c7b..000000000
--- a/src/server/missing-ansi.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * $Id: missing-ansi.c,v 0.9 1993/08/05 00:06:38 ceder Exp $
- * Copyright (C) 1991  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-/*
- * Some missing functions that are needed.
- *
- * Written by ceder.
- */
-
-static char *rcsid = "$Id: missing-ansi.c,v 0.9 1993/08/05 00:06:38 ceder Exp $";
-#include "rcs.h"
-USE(rcsid);
-
-
-#include <string.h>
-#include <time.h>
-
-#if defined(__sequent__) && !defined(DEBUG_MALLOC)
-
-void *
-memcpy (void * s1, const void * s2, size_t n)
-{
-    extern bcopy(const char *b1, char *b2, unsigned int length);
-
-    /* bcopy takes the parameters the other way round. */
-    
-    bcopy(s2, s1, n);
-    return s1;			/* Since ANSI says so */
-}
-
-#endif
-
-#if defined(__sequent__) || defined(__sun__) || defined(__vax__)
-
-#include "tmp-difftime.h"
-
-extern double
-difftime(time_t t1, time_t t2)
-{
-    return (double) t1 - (double) t2;
-}
-
-#endif
-
-#ifdef __sequent__
-
-/*
- * This version in NOT 100 % ANSI-conformant, but it is enough to run LysKOM
- * (I hope) /ceder
- */
-
-extern time_t
-mktime (const struct tm  * temeptr )
-{
-    int nyears;
-    int nleaps;
-    int ndays;
-
-    nyears = temeptr->tm_year - 70;
-    nleaps = (nyears+2) / 4;
-
-    ndays = 365 * nyears + nleaps + temeptr->tm_yday;
-    
-    return (time_t) ( temeptr->tm_sec
-		     + 60 * ( temeptr->tm_min
-			     + 60 * ( temeptr->tm_hour 
-				     + 24 * ndays )));
-}
-
-#endif
-
-
-#if defined(__sequent__) || defined(__sun__)
-#include <errno.h>
-#include <stdio.h>
-
-extern char *sys_errlist[];
-extern int sys_nerr;
-
-const char *strerror(int eno)
-{
-  static char buf[200];
-
-  
-  if (eno < 0 || eno >= sys_nerr)
-  {
-    sprintf(buf, "error #%d", eno);
-    return buf;
-  }
-  else
-    return sys_errlist[eno];
-}
-#endif
diff --git a/src/server/tmp-difftime.h b/src/server/tmp-difftime.h
deleted file mode 100644
index cf8028425..000000000
--- a/src/server/tmp-difftime.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* This file should be removed as soon as possible. autoconf should
-   fix this instead. */
-extern double difftime(time_t t1, time_t t2);
diff --git a/src/server/version.incl b/src/server/version.incl
deleted file mode 100644
index 010940605..000000000
--- a/src/server/version.incl
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * $Id: version.incl,v 0.50 1994/11/15 00:09:41 ceder Exp $
- * Copyright (C) 1991, 1992, 1993, 1994  Lysator Academic Computer Association.
- *
- * This file is part of the LysKOM server.
- * 
- * LysKOM 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 1, or (at your option) 
- * any later version.
- * 
- * LysKOM 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.
- * 
- * You should have received a copy of the GNU General Public License
- * along with LysKOM; see the file COPYING.  If not, write to
- * Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
- * or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
- * MA 02139, USA.
- *
- * Please mail bug reports to bug-lyskom@lysator.liu.se. 
- */
-
-/*
- * The version number is encoded in a long. It shall be printed as
- * in sed s/\(.*\)\(..\)\(..\)/\1.\2.\3/
- */
-10606
-- 
GitLab