/************************************************************************
 *   IRC - Internet Relay Chat, ircd/ChangeLog
 *   Copyright (C) 1990 Mike Bolotski
 *
 *   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 1, 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.
 */


Sat Jun  6 06:00:00 1992   Darren Reed <avalon@coombs.anu.edu.au>
	* general	Checksum checking introduced.

Sat Jun  6 02:03:36 1992   Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c	User WALLOPs removed - too much abuse. They are
			dropped silently to avoid generating more wasted
			bandwidth.
	* channel.c	Previous fix for spaces in banid didnt work and was
			stuffed. fixed now.

Sat May 29 01:40:37 1992   Darren Reed <avalon@coombs.anu.edu.au>
	* channel.c	Annoying problem with spaces in banid's fixed.

Fri May 29 02:37:02 1992   Darren Reed <avalon@coombs.anu.edu.au>
	* s_bsd.c	Fixed access check problem for servers.

Thu May 28 18:08:51 1992   Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c	bug fixed in m_user() with the ident code.

Thu May 28 18:00:34 1992   Darren Reed <avalon@coombs.anu.edu.au>
			Added patches from Jan L. Peterson <jlp@math.byu.edu>
	* s_msg.c	MIPS needs errno in s_msg.c (not in errno.h)
	* config.h, ircd.c
			LOG_FACILITY added for more ease in customising
			the use og syslogd in the server.

	* s_msg.c	errno patched also for pyramids (same patch) - avalon

Sun May 24 01:34:59 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_misc.c	Added patch from Chuck Kane (ckane@h.ece.uiuc.edu)
			kOfor using getrusage(2) on HP-UX. its a nasty one! >:)

Sun May 24 00:07:08 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_bsd.c, s_conf.c, ircd.c
			P lines addded to allow multiple and easy setup
			of unix sockets which server listens to. These also
			provide a way for the server to listen on extra inet
			ports. They are closed when the server rehashs and
			then rebuilt.

Thu May 21 00:37:21 1992  Christopher Davis <ckd@eff.org>

        * s_msg.c       Fixed the bug that prevented user modes (such as
                        the default invisibility) from propagating.

Wed May 20 21:52:19 1992  Christopher Davis <ckd@eff.org>

        * s_misc.c      Fixed dereferencing of NULL cptr
                        (mycroft@gnu.ai.mit.edu, frechett@spot.colorado.edu)

        * Makefile, s_bsd.c, s_msg.c
                        Added support for IDENT (RFC931) protocol for
                        sockets in AF_INET.

Fri May 15 23:25:40 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, s_bsd.c
			Changed rehash to rebuild Unix domain sockets used
			for listening for connections.

Wed May 13 00:07:24 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c	STATS C reports L-lines (numeric 241) as well as
			N-Lines. STATS also defaults to *not* send any
			replies as opposed to old bejaviour which made
			STATS default to 'M'.

Sun May 10 22:33:32 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, channel.c
			fixed "WHO <channel>|*" bug and "JOIN #NEW-chan"
			bug (later using patch from Daemon).

	* s_msg.c	Added SHOW_INVISIBLE_LUSERS define which shows
			invisible count to all users when defined (not just
			operators)

Sun May  3 01:01:07 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, note.c, Makefile
			NOTE system from Jarlek (Wizible) added back into
			the server. All the code related to the NOTE system
			is conditionally compiled in according to the
			setting in config.h.

Tue Apr 21 23:12:34 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_bsd.c, ircd.c
			Added support for Unix domain sockets. Current setup
			allows the server to listen on a unix socket and
			accept both server and client connections. This was
			done to get around some problems with TCP/IP.

Sun Apr 19 21:32:12 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, channel.c
			Included patchs from msa which seem to have solved the
			main problems we had with servers core dumping. Care
			should be used when calling exit_client() and the
			return value checked to see if its 'FLUSHBUFFER'.

Tue Apr  7 01:43:52 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c	fixed USER bug/vulnerability.

Mon Apr  6 19:28:09 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_misc.c,whowas.c,s_msg.c
			added code to calculate memory used by server for
			storing its data. Option added to STATS command for
			this.

