WendzelNNTPd ChangeLog:

----------------- version 1.4.x --------------------------------

1.4.0-stable "Back to some of our roots!" : 05-Oct-2008
 - now storing the posting body in files what makes SQLite faster
   and prevents the need for a 2.0.0-mysql release since we only
   use SQLite3 for meta information (header information, newsgroup
   meta data and the like).
 - instead of 120.000 bytes a posting can now have a much bigger
   size (16 kbyte header, like before) and a 20 M huge body (one
   can change this in src/include/wendzelnntpdpath.h)
 - improved some error handling in database.c/server.c
 - ported code to windows once again
 - tiny URL fix to our new website (wendzel.de) in configure script

----------------- version 1.3.x --------------------------------

1.3.0-stable "Aliens ate my pet!" : 24-Sep-2008

   *** NOTE: You have to generate a new database to use a new ***
   ***       1.3.0 (or newer) version since the database      ***
   ***       format has changed!                              ***

 - added DATE command
 - added XHDR command to "help" output
 - added <msgid> parameter support for the xhdr cmd and also added
   a check for the existence of this message ID in the currently
   selected group by adding a new database.c function for that feature
 - storing the UNIX time() num in the DB instead of a string to make
   sorting based on this value possibly in future
 - fixed some database sql string messages
 - implemented a new nntp command line parser (or better: tokenizer)
   what made the implementations of most of the nntp commands easier

----------------- version 1.2.x --------------------------------

1.2.1-stable "keep savin memory" : 16-Aug-2008
 - fixed a memory leak on startup code in w32trial.c
 - fixed a memory leak on startup code in config.y
 - fixed memory leaks while runtime in server.c (sql string buffers)
 - fixed an installation problem in the Makefile while backup'ing old
   usenet.db file but chmod'ing still the old file
 *** Will start working on WendzelNNTPd-2.0.0 ***

