changes from 1.0.24 to 1.0.25
-----------------------------

* add a `--nofork` option to allow running cvsd in the foreground (thanks наб)
* Debian packaging updates


changes from 1.0.23 to 1.0.24
-----------------------------

* Debian packaging updates


changes from 1.0.22 to 1.0.23
-----------------------------

* have cvsd-buildroot look in all multiarch subdirectories of /lib for
  NSS libraries
* portability improvement by Eric Schnoebelen
* Debian packaging updates


changes from 1.0.21 to 1.0.22
-----------------------------

* don't log EINTR on select() any more, not even in debug mode
* fix for cvsd-buildroot to also work on multiarch setups
* log address and port with bind() failures
* Debian packaging updates


changes from 1.0.20 to 1.0.21
-----------------------------

* handle failure of bind() as a fatal error


changes from 1.0.19 to 1.0.20
-----------------------------

* correctly listen on IPv4 and IPv6 addresses with recent Glibc versions
  by not depending on the order of address records returned by getaddrinfo()
  and work regardless of net.ipv6.bindv6only sysctl


changes from 1.0.18 to 1.0.19
-----------------------------

* cvsd-buildroot: ignore commented out lines in CVSROOT/passwd files
* cvsd-buildroot: set an umask for generated files
* some documentation updates
* change init script dependency on $remote_fs (for /usr) from Should to
  Required (thanks lintian)
* Debian packaging improvements


changes from 1.0.17 to 1.0.18
-----------------------------

* use simpler shell semantics in cvsd-buildroot to fix a problem with bash 4
* fix call to uname in the cvsd-buginfo script


changes from 1.0.16 to 1.0.17
-----------------------------

* update to automake 1.11
* some small spelling fixes in documentation
* changed references to home page and contact email addresses to use
  arthurdejong.org
* Debian packaging improvements


changes from 1.0.15 to 1.0.16
-----------------------------

* added Swedish debconf translation by Martin Bagge
* some small Debian packaging fixes


changes from 1.0.14 to 1.0.15
-----------------------------

* fix init script to return proper exit code when stopping non-running cvsd or
  starting already-started cvsd
* take a shot at making debian/copyright machine parseable
* cvsd-buildroot now removes tls directories in the chroot jail if the
  environment outside it does not contain them (any more)


changes from 1.0.13 to 1.0.14
-----------------------------

* Debian packaging improvements
* some typo fixes in documentation and other minor fixes in the code


changes from 1.0.12 to 1.0.13
-----------------------------

* cvsd-buildroot: further portability improvements on 64 bit platforms
* added Portuguese debconf translation by Ricardo Silva
* added warnings and errors on failing to close a socket


changes from 1.0.11 to 1.0.12
-----------------------------

* fixes in cvsd-buildroot to not abort on failure of some commands


changes from 1.0.10 to 1.0.11
-----------------------------

* cvsd-buildroot should now install libraries in the same directory structure
  as on the normal filesystem, resulting in better support for 64 bit systems
* other small improvements to cvsd-buildroot, including better error handling
  and not overwriting devices
* small code improvements


changes from 1.0.9 to 1.0.10
----------------------------

* added CvsArgs configfile option to pass extra arguments to the cvs command
  thanks to Stefan Bethke
* now really add Czech debconf translation (see release 1.0.5)
* added Spanish debconf translation by César Gómez Martín


changes from 1.0.8 to 1.0.9
---------------------------

* changed email address and homepage location, new homepage is at
  http://ch.tudelft.nl/~arthur/cvsd/
* small changes to the FAQ
* add support in cvsd-buildroot to copy users from nis/ldap instead of
  directly from /etc/passwd


changes from 1.0.7 to 1.0.8
---------------------------

* fix typo in English debconf templates by Clytie Siddall
* added Vietnamese debconf translation by Clytie Siddall
* some Debian package improvements


changes from 1.0.6 to 1.0.7
---------------------------

* applied patch for running configure from another directory
* improvements to the README
* fix bug in cvsd-buildroot correctly creating lib64 directory


changes from 1.0.5 to 1.0.6
---------------------------

* cvsd-buildroot creates lib64 and usr/lib64 inside the chroot jail if they
  exist on the system and add /lib64/ld-linux-x86-64.so.2 to list of
  libraries that will be installed (useful for amd64 amongst others)
* remove -Wformat-literal option to enable warnings on more compilers


changes from 1.0.4 to 1.0.5
---------------------------

* added Czech debconf translation by Jan Outrata
* added more checks to cvsd-buginfo script
* work around a problem in some implementations of ldd that produces output
  which causes cvsd-buildroot to not install a needed library


changes from 1.0.3 to 1.0.4
---------------------------

* fix small bug in cvsd-buginfo
* added Japanese debconf translation by Hideki Yamane
* small Debian package improvements
* upgrade to automake 1.9


changes from 1.0.2 to 1.0.3
---------------------------

* documentation improvements and fixes
* made scripts more portable
* added cvsd-buginfo script for gathering information for bugreports and
  added reportbug hooks in the debian package