Mon Arp  6 10:23:13 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c	fixed nickname bug for ascii >0x80.

Tue Mar 17 00:20:32 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* whowas.c	rewritten to be more efficient in memory use and speed

Mon Mar 16 23:45:29 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_misc.c, s_bsd.c, s_conf.c, ircd.c
			Included patches for PCS MUNIX from Lynx and some
			patches to allow the server to run set-uid from
			Stephan.

Wed Mar  4 16:58:35 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, s_misc.c
		      - added R/U options to stats. R works only with
			DEBUGMODE defined. R uses the getrusage() calls and
			returns those values. U returns server uptime.

Thu Feb 27  4:38:17 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, s_misc.c, ircd.c, s_bsd.c
		      - Added syslog() support for logging various IRC
			events such as RESTARTs, DIEs, REHASHes and system
			errors.

Sun Feb 22  3:55:43 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, channel.c
		      - moved m_names() & m_list() from s_msg.c to channel.c
	* s_misc.c, date.c
		      - merged the contents of these two files.
	* s_msg.c, s_misc.c
		      - moved exit_client() and exit_one_client() into
			s_misc.c from s_msg.c
	* s_msg.c
		      - m_linreply(), m_whoreply(), m_namreply(), m_wall()
			all removed at long last!

Sat Feb 22  2:23:05 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c     - moved get_client_name(), my_name_for_link(),
			to s_misc.c (created).
	* s_msg.c, channel.c
		      - Moved CheckRegistered() and CheckRegisteredUser()
			into s_misc.c and made them functions
			(they were large and awkward macros!).
	* s_conf.c, ircd.c, s_msg.c
		      - changed find_kill() parameters to make it a safer
			function. Cleaned up find_restrict().

Fri Feb 21  1:13:22 1992  Darren Reed <avalon@coombs.anu.edu.au>
	* s_bsd.c     - replaced check_name/check_access with check_init,
			check_client and check_server to clean up and
			improve the server's access checking.
	* s_msg.c     - changes to support above s_bsd.c changes.

Sun Dec 1 Greg Lindahl <gl8f@virginia.edu>
	* general     - gee, avalon, you could at least try. as of pre16
			numerics restored to old values. MSG_NOTE code
			removed, because it does not pass Saber C.
	* support.c   - ctype macros now give values for EOF.
	* dbuf.c      - test for bozo compilers
	* example.conf- more documentation
	* s_msg.c     - pjg's patch to fix m_server
	* ircd.c      - print message when debugging off and debugtty set
	* config.h    - remove many dead crufty options.

Sun Dec  1 13:41:11 1991  Darren Reed <avalon@coombs.anu.edu.au>
	* all files   - There have been so many changes and bug fixes going
			into 2.7 that it would be impossible to list them all.

Mon Nov  4 14:35:07 1991  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c     - installed msa's patch to m_nick

Mon Nov 4  01:03:45 1991  Darren Reed <avalon@coombs.anu.edu.au>
	* all files   - changed all functions to have "function_name" style
		        names. All macros now MacroName.
	* general     - lots of various different work in preparation for 2.7

Thu Sep 19 14:55:24 1991  Darren Reed <avalon@coombs.anu.edu.au>
	* s_msg.c, channel.c
		      - moved m_topic() and m_invite() from s_msg.c to
			channel.c
		      - changed m_topic() to now process # channel topics

Mon Sep 02 16:27:53 1991  Darren Reed <avalon@coombs.anu.edu.au>
	  (lost previous ChangeLog which had accurate dates of additions
	   for 2.6.2. Following is changes from 2.6.1 to 2.6.2).

	* s_conf.c    - added L-line handling for Leaf Enforcement.
			(Courtesy Wumpus (Greg Lindhal))
		      - added det_I_lines_butfirst to make sure each client
			connection only ever has (at most) 1 I-line attached
			to it.

	* channel.c   - fixed ghost ChanOp problem from earlier versions.
		      - painful ^G mode bug fixed for 2.6.1

	* ircd.c      - some problems with TryConnections fixed.

	* s_bsd.c, ircd.c, s_msg.c
		      - local clients are now stored and referenced with an
			array of pointers. This has a fixed size :/

	* s_msg.c, list.c
		      - client list is now a double linked list.
		      - moved some code to list.c to create addition/deletion
			routines to add/delete client records from the list.

	* list.c      - added NICKNAMEHISTORYLENGTH to replace the 'magic' 200.

	* s_msg.c     - Added following commands:
			USERHOST <nickname> [n.[n.[n.[n.]]]]
			ISON <nickname> [nickname...]

	* hash.c, s_msg.c, channel.c
		      - (finally) added hash tables for nickname, server and
			channel name lookup. Nicknames and servers share the
			same table.