1.2.0-stable "my cat ate my computer" : 21-Apr-2008
 *** Just realized that some NNTP clients run into huge problems
     (specially pan) because WendzelNNTPd doesn't support many NNTP
     extension commands :-( Some others (like sylpheed) are unable
     to display the threading of this articles correct. I think the
     days of WendzelNNTPd 1.x are over. Better don't use this software
     on new NNTP servers and update to the latest 1.2.0 version. I _will_
     provide patches for 1.2.x but I will stop adding new features. ***

 - added XHDR command (supports only ranges, not message IDs)
 - server: wrote a regex check function to reduce redundant header
   checking code
 - server recv() bugfix: received message was corrupted if sent within
   fragments by the client

----------------- version 1.1.x --------------------------------

1.1.0-stable "The IKNZ ninja wants more orange juice!!!" : 11-Dec-2007
 - server: added support for RSS output
 - gui: added rss config part to the GUI
 - gui: added a message box that informs the user about updates of the
   config file
 - Makefile: always create directories we need when calling install by
   doing an 'install -d <dir>' before.
 - Makefile: don't create dirs that we've already created before while
   executing for 'install' target
 - Makefile: add timestamp to the backuped database files
 - INSTALL: add Win32 compile hints to the INSTALL file too

----------------- version 1.0.x (a.k.a. 2007a) -----------------

***fix-release (only sf.net news update + new source code upload)***
1.0.5-fixed-stable "Who cares about IKNZ?" release : 06-Dec-2007
 - server+gui: fixed config file bug (not /usr/local/etc/etc/...,
   only /usr/local/etc/... should be the base conf dir in the de-
   fault case)
 - Makefile: fix install target etc/ path too
 - Makefile: don't break up 'install' target if the newsgroup does
   already exist.

1.0.5-stable "Who cares about IKNZ?" release : 05-Dec-2007
 - added an important bugfix (discovered and patch sent by Kristijan
   Smiljanic to prevent that wendzelnntpd stops working after 27
   posted messages because of a read error on windoze. Win needs a "b"
   for the binary mode when fopen'ing files.
 - added environment var support to configure script, Makefile and
   the path header file to make it possibly to place installations
   in /usr/local, /usr+/etc and such things. (run configure -h to
   get more information)
 - also make fake installations (useful for writing ports and
   packages for Linux/*BSD) possibly by letting the user set the env
   variable FAKECDIR (what places the config file in a the specified
   dir but the daemon will look for it on the real place specified in
   CONFDIR). Normal users do normaly NOT need that but I plan to
   provide an OpenBSD port and this will help me a lot with it.
 - removing installer script install.sh
 - added 'install' target to the Makefile
 - gui: try to use qmake4, if available (what makes the gui compile
   fine under OpenBSD-current)

1.0.4-stable "IKNZ for everybody!" release : 23-Nov-2007
 - improve error message if an unsupported option was given
 - use $(LIBDIRS) in the Makefile (what fixes the compile on OpenBSD)
 - when checking for libsqlite3 in configure, use -I/usr/local/include
   and -L/usr/local/lib (what fixes the configure on OpenBSD)

1.0.3-stable "IKNZ knows more than you!" release : 01-Nov-2007
 - fix error msg in the case of an error while pthread_create for a
   tcp incoming socket connection on do_server()
 - remove commercial comment stuff in install.sh and change urls
   s/wendzel.de/doomed-reality.org/g
 - clean gui/src too when run 'make clean'

1.0.2-stable "IKNZ knows everything!" release : 02-Sep-2007
 - make all functions only used within a file 'static'
 - removed two unneded functions (welcome() and getopenfilelen()) from
   xyria.c, what left xyria.c empty ;-) -> I removed xyria.c from the
   project.
 - merged libCDPStrings into the main code for the win32 version too
   (what only rquired to change the cdpstrings.c file path in the Make-
   file)
 - replace pthread_exit() calls with my kill_thread() call what takes
   care about some cleanup things and improves error handling a bit.
   The Send() function still uses pthread_exit() but this is the ONLY
   function left!
 - removed two unused global vars in server.c
 - remove two unneded -lt zero checks for unsigned vars min+max in
   docmd_xover (atoi() only returns >= 0 too, what makes this check
   senseless)
 - in w32trial.c: only count the newsgroups to check if we have a
   DB connection. A count of the newsgroups table should be faster
   than a count of all postings and should improve the startup time
   because of this.
 - print more information for the admin while he has to enter the
   password of a new user in wendzelnntpadm
 - configure: don't check for g++ since it is not needed by the server
 - INSTALL: add some comments for the user

1.0.1-stable "IKNZ still knows best!" release : 10-Jul-2007
 - switched WendzelNNTPd/WendzelNNTPadm/WendzelNNTPGUI license to GPLv3
 - merged libCDPStrings into the main WendzelNNTPd code and changed its
   license from GPLv2 to GPLv3
 - prevent error messages during first installation of WendzelNNTPd
   when removing non-existent tables in usenet.db file.

1.0.0-stable "IKNZ knows best" release : 03-Jul-2007
 - changed to stable state
 - remove patchlevel in version number since the 3rd num in the ver-
   sion number should be enough
 - use reentrant strtok_r() instead of strtok() in all Non-Win32 OSs
 - fixed off-by-one ptr incrementation problem in group command

1.0.0-beta8 "IKNZ knows best" release : 28-Jun-2007
 - set secure chmod for gui binary too and remove gui's install.sh be-
   cause the main install.sh now fully includes all of its features
 - set a more secure umask() while running as a daemon
 - don't exit the whole server if the MSGID file creation is making
   problems, only report it and abort the posting
 - implement file permission checks for all files the server opens
   using fopen(). Also check if the file is a symbolic link to pre-
   vent symlink attacks (or at least report it to the admin)
 - remove all unneded trailing \n's in DO_SYSL calls since \n is
   auto-generated
 - bugfix: allow multiple newsgroups per posting within the 'News-
   groups:' line of the NNTP header
 - installer now includes lots of new files (dlls, the GUI.exe,
   a batch file to start the server, a LICENSE.txt file and a readme
   file for win32 users)

1.0.0-beta7 "IKNZ knows best" release : 26-Jun-2007
 - added a Qt based GUI
 - remove trial version code and provide the full version without this
   limitation on Win32 too
 - print out better error information, if there was no 'listen' in the
   config file
 - make the code look better: if(a==b) -> if (a == b)
 - always bzero() the password 'wendzelnntpadm adduser' just read in
 - run 'pause' on win32 on startup errors (excepting some mem errors)
 - to make ' in postings possible (and of course to prevent SQL
   injections) use sqlite3_mprintf() on a buffer before checking the
   buffer
 - install.sh now also installs the GUI executable (if available)

2007a-beta6 : 16-Jun-2007
 - removed auth-user + auth-pass
 - implemented multi-user authentication trough SQL backend
 - added user management functionality in wendzelnntpadm
 - log entries now include the date wihin the timestamp

2007a-beta5: 12-Jun-2007
 - Win32 fix for the nextmsg id file
 - added ADD_CFLAGS & ADD_LNKFLAGS var in configure+Makefile to make
   this possibly:
    CFLAGS="-march=... .... ..." LDFLAGS="-pie ..." ./configure
 - Code cleanup (removed src/include/database.h)

2007a-beta4: 11-Jun-2007
 - added support for -fstack-protector in configure script
 - don't check for openssl/libssl in configure since we currently don't
   use it
 - all commands in the config file now have the same grammar (no :'s or
   underscores anymore)
 - new command: 'port' to specify the port to listen on

2007a-beta3: 10-Jun-2007
 - WISHLIST file added
 - installer fix: also create usenet.db if this is the first install
 - syslog logging for all systems != Win32 implemented

2007a-beta2: 09-Jun-2007
 - fix logfile name under *nix/Linux/BSD
 - add an empty usenet.db file to the archive to make ppl who compile
   WendzelNNTPd under Win32 an easier life
 - change eMail address in help output
 - remove debugging flags from Makefile
 - strip binary
 - compile with with optimization now

2007a-beta: 08-Jun-2007
 - this release is BETA-BETA-BETA!
 - renamed cdpNNTPd to WendzelNNTPd
 - rewrote the whole network child process modell to pthreads because
   Win32 does not know about fork()... Windows sux so much.
 - ported the whole code to Win32 (but without the IPv6 support)
 - kicked out the file backend and rewrote it. it is now based on
   SQLite3
 - new logging system (central logfile for every supported O.S.)

----------------- version 0.x ------------------

0.1.10: 19-Feb-2006, 0 bugfixes, 0 security fixes
 - setting chmod 0600 for files created at runtime via database
   functions
 -  improved syslog-logging while file I/O

0.1.9, 17-Feb-2006, 1 bugfix, 0 security fixes
 - included the libCDPstrings library directly in xyria
 - replaced some code via functions from libCDPstrings
 - re-implemented the functionality of v. 0.1.8: only search the
   header (and not the body too) for header-lines like 'From:'
 - fixed a memory allocation bug in 'xover' command
 - replaced getlinevalue() function (what also increases the
   performance of the xover command)
 - compiling with -O2 instead of -O now.

0.1.8p1:
 - removed all changes from 0.1.8 because of a bug.

0.1.8: 11.01.2006; 1 bugfix, 0 security fix(es)
 - The check for the needed lines included in the posting header
    included the whole body. I now fixed this. I only check the
    header-lines now.

0.1.7: 23.10.2005; 0 bugfix(es), 0 security fix(es)
 - changed syslog(LOG_NOTICE, ...) to syslog(XY_SYSL_NOTICE,
   ... what is equal to LOG_NOTICE|LOG_DAEMON

0.1.6: 30.07.2005; 1 bugfix(es), 0 security fix(es)
 - implemented authentication via AUTHINFO USER and AUTHINFO
   PASS
 - added authentication keywords to configuration syntax
 - fixed a startup-bug: there was a "&s" what took no effect
   in a format-string. i changed it to "%s". now the correct
   ip-address is displayed when an error occurs.
 - improved syslog-usage
 - code cleanup

0.1.5: 30.07.2005; 0 bugfix(es), 0 security fix(es)
 - removed the 'found newsgroup' output in database.c -> now
   onxxdebug()
 - removed development-lines from default-config file because
   they're not implemented @the moment what not everybody
   knows ;)

------- old beta versions -------

0.1.4-beta: 22.05.2005; 2667 loc
 - switched to beta state
 - tested it under solaris and linux (thanks to killerfox)
   -> sparc seems to have some problems with the code but x86 is
      supported very well

------- old alpha versions -------

0.1.3-alpha: 18.05.2005; 2665 loc
 - added the bsd license lines in every source file
 - implemented HEAD, BODY and STAT

0.1.2-alpha: 18.05.2005; 2357 loc
 - cdpnntpadm is now able to delete newsgroups (in newsgroup
   file and the whole group-dir)

0.1.1-alpha: 18.05.2005; 2274 loc
 - improved sending function
 - fixed a bug i found while running cdpnntpd under solaris
   (porting your software to other unix(-like) systems seems to
   be very good)
 - outlook express 5 sux. why does this prog send "list \r\n"
   instead of "list\r\n"? listing is now implemented for this
   ***** client too.
 - implemented the daemon mode (use option '-d')

0.1.0-alpha: 10.05.2005; 2239 loc
 - onxxdebugm() implemented
 - ARTICLE cmd fully implemented
 - cdpnntpd is now ready to run and provide the most basic
   functions needed in usenet!

0.0.8-alpha: 04.04.2005; 1899 loc
 - XOVER cmd implemented
 - new global func in log.c: onxxdebug(char *str);
 - improved error messageing in admintool
 - implemented ToSend(), now sylpheed plays with us too and we
   also get more speed ;-)

0.0.7-alpha: 12.12.2004; 1713 loc
 - "Line: %i" is now added to the posting-header (see version
   0.0.6-alpha)

0.0.6-alpha: 09.12.2004; 1689 loc
 - remove the Date-Line and Line-Count-Line from the Client (do
   not trust the client)
 - Date-Line is now inserted in new postings (rfc 850 std.)

0.0.5-alpha: 13.11.2004; 1524 loc
 - newsgroup-data in newsgroups-file is now incremented after
   posting to the server
 - Message-IDs from client are now replaced with the ones of the
   server (do not trust the one of the client)
 - Headers without Message-ID field are now getting one

0.0.4-alpha: 12.11.2004; 1374 loc
 - posting command is primary implemented.
 - added database.c to the project
 - added a function for writing posts to a file
 - added a function to get and set the message-ids
 - added a function to get and set the local group-message-ids
 - check if newsgroup names are realy valid

0.0.3-alpha: 23.10.2004; 1102 loc
 - admin-tool with 'create' function for newsgroups
 - binary file-format for 'newsgroups'-file implemented
 - rewrote list-command
 - group command implemented
 - first part of the post-command implemented
 	- some regular expressions for the header-check
 
0.0.2-alpha: 19.10.2004; ~650 loc
 - forking childs
 - implemented 'quit' cmd and command-mainloop for childs
 - help command
 - welcome message (only posting allowed (200))
 - list command

0.0.1-alpha: 18.10.2004; ~300 loc
 - basic configuration setup (ip's), basic flex+yacc stuff
 - signal handling
 - socket init
 - most part of the mainloop implementation