* added experimental capabilities support (disabled by default) based on a
  patch by Shugo Maeda


changes from 1.0.1 to 1.0.2
---------------------------

* Danish translation for debian package configuration by Claus Hindsgaul,
  also translation updates for German by Jens Seidel and French by Christian
  Perrier, plus some more small configuration improvements
* have cvsd-buildroot also create /libexec in the chroot jail if it is
  present on the system (fix for FreeBSD 5.2.1)
* init script now use kill -0 <pid> to check if cvsd is running (not the
  nicest solution, but it seems to be the most portable solution)


changes from 1.0.0 to 1.0.1
---------------------------

* move logging of exiting child processes and exit signals out of signal
  handlers to avoid deadlock racecondition in signal-unsafe functions,
  thanks to Dan Nuffere for spotting this
* updated German translation from ddtp for debian package configuration
* upgrade to autoconf 2.59
* some redhat packaging improvements


changes from 0.9.20 to 1.0.0
----------------------------

* switched to using rpmbuild for building rpms
* French translation for debian package configuration


changes from 0.9.19 to 0.9.20
-----------------------------

* debian package improvements
* rewrite code for storing of configuration settings
* upgrade to automake 1.7
* some documentation improvements
* check for tmpreaper in cvsd-buildroot should work now
* fix for when MaxConnections is 0


changes from 0.9.18 to 0.9.19
-----------------------------

* small code improvements
* upgrade to autoconf (2.57) and automake (1.6.3)
* fixes to libwrap code and improvements to properly detect
  required libraries for libwrap from configure
* debian configuration improvements (cvsd.conf is now modified instead
  of replaced and support for translations has been added)


changes from 0.9.17 to 0.9.18
-----------------------------

* fix in cvsd-buildroot (typo) thanks to Brent Cooke
* small portability fixes taken from the FreeBSD ports system
* some documentation improvements
* updated manual pages to represent hyphens and dashes correctly
* added status option to init script
* many Debian configuration improvements


changes from 0.9.16 to 0.9.17
-----------------------------

* cvsd-buildroot now tests if devices are usable
* libwrap improvements for RedHat 8 thanks to Dave Love
* configure script improvements
* upgrade to automake 1.6
* fix for bug in getaddrinfo() replacement thanks to Leonid Y Lisovskiy
* configure fix for SCO thanks to Leonid Y Lisovskiy


changes from 0.9.15 to 0.9.16
-----------------------------

* logging may now be customized through the Log configoption
* errors in configfile are reported to stderr on startup
* backwards compatibility for the old Port configoption was removed
* normal logging is now disabled in debugging mode (-d switch)
* fixed bug that caused logging to always occur at debug level
* configure is a little more verbose now
* some small portability improvements


changes from 0.9.14 to 0.9.15
-----------------------------

* add -d switch to cvsd to run cvsd in debugging mode with verbose
  logging to stderr
* turned off hyphenation in manual pages
* rewritten logging code to be more configurable
* updated README
* FAQ is now generated from faq.html of homepage
* .spec file and init script fixes for redhat


changes from 0.9.13 to 0.9.14
-----------------------------

* upgrade debian building and configuration process
* drop all supplemenal group priviliges
* close all unnecessary file descriptors before running cvs
  (These two fixes are security related but pose a risc only if the cvs
   pserver itself is exploited, thanks to env_audit for finding these.)
* cvsd-passwd now gets default user mapping from cvsd.conf


changes from 0.9.12 to 0.9.13
-----------------------------

* added ability to specify which cvs binary to use
* implemented tcp wrapper support (disabled by default)
* cvsd-buildroot: fix for locating repository passwd files
* some small adjustments to get it into Debian/unstable
  (in intermediate release 0.9.12.1)
* on debian package removal, prompt for removal of chroot jail


changes from 0.9.11 to 0.9.12
-----------------------------

* updated cvsd-passwd manual page
* cvsd-buildroot fixes for Solaris
* initial release for Debian/unstable


changes from 0.9.10 to 0.9.11
-----------------------------

* bugfixes and code documentation to cvsd-passwd
* extra checks and warnings in cvsd-buildroot
* fixed bugs in portability wrappers for older systems
  thanks to Florian Zschocke
* made cvsd-buildroot output better readable


changes from 0.9.9 to 0.9.10
----------------------------

* removed old networking code and replaced with wrappers for
  getaddrinfo() and related functions
* documentation updates (manual pages and README)
* cvsd-buildroot: create lock directories referenced in repositories
* miscellaneous portability enhancements and fixes
* removed removing of pidfile since this is probably silly
* add mapping to system user on commandline for cvsd-passwd
* init scripts now reads pidfile from configfile
* added experimental .spec file thanks to Matthew L Daniel and
  Andreas Metzler


changes from 0.9.8 to 0.9.9
---------------------------

* lots of portability fixes in cvsd, cvsd-buildroot and init script
  cvsd should now work on OpenBSD and probably Solaris and FreeBSD
* documentation improvements (new FAQ and README section on lockfiles)
* remove pidfile on exit
* Listen options can be specified in several formats
* add redhat 7.1 init script