Thu Jul 04 20:31:10 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_numeric.c
	  Changed sptr->name to parv[0]; use strtoken() for loop.

Tue Jul 02 11:11:15 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* ircd.c, channel.c, s_msg.c
	  changed MSG_MAIL to MSG_NOTE as requested by the author
	  Fixed m_links(); remote LINKS should work now.
	* mail.c
	  Removed mail.c, replaced by new version 1.3pre8, now note.c

Mon Jul 01 20:35:40 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c
	  m_notice(), m_text(), m_privmsg() merged to one function.
	  m_wall() changed. Default is WALL. Should be eliminated
	  anyways in next version.

	* channel.c
	  Changed error msgs when parameters from 'l' are missing.

Sun Jun 30 14:53:42 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c
	  Major cleanups; Server/host mask msgs moved to NOTICEs.
	  m_whois changed. For nonexistent nickname an error is created now.

Sat Jun 29 15:46:35 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c
	  Fixed m_summon error bug
	  Applied msa'a patches. Fixes ExitOneClient().

	* channel.c
	  Fixed join ctrl-g bug

Sat Apr 6  19:47:00 1991  Jarkko Oikarinen <jto@tolsun.oulu.fi>

	* Added destination parameter to /links (a'la /whois)

Thu Apr 4  16:01:16 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

      * ircd.c, s_bsd.c
        Fix SIGHUP - SIGHUP to ircd causes a rehash() finally.

      * c_msg.c
        Fix KILL from an OPER - pre19 with wildcard match didn't pro-
        pagate the correct sender. Server kills behind *-domains are
        still unsolved.

Sun Mar 31 08:57:12 1991  Jarkko Oikarinen <jto@tolsun.oulu.fi>

        * WALL placed under #ifdef. Default is no WALL
        * Fixed JOIN mode option to accept more parameters
          like userlimit.

Sun Mar 24 07:43:00 1991  Jarkko Oikarinen <jto@tolsun.oulu.fi>

        * A couple minor bug fixes.
        * Channel name to ERR_CHANOPRIVSNEEDED and ERR_NOTONCHANNEL.

Sun Mar 17 09:50:12 1991  Jarkko Oikarinen <jto@tolsun.oulu.fi>

        * m_who() numeric RPL_ENDOFWHO (315) for all queries
        * RPL_ENDOFWHOIS (316) reply added
        * RPL_ENDOFWHO (315) and RPL_ENDOFWHOIS (316) return
          the query parameter now as well.
        * RPL_WHOISIDLE (317) returns the idle time of a particular user.
        * RPL_NOTOPIC (331), RPL_TOPIC (332) return channel name as a
          paramater (this has been already added to RPL_CHANNELMODEIS (324))
        * Limited trace (won't show users on a server) available now for
          all users
        * Fix to HuntServer() to make sure loops do not happen.
        * Added new numeric, ERR_CHANOPRIVSNEEDED (482) which replaces
          *all* ERR_NOPRIVILEGES (481) messages where the missing privileges
          were channel operator privileges.
        * KICK to user not existant on irc now generates
          ERR_NOTONCHANNEL (442) error reply.
        * ERR_NOSUCHSERVER (402) returns the server name as a parameter.
        * ERR_CANNOTSENDTOCHAN (404) now returns the channel name you couldn't
          send to.

Mon Feb 25 16:08:51 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c
	  'Fixed' K:-line behaviour of m_user(). Now, the connection
	  is not closed; USER-msg is distributed with K:-line remark, and
	  user isn't introduced locally, so user gets 'You have not registered
	  as a user'.

	* ircd.c
	  SIGHUP generates rehash() now.

Mon Feb 11 18:57:56 1991  Armin Gruner <gruner@informatik.tu-muenchen.de>

 	* s_msg.c
	  Fixed m_server(). The domain matching was done against the
	  return value of GetClientName(), but this never matches
	  if the servername differs from the host name, because
	  [real socketname] is added to 'inpath'.

Fri Jan 12 12:34:21 1991  Jarkko Oikarinen (jto@tolsun.oulu.fi)

        * more ircd options at startup...

Mon Dec 03 13:54:25 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* class.c, s_msg.c, s_bsd.c
	  Fixes from Avalon. Sigh.

Wed Nov 28 14:07:11 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* class.c, s_bsd.c (CloseConnection)
	  Fixes from avalon (DEBUG stuff)

Tue Nov 27 11:24:56 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c, s_bsd.c, ircd.c, class.c
	  Isolated the implementation of 'classes' to class.c (by using
	  macros for accessing the structure members) -- we should start
	  using this everywhere -- especially with this linear list of
	  clients!!

	* channel.h (new file)
	  prototyping, 'channel'-misc, try to isolate channel implemen-
	  tation to channel.h and channel.c

Sun Nov 25 16:13:42 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* class.c, class.h
	  New files for class-handling. Applied Avalon's patches.
	  Change some code into more readable one (MIN).

Tue Nov 13 11:44:28 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* s_msg.c
	  Fixed Invite bug.

	* s_bsd.c
	  Fixed overhead of check_access.
	  New function to get qualified (local) domain name: AddLocalDomain()

Mon Nov 12 20:42:44 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* channel.c
	  Fixed 2.6 MODE_NOPRIVMSG bug

	* Added mkversion.sh into self configuration extraction,
	  now version.c.SH

Sat Nov 10 19:10:33 1990  Armin Gruner <gruner@informatik.tu-muenchen.de>

	* Removed getlongtime() everywhere.

	* s_bsd.c
	  Removed some ULTRIX sidesteps.

	* s_conf.c
	  Changed the return values of find_kill().

	* ircd.c
	  Avalon's cleanup's.
	  Change close() to shutdown() (restart()). 

Wed Oct 31 18:20:00 1990  Jarkko Oikarinen (jto@tolsun.oulu.fi)

	* 2.6:
	  - multichannels
	  - wildcard servers
	  - more fun stuff I don't remember anymore but which should
	    be in documentation...

Sun Oct 21 18:53:02 1990  Christopher Davis (ckd at bucsd)

        * Makefile
          - Added IRCDLIBS and IRCDMODE variables

Wed Jun 20 11:53:00 1990  Jarkko Oikarinen (jto@tolsun.oulu.fi)

	numerous files changed and functions moved around to make
	string channels work...

Sun Jun 17 16:52:39 1990  Armin Gruner (gruner@informatik.tu-muenchen.de)

      * s_debug.c
        New created file, common/debug.c has been moved to it because
        now we handle also debug outputs in client code

      * s_conf.c
        Added the prefix character into all reply-strings.
        MSGs never appeared on client site because parse() didn't
        recognize it as a prefix (numeric) message
        Changed the test of time-interval, now a specified interval
        that begins before midnight and ends after should also work

      * s_bsd.c
        Added setdtablesize() for sequents OS Dynix,
        default was 20; allows more socket connections.

Sat May 12 22:50:13 1990  Jarkko Oikarinen (jto@tolsun.oulu.fi)

	* s_msg.c
	  Added newline removal from the end of string ctime()
	  returns (m_info() and m_stats())
	* s_whowas.c
	  Added newline removal from the end of string ctime()
	  returns (m_whowas())
	* s_conf.f
	  Added close() into init_conf()
	  Was obviously forgotten from there

Thu May 10 17:17:13 1990  Jarkko Oikarinen (jto@tolsun.oulu.fi)

        * whowas.c
          Fixed memcpy and bcopy problems
 
Sat Jan  6 17:36:28 1990  Mike Bolotski  (mikeb at coho.ee.ubc.ca)

	* date.c

	Added HPUX-specific code since it lacks the timezone() function.