changes from 0.9.7 to 0.9.8
---------------------------

* be more forgiving when binding sockets fail (missing protocols etc)
* networking code fixes to increase portability
* fixed off by one bug when listening on more than 16 sockets


changes from 0.9.6 to 0.9.7
---------------------------

* replaced Port configoption by Listen configoption
* improved networking code to allow IPv6 and listening
  on multiple network interfaces
* use daemon() function if available
* numerous code improvements (see ChangeLog)


changes from 0.9.5 to 0.9.6
---------------------------

* configure fixes for solaris (and others?)
* added Umask configuration option
* split source for configfile to separate sourcefile
* cleaned up source and include file handling
* added more debugging information for better testing


changes from 0.9.4 to 0.9.5
---------------------------

* now using autoconf 2.50
* first steps to get cvsd to compile on solaris
* split source in several files for better maintainability
* added 'unlimited' value for limits


changes from 0.9.3 to 0.9.4
---------------------------

* added CvsCommand in configuration file
* small fix to init script for slow releasing sockets (should be fixed better)
* added Limit options
* improved Debian scripts


changes from 0.9.2 to 0.9.3
---------------------------

* provide simple getopt_long() for systems that don't have it
* go more easy on failing accept()
* logging output is more readable


changes from 0.9.1 to 0.9.2
---------------------------

* added nice values to daemon
* improved signal handling with signal names
* code cleanup
* spelling checked most stuff
* debian configuration fully through debconf


changes from 0.9.0 to 0.9.1
---------------------------

* added cvsd-passwd tool for editing CVSROOT/passwd files
* improved debian configuration (getting there)
* added support for symbolic uids and gids in configfile
* cvsd-buildroot updated to add support for changing passwd values
* small improvements to logging
* cvsd now daemonizes itself and writes pidfile


changes from 0.8b3 to 0.9.0
---------------------------

* almost everything was rewritten, see ChangeLog for details
* cvsd does not need inetd anymore
* all configuration is done from a configuration file
* use of autoconf/automake/configure


changes from 0.8b2 to 0.8b3
---------------------------

* cvsd.h was missing. added.


changes from 0.8b1 to 0.8b2
---------------------------

* added user 'cvsadmin' with password 'cvsadmin' to 'system' passwd
  file (/etc/passwd in the cvsd-root). this user is allowed to
  read write all repositories (if not denied by a cvs mechanism like
  the readers file)
* bad permissions on some dirs. all dirs (and files) now belong to cvsadmin.
  hmm.. what do you think?
* a major bug fix: memory allocation problem (which somehow only
  is a problem if you have a lot of CVSROOTs). fixed.
* some bugs in the Makefile, bad permissions, bad shell for su command,
  and some others.


changes from 0.7 to 0.8b1
-------------------------

* cvsd.c: not much of the original sources (0.6) remained. almost everything
  is rewritten and overthought.
* cvsd now aborts if there isn't any valid CVSROOT in the config file.
* simplified config file and introduced command line options
  Why should one specify the uid, gid and cvsd-root in the config file?
  Such things don't change frequently and perhaps the sysop wants to
  allow other people adding/removing repositories. So:
  --uid or -u        specifies the uid cvs will run as. has default.
  --gid or -g        specifies the gid cvs will run as. has default.
  --root or -r       specifies the cvsd-root (where to chroot). NO default.
  --config -f        specifies the config file (i.e. list of allowed
                     repositories). has default.
  --verbose          turns on verbose logging (to syslog). if set cvsd
                     reports about everything. also the flag -t is passed
                     to cvs which means 'trace' and enables more verbose
                     working of cvs pserver.
  --help             prints help screen (to stdout!)
  --version          prints version information (to stdout!)
* logging: cvsd almost only reports via the syslog LOG_DAEMON facility. it
  uses  priority LOG_INFO for informational things and LOG_ERR for errors.
  if !verbose and no errors occurred (i.e. suspicious directory mode) cvsd
  only reports 'connection mad.' to syslog and then passes over to cvs.
* permission checks: cvsd now checks for proper mode on several
  files/directories. in general uid/gid needs to be those of the cvsd user
  and there may not be any bits set for the other user. furthermore the w bit
  for the group mustn't be set and no file (or dir) may be a symlink. see the
  #defines in cvsd.c for details.
  - the cvsd-root
  - the /etc/passwd file (relative to cvsd-root, of course)
  - the /bin/cvs file
  - every directory listed in /etc/cvsd.conf. bad dirs will be ignored.
* 0.7 was c++, 0.8 is c again.
* hey gurus, what do you think? is this worth something?
  don't hesitate: phkehl@gmx.net
* Makefile / Installation
  - nicer 'make user' and 'make group'
  - there's an (empty) example CVSROOT (mad by 'make install')
* the name is /example and there are two users:
* user example with password example who may read and write (import and such)
* user cvsread with password cvsread who has read-only access (this is
* done via the normal cvs pserver mechanism, i.e. cvsread is listed in
  /example/CVSROOT/readers


changes from 0.6 to 0.7
-----------------------

* cleaner config file and cleaner
