diff -uNrd ircd-hybrid-6.4.1/Hybrid-team ircd-hyb6.4.1-FDFr5.4/Hybrid-team
--- ircd-hybrid-6.4.1/Hybrid-team	Tue Jun 17 18:45:29 2003
+++ ircd-hyb6.4.1-FDFr5.4/Hybrid-team	Wed Oct 15 20:38:25 2003
@@ -1,4 +1,4 @@
-$Id: Hybrid-team,v 1.33 2003/06/17 22:45:29 ievil Exp $
+$Id: Hybrid-team,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
 
   The hybrid team is a group of ircd coders who were frustrated
 with the instability and all-out "dirtiness" of the EFnet ircd's
diff -uNrd ircd-hybrid-6.4.1/INSTALL ircd-hyb6.4.1-FDFr5.4/INSTALL
--- ircd-hybrid-6.4.1/INSTALL	Fri Dec  7 23:12:39 2001
+++ ircd-hyb6.4.1-FDFr5.4/INSTALL	Wed Oct 15 20:38:25 2003
@@ -1,6 +1,6 @@
 ircd-hybrid-6 INSTALL
 ---------------------
-$Id: INSTALL,v 1.12 2001/12/08 04:12:39 wcampbel Exp $
+$Id: INSTALL,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 hybrid-6 relies upon GNU autoconf.  The following is a transcript of
 recommended procedures that users/administrators of hybrid-6 should
diff -uNrd ircd-hybrid-6.4.1/LICENSE ircd-hyb6.4.1-FDFr5.4/LICENSE
--- ircd-hybrid-6.4.1/LICENSE	Thu Oct  5 23:00:46 2000
+++ ircd-hyb6.4.1-FDFr5.4/LICENSE	Wed Oct 15 20:38:23 2003
@@ -1,4 +1,4 @@
-$Id: LICENSE,v 1.2 2000/10/06 03:00:46 lusky Exp $
+$Id: LICENSE,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 		    GNU GENERAL PUBLIC LICENSE
 		     Version 1, February 1989
diff -uNrd ircd-hybrid-6.4.1/Makefile.in ircd-hyb6.4.1-FDFr5.4/Makefile.in
--- ircd-hybrid-6.4.1/Makefile.in	Thu May 15 00:12:54 2003
+++ ircd-hyb6.4.1-FDFr5.4/Makefile.in	Wed Oct 15 20:38:24 2003
@@ -16,14 +16,13 @@
 #*   along with this program; if not, write to the Free Software
 #*   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #*
-#*   $Id: Makefile.in,v 1.23 2003/05/15 04:12:54 db Exp $
+#*   $Id: Makefile.in,v 1.4 2003/10/09 03:49:53 jailbird Exp $
 #*/
 
 RM=@RM@
 
 # Default CFLAGS
-CFLAGS = @CFLAGS@ -DNDEBUG
-
+CFLAGS = -s -O2 -DNDEBUG @CFLAGS@
 LDFLAGS = @LDFLAGS@
 
 # Default make flags - you may want to uncomment this on a multicpu machine
diff -uNrd ircd-hybrid-6.4.1/README.FDF.NOW ircd-hyb6.4.1-FDFr5.4/README.FDF.NOW
--- ircd-hybrid-6.4.1/README.FDF.NOW	Wed Dec 31 19:00:00 1969
+++ ircd-hyb6.4.1-FDFr5.4/README.FDF.NOW	Sun Nov 16 16:26:37 2003
@@ -0,0 +1,324 @@
+==================
+=Revision History=
+==================
+!!! = Changed
++++ = Added
+--- = Removed
+
+FEFr1: (Runt)
+!!! The length of nicks allowed changed from 9 to 15.
+!!! Each channel is now allowed 50 bans, instead of 25.
+!!! The default config.h value for the max. channels per user is now 20.
++++ Banned users cannot talk. (UnderNet bquiet patch)
+
+FEFr2: (Runt)
+!!! Nothing changed in the hybrid-5 release of FEFr2.
+
+FEFr3: (JailBird)
++++ Added/Enhanced DalNet U:'s added
+!!! TOPIC lengths changed from 80 bytes to 255.
+
+FEFr4wb5 (wide-beta 5): (Runt/JailBird)
++++ WHOIS_SIGNON_TIME; shows when a user signed on in /whois. (Runt)
++++ OPERS_SEE_INVISIBLE; allows opers to see +i users. (Runt)
++++ OPERS_SEE_PRIV; allows opers to see +s/+p chans. (Runt)
++++ DalNet Q:'s added. (JailBird) (integrated in hybrid-6.3.1)
++++ STOPIC; TS-synched channel TOPICs. (JailBird)
+!!! U-lined servers can now send to channels, regardless of modes. (JailBird)
+
+Changes made from +th FEFr4wb5 to +hybrid-5 FEFr4wb5: (JailBird)
++++ HYBRID_ONLY; allow links from +hybrid servers only.
++++ NETNAME; Set the name of the network in the welcome message.
+
+FEFr4: (JailBird)
++++ IDENTD_ONLY; Reject any users not running identd if the I: line calls
+    for it. (Taken from +CSr30) (moved to I: lines in hybrid-6.3.1)
++++ NO_RED_MODES; Reject any duplicate channel modes. (Taken from +CSr30)
++++ IDLE_CHECK; Reject any idle clients. (Taken from +CSr30)
+    (integrated in hybrid-6.3.1)
++++ CHECK_CLONE; Reject any clonebots. (Taken from ircu)
++++ REMOTE_WHOIS; Shows if a remote user /wii's you, while OPERd.
++++ KLINE_CLONES; Will automatically K: line any clonebotters.
+
+Changes made from +th FEFr4 to +hybrid-5 FEFr4: (JailBird)
+!!! Replaced the +CSr25 CLONE_CHECK code with the UnderNet CHECK_CLONE code.
+!!! Reinstated the *@* I: code.  PLEASE USE *@* IN YOUR I: LINES!
+
+FEFr4.1: (JailBird) (Nothing really added, so we just added .1 :) )
+!!! Upgraded the base code from +hybrid-5 to +hybrid-5.3
+    See README.hybrid for those changes.
+--- ANTI_IP_SPOOF was broke in hyb5.3. DON'T USE!
+!!! Fixed buffer overrun in m_stopic.
+!!! Moved RES_SRC to main Makefile.
+!!! Fixed WHOIS_SIGNON_TIME code.
+!!! Cleaned up all gcc warnings.
++++ Added fixes from FEFr4-withfixes.
+!!! Optimized for FEFnet.
+
+FEFr4.2 (JailBird) (bug fixes galore!)
+!!! Updated base code to hybrid-5.3p2
++++ Added NULL checking in m_stopic() to prevent malicious server attacks.
++++ Readded the varargs code, yet changed it to the ANSIfied 'stdargs' in the
+    process. Stdargs is now required, which shouldn't be a problem.
+    (integrated in hybrid-6)
+!!! Replaced the EFnet ircsprintf.c with UnderNet's. It's faster and more
+    flexible. (integrated in hybrid-6)
+!!! Fixed Taner's ugly oper UMODES code. (integrated in hybrid-6.3.1, I THINK)
+!!! Fixed problem with ircd overflowing when looking up access for long hosts.
+    (integrated in hybrid-6.3.1, I THINK)
+!!! Reverted I: lines to our old th-style lines. The server will now ALWAYS
+    check identd, but will only complain/reject if you have a '@' in the I:
+    lines (aka *@*).  This means you can allow non-identd users by adding a
+    I: line for them without the @.  ALL DEFAULT I: LINES SHOULD USE '*@*'!
+--- Removed FOLLOW_IDENT_RFC because of above change.  identd is always checked
+    now.
+--- Removed DO_IDENTD for the same reason. :)
++++ Added NO_REMOTE_INFO to disable INFO requests by remote clients. This helps
+    stop remote clients from splitting servers by flooding remote servers with
+    INFO requests.
+--- Removed the code in channel.c that blasted the TS on a channel when a non-U:
+    server sent a +o MODE.  This is unneeded as the only non-TS servers on our
+    nets are services, which are U:'d. Only a rogue server should ever do this,
+    and if it does, the hacker did a bad job in coding it :).
+    (superseded in hybrid-6.3.1)
+!!! Fixed anti-DNS spoofing /whois code (aka the IP in /whois).
+!!! Changed m_topic so users can see topics on non-secret channels even if
+    they're not in the channel (they can already see it in /list!)
++++ Added OPERS_SEE_TOPIC, which lets Opers see the topics in any channel.
+--- Removed OPERWALL command. It's unneeded and was requested by Dianora :).
+--- Removed KLINE_CLONES option. It simply does NOT work with the UnderNet
+    clone code that we use.  This is a job for the tcm anyways.
+--- Removed NO_RED_MODES. This "feature" could cause channels to become
+    desynched.
+
+FEFr4.3 (JailBird) (watch the bloatware continue!)
++++ Readded SHOW_QUIT - Shows the client's quit reason.
++++ identd-replies of '~' are not longer considered valid.
+    (superseded in hybrid-6.3.1)
++++ The code will now compile cleanly on an Alpha.
+    (integrated in hybrid-6)
+!!! Updated base code to hybrid-5.3p4
+--- Removed NO_REMOTE_INFO, obseleted by 5.3p4
+
+FEFr4.3a (JailBird) (oops!)
+!!! hybrid-5.3p4 redid m_topic(), which killed our U: code.
+
+
+FEFr4.4 (JailBird)
+!!! Fixed proc_answer() code in res.c so that it is now portable.
+    (integrated in hybrid-6)
+!!! Cleaned-up m_stopic()
+!!! Fixed ANTI_IP_SPOOF
++++ Readded AWAY propogation
+!!! Added NO_OPER_FLOOD code to the flud code (integrated in hybrid-6.3.1,
+    I THINK)
+!!! Upgraded base code to hybrid-5.3p6
+!!! Fixed bug in configure script that prevented it from detecting
+    what kind of non-blocking code to use on Linux glibc2 systems.
+    This caused a blocking version to be built, which caused "lockups".
+    (integrated in hybrid-6)
+
+FEFr4.5 (JailBird)
+!!! Updated base code to hybrid-5.3p7.
++++ Added MacOSX compatibility patch by cybin. (integrated in hybrid-6)
+!!! Changed ANTI_IP_SPOOF PING to an unsigned (positive) number.
+!!! Fixed problem with the stdargs vsendto_one() function sending 550-byte
+    packets. (integrated in hybrid-6)
+!!! Renamed existing doc/example.conf to doc/example.conf.bill and wrote
+    a new simplistic doc/exmaple.conf.
+!!! Fixed configure script to automatically setup CC/CFLAGS/IRCDLIBS.  This
+    should fix the "-lcrypt -lresolv" crap. (superseded in hybrid-6)
+
+FEFr4.5a (JailBird)
+!!! Reverted the ANTI_IP_SPOOF PINGs back to signed due to atoi().
+
+FEFr4.6
++++ Readded the old inu+JB patch.
+
+FDFr1
+!!! Upgrade base code to hybrid-6.0
+!!! Changed name of ircd from +FEF to +FDF, since Runt and I are both
+    on FDFnet now.
+!!! VERY IMPORTANT: U: lines are now S: lines!!!
++++ Added FDF_ONLY: Allows connections only from other FDFr5b1 servers.
++++ Added SNICK Support: Services can now force nick changes.
++++ Added DalNet's +c channel mode. Channels that are +c'd will not allow
+    mIRC color or ANSI color to be sent to them.
+--- Removed K_LINES_OPER_ONLY. hybrid-6 will now show non-ops any K:
+    lines that match their hostmask.  This is better.
+!!! The server was ignoring MODE changes from servers, which was breaking
+    INU_SERV_CAN_OP. Fixed.
++++ Added support for JB_SERV_CAN_KICK.
++++ Added +FDF config.h settings to /info reply.
+!!! Fixed autoconf so that it defaults to building a stripped binary.
++++ Readded the UnderNet bquiet patch.
+!!! Fixed identd bug from hybrid-6 code change.
+!!! Fixed OPERS_SEE_INVISIBLE code when doing a /list. This was due
+    to cloning of code in hybrid-6's m_list().
+!!! Fixed the anti-DNS spoofing code (aka IP in /whois). Also changed it
+    so that only IRCops can see the IP. This works better with I-line
+    spoofing.
+!!! Fixed the HACK mesage when people use INU_IGNORE_BANS.
+!!! Fixed REMOTE_WHOIS
++++ If a user doesn't have identd and a '-' in their I: line, then the server
+    will send a NOTICE explaining why they have a '~' in their username.
+!!! Moved opers.txt into the DPATH so that /quote help will work.
+!!! Bumped MAX_BUFFERS down to 10 from 60.
+!!! Changed default config to NO_JOIN_ON_SPLIT_SIMPLE instead of
+    NO_OPS_ON_SPLIT. Hopefully not letting people JOIN channels on
+    split servers will remove the reason to DoS servers.
+--- Removed code to allow people to netsplit hack ops on channels
+    that do not have ops. This is to reduce DoS value.
++++ Added irc.best.net patch to show port numbers in unauthorized client
+    connection messages.
+!!! Hub servers should read the "Important" section below.
++++ Added INFO_OPER_ONLY in order to only allow /info requests from
+    IRC Ops.
+!!! Changed GLINE code so that only 2 opers are required, not 3.
+!!! Changed GLINE code so that GLINEs from S: lined servers are added
+    immediately.
+!!! Disabled DEBUG mode, which should speed-up the server.
+!!! Offical configure command-line for gcc users (using sh,ksh,bash):
+    CC="gcc" CFLAGS="-O6 -fomit-frame-pointer -pipe -w -s" LDFLAGS="-s" \
+    ./configure
+!!! Fixed AlcServ/ErisServ by readding IRCII_KLUDGE code
+!!! Fixed bug were remote nicknames trying to introduce servers would core
+    the server.
++++ IDLE_RESET - Lets you /quote IDLE to set your idle time. -Runt
+--- Removed SHOW_QUIT. This has been superceeded by WINTRHAWK
+
+FDFr5
+!!! Upgraded base code to hybrid-6.2
+--- Removed NETNAME, replaced by hybrid's NETWORK_NAME
+--- Removed HYBRID_ONLY, hybrid-6.2 is effectivly 'HYBRID_ONLY'
+!!! Changed name of server back to +FEF
+!!! Changed FDF_ONLY to FEF_ONLY. The code still passes 'FDF' however, so that
+    it will be backwards compatible.
+!!! Cleaned-up #ifdef's so that the code will compile with gcc 3.0.1
+
+FDFr5.1
+!!! Upgraded base code to hybrid-6.3.1
+!!! Hard-coded FEF_ONLY.  We are always FEF-only now.
+!!! Hard-coded TS5.  We always do TS5.
+!!! Hard-coded TS5_ONLY.  I'm a bastard :)
+!!! Hard-coded BAN_INFO.  Services needs this.
+!!! Hard-coded USE_UH.  Services needs this.
++++ n!u@h is now used for TOPICs instead of just nicks.
+!!! Finally fixed ANTI_IP_SPOOF code to not send negative ping values
+!!! Fixed problem with services adding G: lines.
+--- Removed 'normal' messages.tab and replaced with CUSTOM_ERR version. It's
+    more humorous :)
+
+FDFr5.2
+!!! Fixed ANTI_IP_SPOOF that I broke *sigh*.
+!!! Cleaned-up hybrid identd code.
++++ Added UNGLINE propogation for services, so services can globally UNGLINE
+    somebody.
+!!! Changed default GLINE time from 12 hours to 72.
+!!! Hard-coded GLINES, so that services can use it globally.
+!!! Removed NO_FAKE_GLINES code so that services can remove glines globally.
+!!! Removed IGNORE_BOGUS_TS code so TS won't get desynched on the network.
+
+FDFr5.3
+!!! Fixed STOPIC bug found by klik.
++++ The log file (if enabled) will not be closed and reopened when the server
+    is rehashed. (Requested by Ryan)
+
+FDFr5.4
+!!! Upgraded base code to hybrid-6.4.1.
+!!! On SNICK, just truncate the nick if it's > then NICKLEN, don't kill it.
+!!! Fixed bug where topic user could be cut-off by one char.
+--- Removed REMOTE_WHOIS. This has been superceeded by SHOW_REMOTE_WHOIS.
+!!! Instead of KILLing bad or duplicate nicks, SNICK just now ignores them.
+    It is up to the sending service to check for dupes before it sends SNICK.
+
+===========
+=Important=
+===========
+
+If you are compiling a *HUB SERVER*
+
+MAKE SURE YOU CHANGE THE SPLIT SETTINGS IN YOUR CONFIG.H!
+
+SPLIT_SMALLNET_SIZE should be roughly the number of servers on your network,
+minus a couple as a buffer.
+
+SPLIT_SMALLNET_USER_SIZE should be the LOWEST number of users seem at any
+given time on the network, minus about 10-20 or so as a buffer.
+
+==========
+=Problems=
+==========
+
+Problem #1: Getting "res_" errors during linking.
+Fixes: 1) Make sure "-lresolv" is in your IRCDLIBS= in the Makefile.
+       2) Install bind8.  Add "-I/path/to/bind8/include" to CFLAGS=,
+          and "-L/path/to/bind8/libs -lbind" in the IRCDLIBS=.
+
+Problem #2: The server gives a chdir error when ran.
+Fixes: 1) Real Fix: Edit the DPATH in the config.h
+       2) Temp Fix: Start ircd as "./ircd -d ."
+
+        I hope this helps...
+
+==================
+=Support Channels=
+==================
+
+On FEFnet: Join #continuum
+On FEFnet: Join #continuum
+
+=========
+=Authors=
+=========
+
+The authors of the +FDF server are:
+
+    John "Runt" Leslie         - john@stf.org
+    Dustin "JailBird" Marquess - jailbird@alcatraz.fdf.net
+    Steve "inubus" White       - subuni@users.sourceforge.net
+
+=========
+=Credits=
+=========
+
+We would like to thank the original ircd team for their work.  We would also
+like to thank digital, Taner Halicioglu, and the Hybrid team for their work
+on the base code. Out of the Hybrid team, special thanks goes to Dianora, who
+helped us, even though she didn't have to.
+
+Also thanks to Ryan Kubica on FEFnet for writing services and exploiting our
+S: code to make it work :).
+
+==============
+=Distribution=
+==============
+
+The FDFnet ircd is officially available via FTP from the following locations:
+
+ftp://ftp.fdf.net/pub/irc/
+ftp://ftp.fef.net/pub/irc/
+
+It is also usually mirrored at:
+
+ftp://ftp.liii.com/pub/unix/irc/
+ftp://ftp.bitchx.org/pub/servers/
+
+You can also obtain the newest code in development using CVS. Here at the
+steps needed to pull this off:
+
+1) Get cvs if you don't have it.
+2) cvs -d :pserver:cvs@bobdole.fdf.net:/cvs login  # Password is "cvs".
+3) cvs -d :pserver:cvs@bobdole.fdf.net:/cvs co ircd-FEF
+
+This will create a directory called "ircd-FEF" under the current directory that
+will contain the current source code.  To update the code in the future, run:
+
+        cvs update       (from the ircd-FEF dir)
+
+NOTE: The CVS tree is used for development of the ircd.  This code may be
+      unstable and buggy.  The good part about using this tree, is it's always
+      the newest code! :).
+
+                                        -Dustin "JailBird" Marquess
+
diff -uNrd ircd-hybrid-6.4.1/README.FIRST ircd-hyb6.4.1-FDFr5.4/README.FIRST
--- ircd-hybrid-6.4.1/README.FIRST	Fri Jun  6 04:45:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/README.FIRST	Wed Oct 15 20:38:24 2003
@@ -1,6 +1,6 @@
 ircd-hybrid-6 README
 --------------------
-$Id: README.FIRST,v 1.16 2003/06/06 08:45:16 ievil Exp $
+$Id: README.FIRST,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
 
 If you don't read this first, we won't help you.
 :-)
diff -uNrd ircd-hybrid-6.4.1/README.small_nets ircd-hyb6.4.1-FDFr5.4/README.small_nets
--- ircd-hybrid-6.4.1/README.small_nets	Fri Sep 13 20:17:55 2002
+++ ircd-hyb6.4.1-FDFr5.4/README.small_nets	Wed Oct 15 20:38:24 2003
@@ -1,4 +1,4 @@
-$Id: README.small_nets,v 1.6 2002/09/14 00:17:55 db Exp $
+$Id: README.small_nets,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
 
   On a stand alone server, make sure you #undef NO_JOIN_ON_SPLIT in
 config.h Otherwise, you will have trouble with non opered clients
diff -uNrd ircd-hybrid-6.4.1/RELNOTES ircd-hyb6.4.1-FDFr5.4/RELNOTES
--- ircd-hybrid-6.4.1/RELNOTES	Mon Aug 25 18:53:21 2003
+++ ircd-hyb6.4.1-FDFr5.4/RELNOTES	Wed Oct 15 20:38:24 2003
@@ -1,4 +1,4 @@
-$Id: RELNOTES,v 1.20 2003/08/25 22:53:21 ievil Exp $
+$Id: RELNOTES,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
 
 This is the current release version of ircd-hybrid-6.
 
diff -uNrd ircd-hybrid-6.4.1/adns/Makefile.in ircd-hyb6.4.1-FDFr5.4/adns/Makefile.in
--- ircd-hybrid-6.4.1/adns/Makefile.in	Thu Jul 11 20:04:02 2002
+++ ircd-hyb6.4.1-FDFr5.4/adns/Makefile.in	Wed Oct 15 20:38:23 2003
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/adns
 #
-# $Id: Makefile.in,v 1.4 2002/07/12 00:04:02 androsyn Exp $
+# $Id: Makefile.in,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
 CC = @CC@
 RM = @RM@
 MKDEP = ${CC} -MM
diff -uNrd ircd-hybrid-6.4.1/adns/adns.h ircd-hyb6.4.1-FDFr5.4/adns/adns.h
--- ircd-hybrid-6.4.1/adns/adns.h	Mon Feb  4 09:49:24 2002
+++ ircd-hyb6.4.1-FDFr5.4/adns/adns.h	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * adns.h: $Id: adns.h,v 1.5 2002/02/04 14:49:24 androsyn Exp $
+ * adns.h: $Id: adns.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
@@ -55,7 +55,7 @@
  *  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  *
  *
- *  $Id: adns.h,v 1.5 2002/02/04 14:49:24 androsyn Exp $
+ *  $Id: adns.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 #ifndef ADNS_H_INCLUDED
diff -uNrd ircd-hybrid-6.4.1/adns/check.c ircd-hyb6.4.1-FDFr5.4/adns/check.c
--- ircd-hybrid-6.4.1/adns/check.c	Thu May  8 22:20:55 2003
+++ ircd-hyb6.4.1-FDFr5.4/adns/check.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * check.c: $Id: check.c,v 1.3 2003/05/09 02:20:55 db Exp $
+ * check.c: $Id: check.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/dlist.h ircd-hyb6.4.1-FDFr5.4/adns/dlist.h
--- ircd-hybrid-6.4.1/adns/dlist.h	Thu May  8 22:20:55 2003
+++ ircd-hyb6.4.1-FDFr5.4/adns/dlist.h	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * dlist.h: $Id: dlist.h,v 1.4 2003/05/09 02:20:55 db Exp $
+ * dlist.h: $Id: dlist.h,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/event.c ircd-hyb6.4.1-FDFr5.4/adns/event.c
--- ircd-hybrid-6.4.1/adns/event.c	Mon Jun 23 23:14:30 2003
+++ ircd-hyb6.4.1-FDFr5.4/adns/event.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * event.c: $Id: event.c,v 1.8 2003/06/24 03:14:30 ievil Exp $
+ * event.c: $Id: event.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/general.c ircd-hyb6.4.1-FDFr5.4/adns/general.c
--- ircd-hybrid-6.4.1/adns/general.c	Mon Jun 23 23:57:12 2003
+++ ircd-hyb6.4.1-FDFr5.4/adns/general.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * general.c: $Id: general.c,v 1.4 2003/06/24 03:57:12 ievil Exp $
+ * general.c: $Id: general.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  *  
  */
 /*
@@ -29,7 +29,7 @@
  *  along with this program; if not, write to the Free Software Foundation,
  *  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
  *
- * $Id: general.c,v 1.4 2003/06/24 03:57:12 ievil Exp $
+ * $Id: general.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 
 #include "fileio.h"
diff -uNrd ircd-hybrid-6.4.1/adns/internal.h ircd-hyb6.4.1-FDFr5.4/adns/internal.h
--- ircd-hybrid-6.4.1/adns/internal.h	Tue Feb  5 23:56:09 2002
+++ ircd-hyb6.4.1-FDFr5.4/adns/internal.h	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * internal.h: $Id: internal.h,v 1.8 2002/02/06 04:56:09 androsyn Exp $
+ * internal.h: $Id: internal.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/parse.c ircd-hyb6.4.1-FDFr5.4/adns/parse.c
--- ircd-hybrid-6.4.1/adns/parse.c	Sun Jan 27 23:26:09 2002
+++ ircd-hyb6.4.1-FDFr5.4/adns/parse.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * parse.c: $Id: parse.c,v 1.3 2002/01/28 04:26:09 androsyn Exp $
+ * parse.c: $Id: parse.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/poll.c ircd-hyb6.4.1-FDFr5.4/adns/poll.c
--- ircd-hybrid-6.4.1/adns/poll.c	Tue Dec  4 11:12:11 2001
+++ ircd-hyb6.4.1-FDFr5.4/adns/poll.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * poll.c: $Id: poll.c,v 1.2 2001/12/04 16:12:11 androsyn Exp $
+ * poll.c: $Id: poll.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/query.c ircd-hyb6.4.1-FDFr5.4/adns/query.c
--- ircd-hybrid-6.4.1/adns/query.c	Tue Dec  4 11:12:11 2001
+++ ircd-hyb6.4.1-FDFr5.4/adns/query.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * query.c: $Id: query.c,v 1.4 2001/12/04 16:12:11 androsyn Exp $
+ * query.c: $Id: query.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/reply.c ircd-hyb6.4.1-FDFr5.4/adns/reply.c
--- ircd-hybrid-6.4.1/adns/reply.c	Tue Dec  4 11:12:11 2001
+++ ircd-hyb6.4.1-FDFr5.4/adns/reply.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * reply.c: $Id: reply.c,v 1.5 2001/12/04 16:12:11 androsyn Exp $
+ * reply.c: $Id: reply.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/setup.c ircd-hyb6.4.1-FDFr5.4/adns/setup.c
--- ircd-hybrid-6.4.1/adns/setup.c	Mon Feb  4 11:25:02 2002
+++ ircd-hyb6.4.1-FDFr5.4/adns/setup.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * setup.c: $Id: setup.c,v 1.10 2002/02/04 16:25:02 androsyn Exp $
+ * setup.c: $Id: setup.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/transmit.c ircd-hyb6.4.1-FDFr5.4/adns/transmit.c
--- ircd-hybrid-6.4.1/adns/transmit.c	Tue Jun 24 01:30:46 2003
+++ ircd-hyb6.4.1-FDFr5.4/adns/transmit.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * transmit.c: $Id: transmit.c,v 1.6 2003/06/24 05:30:46 ievil Exp $
+ * transmit.c: $Id: transmit.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/tvarith.h ircd-hyb6.4.1-FDFr5.4/adns/tvarith.h
--- ircd-hybrid-6.4.1/adns/tvarith.h	Tue Dec  4 11:12:11 2001
+++ ircd-hyb6.4.1-FDFr5.4/adns/tvarith.h	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * tvarith.h: $Id: tvarith.h,v 1.2 2001/12/04 16:12:11 androsyn Exp $
+ * tvarith.h: $Id: tvarith.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/adns/types.c ircd-hyb6.4.1-FDFr5.4/adns/types.c
--- ircd-hybrid-6.4.1/adns/types.c	Tue Dec  4 11:12:11 2001
+++ ircd-hyb6.4.1-FDFr5.4/adns/types.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * types.c: $Id: types.c,v 1.4 2001/12/04 16:12:11 androsyn Exp $
+ * types.c: $Id: types.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *  
  */
 /*
diff -uNrd ircd-hybrid-6.4.1/autoconf/acconfig.h ircd-hyb6.4.1-FDFr5.4/autoconf/acconfig.h
--- ircd-hybrid-6.4.1/autoconf/acconfig.h	Sun Dec  9 14:02:06 2001
+++ ircd-hyb6.4.1-FDFr5.4/autoconf/acconfig.h	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: acconfig.h,v 1.5 2001/12/09 19:02:06 lusky Exp $
+ * $Id: acconfig.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 /* Define only one of POSIX, BSD, or SYSV signals.  */
diff -uNrd ircd-hybrid-6.4.1/autoconf/config.guess ircd-hyb6.4.1-FDFr5.4/autoconf/config.guess
--- ircd-hybrid-6.4.1/autoconf/config.guess	Thu Oct  5 23:00:51 2000
+++ ircd-hyb6.4.1-FDFr5.4/autoconf/config.guess	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $Id: config.guess,v 1.2 2000/10/06 03:00:51 lusky Exp $
+# $Id: config.guess,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
 #
diff -uNrd ircd-hybrid-6.4.1/autoconf/config.sub ircd-hyb6.4.1-FDFr5.4/autoconf/config.sub
--- ircd-hybrid-6.4.1/autoconf/config.sub	Thu Oct  5 23:00:51 2000
+++ ircd-hyb6.4.1-FDFr5.4/autoconf/config.sub	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $Id: config.sub,v 1.2 2000/10/06 03:00:51 lusky Exp $
+# $Id: config.sub,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # Configuration validation subroutine script, version 1.1.
 #   Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
 # This file is (in principle) common to ALL GNU software.
diff -uNrd ircd-hybrid-6.4.1/autoconf/configure.in ircd-hyb6.4.1-FDFr5.4/autoconf/configure.in
--- ircd-hybrid-6.4.1/autoconf/configure.in	Thu May  8 22:20:56 2003
+++ ircd-hyb6.4.1-FDFr5.4/autoconf/configure.in	Wed Oct 15 20:38:23 2003
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.30 2003/05/09 02:20:56 db Exp $
+dnl $Id: configure.in,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
 dnl Process this file with autoconf to produce a configure script.
 AC_INIT(include/class.h)
 
diff -uNrd ircd-hybrid-6.4.1/autoconf/install-sh ircd-hyb6.4.1-FDFr5.4/autoconf/install-sh
--- ircd-hybrid-6.4.1/autoconf/install-sh	Thu Oct  5 23:00:51 2000
+++ ircd-hyb6.4.1-FDFr5.4/autoconf/install-sh	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $Id: install-sh,v 1.4 2000/10/06 03:00:51 lusky Exp $
+# $Id: install-sh,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # install - install a program, script, or datafile
 # This comes from X11R5 (mit/util/scripts/install.sh).
 #
diff -uNrd ircd-hybrid-6.4.1/doc/CIDR.txt ircd-hyb6.4.1-FDFr5.4/doc/CIDR.txt
--- ircd-hybrid-6.4.1/doc/CIDR.txt	Thu Oct 25 00:28:51 2001
+++ ircd-hyb6.4.1-FDFr5.4/doc/CIDR.txt	Wed Oct 15 20:38:22 2003
@@ -1,4 +1,4 @@
-$Id: CIDR.txt,v 1.4 2001/10/25 04:28:51 wcampbel Exp $
+$Id: CIDR.txt,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 CIDR Information
 ----------------
diff -uNrd ircd-hybrid-6.4.1/doc/INDEX ircd-hyb6.4.1-FDFr5.4/doc/INDEX
--- ircd-hybrid-6.4.1/doc/INDEX	Fri Dec  7 20:59:16 2001
+++ ircd-hyb6.4.1-FDFr5.4/doc/INDEX	Wed Oct 15 20:38:22 2003
@@ -24,4 +24,4 @@
 yline.txt             - A reference guide to Y: lines, and common Y: line
                         issues.
 
-# $Id: INDEX,v 1.3 2001/12/08 01:59:16 wcampbel Exp $
+# $Id: INDEX,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
diff -uNrd ircd-hybrid-6.4.1/doc/Makefile ircd-hyb6.4.1-FDFr5.4/doc/Makefile
--- ircd-hybrid-6.4.1/doc/Makefile	Thu Oct  5 23:00:53 2000
+++ ircd-hyb6.4.1-FDFr5.4/doc/Makefile	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
 #*   along with this program; if not, write to the Free Software
 #*   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #*
-#*   $Id: Makefile,v 1.2 2000/10/06 03:00:53 lusky Exp $
+#*   $Id: Makefile,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 #*/
 
 all:
diff -uNrd ircd-hybrid-6.4.1/doc/encap.txt ircd-hyb6.4.1-FDFr5.4/doc/encap.txt
--- ircd-hybrid-6.4.1/doc/encap.txt	Thu Jun 12 19:56:44 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/encap.txt	Wed Oct 15 20:38:22 2003
@@ -1,4 +1,4 @@
-$Id: encap.txt,v 1.1 2003/06/12 23:56:44 ievil Exp $
+$Id: encap.txt,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 ENCAP DEFINITION
 ----------------
diff -uNrd ircd-hybrid-6.4.1/doc/example.conf ircd-hyb6.4.1-FDFr5.4/doc/example.conf
--- ircd-hybrid-6.4.1/doc/example.conf	Sun Aug 17 02:01:54 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/example.conf	Wed Oct 15 20:38:22 2003
@@ -1,4 +1,4 @@
-#   $Id: example.conf,v 1.40 2003/08/17 06:01:54 ievil Exp $
+#   $Id: example.conf,v 1.3 2003/10/09 03:49:54 jailbird Exp $
 #   IRC - Internet Relay Chat, doc/example.conf
 #   Copyright (C) 1992, Bill Wisner
 #
@@ -11,8 +11,7 @@
 #   Updated again July 17, 1998 -db
 #   Updated 990102 to take out P: line connection limiting code
 #   Updated again July 5, 1999 -db
-#   Updated for 6.2 Release, 6 June 2001 - wcampbel
-#   Updated the last time, 24 Oct 2001
+#   Updated for 6.1 Release, 6 June 2001 - wcampbel
 #
 #   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
@@ -45,8 +44,7 @@
 # address of the interface closest to the destination.
 #
 # NOTE:  As of hybrid-6, the port field no longer binds a port by default.
-#        however it defines what port is used by default to connect to
-#        remote servers
+# It is an inoperative and obsolete field.
 #
 M:hayes.ims.alaska.edu:192.168.1.250:University of Alaska Fairbanks:
 # 
@@ -54,7 +52,7 @@
 #    may contain any arbitrary text. It is printed by the /ADMIN command.
 #
 A:University of Alaska Institute of Marine Science:Fairbanks, AK USA:Bill Wisner <wisner@ims.alaska.edu>
-#
+
 #
 # .include lines, insert a file from DPATH directory into the conf
 # you could use this to insert a common file between several
@@ -86,6 +84,11 @@
 # Class numbers must be positive to ensure future modification of ircd to
 # use -1 internally could not be complicated with it's use externally.
 #
+# Contrary to popular belief, having a port in a C: line does not enable
+# autoconnects, the connection frequency field in the Y: line used by the
+# C: line does.  Be sure and properly set the connection frequency
+# properly for all leaf only server connections
+#
 Y:1:90:0:20:100000
 Y:2:90:300:10:4000000
 #
@@ -112,17 +115,14 @@
 ##I:root@128.250.*::root@*.mu.oz.au::1
 
 ## This is a correct example in hybrid-6, the username 
-## is now used for an IP I line.  Specify it in the name field.
+## is not used for an IP I line (this may be changed, its a simple change
 ## but EFnet is currently deprecating the use of non resolving client hosts)
 ## If the IP block has a resolving host name, it will be shown instead
 ## of the IP address. This just serves to allow on an entire block of ip's
 ## without needing to specify each individual hostname.
+## Note, you must use an 'x' in the name field
 
-## Allow any username from this IP block
-I:*@128.250.0.0/16::x::1
-
-## Allow only user db from that IP block
-I:db@128.250.0.0/16::x::1
+I:128.250.0.0/16::x::1
 
 #
 # You can also limit the number of connections from one host
@@ -189,6 +189,8 @@
 ##
 ## < This user is exempt from idle restrictions if IDLE_CHECK is defined
 ##
+## < This user is exempt from idle restrictions if IDLE_CHECK is defined
+##
 
 ## Examples
 ## c) I:NOMATCH::^db@koruna.varner.com::3
@@ -205,8 +207,8 @@
 ##    an IP can be used instead as long as the name field does not begin 
 ##    with an 'x'
 ##    i.e. 
-##    I:db@192.168.0.0/24::x::3 #this is an IP I line
-##    I:db@192.168.0.0::=db@*somesite.com::3 #this is a spoofed IP	
+##    I:192.168.0.0/24::x::3 #this is an IP I line
+##    I:192.168.0.0::db@*somesite.com::3 #this is a spoofed IP	
 #
 # O: authorize operators. Fields are, in order, host name the operator must
 #    be logged in from (wildcards allowed), operator's password, operator's
@@ -363,13 +365,6 @@
 #
 c:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
 N:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
-#
-# If you wish to bind to a specific IP for an outbound connect
-# There is an optional field after the class number you can use.
-# This binds the outgoing interface to 192.168.0.1
-#
-C:irc.ais.net:hi:irc.ais.net::2:192.168.0.1
-N:irc.ais.net:andy:irc.ais.net::2
 #
 # C and N lines may also use the "user@" combination in the same way as
 # the I-lines.
diff -uNrd ircd-hybrid-6.4.1/doc/example.conf.bill ircd-hyb6.4.1-FDFr5.4/doc/example.conf.bill
--- ircd-hybrid-6.4.1/doc/example.conf.bill	Wed Dec 31 19:00:00 1969
+++ ircd-hyb6.4.1-FDFr5.4/doc/example.conf.bill	Wed Oct 15 20:38:22 2003
@@ -0,0 +1,489 @@
+#   $Id: example.conf.bill,v 1.1 2003/05/17 05:47:58 jailbird Exp $
+#   IRC - Internet Relay Chat, doc/example.conf
+#   Copyright (C) 1992, Bill Wisner
+#
+#   Modified by Rodder, Jon Lusky <lusky@blown.net>,
+#   at one time, but he didn't credit his changes.
+#   Updated Dec 19, 1997 Diane Bruce aka db/Dianora <db@db.net>
+#   please also read example.conf.trillian, it covers
+#   elements this example misses.
+#   -db
+#   Updated again July 17, 1998 -db
+#   Updated 990102 to take out P: line connection limiting code
+#   Updated again July 5, 1999 -db
+#   Updated for 6.2 Release, 6 June 2001 - wcampbel
+#   Updated the last time, 24 Oct 2001
+#
+#   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.
+#
+#
+# IRC example configuration file
+#
+# This file describes the information that should be present in your IRC
+# configuration and how to present it.
+#
+# M: set your server's name. Fields are, in order, host name (domain style),
+#  optional bind address, a text name, and unused.
+#
+# NOTE:  The "optional bind address" is an address used in binding to a
+# local address when we connect outbound.  For example, if your server machine
+# is myhost.example.com (192.168.1.5) and you want IRCD to connect to others
+# from irc.example.com (192.168.1.250), you'd put 192.168.1.250 in the
+# "optional bind address" field.  If left blank, UNIX will choose the primary
+# address of the interface closest to the destination.
+#
+# NOTE:  As of hybrid-6, the port field no longer binds a port by default.
+#        however it defines what port is used by default to connect to
+#        remote servers
+#
+M:hayes.ims.alaska.edu:192.168.1.250:University of Alaska Fairbanks:
+# 
+# A: administrative information. This line should have three fields, which
+#    may contain any arbitrary text. It is printed by the /ADMIN command.
+#
+A:University of Alaska Institute of Marine Science:Fairbanks, AK USA:Bill Wisner <wisner@ims.alaska.edu>
+#
+#
+# .include lines, insert a file from DPATH directory into the conf
+# you could use this to insert a common file between several
+# ircd's if you wished. include files are handled after all the
+# other lines in the conf file are done. i.e. a .include is always
+# as if it was at the end of the conf file.
+#
+# NOTE:  Y: lines must be defined before any line that has a class
+#        field (I, O, C, and N lines), and therefore must be present
+#        in either the base ircd.conf or in the first .include'd 
+#        conf file.
+# 
+.include "olines.conf"
+#
+# Y: define connection class.  A class must be defined in a Y: line before
+#    it is used in a C, N, or I line.  The fields are, in order, class number,
+#    ping frequency in seconds, connect frequency in seconds, maximum
+#    number of links (used for auto-connecting), and size of sendq.
+#    For servers a sendq of at least 4mb is recommended if not more.
+#
+# N.B. Y lines must be defined before I lines and O lines, since
+# both I lines and O lines make reference to Y lines or classes.
+#
+# For clients, the connect frequency field is used to set the maximum
+# number of connects from same IP address. i.e. setting this field to '1'
+# will limit every I line using this Y, to one connection per IP address.
+# leaving it blank or 0, will disable any such checking.
+#
+# Class numbers must be positive to ensure future modification of ircd to
+# use -1 internally could not be complicated with it's use externally.
+#
+Y:1:90:0:20:100000
+Y:2:90:300:10:4000000
+#
+# I: authorize clients to connect to your server. You can use domains,
+#    IP addresses, and asterisk wildcards. The second field can contain a
+#    password that the client must use in order to be allowed to connect.
+#    The optional fifth field may contain a connection class number.
+#
+I:NOMATCH::*.alaska.edu::1
+I:NOMATCH:password:acad3.alaska.edu::1
+#
+#    If using IDENT, to activate it, you need to place a "user@" in the
+#    host segment.
+#
+I:*@acad3.alask.edu::*@acad3.alaska.edu::1
+I:root@acad.alask.edu::root@acad.alaska.edu::1
+#
+# The above are bad examples of I-lines, what really happens is something
+# like this:
+#
+
+## both these are obsolete in hybrid-6
+##I:128.250.*::*.mu.oz.au::1
+##I:root@128.250.*::root@*.mu.oz.au::1
+
+## This is a correct example in hybrid-6, the username 
+## is now used for an IP I line.  Specify it in the name field.
+## but EFnet is currently deprecating the use of non resolving client hosts)
+## If the IP block has a resolving host name, it will be shown instead
+## of the IP address. This just serves to allow on an entire block of ip's
+## without needing to specify each individual hostname.
+
+## Allow any username from this IP block
+I:*@128.250.0.0/16::x::1
+
+## Allow only user db from that IP block
+I:db@128.250.0.0/16::x::1
+
+#
+# You can also limit the number of connections from one host
+# to any value. This can be used to stop cloners
+# This is done using the normally unused confreq line in the Y line.
+#
+# i.e.
+# Allow 100 users in a "bad boy" class, but allow only ONE
+# user per IP to connect at a time.
+#
+Y:3:90:1:100:100000
+#
+# With hybrid ircd, by default, max connections is taken from the
+# class not per I line. i.e. the 3 I lines following will always add
+# up to 100 or less, not 100 per I line.  Defining OLD_Y_LIMIT in
+# config.h will reverse this behavior, useful on closed I: line servers.
+#
+I:NOMATCH::*@*ppp*::3
+I:NOMATCH::*@*slip*::3
+I:NOMATCH::*@*ts*::3
+#
+# a name pattern in the first field will never cause a match since it's only
+# ever matched against an IP# in the form a.b.c.d and a number in the third
+# field will never match since a hostname is always compared against this
+# field.  The '@' needs to be in the IP# section for ident to be used.
+
+#
+## additional prefix characters in I lines are defined
+##
+## from comstud
+##
+## 1) There are noticeable differences in I: lines now.
+##   There are 4 special characters that you can stick in front
+##   of a hostname or ip# that do special things.
+##   These characters are:
+##   -  This will never put a ~ for a user not running identd
+##   +  This will force people matching this I: to require identd
+##   !  This means to only allow 1 connection per ip# in this I:
+##   $  (Not used in hybrid)
+##
+##  Examples:
+##
+## a) I:x::!*@*ppp*::class  will only allow X connections per ip# for people
+##     who have *ppp* in their hostname where X is given in the Y: line.
+##    If there is no ! and you have a limit in your Y: line, then it matches
+##      full user@host instead of just host.
+
+## b) I:x::-*@*.cris.com::class will never show a ~, even though they may
+##     not be running identd.  (This is equivalent to the old way of not
+##    specifying a @ in the I: line).
+
+## Additionally since ircd-hybrid-6
+## B/E/F lines were removed and replaced with 3 other special characters
+## in I lines
+## 
+## ^ This will exempt a user from K/G lines, limited protection from D lines
+## & User can run bots (old B line)
+## > This user is exempt from I line/server side connection limits
+##   (old F line)
+## _ This user is exempt from G lines
+##
+## A variant of amm's spoofing code was added
+## = Spoof this users IP, normally only used for opers
+##
+## < This user is exempt from idle restrictions if IDLE_CHECK is defined
+##
+
+## Examples
+## c) I:NOMATCH::^db@koruna.varner.com::3
+##    This user is exempt from k/g lines
+## d) I:NOMATCH::&jerdfelt@*mindspring.net::3
+##    This user can run a bot, and is also "e lined"
+## e) I:NOMATCH::>lusky@*vol.com::3
+##    This user is immune from I line limits
+## f) I:NOMATCH::^&>mpearce@*varner.com::3
+##    This user can run a bot, is exempt
+##    from client connect limits.
+## g) I:smurfers.are.lame::=dgalas@*somewhere.com::3
+##    Show this user as being dgalas@smurfers.are.lame
+##    an IP can be used instead as long as the name field does not begin 
+##    with an 'x'
+##    i.e. 
+##    I:db@192.168.0.0/24::x::3 #this is an IP I line
+##    I:db@192.168.0.0::=db@*somesite.com::3 #this is a spoofed IP	
+#
+# O: authorize operators. Fields are, in order, host name the operator must
+#    be logged in from (wildcards allowed), operator's password, operator's
+#    nickname.
+## The 4th field is the port number used in c/n's, in ircd-hybrid
+## this field is used to contain oper flags for this oper
+## You may wish to constrain an oper from using global kill or unkline
+## for example.
+## The flags are:
+## K/k - allow/disallow kill and kline
+## O/o - allow/disallow global kill
+## R/r - allow/disallow remote squit/connect
+## U/u - allow/disallow unkline
+## G/g - allow/disallow gline
+## N/n - allow the use of +n , which should be restricted to tcm use only
+##     for privacy reasons. (+c probably belongs controlled here too but isn't)
+## H/h - allow the use of /rehash, default is H for O and o, add h to 
+##       disable an opers use of /rehash
+## D/d - allow the use of /die or /restart. Default is d for disallowing
+##       /die /restart 
+##
+## Default flags for opers are GKORUH
+## Default flags for local ops, KUH
+## These flags over-rule what the normal privs of an oper would be,
+## but they cannot allow a local oper to do global kills for example.
+##
+## The global kill of a global oper can be disabled by using o for
+## example, in the port field.
+##
+# The first example allows me to become an operator from any
+#    machine in alaska.edu by typing /oper crunchy frog.
+#
+O:*.alaska.edu:frog:crunchy
+#
+# Most operators have encrypted oper passwords.  These passwords can be
+# generated using the mkpasswd program included with ircd.  Both DES and
+# MD5 passwords are supported as long as the underlying system supports
+# both types.  MD5 passwords can be generated by the -m option to mkpasswd.
+#
+## This example allow this oper, to global kill, do remote squit/connect
+## unklines, glines, and use umode +n
+##
+O:db@*db.net:-encrypted password-:Dianora:ORUGN:3
+#
+##
+## This example disables this opers use of global kill, unkline, and gline
+## The oper can still do remote squits/connects
+##
+O:newbie@*some.net:-encrypted password-:newbie:oug:3
+##
+## This example disables this opers use of global kill, unkline,
+## gline and gline and remote squits/connects
+## essentially the same permissions as a local oper, but with the "vanity"
+## They can still local kill and kline for example.
+##
+O:vanity@*some.net:-encrypted password-:vanity:oug:3
+##
+## you could make someone vantiy even more, by disabling their
+## kill/kline privs... note they can still do full traces
+## umode +c (watch connections) and do rehash
+## But otherwise, this set of flags is not practical for
+## a normal oper.
+##
+O:vanity@*some.net:-encrypted password-:vanity:nougk:3
+#
+## a monitor bot could be given the following privs
+## k - no kline/kill
+## g - make sure no GLINE
+## o - no global kill (already taken care of by 'k' flag above)
+## r - no remote routing/squits
+## N - allow this monitor to use umode +n for nick changes
+##
+## Some admins do not like remote tcm kills/klines. If this
+## tcm oper gets compromised, the best they can do is
+## rehash/trace/umode +cn , i.e. no global kills or "fun" for the
+## compromised o line. But its still quite usable for monitoring
+## clones and nick flooders.
+##
+#
+o:tcm@*varner.com:-encrypted password-:tcm:kgorN:3
+#
+## Of course, leaving out the flags entirely defaults to
+## reasonable defaults, so if you don't want to worry about it, then don't.
+## You can always add G later for example.
+#
+## O : Global operator
+## No explicit G or G-line flag, no N or allow umode +n flag
+##
+O:db@ircd.dianora.com:-encrypted password-:Dianora::3
+#
+# o : local operator.
+o:trainee@shell.box.com:password:MyNick::3
+#
+##
+## The fifth field of an O line, is the new class this oper will join
+##
+# Finally, O: lines can specify the default usermodes that an oper will
+# be assigned.
+#
+O:wcampbel@ircd-coders.net:$1$-md5-hash:Highwy101:OKgUnrd:3:wskd
+#
+# C:, N: set up connections to other servers.
+#
+# C: specifies a server that your server may connect to.
+# N: allows a remote server to connect to your own.
+#
+# The two lines are usually given in pairs.
+#
+# These lines may contain a password in the second field.  In fact, to
+# maintain proper security, *all* IRC server links must have passwords.
+#
+# C and N lines do not have to have the same passwords.  The only matches
+# that must exist are the C line password on one server and the N line
+# password of the other.
+#
+# If a C: line contains four fields (the fourth being a TCP port number)
+# IRC will actively try to connect to that server. You should have at least
+# one such line.
+#
+# If an N: line contains four fields, the fourth should contain a number that
+# specifies how many components of your own server's name to strip off the
+# front and be replaced with a *.  This is done to implement hostmasking.
+# For example, to make hayes.ims.alaska.edu present itself to the world as
+# *.alaska.edu, I would use a 2 (to strip off the first two parts).  If you
+# use this, be sure to tell the administrator of the servers you link to --
+# they must add your hostmasked name to their configuration file or you will
+# be unable to connect.
+#
+# The host part of C/N lines MUST contain a valid hostname or IP address
+# The host part in the C:line MUST be identical to the host part in the N:line
+# The name part of the C/N lines MUST match the associated H/L line name
+# 
+# The fifth field may contain a connection class number.
+#
+# The following two lines tell my server to try connecting to
+# byron.u.washington.edu.
+#
+C:byron.u.washington.edu:crunchyfrog:byron.u.washington.edu:6667:2
+N:byron.u.washington.edu:gorfyhcnurc:byron.u.washington.edu:2:2
+#
+# The following two lines allow a server to connect to my server, but my
+# server will not make any attempt to connect to it.  Note that since the
+# server is local to me, I am not using hostmasking.
+#
+# For this link, I'm also going to use compression.  Switch C: for c: to
+# enable compression.
+#
+c:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
+N:kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
+#
+# If you wish to bind to a specific IP for an outbound connect
+# There is an optional field after the class number you can use.
+# This binds the outgoing interface to 192.168.0.1
+#
+C:irc.ais.net:hi:irc.ais.net::2:192.168.0.1
+N:irc.ais.net:andy:irc.ais.net::2
+#
+# C and N lines may also use the "user@" combination in the same way as
+# the I-lines.
+#
+C:wisner@kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
+N:wisner@kaja.gi.alaska.edu:llamas:kaja.gi.alaska.edu::2
+#
+# Another note is that N line passwords can be optionally encrypted.
+# Look in config.h for more information
+#
+# K: kill a user automatically upon connecting.  This is used to deny
+#    troublesome users access to your server.  The fields are, in order,
+#    hostname (wildcards are allowed), comment, and username.
+#
+K:bugs.cs.wcupa.edu:Don't IRC as root:root
+#
+#
+#
+# L: leaf.  This forces the server listed to act as a leaf.  If such a
+#    server allows any other servers to connect to it, its link is
+#    dropped. If a port parameter is non-zero, it is used to control the
+#    maximum depth that link will allow, where depth is the tree depth of
+#    that branch.
+#
+L:::kaja.gi.alaska.edu
+L:::cm5.eng.umd.edu:1
+#
+#    A new extension to the L-line allows you to be selective
+#    about which other servers you wish the connecting server to behave as
+#    as a leaf towards.  The following would not allow any server connecting
+#    with a name that matches *.fi to introduce a server matching *.edu.
+#
+L:*.edu::*.fi
+#
+# H: Hub.  This is required to allow other servers which connect to you as
+#    a hub and introduce other servers.
+#
+H:*.au:*:efnet.telstra.net.au
+#
+# P : port. The port line allows the server to listen on various ports for
+#     connections.  Fields in order: unused,
+#     address to bind to, unused, port to listen on
+#
+# NOTE:  As of hybrid-6, you MUST have at least one P: line defining a port
+# to listen on, or the server won't do much.
+#
+P::::6667
+P::209.42.128.252::31337
+#
+# Listen on port 6667 on all available interfaces.
+# Also listen to port 31337 on only 209.42.128.252.
+#
+# D : dump.  Dumps all connect attempts from the matched IP
+# without any processing, except for reporting to the user that they
+# are D: lined..
+#
+#     First arg is target IP and CIDR mask, second is a comment.
+#
+D:208.148.84.3:bot host that changes domain names frequently
+D:128.183.0/24:NASA users aren't supposed to be on IRC
+#
+# d : immunity to D dump
+# As in D line , First arg is targe IP and CIDR mask, second is a comment.
+#
+d:199.0.154.0/24:Don't D line ais.net:
+
+#
+# server "clusters"
+# U: lines treat each of these servers as being part of your server cluster
+# klines placed on this server will be forwarded to the servers named
+# in the U lines here. LOCOPS will also be forwarded, but will appear
+# as "SLOCOPS" instead of "LOCOPS"
+#
+# i.e. irc_hub.somewhere.net has leaf servers irc1.somewhere.net 
+# irc2.somewhere.net
+
+# Hub server would have
+U:irc1.somewhere.net:
+U:irc2.somewhere.net
+
+# each client server would have
+U:irc_hub.somewhere.net
+
+#
+#
+# Q lines, not the old server Q lines, but Quarantine lines for
+# nicks. Only checked at NICK time, i.e. if added and hashed in
+# will not kill users who match this nick.
+#
+Q:dcc-*:dcc bots not allowed on this server
+Q:lamestbot:You have to be kidding me
+Q:crush:In memory of Janet Pippin
+Q:cwush:In memory of Janet Pippin
+
+#
+# if JUPE_CHANNEL is defined you can also jupe a channel locally
+# i.e. no one on your server can join this channel.
+# You need the backslash to escape the # in the channel
+#
+Q:\#packet:I am tired of the packet fights for this channel
+#
+# X lines.
+# Used to match gecos fields and prohibit users or warn about users
+# who have matching strings in those fields from getting on the server.
+#
+# Field are the match string, reason, unused, and the action value
+#
+# Action values for X lines are 0, 1, and 2.
+# 0 warns opers set +r only
+# 1 rejects the user, and sends a notice to +r opers
+# 2 silently rejects the user.
+# 
+# These three examples only warn
+X:*www*:Possible spambot warning 1::0
+X:*http*:Possible spambot warning 2::0
+X:*sex*:Possible spambot warning 3::0
+#
+# These two examples reject the client
+# use this to reject IPHONE users
+X:* vc:IPHONE user::2
+# This is a very probable spambot
+X:*see me at*:This has GOT to be a spambot::1
+X:*hi baby*:This has GOT to be a spambot::1
+
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/README ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/README
--- ircd-hybrid-6.4.1/doc/ircd.conf/README	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/README	Wed Oct 15 20:38:22 2003
@@ -37,4 +37,4 @@
 
 Arnvid Karstad - ievil@isd.no
 
-$Id: README,v 1.1 2003/06/18 01:49:01 ievil Exp $
\ No newline at end of file
+$Id: README,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
\ No newline at end of file
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/ilines.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ilines.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/ilines.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ilines.conf	Wed Oct 15 20:38:22 2003
@@ -1,6 +1,6 @@
 # [efnet.server.no] I-line configuration..
 #
-# $Id: ilines.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: ilines.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 #
 # Flags :
 # = spoof
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/ircd.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ircd.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/ircd.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ircd.conf	Wed Oct 15 20:38:22 2003
@@ -8,7 +8,7 @@
 #
 # Enjoy! - ievil / Hybrid Team Member 2003
 #
-# $Id: ircd.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: ircd.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 #
 
 M:efnet.server.no:192.168.1.1:the hyb-team messed with my code today.:
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/ispoof.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ispoof.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/ispoof.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ispoof.conf	Wed Oct 15 20:38:22 2003
@@ -1,6 +1,6 @@
 # [efnet.server.no] Spoofed I-lines config file
 #
-# $Id: ispoof.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: ispoof.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 
 # --- spoofs / users --
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/olines.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/olines.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/olines.conf	Sun Aug 17 02:01:55 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/olines.conf	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
 #
 # Please use little o:'s still if u use RESTRICT_LOCOP!!
 # 
-# $Id: olines.conf,v 1.2 2003/08/17 06:01:55 ievil Exp $
+# $Id: olines.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 O:*adm@admin.efnet.server.no:-CryptedPassHere-:admin:GDSUKORPHNAZ:301
 O:*coadm@coadmin.efnet.server.no:-CryptedPassHere-:coadmin:GdSUKORPHNAZ:301
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/ports.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ports.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/ports.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ports.conf	Wed Oct 15 20:38:22 2003
@@ -1,6 +1,6 @@
 # [efnet.server.no] Listener ports
 #
-# $Id: ports.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: ports.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 P::192.168.1.100::6667
 P::192.168.1.100::6668
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/qlines.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/qlines.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/qlines.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/qlines.conf	Wed Oct 15 20:38:22 2003
@@ -1,7 +1,7 @@
 # [efnet.server.no] Q-lined nicks and channels
 # Q-line is jupes ;)
 #
-# $Id: qlines.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: qlines.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 Q:services:Reserved nickname:
 Q:operserv:Reserved nickname:
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/servers.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/servers.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/servers.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/servers.conf	Wed Oct 15 20:38:22 2003
@@ -1,6 +1,6 @@
 # [efnet.server.no] server configuration file
 #
-# $Id: servers.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: servers.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 
 C:192.168.10.100:linkpass:server-a.domain.tld::201
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/xlines.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/xlines.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/xlines.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/xlines.conf	Wed Oct 15 20:38:22 2003
@@ -1,6 +1,6 @@
 # [efnet.sever.no] x-line / IRCNAME Gecos ban file
 #
-# $Id: xlines.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: xlines.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 X:*fight me, pussy*:DRONE::2
 X:*www.hennesscript.com*:Bad Script::2
diff -uNrd ircd-hybrid-6.4.1/doc/ircd.conf/ylines.conf ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ylines.conf
--- ircd-hybrid-6.4.1/doc/ircd.conf/ylines.conf	Tue Jun 17 21:49:01 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/ircd.conf/ylines.conf	Wed Oct 15 20:38:22 2003
@@ -7,7 +7,7 @@
 # 1xx - client classes where the xx number is total number of users
 #       per host/ip
 #
-# $Id: ylines.conf,v 1.1 2003/06/18 01:49:01 ievil Exp $
+# $Id: ylines.conf,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
 
 Y:1:120:600:1:9050000
 Y:301:9999:9999:9999:13000000
diff -uNrd ircd-hybrid-6.4.1/doc/mtrie.txt ircd-hyb6.4.1-FDFr5.4/doc/mtrie.txt
--- ircd-hybrid-6.4.1/doc/mtrie.txt	Thu Oct  5 23:00:53 2000
+++ ircd-hyb6.4.1-FDFr5.4/doc/mtrie.txt	Wed Oct 15 20:38:22 2003
@@ -1,4 +1,4 @@
-$Id: mtrie.txt,v 1.2 2000/10/06 03:00:53 lusky Exp $
+$Id: mtrie.txt,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 
 In hybrid-6 dich_conf has been removed.
diff -uNrd ircd-hybrid-6.4.1/doc/server-version-info ircd-hyb6.4.1-FDFr5.4/doc/server-version-info
--- ircd-hybrid-6.4.1/doc/server-version-info	Sat Aug 16 15:58:31 2003
+++ ircd-hyb6.4.1-FDFr5.4/doc/server-version-info	Wed Oct 15 20:38:22 2003
@@ -1,4 +1,4 @@
-$Id: server-version-info,v 1.10 2003/08/16 19:58:31 ievil Exp $
+$Id: server-version-info,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
 Updated for Hybrid 6.4 (2003/11/26)
 
 When you type /version you will often see something like this:
diff -uNrd ircd-hybrid-6.4.1/doc/simple.conf ircd-hyb6.4.1-FDFr5.4/doc/simple.conf
--- ircd-hybrid-6.4.1/doc/simple.conf	Thu Oct  5 23:00:54 2000
+++ ircd-hyb6.4.1-FDFr5.4/doc/simple.conf	Wed Oct 15 20:38:22 2003
@@ -1,5 +1,5 @@
 # IRC minimal example configuration file
-# $Id: simple.conf,v 1.4 2000/10/06 03:00:54 lusky Exp $
+# $Id: simple.conf,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # 
 # This is a basic ircd.conf that will get you up and running with
 # little or no modifications.  See the example.conf file for more
diff -uNrd ircd-hybrid-6.4.1/doc/ts5.txt ircd-hyb6.4.1-FDFr5.4/doc/ts5.txt
--- ircd-hybrid-6.4.1/doc/ts5.txt	Fri Dec  7 20:59:16 2001
+++ ircd-hyb6.4.1-FDFr5.4/doc/ts5.txt	Wed Oct 15 20:38:22 2003
@@ -1,7 +1,7 @@
   Overview of the TS5 system
   Lee H <lee@leeh.co.uk>
 
-$Id: ts5.txt,v 1.2 2001/12/08 01:59:16 wcampbel Exp $
+$Id: ts5.txt,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 For the purposes of this document, ircd versions:
   hybrid6.0
diff -uNrd ircd-hybrid-6.4.1/doc/yline.txt ircd-hyb6.4.1-FDFr5.4/doc/yline.txt
--- ircd-hybrid-6.4.1/doc/yline.txt	Fri Dec  7 20:59:16 2001
+++ ircd-hyb6.4.1-FDFr5.4/doc/yline.txt	Wed Oct 15 20:38:22 2003
@@ -1,7 +1,7 @@
 # Y: Line Reference Guide (In Constant Progress)
 # W. Campbell (hwy101@kabel.pp.ru)
 # This document is freely redistributable copyrighted material
-# $Id: yline.txt,v 1.3 2001/12/08 01:59:16 wcampbel Exp $
+# $Id: yline.txt,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # 
 # The structure of this document allows for pasting or including into an 
 # ircd.conf (or suitable .include'ed conf file) for easier reference.
diff -uNrd ircd-hybrid-6.4.1/include/blalloc.h ircd-hyb6.4.1-FDFr5.4/include/blalloc.h
--- ircd-hybrid-6.4.1/include/blalloc.h	Thu Nov 29 11:23:16 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/blalloc.h	Wed Oct 15 20:38:25 2003
@@ -4,7 +4,7 @@
  * Owner:   Wohali (Joan Touzet)
  *
  *
- * $Id: blalloc.h,v 1.5 2001/11/29 16:23:16 androsyn Exp $
+ * $Id: blalloc.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_blalloc_h
 #define INCLUDED_blalloc_h
diff -uNrd ircd-hybrid-6.4.1/include/channel.h ircd-hyb6.4.1-FDFr5.4/include/channel.h
--- ircd-hybrid-6.4.1/include/channel.h	Sat Aug 16 15:58:32 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/channel.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: channel.h,v 1.39 2003/08/16 19:58:32 ievil Exp $
+ * $Id: channel.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #ifndef INCLUDED_channel_h
@@ -55,10 +55,8 @@
   struct Channel* hnextch;
   struct Mode     mode;
   char            topic[TOPICLEN + 1];
-#ifdef TOPIC_INFO
-  char            topic_nick[NICKLEN + 1];
+  char            topic_nick[NICKLEN + USERLEN + HOSTLEN + 3];
   time_t          topic_time;
-#endif
   int             users;
   struct SLink*   members;
   struct SLink*   invites;
@@ -119,6 +117,7 @@
 
 extern void    set_channel_mode(struct Client *, struct Client *, 
                                 struct Channel *, int, char **);
+extern int      msg_has_colors(char *);
 #ifdef JUPE_CHANNEL
 extern void report_juped_channels(struct Client *);
 #endif
@@ -127,11 +126,7 @@
 extern int total_ignoreops;
 
 /* this should eliminate a lot of ifdef's in the main code... -orabidoo */
-#ifdef BAN_INFO
-#  define BANSTR(l)  ((l)->value.banptr->banstr)
-#else
-#  define BANSTR(l)  ((l)->value.cp)
-#endif
+#define BANSTR(l)  ((l)->value.banptr->banstr)
 
 
 /*
@@ -166,6 +161,7 @@
 
 #define MODE_LIMIT      0x2000  /* was 0x1000 */
 #define MODE_FLAGS      0x2fff  /* was 0x1fff */
+#define MODE_NOCOLOR    0x4000
 #ifdef NEED_SPLITCODE
 
 
@@ -205,7 +201,11 @@
 /* channel not shown but names are */
 #define HiddenChannel(x)        ((x) && ((x)->mode.mode & MODE_PRIVATE))
 /* channel visible */
-#define ShowChannel(v,c)        (PubChannel(c) || IsMember((v),(c)))
+#ifdef OPERS_SEE_PRIV
+# define ShowChannel(v,c)       (PubChannel(c) || IsMember((v),(c)) || IsAnOper(v))
+#else
+# define ShowChannel(v,c)        (PubChannel(c) || IsMember((v),(c)))
+#endif /* OPERS_SEE_PRIV */
 #define PubChannel(x)           ((!x) || ((x)->mode.mode &\
                                  (MODE_PRIVATE | MODE_SECRET)) == 0)
 
@@ -214,7 +214,6 @@
 
 #define IsChannelName(name) ((name) && (*(name) == '#' || *(name) == '&'))
 
-#ifdef BAN_INFO
 /*
   Move BAN_INFO information out of the SLink struct
   its _only_ used for bans, no use wasting the memory for it
@@ -232,7 +231,6 @@
   char *who;
   time_t when;
 } aBan;
-#endif
 
 #ifdef NEED_SPLITCODE
 
diff -uNrd ircd-hybrid-6.4.1/include/class.h ircd-hyb6.4.1-FDFr5.4/include/class.h
--- ircd-hybrid-6.4.1/include/class.h	Wed Jul 21 01:45:00 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/class.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: class.h,v 1.5 1999/07/21 05:45:00 tomh Exp $ */
+/* $Id: class.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $ */
 
 #ifndef INCLUDED_class_h
 #define INCLUDED_class_h
diff -uNrd ircd-hybrid-6.4.1/include/client.h ircd-hyb6.4.1-FDFr5.4/include/client.h
--- ircd-hybrid-6.4.1/include/client.h	Sat Aug 16 15:10:44 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/client.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: client.h,v 1.71 2003/08/16 19:10:44 ievil Exp $
+ * $Id: client.h,v 1.5 2003/10/09 03:49:54 jailbird Exp $
  */
 #ifndef INCLUDED_client_h
 #define INCLUDED_client_h
@@ -235,6 +235,9 @@
   time_t            last_nick_change;
   int               number_of_nick_changes;
 #endif
+#ifdef ANTI_IP_SPOOF
+  int               random_ping;    /* spoofers won't see this */
+#endif
   time_t            last_knock; /* don't allow knock to flood */
   /*
    * client->sockhost contains the ip address gotten from the socket as a
@@ -288,17 +291,8 @@
  * ts stuff:
  *  if TS5_ONLY is defined, TS_MIN is 5, else 3
  */
-#ifdef TS5
 #define TS_CURRENT	5
-#else
-#define TS_CURRENT	3
-#endif
-
-#ifdef TS5_ONLY
 #define TS_MIN   	5
-#else
-#define TS_MIN          3       /* minimum supported TS protocol version */
-#endif
 
 #define TS_DOESTS       0x20000000
 #define DoesTS(x)       ((x)->tsinfo == TS_DOESTS)
@@ -314,7 +308,6 @@
 #define FLAGS_CLOSING      0x0020 /* set when closing to suppress errors */
 #define FLAGS_CHKACCESS    0x0040 /* ok to check clients access if set */
 #define FLAGS_GOTID        0x0080 /* successful ident lookup achieved */
-#define FLAGS_NEEDID       0x0100 /* I-lines say must use ident return */
 #define FLAGS_NONL         0x0200 /* No \n in buffer */
 #define FLAGS_NORMALEX     0x0400 /* Client exited normally */
 #define FLAGS_SENDQEX      0x0800 /* Sendq exceeded */
@@ -348,6 +341,9 @@
 #define FLAGS2_E_LINED      0x0004      /* client is graced with E line */
 #define FLAGS2_B_LINED      0x0008      /* client is graced with B line */
 #define FLAGS2_F_LINED      0x0010      /* client is graced with F line */
+#ifdef ANTI_IP_SPOOF
+# define FLAGS2_GOT_ANTI_SPOOF_PING     0x1000
+#endif
 #define FLAGS2_EXEMPTGLINE  0x2000      /* client can't be G-lined */
 
 /* oper priv flags */
@@ -419,7 +415,7 @@
                       FLAGS_SPY | FLAGS_DEBUG | FLAGS_BOTS)
 #endif /* LOCOP_UMODES */
 
-#define FLAGS_ID     (FLAGS_NEEDID | FLAGS_GOTID)
+#define FLAGS_ID     (FLAGS_GOTID)
 
 /*
  * flags macros.
@@ -473,9 +469,6 @@
 #define SetIpHash(x)            ((x)->flags |= FLAGS_IPHASH)
 #define ClearIpHash             ((x)->flags &= ~FLAGS_IPHASH)
 #define IsIpHash                ((x)->flags & FLAGS_IPHASH)
-
-#define SetNeedId(x)            ((x)->flags |= FLAGS_NEEDID)
-#define IsNeedId(x)             (((x)->flags & FLAGS_NEEDID) != 0)
 
 #define SetGotId(x)             ((x)->flags |= FLAGS_GOTID)
 #define IsGotId(x)              (((x)->flags & FLAGS_GOTID) != 0)
diff -uNrd ircd-hybrid-6.4.1/include/common.h ircd-hyb6.4.1-FDFr5.4/include/common.h
--- ircd-hybrid-6.4.1/include/common.h	Fri Jul 30 02:48:10 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/common.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: common.h,v 1.15 1999/07/30 06:48:10 tomh Exp $
+ * $Id: common.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_common_h
 #define INCLUDED_common_h
diff -uNrd ircd-hybrid-6.4.1/include/config.h ircd-hyb6.4.1-FDFr5.4/include/config.h
--- ircd-hybrid-6.4.1/include/config.h	Wed Aug 20 12:19:41 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/config.h	Sun Nov 16 16:31:42 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: config.h,v 1.167 2003/08/20 16:19:41 ievil Exp $
+ * $Id: config.h,v 1.7 2003/10/09 03:49:54 jailbird Exp $
  */
 #ifndef INCLUDED_config_h
 #define INCLUDED_config_h
@@ -52,13 +52,13 @@
  */
 
 #define HARD_FDLIMIT_   256
-#define INIT_MAXCLIENTS 180
+#define INIT_MAXCLIENTS 230
 
 /*
  * This is how many 'buffer connections' we allow...
  * Remember, MAX_BUFFER + MAX_CLIENTS can't exceed HARD_FDLIMIT :)
  */
-#define MAX_BUFFER      60
+#define MAX_BUFFER      10
 
 /* NICKNAMEHISTORYLENGTH - size of WHOWAS array
  * this defines the length of the nickname history.  each time a user changes
@@ -68,7 +68,7 @@
  *       will be preallocated for the entire whowas array when ircd is started.
  *       You will want to crank this down if you are on a small net.
  */
-#define NICKNAMEHISTORYLENGTH 15000
+#define NICKNAMEHISTORYLENGTH 1024
 
 /* Don't change this... */
 #define HARD_FDLIMIT    (HARD_FDLIMIT_ - 10)
@@ -100,10 +100,10 @@
  *
  */
 
-#define DPATH   "/usr/local/ircd/"
-#define SPATH   "/usr/local/ircd/ircd"
+#define DPATH   "/home/ircd/FDF/"
+#define SPATH   "/home/ircd/FDF/ircd"
 #define CPATH   "ircd.conf"
-#define KPATH   "kline.conf"
+#undef KPATH   /*"kline.conf"*/
 #define DLPATH  "kline.conf"
 #define MPATH   "ircd.motd"
 #define LPATH   "ircd.log"
@@ -136,24 +136,24 @@
  * Define this to hide the ips of people spoofing from /trace etc, the +c
  * notice and from /stats I
  */
-#define HIDE_SPOOF_IPS
+#undef HIDE_SPOOF_IPS
 
 /* HIDE_ERROR_MESSAGES
  * ERROR messages coming from servers can sometimes have IPs in them.
  * This will not show any error messages that are received, a
  * consequence being you may not see squit reasons..
  */
-#define HIDE_ERROR_MESSAGES
+#undef HIDE_ERROR_MESSAGES
 
 /* NETWORK_NAME
  * Displayed in place of the servername when SERVERHIDE is enabled
  */
-#define NETWORK_NAME "EFnet"
+#define NETWORK_NAME "FDFnet"
 
 /* NETWORK_DESC
  * Displayed in place of the server info when SERVERHIDE is enabled
  */
-#define NETWORK_DESC "Eris Free Network"
+#define NETWORK_DESC "FDFnet IRC Network"
 
 
 /* TS_MAX_DELTA and TS_WARN_DELTA -  allowed delta for TS when another
@@ -169,27 +169,8 @@
  * implementation.  Once pre-hybrid5.2 servers are eradicated, we can drop
  * this down to 90 seconds or so. --Rodder
  */
-#define TS_MAX_DELTA 300        /* seconds */
-#define TS_WARN_DELTA 30        /* seconds */
-
-/* TS5
- * This will mean the oldest version of a channel will always remain after a
- * split, whereas TS3 behaviour was to allow any TS in an opless channel.
- *
- * This effectively will make splitting servers for ops useless, but could
- * cause desync on a mixed TS3/TS5 network.
- *
- * See doc/ts5.txt for more details
- * This is an EFnet requirement now.
- */
-#define  TS5 
-
-/* TS5_ONLY
- * This will disallow TS3 servers from linking
- *
- * This is an EFNet requirement now.
- */
-#define  TS5_ONLY
+#define TS_MAX_DELTA	3600	/* seconds */
+#define TS_WARN_DELTA	30	/* seconds */
 
 /* SLAVE_SERVERS - Use this to send LOCOPS and KLINES to servers you define
  * uses U: lines in ircd.conf, each server defined in an U: line
@@ -208,13 +189,13 @@
  *
  * These need to be defined if you want to use SYSLOG logging, too.
  */
-#define FNAME_USERLOG "/usr/local/ircd/users"
-#define FNAME_OPERLOG "/usr/local/ircd/opers"
+#undef FNAME_USERLOG /*"/usr/local/ircd/users"*/
+#undef FNAME_OPERLOG /*"/usr/local/ircd/opers"*/
 
 /* FNAME_OPERSPYLOG and FNAME_OPERSPYRLOG - logs of OPERSPY usage!
  */
-#define FNAME_OPERSPYLOG   "/usr/local/ircd/operspy.local.log"
-#define FNAME_OPERSPYRLOG  "/usr/local/ircd/operspy.remote.log"
+#undef FNAME_OPERSPYLOG   /*"/usr/local/ircd/operspy.local.log"*/
+#undef FNAME_OPERSPYRLOG  /*"/usr/local/ircd/operspy.remote.log"*/
 
 
 /* RFC1035_ANAL
@@ -227,7 +208,7 @@
  * Defining this will allow periods in ident replies.  Use of this is
  * strongly discouraged on public networks
  */
-#undef  ALLOW_DOT_IN_IDENT
+#undef ALLOW_DOT_IN_IDENT
 
 /* WARN_NO_NLINE
  * Define this if you want ops to get noticed about "things" trying to
@@ -236,15 +217,6 @@
  */
 #define WARN_NO_NLINE
 
-/* CUSTOM_ERR - colorful notice/error/messages
- * Defining this will use custom notice/error/messages from
- * src/messages.tab instead of stock ones in src/messages_cust.tab
- * If you prefer the "colorful" messages that Hybrid was known for,
- * or if you wish to customize the  messages, define this.
- * Otherwise leave it undef'd for plain ole boring messages.
- */
-#undef  CUSTOM_ERR
-
 /* FAILED_OPER_NOTICE - send a notice to all opers when someone
  * tries to /oper and uses an incorrect password.
  */
@@ -253,31 +225,18 @@
 /* SHOW_FAILED_OPER_ID - if FAILED_OPER_NOTICE is defined, also notify when
  * a client fails to oper because of a identity mismatch (wrong host or nick)
  */
-#undef  SHOW_FAILED_OPER_ID
+#define SHOW_FAILED_OPER_ID
 
 /* SHOW_FAILED_OPER_PASSWD - if FAILED_OPER_NOTICE is defined, also show the
  * attempted passwd
  */
-#undef  SHOW_FAILED_OPER_PASSWD
+#undef SHOW_FAILED_OPER_PASSWD
 
 /* CLIENT_SERVER - Don't be so fascist about idle clients ;)
  * changes behaviour of HTM code to make clients lag less.
  */
 #define CLIENT_SERVER
 
-/* BAN_INFO - Shows you who and when someone did a ban
- */
-#define BAN_INFO
-
-/* USE_UH - include user@host for BAN_INFO
- * define this if you want to use n!u@h for BAN_INFO
- */
-#define USE_UH
-
-/* TOPIC_INFO - Shows you who and when someone set the topic
- */
-#define TOPIC_INFO
-
 /* ANTI_NICK_FLOOD - prevents nick flooding
  * define if you want to block local clients from nickflooding
  */
@@ -286,13 +245,6 @@
 #define MAX_NICK_TIME 20
 #define MAX_NICK_CHANGES 5
 
-/* DO_IDENTD - check identd
- * if you undefine this, ircd will never check identd regardless of
- * @'s in I:lines.  You must still use @'s in your I: lines to get
- * ircd to do ident lookup even if you define this.
- */
-#define DO_IDENTD
-
 /* KLINE_WITH_REASON - show comment to client on exit
  * define this if you want users to exit with the kline/dline reason
  * (i.e. instead of "You have been K-lined" they will see the reason
@@ -315,7 +267,7 @@
  * are both defined, the client will still see the real reason on
  * connect attempts.
  */
-#define KLINE_WITH_CONNECTION_CLOSED
+#undef KLINE_WITH_CONNECTION_CLOSED
 
 /* x_LINES_OPER_ONLY - Allow only local opers to see these stats
  *
@@ -337,7 +289,7 @@
 #define B_LINES_OPER_ONLY
 #define E_LINES_OPER_ONLY
 #define F_LINES_OPER_ONLY
-#undef  I_LINES_OPER_ONLY
+#define  I_LINES_OPER_ONLY
 #undef  K_LINES_OPER_ONLY
 #undef  O_LINES_OPER_ONLY
 #define P_LINES_OPER_ONLY
@@ -357,7 +309,7 @@
  * seeing STATS p requests, look below for the answer to that
  * argument.
  */
-#undef  STATS_NOTICE
+#define  STATS_NOTICE
 
 /* STATS_P_NOTICE - See STATS p requests only, when STATS_NOTICE
  * is undefined.  This allows opers to see requests by users for
@@ -372,7 +324,7 @@
  * Why do opers need this at all? Its an invasion of privacy. bah.
  * you don't need this. -Dianora
  */
-#undef  WHOIS_NOTICE
+#define  WHOIS_NOTICE
 
 /* SHOW_REMOTE_WHOIS - Shows a notice to an oper when a client 
  * does a /whois on them, even when  the client is not on the
@@ -380,8 +332,7 @@
  * Why do opers need this at all? Its an invasion of privacy. bah.
  * you don't need this. -Dianora 
  */
-#undef SHOW_REMOTE_WHOIS
-
+#define SHOW_REMOTE_WHOIS
 
 /* WHOIS_WAIT - minimum seconds between remote use of WHOIS before
  * max use count is reset
@@ -441,14 +392,14 @@
  * mode "i" (i == invisible). Invisibility means people dont showup in
  * WHO or NAMES unless they are on the same channel as you.
  */
-#undef  NO_DEFAULT_INVISIBLE
+#define NO_DEFAULT_INVISIBLE
 
 /*
  * The compression level used for zipped links. (Suggested values: 1 to 5)
  * Above 4 will only give a rather marginal increase in compression for a
  * large increase in CPU usage.
  */
-#define ZIP_LEVEL 2
+#define ZIP_LEVEL 3
 
 /*
  * ADMIN_UMODES OPER_UMODES LOCOP_UMODES - set these to be the initial umode
@@ -461,8 +412,10 @@
 
 /*
  * HIDDEN_ADMIN - On EFnet this *must* be defined!!!
+ * This shouldn't be needed on FDFnet, hopefully.
+ * Turn it back on if you start getting DDoS'd. -JailBird
  */
-#define HIDDEN_ADMIN
+#undef HIDDEN_ADMIN
       
 /* MAXIMUM LINKS - max links for class 0 if no Y: line configured
  *
@@ -499,7 +452,7 @@
  * If you wish to have the server send 'vital' messages about server
  * to a logfile, define USE_LOGFILE.
  */
-#define USE_LOGFILE
+#undef USE_LOGFILE
 
 /* USE_SYSLOG - log errors and such to syslog()
  * If you wish to have the server send 'vital' messages about server
@@ -555,7 +508,7 @@
 /* MAXSENDQLENGTH - Max amount of internal send buffering
  * Max amount of internal send buffering when socket is stuck (bytes)
  */
-#define MAXSENDQLENGTH 15000000    /* Recommended value: 15000000 for EFnet */
+#define MAXSENDQLENGTH 500000    /* Recommended value: 15000000 for EFnet */
 
 /*  BUFFERPOOL - the maximum size of the total of all sendq's.
  *  Recommended value is 4 times MAXSENDQLENGTH.
@@ -585,7 +538,7 @@
  * When this is defined, users will not be allowed to join channels
  * while the server is split.
  */
-#undef  NO_JOIN_ON_SPLIT
+#define  NO_JOIN_ON_SPLIT
 
 /* NO_CREATE_ON_SPLIT (default behaviour)
  *
@@ -599,7 +552,7 @@
  * the net. for a leaf, 5 is fine. If the number of servers seen
  * on the net gets less than 5, a split is deemed to have happened.
  */
-#define SPLIT_SMALLNET_SIZE 5
+#define SPLIT_SMALLNET_SIZE 6
 
 /*
  * SPLIT_SMALLNET_USER_SIZE defines how many global users on the
@@ -609,7 +562,7 @@
  * number of users seen on net > SPLIT_SMALLNET_USER_SIZE start
  * counting down the SERVER_SPLIT_RECOVERY_TIME
  */
-#define SPLIT_SMALLNET_USER_SIZE 15000
+#define SPLIT_SMALLNET_USER_SIZE 300
 
 /*
  * SPLIT_PONG will send a PING to a server after the connect burst.
@@ -761,7 +714,7 @@
  * clients with a little i instead of an I in their I line
  * can be chanopped, but cannot chanop anyone else.
  */
-#undef LITTLE_I_LINES
+#define LITTLE_I_LINES
 
 /* GLINES - global Kline-like bans
  * Define this if you want GLINE support
@@ -769,20 +722,13 @@
  * three different servers must do the identical GLINE in order
  * for the G line to take effect.
  */
-#undef  GLINES
+/* #define GLINES *Always define'd now. -JailBird* */
 #define GLINEFILE       "gline.log"
 
 /* GLINE_TIME - local expire time for GLINES
- * As configured here, a GLINE will last 12 hours
- */
-#define GLINE_TIME      (12*3600)
-
-/* NO_FAKE_GLINES - disable fake glines
- * Define this if you want to stop fake glines from users who
- * dont exist.  This could possibly have an impact with services,
- * so its #undef'd by default.
+ * As configured here, a GLINE will last 72 hours (3 days)
  */
-#undef  NO_FAKE_GLINES
+#define GLINE_TIME      (72*3600)
 
 /* GLINE_REASON_FIRST (default)
  * Adopted the hybrid 7 behaviour of placing a gline based on the first reason
@@ -797,7 +743,52 @@
  * servers, but not allowed to originate here, or be sent to our clients if
  * this is undeffed.. -- fl_
  */
-#undef USE_KNOCK
+#define USE_KNOCK
+
+/*** Start code added by JailBird or Runt for the +FDF servers. ***/
+
+/* OPERS_SEE_INVISIBLE - If defined, opers can see +i users on /names,
+ * /list, /whois, and /who. -Runt
+ */
+#define OPERS_SEE_INVISIBLE
+
+/* OPERS_SEE_PRIV - If defined, opers can see +s and +p channels on /names,
+ * /list, and /who. -Runt                                                       
+ */
+#define OPERS_SEE_PRIV
+
+/* OPERS_SEE_TOPIC - If defined, oper can see (not change) topics on any
+ * channel. -JailBird
+ */
+#define OPERS_SEE_TOPIC
+
+/* IDLE_RESET - Lets you /quote IDLE to set your idle time - Runt
+ */
+#define IDLE_RESET
+
+/* INFO_OPER_ONLY - Only allow /info requests from IRC Ops. This keeps script
+ * kiddies from gaining your OS information in order to attack you.
+ */
+#define INFO_OPER_ONLY
+
+/* CHECK_CLONE - Clonebot Protection.  This feature blocks connections if more
+ * than CHECK_CLONE_LIMIT clients connect from the same host to ANY server on
+ * the network within CHECK_CLONE_PERIOD seconds.  The feature is enabled
+ * CHECK_CLONE_DELAY seconds after the server is started.
+ */
+#define CHECK_CLONE
+#define CHECK_CLONE_LIMIT     5 /* recommended value 2   */
+#define CHECK_CLONE_PERIOD   30 /* recommended value 20  */
+#define CHECK_CLONE_DELAY    90 /* 90 secs should be ok */
+
+/* ANTI_IP_SPOOF - protects against TCP sequence guessing attacks
+ * Define this if you want the server to send a random ping at USER or NICK
+ * to defeat IP sequence spoofers. Note, this will stop _some_ very few
+ * clients from using the server. MIRC/IRCII clients are fine with this though
+ */
+#define ANTI_IP_SPOOF
+
+/*** End +FDF code by JailBird and Runt. ***/
 
 /* SPOOF_IP 
  *  - Allows spoofs to be ip's instead just hostnames.
@@ -808,7 +799,7 @@
  * - in cases with drone channels one could want to join juped channels.
  *   - ievil
  */
-#undef OPER_JUPE_BYPASS
+#define OPER_JUPE_BYPASS
 
 /* RESTRICT_LOCOP
  * Add restrictions to LOCOPS to easier allow them to being added when
@@ -831,7 +822,7 @@
 
 /* INITIAL_DBUFS - how many dbufs to preallocate
  */
-#define INITIAL_DBUFS 4000 /* preallocate 16 megs of dbufs */
+#define INITIAL_DBUFS 300 /* preallocate 16 megs of dbufs */
 
 /* MAXBUFFERS - increase socket buffers
  *
@@ -999,7 +990,7 @@
  * (idea due to ThaDragon, I just couldn't find =his= code)
  * - Dianora
  */
-#undef  ANTI_SPAM_EXIT_MESSAGE
+#define ANTI_SPAM_EXIT_MESSAGE
 /* 300 is five minutes, seems reasonable */
 #define ANTI_SPAM_EXIT_MESSAGE_TIME 300
 
@@ -1016,7 +1007,7 @@
  * mtrie_conf.
  *
  */
-#undef  REJECT_HOLD
+#define REJECT_HOLD
 #define REJECT_HOLD_TIME 30
 
 /* maximum number of fd's that will be used for reject holding */
diff -uNrd ircd-hybrid-6.4.1/include/config.h.dist ircd-hyb6.4.1-FDFr5.4/include/config.h.dist
--- ircd-hybrid-6.4.1/include/config.h.dist	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/config.h.dist	Wed Dec 31 19:00:00 1969
@@ -1,1114 +0,0 @@
-/************************************************************************
- *   IRC - Internet Relay Chat, include/config.h
- *   Copyright (C) 1990 Jarkko Oikarinen
- *
- *   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.
- *
- * $Id: config.h.dist,v 1.140 2003/08/16 19:58:33 ievil Exp $
- */
-#ifndef INCLUDED_config_h
-#define INCLUDED_config_h
-#ifndef INCLUDED_setup_h
-#include "setup.h"
-#define INCLUDED_setup_h
-#endif
-
-/* PLEASE READ SECTION:
- *
- * I have commented out SHOW_REMOTE_WHOIS, WHOIS_NOTICE and STATS_NOTICE
- * Personally, I feel opers do not need to know the information
- * returned by having those two defines defined, it is an invasion
- * of privacy. The original need/use of showing STATS_NOTICE
- * it seems to me, was to find stats flooders. They no longer
- * can do much damage with stats flooding, so why show it?
- * whois notice is just an invasion of privacy. Who cares?
- * I personally hope you agree with me, and leave these undef'ed
- * but at least you have been warned.
- *
- */
-
-/***************** MAKE SURE THIS IS CORRECT!!!!!!!!! **************/
-/* ONLY EDIT "HARD_FDLIMIT_" and "INIT_MAXCLIENTS" */
-
-/* You may also need to hand edit the Makefile to increase the value
- * of FD_SETSIZE
- */
-
-/* These ultra low values pretty much guarantee the server will
- * come up initially, then you can increase these values to fit your
- * system limits. If you know what you are doing, increase them now
- */
-
-#define HARD_FDLIMIT_   256
-#define INIT_MAXCLIENTS 180
-
-/*
- * This is how many 'buffer connections' we allow...
- * Remember, MAX_BUFFER + MAX_CLIENTS can't exceed HARD_FDLIMIT :)
- */
-#define MAX_BUFFER      60
-
-/* NICKNAMEHISTORYLENGTH - size of WHOWAS array
- * this defines the length of the nickname history.  each time a user changes
- * nickname or signs off, their old nickname is added to the top of the list.
- * NOTE: this is directly related to the amount of memory ircd will use whilst
- *       resident and running - it hardly ever gets swapped to disk!  Memory
- *       will be preallocated for the entire whowas array when ircd is started.
- *       You will want to crank this down if you are on a small net.
- */
-#define NICKNAMEHISTORYLENGTH 15000
-
-/* Don't change this... */
-#define HARD_FDLIMIT    (HARD_FDLIMIT_ - 10)
-#define MASTER_MAX      (HARD_FDLIMIT - MAX_BUFFER)
-/*******************************************************************/
-
-/* DPATH SPATH CPATH MPATH KPATH - directory and files locations
- * Full pathnames and defaults of IRC system's support files. Please note that
- * these are only the recommended names and paths. Change as needed.
- * You must define these to something, even if you don't really want them.
- *
- * DPATH = directory,
- * SPATH = server executable,
- * CPATH = conf file,
- * MPATH = MOTD
- * KPATH = kline conf file
- * DLPATH = dline conf file
- *
- * OMOTD = path to MOTD for opers
- *
- * For /restart to work, SPATH needs to be a full pathname
- * (unless "." is in your exec path). -Rodder
- * Leave KPATH undefined if you want klines in main conf file.
- * HPATH is the opers help file, seen by opers on /quote help.
- * -Dianora
- *
- * DPATH must have a trailing /
- * Do not use ~'s in any of these paths
- *
- */
-
-#define DPATH   "/usr/local/ircd/"
-#define SPATH   "/usr/local/ircd/ircd"
-#define CPATH   "ircd.conf"
-#define KPATH   "kline.conf"
-#define DLPATH  "kline.conf"
-#define MPATH   "ircd.motd"
-#define LPATH   "ircd.log"
-#define PPATH   "ircd.pid"
-#define HPATH   "opers.txt"
-#define OPATH   "opers.motd"
-
-/* HIDE_OPS
- * Define this to prevent non chanops from seeing what ops a channel has
- * NOT ADEQUATELY TESTED YET, DON'T USE ON PRODUCTION NETWORK --Rodder
- */
-/* #undef  HIDE_OPS */
-
-/* SERVERHIDE
- * Define this to prevent users from seeing what server a user is on.
- * It also hide IP address in STATS commands and various notices, disables
- * TRACE and LTRACE, and prevents hunting by nickname for non-opers.
- * NOT ADEQUATELY TESTED YET, DON'T USE ON PRODUCTION NETWORK --Rodder
- */
-/* #undef  SERVERHIDE */
-
-/* HIDE_SERVERS_IPS
- * Define this to prevent opers from seeing the IP of a server.
- * This will not show IPs of any server to anyone, to protect hidden
- * hubs from untrustable opers.
- */
-#define HIDE_SERVERS_IPS
-
-/* HIDE_SPOOF_IPS
- * Define this to hide the ips of people spoofing from /trace etc, the +c
- * notice and from /stats I
- */
-#define HIDE_SPOOF_IPS
-
-/* HIDE_ERROR_MESSAGES
- * ERROR messages coming from servers can sometimes have IPs in them.
- * This will not show any error messages that are received, a
- * consequence being you may not see squit reasons..
- */
-#define HIDE_ERROR_MESSAGES
-
-/* NETWORK_NAME
- * Displayed in place of the servername when SERVERHIDE is enabled
- */
-#define NETWORK_NAME "EFnet"
-
-/* NETWORK_DESC
- * Displayed in place of the server info when SERVERHIDE is enabled
- */
-#define NETWORK_DESC "Eris Free Network"
-
-
-/* TS_MAX_DELTA and TS_WARN_DELTA -  allowed delta for TS when another
- * server connects.
- *
- * If the difference between my clock and the other server's clock is
- * greater than TS_MAX_DELTA, I send out a warning and drop the links.
- *
- * If the difference is less than TS_MAX_DELTA, I just sends out a warning
- * but don't drop the link.
- *
- * TS_MAX_DELTA currently set to 30 minutes to deal with older timedelta
- * implementation.  Once pre-hybrid5.2 servers are eradicated, we can drop
- * this down to 90 seconds or so. --Rodder
- */
-#define TS_MAX_DELTA 300        /* seconds */
-#define TS_WARN_DELTA 30        /* seconds */
-
-/* TS5
- * This will mean the oldest version of a channel will always remain after a
- * split, whereas TS3 behaviour was to allow any TS in an opless channel.
- *
- * This effectively will make splitting servers for ops useless, but could
- * cause desync on a mixed TS3/TS5 network.
- *
- * See doc/ts5.txt for more details
- * This is an EFnet requirement now.
- */
-#define  TS5 
-
-/* TS5_ONLY
- * This will disallow TS3 servers from linking
- *
- * This is an EFNet requirement now.
- */
-#define  TS5_ONLY
-
-/* SLAVE_SERVERS - Use this to send LOCOPS and KLINES to servers you define
- * uses U: lines in ircd.conf, each server defined in an U: line
- * is sent a copy of the locally placed K-line, and will also
- * accept K-lines from those servers.
- * This is useful for sites with more than one client server.
- */
-#undef  SLAVE_SERVERS
-
-/* FNAME_USERLOG and FNAME_OPERLOG - logs of local USERS and OPERS
- * Define this filename to maintain a list of persons who log
- * into this server. Logging will stop when the file does not exist.
- * Logging will be disable also if you do not define this.
- * FNAME_USERLOG just logs user connections, FNAME_OPERLOG logs every
- * successful use of /oper.  These are either full paths or files within DPATH.
- *
- * These need to be defined if you want to use SYSLOG logging, too.
- */
-#define FNAME_USERLOG "/usr/local/ircd/users"
-#define FNAME_OPERLOG "/usr/local/ircd/opers"
-
-/* FNAME_OPERSPYLOG and FNAME_OPERSPYRLOG - logs of OPERSPY usage!
- */
-#define FNAME_OPERSPYLOG   "/usr/local/ircd/operspy.local.log"
-#define FNAME_OPERSPYRLOG  "/usr/local/ircd/operspy.remote.log"
-
-
-/* RFC1035_ANAL
- * Defining this causes ircd to reject hostnames with non-compliant chars.
- * undef'ing it will allow hostnames with _ or / to connect
- */
-#define RFC1035_ANAL
-
-/* ALLOW_DOT_IN_IDENT
- * Defining this will allow periods in ident replies.  Use of this is
- * strongly discouraged on public networks
- */
-#undef  ALLOW_DOT_IN_IDENT
-
-/* WARN_NO_NLINE
- * Define this if you want ops to get noticed about "things" trying to
- * connect as servers that don't have N: lines.  Twits with misconfigured
- * servers can get really annoying with this enabled.
- */
-#define WARN_NO_NLINE
-
-/* CUSTOM_ERR - colorful notice/error/messages
- * Defining this will use custom notice/error/messages from
- * src/messages.tab instead of stock ones in src/messages_cust.tab
- * If you prefer the "colorful" messages that Hybrid was known for,
- * or if you wish to customize the  messages, define this.
- * Otherwise leave it undef'd for plain ole boring messages.
- */
-#undef  CUSTOM_ERR
-
-/* FAILED_OPER_NOTICE - send a notice to all opers when someone
- * tries to /oper and uses an incorrect password.
- */
-#define FAILED_OPER_NOTICE
-
-/* SHOW_FAILED_OPER_ID - if FAILED_OPER_NOTICE is defined, also notify when
- * a client fails to oper because of a identity mismatch (wrong host or nick)
- */
-#undef  SHOW_FAILED_OPER_ID
-
-/* SHOW_FAILED_OPER_PASSWD - if FAILED_OPER_NOTICE is defined, also show the
- * attempted passwd
- */
-#undef  SHOW_FAILED_OPER_PASSWD
-
-/* CLIENT_SERVER - Don't be so fascist about idle clients ;)
- * changes behaviour of HTM code to make clients lag less.
- */
-#define CLIENT_SERVER
-
-/* BAN_INFO - Shows you who and when someone did a ban
- */
-#define BAN_INFO
-
-/* USE_UH - include user@host for BAN_INFO
- * define this if you want to use n!u@h for BAN_INFO
- */
-#define USE_UH
-
-/* TOPIC_INFO - Shows you who and when someone set the topic
- */
-#define TOPIC_INFO
-
-/* ANTI_NICK_FLOOD - prevents nick flooding
- * define if you want to block local clients from nickflooding
- */
-#define ANTI_NICK_FLOOD
-/* defaults allow 5 nick changes in 20 seconds */
-#define MAX_NICK_TIME 20
-#define MAX_NICK_CHANGES 5
-
-/* DO_IDENTD - check identd
- * if you undefine this, ircd will never check identd regardless of
- * @'s in I:lines.  You must still use @'s in your I: lines to get
- * ircd to do ident lookup even if you define this.
- */
-#define DO_IDENTD
-
-/* KLINE_WITH_REASON - show comment to client on exit
- * define this if you want users to exit with the kline/dline reason
- * (i.e. instead of "You have been K-lined" they will see the reason
- * and to see the kline/dline reason when they try to connect
- * It's a neat feature except for one thing... If you use a TCM
- * and it shows the nick of the oper doing the kline (as it does by default)
- * Your opers can be hit with retaliation... Or if your opers use
- * scripts that stick an ID into the comment field. etc. It's up to you
- * whether you want to use it or not.
- */
-#define KLINE_WITH_REASON
-
-/*
- * If KLINE_WITH_CONNECTION_CLOSED is defined and KLINE_WITH_REASON
- * above is undefined then the signoff reason will be "Connection
- * closed". This prevents other users seeing the client disconnect
- * from harassing the IRCops.  The client will not see the reason.
- *
- * However, if KLINE_WITH_CONNECTION_CLOSED and KLINE_WITH_REASON
- * are both defined, the client will still see the real reason on
- * connect attempts.
- */
-#define KLINE_WITH_CONNECTION_CLOSED
-
-/* x_LINES_OPER_ONLY - Allow only local opers to see these stats
- *
- *  Any one with an F line can almost always get on the server, as
- *  some file descriptors are reserved for people with this F line
- *  especially useful for your opers
- *
- *  Note that B, E, and F lines are no longer explicit lines in the
- *  ircd.conf file, but rather flags in the I line.  The
- *  B/E/F_LINES_OPER_ONLY defines block non-opers from seeing I: lines
- *  with those flags
- *
- *  P_LINES_OPER_ONLY blocks STATS P (Capital P, NOT lower case p) from
- *  non-opers, denying them permission to see configured ports
- *
- *  U_LINES_OPER_ONLY only applies to STATS U (capital U, not lowercase).
- *  U-lines are used to share K/D-lines between servers.
- */
-#define B_LINES_OPER_ONLY
-#define E_LINES_OPER_ONLY
-#define F_LINES_OPER_ONLY
-#undef  I_LINES_OPER_ONLY
-#undef  K_LINES_OPER_ONLY
-#undef  O_LINES_OPER_ONLY
-#define P_LINES_OPER_ONLY
-#undef  U_LINES_OPER_ONLY
-
-/* SPOOF_NOTICE - See a notice when a user connects with a
- * spoofed I: line
- *
- * This will no longer hide spoofed I: or the ips of spoofs, use
- * HIDE_SPOOF_IPS.
- */
-#define SPOOF_NOTICE
-
-/* STATS_NOTICE - See a notice when a user does a /stats
- *
- * This is a violation of privacy.  Arguments for this have been
- * seeing STATS p requests, look below for the answer to that
- * argument.
- */
-#undef  STATS_NOTICE
-
-/* STATS_P_NOTICE - See STATS p requests only, when STATS_NOTICE
- * is undefined.  This allows opers to see requests by users for
- * assistance, while not violating their privacy by spying on other
- * STATS requests.
- */
-#define STATS_P_NOTICE
-
-/* WHOIS_NOTICE - Shows a notice to an oper when a client does a /whois
- * on them, assuming the client is on the same server as the oper (eg.
- * a local /whois).
- * Why do opers need this at all? Its an invasion of privacy. bah.
- * you don't need this. -Dianora
- */
-#undef  WHOIS_NOTICE
-
-/* SHOW_REMOTE_WHOIS - Shows a notice to an oper when a client 
- * does a /whois on them, even when  the client is not on the
- * same server as the oper (eg. a /whois nick nick ).
- * Why do opers need this at all? Its an invasion of privacy. bah.
- * you don't need this. -Dianora 
- */
-#undef SHOW_REMOTE_WHOIS
-
-
-/* WHOIS_WAIT - minimum seconds between remote use of WHOIS before
- * max use count is reset
- */
-#define WHOIS_WAIT 1
-
-/* PACE_WAIT - minimum seconds between use of MOTD, INFO, HELP, LINKS, TRACE
- * -Dianora
- */
-#define PACE_WAIT 10
-
-/* KNOCK_DELAY - minimum seconds between a users use of knock
- */
-#define KNOCK_DELAY 300
-
-/* KNOCK_DELAY_CHANNEL - minimum seconds between knocks to a channel
- */
-#define KNOCK_DELAY_CHANNEL 60
-
-/* SHORT_MOTD
- * There are client ignoring the FORCE_MOTD MOTD numeric, there is
- * no point forcing MOTD on connecting clients IMO. Give them a short
- * NOTICE telling them they should read the motd, and leave it at that.
- */
-#undef  SHORT_MOTD
-
-/* NO_OPER_FLOOD - disable flood control for opers
- * define this to remove flood control for opers
- */
-#define NO_OPER_FLOOD
-
-/* TRUE_NO_OPER_FLOOD - absolutely remove all flood
- * control for opered clients. for this to work, the above define
- * must be enabled as well. typically we delay oper floods after
- * an initial burst, this removes such a delay. BE CAREFUL WITH
- * THIS.
- */
-#undef  TRUE_NO_OPER_FLOOD
-
-/* SHOW_INVISIBLE_LUSERS - show invisible clients in LUSERS
- * As defined this will show the correct invisible count for anyone who does
- * LUSERS on your server. On a large net this doesnt mean much, but on a
- * small net it might be an advantage to undefine it.
- */
-#define SHOW_INVISIBLE_LUSERS
-
-/* ZIP_LINKS - Compress server-to-server links
- * Use c: lines in the conf to specify a zipped connection.
- *
- * Note that you may have to increase your sendQ size between server
- * if you have problems during particularly heavy bursts
- */
-#define ZIP_LINKS
-
-/* NO_DEFAULT_INVISIBLE - clients not +i by default
- * When defined, your users will not automatically be attributed with user
- * mode "i" (i == invisible). Invisibility means people dont showup in
- * WHO or NAMES unless they are on the same channel as you.
- */
-#undef  NO_DEFAULT_INVISIBLE
-
-/*
- * The compression level used for zipped links. (Suggested values: 1 to 5)
- * Above 4 will only give a rather marginal increase in compression for a
- * large increase in CPU usage.
- */
-#define ZIP_LEVEL 2
-
-/*
- * ADMIN_UMODES OPER_UMODES LOCOP_UMODES - set these to be the initial umode
- * when OPER'in These can be over-ridden in ircd.conf file, with flags in
- * last O field
- */
-#define ADMIN_UMODES (FLAGS_OPER|FLAGS_WALLOP|FLAGS_SERVNOTICE|FLAGS_OPERWALL|FLAGS_ADMIN)
-#define OPER_UMODES   (FLAGS_OPER|FLAGS_WALLOP|FLAGS_SERVNOTICE|FLAGS_OPERWALL)
-#define LOCOP_UMODES   (FLAGS_LOCOP|FLAGS_WALLOP|FLAGS_SERVNOTICE)
-
-/*
- * HIDDEN_ADMIN - On EFnet this *must* be defined!!!
- */
-#define HIDDEN_ADMIN
-      
-/* MAXIMUM LINKS - max links for class 0 if no Y: line configured
- *
- * This value is only used if you don't have server classes defined, and
- * a server is in class 0 (the default class if none is set).
- *
- * The Hybrid team STRONGLY recommends configuring proper Y: lines
- *
- */
-#define MAXIMUM_LINKS 1
-
-/* HUB - enable server-server routing
- * If your server is running as a a HUB Server then define this.
- * A HUB Server has many servers connect to it at the same as opposed
- * to a leaf which just has 1 server (typically the uplink). Define this
- * correctly for performance reasons.
- */
-#undef  HUB
-
-/* CMDLINE_CONFIG - allow conf-file to be specified on command line
- * NOTE: defining CMDLINE_CONFIG and installing ircd SUID or SGID is a MAJOR
- * security problem - they can use the "-f" option to read any files
- * that the 'new' access lets them.
- */
-#define CMDLINE_CONFIG
-
-/* INIT_LOG_LEVEL - what level of information is logged to ircd.log
- * options are:
- *   L_CRIT, L_ERROR, L_WARN, L_NOTICE, L_TRACE, L_INFO, L_DEBUG
- */
-#define INIT_LOG_LEVEL L_NOTICE
-
-/* USE_LOGFILE - log errors and such to LPATH
- * If you wish to have the server send 'vital' messages about server
- * to a logfile, define USE_LOGFILE.
- */
-#define USE_LOGFILE
-
-/* USE_SYSLOG - log errors and such to syslog()
- * If you wish to have the server send 'vital' messages about server
- * through syslog, define USE_SYSLOG. Only system errors and events critical
- * to the server are logged although if this is defined with FNAME_USERLOG,
- * syslog() is used instead of the above file. It is not recommended that
- * this option is used unless you tell the system administrator beforehand
- * and obtain their permission to send messages to the system log files.
- */
-#undef  USE_SYSLOG
-
-#ifdef  USE_SYSLOG
-/* SYSLOG_KILL SYSLOG_SQUIT SYSLOG_CONNECT SYSLOG_USERS SYSLOG_OPER
- * If you use syslog above, you may want to turn some (none) of the
- * spurious log messages for KILL,SQUIT,etc off.
- */
-#undef  SYSLOG_KILL     /* log all operator kills to syslog */
-#undef  SYSLOG_SQUIT    /* log all remote squits for all servers to syslog */
-#undef  SYSLOG_CONNECT  /* log remote connect messages for other all servs */
-#undef  SYSLOG_USERS    /* send userlog stuff to syslog */
-#undef  SYSLOG_OPER     /* log all users who successfully become an Op */
-#undef  SYSLOG_BLOCK_ALLOCATOR /* debug block allocator */
-
-/* LOG_FACILITY - facility to use for syslog()
- * Define the facility you want to use for syslog().  Ask your
- * sysadmin which one you should use.
- */
-#define LOG_FACILITY LOG_LOCAL4
-
-#endif /* USE_SYSLOG */
-
-/* CRYPT_OPER_PASSWORD - use crypted oper passwords in the ircd.conf
- * define this if you want to use crypted passwords for operators in your
- * ircd.conf file.
- */
-#define CRYPT_OPER_PASSWORD
-
-/* CRYPT_LINK_PASSWORD - use crypted N-line passwords in the ircd.conf
- * If you want to store encrypted passwords in N-lines for server links,
- * define this.  For a C/N pair in your ircd.conf file, the password
- * need not be the same for both, as long as the opposite end has the
- * right password in the opposite line.
- */
-#undef  CRYPT_LINK_PASSWORD
-
-/* IDLE_FROM_MSG - Idle-time reset only from privmsg
- * Idle-time reset only from privmsg, if undefined idle-time
- * is reset from everything except ping/pong.
- *
- */
-#define IDLE_FROM_MSG
-
-/* MAXSENDQLENGTH - Max amount of internal send buffering
- * Max amount of internal send buffering when socket is stuck (bytes)
- */
-#define MAXSENDQLENGTH 15000000    /* Recommended value: 15000000 for EFnet */
-
-/*  BUFFERPOOL - the maximum size of the total of all sendq's.
- *  Recommended value is 4 times MAXSENDQLENGTH.
- */
-#define BUFFERPOOL (MAXSENDQLENGTH * 4)
-
-/* CLIENT_FLOOD - client excess flood threshold
- * this controls the number of bytes the server will allow a client to
- * send to the server without processing before disconnecting the client for
- * flooding it.  Values greater than 8000 make no difference to the server.
- */
-#define CLIENT_FLOOD    2560
-
-/* NOISY_HTM - should HTM be noisy by default
- * should be YES or NO
- */
-#define NOISY_HTM YES
-
-/* JUPE_CHANNEL - jupes a channel from being joined on this server only
- * if added to Q lines e.g. Q:\#packet_channel:Tired of packets.
- * This also enables local channel mode +j.
- */
-#define  JUPE_CHANNEL
-
-/* NO_JOIN_ON_SPLIT
- *
- * When this is defined, users will not be allowed to join channels
- * while the server is split.
- */
-#undef  NO_JOIN_ON_SPLIT
-
-/* NO_CREATE_ON_SPLIT (default behaviour)
- *
- * When this is defined, users will not be allowed to create new channels
- * while the server is split, however they can join existing channel.
- */
-#define NO_CREATE_ON_SPLIT
-
-/*
- * SPLIT_SMALLNET_SIZE defines what constitutes a split from
- * the net. for a leaf, 5 is fine. If the number of servers seen
- * on the net gets less than 5, a split is deemed to have happened.
- */
-#define SPLIT_SMALLNET_SIZE 5
-
-/*
- * SPLIT_SMALLNET_USER_SIZE defines how many global users on the
- * net constitute a "normal" net size. It's used in conjunction
- * with SPLIT_SMALLNET_SIZE to help determine the end of a split.
- * if number of server seen on net > SPLIT_SMALLNET_SIZE &&
- * number of users seen on net > SPLIT_SMALLNET_USER_SIZE start
- * counting down the SERVER_SPLIT_RECOVERY_TIME
- */
-#define SPLIT_SMALLNET_USER_SIZE 15000
-
-/*
- * SPLIT_PONG will send a PING to a server after the connect burst.
- * It will stay in "split" mode until it receives a PONG in addition
- * to meeting the other conditions.  This is very useful for true
- * leafs, less useful for "clustered" servers.  If this is enabled,
- * you should be able to crank DEFAULT_SERVER_SPLIT_RECOVERY_TIME
- * down to 1.
- */
-#define SPLIT_PONG
-
-/*
- * DEFAULT_SERVER_SPLIT_RECOVERY_TIME - determines how long to delay split
- * status after resyncing
- */
-#define DEFAULT_SERVER_SPLIT_RECOVERY_TIME 1
-
-/* LIMIT_UH
- * If this is defined, Y line limit is made against the actual
- * username not the ip. i.e. if you limit the connect frequency line
- * to 1, that allows only 1 username to connect instead of 1 client per ip
- * i.e. you can have 10 clients all with different usernames, but each user
- * can only connect once. Each non-idented client counts as the same user
- * i.e. ~a and ~b result in a count of two.
- */
-#undef  LIMIT_UH
-
-/* IDLE_CHECK
- * If this is defined, each client is checked for excessive idleness
- * This adds some CPU... you might not want to use this on a large server.
- * However, if defined, and a client is discovered idling more than
- * IDLE_TIME minutes, it is t-klined for 1 minute to discourage
- * reconnects. The idle time is settable via /quote set
- * /quote set idletime
- *
- * -Dianora
- *
- * OPER_IDLE allows operators to remain idle when they idle
- * beyond the idle limit
- */
-#undef  IDLE_CHECK
-#define IDLE_TIME  60
-#define OPER_IDLE
-
-/* SEND_FAKE_KILL_TO_CLIENT - make the client think it's being /KILL'ed
- *
- * This was originally intended to prevent clients from reconnecting to the
- * server after being dropped for idleness.  It can probably be used for
- * other events too.
- *
- * This really only works if the
- * client was compiled with QUIT_ON_OPERATOR_KILL which was mandatory policy
- * on UMich.Edu hosts.
- */
-#define SEND_FAKE_KILL_TO_CLIENT
-
-/*
- * Limited Trace - Reports only link and oper traces even when O:line is
- * active.
- *
- * Displays only Oper, Serv, Link, and Class reports even if the O-line is
- * active.  Useful for just showing pertinent info of a specific server.
- * Note however that if the target server is not running this option then
- * you will still receive a normal trace output.
- */
-#define LTRACE
-
-/*
- * LWALLOPS - Like wallops but only local.
- *
- * This is actually a compatibility command which really calls m_locops().
- */
-#define LWALLOPS
-
-/*
- * Define this to enable WintrHawk "styling"
- * Currently this shows the actual quit message on the Client exiting
- * notice, rather than the error or "Client Quit"
- */
-#define WINTRHAWK
-
-/*
- * comstud and I have both noted that Solaris 2.5 at least, takes a hissy
- * fit if you don't read a FD that becomes ready right away. Unfortunately
- * the dog3 priority code relies upon not having to read a ready FD right away.
- * If you have HTM mode set low as it is normally, the server will
- * eventually grind to a halt.
- * Don't complain if Solaris lags if you don't define this. I warned you.
- *
- * -Dianora
- */
-#undef  NO_PRIORITY
-
-/* OPERSPY
- * This was voted in as an EFnet feature. Gives opers with the correct
- * conf flag (S) access to use OPERSPY features that allows them to
- * see :
- * - See all +i clients in /who
- * - See all clients on +s/+p chans
- * - See all +s/+ channels in /whois
- * - See channel keys/modes
- */
-#undef OPERSPY
-
-/* OPERSPYLOG *mandatory on efnet*
- * Logs OPERSPY usage.
- */
-#define OPERSPYLOG
-
-
-/* ----------------- not approved on EFnet section --------------------
- *
- * if you are not an efnet admin - we recommend you enable most of these.. 
- * --fl_
- */
-
-/* Ignore bogus timestamps from other servers. Yes this will desync
- * the network, but it will allow chanops to resync with a valid non TS 0
- *
- * This should be enabled network wide, or not at all.
- */
-#undef  IGNORE_BOGUS_TS
-
-/* LITTLE_I_LINE support
- * clients with a little i instead of an I in their I line
- * can be chanopped, but cannot chanop anyone else.
- */
-#undef LITTLE_I_LINES
-
-/* GLINES - global Kline-like bans
- * Define this if you want GLINE support
- * when this is defined, 3 completely different opers from
- * three different servers must do the identical GLINE in order
- * for the G line to take effect.
- */
-#undef  GLINES
-#define GLINEFILE       "gline.log"
-
-/* GLINE_TIME - local expire time for GLINES
- * As configured here, a GLINE will last 12 hours
- */
-#define GLINE_TIME      (12*3600)
-
-/* NO_FAKE_GLINES - disable fake glines
- * Define this if you want to stop fake glines from users who
- * dont exist.  This could possibly have an impact with services,
- * so its #undef'd by default.
- */
-#undef  NO_FAKE_GLINES
-
-/* GLINE_REASON_FIRST (default)
- * Adopted the hybrid 7 behaviour of placing a gline based on the first reason
- * instead of the last as hybrid6 now does.
- */
-#define GLINE_REASON_FIRST
-   
-/* CHANMODE_E
- * /mode #channel +e allows you to add exceptions to bans.
- * very useful if a friend has to use an aol.com account for a few days.
- * e.g. You can continue to ban *.aol.com but allow an exception for them.
- *
- * Note, +e will NEVER be sent to a server that does not understand it.
- *
- * +e is supported by dalnet, ircnet, undernet and EFNet.
- */
-/* #undef'ing this will NOT stop modes passing through your server,
- * it will only stop them being used/set on your server.  This is to
- * stop server "+e patches" and desyncs across a hub where leaf servers
- * +e lists differ.   --fl_
- */
-#undef CHANMODE_E
-
-/* CHANMODE_I
- * /mode #channel +I allows you to add exceptions to +i.
- * this is a nick!user@host mask of somebody who can join an
- * invite-only (+i) channel without having to be invited first.
- * - alk
- */
-#undef CHANMODE_I
-
-
-/* USE_KNOCK
- * KNOCK allows users to send a "knock" to a +ikl channel.
- */
-/* Added always-on propagation.. the messages will always be passed to other
- * servers, but not allowed to originate here, or be sent to our clients if
- * this is undeffed.. -- fl_
- */
-#undef USE_KNOCK
-
-/* SPOOF_IP 
- *  - Allows spoofs to be ip's instead just hostnames.
- */   
-#undef SPOOF_IP
-
-/* OPER_JUPE_BYPASS
- * - in cases with drone channels one could want to join juped channels.
- *   - ievil
- */
-#undef OPER_JUPE_BYPASS
-
-/* RESTRICT_LOCOP
- * Add restrictions to LOCOPS to easier allow them to being added when
- * other opers/servers are feeling unsure about their addition.
- *
- * Current restrictions:
- * - Dont allow non-global operators to see WALLOPS/OPERWALLs. This 
- *   removes EFNETs biggest fear when adding new opers. That they 
- *   possibly could see WALLOPS/OPERWALL and relay them to their 
- *   bad friends. No more....
- *
- */
-#undef RESTRICT_LOCOP
-
-/* -------------- END NOT APPROVED ON EFNET SECTION --------------------- */
-
-/*   STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP  */
-
-/* You shouldn't change anything below this line, unless absolutely needed. */
-
-/* INITIAL_DBUFS - how many dbufs to preallocate
- */
-#define INITIAL_DBUFS 4000 /* preallocate 16 megs of dbufs */
-
-/* MAXBUFFERS - increase socket buffers
- *
- * Increase send & receive socket buffer up to 64k,
- * keeps clients at 8K and only raises servers to 64K
- */
-#define MAXBUFFERS
-
-/* PORTNUM - default port that ircd uses to connect to remote servers, if
- * a port is not specified in the M: line.
- */
-#define PORTNUM 6667
-
-/* MAXCONNECTIONS - don't touch - change the HARD_FDLIMIT_ instead
- * Maximum number of network connections your server will allow.  This should
- * never exceed max. number of open file descriptors and wont increase this.
- */
-/* change the HARD_FDLIMIT_ instead */
-#define MAXCONNECTIONS  HARD_FDLIMIT
-
-/* TIMESEC - Time interval to wait and if no messages have been received,
- * then check for PINGFREQUENCY and CONNECTFREQUENCY
- */
-#define TIMESEC  5              /* Recommended value: 5 */
-
-/* PINGFREQUENCY - ping frequency for idle connections
- * If daemon doesn't receive anything from any of its links within
- * PINGFREQUENCY seconds, then the server will attempt to check for
- * an active link with a PING message. If no reply is received within
- * (PINGFREQUENCY * 2) seconds, then the connection will be closed.
- *
- * This only specifies the default for class 0, only used for lines
- * not specifying a class, or specifying an invalid class
- */
-#define PINGFREQUENCY    120    /* Recommended value: 120 */
-
-/* CONNECTFREQUENCY - time to wait before auto-reconnecting
- * If the connection to to uphost is down, then attempt to reconnect every
- * CONNECTFREQUENCY  seconds.
- *
- * This only specifies the default for class 0
- */
-#define CONNECTFREQUENCY 600    /* Recommended value: 600 */
-
-/* HANGONGOODLINK and HANGONRETRYDELAY
- * Often the net breaks for a short time and it's useful to try to
- * establishing the same connection again faster than CONNECTFREQUENCY
- * would allow. But, to keep trying on bad connection, we require
- * that connection has been open for certain minimum time
- * (HANGONGOODLINK) and we give the net few seconds to steady
- * (HANGONRETRYDELAY). This latter has to be long enough that the
- * other end of the connection has time to notice it broke too.
- * 1997/09/18 recommended values by ThemBones for modern EFnet
- */
-
-#define HANGONGOODLINK   3600   /* Recommended value: 30-60 minutes */
-#define HANGONRETRYDELAY 60     /* Recommended value: 30-60 seconds */
-
-/* WRITEWAITDELAY - Number of seconds to wait for write to
- * complete if stuck.
- */
-#define WRITEWAITDELAY   15     /* Recommended value: 15 */
-
-/* CONNECTTIMEOUT -
- * Number of seconds to wait for a connect(2) call to complete.
- * NOTE: this must be at *LEAST* 10.  When a client connects, it has
- * CONNECTTIMEOUT - 10 seconds for its host to respond to an ident lookup
- * query and for a DNS answer to be retrieved.
- */
-#define CONNECTTIMEOUT   30     /* Recommended value: 30 */
-
-/* KILLCHASETIMELIMIT -
- * Max time from the nickname change that still causes KILL
- * automatically to switch for the current nick of that user. (seconds)
- */
-#define KILLCHASETIMELIMIT  90  /* Recommended value: 90 */
-
-/* MAXCHANNELSPERUSER -
- * Max number of channels a user is allowed to join.
- */
-#define MAXCHANNELSPERUSER  20  /* Recommended value: 20 */
-
-/* SENDQ_ALWAYS - should always be defined.
- * SendQ-Always causes the server to put all outbound data into the sendq and
- * flushing the sendq at the end of input processing. This should cause more
- * efficient write's to be made to the network.
- * There *shouldn't* be any problems with this method.
- * -avalon
- */
-#define SENDQ_ALWAYS
-
-/* FLUD - CTCP Flood Detection and Protection
- *
- * This enables server CTCP flood detection and protection for local clients.
- * It works well against fludnets and flood clones.  The effect of this code
- * on server CPU and memory usage is minimal, however you may not wish to
- * take the risk, or be fundamentally opposed to checking the contents of
- * PRIVMSG's (though no privacy is breached).  This code is not useful for
- * routing only servers (ie, HUB's with little or no local client base), and
- * the hybrid team strongly recommends that you do not use FLUD with HUB.
- * The following default thresholds may be tweaked, but these seem to work
- * well.
- */
-#define FLUD
-
-/* ANTI_DRONE_FLOOD - anti flooding code for drones
- * This code adds server side ignore for a client who gets
- * messaged more than drone_count times within drone_time seconds
- * unfortunately, its a great DOS, but at least the client won't flood off.
- * I have no idea what to use for values here, trying 8 privmsgs
- * within 1 seconds. (I'm told it is usually that fast)
- * I'll do better next time, this is a Q&D -Dianora
- */
-#define ANTI_DRONE_FLOOD
-#define DEFAULT_DRONE_TIME  1
-#define DEFAULT_DRONE_COUNT 8
-
-
-/*
- * ANTI_SPAMBOT
- * if ANTI_SPAMBOT is defined try to discourage spambots
- * The defaults =should= be fine for the timers/counters etc.
- * but you can play with them. -Dianora
- *
- * Defining this also does a quick check whether the client sends
- * us a "user foo x x :foo" where x is just a single char.  More
- * often than not, it's a bot if it did. -ThemBones
- */
-#define ANTI_SPAMBOT
-
-/* ANTI_SPAMBOT parameters, don't touch these if you don't
- * understand what is going on.
- *
- * if a client joins MAX_JOIN_LEAVE_COUNT channels in a row,
- * but spends less than MIN_JOIN_LEAVE_TIME seconds
- * on each one, flag it as a possible spambot.
- * disable JOIN for it and PRIVMSG but give no indication to the client
- * that this is happening.
- * every time it tries to JOIN OPER_SPAM_COUNTDOWN times, flag
- * all opers on local server.
- * If a client doesn't LEAVE a channel for at least 2 minutes
- * the join/leave counter is decremented each time a LEAVE is done
- *
- */
-#define MIN_JOIN_LEAVE_TIME   60
-#define MAX_JOIN_LEAVE_COUNT  25
-#define OPER_SPAM_COUNTDOWN   5
-#define JOIN_LEAVE_COUNT_EXPIRE_TIME 120
-
-/*
- * If ANTI_SPAMBOT_WARN_ONLY is #define'd
- * Warn opers about possible spambots only, do not disable
- * JOIN and PRIVMSG if possible spambot is noticed
- * Depends on your policies.
- */
-#undef  ANTI_SPAMBOT_WARN_ONLY
-
-/* ANTI_SPAM_EXIT_MESSAGE
- *
- * If this is defined, do not allow the clients exit message to be
- * sent to a channel if the client has been on for less than
- * ANTI_SPAM_EXIT_MESSAGE_TIME.
- * The idea is, some spambots exit with their spam, thus advertising
- * this way.
- * (idea due to ThaDragon, I just couldn't find =his= code)
- * - Dianora
- */
-#undef  ANTI_SPAM_EXIT_MESSAGE
-/* 300 is five minutes, seems reasonable */
-#define ANTI_SPAM_EXIT_MESSAGE_TIME 300
-
-#ifdef FLUD
-#define FLUD_NUM        4     /* Number of flud messages to trip alarm */
-#define FLUD_TIME       3     /* Seconds in which FLUD_NUM msgs must occur */
-#define FLUD_BLOCK      15    /* Seconds to block fluds */
-#endif
-
-/* REJECT_HOLD
- * clients that reconnect but are k-lined will have their connections
- * "held" for REJECT_HOLD_TIME seconds, they cannot PRIVMSG. The idea
- * is to keep a reconnecting client from forcing the ircd to re-scan
- * mtrie_conf.
- *
- */
-#undef  REJECT_HOLD
-#define REJECT_HOLD_TIME 30
-
-/* maximum number of fd's that will be used for reject holding */
-#define REJECT_HELD_MAX 25
-
-/* OLD_Y_LIMIT
- *
- * #define this if you prefer the old behaviour of I lines
- * the default behaviour is to limit the total number of clients
- * using the max client limit in the corresponding Y line (class)
- * The old behaviour was to limit the client count per I line
- * without regard to the total class limit. Each have advantages
- * and disadvantages. In an open I line server, the default behaviour
- * i.e. #undef OLD_Y_LIMIT makes more sense, because you can limit
- * the total number of clients in a class. In a closed I line server
- * The old behaviour can make more sense.
- *
- * -Dianora
-*/
-#undef  OLD_Y_LIMIT
-
-/*
- * If the OS has SOMAXCONN use that value, otherwise
- * Use the value in HYBRID_SOMAXCONN for the listen(); backlog
- * try 5 or 25. 5 for AIX and SUNOS, 25 should work better for other OS's
- */
-#define HYBRID_SOMAXCONN 25
-
-/* DEBUGMODE is used mostly for internal development, it is likely
- * to make your client server very sluggish.
- * You usually shouldn't need this. -Dianora
-*/
-#undef  DEBUGMODE           /* define DEBUGMODE to enable debugging mode.*/
-
-/* ------------------------- END CONFIGURATION SECTION -------------------- */
-#define MAX_CLIENTS INIT_MAXCLIENTS
-
-#if defined(CLIENT_FLOOD) && ((CLIENT_FLOOD > 8000) || (CLIENT_FLOOD < 512))
-#error CLIENT_FLOOD needs redefining.
-#endif
-
-#if !defined(CLIENT_FLOOD)
-#error CLIENT_FLOOD undefined.
-#endif
-
-#if !defined(HAVE_LIBZ) && defined(ZIP_LINKS)
-#error ZIP_LINKS defined put ZLIB not found.  Undef ZIP_LINKS or install ZLIB
-#endif
-
-#if defined(OPERSPY) && !defined(OPERSPYLOG)
-#define OPERSPYLOG
-#endif
-
-#ifdef DEBUGMODE
-#  define Debug(x) debug x
-#  define LOGFILE LPATH
-#else
-#  define Debug(x) ;
-#  define LOGFILE "/dev/null"
-#endif
-
-#define REPORT_DLINE_TO_USER
-
-#ifndef KNOCK_DELAY
-#define KNOCK_DELAY 300
-#endif
-
-#ifndef KNOCK_DELAY_CHANNEL
-#define KNOCK_DELAY_CHANNEL 60
-#endif
-
-#if defined(NO_JOIN_ON_SPLIT) || defined(NO_CREATE_ON_SPLIT)
-#define NEED_SPLITCODE
-#endif
-
-#ifdef ANTI_SPAMBOT
-#define MIN_SPAM_NUM 5
-#define MIN_SPAM_TIME 60
-#endif
-
-#ifdef IDLE_CHECK
-#define MIN_IDLETIME 1800
-#endif
-
-#ifdef OPERSPY
-#define WHO_PREFIX       '!'
-#define WHOIS_PREFIX     '!'
-#define MODE_PREFIX      '!'
-#endif
-
-
-#define CONFIG_H_LEVEL_6_4
-
-#endif /* INCLUDED_config_h */
diff -uNrd ircd-hybrid-6.4.1/include/dbuf.h ircd-hyb6.4.1-FDFr5.4/include/dbuf.h
--- ircd-hybrid-6.4.1/include/dbuf.h	Sat Sep  4 16:21:08 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/dbuf.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: dbuf.h,v 1.6 1999/09/04 20:21:08 lusky Exp $ */
+/* $Id: dbuf.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $ */
 #ifndef INCLUDED_dbuf_h
 #define INCLUDED_dbuf_h
 #ifndef INCLUDED_config_h
diff -uNrd ircd-hybrid-6.4.1/include/dline_conf.h ircd-hyb6.4.1-FDFr5.4/include/dline_conf.h
--- ircd-hybrid-6.4.1/include/dline_conf.h	Tue Jul 17 22:15:19 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/dline_conf.h	Wed Oct 15 20:38:25 2003
@@ -1,6 +1,6 @@
 /* dline_conf.h  -- lets muse over dlines, shall we?
  *
- * $Id: dline_conf.h,v 1.6 2001/07/18 02:15:19 lusky Exp $ 
+ * $Id: dline_conf.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $ 
  */
 
 #ifndef INCLUDED_dline_conf_h
diff -uNrd ircd-hybrid-6.4.1/include/fdlist.h ircd-hyb6.4.1-FDFr5.4/include/fdlist.h
--- ircd-hybrid-6.4.1/include/fdlist.h	Sat Jul 24 03:54:00 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/fdlist.h	Wed Oct 15 20:38:25 2003
@@ -1,7 +1,7 @@
 /*
  * fdlist.h
  *
- * $Id: fdlist.h,v 1.10 1999/07/24 07:54:00 tomh Exp $
+ * $Id: fdlist.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $
  */
 #ifndef INCLUDED_fdlist_h
 #define INCLUDED_fdlist_h
diff -uNrd ircd-hybrid-6.4.1/include/fileio.h ircd-hyb6.4.1-FDFr5.4/include/fileio.h
--- ircd-hybrid-6.4.1/include/fileio.h	Tue Jul 13 01:58:53 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/fileio.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: fileio.h,v 1.2 1999/07/13 05:58:53 tomh Exp $
+ * $Id: fileio.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_fileio_h
 #define INCLUDED_fileio_h
diff -uNrd ircd-hybrid-6.4.1/include/flud.h ircd-hyb6.4.1-FDFr5.4/include/flud.h
--- ircd-hybrid-6.4.1/include/flud.h	Thu Oct  5 23:00:56 2000
+++ ircd-hyb6.4.1-FDFr5.4/include/flud.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: flud.h,v 1.4 2000/10/06 03:00:56 lusky Exp $ 
+ * $Id: flud.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $ 
  */
 #ifndef INCLUDED_flud_h
 #define INCLUDED_flud_h
diff -uNrd ircd-hybrid-6.4.1/include/hash.h ircd-hyb6.4.1-FDFr5.4/include/hash.h
--- ircd-hybrid-6.4.1/include/hash.h	Tue Jul 17 21:37:05 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/hash.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: hash.h,v 1.9 2001/07/18 01:37:05 lusky Exp $
+ *   $Id: hash.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_hash_h
 #define INCLUDED_hash_h
diff -uNrd ircd-hybrid-6.4.1/include/irc_string.h ircd-hyb6.4.1-FDFr5.4/include/irc_string.h
--- ircd-hybrid-6.4.1/include/irc_string.h	Sun Dec  9 21:56:25 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/irc_string.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: irc_string.h,v 1.17 2001/12/10 02:56:25 jdc Exp $
+ *   $Id: irc_string.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_irc_string_h
 #define INCLUDED_irc_string_h
diff -uNrd ircd-hybrid-6.4.1/include/ircd.h ircd-hyb6.4.1-FDFr5.4/include/ircd.h
--- ircd-hybrid-6.4.1/include/ircd.h	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/ircd.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "ircd.h". - Headers file.
  *
- * $Id: ircd.h,v 1.25 2003/08/16 19:58:33 ievil Exp $
+ * $Id: ircd.h,v 1.1.1.2 2003/10/09 02:47:16 jailbird Exp $
  *
  */
 #ifndef INCLUDED_ircd_h
diff -uNrd ircd-hybrid-6.4.1/include/ircd_defs.h ircd-hyb6.4.1-FDFr5.4/include/ircd_defs.h
--- ircd-hybrid-6.4.1/include/ircd_defs.h	Tue Jun 24 21:34:19 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/ircd_defs.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: ircd_defs.h,v 1.12 2003/06/25 01:34:19 ievil Exp $
+ * $Id: ircd_defs.h,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  *
  * ircd_defs.h - Global size definitions for record entries used
  * througout ircd. Please think 3 times before adding anything to this
@@ -35,20 +35,20 @@
 #define HOSTLEN         63      /* Length of hostname.  Updated to         */
                                 /* comply with RFC1123                     */
 
-#define NICKLEN         9       /* Necessary to put 9 here instead of 10
+#define NICKLEN         15      /* Necessary to put 9 here instead of 10
                                  * if s_msg.c/m_nick has been corrected.
                                  * This preserves compatibility with old
                                  * servers --msa
                                  */
 #define USERLEN         10
 #define REALLEN         50
-#define TOPICLEN        120     /* old value 90, truncated on other servers */
+#define TOPICLEN        255     /* old value 120, truncated on other servers */
 #define KILLLEN         90      
 #define CHANNELLEN      200
 #define KEYLEN          23
 #define BUFSIZE         512     /* WARNING: *DONT* CHANGE THIS!!!! */
 #define MAXRECIPIENTS   20
-#define MAXBANS         25      /* bans + exceptions together */
+#define MAXBANS         50      /* bans + exceptions together */
 #define MAXBANLENGTH    1024
 
 #define OPERWALL_LEN    400     /* can be truncated on other servers */
diff -uNrd ircd-hybrid-6.4.1/include/ircd_signal.h ircd-hyb6.4.1-FDFr5.4/include/ircd_signal.h
--- ircd-hybrid-6.4.1/include/ircd_signal.h	Fri Jul 23 01:05:31 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/ircd_signal.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: ircd_signal.h,v 1.1 1999/07/23 05:05:31 tomh Exp $
+ * $Id: ircd_signal.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $
  *
  */
 #ifndef INCLUDED_ircd_signal_h
diff -uNrd ircd-hybrid-6.4.1/include/list.h ircd-hyb6.4.1-FDFr5.4/include/list.h
--- ircd-hybrid-6.4.1/include/list.h	Tue Jul 27 22:42:12 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/list.h	Wed Oct 15 20:38:25 2003
@@ -20,7 +20,7 @@
  * "list.h". - Headers file.
  *
  *
- * $Id: list.h,v 1.4 1999/07/28 02:42:12 db Exp $
+ * $Id: list.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 
diff -uNrd ircd-hybrid-6.4.1/include/listener.h ircd-hyb6.4.1-FDFr5.4/include/listener.h
--- ircd-hybrid-6.4.1/include/listener.h	Tue Jul 17 21:37:05 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/listener.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: listener.h,v 1.5 2001/07/18 01:37:05 lusky Exp $
+ * $Id: listener.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_listener_h
 #define INCLUDED_listener_h
diff -uNrd ircd-hybrid-6.4.1/include/m_commands.h ircd-hyb6.4.1-FDFr5.4/include/m_commands.h
--- ircd-hybrid-6.4.1/include/m_commands.h	Sat Jun 14 19:23:39 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/m_commands.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_commands.h,v 1.9 2003/06/14 23:23:39 ievil Exp $
+ * $Id: m_commands.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #ifndef INCLUDED_m_commands_h
 #define INCLUDED_m_commands_h
@@ -46,6 +46,7 @@
 extern int m_private(struct Client *,struct Client *,int,char **);
 extern int m_knock(struct Client *,struct Client *,int,char **);
 extern int m_topic(struct Client *,struct Client *,int,char **);
+extern int m_stopic(struct Client *,struct Client *,int,char **);
 extern int m_join(struct Client *,struct Client *,int,char **);
 extern int m_part(struct Client *,struct Client *,int,char **);
 extern int m_mode(struct Client *,struct Client *,int,char **);
@@ -54,6 +55,7 @@
 extern int m_wallops(struct Client *,struct Client *,int,char **);
 extern int m_kick(struct Client *,struct Client *,int,char **);
 extern int m_nick(struct Client *,struct Client *,int,char **);
+extern int m_snick(struct Client *,struct Client *,int,char **);
 extern int m_error(struct Client *,struct Client *,int,char **);
 extern int m_notice(struct Client *,struct Client *,int,char **);
 extern int m_invite(struct Client *,struct Client *,int,char **);
@@ -102,4 +104,5 @@
 extern int m_dns(struct Client *,struct Client *,int,char **);
 extern int m_htm(struct Client *,struct Client *,int,char **);
 extern int m_set(struct Client *,struct Client *,int,char **);
+extern int m_idle(struct Client *,struct Client *,int,char **);
 #endif /* INCLUDED_m_commands_h */
diff -uNrd ircd-hybrid-6.4.1/include/m_gline.h ircd-hyb6.4.1-FDFr5.4/include/m_gline.h
--- ircd-hybrid-6.4.1/include/m_gline.h	Thu Nov 29 01:28:23 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/m_gline.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "m_gline.h". - Headers file.
  *
- * $Id: m_gline.h,v 1.5 2001/11/29 06:28:23 db Exp $
+ * $Id: m_gline.h,v 1.2 2003/05/24 18:29:19 jailbird Exp $
  *
  */
 
@@ -39,7 +39,6 @@
 struct Client;
 struct ConfItem;
 
-#ifdef  GLINES
 extern struct ConfItem* find_gkill(struct Client *, char *);
 extern struct ConfItem* find_is_glined(const char *, const char *);
 extern void   flush_glines(void);             
@@ -76,5 +75,3 @@
 #define GLINE_PENDING_EXPIRE 600
 #endif
 
-
-#endif
diff -uNrd ircd-hybrid-6.4.1/include/m_info.h ircd-hyb6.4.1-FDFr5.4/include/m_info.h
--- ircd-hybrid-6.4.1/include/m_info.h	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/m_info.h	Sun Nov 16 16:19:18 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_info.h,v 1.30 2003/08/16 19:58:33 ievil Exp $
+ * $Id: m_info.h,v 1.8 2003/10/10 04:45:49 jailbird Exp $
  */
 #ifndef INCLUDED_m_info_h
 #define INCLUDED_m_info_h
@@ -87,11 +87,7 @@
   { "B_LINES_OPER_ONLY", "OFF", 0, "Allow only Operators to use STATS B" },
 #endif /* B_LINES_OPER_ONLY */
 
-#ifdef BAN_INFO
   { "BAN_INFO", "ON", 0, "Displays who set a ban and when" },
-#else
-  { "BAN_INFO", "OFF", 0, "Displays who set a ban and when" },
-#endif /* BAN_INFO */
 
   { "BUFFERPOOL", "", BUFFERPOOL, "Maximum size of all SendQs" },
 
@@ -143,11 +139,7 @@
   { "CRYPT_LINK_PASSWORD", "OFF", 0, "Encrypt Server Passwords" },
 #endif /* CRYPT_LINK_PASSWORD */
 
-#ifdef CUSTOM_ERR
   { "CUSTOM_ERR", "ON", 0, "Customized error messages" },
-#else
-  { "CUSTOM_ERR", "OFF", 0, "Customized error messages" },
-#endif /* CUSTOM_ERR */
 
 #ifdef DEBUGMODE
   { "DEBUGMODE", "ON", 0, "Debugging Mode" },
@@ -166,11 +158,7 @@
   { "DEFAULT_SERVER_SPLIT_RECOVERY_TIME", "NONE", 0, "Time to Delay Split Status After Resynch" },
 #endif /* DEFAULT_SERVER_SPLIT_RECOVERY_TIME */
 
-#ifdef DO_IDENTD
   { "DO_IDENTD", "ON", 0, "Perform identd checks" },
-#else
-  { "DO_IDENTD", "OFF", 0, "Perform identd checks" },
-#endif /* DO_IDENTD */
 
 #ifdef DPATH
   { "DPATH", DPATH, 0, "Directory Containing Configuration Files" },
@@ -244,11 +232,7 @@
   { "GLINE_TIME", "NONE", 0, "Expire Time for Glines" },
 #endif /* GLINE_TIME */
 
-#ifdef GLINE_REASON_FIRST
-  { "GLINE_REASON_FIRST", "ON", 0, "Use the first GLINE reason as trigger reason" },
-#else
   { "GLINE_REASON_FIRST", "OFF", 0, "Use the first GLINE reason as trigger reason" },
-#endif /* GLINE_REASON_FIRST */
 
 #ifdef GLINEFILE
   { "GLINEFILE", GLINEFILE, 0, "Path to G-line File" },
@@ -256,11 +240,7 @@
   { "GLINEFILE", "NONE", 0, "Path to G-line File" },
 #endif /* GLINEFILE */
 
-#ifdef GLINES
   { "GLINES", "ON", 0, "Network wide K-lines" },
-#else
-  { "GLINES", "OFF", 0, "Network wide K-lines" },
-#endif /* GLINES */
 
   { "HARD_FDLIMIT_", "", HARD_FDLIMIT_, "Maximum Number of File Descriptors Available" },
 
@@ -330,11 +310,7 @@
   { "IDLE_FROM_MSG", "OFF", 0, "Reset idle time after a PRIVMSG" },
 #endif /* IDLE_FROM_MSG */
 
-#ifdef IGNORE_BOGUS_TS
-  { "IGNORE_BOGUS_TS", "ON", 0, "Ignore Bogus TimeStamps from Other Servers" },
-#else
   { "IGNORE_BOGUS_TS", "OFF", 0, "Ignore Bogus TimeStamps from Other Servers" },
-#endif /* IGNORE_BOGUS_TS */
 
   { "INIT_MAXCLIENTS", "", INIT_MAXCLIENTS, "Maximum Clients" },
   { "INITIAL_DBUFS", "", INITIAL_DBUFS, "Number of Dbufs to PreAllocate" },
@@ -458,11 +434,7 @@
   { "NO_DEFAULT_INVISIBLE", "OFF", 0, "Do not Give Clients +i Mode Upon Connection" },
 #endif /* NO_DEFAULT_INVISIBLE */
 
-#ifdef NO_FAKE_GLINES
-  { "NO_FAKE_GLINES", "ON", 0, "Do not allow GLINES from users that do not exist" },
-#else
   { "NO_FAKE_GLINES", "OFF", 0, "Do not allow GLINES from users that do not exist" },
-#endif /* NO_FAKE_GLINES */
 
 #ifdef NO_CREATE_ON_SPLIT
   { "NO_CREATE_ON_SPLIT", "ON", 0, "Users Cannot Create Channels During a NetSplit" },
@@ -689,11 +661,7 @@
 
   { "TIMESEC", "", TIMESEC, "Time Interval to Wait Before Checking Pings" },
 
-#ifdef TOPIC_INFO
   { "TOPIC_INFO", "ON", 0, "Show Who Set a Topic and When" },
-#else
-  { "TOPIC_INFO", "OFF", 0, "Show Who Set a Topic and When" },
-#endif /* TOPIC_INFO */
 
 #ifdef TRUE_NO_OPER_FLOOD
   { "TRUE_NO_OPER_FLOOD", "ON", 0, "Completely Disable Flood Control for Operators" },
@@ -704,17 +672,8 @@
   { "TS_MAX_DELTA", "", TS_MAX_DELTA, "Maximum Allowed TS Delta from another Server" },
   { "TS_WARN_DELTA", "", TS_WARN_DELTA, "Maximum TS Delta before Sending Warning" },
 
-#ifdef TS5
   { "TS5", "ON", 0, "Impossible to gain ops after a netsplit" },
-#else
-  { "TS5", "OFF", 0, "Impossible to gain ops after a netsplit" },
-#endif /* TS5 */
-
-#ifdef TS5_ONLY
   { "TS5_ONLY", "ON", 0, "Only permit TS5 servers to directly link" },
-#else
-  { "TS5_ONLY", "OFF", 0, "Only permit TS5 servers to directly link" },
-#endif /* TS5_ONLY */
 
 #ifdef U_LINES_OPER_ONLY
   { "U_LINES_OPER_ONLY", "ON", 0, "Only allow Operators to use STATS U" },
@@ -740,11 +699,7 @@
   { "USE_SYSLOG", "OFF", 0, "Log Errors to syslog file" },
 #endif /* USE_SYSLOG */
 
-#ifdef USE_UH
   { "USE_UH", "ON", 0, "Include user@host for BAN_INFO" },
-#else
-  { "USE_UH", "OFF", 0, "Include user@host for BAN_INFO" },
-#endif /* USE_UH */
 
 #ifdef WARN_NO_NLINE
   { "WARN_NO_NLINE", "ON", 0, "Show Operators of Servers without an N: line" },
@@ -777,6 +732,68 @@
 #else
   { "ZIP_LINKS", "OFF", 0, "Compress Server to Server Links" },
 #endif /* ZIP_LINKS */
+
+  { "FDF_ONLY", "ON", 0, "Only Link to Other +FDF Servers" },
+
+#ifdef OPERS_SEE_INVISIBLE
+  { "OPERS_SEE_INVISIBLE", "ON", 0, "Operators Can See +i Users" },
+#else
+  { "OPERS_SEE_INVISIBLE", "OFF", 0, "Operators Can See +i Users" },
+#endif /* OPERS_SEE_INVISIBLE */
+
+#ifdef OPERS_SEE_PRIV
+  { "OPERS_SEE_PRIV", "ON", 0, "Operators Can See +s/+p Channels" },
+#else
+  { "OPERS_SEE_PRIV", "OFF", 0, "Operators Can See +s/+p Channels" },
+#endif /* OPERS_SEE_PRIV */
+
+#ifdef OPERS_SEE_TOPIC
+  { "OPERS_SEE_TOPIC", "ON", 0, "Operators Can See All Channel Topics" },
+#else
+  { "OPERS_SEE_TOPIC", "OFF", 0, "Operators Can See All Channel Topics" },
+#endif /* OPERS_SEE_TOPIC */
+
+#ifdef REMOTE_WHOIS
+  { "REMOTE_WHOIS", "ON", 0, "Show Remote /Whois Warnings" },
+#else
+  { "REMOTE_WHOIS", "OFF", 0, "Show Remote /Whois Warnings" },
+#endif /* REMOTE_WHOIS */
+
+#ifdef INFO_OPER_ONLY
+  { "INFO_OPER_ONLY", "ON", 0, "Only Opers Can /Info" },
+#else
+  { "INFO_OPER_ONLY", "OFF", 0, "Only Opers Can /Info" },
+#endif
+
+#ifdef CHECK_CLONE
+  { "CHECK_CLONE", "ON", 0, "Network-Wide Clonebot Checking" },
+#else
+  { "CHECK_CLONE", "OFF", 0, "Network-Wide Clonebot Checking" },
+#endif /* CHECK_CLONE */
+
+#ifdef CHECK_CLONE_LIMIT
+  { "CHECK_CLONE_LIMIT", "", CHECK_CLONE_LIMIT, "Maximum Allowed Number of Clones" },
+#else
+  { "CHECK_CLONE_LIMIT", "NONE", 0, "Maximum Allowed Number of Clones" },
+#endif /* CHECK_CLONE_LIMIT */
+  
+#ifdef CHECK_CLONE_PERIOD
+  { "CHECK_CLONE_PERIOD", "", CHECK_CLONE_PERIOD, "Clone Check Period" },
+#else
+  { "CHECK_CLONE_PERIOD", "NONE", 0, "Clone Check Period" },
+#endif /* CHECK_CLONE_PERIOD */
+
+#ifdef CHECK_CLONE_DELAY
+  { "CHECK_CLONE_DELAY", "", CHECK_CLONE_DELAY, "Clone Check Delay" },
+#else
+  { "CHECK_CLONE_DELAY", "NONE", 0, "Clone Check Delay" },
+#endif /* CHECK_CLONE_DELAY */
+
+#ifdef ANTI_IP_SPOOF
+  { "ANTI_IP_SPOOF", "ON", 0, "Anti-IP Spoofing Code" },
+#else
+  { "ANTI_IP_SPOOF", "OFF", 0, "Anti-IP Spoofing Code" },
+#endif /* ANTI_IP_SPOOF */
 
   /*
    * since we don't want to include the world here, NULL probably
diff -uNrd ircd-hybrid-6.4.1/include/m_kline.h ircd-hyb6.4.1-FDFr5.4/include/m_kline.h
--- ircd-hybrid-6.4.1/include/m_kline.h	Tue Dec  4 03:26:49 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/m_kline.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_kline.h,v 1.5 2001/12/04 08:26:49 db Exp $
+ * $Id: m_kline.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $
  */
 #ifndef INCLUDED_m_kline_h
 #define INCLUDED_m_kline_h
diff -uNrd ircd-hybrid-6.4.1/include/m_operspylog.h ircd-hyb6.4.1-FDFr5.4/include/m_operspylog.h
--- ircd-hybrid-6.4.1/include/m_operspylog.h	Sat Jun 14 19:26:25 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/m_operspylog.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_operspylog.h,v 1.1 2003/06/14 23:26:25 ievil Exp $
+ * $Id: m_operspylog.h,v 1.1.1.1 2003/10/09 02:47:16 jailbird Exp $
  */
 
 #ifndef INCLUDED_OPERSPYLOG_h
diff -uNrd ircd-hybrid-6.4.1/include/motd.h ircd-hyb6.4.1-FDFr5.4/include/motd.h
--- ircd-hybrid-6.4.1/include/motd.h	Sun Jul 25 14:05:06 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/motd.h	Wed Oct 15 20:38:25 2003
@@ -1,7 +1,7 @@
 /*
  * motd.h
  *
- * $Id: motd.h,v 1.7 1999/07/25 18:05:06 tomh Exp $
+ * $Id: motd.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_motd_h
 #define INCLUDED_motd_h
diff -uNrd ircd-hybrid-6.4.1/include/msg.h ircd-hyb6.4.1-FDFr5.4/include/msg.h
--- ircd-hybrid-6.4.1/include/msg.h	Sat Jun 14 19:23:39 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/msg.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: msg.h,v 1.24 2003/06/14 23:23:39 ievil Exp $
+ * $Id: msg.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #ifndef INCLUDED_msg_h
 #define INCLUDED_msg_h
@@ -67,9 +67,11 @@
 #define MSG_WHOWAS   "WHOWAS"   /* WHOW */
 #define MSG_USER     "USER"     /* USER */
 #define MSG_NICK     "NICK"     /* NICK */
+#define MSG_SNICK    "SNICK"    /* SNIC */
 #define MSG_SERVER   "SERVER"   /* SERV */
 #define MSG_LIST     "LIST"     /* LIST */
 #define MSG_TOPIC    "TOPIC"    /* TOPI */
+#define MSG_STOPIC   "STOPIC"   /* STOP */
 #define MSG_INVITE   "INVITE"   /* INVI */
 #define MSG_VERSION  "VERSION"  /* VERS */
 #define MSG_QUIT     "QUIT"     /* QUIT */
@@ -119,6 +121,9 @@
 #define MSG_HTM      "HTM"      /* HTM */
 #define MSG_SET      "SET"      /* SET */
 
+#ifdef IDLE_RESET
+#define MSG_IDLE     "IDLE"     /* IDLE */
+#endif
 #define MSG_GLINE    "GLINE"    /* GLINE */
 #define MSG_UNGLINE  "UNGLINE"  /* UNGLINE */
 
@@ -164,6 +169,7 @@
 #endif  /* IDLE_FROM_MSG */
 
   { MSG_NICK,    m_nick,     0, MAXPARA, 1, 1, 0, 0L },
+  { MSG_SNICK,   m_snick,    0, MAXPARA, 1, 0, 0, 0L },
   { MSG_NOTICE,  m_notice,   0, MAXPARA, 1, 0, 0, 0L },
   { MSG_JOIN,    m_join,     0, MAXPARA, 1, 0, 0, 0L },
   { MSG_MODE,    m_mode,     0, MAXPARA, 1, 0, 0, 0L },
@@ -171,6 +177,7 @@
   { MSG_PART,    m_part,     0, MAXPARA, 1, 0, 0, 0L },
   { MSG_KNOCK,   m_knock,    0, MAXPARA, 1, 0, 0, 0L },
   { MSG_TOPIC,   m_topic,    0, MAXPARA, 1, 0, 0, 0L },
+  { MSG_STOPIC,  m_stopic,   0, MAXPARA, 1, 0, 0, 0L },
   { MSG_INVITE,  m_invite,   0, MAXPARA, 1, 0, 0, 0L },
   { MSG_KICK,    m_kick,     0, MAXPARA, 1, 0, 0, 0L },
   { MSG_WALLOPS, m_wallops,  0, MAXPARA, 1, 0, 0, 0L },
@@ -182,7 +189,12 @@
 #ifdef IDLE_FROM_MSG
 
   /* Only m_private has reset idle flag set */
+#ifdef ANTI_IP_SPOOF
+  /* if ANTI_IP_SPOOF, allow user to PONG even when not registered */
+  { MSG_PONG,    m_pong,     0, MAXPARA, 1, 1, 0, 0L },
+#else
   { MSG_PONG,    m_pong,     0, MAXPARA, 1, 0, 0, 0L },
+#endif
   { MSG_PING,    m_ping,     0, MAXPARA, 1, 0, 0, 0L },
 
 #else
@@ -254,6 +266,9 @@
   { MSG_DIE,    m_die,       0, MAXPARA, 1, 0, 0, 0L },
   { MSG_HTM,    m_htm,       0, MAXPARA, 1, 0, 0, 0L },
   { MSG_SET,    m_set,       0, MAXPARA, 1, 0, 0, 0L },
+#ifdef IDLE_RESET
+  { MSG_IDLE,   m_idle,      0, MAXPARA, 1, 0, 0, 0L },
+#endif
   { MSG_TESTLINE, m_testline,0, MAXPARA, 1, 0, 0, 0L },
   { MSG_ENCAP,  ms_encap,    0, MAXPARA, 1, 0, 0, 0L },
   { MSG_OPERSPY, ms_operspylog, 0, MAXPARA, 1, 0, 0, 0L },
diff -uNrd ircd-hybrid-6.4.1/include/mtrie_conf.h ircd-hyb6.4.1-FDFr5.4/include/mtrie_conf.h
--- ircd-hybrid-6.4.1/include/mtrie_conf.h	Sat Jul 31 19:45:48 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/mtrie_conf.h	Wed Oct 15 20:38:25 2003
@@ -1,4 +1,4 @@
-/* $Id: mtrie_conf.h,v 1.6 1999/07/31 23:45:48 db Exp $ */
+/* $Id: mtrie_conf.h,v 1.2 2003/05/15 21:46:53 jailbird Exp $ */
 #ifndef INCLUDED_mtrie_conf_h
 #define INCLUDED_mtrie_conf_h
 
@@ -18,6 +18,7 @@
 extern void report_mtrie_conf_links(struct Client *,int);
 extern void clear_mtrie_conf_links(void);
 extern void report_matching_host_klines(struct Client *,char *);
+extern int IsSLine(struct Client *);
 
 
 /* As ircd only allow 63 characters in a hostname, 100 is more than enough */
diff -uNrd ircd-hybrid-6.4.1/include/numeric.h ircd-hyb6.4.1-FDFr5.4/include/numeric.h
--- ircd-hybrid-6.4.1/include/numeric.h	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/numeric.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: numeric.h,v 1.22 2003/08/16 19:58:33 ievil Exp $
+ * $Id: numeric.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #ifndef INCLUDED_numeric_h
 #define INCLUDED_numeric_h
@@ -24,9 +24,7 @@
 #include "config.h"
 #endif
 
-#ifdef TOPIC_INFO
 # define RPL_TOPICWHOTIME 333
-#endif
 
 /*
  * -- Avalon -- 1 Sep 1992
@@ -298,6 +296,7 @@
 #define ERR_TOOMANYCHANNELS  405
 #define ERR_WASNOSUCHNICK    406
 #define ERR_TOOMANYTARGETS   407
+#define ERR_NOCOLORSONCHAN   408
 #define ERR_NOORIGIN         409
 
 #define ERR_NORECIPIENT      411
@@ -316,6 +315,7 @@
 #define ERR_NICKCOLLISION    436
 #define ERR_UNAVAILRESOURCE  437
 #define ERR_NICKTOOFAST	     438	/* We did it first Undernet! ;) db */
+#define ERR_BANNICKCHANGE    439
 
 #define ERR_USERNOTINCHANNEL 441
 #define ERR_NOTONCHANNEL     442
diff -uNrd ircd-hybrid-6.4.1/include/packet.h ircd-hyb6.4.1-FDFr5.4/include/packet.h
--- ircd-hybrid-6.4.1/include/packet.h	Sat Sep  4 16:21:08 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/packet.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "packet.h". - Headers file.
  *
- * $Id: packet.h,v 1.2 1999/09/04 20:21:08 lusky Exp $
+ * $Id: packet.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 #ifndef INCLUDED_packet_h
diff -uNrd ircd-hybrid-6.4.1/include/parse.h ircd-hyb6.4.1-FDFr5.4/include/parse.h
--- ircd-hybrid-6.4.1/include/parse.h	Thu Jun 12 19:05:54 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/parse.h	Wed Oct 15 20:38:25 2003
@@ -20,7 +20,7 @@
  * "parse.h". - Headers file.
  *
  *
- * $Id: parse.h,v 1.4 2003/06/12 23:05:54 ievil Exp $
+ * $Id: parse.h,v 1.1.1.2 2003/10/09 02:47:17 jailbird Exp $
  *
  */
 #ifndef INCLUDED_parse_h_h
diff -uNrd ircd-hybrid-6.4.1/include/patchlevel.h ircd-hyb6.4.1-FDFr5.4/include/patchlevel.h
--- ircd-hybrid-6.4.1/include/patchlevel.h	Wed Sep  3 18:11:21 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/patchlevel.h	Sun Oct 26 13:00:41 2003
@@ -15,9 +15,9 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: patchlevel.h,v 1.160 2003/09/03 22:11:21 lusky Exp $
+ * $Id: patchlevel.h,v 1.9 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #ifndef PATCHLEVEL
-#define PATCHLEVEL    "2.8/hybrid-6.4.1"
+#define PATCHLEVEL    "2.8.21/digi+th/hybrid-6.4.1/FDFr5.4"
 #endif
diff -uNrd ircd-hybrid-6.4.1/include/res.h ircd-hyb6.4.1-FDFr5.4/include/res.h
--- ircd-hybrid-6.4.1/include/res.h	Sun May  4 22:39:06 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/res.h	Wed Oct 15 20:38:25 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: res.h,v 1.19 2003/05/05 02:39:06 db Exp $ 
+ * $Id: res.h,v 1.1.1.2 2003/10/09 02:47:16 jailbird Exp $ 
  * New res.h
  * Aaron Sethman <androsyn@ratbox.org>
  */
diff -uNrd ircd-hybrid-6.4.1/include/restart.h ircd-hyb6.4.1-FDFr5.4/include/restart.h
--- ircd-hybrid-6.4.1/include/restart.h	Thu Oct  5 23:00:57 2000
+++ ircd-hyb6.4.1-FDFr5.4/include/restart.h	Wed Oct 15 20:38:25 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: restart.h,v 1.4 2000/10/06 03:00:57 lusky Exp $ 
+ * $Id: restart.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $ 
  */
 
 #ifndef INCLUDED_restart_h
diff -uNrd ircd-hybrid-6.4.1/include/s_auth.h ircd-hyb6.4.1-FDFr5.4/include/s_auth.h
--- ircd-hybrid-6.4.1/include/s_auth.h	Tue Jul 17 21:37:06 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/s_auth.h	Wed Oct 15 20:38:25 2003
@@ -15,7 +15,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_auth.h,v 1.3 2001/07/18 01:37:06 lusky Exp $
+ *   $Id: s_auth.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $
  */
 #ifndef INCLUDED_s_auth_h
 #define INCLUDED_s_auth_h
diff -uNrd ircd-hybrid-6.4.1/include/s_bsd.h ircd-hyb6.4.1-FDFr5.4/include/s_bsd.h
--- ircd-hybrid-6.4.1/include/s_bsd.h	Tue Dec  4 01:40:30 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/s_bsd.h	Wed Oct 15 20:38:25 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_bsd.h,v 1.16 2001/12/04 06:40:30 db Exp $
+ *   $Id: s_bsd.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 #ifndef INCLUDED_s_bsd_h
diff -uNrd ircd-hybrid-6.4.1/include/s_conf.h ircd-hyb6.4.1-FDFr5.4/include/s_conf.h
--- ircd-hybrid-6.4.1/include/s_conf.h	Sat Aug 16 15:10:44 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/s_conf.h	Wed Oct 15 20:38:25 2003
@@ -18,7 +18,7 @@
  *   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.
- *   $Id: s_conf.h,v 1.68 2003/08/16 19:10:44 ievil Exp $
+ *   $Id: s_conf.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #ifndef INCLUDED_config_h
@@ -94,6 +94,7 @@
 #define CONF_HUB                0x2000
 #define CONF_ELINE              0x4000
 #define CONF_FLINE              0x8000
+#define CONF_SLINE		0x10000
 #define CONF_DLINE              0x20000
 #define CONF_XLINE              0x40000
 #define CONF_ULINE              0x80000
@@ -119,7 +120,6 @@
 #define CONF_FLAGS_IDLE_LINED           0x0100
 #endif
 
-#define CONF_FLAGS_DO_IDENTD            0x0200
 #define CONF_FLAGS_ALLOW_AUTO_CONN      0x0400
 #define CONF_FLAGS_ZIP_LINK             0x0800
 #define CONF_FLAGS_SPOOF_IP             0x1000
@@ -144,7 +144,6 @@
 #define IsConfIdlelined(x)      ((x)->flags & CONF_FLAGS_IDLE_LINED)
 #endif
 
-#define IsConfDoIdentd(x)       ((x)->flags & CONF_FLAGS_DO_IDENTD)
 #define IsConfDoSpoofIp(x)      ((x)->flags & CONF_FLAGS_SPOOF_IP)
 #ifdef LITTLE_I_LINES
 #define IsConfLittleI(x)        ((x)->flags & CONF_FLAGS_LITTLE_I_LINE)
@@ -172,10 +171,7 @@
   char *configfile;
   char *klinefile;
   char *dlinefile;
-
-#ifdef GLINES
   char  *glinefile;
-#endif
 
   MessageFile helpfile;
   MessageFile motd;
diff -uNrd ircd-hybrid-6.4.1/include/s_debug.h ircd-hyb6.4.1-FDFr5.4/include/s_debug.h
--- ircd-hybrid-6.4.1/include/s_debug.h	Sat Jul 31 00:13:51 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/s_debug.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_debug.h,v 1.7 1999/07/31 04:13:51 tomh Exp $
+ *   $Id: s_debug.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_s_debug_h
 #define INCLUDED_s_debug_h
diff -uNrd ircd-hybrid-6.4.1/include/s_log.h ircd-hyb6.4.1-FDFr5.4/include/s_log.h
--- ircd-hybrid-6.4.1/include/s_log.h	Mon Jun 23 23:57:14 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/s_log.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: s_log.h,v 1.7 2003/06/24 03:57:14 ievil Exp $
+ * $Id: s_log.h,v 1.1.1.2 2003/10/09 02:47:16 jailbird Exp $
  */
 #ifndef INCLUDED_s_log_h
 #define INCLUDED_s_log_h
diff -uNrd ircd-hybrid-6.4.1/include/s_misc.h ircd-hyb6.4.1-FDFr5.4/include/s_misc.h
--- ircd-hybrid-6.4.1/include/s_misc.h	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/s_misc.h	Wed Oct 15 20:38:25 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: s_misc.h,v 1.9 2003/08/16 19:58:33 ievil Exp $ 
+ * $Id: s_misc.h,v 1.1.1.2 2003/10/09 02:47:17 jailbird Exp $ 
  */
 
 #ifndef INCLUDED_s_misc_h
diff -uNrd ircd-hybrid-6.4.1/include/s_serv.h ircd-hyb6.4.1-FDFr5.4/include/s_serv.h
--- ircd-hybrid-6.4.1/include/s_serv.h	Sat Aug 16 15:58:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/s_serv.h	Sun Oct 26 13:01:56 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: s_serv.h,v 1.18 2003/08/16 19:58:33 ievil Exp $
+ * $Id: s_serv.h,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  *
  */
 #ifndef INCLUDED_serv_h
@@ -49,6 +49,7 @@
 #define CAP_UNKLN       0x00000080      /* Can do remote UNkline */
 #define CAP_ENCAP       0x00000100      /* Can do command encapsulation */
 #define CAP_IE          0x00000200      /* Can do channel +I exemptions */
+#define CAP_FDF         0x00000400      /* Supports the FDF protocol */
 
 #define DoesCAP(x)      ((x)->caps)
 
diff -uNrd ircd-hybrid-6.4.1/include/s_stats.h ircd-hyb6.4.1-FDFr5.4/include/s_stats.h
--- ircd-hybrid-6.4.1/include/s_stats.h	Fri Jul 30 16:14:04 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/s_stats.h	Wed Oct 15 20:38:25 2003
@@ -18,7 +18,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: s_stats.h,v 1.1 1999/07/30 20:14:04 tomh Exp $
+ * $Id: s_stats.h,v 1.2 2003/05/17 05:47:58 jailbird Exp $
  */
 #ifndef INCLUDED_s_stats_h
 #define INCLUDED_s_stats_h
@@ -65,6 +65,9 @@
 #ifdef FLUD
   unsigned int    is_flud;        /* users/channels flood protected */
 #endif /* FLUD */
+#ifdef ANTI_IP_SPOOF
+  unsigned int    is_ipspoof;     /* IP Spoofers Caught */
+#endif
 };
 
 extern struct ServerStatistics* ServerStats;
diff -uNrd ircd-hybrid-6.4.1/include/s_user.h ircd-hyb6.4.1-FDFr5.4/include/s_user.h
--- ircd-hybrid-6.4.1/include/s_user.h	Wed Oct 17 11:13:31 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/s_user.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "s_user.h". - Headers file.
  *
- * $Id: s_user.h,v 1.10 2001/10/17 15:13:31 db Exp $
+ * $Id: s_user.h,v 1.2 2003/05/17 05:47:58 jailbird Exp $
  *
  */
 #ifndef INCLUDED_s_user_h
@@ -40,6 +40,7 @@
 extern void  send_umode_out (struct Client*, struct Client *, int);
 extern int   show_lusers(struct Client *, struct Client *, int, char **);
 extern void  show_opers(struct Client* client);
+extern int   register_user(struct Client *, struct Client *, char *, char *);
 
 
 #endif
diff -uNrd ircd-hybrid-6.4.1/include/s_zip.h ircd-hyb6.4.1-FDFr5.4/include/s_zip.h
--- ircd-hybrid-6.4.1/include/s_zip.h	Thu Dec  6 23:13:27 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/s_zip.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "s_zip.h". - Headers file.
  *
- * $Id: s_zip.h,v 1.3 2001/12/07 04:13:27 jdc Exp $
+ * $Id: s_zip.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 #ifndef INCLUDED_s_zip_h
diff -uNrd ircd-hybrid-6.4.1/include/scache.h ircd-hyb6.4.1-FDFr5.4/include/scache.h
--- ircd-hybrid-6.4.1/include/scache.h	Wed Jul 21 22:44:22 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/scache.h	Wed Oct 15 20:38:25 2003
@@ -19,7 +19,7 @@
  *
  * "scache.h". - Headers file.
  *
- * $Id: scache.h,v 1.1 1999/07/22 02:44:22 db Exp $
+ * $Id: scache.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 #ifndef INCLUDED_scache_h
diff -uNrd ircd-hybrid-6.4.1/include/send.h ircd-hyb6.4.1-FDFr5.4/include/send.h
--- ircd-hybrid-6.4.1/include/send.h	Thu Jun 12 19:05:54 2003
+++ ircd-hyb6.4.1-FDFr5.4/include/send.h	Wed Oct 15 20:38:25 2003
@@ -2,7 +2,7 @@
  * send.h
  * Copyright (C) 1999 Patrick Alken
  *
- * $Id: send.h,v 1.18 2003/06/12 23:05:54 ievil Exp $
+ * $Id: send.h,v 1.1.1.2 2003/10/09 02:47:17 jailbird Exp $
  */
 
 #ifndef INCLUDED_send_h
diff -uNrd ircd-hybrid-6.4.1/include/sprintf_irc.h ircd-hyb6.4.1-FDFr5.4/include/sprintf_irc.h
--- ircd-hybrid-6.4.1/include/sprintf_irc.h	Sat Dec  8 12:56:52 2001
+++ ircd-hyb6.4.1-FDFr5.4/include/sprintf_irc.h	Wed Oct 15 20:38:25 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: sprintf_irc.h,v 1.3 2001/12/08 17:56:52 db Exp $ 
+ * $Id: sprintf_irc.h,v 1.1.1.1 2003/05/09 01:49:29 jailbird Exp $ 
  */
 
 #ifndef SPRINTF_IRC
diff -uNrd ircd-hybrid-6.4.1/include/struct.h ircd-hyb6.4.1-FDFr5.4/include/struct.h
--- ircd-hybrid-6.4.1/include/struct.h	Sun Aug  1 03:19:44 1999
+++ ircd-hyb6.4.1-FDFr5.4/include/struct.h	Wed Oct 15 20:38:25 2003
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: struct.h,v 1.85 1999/08/01 07:19:44 tomh Exp $
+ * $Id: struct.h,v 1.2 2003/05/17 05:47:58 jailbird Exp $
  */
 #ifndef INCLUDED_struct_h
 #define INCLUDED_struct_h
@@ -46,9 +46,7 @@
     struct Client   *cptr;
     struct Channel  *chptr;
     struct ConfItem *aconf;
-#ifdef BAN_INFO
     struct Ban   *banptr;
-#endif
     char      *cp;
   } value;
   int   flags;
diff -uNrd ircd-hybrid-6.4.1/include/whowas.h ircd-hyb6.4.1-FDFr5.4/include/whowas.h
--- ircd-hybrid-6.4.1/include/whowas.h	Thu Oct  5 23:00:58 2000
+++ ircd-hyb6.4.1-FDFr5.4/include/whowas.h	Wed Oct 15 20:38:25 2003
@@ -18,7 +18,7 @@
  */
 
 /*
- * $Id: whowas.h,v 1.6 2000/10/06 03:00:58 lusky Exp $
+ * $Id: whowas.h,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #ifndef INCLUDED_whowas_h
 #define INCLUDED_whowas_h
diff -uNrd ircd-hybrid-6.4.1/opers.txt ircd-hyb6.4.1-FDFr5.4/opers.txt
--- ircd-hybrid-6.4.1/opers.txt	Tue Jun 24 21:34:17 2003
+++ ircd-hyb6.4.1-FDFr5.4/opers.txt	Wed Dec 31 19:00:00 1969
@@ -1,277 +0,0 @@
-This file outlines the features that ircd-hybrid has for IRC Operators.
-$Id: opers.txt,v 1.24 2003/06/25 01:34:17 ievil Exp $
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-Usermodes: (* designates that the umode is oper only)
-
-     USERMODE     DESCRIPTION
------------------------------------------------------------------
-         +O     - Designates this client is a local IRC Operator.
-                  Use the /oper command to attain this.
-         +o     - Designates this client is a global IRC Operator.
-                  Use the /oper command to attain this.
-         +i     - Designates this client 'invisible'.
-         +w     - Can see server wallops.
-       * +z     - Can see oper wallops.
-         +s     - Can see generic server messages and oper kills.
-       * +c     - Can see client connections and exits.
-       * +r     - Can see 'rejected' client notices.
-         +k     - Can see server kill messages.
-       * +f     - Can see 'I-line is full' notices.
-       * +y     - Can see stats/links/admin requests to name a few.
-       * +d     - Can see server debug messages.
-       * +n     - Can see client nick changes.
-       * +b     - Can see possible bot warnings.
-       * +x     - Can see new server introduction and server split
-                  messages.
-       * +p     - Can hide from stats p (oper flag P - for tcm's)
-       * +a     - User is admin
-       * +Z     - Can see OperSpy Log events
-
-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-
-Oper Commands: (+ indicates that /quote must be used with ircII)
-
-COMMAND         - USAGE and DESCRIPTION
--------------------------------------------------------------------
-  SQUIT         - SQUIT <server> [reason]
-                  Splits <server> away from your side of the net with
-                  [reason].
-
-  KILL          - KILL <nick> <reason>
-                  Disconnects user <nick> from the IRC server he/she
-                  is connected to with reason <reason>.
-                  Local Opers can only kill clients on his/her server.
-                  Global Opers can kill clients on any server on the
-                  IRC network.
-
-  STATS         - STATS <letter> [server|nick]
-                  Queries server [server] (or your own server if no
-                  server parameter is given) for info corresponding to
-                  <letter>.
-                  LETTER (* = Oper only.)
-                  ------ (^ = Can be configured to be oper only.)
-                  ^ c - Shows C/N lines
-                  * d - Shows D lines
-                  * f - Shows channel/TS statistics
-                  * g - Shows G lines
-                  ^ h - Shows H/L lines
-                  ^ i - Shows I lines
-                  ^ K - Shows K lines (or matched klines)
-                  ^ k - Shows temporary K lines (or matched temp klines)
-                    L - Shows IP and generic info about [nick]
-                    l - Shows hostname and generic info about [nick]
-                    m - Shows commands and their usage
-                  ^ o - Shows O/o lines
-                  ^ P - Shows configured ports
-                    p - Shows opers connected and their idle times
-                  * Q - Shows quarantined nicks and channels (from conf)
-                  * q - Shows locally juped channels (mode +j)
-                  * r - Shows resource usage by ircd
-                  * s - Shows the server cache
-                  * t - Shows generic server stats
-                  * U - Shows U lines
-                    u - Shows server uptime
-                  * v - Shows connected servers and their idle times
-                  * x - Shows X lines
-                  * y - Shows Y lines
-                  * z - Shows memory stats
-                    ? - Shows connected servers and sendq info about them
-
-  CONNECT       - CONNECT <server_A> [port] [server_B]
-                  When [server_B] is used, CONNECT asks [server_B] to
-                  connect to <server_A>.  Global Opers only.
-
-                  When [server_B] is not used, CONNECT tries to connect
-                  your server to <server_A>.  Local and Global Opers.
-
-                  When [port] is used, the connection will be attempted
-                  to [port].
-                  When [port] is not used, 6667 is used as a default.
-
-+ WALLOPS       - WALLOPS :<message>
-                  Sends a WALLOPS message of <message> to all opers
-                  who are umode +w and +z (see above)
-
-                  Server sent wallops go to all users who are umode
-                  +w, oper or not.
-
-+ OPERWALL      - OPERWALL :<message>
-                  Sends an OPERWALL message of <message> to all
-                  opers who are umode +w and +z
-
-+ LOCOPS        - LOCOPS :<message>
-                  Sends an LOCOPS message of <message. o to all
-                  opers on local server who are umode +w and +z
-
-+ LWALLOPS      - LWALLOPS :<message>
-                  -- If compiled with LWALLOPS --
-                  Same as LOCOPS (see above)
-
-  TRACE         - TRACE [server|nick]
-                  TRACE shows client info about [server|nick] or about
-                  the server you are on if no [server|nick] is given.
-
-                  All users that use TRACE can see the path to
-                  [server|nick] if given and all servers and opers
-                  connected, as well as the connection class they
-                  fall into.
-
-                  Opers can see all clients connected to a server
-                  with TRACE as well as the connection class they
-                  fall into.
-
-+ LTRACE        - LTRACE [server|nick]
-                  -- If compiled with LTRACE --
-                  Displays only Oper, Serv, Link, and Class reports even if
-                  the O-line is active.  Useful for just showing pertinent
-                  info of a specific server.  Note however that if the
-                  target server is not running this option then you will
-                  still receive a normal trace output.
-
-  REHASH        - REHASH [option]
-                  When no [option] is given, ircd will re-read the
-                  ircd.conf file.
-
-                  [option] can be one of the following:
-                    DNS     - Re-read the /etc/resolv.conf file
-                    IP      - Reloads the IP hash for the new and
-                              improved ACKPATCH.  Should never need 
-                              to be used.
-                    TKLINES - Clears temporary klines
-                    GLINES  - Clears G lines
-                    GC      - Performs garbage collecting of excess
-                              memory.
-                    MOTD    - Re-reads MOTD file
-                    OMOTD   - Re-reads Oper MOTD file
-                    HELP    - Re-reads this HELP file
-                    DLINES  - Re-hashes D-lines
-
-  RESTART       - RESTART server.name
-                  Restarts the IRC server.
-
-  CLOSE         - CLOSE
-                  Close any connections from clients who have not fully
-                  registered yet.
-
-  DIE           - DIE server.name [reason]
-                  Terminates the IRC server with optional reason 
-                  [reason]
-
-+ HASH          - HASH
-                  Shows some stats about ircd's internal hashes.
-
-+ DNS           - DNS
-                  Shows some stats about ircd's asynchronous resolving
-                  code
-
-+ KLINE         - KLINE <nick|user@host> :[reason]
-                  Adds a KLINE to the ircd.conf or klines.conf file which
-                  will ban the specified user from using that server.
-                  The banned client will receive a message saying he/she
-                  is banned with reason [reason]
-
-                  The reason can contain a '|' character.  Anything before
-                  the '|' will be shown to the victim, anything after will
-                  not.
-
-                  KLINE user@ip.ip.ip.ip :[reason]
-                  will kline the user at the unresolved ip.
-                  ip.ip.ip.ip can be in CIDR form i.e. 192.168.0.0/24
-                  or 192.168.0.* (which is converted to CIDR form internally)
-
-                  For a temporary KLINE, length of kline is given in
-                  minutes as the first parameter i.e.
-                  KLINE 10 <nick|user@host> :cool off for 10 minutes
-
-+ UNKLINE       - UNKLINE <user@host>
-                  Will attempt to unkline the given <user@host>
-                  Will unkline a temporary kline.
-
-+ DLINE         - DLINE <nick|ip> :[reason]
-                  Adds a DLINE to the ircd.conf or klines.conf file
-                  which will deny any connections from the IP address
-                  of the banned client.  The banned client will receive
-                  a message saying he/she is banned with reason [reason]
-
-                  In order to use <nick> rather than <ip>, <nick> must
-                  be on your server.
-
-+ UNDLINE       - UNDLINE <ip>
-                  Will attempt to undline the given <ip>
-
-+ HTM           - HTM [option]
-                  When no [option] is given, HTM shows the current 
-                  High Traffic Mode rate and whether HTM is on or off.
-
-                  [option] can be one of the following:
-                    ON        - Forces High Traffic Mode to be on.  With
-                                this on, ircd is more efficient in
-                                reading server-to-server traffic and
-                                oper traffic, but will be less efficient
-                                than normal with normal client traffic.
-                    OFF       - Forces High Traffic Mode to be off.
-                                (see above)
-                    TO <rate> - Sets the High Traffic Mode rate to
-                                <rate>.  Ircd will automatically go
-                                into High Traffic Mode when <rate>
-                                is reached, and will automatically turn
-                                it off when things calm down.
-                    QUIET     - When set, ircd will not notify opers
-                                when it goes into and out of High
-                                Traffic Mode.
-                    NOISY     - When set, ircd will notify opers
-                                when it goes into and out of High
-                                Traffic Mode.
-+ SET           - SET <option> <value>
-                  <option> can be one of the following:
-                    LOG       - Sets the Logging level for what is logged
-                                to ircd.log and syslog.
-                    MAX       - Sets the number of max connections
-                                to <value>.  (This number cannot exceed
-                                HARD_FDLIMIT in config.h)
-
-                    -- The following three are if compiled with FLUD --
-                     FLUDNUM   - Sets the number of flud messages to 
-                                 trip flud alarm to <value>
-                     FLUDTIME  - Sets the number of seconds in which 
-                                  FLUDNUM msgs must occur to <value>
-                     FLUDBLOCK - Sets the number of seconds to block 
-                                 fluds to <value>
-
-                    -- The following is if compiled with NO_JOIN_ON_SPLIT
-                     SPLITDELAY - Sets how long after the connect burst
-                                  starts before ops can be hacked on new
-                                  channels. 5(minutes) is usually plenty.
-                                  Disable using 0.
-
-                     SMALLNET   - Below this number of servers present
-                                  means special split handling is now on.
-
-                     -- The following is if compiled with ANTI_SPAMBOT
-                      SPAMNUM   - Sets how many join/parts to channels
-                                  constitutes a possible spambot.
-                      SPAMTIME  - Below this time on a channel
-                                  counts as a join/part as above.
-
-+ GLINE         - GLINE <user@host> :[reason]
-                   -- if compiled with GLINE --
-                   Attempts to add a global IRC-network wide ban on
-                   <user@host> for the reason [reason].
-
-                   It takes three different opers on three different 
-                   servers to do the same GLINE within a short interval,
-                   to have a GLINE triggered for a compiled time of hours.
-
-+ UNGLINE        - UNGLINE <user@host>
-                   -- if compiled with GLINE --
-                   Will attempt to remove gline matching <user@host>
-                   This will only remove the gline from YOUR server, it
-                   does not try to remove it globally.
-
-+ TESTLINE       - TESTLINE <user@host>|ip
-                   -- Looks up given user@host or user@ip 
-                   returns info on any found I line or K line for that user,
-                   or D-line on ip.
diff -uNrd ircd-hybrid-6.4.1/src/.depend ircd-hyb6.4.1-FDFr5.4/src/.depend
--- ircd-hybrid-6.4.1/src/.depend	Thu Aug 21 19:59:26 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/.depend	Wed Oct 15 20:38:22 2003
@@ -12,9 +12,9 @@
   ../include/client.h ../include/dbuf.h ../include/common.h \
   ../include/flud.h ../include/hash.h ../include/irc_string.h \
   ../include/ircd.h ../include/list.h ../include/numeric.h \
-  ../include/s_serv.h ../include/s_user.h ../include/send.h \
-  ../include/struct.h ../include/whowas.h ../include/s_conf.h \
-  ../include/fileio.h ../include/motd.h
+  ../include/s_serv.h ../include/s_user.h ../include/s_conf.h \
+  ../include/fileio.h ../include/motd.h ../include/send.h \
+  ../include/struct.h ../include/whowas.h
 class.o: class.c ../include/class.h ../include/client.h \
   ../include/config.h ../include/setup.h ../include/ircd_defs.h \
   ../include/dbuf.h ../include/common.h ../include/ircd.h \
@@ -30,8 +30,8 @@
   ../include/numeric.h ../include/res.h ../include/fileio.h \
   ../adns/adns.h ../include/s_bsd.h ../include/s_conf.h ../include/motd.h \
   ../include/s_log.h ../include/s_misc.h ../include/s_serv.h \
-  ../include/send.h ../include/struct.h ../include/whowas.h \
-  ../include/s_debug.h
+  ../include/s_stats.h ../include/send.h ../include/struct.h \
+  ../include/whowas.h ../include/s_debug.h
 dbuf.o: dbuf.c ../include/dbuf.h ../include/config.h ../include/setup.h \
   ../include/common.h ../include/irc_string.h ../include/ircd_defs.h
 dline_conf.o: dline_conf.c ../include/dline_conf.h ../include/class.h \
@@ -142,6 +142,11 @@
   ../include/setup.h ../include/client.h ../include/ircd_defs.h \
   ../include/dbuf.h ../include/common.h ../include/irc_string.h \
   ../include/ircd.h ../include/numeric.h ../include/send.h
+m_idle.o: m_idle.c ../include/m_commands.h ../include/config.h \
+  ../include/setup.h ../include/client.h ../include/ircd_defs.h \
+  ../include/dbuf.h ../include/ircd.h ../include/motd.h ../include/msg.h \
+  ../include/numeric.h ../include/send.h ../include/s_conf.h \
+  ../include/fileio.h
 m_info.o: m_info.c ../include/m_commands.h ../include/config.h \
   ../include/setup.h ../include/m_info.h ../include/channel.h \
   ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \
@@ -207,7 +212,8 @@
   ../include/setup.h ../include/m_operspylog.h ../include/channel.h \
   ../include/ircd_defs.h ../include/client.h ../include/dbuf.h \
   ../include/hash.h ../include/irc_string.h ../include/ircd.h \
-  ../include/numeric.h ../include/s_user.h ../include/send.h
+  ../include/numeric.h ../include/s_user.h ../include/send.h \
+  ../include/struct.h ../include/list.h
 m_operspylog.o: m_operspylog.c ../include/m_operspylog.h \
   ../include/m_commands.h ../include/config.h ../include/setup.h \
   ../include/client.h ../include/ircd_defs.h ../include/dbuf.h \
@@ -234,7 +240,8 @@
 m_pong.o: m_pong.c ../include/m_commands.h ../include/config.h \
   ../include/setup.h ../include/client.h ../include/ircd_defs.h \
   ../include/dbuf.h ../include/ircd.h ../include/numeric.h \
-  ../include/send.h ../include/channel.h ../include/irc_string.h
+  ../include/send.h ../include/channel.h ../include/s_stats.h \
+  ../include/s_user.h ../include/irc_string.h
 m_quit.o: m_quit.c ../include/m_commands.h ../include/config.h \
   ../include/setup.h ../include/client.h ../include/ircd_defs.h \
   ../include/dbuf.h ../include/ircd.h ../include/numeric.h \
@@ -305,14 +312,15 @@
   ../include/ircd.h ../include/mtrie_conf.h ../include/numeric.h \
   ../include/s_conf.h ../include/motd.h ../include/s_log.h \
   ../include/s_misc.h ../include/s_serv.h ../include/send.h \
-  ../include/struct.h
+  ../include/struct.h ../include/m_gline.h
 m_ungline.o: m_ungline.c ../include/m_commands.h ../include/config.h \
   ../include/setup.h ../include/channel.h ../include/ircd_defs.h \
   ../include/client.h ../include/dbuf.h ../include/common.h \
   ../include/dline_conf.h ../include/fileio.h ../include/irc_string.h \
   ../include/ircd.h ../include/mtrie_conf.h ../include/numeric.h \
   ../include/s_conf.h ../include/motd.h ../include/s_log.h \
-  ../include/s_misc.h ../include/send.h ../include/struct.h
+  ../include/s_misc.h ../include/send.h ../include/struct.h \
+  ../include/m_gline.h
 m_undline.o: m_undline.c ../include/m_commands.h ../include/config.h \
   ../include/setup.h ../include/channel.h ../include/ircd_defs.h \
   ../include/client.h ../include/dbuf.h ../include/common.h \
@@ -365,7 +373,7 @@
   ../include/motd.h ../include/send.h ../include/struct.h
 numeric.o: numeric.c ../include/numeric.h ../include/config.h \
   ../include/setup.h ../include/irc_string.h ../include/ircd_defs.h \
-  ../include/common.h messages.tab
+  ../include/common.h messages_cust.tab
 packet.o: packet.c ../include/packet.h ../include/client.h \
   ../include/config.h ../include/setup.h ../include/ircd_defs.h \
   ../include/dbuf.h ../include/common.h ../include/ircd.h \
diff -uNrd ircd-hybrid-6.4.1/src/Makefile.in ircd-hyb6.4.1-FDFr5.4/src/Makefile.in
--- ircd-hybrid-6.4.1/src/Makefile.in	Sat Jun 14 19:23:41 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/Makefile.in	Wed Oct 15 20:38:23 2003
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/src
 #
-# $Id: Makefile.in,v 1.73 2003/06/14 23:23:41 ievil Exp $
+# $Id: Makefile.in,v 1.3 2003/10/09 03:49:54 jailbird Exp $
 CC = @CC@
 RM = @RM@
 MKDEP = ${CC} -MM
@@ -42,6 +42,7 @@
 	m_error.c \
 	m_gline.c \
 	m_htm.c \
+	m_idle.c \
 	m_info.c \
 	m_ison.c \
 	m_help.c \
diff -uNrd ircd-hybrid-6.4.1/src/adns.c ircd-hyb6.4.1-FDFr5.4/src/adns.c
--- ircd-hybrid-6.4.1/src/adns.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/adns.c	Wed Oct 15 20:38:23 2003
@@ -1,5 +1,5 @@
 /*
- * $Id: adns.c,v 1.14 2003/06/24 03:57:16 ievil Exp $
+ * $Id: adns.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  * adns.c  functions to enter libadns 
  *
  * Written by Aaron Sethman <androsyn@ratbox.org>
diff -uNrd ircd-hybrid-6.4.1/src/blalloc.c ircd-hyb6.4.1-FDFr5.4/src/blalloc.c
--- ircd-hybrid-6.4.1/src/blalloc.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/blalloc.c	Wed Oct 15 20:38:22 2003
@@ -4,7 +4,7 @@
  * Owner:  Wohali (Joan Touzet)
  *
  * Modified 2001/11/29 for mmap() support by Aaron Sethman <androsyn@ratbox.org>
- * $Id: blalloc.c,v 1.25 2003/06/24 03:57:16 ievil Exp $
+ * $Id: blalloc.c,v 1.1.1.2 2003/10/09 02:47:13 jailbird Exp $
  */
 #include "config.h"
 #include "blalloc.h"
diff -uNrd ircd-hybrid-6.4.1/src/channel.c ircd-hyb6.4.1-FDFr5.4/src/channel.c
--- ircd-hybrid-6.4.1/src/channel.c	Sat Aug 23 18:37:35 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/channel.c	Sun Nov 16 16:22:53 2003
@@ -22,7 +22,7 @@
  * These flags can be set in a define if you wish.
  *
  *
- * $Id: channel.c,v 1.245 2003/08/23 22:37:35 ievil Exp $
+ * $Id: channel.c,v 1.12 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "channel.h"
 #include "m_commands.h"
@@ -36,6 +36,7 @@
 #include "numeric.h"
 #include "s_serv.h"       /* captab */
 #include "s_user.h"
+#include "s_conf.h"
 #include "send.h"
 #include "struct.h"
 #include "whowas.h"
@@ -183,13 +184,11 @@
   ban->flags = CHFL_BAN;
   ban->next = chptr->banlist;
 
-#ifdef BAN_INFO
 
   ban->value.banptr = (aBan *)MyMalloc(sizeof(aBan));
   ban->value.banptr->banstr = (char *)MyMalloc(strlen(banid)+1);
   (void)strcpy(ban->value.banptr->banstr, banid);
 
-#ifdef USE_UH
   if (IsPerson(cptr))
     {
       ban->value.banptr->who =
@@ -201,22 +200,12 @@
     }
   else
     {
-#endif
       ban->value.banptr->who = (char *)MyMalloc(strlen(cptr->name)+1);
       (void)strcpy(ban->value.banptr->who, cptr->name);
-#ifdef USE_UH
     }
-#endif
 
   ban->value.banptr->when = CurrentTime;
 
-#else
-
-  ban->value.cp = (char *)MyMalloc(strlen(banid)+1);
-  (void)strcpy(ban->value.cp, banid);
-
-#endif  /* #ifdef BAN_INFO */
-
   chptr->banlist = ban;
   chptr->num_bed++;
   return 0;
@@ -253,13 +242,10 @@
   ex->flags = CHFL_EXCEPTION;
   ex->next = chptr->exceptlist;
 
-#ifdef BAN_INFO
-
   ex->value.banptr = (aBan *)MyMalloc(sizeof(aBan));
   ex->value.banptr->banstr = (char *)MyMalloc(strlen(eid)+1);
   (void)strcpy(ex->value.banptr->banstr, eid);
 
-#ifdef USE_UH
   if (IsPerson(cptr))
     {
       ex->value.banptr->who =
@@ -271,22 +257,12 @@
     }
   else
     {
-#endif
       ex->value.banptr->who = (char *)MyMalloc(strlen(cptr->name)+1);
       (void)strcpy(ex->value.banptr->who, cptr->name);
-#ifdef USE_UH
     }
-#endif
 
   ex->value.banptr->when = CurrentTime;
 
-#else
-
-  ex->value.cp = (char *)MyMalloc(strlen(eid)+1);
-  (void)strcpy(ex->value.cp, eid);
-
-#endif  /* #ifdef BAN_INFO */
-
   chptr->exceptlist = ex;
   chptr->num_bed++;
   return 0;
@@ -307,21 +283,13 @@
   if (!banid)
     return -1;
   for (ban = &(chptr->banlist); *ban; ban = &((*ban)->next))
-#ifdef BAN_INFO
     if (irccmp(banid, (*ban)->value.banptr->banstr)==0)
-#else
-      if (irccmp(banid, (*ban)->value.cp)==0)
-#endif
         {
           tmp = *ban;
           *ban = tmp->next;
-#ifdef BAN_INFO
           MyFree(tmp->value.banptr->banstr);
           MyFree(tmp->value.banptr->who);
           MyFree(tmp->value.banptr);
-#else
-          MyFree(tmp->value.cp);
-#endif
           free_link(tmp);
 	  /* num_bed should never be < 0 */
 	  if(chptr->num_bed > 0)
@@ -350,13 +318,9 @@
       {
         tmp = *ex;
         *ex = tmp->next;
-#ifdef BAN_INFO
         MyFree(tmp->value.banptr->banstr);
         MyFree(tmp->value.banptr->who);
         MyFree(tmp->value.banptr);
-#else
-        MyFree(tmp->value.cp);
-#endif
         free_link(tmp);
 	/* num_bed should never be < 0 */
 	if(chptr->num_bed > 0)
@@ -399,13 +363,11 @@
   ie->flags = CHFL_INVEX;
   ie->next = chptr->invexlist;
 
-#ifdef BAN_INFO
 
   ie->value.banptr = (aBan *)MyMalloc(sizeof(aBan));
   ie->value.banptr->banstr = (char *)MyMalloc(strlen(eid)+1);
   (void)strcpy(ie->value.banptr->banstr, eid);
 
-#ifdef USE_UH
   if (IsPerson(cptr))
     {
       ie->value.banptr->who =
@@ -417,22 +379,12 @@
     }
   else
     {
-#endif
       ie->value.banptr->who = (char *)MyMalloc(strlen(cptr->name)+1);
       (void)strcpy(ie->value.banptr->who, cptr->name);
-#ifdef USE_UH
     }
-#endif
 
   ie->value.banptr->when = CurrentTime;
 
-#else
-
-  ie->value.cp = (char *)MyMalloc(strlen(eid)+1);
-  (void)strcpy(ie->value.cp, eid);
-
-#endif  /* #ifdef BAN_INFO */
-
   chptr->invexlist = ie;
   chptr->num_bed++;
   return 0;
@@ -455,13 +407,9 @@
       {
         tmp = *ie;
         *ie = tmp->next;
-#ifdef BAN_INFO
         MyFree(tmp->value.banptr->banstr);
         MyFree(tmp->value.banptr->who);
         MyFree(tmp->value.banptr);
-#else
-        MyFree(tmp->value.cp);
-#endif
         free_link(tmp);
 	/* num_bed should never be < 0 */
 	if(chptr->num_bed > 0)
@@ -671,6 +619,9 @@
 {
   Link  *lp;
 
+  if (IsSLine(cptr))
+	  return 0;
+
 #ifdef JUPE_CHANNEL
 #ifdef OPER_JUPE_BYPASS
   if (MyClient(cptr) && chptr->juped && !IsAnOper(cptr))
@@ -691,9 +642,20 @@
   if (chptr->mode.mode & MODE_NOPRIVMSGS && !lp)
     return (MODE_NOPRIVMSGS);
 
+  if (is_banned(cptr, chptr) == CHFL_BAN)
+    return (MODE_BAN);
+
   return 0;
 }
 
+int IsSLine(struct Client *sptr)
+{
+	if ((find_special_conf(sptr->name,CONF_SLINE)) ||
+	    (sptr->user && (find_special_conf((char *)sptr->user->server,CONF_SLINE))))
+		return 1;
+	return 0;
+}
+
 int     user_channel_mode(struct Client *cptr, struct Channel *chptr)
 {
   Link  *lp;
@@ -731,10 +693,12 @@
     *mbuf++ = 'i';
   if (chptr->mode.mode & MODE_NOPRIVMSGS)
     *mbuf++ = 'n';
+  if (chptr->mode.mode & MODE_NOCOLOR)
+    *mbuf++ = 'c';
   if (chptr->mode.limit)
     {
       *mbuf++ = 'l';
-      if (IsMember(cptr, chptr) || IsServer(cptr)
+      if (IsMember(cptr, chptr) || IsServer(cptr) || IsSLine(cptr)
 #ifdef OPERSPY
          || ModeCheat
 #endif
@@ -744,7 +708,7 @@
   if (*chptr->mode.key)
     {
       *mbuf++ = 'k';
-      if (IsMember(cptr, chptr) || IsServer(cptr)
+      if (IsMember(cptr, chptr) || IsServer(cptr) || IsSLine(cptr)
 #ifdef OPERSPY
          || ModeCheat
 #endif
@@ -898,6 +862,11 @@
     sendto_one(cptr, ":%s MODE %s %s %s",
                me.name, chptr->chname, modebuf, parabuf);
 
+  if ((chptr->topic_time != 0)&&(chptr->topic != NULL))
+    sendto_one(cptr, ":%s STOPIC %s %ld %s :%s",
+               me.name, chptr->chname, chptr->topic_time,
+               chptr->topic_nick, chptr->topic);
+
   if(!IsCapable(cptr,CAP_EX))
     return;
 
@@ -1046,7 +1015,7 @@
   int   keychange = 0, limitset = 0;
   int   whatt = MODE_ADD, the_mode = 0;
   int   done_s = NO, done_p = NO;
-  int   done_i = NO, done_m = NO, done_n = NO, done_t = NO;
+  int   done_i = NO, done_m = NO, done_n = NO, done_t = NO, done_c = NO;
   struct Client *who;
   Link  *lp;
   char  *curr = parv[0], c, *arg, plus = '+', *tmpc;
@@ -1065,15 +1034,21 @@
    * lets stick mode/params that only the newer servers will understand
    * into modebuf_new/parabuf_new 
    */
+  /*
+   * EVEN WORSE! Thanks to +c, we have nodebuf_fef <-- for CAP_FDF
+   * -JailBird
+   */
 
   char  modebuf_new[MODEBUFLEN];
   char  parabuf_new[MODEBUFLEN];
+  char  modebuf_fef[MODEBUFLEN];
 
   char  *mbufw = modebuf, *mbuf2w = modebuf2;
   char  *pbufw = parabuf, *pbuf2w = parabuf2;
 
   char  *mbufw_new = modebuf_new;
   char  *pbufw_new = parabuf_new;
+  char  *mbufw_fef = modebuf_fef;
 
   char  modebuf_new2[MODEBUFLEN];
   char  parabuf_new2[MODEBUFLEN];
@@ -1091,10 +1066,10 @@
   chan_op = (user_mode_chan & CHFL_CHANOP);
 
   /* has ops or is a server */
-  ischop = IsServer(sptr) || chan_op;
+  ischop = IsServer(sptr) || chan_op || IsSLine(cptr);
 
   /* is client marked as deopped */
-  isdeop = !ischop && !IsServer(sptr) && (user_mode_chan & CHFL_DEOPPED);
+  isdeop = !ischop && !IsServer(sptr) && !IsSLine(sptr) && (user_mode_chan & CHFL_DEOPPED);
 
   /* is an op or server or remote user on a TS channel */
   isok = ischop || (!isdeop && IsServer(cptr) && chptr->channelts);
@@ -1200,7 +1175,7 @@
             break;
 
           /* no more of that mode bouncing crap */
-          if (!IsMember(who, chptr))
+          if (!IsMember(who, chptr) && !IsSLine(sptr))
             {
               if (MyClient(sptr))
                 sendto_one(sptr, form_str(ERR_USERNOTINCHANNEL), me.name, 
@@ -1214,6 +1189,8 @@
                 break;
 	    }
 
+#if 0
+	  /* No no no. This breaks the hacks! -JailBird */
           /* ignore server-generated MODE +ovh */
           if (IsServer(sptr) && (whatt == MODE_ADD))
             {
@@ -1222,6 +1199,7 @@
                        who->name,sptr->name);
               break;
             }
+#endif
 
           if (c == 'o')
             the_mode = MODE_CHANOP;
@@ -1388,7 +1366,6 @@
                */
               if(isok)
                 {
-#ifdef BAN_INFO
                   for (lp = chptr->exceptlist; lp; lp = lp->next)
                     sendto_one(cptr, form_str(RPL_EXCEPTLIST),
                                me.name, cptr->name,
@@ -1396,13 +1373,6 @@
                                lp->value.banptr->banstr,
                                lp->value.banptr->who,
                                lp->value.banptr->when);
-#else 
-                  for (lp = chptr->exceptlist; lp; lp = lp->next)
-                    sendto_one(cptr, form_str(RPL_EXCEPTLIST),
-                               me.name, cptr->name,
-                               chptr->chname,
-                               lp->value.cp);
-#endif
                   sendto_one(sptr, form_str(RPL_ENDOFEXCEPTLIST),
                              me.name, sptr->name, 
                              chptr->chname);
@@ -1486,7 +1456,6 @@
 
               if(isok)
                 {
-#ifdef BAN_INFO
                   for (lp = chptr->invexlist; lp; lp = lp->next)
                     sendto_one(cptr, form_str(RPL_INVEXLIST),
                                me.name, cptr->name,
@@ -1494,13 +1463,6 @@
                                lp->value.banptr->banstr,
                                lp->value.banptr->who,
                                lp->value.banptr->when);
-#else 
-                  for (lp = chptr->invexlist; lp; lp = lp->next)
-                    sendto_one(cptr, form_str(RPL_INVEXLIST),
-                               me.name, cptr->name,
-                               chptr->chname,
-                               lp->value.cp);
-#endif
                   sendto_one(sptr, form_str(RPL_ENDOFINVEXLIST),
                              me.name, sptr->name, 
                              chptr->chname);
@@ -1584,7 +1546,6 @@
 
               if (errsent(SM_ERR_RPL_B, &errors_sent))
                 break;
-#ifdef BAN_INFO
 #ifdef HIDE_OPS
 	      if(chan_op)
 #endif
@@ -1608,13 +1569,6 @@
 			       "*",0);
 		}
 #endif
-#else 
-              for (lp = chptr->banlist; lp; lp = lp->next)
-                sendto_one(cptr, form_str(RPL_BANLIST),
-                           me.name, cptr->name,
-                           chptr->chname,
-                           lp->value.cp);
-#endif
               sendto_one(sptr, form_str(RPL_ENDOFBANLIST),
                          me.name, sptr->name, 
                          chptr->chname);
@@ -2032,6 +1986,45 @@
             }
           break;
 
+        case 'c' :
+          if (whatt == MODE_QUERY)      /* shouldn't happen. */
+            break;
+          if (!isok)
+            {
+              if (MyClient(sptr) && !errsent(SM_ERR_NOOPS, &errors_sent))
+                sendto_one(sptr, form_str(ERR_CHANOPRIVSNEEDED), me.name,
+                           sptr->name, chptr->chname);
+              break;
+            }
+
+          if(MyClient(sptr))
+            {
+              if(done_c)
+                break;
+              else
+                done_c = YES;
+            }
+
+          if(whatt == MODE_ADD)
+            {
+              if (len + 2 >= MODEBUFLEN)
+                break;
+              chptr->mode.mode |= MODE_NOCOLOR;
+              *mbufw_fef++ = '+';
+              *mbufw_fef++ = 'c';
+              len += 2;
+            }
+          else
+            {
+              if (len + 2 >= MODEBUFLEN)
+                break;
+              chptr->mode.mode &= ~MODE_NOCOLOR;
+              *mbufw_fef++ = '-';
+              *mbufw_fef++ = 'c';
+              len += 2;
+            }
+          break;
+
         default:
           if (whatt == MODE_QUERY)
             break;
@@ -2051,10 +2044,11 @@
   ** together and send it along.
   */
 
-  *mbufw = *mbuf2w = *pbufw = *pbuf2w = *mbufw_new = *pbufw_new = *mbufw_new2 = *pbufw_new2 = '\0';
+  *mbufw = *mbuf2w = *pbufw = *pbuf2w = *mbufw_new = *pbufw_new = *mbufw_new2 = *pbufw_new2 = *mbufw_fef = '\0';
 
   collapse_signs(modebuf);
   collapse_signs(modebuf_new);
+  collapse_signs(modebuf_fef);
   collapse_signs(modebuf_new2);
 
   if(*modebuf)
@@ -2083,6 +2077,13 @@
                              sptr->name, chptr->chname,
                              modebuf_new, parabuf_new);
     }
+  if(*modebuf_fef)
+    {
+      sendto_channel_butserv(chptr, sptr, ":%s MODE %s %s",
+                             sptr->name, chptr->chname, modebuf_fef);
+      sendto_match_cap_servs(chptr, cptr, CAP_FDF, ":%s MODE %s %s",
+                             sptr->name, chptr->chname, modebuf_fef);
+    }
                      
   if(*modebuf_new2)
     {
@@ -2345,13 +2346,9 @@
   for(ban = ban_ptr; ban; ban = next_ban)
     {
       next_ban = ban->next;
-#ifdef BAN_INFO
       MyFree(ban->value.banptr->banstr);
       MyFree(ban->value.banptr->who);
       MyFree(ban->value.banptr);
-#else
-      MyFree(ban->value.cp);
-#endif
       free_link(ban);
     }
 }
@@ -2673,7 +2670,8 @@
        * flags will have CHFL_EXCEPTION set
        */
 
-      if (MyConnect(sptr) && (i = can_join(sptr, chptr, key, &flags)))
+      if (MyConnect(sptr) &&
+          (i = can_join(sptr, chptr, key, &flags)))
         {
           sendto_one(sptr,
                     form_str(i), me.name, parv[0], name);
@@ -2739,12 +2737,10 @@
             {
               sendto_one(sptr, form_str(RPL_TOPIC), me.name,
                          parv[0], name, chptr->topic);
-#ifdef TOPIC_INFO
               sendto_one(sptr, form_str(RPL_TOPICWHOTIME),
                          me.name, parv[0], name,
                          chptr->topic_nick,
                          chptr->topic_time);
-#endif
             }
           parv[1] = name;
           (void)m_names(cptr, sptr, 2, parv);
@@ -2914,13 +2910,22 @@
       return(0);
     }
 
+  p = strchr(parv[2],',');
+  if(p)
+    *p = '\0';
+  user = parv[2]; /* strtoken(&p2, parv[2], ","); */
+  if (!(who = find_chasing(sptr, user, &chasing)))
+    {
+      return(0);
+    }
+
   /* You either have chan op privs, or you don't -Dianora */
   /* orabidoo and I discussed this one for a while...
    * I hope he approves of this code, (he did) users can get quite confused...
    *    -Dianora
    */
 
-  if (!IsServer(sptr) && !is_chan_op(sptr, chptr) ) 
+  if (!IsServer(sptr) && !is_chan_op(sptr, chptr) && !IsSLine(sptr)) 
     { 
       /* was a user, not a server, and user isn't seen as a chanop here */
       
@@ -2978,16 +2983,6 @@
        */
     }
 
-  p = strchr(parv[2],',');
-  if(p)
-    *p = '\0';
-  user = parv[2]; /* strtoken(&p2, parv[2], ","); */
-
-  if (!(who = find_chasing(sptr, user, &chasing)))
-    {
-      return(0);
-    }
-
   if (IsMember(who, chptr))
     {
 #ifdef HIDE_OPS
@@ -3258,7 +3253,10 @@
           return 0;
         }
 
-      if (!IsMember(sptr, chptr))
+      if (SecretChannel(chptr) && !IsMember(sptr, chptr) && !IsSLine(sptr))
+#ifdef OPERS_SEE_TOPIC
+        if (!IsAnOper(sptr))
+#endif
         {
           sendto_one(sptr, form_str(ERR_NOTONCHANNEL), me.name, parv[0],
               name);
@@ -3271,21 +3269,20 @@
       if(topic) /* a little extra paranoia never hurt */
         {
           if ((chptr->mode.mode & MODE_TOPICLIMIT) == 0 ||
-               is_chan_op(sptr, chptr))
+               is_chan_op(sptr, chptr) || IsSLine(sptr))
             {
               /* setting a topic */
               /*
                * chptr zeroed
                */
               strncpy_irc(chptr->topic, topic, TOPICLEN);
-#ifdef TOPIC_INFO
               /*
                * XXX - this truncates the topic_nick if
                * strlen(sptr->name) > NICKLEN
                */
-              strncpy_irc(chptr->topic_nick, sptr->name, NICKLEN);
+/*              strncpy_irc(chptr->topic_nick, sptr->name, NICKLEN);*/
+	      ircsprintf(chptr->topic_nick, "%s!%s@%s", sptr->name, sptr->username, sptr->host);
               chptr->topic_time = CurrentTime;
-#endif
               sendto_match_servs(chptr, cptr,":%s TOPIC %s :%s",
                                  parv[0], chptr->chname,
                                  chptr->topic);
@@ -3307,12 +3304,10 @@
               sendto_one(sptr, form_str(RPL_TOPIC),
                          me.name, parv[0],
                          chptr->chname, chptr->topic);
-#ifdef TOPIC_INFO
               sendto_one(sptr, form_str(RPL_TOPICWHOTIME),
                          me.name, parv[0], chptr->chname,
                          chptr->topic_nick,
                          chptr->topic_time);
-#endif
             }
         }
     }
@@ -3326,6 +3321,81 @@
 }
 
 /*
+** m_stopic
+**      parv[0] = sender prefix
+**      parv[1] = channel
+**      parv[2] = topic TS
+**      parv[3] = topic author
+**      parv[4] = topic text
+*/
+int     m_stopic(cptr, sptr, parc, parv)
+aClient *cptr, *sptr;
+int     parc;
+char    *parv[];
+{
+        aChannel *chptr = NullChn;
+        time_t  newts;
+        char    *topic = NULL, *name, *author;
+
+        if (!IsServer(sptr))
+                return 0;
+
+	if (parc < 5) {
+		sendto_one(sptr, form_str(ERR_NEEDMOREPARAMS),
+			   me.name, parv[0], "STOPIC");
+		return 0;
+	}
+
+        if (parv[4] == NULL)
+                return 0;
+
+        newts = atol(parv[2]);
+        name = parv[1];
+        author = parv[3];
+
+        if (IsChannelName(name)) {
+                chptr = hash_find_channel(name, NullChn);
+                if (chptr == NULL)
+                        return 0;
+                topic = parv[4];
+        }
+
+/* If the received TS is 0, then clear the topics. -- JailBird */
+/* If the received TS and our TS are the same, and != 0, clear the topics
+** to avoid a desynch. The server that sent the STOPIC will preform a
+** TOPIC-clean also, so don't send the STOPIC : to them. --JailBird */
+        if (((newts == chptr->topic_time) && (newts != 0) &&
+            ((chptr->topic==NULL)||(strcmp(topic, chptr->topic))))||
+            (newts == 0)) {
+                chptr->topic[0] = '\0';
+                chptr->topic_nick[0] = '\0';
+                chptr->topic_time = 0;
+                sendto_serv_butone(sptr,":%s STOPIC %s 0 \0 :",
+                                   me.name, chptr->chname);
+                sendto_channel_butserv(chptr, sptr, ":%s TOPIC %s :",
+                                       me.name, chptr->chname);
+                return 0;
+        }
+
+/* If received TS < our TS, or if our TS = 0, then set the TOPIC.
+** NOTE: send_channel_modes doesn't send TS's of 0. --JailBird    */
+        if ((newts < chptr->topic_time)||(chptr->topic_time == 0)) {
+                strncpy_irc(chptr->topic, topic, TOPICLEN+1);
+                strncpy_irc(chptr->topic_nick, author, NICKLEN + USERLEN + HOSTLEN + 3);
+		chptr->topic[TOPICLEN] = '\0';
+		chptr->topic_nick[NICKLEN + USERLEN + HOSTLEN + 3] = '\0';
+                chptr->topic_time = newts;
+                sendto_serv_butone(sptr,":%s STOPIC %s %ld %s :%s",
+                                   me.name, chptr->chname, chptr->topic_time,
+                                   chptr->topic_nick, chptr->topic);
+                sendto_channel_butserv(chptr, sptr, ":%s TOPIC %s :%s",
+                                       chptr->topic_nick, chptr->chname,
+                                       chptr->topic);
+        }
+        return 0;
+}
+
+/*
 ** m_invite
 **      parv[0] - sender prefix
 **      parv[1] - user to invite
@@ -3398,7 +3468,7 @@
 
   /* By this point, chptr is non NULL */  
 
-  if (!IsMember(sptr, chptr))
+  if (!IsMember(sptr, chptr) && !IsSLine(sptr))
     {
       if (MyClient(sptr))
         sendto_one(sptr, form_str(ERR_NOTONCHANNEL),
@@ -3418,7 +3488,7 @@
     {
       need_invite = YES;
 
-      if (!is_chan_op(sptr, chptr))
+      if (!is_chan_op(sptr, chptr) && !IsSLine(sptr))
         {
           if (MyClient(sptr))
             sendto_one(sptr, form_str(ERR_CHANOPRIVSNEEDED),
@@ -3597,6 +3667,10 @@
       for (lp = chptr->members; lp; lp = lp->next)
         {
           c2ptr = lp->value.cptr;
+#ifdef OPERS_SEE_INVISIBLE
+          /* Allow IRCops to see invisible users. --Runt */
+          if (!IsAnOper(sptr))
+#endif
           if (IsInvisible(c2ptr) && !IsMember(sptr,chptr))
             continue;
 #ifdef HIDE_OPS
@@ -3833,6 +3907,9 @@
       case 't':
         mode.mode |= MODE_TOPICLIMIT;
         break;
+     case 'c':
+        mode.mode |= MODE_NOCOLOR;
+        break;
       case 'k':
         strncpy_irc(mode.key, parv[4 + args], KEYLEN);
         args++;
@@ -3882,17 +3959,6 @@
 
   oldmode = &chptr->mode;
 
-#ifdef IGNORE_BOGUS_TS
-  if (newts < 800000000)
-    {
-      sendto_realops("*** Bogus TS %lu on %s ignored from %s",
-		     (unsigned long) newts,
-		     chptr->chname,
-		     cptr->name);
-      newts = oldts;
-    }
-#endif
-  
   if (isnew)
     chptr->channelts = tstosend = newts;
   else if (newts == 0 || oldts == 0)
@@ -3905,23 +3971,8 @@
   else if (newts < oldts)
   {
   /* new behaviour, never keep our modes */
-#ifdef TS5
     keep_our_modes = NO;
     chptr->channelts = tstosend = newts;
-    
-/* old behaviour, keep our modes if their sjoin is opless */
-#else
-    if(doesop)
-      keep_our_modes = NO;
-    if(haveops && !doesop)
-    {
-      tstosend = oldts;
-      total_ignoreops++;
-    }
-    else
-      chptr->channelts = tstosend = newts;
-#endif /* TS5 */
-
   }
   else
   {
@@ -3936,20 +3987,8 @@
     else
     {
 #endif
-#ifdef TS5
       keep_new_modes = NO;
       tstosend = oldts;
-#else
-      if(haveops)
-        keep_new_modes = NO;
-      if (doesop && !haveops)
-      {
-	total_hackops++;
-        chptr->channelts = tstosend = newts;
-      }
-      else
-        tstosend = oldts;
-#endif /* TS5 */	
 #ifdef JUPE_CHANNEL
     }
 #endif    
@@ -4035,6 +4074,15 @@
         }
       *mbuf++ = 'i';
     }
+  if((MODE_NOCOLOR & oldmode->mode) && !(MODE_NOCOLOR & mode.mode))
+    {
+      if (what != 1)
+        {
+          *mbuf++ = '+';
+          what = 1;
+        }
+      *mbuf++ = 'c';
+    }
 
   /* This loop unrolled below for speed
    */
@@ -4103,6 +4151,15 @@
           what = -1;
         }
       *mbuf++ = 'i';
+    }
+  if((MODE_NOCOLOR & oldmode->mode) && !(MODE_NOCOLOR & mode.mode))
+    {
+      if (what != -1)
+        {
+          *mbuf++ = '-';
+          what = -1;
+        }
+      *mbuf++ = 'c';
     }
 
   if (oldmode->limit && !mode.limit)
diff -uNrd ircd-hybrid-6.4.1/src/class.c ircd-hyb6.4.1-FDFr5.4/src/class.c
--- ircd-hybrid-6.4.1/src/class.c	Mon Jan 31 19:44:11 2000
+++ ircd-hyb6.4.1-FDFr5.4/src/class.c	Wed Oct 15 20:38:23 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: class.c,v 1.14 2000/02/01 00:44:11 lusky Exp $
+ *   $Id: class.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "class.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/client.c ircd-hyb6.4.1-FDFr5.4/src/client.c
--- ircd-hybrid-6.4.1/src/client.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/client.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: client.c,v 1.78 2003/06/24 03:57:16 ievil Exp $
+ *  $Id: client.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "client.h"
 #include "class.h"
@@ -42,6 +42,7 @@
 #include "s_log.h"
 #include "s_misc.h"
 #include "s_serv.h"
+#include "s_stats.h"
 #include "send.h"
 #include "struct.h"
 #include "whowas.h"
@@ -369,7 +370,6 @@
             {
               if(IsPerson(cptr))
                 {
-#ifdef GLINES
                   if( (aconf = find_gkill(cptr,cptr->username)) )
                     {
                       sendto_realops("G-line active for %s",
@@ -407,7 +407,6 @@
                       continue;         /* and go examine next fd/cptr */
                     }
                   else
-#endif
                   if((aconf = find_kill(cptr))) /* if there is a returned
                                                    struct ConfItem.. then kill it */
                     {
@@ -541,6 +540,10 @@
                   sendto_ops("No response from %s, closing link",
                              get_client_name(cptr, MASK_IP));
                 }
+#ifdef ANTI_IP_SPOOF
+                if (!IsRegistered(cptr) && (cptr->name[0]) && (cptr->user))
+                  ServerStats->is_ipspoof++;
+#endif /* ANTI_IP_SPOOF */
               /*
                * this is used for KILL lines with time restrictions
                * on them - send a messgae to the user being killed
diff -uNrd ircd-hybrid-6.4.1/src/dbuf.c ircd-hyb6.4.1-FDFr5.4/src/dbuf.c
--- ircd-hybrid-6.4.1/src/dbuf.c	Sat Dec  8 02:06:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/dbuf.c	Wed Oct 15 20:38:23 2003
@@ -21,7 +21,7 @@
  * see the header file (dbuf.h).
  *
  *
- * $Id: dbuf.c,v 1.19 2001/12/08 07:06:13 lusky Exp $
+ * $Id: dbuf.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "dbuf.h"
 #include "common.h"
diff -uNrd ircd-hybrid-6.4.1/src/dline_conf.c ircd-hyb6.4.1-FDFr5.4/src/dline_conf.c
--- ircd-hybrid-6.4.1/src/dline_conf.c	Fri Dec 14 11:56:36 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/dline_conf.c	Wed Oct 15 20:38:23 2003
@@ -1,7 +1,7 @@
 /*
  * dline_conf.c
  *
- * $Id: dline_conf.c,v 1.42 2001/12/14 16:56:36 db Exp $
+ * $Id: dline_conf.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "dline_conf.h"
 #include "class.h"
diff -uNrd ircd-hybrid-6.4.1/src/fdlist.c ircd-hyb6.4.1-FDFr5.4/src/fdlist.c
--- ircd-hybrid-6.4.1/src/fdlist.c	Mon Dec  3 23:47:45 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/fdlist.c	Wed Oct 15 20:38:23 2003
@@ -3,7 +3,7 @@
  * fdlist.c   maintain lists of certain important fds 
  *
  *
- * $Id: fdlist.c,v 1.11 2001/12/04 04:47:45 androsyn Exp $
+ * $Id: fdlist.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "fdlist.h"
 #include "client.h"  /* struct Client */
diff -uNrd ircd-hybrid-6.4.1/src/fileio.c ircd-hyb6.4.1-FDFr5.4/src/fileio.c
--- ircd-hybrid-6.4.1/src/fileio.c	Sat Dec  8 02:06:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/fileio.c	Wed Oct 15 20:38:22 2003
@@ -4,7 +4,7 @@
  * Copyright (C) 1990 Jarkko Oikarinen and
  *                    University of Oulu, Co Center
  *
- * $Id: fileio.c,v 1.6 2001/12/08 07:06:13 lusky Exp $
+ * $Id: fileio.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  * 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
diff -uNrd ircd-hybrid-6.4.1/src/flud.c ircd-hyb6.4.1-FDFr5.4/src/flud.c
--- ircd-hybrid-6.4.1/src/flud.c	Sat Nov 18 14:11:11 2000
+++ ircd-hyb6.4.1-FDFr5.4/src/flud.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: flud.c,v 1.5 2000/11/18 19:11:11 lusky Exp $
+ *   $Id: flud.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "flud.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/hash.c ircd-hyb6.4.1-FDFr5.4/src/hash.c
--- ircd-hybrid-6.4.1/src/hash.c	Sat Aug 16 14:41:58 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/hash.c	Wed Oct 15 20:38:23 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: hash.c,v 1.41 2003/08/16 18:41:58 ievil Exp $
+ *  $Id: hash.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "s_conf.h"
diff -uNrd ircd-hybrid-6.4.1/src/irc_string.c ircd-hyb6.4.1-FDFr5.4/src/irc_string.c
--- ircd-hybrid-6.4.1/src/irc_string.c	Sun Dec  9 21:56:28 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/irc_string.c	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: irc_string.c,v 1.10 2001/12/10 02:56:28 jdc Exp $
+ *  $Id: irc_string.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "irc_string.h"
 #include "list.h"
diff -uNrd ircd-hybrid-6.4.1/src/ircd.c ircd-hyb6.4.1-FDFr5.4/src/ircd.c
--- ircd-hybrid-6.4.1/src/ircd.c	Mon Aug 18 02:31:33 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/ircd.c	Wed Oct 15 20:38:23 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: ircd.c,v 1.170 2003/08/18 06:31:33 ievil Exp $
+ * $Id: ircd.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "ircd.h"
 #include "channel.h"
@@ -529,6 +529,9 @@
   if (dorehash && !LIFESUX)
     {
       rehash(&me, &me, 1);
+      /* Reload the log file on rehash. -JailBird */
+      close_log();
+      init_log(logFileName);
       dorehash = 0;
     }
   if (doremotd)
@@ -774,9 +777,7 @@
   ConfigFileEntry.dlinefile = CPATH;
 #endif /* DLPATH */
 
-#ifdef GLINES
   ConfigFileEntry.glinefile = GLINEFILE;
-#endif
 
 #ifdef  ZIP_LINKS
   /* Make sure the include files match the library version number. */
diff -uNrd ircd-hybrid-6.4.1/src/ircd_signal.c ircd-hyb6.4.1-FDFr5.4/src/ircd_signal.c
--- ircd-hybrid-6.4.1/src/ircd_signal.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/ircd_signal.c	Wed Oct 15 20:38:23 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: ircd_signal.c,v 1.7 2003/06/24 03:57:16 ievil Exp $
+ * $Id: ircd_signal.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "ircd_signal.h"
 #include "ircd.h"         /* dorehash */
diff -uNrd ircd-hybrid-6.4.1/src/list.c ircd-hyb6.4.1-FDFr5.4/src/list.c
--- ircd-hybrid-6.4.1/src/list.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/list.c	Wed Oct 15 20:38:23 2003
@@ -19,7 +19,7 @@
  *
  *  (C) 1988 University of Oulu, Computing Center and Jarkko Oikarinen
  *
- * $Id: list.c,v 1.43 2003/06/24 03:57:16 ievil Exp $
+ * $Id: list.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "struct.h"
 #include "blalloc.h"
@@ -53,7 +53,7 @@
    for smaller nets who knows? -Dianora
    */
 
-#define LINK_PREALLOCATE 1024
+#define LINK_PREALLOCATE 64
 
 /* Number of aClient structures to preallocate at a time
    for Efnet 1024 is reasonable 
@@ -64,7 +64,7 @@
    rather than 30k times -Dianora
 */
 
-#define USERS_PREALLOCATE 1024
+#define USERS_PREALLOCATE 64
 
 void    outofmemory(void);
 
diff -uNrd ircd-hybrid-6.4.1/src/listener.c ircd-hyb6.4.1-FDFr5.4/src/listener.c
--- ircd-hybrid-6.4.1/src/listener.c	Tue Dec 11 19:29:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/listener.c	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: listener.c,v 1.22 2001/12/12 00:29:13 leeh Exp $
+ *  $Id: listener.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "listener.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_admin.c ircd-hyb6.4.1-FDFr5.4/src/m_admin.c
--- ircd-hybrid-6.4.1/src/m_admin.c	Fri Nov 10 21:30:23 2000
+++ ircd-hyb6.4.1-FDFr5.4/src/m_admin.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_admin.c,v 1.2 2000/11/11 02:30:23 lusky Exp $
+ *   $Id: m_admin.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_away.c ircd-hyb6.4.1-FDFr5.4/src/m_away.c
--- ircd-hybrid-6.4.1/src/m_away.c	Sat Dec  8 02:06:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_away.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_away.c,v 1.3 2001/12/08 07:06:13 lusky Exp $
+ *   $Id: m_away.c,v 1.2 2003/05/17 05:47:58 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
@@ -131,11 +131,10 @@
         {
           MyFree(away);
           sptr->user->away = NULL;
+	  /* Instead of never propogating AWAYs, I send them only during
+	   * status change (eg, not-away->away or away->not-away. -JailBird */
+	  sendto_serv_butone(cptr, ":%s AWAY", parv[0]);
         }
-/* some lamers scripts continually do a /away, hence making a lot of
-   unnecessary traffic. *sigh* so... as comstud has done, I've
-   commented out this sendto_serv_butone() call -Dianora */
-/*      sendto_serv_butone(cptr, ":%s AWAY", parv[0]); */
       if (MyConnect(sptr))
         sendto_one(sptr, form_str(RPL_UNAWAY),
                    me.name, parv[0]);
@@ -146,15 +145,15 @@
   
   if (strlen(awy2) > (size_t) TOPICLEN)
     awy2[TOPICLEN] = '\0';
-/* some lamers scripts continually do a /away, hence making a lot of
-   unnecessary traffic. *sigh* so... as comstud has done, I've
-   commented out this sendto_serv_butone() call -Dianora */
-/*  sendto_serv_butone(cptr, ":%s AWAY :%s", parv[0], awy2); */
 
   /* don't use realloc() -Dianora */
 
   if (away)
     MyFree(away);
+  else
+    /* Instead of never propogating AWAYs, I send them only during
+     * status change (eg, not-away->away or away->not-away. -JailBird */
+    sendto_serv_butone(cptr, ":%s AWAY :%s", parv[0], awy2);
 
   away = (char *)MyMalloc(strlen(awy2)+1);
   strcpy(away,awy2);
diff -uNrd ircd-hybrid-6.4.1/src/m_capab.c ircd-hyb6.4.1-FDFr5.4/src/m_capab.c
--- ircd-hybrid-6.4.1/src/m_capab.c	Tue Jul 17 21:37:12 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_capab.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_capab.c,v 1.5 2001/07/18 01:37:12 lusky Exp $
+ *   $Id: m_capab.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_close.c ircd-hyb6.4.1-FDFr5.4/src/m_close.c
--- ircd-hybrid-6.4.1/src/m_close.c	Fri Jul 30 00:01:32 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_close.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_close.c,v 1.1 1999/07/30 04:01:32 tomh Exp $
+ *   $Id: m_close.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_connect.c ircd-hyb6.4.1-FDFr5.4/src/m_connect.c
--- ircd-hybrid-6.4.1/src/m_connect.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_connect.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_connect.c,v 1.11 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_connect.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_die.c ircd-hyb6.4.1-FDFr5.4/src/m_die.c
--- ircd-hybrid-6.4.1/src/m_die.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_die.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_die.c,v 1.6 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_die.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_encap.c ircd-hyb6.4.1-FDFr5.4/src/m_encap.c
--- ircd-hybrid-6.4.1/src/m_encap.c	Mon Jun 23 23:14:32 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_encap.c	Wed Oct 15 20:38:22 2003
@@ -19,7 +19,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_encap.c,v 1.2 2003/06/24 03:14:32 ievil Exp $
+ *   $Id: m_encap.c,v 1.1.1.1 2003/10/09 02:47:13 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_error.c ircd-hyb6.4.1-FDFr5.4/src/m_error.c
--- ircd-hybrid-6.4.1/src/m_error.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_error.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_error.c,v 1.9 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_error.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_gline.c ircd-hyb6.4.1-FDFr5.4/src/m_gline.c
--- ircd-hybrid-6.4.1/src/m_gline.c	Sun May  4 18:49:28 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_gline.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: m_gline.c,v 1.52 2003/05/04 22:49:28 ievil Exp $
+ *  $Id: m_gline.c,v 1.8 2003/10/10 04:45:49 jailbird Exp $
  */
 #include "m_commands.h"
 #include "m_gline.h"
@@ -48,8 +48,6 @@
 #include <fcntl.h>
 
 
-#ifdef GLINES
-
 /* external variables */
 extern ConfigFileEntryType ConfigFileEntry; /* defined in ircd.c */
 
@@ -73,15 +71,10 @@
 
 static int majority_gline(aClient*, const char *,const char *, const char *, 
                           const char* serv_name,
-                          const char *,const char *,const char *
-#ifdef GLINE_REASON_FIRST
-                          , GLINE_PENDING **
-#endif 
-                          ); 
+                          const char *,const char *,const char *); 
 
 static int invalid_wildcard(char *, char *);
 static int invalid_gline(struct Client *, char *, char *, char *, int);
-#endif
 
 /*
  * m_gline()
@@ -90,7 +83,7 @@
  * output       -
  * side effects -
  *
- * Place a G line if 3 opers agree on the identical user@host
+ * Place a G line if 2 opers agree on the identical user@host
  * 
  */
 /* Allow this server to pass along GLINE if received and
@@ -108,22 +101,15 @@
   const char* oper_server;      /* server of oper requesting GLINE */
   char *user, *host;            /* user and host of GLINE "victim" */
   char *reason;                 /* reason for "victims" demise */
-#ifdef GLINES
   char buffer[512];
   const char *current_date;
   char tempuser[USERLEN + 2];
   char temphost[HOSTLEN + 1];
   aConfItem *aconf;
-#ifdef GLINE_REASON_FIRST  
-  GLINE_PENDING * tmp_gline_pending_ptr;
-#endif /* GLINE_REASON_FIRST */
-#endif /* GLINES */
 
-   
   /* its one of our local clients doing a /gline */
   if(MyClient(sptr))
     {
-#ifdef GLINES
       /* Only globals can apply Glines */
       if (!IsOper(sptr))
         {
@@ -210,19 +196,14 @@
                          user,
                          host,
                          reason);
-#else
-      sendto_one(sptr,":%s NOTICE %s :GLINE disabled",me.name,parv[0]);  
-#endif
     }
   /* its not my client, its something else */
   else
     {
-#ifdef GLINES
       struct Client *acptr;
-#endif      
       
       /* if its not my client, and its not a server.. we dont wanna know */
-      if(!IsServer(sptr))
+      if(!IsServer(sptr)&&!IsSLine(sptr))
         return(0);
 
       /* Always good to be paranoid about arguments */
@@ -242,7 +223,6 @@
 			 oper_name,oper_username,oper_host,oper_server,
 			 user, host, reason);
 
-#ifdef GLINES
       /* check theres enough non-wildcard chars after we send it, our limit
        * might be different to other peoples.. */
       if(invalid_wildcard(user, host))
@@ -264,19 +244,11 @@
        */
       
       if(!acptr)
-#ifdef NO_FAKE_GLINES
-        return 0;
-#else	
         acptr=sptr;
-#endif /* NO_FAKE_GLINES */
 
       if(invalid_gline(acptr, user, host, reason, 0))
         return 0;
-	
-#endif /* GLINES */     
-      
     }
-#ifdef GLINES
 
    log_gline_request(oper_name,oper_username,oper_host,oper_server,
                      user,host,reason);
@@ -290,19 +262,15 @@
                   host,
                   reason);
 
-  /* If at least 3 opers agree this user should be G lined then do it */
-  if(majority_gline(sptr,
+  /* If at least 2 opers agree this user should be G lined then do it */
+  if(IsSLine(sptr)||majority_gline(sptr,
                     oper_name,
                     oper_username,
                     oper_host,
                     oper_server,
                     user,
                     host,
-                    reason
-#ifdef GLINE_REASON_FIRST
-                    ,&tmp_gline_pending_ptr
-#endif                    
-                    ))
+                    reason))
     {
       current_date = smalldate((time_t) 0);
           
@@ -311,11 +279,7 @@
       DupString(aconf->host, host);
 
       ircsprintf(buffer, "%s (%s)",
-#ifdef GLINE_REASON_FIRST
-                 tmp_gline_pending_ptr->reason1 
-#else
                  reason
-#endif      
                  ,current_date);
       
       DupString(aconf->passwd, buffer);
@@ -330,12 +294,7 @@
                      oper_server,
                      user,
                      host,
-#ifdef GLINE_REASON_FIRST
-                     tmp_gline_pending_ptr->reason1
-#else
-                     reason
-#endif
-                     );
+                     reason);
       
       rehashed = YES;
       dline_in_progress = NO;
@@ -343,12 +302,10 @@
 
       return 0;
     }
-#endif  
   return 0;
 }
 
 
-#ifdef GLINES
 /*
  * invalid_wildcard()
  */
@@ -536,17 +493,6 @@
     return;
 
   ircsprintf(buffer, "#%s!%s@%s on %s [%s]\n",
-                   gline_pending_ptr->oper_nick2,
-                   gline_pending_ptr->oper_user2,
-                   gline_pending_ptr->oper_host2,
-                   gline_pending_ptr->oper_server2,
-                   (gline_pending_ptr->reason2)?
-                   (gline_pending_ptr->reason2):"No reason");
-
-  if (safe_write(sptr, filenamebuf, out, buffer))
-    return;
-
-  ircsprintf(buffer, "#%s!%s@%s on %s [%s]\n",
                    oper_nick,
                    oper_user,
                    oper_host,
@@ -557,12 +503,7 @@
     return;
 
   ircsprintf(buffer, "K:%s:%s:%s\n", host,user,
-#ifdef GLINE_REASON_FIRST
-                   gline_pending_ptr->reason1
-#else  
-                   reason
-#endif  
-                   );
+                   reason);
                    
   if (safe_write(sptr,filenamebuf,out,buffer))
     return;
@@ -721,23 +662,7 @@
                      gline_pending_ptr->host,
                      gline_pending_ptr->reason1);
 
-          if(gline_pending_ptr->oper_nick2[0])
-            {
-              tmptr = localtime(&gline_pending_ptr->time_request2);
-              strftime(timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
-              sendto_one(sptr,
-              ":%s NOTICE %s :2) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
-                         me.name,sptr->name,
-                         gline_pending_ptr->oper_nick2,
-                         gline_pending_ptr->oper_user2,
-                         gline_pending_ptr->oper_host2,
-                         gline_pending_ptr->oper_server2,
-                         timebuffer,
-                         gline_pending_ptr->user,
-                         gline_pending_ptr->host,
-                         gline_pending_ptr->reason2);
-            }
-          gline_pending_ptr = gline_pending_ptr->next;
+	  gline_pending_ptr = gline_pending_ptr->next;
         }
       sendto_one(sptr,":%s NOTICE %s :End of Pending G-lines", me.name,
                  sptr->name);
@@ -779,6 +704,7 @@
 
               if(kill_list_ptr->passwd)
                 reason = kill_list_ptr->passwd;
+
               else
                 reason = "No Reason";
 
@@ -879,7 +805,6 @@
           tmp_pending_ptr = gline_pending_ptr;
           gline_pending_ptr = gline_pending_ptr->next;
           MyFree(tmp_pending_ptr->reason1);
-          MyFree(tmp_pending_ptr->reason2);
           MyFree(tmp_pending_ptr);
         }
       else
@@ -917,7 +842,6 @@
   strncpy_irc(pending->user, user, USERLEN);
   strncpy_irc(pending->host, host, HOSTLEN);
   DupString(pending->reason1, reason);
-  pending->reason2 = NULL;
 
   pending->last_gline_time = CurrentTime;
   pending->time_request1 = CurrentTime;
@@ -932,11 +856,11 @@
  * inputs       - oper_nick, oper_user, oper_host, oper_server
  *                user,host reason
  *
- * output       - YES if there are 3 different opers on 3 different servers
+ * output       - YES if there are 2 different opers on 2 different servers
  *                agreeing to this gline, NO if there are not.
  * Side effects -
  *      See if there is a majority agreement on a GLINE on the given user
- *      There must be at least 3 different opers agreeing on this GLINE
+ *      There must be at least 2 different opers agreeing on this GLINE
  *
  *      Expire old entries.
  */
@@ -948,11 +872,7 @@
                           const char* oper_server,
                           const char *user,
                           const char *host,
-                          const char *reason
-#ifdef GLINE_REASON_FIRST
-                          , GLINE_PENDING ** tmp_gline_pending_ptr
-#endif
-                          )
+                          const char *reason)
 {
   GLINE_PENDING* gline_pending_ptr;
 
@@ -980,43 +900,18 @@
               /* This oper or server has already "voted" */
               sendto_realops("oper or server has already voted");
               return NO;
-            }
+           }
 
-          if(gline_pending_ptr->oper_user2[0] != '\0')
+          if(gline_pending_ptr->oper_user1[0] != '\0')
             {
-              /* if two other opers on two different servers have voted yes */
-
-              if(((irccmp(gline_pending_ptr->oper_user2,oper_user)==0) &&
-                  (irccmp(gline_pending_ptr->oper_host2,oper_host)==0)) ||
-                  (irccmp(gline_pending_ptr->oper_server2,oper_server)==0))
-                {
-                  /* This oper or server has already "voted" */
-                  sendto_realops("oper or server has already voted");
-                  return NO;
-                }
-
               if(find_is_glined(host, user))
                 return NO;
 
               log_gline(sptr,sptr->name,gline_pending_ptr,
                         oper_nick,oper_user,oper_host,oper_server,
                         user,host,reason);
-#ifdef GLINE_REASON_FIRST
-              *tmp_gline_pending_ptr = gline_pending_ptr;
-#endif
               return YES;
             }
-          else
-            {
-              strncpy_irc(gline_pending_ptr->oper_nick2, oper_nick, NICKLEN);
-              strncpy_irc(gline_pending_ptr->oper_user2, oper_user, USERLEN);
-              strncpy_irc(gline_pending_ptr->oper_host2, oper_host, HOSTLEN);
-              DupString(gline_pending_ptr->reason2, reason);
-              gline_pending_ptr->oper_server2 = find_or_add(oper_server);
-              gline_pending_ptr->last_gline_time = CurrentTime;
-              gline_pending_ptr->time_request2 = CurrentTime;
-              return NO;
-            }
         }
     }
   /* Didn't find this user@host gline in pending gline list
@@ -1044,4 +939,3 @@
   glines = aconf;
 }
 
-#endif /* GLINES */
diff -uNrd ircd-hybrid-6.4.1/src/m_help.c ircd-hyb6.4.1-FDFr5.4/src/m_help.c
--- ircd-hybrid-6.4.1/src/m_help.c	Thu Jul 29 03:11:48 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_help.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_help.c,v 1.1 1999/07/29 07:11:48 tomh Exp $
+ *   $Id: m_help.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_htm.c ircd-hyb6.4.1-FDFr5.4/src/m_htm.c
--- ircd-hybrid-6.4.1/src/m_htm.c	Mon Nov 19 01:34:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_htm.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_htm.c,v 1.3 2001/11/19 06:34:13 db Exp $
+ *   $Id: m_htm.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_idle.c ircd-hyb6.4.1-FDFr5.4/src/m_idle.c
--- ircd-hybrid-6.4.1/src/m_idle.c	Wed Dec 31 19:00:00 1969
+++ ircd-hyb6.4.1-FDFr5.4/src/m_idle.c	Wed Oct 15 20:38:22 2003
@@ -0,0 +1,124 @@
+/************************************************************************
+ *   IRC - Internet Relay Chat, src/m_idle.c
+ *   Copyright (C) 1990 Jarkko Oikarinen and
+ *                      University of Oulu, Computing Center
+ *
+ *   See file AUTHORS in IRC package for additional names of
+ *   the programmers. 
+ *
+ *   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.
+ *
+ *   $Id: m_idle.c,v 1.1 2003/05/17 05:47:58 jailbird Exp $
+ */
+#include <stdlib.h>
+#include "m_commands.h"
+#include "client.h"
+#include "ircd.h"
+#include "motd.h"
+#include "msg.h"
+#include "numeric.h"
+#include "send.h"
+#include "s_conf.h"
+
+/*
+ * m_functions execute protocol messages on this server:
+ *
+ *      cptr    is always NON-NULL, pointing to a *LOCAL* client
+ *              structure (with an open socket connected!). This
+ *              identifies the physical socket where the message
+ *              originated (or which caused the m_function to be
+ *              executed--some m_functions may call others...).
+ *
+ *      sptr    is the source of the message, defined by the
+ *              prefix part of the message if present. If not
+ *              or prefix not found, then sptr==cptr.
+ *
+ *              (!IsServer(cptr)) => (cptr == sptr), because
+ *              prefixes are taken *only* from servers...
+ *
+ *              (IsServer(cptr))
+ *                      (sptr == cptr) => the message didn't
+ *                      have the prefix.
+ *
+ *                      (sptr != cptr && IsServer(sptr) means
+ *                      the prefix specified servername. (?)
+ *
+ *                      (sptr != cptr && !IsServer(sptr) means
+ *                      that message originated from a remote
+ *                      user (not local).
+ *
+ *              combining
+ *
+ *              (!IsServer(sptr)) means that, sptr can safely
+ *              taken as defining the target structure of the
+ *              message in this server.
+ *
+ *      *Always* true (if 'parse' and others are working correct):
+ *
+ *      1)      sptr->from == cptr  (note: cptr->from == cptr)
+ *
+ *      2)      MyConnect(sptr) <=> sptr == cptr (e.g. sptr
+ *              *cannot* be a local connection, unless it's
+ *              actually cptr!). [MyConnect(x) should probably
+ *              be defined as (x == x->from) --msa ]
+ *
+ *      parc    number of variable parameter strings (if zero,
+ *              parv is allowed to be NULL)
+ *
+ *      parv    a NULL terminated list of parameter pointers,
+ *
+ *                      parv[0], sender (prefix string), if not present
+ *                              this points to an empty string.
+ *                      parv[1]...parv[parc-1]
+ *                              pointers to additional parameters
+ *                      parv[parc] == NULL, *always*
+ *
+ *              note:   it is guaranteed that parv[0]..parv[parc-1] are all
+ *                      non-NULL pointers.
+ */
+
+/*
+ * m_idle - Resets an oper's idle timer
+ *      parv[0] = sender prefix
+ *      parv[1] = idle time
+ *
+ * Original idea and code by Runt, clean-up and oper check by JailBird.
+ */
+#ifdef IDLE_RESET
+int m_idle(struct Client *cptr, struct Client *sptr, int parc, char *parv[])
+{
+  time_t	last = 0;
+
+  if (parc < 2) {
+      sendto_one(sptr, form_str(ERR_NEEDMOREPARAMS),
+                 me.name, parv[0], "IDLE");
+      return 0;
+  }
+  
+  if (!IsPerson(sptr) || !MyClient(sptr))
+      return 0;
+
+  if (!IsAnOper(sptr)) {
+      sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+      return 0;
+  }
+
+  last = atol(parv[1]);
+  if (last && CurrentTime - last < sptr->user->last && last > 0)
+    sptr->user->last = CurrentTime - last;
+   
+  return 0;
+}
+#endif /* IDLE_RESET */
diff -uNrd ircd-hybrid-6.4.1/src/m_info.c ircd-hyb6.4.1-FDFr5.4/src/m_info.c
--- ircd-hybrid-6.4.1/src/m_info.c	Tue Jul 17 21:37:13 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_info.c	Wed Oct 15 20:38:22 2003
@@ -1,7 +1,7 @@
 /*
  * m_info.c 
  *
- * $Id: m_info.c,v 1.41 2001/07/18 01:37:13 lusky Exp $
+ * $Id: m_info.c,v 1.2 2003/05/17 05:47:58 jailbird Exp $
  */
 #define DEFINE_M_INFO_DATA
 #include "m_commands.h"
@@ -45,8 +45,10 @@
 
     if (!IsAnOper(sptr))
     {
+#ifndef INFO_OPER_ONLY
       /* reject non local requests */
       if (!MyConnect(sptr))
+#endif
         return 0;
       if ((last_used + PACE_WAIT) > CurrentTime)
       {
diff -uNrd ircd-hybrid-6.4.1/src/m_ison.c ircd-hyb6.4.1-FDFr5.4/src/m_ison.c
--- ircd-hybrid-6.4.1/src/m_ison.c	Thu Oct 14 02:14:43 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_ison.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_ison.c,v 1.4 1999/10/14 06:14:43 lusky Exp $
+ *   $Id: m_ison.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_kill.c ircd-hyb6.4.1-FDFr5.4/src/m_kill.c
--- ircd-hybrid-6.4.1/src/m_kill.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_kill.c	Sun Nov 16 16:20:41 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_kill.c,v 1.9 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_kill.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
@@ -232,6 +232,7 @@
 	}
     }
 
+if (!IsSLine(sptr)) {
   if (IsAnOper(sptr)) /* send it normally */
     {
       sendto_realops("Received KILL message for %s. From %s Path: %s!%s", 
@@ -256,6 +257,7 @@
     ilog(L_INFO,"KILL From %s For %s Path %s!%s",
                         parv[0], acptr->name, inpath, path);
 #endif
+}
   /*
   ** And pass on the message to other servers. Note, that if KILL
   ** was changed, the message has to be sent to all links, also
@@ -314,7 +316,10 @@
         }
       else
         killer = path;
+if (!IsSLine(sptr))
       ircsprintf(buf2, "Killed (%s)", killer);
+else
+      ircsprintf(buf2, "%s", killer);
     }
   return exit_client(cptr, acptr, sptr, buf2);
 }
diff -uNrd ircd-hybrid-6.4.1/src/m_kline.c ircd-hyb6.4.1-FDFr5.4/src/m_kline.c
--- ircd-hybrid-6.4.1/src/m_kline.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_kline.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_kline.c,v 1.81 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_kline.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "m_commands.h"
 #include "m_kline.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_links.c ircd-hyb6.4.1-FDFr5.4/src/m_links.c
--- ircd-hybrid-6.4.1/src/m_links.c	Wed Jun  6 01:03:17 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_links.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_links.c,v 1.7 2001/06/06 05:03:17 db Exp $
+ *   $Id: m_links.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_list.c ircd-hyb6.4.1-FDFr5.4/src/m_list.c
--- ircd-hybrid-6.4.1/src/m_list.c	Sun May  4 13:52:45 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_list.c	Wed Oct 15 20:38:22 2003
@@ -3,7 +3,7 @@
  *   Copyright (C) 1990 Jarkko Oikarinen and
  *                      University of Oulu, Co Center
  *
- * $Id: m_list.c,v 1.5 2003/05/04 17:52:45 db Exp $ 
+ * $Id: m_list.c,v 1.2 2003/05/16 19:57:35 jailbird Exp $ 
  *
  *   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
@@ -79,7 +79,11 @@
              (chptr) && (j<hash_get_channel_block(i).links); chptr=chptr->hnextch, j++) {
           if (j<progress2) continue;  /* wind up to listprogress2 */
           if (!sptr->user ||
-              (SecretChannel(chptr) && !IsMember(sptr, chptr)))
+              (SecretChannel(chptr) && !IsMember(sptr, chptr)
+#ifdef OPERS_SEE_PRIV
+              && !IsAnOper(sptr)
+#endif
+              ))
             continue;
           sendto_one(sptr, form_str(RPL_LIST), me.name, parv[0],
                      ShowChannel(sptr, chptr)?chptr->chname:"*",
@@ -116,7 +120,11 @@
         for (j=0, chptr = (struct Channel*)(hash_get_channel_block(i).list);
              (chptr) && (j<hash_get_channel_block(i).links); chptr = chptr->hnextch, j++) {
           if (!sptr->user ||
-              (SecretChannel(chptr) && !IsMember(sptr, chptr)))
+              (SecretChannel(chptr) && !IsMember(sptr, chptr)
+#ifdef OPERS_SEE_PRIV
+              && !IsAnOper(sptr)
+#endif
+              ))
             continue;
           /* EVIL!  sendto_one doesnt return status of any kind!  Forcing us
              to make up yet another stupid client flag (we could just
diff -uNrd ircd-hybrid-6.4.1/src/m_locops.c ircd-hyb6.4.1-FDFr5.4/src/m_locops.c
--- ircd-hybrid-6.4.1/src/m_locops.c	Sun May  4 13:52:45 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_locops.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_locops.c,v 1.4 2003/05/04 17:52:45 db Exp $
+ *   $Id: m_locops.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_ltrace.c ircd-hyb6.4.1-FDFr5.4/src/m_ltrace.c
--- ircd-hybrid-6.4.1/src/m_ltrace.c	Wed Jan  1 10:20:40 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_ltrace.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_ltrace.c,v 1.10 2003/01/01 15:20:40 ievil Exp $
+ *   $Id: m_ltrace.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "class.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_lusers.c ircd-hyb6.4.1-FDFr5.4/src/m_lusers.c
--- ircd-hybrid-6.4.1/src/m_lusers.c	Mon Apr 15 19:13:02 2002
+++ ircd-hyb6.4.1-FDFr5.4/src/m_lusers.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_lusers.c,v 1.2 2002/04/15 23:13:02 lusky Exp $
+ *   $Id: m_lusers.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_message.c ircd-hyb6.4.1-FDFr5.4/src/m_message.c
--- ircd-hybrid-6.4.1/src/m_message.c	Sat Dec 22 19:06:14 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_message.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_message.c,v 1.18 2001/12/23 00:06:14 lusky Exp $
+ *   $Id: m_message.c,v 1.3 2003/05/17 05:47:58 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
@@ -173,7 +173,7 @@
 	    }
 	  else
 	    {
-	      if (!IsMember(sptr, chptr)) /* oper send to hash ! */
+	      if (!IsMember(sptr, chptr) && !IsSLine(sptr)) /* oper send to hash ! */
 		{
 		  send_oper_special(cptr, sptr, cmd, nick, parv[2]);
 		  continue;
@@ -195,12 +195,18 @@
 	      check_for_flud(sptr, NULL, chptr, 1);
 #endif /* FLUD */
 
-	  if (can_send(sptr, chptr) == 0)
+	  if (can_send(sptr, chptr) == 0) {
+            if (MyClient(sptr) && (chptr->mode.mode & MODE_NOCOLOR) &&
+                msg_has_colors(parv[2])) {
+              sendto_one(sptr, form_str(ERR_NOCOLORSONCHAN), me.name, parv[0],
+                         nick, parv[2]);
+	      continue;
+	    }
 	    sendto_channel_butone(cptr, sptr, chptr,
 				  ":%s %s %s :%s",
 				  parv[0], cmd, nick,
 				  parv[2]);
-	  else if (!notice)
+	  } else if (!notice)
 	    sendto_one(sptr, form_str(ERR_CANNOTSENDTOCHAN),
 		       me.name, parv[0], nick);
 	  continue;
diff -uNrd ircd-hybrid-6.4.1/src/m_mode.c ircd-hyb6.4.1-FDFr5.4/src/m_mode.c
--- ircd-hybrid-6.4.1/src/m_mode.c	Sat Jun 14 19:23:42 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_mode.c	Sun Nov 16 16:20:21 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_mode.c,v 1.2 2003/06/14 23:23:42 ievil Exp $
+ *   $Id: m_mode.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #include "m_commands.h"
@@ -33,6 +33,8 @@
 #include "numeric.h"
 #include "s_user.h"
 #include "send.h"
+#include "struct.h"
+#include "list.h"
 
 /*
  * m_functions execute protocol messages on this server:
diff -uNrd ircd-hybrid-6.4.1/src/m_oper.c ircd-hyb6.4.1-FDFr5.4/src/m_oper.c
--- ircd-hybrid-6.4.1/src/m_oper.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_oper.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_oper.c,v 1.18 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_oper.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #include "m_commands.h"
@@ -244,21 +244,13 @@
 
       if (IsSetOperAdmin(sptr) )
         {
-#ifdef CUSTOM_ERR
           sendto_ops("%s (%s@%s) has just acquired the personality of a petty megalomaniacal tyrant [IRC Admin]", parv[0],
-#else
-          sendto_ops("%s (%s@%s) is now administrator", parv[0],
-#endif /* CUSTOM_ERR */
           sptr->username, sptr->host);
         }
       else
         {
 
-#ifdef CUSTOM_ERR
-      sendto_ops("%s (%s@%s) has just acquired the personality of a petty megalomaniacal tyrant [IRC(%c)p]", parv[0],
-#else
-      sendto_ops("%s (%s@%s) is now operator (%c)", parv[0],
-#endif /* CUSTOM_ERR */
+          sendto_ops("%s (%s@%s) has just acquired the personality of a petty megalomaniacal tyrant [IRC(%c)p]", parv[0],
                  sptr->username, sptr->host,
                  IsOper(sptr) ? 'O' : 'o');
         }                 
diff -uNrd ircd-hybrid-6.4.1/src/m_operspylog.c ircd-hyb6.4.1-FDFr5.4/src/m_operspylog.c
--- ircd-hybrid-6.4.1/src/m_operspylog.c	Mon Aug 25 17:21:54 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_operspylog.c	Wed Oct 15 20:38:22 2003
@@ -19,7 +19,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_operspylog.c,v 1.6 2003/08/25 21:21:54 ievil Exp $
+ *   $Id: m_operspylog.c,v 1.1.1.1 2003/10/09 02:47:14 jailbird Exp $
  */
 
 #include "m_operspylog.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_operwall.c ircd-hyb6.4.1-FDFr5.4/src/m_operwall.c
--- ircd-hybrid-6.4.1/src/m_operwall.c	Wed Oct 17 11:13:31 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_operwall.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_operwall.c,v 1.3 2001/10/17 15:13:31 db Exp $
+ *   $Id: m_operwall.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_pass.c ircd-hyb6.4.1-FDFr5.4/src/m_pass.c
--- ircd-hybrid-6.4.1/src/m_pass.c	Sun Jun  3 21:31:33 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_pass.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: m_pass.c,v 1.4 2001/06/04 01:31:33 greg Exp $
+ *  $Id: m_pass.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"  /* m_pass prototype */
 #include "client.h"      /* client struct */
diff -uNrd ircd-hybrid-6.4.1/src/m_ping.c ircd-hyb6.4.1-FDFr5.4/src/m_ping.c
--- ircd-hybrid-6.4.1/src/m_ping.c	Thu Jul 29 23:25:51 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_ping.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_ping.c,v 1.1 1999/07/30 03:25:51 db Exp $
+ *   $Id: m_ping.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_pong.c ircd-hyb6.4.1-FDFr5.4/src/m_pong.c
--- ircd-hybrid-6.4.1/src/m_pong.c	Thu Nov 29 01:44:29 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_pong.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_pong.c,v 1.3 2001/11/29 06:44:29 db Exp $
+ *   $Id: m_pong.c,v 1.4 2003/05/30 00:18:25 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
@@ -28,6 +28,8 @@
 #include "numeric.h"
 #include "send.h"
 #include "channel.h"
+#include "s_stats.h"
+#include "s_user.h"
 #include "irc_string.h"
 
 #ifdef DEBUGMODE
@@ -113,6 +115,37 @@
 
   origin = parv[1];
   destination = parv[2];
+
+#ifdef ANTI_IP_SPOOF
+  /* ANTI_IP_SPOOF delays the registration of a local client until after we
+ *      have received a response from a PING containing a random integer.  When
+ *           we receive the resulting PONG, then we register the client.
+ *             */
+
+  if(MyConnect(sptr) && !IsRegisteredUser(sptr) && sptr->random_ping) {
+      int received_random_ping;
+      received_random_ping = (int)atoi(origin);
+
+      if(received_random_ping) {
+          /* Ensure that aClient has a user and a nick (redundant) */
+          if((sptr->user) && (sptr->name[0])) {
+              if(received_random_ping == sptr->random_ping) {
+                  char buf[USERLEN + 1];
+                  strncpy_irc(buf, sptr->username, USERLEN);
+                  buf[USERLEN] = '\0';
+
+                  sptr->flags2 |= FLAGS2_GOT_ANTI_SPOOF_PING;
+                  sptr->flags &= ~FLAGS_PINGSENT;
+                  register_user(cptr, sptr, sptr->name, buf);
+                  return 0;
+              } else {
+                 ServerStats->is_ipspoof++;
+                 return exit_client(cptr,sptr,&me,"Wrong randon PONG response.");
+              }
+          }
+      }
+  }
+#endif
 
   /* Now attempt to route the PONG, comstud pointed out routable PING
    * is used for SPING.  routable PING should also probably be left in
diff -uNrd ircd-hybrid-6.4.1/src/m_quit.c ircd-hyb6.4.1-FDFr5.4/src/m_quit.c
--- ircd-hybrid-6.4.1/src/m_quit.c	Sat Jun 14 15:48:19 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_quit.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_quit.c,v 1.6 2003/06/14 19:48:19 ievil Exp $
+ *   $Id: m_quit.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_rehash.c ircd-hyb6.4.1-FDFr5.4/src/m_rehash.c
--- ircd-hybrid-6.4.1/src/m_rehash.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_rehash.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_rehash.c,v 1.10 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_rehash.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
@@ -117,11 +117,7 @@
       if (irccmp(parv[1],"DNS") == 0)
         {
           sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0], "DNS");
-#ifdef CUSTOM_ERR
           sendto_ops("%s is rehashing DNS while whistling innocently",
-#else
-          sendto_ops("%s is rehashing DNS",
-#endif
                  parv[0]);
           restart_resolver();   /* re-read /etc/resolv.conf AGAIN?
                                    and close/re-open res socket */
@@ -137,15 +133,10 @@
 		    }
           sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0], "temp klines");
           flush_temp_klines();
-#ifdef CUSTOM_ERR
           sendto_ops("%s is clearing temp klines while whistling innocently",
-#else
-          sendto_ops("%s is clearing temp klines",
-#endif
                  parv[0]);
           found = YES;
         }
-#ifdef GLINES
       else if(irccmp(parv[1],"GLINES") == 0)
         {
           /* i submitted this bug a while ago .. people without G should not
@@ -158,24 +149,15 @@
 
           sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0], "g-lines");
           flush_glines();
-#ifdef CUSTOM_ERR
           sendto_ops("%s is clearing G-lines while whistling innocently",
-#else
-          sendto_ops("%s is clearing G-lines",
-#endif
                  parv[0]);
           found = YES;
         }
-#endif
       else if(irccmp(parv[1],"GC") == 0)
         {
           sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0], "garbage collecting");
           block_garbage_collect();
-#ifdef CUSTOM_ERR
           sendto_ops("%s is garbage collecting while whistling innocently",
-#else
-          sendto_ops("%s is garbage collecting",
-#endif
                  parv[0]);
           found = YES;
         }
@@ -208,11 +190,7 @@
           sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0],
                      ConfigFileEntry.configfile);
           /* this does a full rehash right now, so report it as such */
-#ifdef CUSTOM_ERR
           sendto_ops("%s is rehashing dlines from server config file while whistling innocently",
-#else
-          sendto_ops("%s is rehashing dlines from server config file",
-#endif
                      parv[0]);
           ilog(L_NOTICE, "REHASH From %s\n", get_client_name(sptr, HIDE_IP));
           dline_in_progress = 1;
@@ -226,13 +204,8 @@
         }
       else
         {
-#ifdef GLINES
           sendto_one(sptr, ":%s NOTICE %s :Rehash one of: DNS, TKLINES, GLINES, GC, HELP, MOTD, OMOTD, DUMP, DLINES",
 	                 me.name, sptr->name);
-#else
-          sendto_one(sptr, ":%s NOTICE %s :Rehash one of: DNS, TKLINES, GC, HELP, MOTD, OMOTD, DUMP, DLINES", 
-	                 me.name, sptr->name);
-#endif
           return(0);
         }
     }
@@ -240,11 +213,7 @@
     {
       sendto_one(sptr, form_str(RPL_REHASHING), me.name, parv[0],
                  ConfigFileEntry.configfile);
-#ifdef CUSTOM_ERR
       sendto_ops("%s is rehashing server config file while whistling innocently",
-#else
-      sendto_ops("%s is rehashing server config file",
-#endif
                  parv[0]);
       ilog(L_NOTICE, "REHASH From %s\n", get_client_name(sptr, SHOW_IP));
       return rehash(cptr, sptr, 0);
diff -uNrd ircd-hybrid-6.4.1/src/m_restart.c ircd-hyb6.4.1-FDFr5.4/src/m_restart.c
--- ircd-hybrid-6.4.1/src/m_restart.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_restart.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_restart.c,v 1.6 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_restart.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_server.c ircd-hyb6.4.1-FDFr5.4/src/m_server.c
--- ircd-hybrid-6.4.1/src/m_server.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_server.c	Sun Oct 26 13:01:19 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_server.c,v 1.16 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_server.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"  /* m_server prototype */
 #include "client.h"      /* client struct */
@@ -467,6 +467,16 @@
 #endif		 
       return exit_client(cptr, cptr, cptr, "Non-TS server");
     }
+
+  /*            
+   * Reject the server if we did not get a CAPAB stating that this
+   * server supports the FDFnet protocol -JailBird
+   */
+  if(!IsCapable(cptr,CAP_FDF)) {
+        sendto_ops("Link %s dropped, non-FDF server",
+                   get_client_name(cptr, TRUE));
+        return exit_client(cptr, cptr, cptr, "Non-FDF server");
+  }
 
   /*
    * if we are connecting (Handshake), we already have the name from the
diff -uNrd ircd-hybrid-6.4.1/src/m_set.c ircd-hyb6.4.1-FDFr5.4/src/m_set.c
--- ircd-hybrid-6.4.1/src/m_set.c	Sun May  4 13:52:45 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_set.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_set.c,v 1.9 2003/05/04 17:52:45 db Exp $
+ *   $Id: m_set.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_squit.c ircd-hyb6.4.1-FDFr5.4/src/m_squit.c
--- ircd-hybrid-6.4.1/src/m_squit.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_squit.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_squit.c,v 1.5 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_squit.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_stats.c ircd-hyb6.4.1-FDFr5.4/src/m_stats.c
--- ircd-hybrid-6.4.1/src/m_stats.c	Wed Nov 27 23:18:01 2002
+++ ircd-hyb6.4.1-FDFr5.4/src/m_stats.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: m_stats.c,v 1.22 2002/11/28 04:18:01 db Exp $
+ *  $Id: m_stats.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"  /* m_pass prototype */
 #include "class.h"       /* report_classes */
@@ -314,13 +314,8 @@
           valid_stats++;
           break;
         }
-#ifdef GLINES
       report_glines(sptr);
       valid_stats++;
-#else
-      sendto_one(sptr,":%s NOTICE %s :This server does not support G lines",
-               me.name, parv[0]);
-#endif
       break;
 
     case 'H' : case 'h' :
@@ -455,7 +450,15 @@
       valid_stats++;
       break;
 
-    case 'S' : case 's':
+    case 'S' :
+      if (IsAnOper(sptr))
+          report_specials(sptr,CONF_SLINE,RPL_STATSSLINE);
+      else
+        sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name, parv[0]);
+      valid_stats++;
+      break;
+
+    case 's':
       if (IsAnOper(sptr))
         list_scache(cptr,sptr,parc,parv);
       else
diff -uNrd ircd-hybrid-6.4.1/src/m_svinfo.c ircd-hyb6.4.1-FDFr5.4/src/m_svinfo.c
--- ircd-hybrid-6.4.1/src/m_svinfo.c	Fri Jul 27 20:49:52 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_svinfo.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_svinfo.c,v 1.6 2001/07/28 00:49:52 leeh Exp $
+ *   $Id: m_svinfo.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_time.c ircd-hyb6.4.1-FDFr5.4/src/m_time.c
--- ircd-hybrid-6.4.1/src/m_time.c	Fri Jul 30 02:40:16 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_time.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_time.c,v 1.1 1999/07/30 06:40:16 tomh Exp $
+ *   $Id: m_time.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_trace.c ircd-hyb6.4.1-FDFr5.4/src/m_trace.c
--- ircd-hybrid-6.4.1/src/m_trace.c	Wed Dec 19 18:02:06 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_trace.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_trace.c,v 1.12 2001/12/19 23:02:06 leeh Exp $
+ *   $Id: m_trace.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "class.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_undline.c ircd-hyb6.4.1-FDFr5.4/src/m_undline.c
--- ircd-hybrid-6.4.1/src/m_undline.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_undline.c	Wed Oct 15 20:38:22 2003
@@ -21,7 +21,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- *   $Id: m_undline.c,v 1.2 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_undline.c,v 1.1.1.1 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "channel.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_ungline.c ircd-hyb6.4.1-FDFr5.4/src/m_ungline.c
--- ircd-hybrid-6.4.1/src/m_ungline.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_ungline.c	Wed Oct 15 20:38:23 2003
@@ -21,7 +21,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- *   $Id: m_ungline.c,v 1.2 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_ungline.c,v 1.3 2003/10/10 04:45:49 jailbird Exp $
  */
 #include "m_commands.h"
 #include "channel.h"
@@ -38,9 +38,7 @@
 #include "s_misc.h"
 #include "send.h"
 #include "struct.h"
-#ifdef GLINES
 #include "m_gline.h"
-#endif
 
 #include <stdio.h>
 #include <time.h>
@@ -60,7 +58,6 @@
 int
 m_ungline (aClient *cptr,aClient *sptr,int parc,char *parv[])
 {
-#ifdef GLINES
 
   char  *user,*host;
 
@@ -69,14 +66,14 @@
       return -1;
     }
 
-  if (!IsOper(sptr))
+  if (!IsOper(sptr)&&!IsSLine(sptr))
     {
       sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name,
                  parv[0]);
       return 0;
     }
 
-  if (!IsSetOperUnkline(sptr) || !IsSetOperGline(sptr))
+  if ((!IsSetOperUnkline(sptr) || !IsSetOperGline(sptr))&&!IsSLine(sptr))
     {
       sendto_one(sptr,":%s NOTICE %s :You have no U and G flag",
                  me.name,parv[0]);
@@ -128,8 +125,5 @@
                  me.name, parv[0],user,host);
       return 0;
     }
-#else
-  sendto_one(sptr,":%s NOTICE %s :UNGLINE disabled",me.name,parv[0]);
-#endif
   return 0;
 }
diff -uNrd ircd-hybrid-6.4.1/src/m_unkline.c ircd-hyb6.4.1-FDFr5.4/src/m_unkline.c
--- ircd-hybrid-6.4.1/src/m_unkline.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_unkline.c	Wed Oct 15 20:38:22 2003
@@ -21,7 +21,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- *   $Id: m_unkline.c,v 1.54 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: m_unkline.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"
 #include "channel.h"
@@ -39,6 +39,7 @@
 #include "s_serv.h"
 #include "send.h"
 #include "struct.h"
+#include "m_gline.h"
 
 #include <stdio.h>
 #include <time.h>
diff -uNrd ircd-hybrid-6.4.1/src/m_userhost.c ircd-hyb6.4.1-FDFr5.4/src/m_userhost.c
--- ircd-hybrid-6.4.1/src/m_userhost.c	Tue Jan  2 00:48:18 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_userhost.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_userhost.c,v 1.10 2001/01/02 05:48:18 lusky Exp $
+ *   $Id: m_userhost.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 #include "m_commands.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_users.c ircd-hyb6.4.1-FDFr5.4/src/m_users.c
--- ircd-hybrid-6.4.1/src/m_users.c	Thu Jul 29 03:11:49 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/m_users.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_users.c,v 1.1 1999/07/29 07:11:49 tomh Exp $
+ *   $Id: m_users.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_version.c ircd-hyb6.4.1-FDFr5.4/src/m_version.c
--- ircd-hybrid-6.4.1/src/m_version.c	Thu Aug 21 19:59:26 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_version.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_version.c,v 1.13 2003/08/21 23:59:26 ievil Exp $
+ *   $Id: m_version.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_wallops.c ircd-hyb6.4.1-FDFr5.4/src/m_wallops.c
--- ircd-hybrid-6.4.1/src/m_wallops.c	Wed Oct 17 11:13:31 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/m_wallops.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_wallops.c,v 1.3 2001/10/17 15:13:31 db Exp $
+ *   $Id: m_wallops.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/m_who.c ircd-hyb6.4.1-FDFr5.4/src/m_who.c
--- ircd-hybrid-6.4.1/src/m_who.c	Sat Jun 14 19:23:42 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_who.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_who.c,v 1.6 2003/06/14 23:23:42 ievil Exp $
+ *   $Id: m_who.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #include "m_commands.h"
@@ -209,10 +209,12 @@
       if (chptr)
         {
           member = IsMember(sptr, chptr)
+#ifdef OPERS_SEE_INVISIBLE
+		   || IsAnOper(sptr);
+#endif  
 #ifdef OPERSPY
                    || OperSpyWho
 #endif
-                   ;
           if (member || !SecretChannel(chptr))
             for (lp = chptr->members; lp; lp = lp->next)
               {
@@ -235,6 +237,11 @@
 #endif
       isinvis = IsInvisible(acptr);
 
+      isinvis = IsInvisible(acptr)
+#ifdef OPERS_SEE_INVISIBLE
+                && !IsAnOper(sptr)
+#endif
+                ; 
       for (lp = acptr->user->channel; lp; lp = lp->next)
         {
           chptr = lp->value.chptr;
@@ -260,6 +267,12 @@
         continue;
       
       showperson = 0;
+#ifdef OPERS_SEE_INVISIBLE
+      /* Allow IRCops to see invisible users. --Runt */
+      if (IsAnOper(sptr))
+        showperson = 1;
+#endif
+
       /*
        * Show user if they are on the same channel, or not
        * invisible and on a non secret channel (if any).
@@ -271,7 +284,11 @@
       for (lp = acptr->user->channel; lp; lp = lp->next)
         {
           chptr = lp->value.chptr;
-          member = IsMember(sptr, chptr);
+          member = IsMember(sptr, chptr)
+#ifdef OPERS_SEE_INVISIBLE
+                   || IsAnOper(sptr);
+#endif
+                   ;
           if (isinvis && !member)
             continue;
           if (member || (!isinvis && PubChannel(chptr)))
diff -uNrd ircd-hybrid-6.4.1/src/m_whois.c ircd-hyb6.4.1-FDFr5.4/src/m_whois.c
--- ircd-hybrid-6.4.1/src/m_whois.c	Fri Jun 20 09:49:47 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/m_whois.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: m_whois.c,v 1.14 2003/06/20 13:49:47 ievil Exp $
+ *   $Id: m_whois.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 
 #include "m_operspylog.h"
@@ -128,6 +128,7 @@
   int   found, len, mlen;
   static time_t last_used=0L;
   int found_mode;
+  static char tempinfo[BUFSIZE+1];
   int whois_len = 4;
 
 #ifdef OPERSPY
@@ -135,7 +136,6 @@
   int OperSpyWhois = 0;
 #endif
 
-
   if (parc < 2)
     {
       sendto_one(sptr, form_str(ERR_NONICKNAMEGIVEN),
@@ -236,9 +236,17 @@
 
           a2cptr = find_server(user->server);
           
-          sendto_one(sptr, form_str(RPL_WHOISUSER), me.name,
-                     parv[0], name,
-                     acptr->username, acptr->host, acptr->info);
+          /* Okay. Let's redo this one. The old code would show the IP
+             if the client was local. Since giving this information to
+             everybody would defeat the purpose for I:-line spoofing,
+             let's only give it out to IRCops. -JailBird */
+          if (MyClient(acptr) && IsAnOper(sptr)) {
+            sprintf(tempinfo,"(%s)",inetntoa((char *)&acptr->ip));
+            sendto_one(sptr, form_str(RPL_WHOISUSER), me.name, parv[0], name,
+                       acptr->username, acptr->host, acptr->info, tempinfo);
+          } else
+            sendto_one(sptr, form_str(RPL_WHOISUSER), me.name, parv[0], name,
+                       acptr->username, acptr->host, acptr->info, "");
 
           mlen = strlen(me.name) + strlen(parv[0]) + 6 +
             strlen(name);
diff -uNrd ircd-hybrid-6.4.1/src/match.c ircd-hyb6.4.1-FDFr5.4/src/match.c
--- ircd-hybrid-6.4.1/src/match.c	Sat Dec  8 02:06:14 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/match.c	Wed Oct 15 20:38:22 2003
@@ -22,7 +22,7 @@
  * Cleanup of collapse and match
  * Moved static calls variable to match
  * Added asserts for null pointers
- * $Id: match.c,v 1.28 2001/12/08 07:06:14 lusky Exp $
+ * $Id: match.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  *
  */
 #include "irc_string.h"
diff -uNrd ircd-hybrid-6.4.1/src/messages.tab ircd-hyb6.4.1-FDFr5.4/src/messages.tab
--- ircd-hybrid-6.4.1/src/messages.tab	Sat Aug 16 15:58:36 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/messages.tab	Wed Dec 31 19:00:00 1969
@@ -1,560 +0,0 @@
-/************************************************************************
- *   IRC - Internet Relay Chat, src/messages.tab
- *   Copyright (C) 1992 Darren Reed
- *
- *   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.
- *
- *
- *      I kind of modernized this code a bit. -Dianora
- *
- *   $Id: messages.tab,v 1.28 2003/08/16 19:58:36 ievil Exp $
- */
-
-static  char *  replies[] = {
-/* 000 */       NULL,
-/* 001  RPL_WELCOME, */ ":%s 001 %s :Welcome to the Internet Relay Network %s",
-/* 002  RPL_YOURHOST,*/ ":%s 002 %s :Your host is %s, running version %s",
-/* 003  RPL_CREATED, */ ":%s 003 %s :This server was created %s",
-/* 004  RPL_MYINFO, */ ":%s 004 %s %s %s oOiwszcrkfydnxb biklmnopstve",
-/* 005  RPL_ISUPPORT, */ ":%s 005 %s %s :are supported by this server",
-/* 006 */       NULL,
-/* 007 */       NULL,
-/* 008 */       NULL,
-/* 009 */       NULL,
-/* 010 */       NULL,
-/* 011 */       NULL,
-/* 012 */       NULL,
-/* 013 */       NULL,
-/* 014 */       NULL,
-/* 015 */       NULL,
-/* 016 */       NULL,
-/* 017 */       NULL,
-/* 018 */       NULL,
-/* 019 */       NULL,
-/* 020 */       NULL,
-/* 021 */       NULL,
-/* 022 */       NULL,
-/* 023 */       NULL,
-/* 024 */       NULL,
-/* 025 */       NULL,
-/* 026 */       NULL,
-/* 027 */       NULL,
-/* 028 */       NULL,
-/* 029 */       NULL,
-/* 030 */       NULL,
-/* 031 */       NULL,
-/* 032 */       NULL,
-/* 033 */       NULL,
-/* 034 */       NULL,
-/* 035 */       NULL,
-/* 036 */       NULL,
-/* 037 */       NULL,
-/* 038 */       NULL,
-/* 039 */       NULL,
-/* 040 */       NULL,
-/* 041 */       NULL,
-/* 042 */       NULL,
-/* 043 */       NULL,
-/* 044 */       NULL,
-/* 045 */       NULL,
-/* 046 */       NULL,
-/* 047 */       NULL,
-/* 048 */       NULL,
-/* 049 */       NULL,
-/* 050 */       NULL,
-/* 051 */       NULL,
-/* 052 */       NULL,
-/* 053 */       NULL,
-/* 054 */       NULL,
-/* 055 */       NULL,
-/* 056 */       NULL,
-/* 057 */       NULL,
-/* 058 */       NULL,
-/* 059 */       NULL,
-/* 060 */       NULL,
-/* 061 */       NULL,
-/* 062 */       NULL,
-/* 063 */       NULL,
-/* 064 */       NULL,
-/* 065 */       NULL,
-/* 066 */       NULL,
-/* 067 */       NULL,
-/* 068 */       NULL,
-/* 069 */       NULL,
-/* 070 */       NULL,
-/* 071 */       NULL,
-/* 072 */       NULL,
-/* 073 */       NULL,
-/* 074 */       NULL,
-/* 075 */       NULL,
-/* 076 */       NULL,
-/* 077 */       NULL,
-/* 078 */       NULL,
-/* 079 */       NULL,
-/* 080 */       NULL,
-/* 081 */       NULL,
-/* 082 */       NULL,
-/* 083 */       NULL,
-/* 084 */       NULL,
-/* 085 */       NULL,
-/* 086 */       NULL,
-/* 087 */       NULL,
-/* 088 */       NULL,
-/* 089 */       NULL,
-/* 090 */       NULL,
-/* 091 */       NULL,
-/* 092 */       NULL,
-/* 093 */       NULL,
-/* 094 */       NULL,
-/* 095 */       NULL,
-/* 096 */       NULL,
-/* 097 */       NULL,
-/* 098 */       NULL,
-/* 099 */       NULL,
-/* 100 */       NULL,
-/* 101 */       NULL,
-/* 102 */       NULL,
-/* 103 */       NULL,
-/* 104 */       NULL,
-/* 105 */       NULL,
-/* 106 */       NULL,
-/* 107 */       NULL,
-/* 108 */       NULL,
-/* 109 */       NULL,
-/* 110 */       NULL,
-/* 111 */       NULL,
-/* 112 */       NULL,
-/* 113 */       NULL,
-/* 114 */       NULL,
-/* 115 */       NULL,
-/* 116 */       NULL,
-/* 117 */       NULL,
-/* 118 */       NULL,
-/* 119 */       NULL,
-/* 120 */       NULL,
-/* 121 */       NULL,
-/* 122 */       NULL,
-/* 123 */       NULL,
-/* 124 */       NULL,
-/* 125 */       NULL,
-/* 126 */       NULL,
-/* 127 */       NULL,
-/* 128 */       NULL,
-/* 129 */       NULL,
-/* 130 */       NULL,
-/* 131 */       NULL,
-/* 132 */       NULL,
-/* 133 */       NULL,
-/* 134 */       NULL,
-/* 135 */       NULL,
-/* 136 */       NULL,
-/* 137 */       NULL,
-/* 138 */       NULL,
-/* 139 */       NULL,
-/* 140 */       NULL,
-/* 141 */       NULL,
-/* 142 */       NULL,
-/* 143 */       NULL,
-/* 144 */       NULL,
-/* 145 */       NULL,
-/* 146 */       NULL,
-/* 147 */       NULL,
-/* 148 */       NULL,
-/* 149 */       NULL,
-/* 150 */       NULL,
-/* 151 */       NULL,
-/* 152 */       NULL,
-/* 153 */       NULL,
-/* 154 */       NULL,
-/* 155 */       NULL,
-/* 156 */       NULL,
-/* 157 */       NULL,
-/* 158 */       NULL,
-/* 159 */       NULL,
-/* 160 */       NULL,
-/* 161 */       NULL,
-/* 162 */       NULL,
-/* 163 */       NULL,
-/* 164 */       NULL,
-/* 165 */       NULL,
-/* 166 */       NULL,
-/* 167 */       NULL,
-/* 168 */       NULL,
-/* 169 */       NULL,
-/* 170 */       NULL,
-/* 171 */       NULL,
-/* 172 */       NULL,
-/* 173 */       NULL,
-/* 174 */       NULL,
-/* 175 */       NULL,
-/* 176 */       NULL,
-/* 177 */       NULL,
-/* 178 */       NULL,
-/* 179 */       NULL,
-/* 180 */       NULL,
-/* 181 */       NULL,
-/* 182 */       NULL,
-/* 183 */       NULL,
-/* 184 */       NULL,
-/* 185 */       NULL,
-/* 186 */       NULL,
-/* 187 */       NULL,
-/* 188 */       NULL,
-/* 189 */       NULL,
-/* 190 */       NULL,
-/* 191 */       NULL,
-/* 192 */       NULL,
-/* 193 */       NULL,
-/* 194 */       NULL,
-/* 195 */       NULL,
-/* 196 */       NULL,
-/* 197 */       NULL,
-/* 198 */       NULL,
-/* 199 */       NULL,
-/* 200 RPL_TRACELINK, */        ":%s 200 %s Link %s%s %s %s",
-/* 201 RPL_TRACECONNECTING, */  ":%s 201 %s Try. %d %s",
-/* 202 RPL_TRACEHANDSHAKE, */   ":%s 202 %s H.S. %d %s",
-/* 203 RPL_TRACEUNKNOWN, */     ":%s 203 %s ???? %d %s (%s) %d",
-/* 204 RPL_TRACEOPERATOR, */    ":%s 204 %s Oper %d %s (%s) %lu %lu",
-/* 205 RPL_TRACEUSER, */        ":%s 205 %s User %d %s (%s) %lu %lu",
-/* 206 RPL_TRACESERVER, */      ":%s 206 %s Serv %d %dS %dC %s %s!%s@%s %lu",
-/* 207 */       NULL,
-/* 208 RPL_TRACENEWTYPE, */     ":%s 208 %s <newtype> 0 %s",
-/* 209 RPL_TRACECLASS, */       ":%s 209 %s Class %d %d",
-/* 210 */       NULL,
-/* 211 RPL_STATSLINKINFO, */    NULL,
-/* 212 RPL_STATSCOMMANDS, */    ":%s 212 %s %s %u %u",
-/* 213 RPL_STATSCLINE, */       ":%s 213 %s %c %s * %s %d %d",
-/* 214 RPL_STATSNLINE, */       ":%s 214 %s %c %s * %s %d %d",
-/* 215 RPL_STATSILINE, */       ":%s 215 %s %c %s * %s@%s %d %d",
-/* 216 RPL_STATSKLINE, */       ":%s 216 %s %c %s * %s :%s",
-/* 217 RPL_STATSQLINE, */       ":%s 217 %s %c %s %s@%s :%s",
-/* 218 RPL_STATSYLINE, */       ":%s 218 %s %c %d %d %d %d %lu",
-/* 219 RPL_ENDOFSTATS, */       ":%s 219 %s %c :End of /STATS report",
-/* 220 RPL_STATSPLINE, */       ":%s 220 %s %c %d %s %d :%s",
-/* 221 RPL_UMODEIS, */          ":%s 221 %s %s",
-/* 222 */       NULL,
-/* 223 */       NULL,
-/* 224 */       NULL,
-/* 225 RPL_STATSDLINE*/         ":%s 225 %s %c %s :%s",
-/* 226 */       NULL,
-/* 227 */       NULL,
-/* 228 */       NULL,
-/* 229 */       NULL,
-/* 230 */       NULL,
-/* 231 */       NULL,
-/* 232 */       NULL,
-/* 233 */       NULL,
-/* 234 RPL_SERVLIST, */ NULL,
-/* 235 RPL_SERVLISTEND, */ NULL,
-/* 236 */       NULL,
-/* 237 */       NULL,
-/* 238 */       NULL,
-/* 239 */       NULL,
-/* 240 */       NULL,
-/* 241 RPL_STATSLLINE, */       ":%s 241 %s %c %s * %s %d %d",
-/* 242 RPL_STATSUPTIME,*/       ":%s 242 %s :Server Up %d days, %d:%02d:%02d",
-/* 243 RPL_STATSOLINE, */       ":%s 243 %s %c %s@%s * %s %s %d %s",
-/* 244 RPL_STATSHLINE, */       ":%s 244 %s %c %s * %s %d %d", 
-/* 245 RPL_STATSSLINE, */       ":%s 245 %s %c %s * %s %d %d", 
-/* 246 */       NULL,
-/* 247 RPL_STATSXLINE, */       ":%s 247 %s X %s %s * * 0 0",
-
-/* 248 RPL_STATSULINE, */       ":%s 248 %s U %s %s",
-/* 249 */       NULL,
-/* 250 RPL_STATSCONN, */
-                    ":%s 250 %s :Highest connection count: %d (%d clients) (%d since server was (re)started)",
-/* 251 RPL_LUSERCLIENT, */
-                ":%s 251 %s :There are %d users and %d invisible on %d servers",
-/* 252 RPL_LUSEROP, */          ":%s 252 %s %d :IRC Operators online",
-/* 253 RPL_LUSERUNKNOWN, */     ":%s 253 %s %d :unknown connection(s)",
-/* 254 RPL_LUSERCHANNELS, */    ":%s 254 %s %d :channels formed",
-/* 255 RPL_LUSERME, */          ":%s 255 %s :I have %d clients and %d servers",
-/* 256 RPL_ADMINME, */          ":%s 256 %s :Administrative info about %s",
-/* 257 RPL_ADMINLOC1, */        ":%s 257 %s :%s",
-/* 258 RPL_ADMINLOC2, */        ":%s 258 %s :%s",
-/* 259 RPL_ADMINEMAIL, */       ":%s 259 %s :%s",
-/* 260 */       NULL,
-/* 261 RPL_TRACELOG, */         ":%s 261 %s File %s %d",
-/* 262 RPL_ENDOFTRACE, */       ":%s 262 %s %s :End of TRACE",
-/* 263 RPL_LOAD2HI, */          
-":%s 263 %s :Server load is temporarily too heavy. Please wait a while and try again.",
-/* 264 */       NULL,
-/* 265 RPL_LOCALUSERS, */       ":%s 265 %s :Current local  users: %d  Max: %d",
-/* 266 RPL_GLOBALUSERS, */      ":%s 266 %s :Current global users: %d  Max: %d",
-/* 267 */       NULL,
-/* 268 */       NULL,
-/* 269 */       NULL,
-/* 270 */       NULL,
-/* 271 */       NULL,
-/* 272 */       NULL,
-/* 273 */       NULL,
-/* 274 */       NULL,
-/* 275 */       NULL,
-/* 276 */       NULL,
-/* 277 */       NULL,
-/* 278 */       NULL,
-/* 279 */       NULL,
-/* 280 */       NULL,
-/* 281 */       NULL,
-/* 281 */       NULL,
-/* 282 */       NULL,
-/* 283 */       NULL,
-/* 284 */       NULL,
-/* 285 */       NULL,
-/* 286 */       NULL,
-/* 287 */       NULL,
-/* 288 */       NULL,
-/* 289 */       NULL,
-/* 290 */       NULL,
-/* 291 */       NULL,
-/* 292 */       NULL,
-/* 293 */       NULL,
-/* 294 */       NULL,
-/* 295 */       NULL,
-/* 296 */       NULL,
-/* 298 */       NULL,
-/* 299 */       NULL,
-/* 300 RPL_NONE, */      NULL,
-/* 301 RPL_AWAY, */      ":%s 301 %s %s :%s",
-/* 302 RPL_USERHOST, */  ":%s 302 %s :%s",
-/* 303 RPL_ISON, */     ":%s 303 %s :",
-/* 304 RPL_TEXT, */      NULL,
-/* 305 RPL_UNAWAY, */   ":%s 305 %s :You are no longer marked as being away",
-/* 306 RPL_NOWAWAY, */  ":%s 306 %s :You have been marked as being away",
-/* 307 */       NULL,
-#ifndef HIDDEN_ADMIN
-/* 308 RPL_WHOISADMIN */        ":%s 308 %s %s :is an IRC Administrator",
-#else
-/* 308 */       NULL,
-#endif
-/* 309 */       NULL,
-/* 310 */       NULL,
-/* 311 RPL_WHOISUSER, */        ":%s 311 %s %s %s %s * :%s",
-/* 312 RPL_WHOISSERVER, */      ":%s 312 %s %s %s :%s",
-/* 313 RPL_WHOISOPERATOR, */    ":%s 313 %s %s :is an IRC Operator",
-/* 314 RPL_WHOWASUSER, */       ":%s 314 %s %s %s %s * :%s",
-/* 315 RPL_ENDOFWHO, */         ":%s 315 %s %s :End of /WHO list.",
-/* 316 RPL_WHOISCHANOP, */      NULL,
-/* 317 RPL_WHOISIDLE, */        ":%s 317 %s %s %d %d :seconds idle, signon time",
-/* 318 RPL_ENDOFWHOIS, */       ":%s 318 %s %s :End of /WHOIS list.",
-/* 319 RPL_WHOISCHANNELS, */    ":%s 319 %s %s :%s",
-/* 320 */       NULL,
-/* 321 RPL_LISTSTART, */        ":%s 321 %s Channel :Users  Name",
-/* 322 RPL_LIST, */             ":%s 322 %s %s %d :%s",
-/* 323 RPL_LISTEND, */          ":%s 323 %s :End of /LIST",
-/* 324 RPL_CHANNELMODEIS, */    ":%s 324 %s %s %s %s",
-/* 325 */       NULL,
-/* 326 */       NULL,
-/* 327 */       NULL,
-/* 328 */       NULL,
-/* 329 RPL_CREATIONTIME, */      ":%s 329 %s %s %lu", 
-/* 330 */       NULL,
-/* 331 RPL_NOTOPIC, */          ":%s 331 %s %s :No topic is set.",
-/* 332 RPL_TOPIC, */            ":%s 332 %s %s :%s",
-#ifdef TOPIC_INFO
-/* 333 RPL_TOPICWHOTIME, */     ":%s 333 %s %s %s %lu",
-#else
-/* 333 */       NULL,
-#endif
-/* 334 */       NULL,
-/* 335 */       NULL,
-/* 336 */       NULL,
-/* 337 */       NULL,
-/* 338 */       NULL,
-/* 339 */       NULL,
-/* 340 */       NULL,
-/* 341 RPL_INVITING, */         ":%s 341 %s %s %s",
-/* 342 RPL_SUMMONING, */ NULL,
-/* 343 */       NULL,
-/* 344 */       NULL,
-/* 345 */       NULL,
-#ifdef BAN_INFO
-/* 346 RPL_INVEXLIST */         ":xs 346 %s %s %s %s %lu",
-#else
-/* 346 RPL_INVEXLIST */         ":xs 346 %s %s %s %s",
-#endif
-/* 347 RPL_ENDOFINVEXLIST */    ":%s 347 %s %s :End of Channel Invite List",
-#ifdef BAN_INFO
-/* 348 RPL_EXCEPTLIST */        ":%s 348 %s %s %s %s %lu",
-#else
-/* 348 RPL_EXCEPTLIST */        ":%s 348 %s %s %s",
-#endif
-/* 349 RPL_ENDOFEXCEPTLIST */   ":%s 349 %s %s :End of Channel Exception List",
-/* 350 */       NULL,
-/* 351 RPL_VERSION, */          ":%s 351 %s %s(%s).%s %s :%s",
-/* 352 RPL_WHOREPLY, */         ":%s 352 %s %s %s %s %s %s %s :%d %s",
-/* 353 RPL_NAMREPLY, */         ":%s 353 %s %s",
-/* 354 */       NULL,
-/* 355 */       NULL,
-/* 356 */       NULL,
-/* 357 */       NULL,
-/* 358 */       NULL,
-/* 359 */       NULL,
-/* 360 */       NULL,
-/* 361 RPL_KILLDONE, */ NULL,
-/* 362 RPL_CLOSING, */          ":%s 362 %s %s :Closed. Status = %d",
-/* 363 RPL_CLOSEEND, */         ":%s 363 %s %d: Connections Closed",
-/* 364 RPL_LINKS, */            ":%s 364 %s %s %s :%d %s",
-/* 365 RPL_ENDOFLINKS, */       ":%s 365 %s %s :End of /LINKS list.",
-/* 366 RPL_ENDOFNAMES, */       ":%s 366 %s %s :End of /NAMES list.",
-#ifdef BAN_INFO
-/* 367 RPL_BANLIST, */          ":%s 367 %s %s %s %s %lu",
-#else
-/* 367 RPL_BANLIST, */          ":%s 367 %s %s %s",
-#endif
-/* 368 RPL_ENDOFBANLIST, */     ":%s 368 %s %s :End of Channel Ban List",
-/* 369 RPL_ENDOFWHOWAS, */      ":%s 369 %s %s :End of WHOWAS",
-/* 370 */       NULL,
-/* 371 RPL_INFO, */             ":%s 371 %s :%s",
-/* 372 RPL_MOTD, */             ":%s 372 %s :- %s",
-/* 373 RPL_INFOSTART, */        ":%s 373 %s :Server INFO",
-/* 374 RPL_ENDOFINFO, */        ":%s 374 %s :End of /INFO list.",
-/* 375 RPL_MOTDSTART, */        ":%s 375 %s :- %s Message of the Day - ",
-/* 376 RPL_ENDOFMOTD, */        ":%s 376 %s :End of /MOTD command.",
-/* 377 */       NULL,
-/* 378 */       NULL,
-/* 379 */       NULL,
-/* 380 */       NULL,
-/* 381 RPL_YOUREOPER, */        ":%s 381 %s :You have entered... the Twilight Zone!.",
-/* 382 RPL_REHASHING, */        ":%s 382 %s %s :Rehashing",
-/* 383 */       NULL,
-/* 384 RPL_MYPORTIS, */         ":%s 384 %s %d :Port to local server is\r\n",
-/* 385 RPL_NOTOPERANYMORE, */   NULL,
-/* 386 */       NULL,
-/* 387 */       NULL,
-/* 388 */       NULL,
-/* 389 */       NULL,
-/* 390 */       NULL,
-/* 391 RPL_TIME, */             ":%s 391 %s %s :%s",
-/* 392 */       NULL,
-/* 393 */       NULL,
-/* 394 */       NULL,
-/* 395 */       NULL,
-/* 396 */       NULL,
-/* 397 */       NULL,
-/* 398 */       NULL,
-/* 399 */       NULL,
-/* 400 */       NULL,
-/* 401 ERR_NOSUCHNICK, */       ":%s 401 %s %s :No such nick/channel",
-/* 402 ERR_NOSUCHSERVER, */     ":%s 402 %s %s :No such server",
-/* 403 ERR_NOSUCHCHANNEL, */    ":%s 403 %s %s :No such channel",
-/* 404 ERR_CANNOTSENDTOCHAN, */ ":%s 404 %s %s :Cannot send to channel",
-/* 405 ERR_TOOMANYCHANNELS, */  ":%s 405 %s %s :You have joined too many channels",
-/* 406 ERR_WASNOSUCHNICK, */    ":%s 406 %s %s :There was no such nickname",
-/* 407 ERR_TOOMANYTARGETS, */
-                ":%s 407 %s %s :Duplicate recipients. No message delivered.",
-/* 408 */       NULL,
-/* 409 ERR_NOORIGIN, */         ":%s 409 %s :No origin specified",
-/* 410 */       NULL,
-/* 411 ERR_NORECIPIENT, */      ":%s 411 %s :No recipient given (%s)",
-/* 412 ERR_NOTEXTTOSEND, */     ":%s 412 %s :No text to send",
-/* 413 ERR_NOTOPLEVEL, */       ":%s 413 %s %s :No toplevel domain specified",
-/* 414 ERR_WILDTOPLEVEL, */     ":%s 414 %s %s :Wildcard in toplevel Domain",
-/* 415 */       NULL,
-/* 416 */       NULL,
-/* 417 */       NULL,
-/* 418 */       NULL,
-/* 419 */       NULL,
-/* 420 */       NULL,
-/* 421 ERR_UNKNOWNCOMMAND, */   ":%s 421 %s %s :Unknown command",
-/* 422 ERR_NOMOTD, */           ":%s 422 %s :MOTD File is missing",
-/* 423 ERR_NOADMININFO, */
-                ":%s 423 %s %s :No administrative info available",
-/* 424 ERR_FILEERROR, */        ":%s 424 %s :File error doing %s on %s",
-/* 425 */       NULL,
-/* 426 */       NULL,
-/* 427 */       NULL,
-/* 428 */       NULL,
-/* 429 */       NULL,
-/* 430 */       NULL,
-/* 431 ERR_NONICKNAMEGIVEN, */  ":%s 431 %s :No nickname given",
-/* 432 ERR_ERRONEUSNICKNAME, */ ":%s 432 %s %s :Erroneus Nickname",
-/* 433 ERR_NICKNAMEINUSE, */    ":%s 433 %s %s :Nickname is already in use.",
-/* 434 */       NULL,
-/* 435 */       NULL,
-/* 436 ERR_NICKCOLLISION, */    ":%s 436 %s %s :Nickname collision KILL",
-/* 437 ERR_UNAVAILRESOURCE, */  ":%s 437 %s %s :Nick/channel is temporarily unavailable",
-/* 438 ERR_NICKTOOFAST */       ":%s 438 %s %s %s :Nick change too fast. Please wait %d seconds.",
-/* 439 */       NULL,
-/* 440 */       NULL,
-/* 441 ERR_USERNOTINCHANNEL, */ ":%s 441 %s %s %s :They aren't on that channel",
-/* 442 ERR_NOTONCHANNEL, */     ":%s 442 %s %s :You're not on that channel",
-/* 443 ERR_USERONCHANNEL, */    ":%s 443 %s %s %s :is already on channel",
-/* 444 ERR_NOLOGIN, */          ":%s 444 %s %s :User not logged in",
-/* 445 ERR_SUMMONDISABLED, */   ":%s 445 %s :SUMMON has been removed",
-/* 446 ERR_USERSDISABLED, */    ":%s 446 %s :USERS has been removed",
-/* 447 */       NULL,
-/* 448 */       NULL,
-/* 449 */       NULL,
-/* 450 */       NULL,
-/* 451 ERR_NOTREGISTERED, */    ":%s 451 %s :You have not registered",
-/* 452 */       NULL,
-/* 453 */       NULL,
-/* 454 */       NULL,
-/* 455 */       NULL,
-/* 456 */       NULL,
-/* 457 */       NULL,
-/* 458 */       NULL,
-/* 459 */       NULL,
-/* 460 */       NULL,
-/* 461 ERR_NEEDMOREPARAMS, */   ":%s 461 %s %s :Not enough parameters",
-/* 462 ERR_ALREADYREGISTRED, */ ":%s 462 %s :You may not reregister",
-/* 463 ERR_NOPERMFORHOST, */    ":%s 463 %s :Your host isn't among the privileged",
-/* 464 ERR_PASSWDMISMATCH, */   ":%s 464 %s :Password Incorrect",
-/* 465 ERR_YOUREBANNEDCREEP, */ ":%s 465 %s :You are banned from this server- %s",
-/* 466 ERR_YOUWILLBEBANNED, */  NULL,
-/* 467 ERR_KEYSET, */           ":%s 467 %s %s :Channel key already set",
-/* 468 */       NULL,
-/* 469 */       NULL,
-/* 470 */       NULL,
-/* 471 ERR_CHANNELISFULL, */    ":%s 471 %s %s :Cannot join channel (+l)",
-/* 472 ERR_UNKNOWNMODE  , */    ":%s 472 %s %c :is unknown mode char to me",
-/* 473 ERR_INVITEONLYCHAN, */   ":%s 473 %s %s :Cannot join channel (+i)",
-/* 474 ERR_BANNEDFROMCHAN, */   ":%s 474 %s %s :Cannot join channel (+b)",
-/* 475 ERR_BADCHANNELKEY, */    ":%s 475 %s %s :Cannot join channel (+k)",
-/* 476 ERR_BADCHANMASK, */      ":%s 476 %s %s :Bad Channel Mask",
-/* 477 ERR_MODELESS, */         ":%s 477 %s %s :Channel does not support modes",
-/* 478 ERR_BANLISTFULL, */      ":%s 478 %s %s %s :Channel ban list is full",
-/* 479 ERR_BADCHANNAME */       ":%s 479 %s %s :Illegal channel name",
-/* 480 */       NULL,
-/* 481 ERR_NOPRIVILEGES, */
-                ":%s 481 %s :Permission Denied- You're not an IRC operator",
-/* 482 ERR_CHANOPRIVSNEEDED, */ ":%s 482 %s %s :You're not channel operator",
-/* 483 ERR_CANTKILLSERVER, */   ":%s 483 %s :You can't kill a server!",
-/* 484 */       NULL,
-/* 485 */       NULL,
-/* 486 */       NULL,
-/* 487 */       NULL,
-/* 488 */       NULL,
-/* 489 */       NULL,
-/* 490 */       NULL,
-/* 491 ERR_NOOPERHOST, */       ":%s 491 %s :Only few of mere mortals may try to enter the twilight zone",
-/* 492 */       NULL,
-/* 493 */       NULL,
-/* 494 */       NULL,
-/* 495 */       NULL,
-/* 496 */       NULL,
-/* 497 */       NULL,
-/* 498 */       NULL,
-/* 499 */       NULL,
-/* 500 */       NULL,
-/* 501 ERR_UMODEUNKNOWNFLAG, */ ":%s 501 %s :Unknown MODE flag",
-/* 502 ERR_USERSDONTMATCH, */   ":%s 502 %s :Can't change mode for other users",
-/* 503 ERR_GHOSTEDCLIENT, */    ":%s 503 %s :Message could not be delivered to %s",
-/* 504 LAST ERR_LAST_ERR_MSG, */        ":%s 504 %s :Last Error Message"
-};
-
-
diff -uNrd ircd-hybrid-6.4.1/src/messages_cust.tab ircd-hyb6.4.1-FDFr5.4/src/messages_cust.tab
--- ircd-hybrid-6.4.1/src/messages_cust.tab	Sat Aug 16 15:58:36 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/messages_cust.tab	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: messages_cust.tab,v 1.27 2003/08/16 19:58:36 ievil Exp $
+ * $Id: messages_cust.tab,v 1.7 2003/10/09 03:49:54 jailbird Exp $
  *
  */
 /* 
@@ -25,7 +25,7 @@
 
 static  char *  replies[] = {
 /* 000 */       NULL,
-/* 001  RPL_WELCOME, */ ":%s 001 %s :Welcome to the Internet Relay Network %s",
+/* 001  RPL_WELCOME, */ ":%s 001 %s :Welcome to %s, %s!!!",
 /* 002  RPL_YOURHOST,*/ ":%s 002 %s :Your host is %s, running version %s",
 /* 003  RPL_CREATED, */ ":%s 003 %s :This server was created %s",
 /* 004  RPL_MYINFO, */ ":%s 004 %s %s %s oOiwszcrkfydnxb biklmnopstve",
@@ -266,10 +266,10 @@
 /* 239 */       NULL,
 /* 240 */       NULL,
 /* 241 RPL_STATSLLINE, */       ":%s 241 %s %c %s * %s %d %d",
-/* 242 RPL_STATSUPTIME,*/       ":%s 242 %s :Dianora hasn't messed with the server code now in %d days, %d:%02d:%02d",
+/* 242 RPL_STATSUPTIME,*/       ":%s 242 %s :JailBird hasn't messed with the server code now in %d days, %d:%02d:%02d",
 /* 243 RPL_STATSOLINE, */       ":%s 243 %s %c %s@%s * %s %s %d %s",
 /* 244 RPL_STATSHLINE, */       ":%s 244 %s %c %s * %s %d %d", 
-/* 245 RPL_STATSSLINE, */       ":%s 245 %s %c %s * %s %d %d", 
+/* 245 RPL_STATSSLINE, */       ":%s 245 %s S %s %s",
 /* 246 */       NULL,
 /* 247 RPL_STATSXLINE, */       ":%s 247 %s X %s %s * * 0 0",
 
@@ -343,7 +343,7 @@
 #endif
 /* 309 */       NULL,
 /* 310 */       NULL,
-/* 311 RPL_WHOISUSER, */        ":%s 311 %s %s %s %s * :%s",
+/* 311 RPL_WHOISUSER, */        ":%s 311 %s %s %s %s * :%s %s",
 /* 312 RPL_WHOISSERVER, */      ":%s 312 %s %s %s :%s",
 /* 313 RPL_WHOISOPERATOR, */    ":%s 313 %s %s :is a Smurf Target (IRC Operator)",
 /* 314 RPL_WHOWASUSER, */       ":%s 314 %s %s %s %s * :%s",
@@ -365,11 +365,7 @@
 /* 330 */       NULL,
 /* 331 RPL_NOTOPIC, */          ":%s 331 %s %s :No topic is set.",
 /* 332 RPL_TOPIC, */            ":%s 332 %s %s :%s",
-#ifdef TOPIC_INFO
 /* 333 RPL_TOPICWHOTIME, */     ":%s 333 %s %s %s %lu",
-#else
-/* 333 */       NULL,
-#endif
 /* 334 */       NULL,
 /* 335 */       NULL,
 /* 336 */       NULL,
@@ -382,17 +378,9 @@
 /* 343 */       NULL,
 /* 344 */       NULL,
 /* 345 */       NULL,
-#ifdef BAN_INFO
 /* 346 RPL_INVEXLIST */         ":xs 346 %s %s %s %s %lu",
-#else
-/* 346 RPL_INVEXTLIST */        ":xs 346 %s %s %s %s",
-#endif
 /* 347 RPL_ENDOFINVEXLIST */    ":%s 347 %s %s :End of Channel Invite List",
-#ifdef BAN_INFO
 /* 348 RPL_EXCEPTLIST */        ":%s 348 %s %s %s %s %lu",
-#else
-/* 348 RPL_EXCEPTLIST */        ":%s 348 %s %s %s",
-#endif
 /* 349 RPL_ENDOFEXCEPTLIST */   ":%s 349 %s %s :End of Channel Exception List",
 /* 350 */       NULL,
 /* 351 RPL_VERSION, */          ":%s 351 %s %s(%s).%s %s :%s",
@@ -411,11 +399,7 @@
 /* 364 RPL_LINKS, */            ":%s 364 %s %s %s :%d %s",
 /* 365 RPL_ENDOFLINKS, */       ":%s 365 %s %s :End of /LINKS list.",
 /* 366 RPL_ENDOFNAMES, */       ":%s 366 %s %s :End of /NAMES list.",
-#ifdef BAN_INFO
 /* 367 RPL_BANLIST, */          ":%s 367 %s %s %s %s %lu",
-#else
-/* 367 RPL_BANLIST, */          ":%s 367 %s %s %s",
-#endif
 /* 368 RPL_ENDOFBANLIST, */     ":%s 368 %s %s :End of Channel Ban List",
 /* 369 RPL_ENDOFWHOWAS, */      ":%s 369 %s %s :End of WHOWAS",
 /* 370 */       NULL,
@@ -457,7 +441,7 @@
 /* 406 ERR_WASNOSUCHNICK, */    ":%s 406 %s %s :There was no such nickname",
 /* 407 ERR_TOOMANYTARGETS, */
                 ":%s 407 %s %s :Duplicate recipients. No message delivered.",
-/* 408 */       NULL,
+/* 408 ERR_NOCOLORSONCHAN */    ":%s 408 %s %s :You cannot use colors on this channel. Not sent: %s",
 /* 409 ERR_NOORIGIN, */         ":%s 409 %s :No origin specified",
 /* 410 */       NULL,
 /* 411 ERR_NORECIPIENT, */      ":%s 411 %s :No recipient given (%s)",
@@ -489,7 +473,7 @@
 /* 436 ERR_NICKCOLLISION, */    ":%s 436 %s %s :Nickname collision KILL",
 /* 437 ERR_UNAVAILRESOURCE, */  ":%s 437 %s %s :Nick/channel is temporarily unavailable",
 /* 438 ERR_NICKTOOFAST */       ":%s 438 %s %s %s :Nick change too fast. Please wait %d seconds.",
-/* 439 */       NULL,
+/* 439 ERR_BANNICKCHANGE */	":%s 439 %s %s :Cannot change nickname while banned on channel",
 /* 440 */       NULL,
 /* 441 ERR_USERNOTINCHANNEL, */ ":%s 441 %s %s %s :They aren't on that channel",
 /* 442 ERR_NOTONCHANNEL, */     ":%s 442 %s %s :You're not on that channel",
diff -uNrd ircd-hybrid-6.4.1/src/motd.c ircd-hyb6.4.1-FDFr5.4/src/motd.c
--- ircd-hybrid-6.4.1/src/motd.c	Tue Jul 17 21:37:15 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/motd.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: motd.c,v 1.24 2001/07/18 01:37:15 lusky Exp $
+ *   $Id: motd.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "m_commands.h"
 #include "motd.h"
diff -uNrd ircd-hybrid-6.4.1/src/mtrie_conf.c ircd-hyb6.4.1-FDFr5.4/src/mtrie_conf.c
--- ircd-hybrid-6.4.1/src/mtrie_conf.c	Sat Jun 14 21:49:44 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/mtrie_conf.c	Wed Oct 15 20:38:23 2003
@@ -43,7 +43,7 @@
  *
  * Diane Bruce -db (db@db.net)
  *
- * $Id: mtrie_conf.c,v 1.93 2003/06/15 01:49:44 ievil Exp $
+ * $Id: mtrie_conf.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "mtrie_conf.h"
 #include "class.h"
diff -uNrd ircd-hybrid-6.4.1/src/numeric.c ircd-hyb6.4.1-FDFr5.4/src/numeric.c
--- ircd-hybrid-6.4.1/src/numeric.c	Wed Nov 21 20:19:21 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/numeric.c	Wed Oct 15 20:38:22 2003
@@ -19,7 +19,7 @@
  *
  *      I kind of modernized this code a bit. -Dianora
  *
- *   $Id: numeric.c,v 1.4 2001/11/22 01:19:21 db Exp $
+ *   $Id: numeric.c,v 1.2 2003/05/15 21:46:53 jailbird Exp $
  */
 #include "numeric.h"
 #include "irc_string.h"
@@ -27,11 +27,7 @@
 
 #include <assert.h>
 
-#ifdef CUSTOM_ERR            /* XXX ick */
 #include "messages_cust.tab"
-#else
-#include "messages.tab"
-#endif
 
 char numbuff[512];
 
diff -uNrd ircd-hybrid-6.4.1/src/opers.motd ircd-hyb6.4.1-FDFr5.4/src/opers.motd
--- ircd-hybrid-6.4.1/src/opers.motd	Wed Dec 31 19:00:00 1969
+++ ircd-hyb6.4.1-FDFr5.4/src/opers.motd	Wed Oct 15 20:38:23 2003
@@ -0,0 +1 @@
+WELCOME, YOU SEXY IRCOP STUD YOU!!!
diff -uNrd ircd-hybrid-6.4.1/src/opers.txt ircd-hyb6.4.1-FDFr5.4/src/opers.txt
--- ircd-hybrid-6.4.1/src/opers.txt	Wed Dec 31 19:00:00 1969
+++ ircd-hyb6.4.1-FDFr5.4/src/opers.txt	Wed Oct 15 20:38:23 2003
@@ -0,0 +1,273 @@
+This file outlines the features that ircd-hybrid has for IRC Operators.
+$Id: opers.txt,v 1.1 2003/05/17 05:47:58 jailbird Exp $
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+Usermodes: (* designates that the umode is oper only)
+
+     USERMODE     DESCRIPTION
+-----------------------------------------------------------------
+         +O     - Designates this client is a local IRC Operator.
+                  Use the /oper command to attain this.
+         +o     - Designates this client is a global IRC Operator.
+                  Use the /oper command to attain this.
+         +i     - Designates this client 'invisible'.
+         +w     - Can see server wallops.
+       * +z     - Can see oper wallops.
+         +s     - Can see generic server messages and oper kills.
+       * +c     - Can see client connections and exits.
+       * +r     - Can see 'rejected' client notices.
+         +k     - Can see server kill messages.
+       * +f     - Can see 'I-line is full' notices.
+       * +y     - Can see stats/links/admin requests to name a few.
+       * +d     - Can see server debug messages.
+       * +n     - Can see client nick changes.
+       * +b     - Can see possible bot warnings.
+       * +x     - Can see new server introduction and server split
+                  messages.
+
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+Oper Commands: (+ indicates that /quote must be used with ircII)
+
+COMMAND         - USAGE and DESCRIPTION
+-------------------------------------------------------------------
+  SQUIT         - SQUIT <server> [reason]
+                  Splits <server> away from your side of the net with
+                  [reason].
+
+  KILL          - KILL <nick> <reason>
+                  Disconnects user <nick> from the IRC server he/she
+                  is connected to with reason <reason>.
+                  Local Opers can only kill clients on his/her server.
+                  Global Opers can kill clients on any server on the
+                  IRC network.
+
+  STATS         - STATS <letter> [server|nick]
+                  Queries server [server] (or your own server if no
+                  server parameter is given) for info corresponding to
+                  <letter>.
+                  LETTER (* = Oper only.)
+                  ------ (^ = Can be configured to be oper only.)
+                  ^ c - Shows C/N lines
+                  * d - Shows D lines
+                  * f - Shows channel/TS statistics
+                  * g - Shows G lines
+                  ^ h - Shows H/L lines
+                  ^ i - Shows I lines
+                  ^ K - Shows K lines (or matched klines)
+                  ^ k - Shows temporary K lines (or matched temp klines)
+                    L - Shows IP and generic info about [nick]
+                    l - Shows hostname and generic info about [nick]
+                    m - Shows commands and their usage
+                  ^ o - Shows O/o lines
+                  ^ P - Shows configured ports
+                    p - Shows opers connected and their idle times
+                  * Q - Shows quarantined nicks and channels (from conf)
+                  * q - Shows locally juped channels (mode +j)
+                  * r - Shows resource usage by ircd
+                  * s - Shows the server cache
+                  * t - Shows generic server stats
+                  * U - Shows U lines
+                    u - Shows server uptime
+                  * v - Shows connected servers and their idle times
+                  * x - Shows X lines
+                  * y - Shows Y lines
+                  * z - Shows memory stats
+                    ? - Shows connected servers and sendq info about them
+
+  CONNECT       - CONNECT <server_A> [port] [server_B]
+                  When [server_B] is used, CONNECT asks [server_B] to
+                  connect to <server_A>.  Global Opers only.
+
+                  When [server_B] is not used, CONNECT tries to connect
+                  your server to <server_A>.  Local and Global Opers.
+
+                  When [port] is used, the connection will be attempted
+                  to [port].
+                  When [port] is not used, 6667 is used as a default.
+
++ WALLOPS       - WALLOPS :<message>
+                  Sends a WALLOPS message of <message> to all opers
+                  who are umode +w and +z (see above)
+
+                  Server sent wallops go to all users who are umode
+                  +w, oper or not.
+
++ OPERWALL      - OPERWALL :<message>
+                  Sends an OPERWALL message of <message> to all
+                  opers who are umode +w and +z
+
++ LOCOPS        - LOCOPS :<message>
+                  Sends an LOCOPS message of <message. o to all
+                  opers on local server who are umode +w and +z
+
++ LWALLOPS      - LWALLOPS :<message>
+                  -- If compiled with LWALLOPS --
+                  Same as LOCOPS (see above)
+
+  TRACE         - TRACE [server|nick]
+                  TRACE shows client info about [server|nick] or about
+                  the server you are on if no [server|nick] is given.
+
+                  All users that use TRACE can see the path to
+                  [server|nick] if given and all servers and opers
+                  connected, as well as the connection class they
+                  fall into.
+
+                  Opers can see all clients connected to a server
+                  with TRACE as well as the connection class they
+                  fall into.
+
++ LTRACE        - LTRACE [server|nick]
+                  -- If compiled with LTRACE --
+                  Displays only Oper, Serv, Link, and Class reports even if
+                  the O-line is active.  Useful for just showing pertinent
+                  info of a specific server.  Note however that if the
+                  target server is not running this option then you will
+                  still receive a normal trace output.
+
+  REHASH        - REHASH [option]
+                  When no [option] is given, ircd will re-read the
+                  ircd.conf file.
+
+                  [option] can be one of the following:
+                    DNS     - Re-read the /etc/resolv.conf file
+                    IP      - Reloads the IP hash for the new and
+                              improved ACKPATCH.  Should never need 
+                              to be used.
+                    TKLINES - Clears temporary klines
+                    GLINES  - Clears G lines
+                    GC      - Performs garbage collecting of excess
+                              memory.
+                    MOTD    - Re-reads MOTD file
+                    OMOTD   - Re-reads Oper MOTD file
+                    HELP    - Re-reads this HELP file
+                    DLINES  - Re-hashes D-lines
+
+  RESTART       - RESTART server.name
+                  Restarts the IRC server.
+
+  CLOSE         - CLOSE
+                  Close any connections from clients who have not fully
+                  registered yet.
+
+  DIE           - DIE server.name [reason]
+                  Terminates the IRC server with optional reason 
+                  [reason]
+
++ HASH          - HASH
+                  Shows some stats about ircd's internal hashes.
+
++ DNS           - DNS
+                  Shows some stats about ircd's asynchronous resolving
+                  code
+
++ KLINE         - KLINE <nick|user@host> :[reason]
+                  Adds a KLINE to the ircd.conf or klines.conf file which
+                  will ban the specified user from using that server.
+                  The banned client will receive a message saying he/she
+                  is banned with reason [reason]
+
+                  The reason can contain a '|' character.  Anything before
+                  the '|' will be shown to the victim, anything after will
+                  not.
+
+                  KLINE user@ip.ip.ip.ip :[reason]
+                  will kline the user at the unresolved ip.
+                  ip.ip.ip.ip can be in CIDR form i.e. 192.168.0.0/24
+                  or 192.168.0.* (which is converted to CIDR form internally)
+
+                  For a temporary KLINE, length of kline is given in
+                  minutes as the first parameter i.e.
+                  KLINE 10 <nick|user@host> :cool off for 10 minutes
+
++ UNKLINE       - UNKLINE <user@host>
+                  Will attempt to unkline the given <user@host>
+                  Will unkline a temporary kline.
+
++ DLINE         - DLINE <nick|ip> :[reason]
+                  Adds a DLINE to the ircd.conf or klines.conf file
+                  which will deny any connections from the IP address
+                  of the banned client.  The banned client will receive
+                  a message saying he/she is banned with reason [reason]
+
+                  In order to use <nick> rather than <ip>, <nick> must
+                  be on your server.
+
++ UNDLINE       - UNDLINE <ip>
+                  Will attempt to undline the given <ip>
+
++ HTM           - HTM [option]
+                  When no [option] is given, HTM shows the current 
+                  High Traffic Mode rate and whether HTM is on or off.
+
+                  [option] can be one of the following:
+                    ON        - Forces High Traffic Mode to be on.  With
+                                this on, ircd is more efficient in
+                                reading server-to-server traffic and
+                                oper traffic, but will be less efficient
+                                than normal with normal client traffic.
+                    OFF       - Forces High Traffic Mode to be off.
+                                (see above)
+                    TO <rate> - Sets the High Traffic Mode rate to
+                                <rate>.  Ircd will automatically go
+                                into High Traffic Mode when <rate>
+                                is reached, and will automatically turn
+                                it off when things calm down.
+                    QUIET     - When set, ircd will not notify opers
+                                when it goes into and out of High
+                                Traffic Mode.
+                    NOISY     - When set, ircd will notify opers
+                                when it goes into and out of High
+                                Traffic Mode.
++ SET           - SET <option> <value>
+                  <option> can be one of the following:
+                    LOG       - Sets the Logging level for what is logged
+                                to ircd.log and syslog.
+                    MAX       - Sets the number of max connections
+                                to <value>.  (This number cannot exceed
+                                HARD_FDLIMIT in config.h)
+
+                    -- The following three are if compiled with FLUD --
+                     FLUDNUM   - Sets the number of flud messages to 
+                                 trip flud alarm to <value>
+                     FLUDTIME  - Sets the number of seconds in which 
+                                  FLUDNUM msgs must occur to <value>
+                     FLUDBLOCK - Sets the number of seconds to block 
+                                 fluds to <value>
+
+                    -- The following is if compiled with NO_JOIN_ON_SPLIT
+                     SPLITDELAY - Sets how long after the connect burst
+                                  starts before ops can be hacked on new
+                                  channels. 5(minutes) is usually plenty.
+                                  Disable using 0.
+
+                     SMALLNET   - Below this number of servers present
+                                  means special split handling is now on.
+
+                     -- The following is if compiled with ANTI_SPAMBOT
+                      SPAMNUM   - Sets how many join/parts to channels
+                                  constitutes a possible spambot.
+                      SPAMTIME  - Below this time on a channel
+                                  counts as a join/part as above.
+
++ GLINE         - GLINE <user@host> :[reason]
+                   -- if compiled with GLINE --
+                   Attempts to add a global IRC-network wide ban on
+                   <user@host> for the reason [reason].
+
+                   It takes three different opers on three different 
+                   servers to do the same GLINE within a short interval,
+                   to have a GLINE triggered for a compiled time of hours.
+
++ UNGLINE        - UNGLINE <user@host>
+                   -- if compiled with GLINE --
+                   Will attempt to remove gline matching <user@host>
+                   This will only remove the gline from YOUR server, it
+                   does not try to remove it globally.
+
++ TESTLINE       - TESTLINE <user@host>|ip
+                   -- Looks up given user@host or user@ip 
+                   returns info on any found I line or K line for that user,
+                   or D-line on ip.
diff -uNrd ircd-hybrid-6.4.1/src/packet.c ircd-hyb6.4.1-FDFr5.4/src/packet.c
--- ircd-hybrid-6.4.1/src/packet.c	Sun Dec  9 21:56:29 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/packet.c	Wed Oct 15 20:38:22 2003
@@ -18,7 +18,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- *   $Id: packet.c,v 1.25 2001/12/10 02:56:29 jdc Exp $
+ *   $Id: packet.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */ 
 #include "packet.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/parse.c ircd-hyb6.4.1-FDFr5.4/src/parse.c
--- ircd-hybrid-6.4.1/src/parse.c	Sat Aug 16 15:10:45 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/parse.c	Wed Oct 15 20:38:23 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: parse.c,v 1.53 2003/08/16 19:10:45 ievil Exp $
+ *   $Id: parse.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "parse.h"
 #include "channel.h"
diff -uNrd ircd-hybrid-6.4.1/src/restart.c ircd-hyb6.4.1-FDFr5.4/src/restart.c
--- ircd-hybrid-6.4.1/src/restart.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/restart.c	Wed Oct 15 20:38:23 2003
@@ -1,7 +1,7 @@
 /*
  * restart.c
  *
- * $Id: restart.c,v 1.12 2003/06/24 03:57:16 ievil Exp $
+ * $Id: restart.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "restart.h"
 #include "common.h"
diff -uNrd ircd-hybrid-6.4.1/src/s_auth.c ircd-hyb6.4.1-FDFr5.4/src/s_auth.c
--- ircd-hybrid-6.4.1/src/s_auth.c	Mon Jun 23 23:57:16 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_auth.c	Wed Oct 15 20:38:23 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_auth.c,v 1.57 2003/06/24 03:57:16 ievil Exp $
+ *   $Id: s_auth.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  *
  * Changes:
  *   July 6, 1999 - Rewrote most of the code here. When a client connects
diff -uNrd ircd-hybrid-6.4.1/src/s_bsd.c ircd-hyb6.4.1-FDFr5.4/src/s_bsd.c
--- ircd-hybrid-6.4.1/src/s_bsd.c	Mon Jun 23 23:57:17 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_bsd.c	Wed Oct 15 20:38:22 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: s_bsd.c,v 1.148 2003/06/24 03:57:17 ievil Exp $
+ *  $Id: s_bsd.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "s_bsd.h"
 #include "class.h"
diff -uNrd ircd-hybrid-6.4.1/src/s_conf.c ircd-hyb6.4.1-FDFr5.4/src/s_conf.c
--- ircd-hybrid-6.4.1/src/s_conf.c	Sat Aug 16 15:19:41 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_conf.c	Wed Oct 15 20:38:23 2003
@@ -19,7 +19,7 @@
  *
  *  (C) 1988 University of Oulu,Computing Center and Jarkko Oikarinen"
  *
- *  $Id: s_conf.c,v 1.248 2003/08/16 19:19:41 ievil Exp $
+ *  $Id: s_conf.c,v 1.5 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "m_commands.h"
 #include "s_conf.h"
@@ -95,10 +95,7 @@
 
 /* externally defined functions */
 extern  void    outofmemory(void);        /* defined in list.c */
-
-#ifdef GLINES
 extern  struct ConfItem *find_gkill(aClient *,char *); /* defined in m_gline.c */
-#endif
 
 /* usually, with hash tables, you use a prime number...
  * but in this case I am dealing with ip addresses, not ascii strings.
@@ -142,6 +139,9 @@
 /* conf uline link list root */
 struct ConfItem        *u_conf = ((struct ConfItem *)NULL);
 
+/* conf sline link list root */
+struct ConfItem        *s_conf = ((struct ConfItem *)NULL);
+
 /* keep track of .include files to hash in */
 struct ConfItem        *include_list = ((struct ConfItem *)NULL);
 
@@ -378,6 +378,8 @@
     this_conf = x_conf;
   else if (flags & CONF_ULINE)
     this_conf = u_conf;
+  else if (flags & CONF_SLINE)
+    this_conf = s_conf;
   else return;
 
   for (aconf = this_conf; aconf; aconf = aconf->next)
@@ -435,9 +437,7 @@
 verify_access(struct Client *cptr, const char* username, char **preason)
 {
   struct ConfItem* aconf;
-#ifdef GLINES
   struct ConfItem* gkill_conf;
-#endif /* GLINES */
   struct ConfItem* tkline_conf;
   char       non_ident[USERLEN + 1];
 
@@ -469,7 +469,6 @@
     {
       if (aconf->status & CONF_CLIENT)
         {
-#ifdef GLINES
           if ( !IsConfElined(aconf) && !IsConfExemptGline(aconf) )
             {
               if (IsGotId(cptr))
@@ -484,10 +483,6 @@
                   return ( -5 );
                 }
             }
-#endif        /* GLINES */
-
-          if(IsConfDoIdentd(aconf))
-            SetNeedId(cptr);
 
           /* Thanks for spoof idea amm */
           if(IsConfDoSpoofIp(aconf))
@@ -1395,6 +1390,8 @@
     this_conf = x_conf;
   else if(mask & CONF_ULINE)
     this_conf = u_conf;
+  else if(mask & CONF_SLINE)
+    this_conf = s_conf;
   else
     return((struct ConfItem *)NULL);
 
@@ -2096,6 +2093,11 @@
           aconf->status = CONF_QUARANTINED_NICK;
           break;
 
+        case 'S': /* Service, ie host/client is completely */
+	case 's': /* trusted and all-powerful.             */
+          aconf->status = CONF_SLINE;
+          break;
+
         case 'U': /* Uphost, ie. host where client reading */
         case 'u': /* this should connect.                  */
           aconf->status = CONF_ULINE;
@@ -2424,7 +2426,6 @@
           if( (p = strchr(aconf->host,'@')))
             {
               char* x;
-              aconf->flags |= CONF_FLAGS_DO_IDENTD;
               *p++ = '\0';
               MyFree(aconf->user);
               DupString(aconf->user, aconf->host);
@@ -2455,7 +2456,6 @@
 
 	       if( (p = strchr(aconf->user,'@')) )
 		 {
-		   aconf->flags |= CONF_FLAGS_DO_IDENTD;
 		   *p = '\0';
 		   p++;
 		   MyFree(aconf->host);
@@ -2521,6 +2521,16 @@
           aconf->next = u_conf;
           u_conf = aconf;
         }
+      else if (aconf->status & CONF_SLINE)
+        {
+          dontadd = 1;
+          MyFree(aconf->user);
+          aconf->user = (char *)NULL;
+          aconf->name = aconf->host;
+	  aconf->host = (char *)NULL;
+          aconf->next = s_conf;
+          s_conf = aconf;
+        }
       else if (aconf->status & CONF_QUARANTINED_NICK)
         {
           dontadd = 1;
@@ -3004,12 +3014,10 @@
         int_privs |= CONF_OPER_K;
       else if(*privs == 'k')                /* disallow kill and kline privs */
         int_privs &= ~CONF_OPER_K;
-#ifdef GLINES
       else if(*privs == 'G')                /* allow gline */
         int_privs |= CONF_OPER_GLINE;
       else if(*privs == 'g')                /* disallow gline */
         int_privs &= ~CONF_OPER_GLINE;
-#endif
       else if(*privs == 'H')                /* allow rehash */
         int_privs |= CONF_OPER_REHASH;
       else if(*privs == 'h')                /* disallow rehash */
@@ -3751,6 +3759,7 @@
     zap_Dlines();
     clear_special_conf(&x_conf);
     clear_special_conf(&u_conf);
+    clear_special_conf(&s_conf);
     clear_q_lines();
     mark_listeners_closing();
 }
diff -uNrd ircd-hybrid-6.4.1/src/s_debug.c ircd-hyb6.4.1-FDFr5.4/src/s_debug.c
--- ircd-hybrid-6.4.1/src/s_debug.c	Sat Aug 16 15:58:36 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_debug.c	Wed Oct 15 20:38:22 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_debug.c,v 1.61 2003/08/16 19:58:36 ievil Exp $
+ *   $Id: s_debug.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "s_debug.h"
 #include "channel.h"
@@ -66,12 +66,7 @@
 #ifdef CHANMODE_E
   'e',
 #endif
-#ifdef NO_FAKE_GLINES
-  'g',
-#endif
-#ifdef GLINES
   'G',
-#endif
 #ifdef  HUB
   'H',
 #endif
@@ -118,9 +113,7 @@
 /* th+hybrid servers ALWAYS do TS_WARNINGS */
   'o',
   'w',
-#ifdef TS5_ONLY
   'c',
-#endif  
   '\0'
 };
 
@@ -313,34 +306,28 @@
         {
           chb++;
           chbm += (strlen(gen_link->value.cp)+1+sizeof(Link));
-        #ifdef BAN_INFO
         	if (gen_link->value.banptr->banstr)
         		chbm += strlen(gen_link->value.banptr->banstr);
         	if (gen_link->value.banptr->who)
         		chbm += strlen(gen_link->value.banptr->who);
-        #endif /* BAN_INFO */
         }
       for (gen_link = chptr->exceptlist; gen_link; gen_link = gen_link->next)
       {
         che++;
 	chem += (strlen(gen_link->value.cp)+1+sizeof(Link));
-      #ifdef BAN_INFO
       		if (gen_link->value.banptr->banstr)
 			chem += strlen(gen_link->value.banptr->banstr);
 		if (gen_link->value.banptr->who)
 			chem += strlen(gen_link->value.banptr->who);
-      #endif
       }
       for (gen_link = chptr->invexlist; gen_link; gen_link = gen_link->next)
       {
         che++;
         chem += (strlen(gen_link->value.cp)+1+sizeof(Link));
-      #ifdef BAN_INFO
                 if (gen_link->value.banptr->banstr)
                         chem += strlen(gen_link->value.banptr->banstr);
                 if (gen_link->value.banptr->who)
                         chem += strlen(gen_link->value.banptr->who);
-      #endif
       }
     }
 
diff -uNrd ircd-hybrid-6.4.1/src/s_log.c ircd-hyb6.4.1-FDFr5.4/src/s_log.c
--- ircd-hybrid-6.4.1/src/s_log.c	Mon Jun 23 23:57:17 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_log.c	Wed Oct 15 20:38:22 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_log.c,v 1.15 2003/06/24 03:57:17 ievil Exp $
+ *   $Id: s_log.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "s_log.h"
 #include "irc_string.h"
diff -uNrd ircd-hybrid-6.4.1/src/s_misc.c ircd-hyb6.4.1-FDFr5.4/src/s_misc.c
--- ircd-hybrid-6.4.1/src/s_misc.c	Thu Aug 21 19:59:26 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_misc.c	Sun Oct 26 14:35:13 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: s_misc.c,v 1.79 2003/08/21 23:59:26 ievil Exp $
+ *  $Id: s_misc.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "s_misc.h"
 #include "channel.h"
@@ -111,7 +111,6 @@
 }
 
 
-#if defined(GLINES)
 /*
  * small_file_date
  * Make a small YYYYMMDD formatted string suitable for a
@@ -128,7 +127,6 @@
   strftime(timebuffer, MAX_DATE_STRING, "%Y%m%d", tmptr);
   return timebuffer;
 }
-#endif
 
 /*
  * Retarded - so sue me :-P
@@ -237,7 +235,7 @@
                         TOPICLEN,
                         KILLLEN );
 
-  ircsprintf(cbmodes,  "CHANMODES=b%s%s,k,l,imnpst", 
+  ircsprintf(cbmodes,  "CHANMODES=bc%s%s,k,l,imnpst", 
                         mode_e ? "e" : "",
                         mode_I ? "I" : "");
 
diff -uNrd ircd-hybrid-6.4.1/src/s_serv.c ircd-hyb6.4.1-FDFr5.4/src/s_serv.c
--- ircd-hybrid-6.4.1/src/s_serv.c	Sat Aug 16 15:58:36 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_serv.c	Wed Oct 15 20:38:23 2003
@@ -19,7 +19,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_serv.c,v 1.235 2003/08/16 19:58:36 ievil Exp $
+ *   $Id: s_serv.c,v 1.4 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "s_serv.h"
 #include "channel.h"
@@ -74,6 +74,7 @@
   { "EX",       CAP_EX },
   { "CHW",      CAP_CHW },
   { "KNOCK",    CAP_KNOCK },
+  { "FDF",      CAP_FDF },
 #ifdef HUB
   { "KLN",      CAP_KLN }, 
   { "UNKLN",    CAP_UNKLN },
diff -uNrd ircd-hybrid-6.4.1/src/s_stats.c ircd-hyb6.4.1-FDFr5.4/src/s_stats.c
--- ircd-hybrid-6.4.1/src/s_stats.c	Fri Jul 30 16:10:54 1999
+++ ircd-hyb6.4.1-FDFr5.4/src/s_stats.c	Wed Oct 15 20:38:23 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: s_stats.c,v 1.1 1999/07/30 20:10:54 tomh Exp $
+ *  $Id: s_stats.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 #include "s_stats.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/s_user.c ircd-hyb6.4.1-FDFr5.4/src/s_user.c
--- ircd-hybrid-6.4.1/src/s_user.c	Thu Aug 21 19:59:26 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/s_user.c	Sun Oct 26 12:51:48 2003
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: s_user.c,v 1.266 2003/08/21 23:59:26 ievil Exp $
+ *  $Id: s_user.c,v 1.10 2003/10/26 17:51:48 jailbird Exp $
  */
 #include "m_commands.h"
 #include "s_user.h"
@@ -505,6 +505,84 @@
 
 
 /*
+ *  check_clones
+ *    This function counts the number of clients with the
+ *    same host as cptr that connected less than CHECK_CLONE_PERIOD
+ *    seconds ago.
+ *  return value
+ *    -1: reject connections
+ *     0: permit connections
+ *  -SeKs -record
+ */
+#ifdef CHECK_CLONE
+static int check_clones(aClient * cptr)
+{
+  struct abacklog
+  {
+    time_t last;
+    char host[HOSTLEN];
+    int count;
+    struct abacklog *next;
+  };
+
+  static struct abacklog *backlog = NULL;
+  register struct abacklog **blscn = &backlog, *blptr;
+
+  /* Find the host we're interested in. While we're at it, we'll
+   * clean out expired elements from the list.                    */
+
+  while ((*blscn != NULL) && (strcmp(cptr->host, (*blscn)->host))) {
+    if ((*blscn)->last + CHECK_CLONE_PERIOD < CurrentTime) {
+      /* expired; remove */
+      if ((*blscn)->count == -1)
+        sendto_ops("Removing throttle for %s.", (*blscn)->host);
+      blptr = *blscn;
+      *blscn = blptr->next;
+      MyFree((char *)blptr);
+    } else
+      blscn = &(*blscn)->next;
+  }
+
+  if (*blscn) {
+    /* There is a record for this host */
+    if (!((*blscn)->last + CHECK_CLONE_PERIOD < CurrentTime)) {
+      /* not expired */
+      (*blscn)->last = CurrentTime;
+      if ((*blscn)->count == -1)
+        return (-1);
+      else {
+        (*blscn)->count++;
+        if (((*blscn)->count == CHECK_CLONE_LIMIT) && !IsFlined(cptr)) {
+          sendto_ops("Throttling connections from %s.", (*blscn)->host);
+          (*blscn)->count = -1;
+          return (-1);
+        }
+        else
+          return (0);
+      }
+    } else {
+      /* expired */
+      if ((*blscn)->count == -1)
+        sendto_ops("Removing throttle for %s.", (*blscn)->host);
+      (*blscn)->last = CurrentTime;
+      (*blscn)->count = 1;
+      return (0);
+    }
+  } else {
+    /* no record for host; make one */
+    blptr = (struct abacklog *)MyMalloc(sizeof(struct abacklog));
+    strncpy_irc(blptr->host, cptr->host, HOSTLEN);
+    blptr->next = backlog;
+    blptr->last = CurrentTime;
+    blptr->count = 1;
+    backlog = blptr;
+    return (0);
+  }
+}
+#endif
+
+
+/*
 ** register_user
 **      This function is called when both NICK and USER messages
 **      have been accepted for the client, in whatever order. Only
@@ -528,7 +606,7 @@
 **         nick from local user or kill him/her...
 */
 
-static int register_user(aClient *cptr, aClient *sptr, 
+int register_user(aClient *cptr, aClient *sptr, 
                          char *nick, char *username)
 {
   aConfItem*  aconf;
@@ -620,7 +698,7 @@
           {
             if (!IsGotId(sptr))
               {
-                if (IsNeedId(sptr))
+                if (!IsNoTilde(sptr))
                   {
                     *sptr->username = '~';
                     strncpy_irc(&sptr->username[1], username, USERLEN - 1);
@@ -674,6 +752,9 @@
              {
                 *sptr->username = '~';
                 strncpy_irc(&sptr->username[1], username, USERLEN - 1);
+                sendto_one(sptr,
+ ":%s NOTICE %s :*** Notice -- You need to install identd if you wish to have your username show up without the ~ (tilde)",
+                           me.name, cptr->name);
              }
            sptr->username[USERLEN] = '\0';
         }
@@ -724,6 +805,25 @@
         }
       /* end of valid user name check */
 
+#ifdef CHECK_CLONE
+
+        /*
+         * Add this local client into the clone check database.  If the
+         * site has been throttled, reject the user. -SeKs -record
+         */
+
+        if (check_clones(sptr) == -1
+#ifdef CHECK_CLONE_DELAY
+            && me.since + CHECK_CLONE_DELAY < CurrentTime
+#endif
+            )
+        {
+          ServerStats->is_ref++;
+          return exit_client(cptr, sptr, &me,
+            "Too many connections from your host -- throttled");
+        }
+#endif
+
       if(!IsAnOper(sptr))
         {
           char *xreason;
@@ -805,7 +905,7 @@
 
   if (MyConnect(sptr))
     {
-      sendto_one(sptr, form_str(RPL_WELCOME), me.name, nick, nick);
+      sendto_one(sptr, form_str(RPL_WELCOME), me.name, nick, NETWORK_NAME, nick);
       /* This is a duplicate of the NOTICE but see below...*/
       sendto_one(sptr, form_str(RPL_YOURHOST), me.name, nick,
                  get_listener_name(sptr->listener), ircd_version);
@@ -912,6 +1012,11 @@
       ubuf[1] = '\0';
     }
   
+#ifdef CHECK_CLONE
+        if (!IsSLine(sptr))
+                check_clones(sptr);
+#endif
+
   /* LINKLIST 
    * add to local client link list -Dianora
    * I really want to move this add to link list
@@ -1091,7 +1196,6 @@
          ":%s NOTICE %s :*** You are exempt from K/D/G lines. congrats.",
                  me.name,sptr->name);
     }
-#ifdef GLINES
   else if(IsConfExemptGline(aconf))
     {
       SetExemptGline(sptr);
@@ -1099,7 +1203,6 @@
          ":%s NOTICE %s :*** You are exempt from G lines. congrats.",
                  me.name,sptr->name);
     }
-#endif /* GLINES */
 
   /* If this user is exempt from user limits set it F lined" */
   if(IsConfFlined(aconf))
@@ -1137,6 +1240,7 @@
 static int nickkilldone(aClient *cptr, aClient *sptr, int parc,
                  char *parv[], time_t newts,char *nick)
 {
+	Link	*lp;
 
   if (IsServer(sptr))
     {
@@ -1186,6 +1290,21 @@
     }
   else if (sptr->name[0])
     {
+	/*
+	** If the client belongs to me, then check to see
+	** if client is currently on any channels where it
+	** is currently banned.  If so, do not allow the nick
+	** change to occur.
+	*/
+	if (MyClient(sptr))
+		for (lp = cptr->user->channel; lp; lp = lp->next)
+			if (can_send(cptr, lp->value.chptr) == MODE_BAN) {
+				sendto_one(cptr, form_str(ERR_BANNICKCHANGE),
+					   me.name, parv[0],
+					   lp->value.chptr->chname);
+				return 0;
+			}
+
       /*
       ** Client just changing his/her nick. If he/she is
       ** on a channel, send note of change to all clients
@@ -1234,6 +1353,11 @@
         {
           sendto_common_channels(sptr, ":%s NICK :%s", parv[0], nick);
           if (sptr->user)
+#ifdef ANTI_IP_SPOOF
+            /* Don't send out a nick-change if they haven't PONG'd us
+             * because they haven't registered yet if they haven't! -JailBird */
+            if ((!MyConnect(sptr)) || (sptr->flags2 & FLAGS2_GOT_ANTI_SPOOF_PING))
+#endif
             {
               add_history(sptr,1);
               sendto_serv_butone(cptr, ":%s NICK %s :%lu",
@@ -1262,6 +1386,18 @@
           ** may reject the client and call exit_client for it
           ** --must test this and exit m_nick too!!!
           */
+          /* anti ip sequence prediction spoof code
+             it needs a good going over by someone else, but it
+             works... -Dianora
+           */
+#ifdef ANTI_IP_SPOOF
+        if(MyConnect(sptr)) {
+                strcpy(sptr->name,nick);
+                sptr->random_ping = abs((int)my_rand());
+                sendto_one(sptr, "PING :%d", sptr->random_ping);
+                sptr->flags |= FLAGS_PINGSENT;
+        } else
+#endif
             if (register_user(cptr, sptr, nick, buf) == CLIENT_EXITED)
               return CLIENT_EXITED;
         }
@@ -1910,6 +2046,22 @@
     }
   strncpy_irc(sptr->info, realname, REALLEN);
 
+#ifdef ANTI_IP_SPOOF
+  user->last = CurrentTime;
+  if(MyConnect(sptr))
+     {
+       if (sptr->name[0]) /* NICK already received, now I have USER... */
+         {
+           sptr->random_ping = abs((int)my_rand());
+           sendto_one(sptr, "PING :%d", sptr->random_ping);
+           sptr->flags |= FLAGS_PINGSENT;
+         }
+       if (!IsGotId(sptr))
+         strncpy_irc(sptr->username, username, USERLEN);
+       return 0;
+     }
+#endif
+
   if (sptr->name[0]) /* NICK already received, now I have USER... */
     return register_user(cptr, sptr, sptr->name, username);
   else
@@ -1960,7 +2112,7 @@
       return 0;
     }
 
-  if (IsServer(sptr) || sptr != acptr || acptr->from != sptr->from)
+  if ((IsServer(sptr) && !IsSLine(sptr)) || sptr != acptr || acptr->from != sptr->from)
     {
       if (IsServer(cptr))
         sendto_ops_butone(NULL, &me,
@@ -2221,3 +2373,90 @@
   if (cptr && MyClient(cptr))
     send_umode(cptr, sptr, old, ALL_UMODES, buf);
 }
+
+/*
+** m_snick
+**      parv[0] = sender prefix
+**      parv[1] = original nickname
+**      parv[2] = new nickname
+**      parv[3] = TS
+/* This function is a shameless merger between m_nick and
+   DalNet's m_svsnick().  I have tried to cover any issue
+   that could come up.  -JailBird */
+int m_snick(aClient *cptr, aClient *sptr, int parc, char *parv[])
+{
+  aClient* acptr;
+  char     nick[NICKLEN + 2];
+  char     *s;
+  time_t   newts = 0;
+
+  /* Check to make sure this is comming from a service */
+  if (!IsSLine(sptr))
+      return 0;
+
+  /* Since this is from a service, just return, don't send an error */
+  if (parc < 4)
+      return 0;
+
+  if (s = strchr(parv[2], '~'))
+    *s = '\0';
+
+  /* Terminate the string */
+  strncpy_irc(nick, parv[2], NICKLEN);
+  nick[NICKLEN] = '\0';
+
+  acptr = find_client(parv[1], NULL);
+  /* If the nick was bad, then just ignore the SNICK */
+  if (!clean_nick_name(nick))
+      return 0;
+
+  /* Is the nickname identical to a server's name? */
+  if (find_server(nick) != NULL)
+      return 0;
+
+  /* Do we have a collision situation? */
+  if (find_client(nick, NULL) != NULL)
+      return 0;
+
+  if (hunt_server(cptr, sptr, ":%s SNICK %s %s :%s", 1, parc, parv)
+      ==HUNTED_ISME) {
+    if ((acptr = find_person(parv[1], NULL))) {
+      newts = atol(parv[3]);
+      acptr->tsinfo = newts;
+      sendto_realops_flags(FLAGS_NCHANGE,
+                           "Nick change: From %s to %s [%s@%s]",
+                           parv[1], nick, acptr->username, acptr->host);
+      sendto_common_channels(acptr, ":%s NICK :%s", parv[1], nick);
+      if (acptr->user) {
+        add_history(acptr, 1);
+        sendto_serv_butone(NULL, ":%s NICK %s :%lu", parv[1],
+                           nick, acptr->tsinfo);
+      }
+      if (sptr->name[0])
+        del_from_client_hash_table(acptr->name, acptr);
+      strcpy(acptr->name, nick);
+      add_to_client_hash_table(nick, acptr);
+    }
+  }
+  return 0;
+}
+
+/* check to see if the message has any color chars in it. */
+int msg_has_colors(char *msg)
+{   
+   char *c = msg; 
+      
+   while(*c)
+   {  
+      if(*c == '\003' || *c == '\033')
+         break;
+      else
+         c++;
+   }      
+            
+   if(*c)   
+      return 1;
+                
+   return 0;
+}
+
diff -uNrd ircd-hybrid-6.4.1/src/s_zip.c ircd-hyb6.4.1-FDFr5.4/src/s_zip.c
--- ircd-hybrid-6.4.1/src/s_zip.c	Wed Nov 27 23:18:01 2002
+++ ircd-hyb6.4.1-FDFr5.4/src/s_zip.c	Wed Oct 15 20:38:22 2003
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: s_zip.c,v 1.26 2002/11/28 04:18:01 db Exp $
+ *   $Id: s_zip.c,v 1.1.1.2 2003/10/09 02:47:14 jailbird Exp $
  */
 #include "client.h"
 #include "s_zip.h"
diff -uNrd ircd-hybrid-6.4.1/src/scache.c ircd-hyb6.4.1-FDFr5.4/src/scache.c
--- ircd-hybrid-6.4.1/src/scache.c	Tue Jul 17 21:37:18 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/scache.c	Wed Oct 15 20:38:22 2003
@@ -1,7 +1,7 @@
 /*
  * scache.c
  *
- * $Id: scache.c,v 1.17 2001/07/18 01:37:18 lusky Exp $
+ * $Id: scache.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/src/send.c ircd-hyb6.4.1-FDFr5.4/src/send.c
--- ircd-hybrid-6.4.1/src/send.c	Mon Jun 23 23:57:17 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/send.c	Wed Oct 15 20:38:23 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: send.c,v 1.118 2003/06/24 03:57:17 ievil Exp $
+ *   $Id: send.c,v 1.3 2003/10/09 03:49:54 jailbird Exp $
  */
 #include "send.h"
 #include "channel.h"
@@ -489,16 +489,18 @@
    * of an overflow.
    * -wnder
    */
+   /* Always #define IRCII_KLUDGE and break the RFC by only sending
+    * \n and NOT \r\n. This allows DCC RAW connections to work.
+    * -JailBird
+    */
         if (len > 510)
         {
-                sendbuf[510] = '\r';
-                sendbuf[511] = '\n';
-                sendbuf[512] = '\0';
-                len = 512;
+                sendbuf[510] = '\n';
+                sendbuf[511] = '\0';
+                len = 511;
         }
         else
         {
-                sendbuf[len++] = '\r';
                 sendbuf[len++] = '\n';
                 sendbuf[len] = '\0';
         }
diff -uNrd ircd-hybrid-6.4.1/src/sprintf_irc.c ircd-hyb6.4.1-FDFr5.4/src/sprintf_irc.c
--- ircd-hybrid-6.4.1/src/sprintf_irc.c	Wed Jun 12 15:31:22 2002
+++ ircd-hyb6.4.1-FDFr5.4/src/sprintf_irc.c	Wed Oct 15 20:38:23 2003
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *   $Id: sprintf_irc.c,v 1.12 2002/06/12 19:31:22 androsyn Exp $
+ *   $Id: sprintf_irc.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include "sprintf_irc.h"
 
diff -uNrd ircd-hybrid-6.4.1/src/version.c.SH ircd-hyb6.4.1-FDFr5.4/src/version.c.SH
--- ircd-hybrid-6.4.1/src/version.c.SH	Tue Jun 24 00:19:30 2003
+++ ircd-hyb6.4.1-FDFr5.4/src/version.c.SH	Sun Oct 26 13:01:31 2003
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: version.c.SH,v 1.26 2003/06/24 04:19:30 ievil Exp $
+# $Id: version.c.SH,v 1.3 2003/10/09 03:49:54 jailbird Exp $
 
 spitshell=cat
 package=IRC
@@ -79,6 +79,19 @@
 echo "  \"$i\"," >> version.c
 done
 $spitshell >>version.c <<!SUB!THISTOO!
+  "",
+  "The FDFnet ircd coding team consists of the following people:",
+  "",
+  "JailBird            Dustin Marquess     jailbird@alcatraz.fdf.net",
+  "Runt                John Leslie         john@stf.org",
+  "inubus              Steve White         subuni@users.sourceforge.net",
+  "",
+  "The following people helped contribute code to the FDFnet ircd project",
+  "by supplying code, ideas, etc:",
+  "",
+  "Raistlin     SPaM     Ryan     Viv",
+  "",
+  "The FDFnet ircd was developed on the Linux operating system",
   "",
   0,
 };
diff -uNrd ircd-hybrid-6.4.1/src/whowas.c ircd-hyb6.4.1-FDFr5.4/src/whowas.c
--- ircd-hybrid-6.4.1/src/whowas.c	Tue Jul 17 22:30:34 2001
+++ ircd-hyb6.4.1-FDFr5.4/src/whowas.c	Wed Oct 15 20:38:23 2003
@@ -16,7 +16,7 @@
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
-*   $Id: whowas.c,v 1.34 2001/07/18 02:30:34 lusky Exp $
+*   $Id: whowas.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 */
 #include "whowas.h"
 #include "client.h"
diff -uNrd ircd-hybrid-6.4.1/tools/Makefile.in ircd-hyb6.4.1-FDFr5.4/tools/Makefile.in
--- ircd-hybrid-6.4.1/tools/Makefile.in	Thu Dec  6 23:13:32 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/Makefile.in	Wed Oct 15 20:38:23 2003
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.17 2001/12/07 04:13:32 jdc Exp $
+# $Id: Makefile.in,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 CC=@CC@
 RM=@RM@
diff -uNrd ircd-hybrid-6.4.1/tools/README ircd-hyb6.4.1-FDFr5.4/tools/README
--- ircd-hybrid-6.4.1/tools/README	Fri Dec  7 20:59:19 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/README	Wed Oct 15 20:38:23 2003
@@ -1,4 +1,4 @@
-$Id: README,v 1.6 2001/12/08 01:59:19 wcampbel Exp $
+$Id: README,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
 A directory of support programs for ircd.
 
diff -uNrd ircd-hybrid-6.4.1/tools/fixklines.c ircd-hyb6.4.1-FDFr5.4/tools/fixklines.c
--- ircd-hybrid-6.4.1/tools/fixklines.c	Sat Dec  8 02:06:18 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/fixklines.c	Wed Oct 15 20:38:23 2003
@@ -1,6 +1,6 @@
 /*
 fixklines - scan an ircd.conf or kline.conf file
-$Id: fixklines.c,v 1.5 2001/12/08 07:06:18 lusky Exp $
+$Id: fixklines.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 
   D lines of form
   D:192.168.0.* are converted to D:192.168.0.0/24
diff -uNrd ircd-hybrid-6.4.1/tools/install_ircd ircd-hyb6.4.1-FDFr5.4/tools/install_ircd
--- ircd-hybrid-6.4.1/tools/install_ircd	Thu May 15 00:13:32 2003
+++ ircd-hyb6.4.1-FDFr5.4/tools/install_ircd	Wed Oct 15 20:38:23 2003
@@ -1,6 +1,6 @@
 #!/bin/sh
 # IRCD INSTALL SCRIPT
-# $Id: install_ircd,v 1.10 2003/05/15 04:13:32 db Exp $
+# $Id: install_ircd,v 1.3 2003/10/09 03:49:54 jailbird Exp $
 #
 # Completely re-written by FlashMan <chuegen@quadrunner.com> 981231
 # Wow.  The old version was *very* messy and had boatloads of redundancy.
@@ -47,6 +47,8 @@
 LPATH=`grep '#define.LPATH' include/config.h|awk '{print $3}'|tr -d \"`;
 PPATH=`grep '#define.PPATH' include/config.h|awk '{print $3}'|tr -d \"`;
 HPATH=`grep '#define.HPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+OPATH=`grep '#define.OPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+DLPATH=`grep '#define.DLPATH' include/config.h|awk '{print $3}'|tr -d \"`;
 
 SPATH=`dir_concat ${SPATH}`;
 CPATH=`dir_concat ${CPATH}`;
@@ -55,6 +57,8 @@
 LPATH=`dir_concat ${LPATH}`;
 PPATH=`dir_concat ${PPATH}`;
 HPATH=`dir_concat ${HPATH}`;
+OPATH=`dir_concat ${OPATH}`;
+DLPATH=`dir_concat ${DLPATH}`;
 
 #   DPATH = directory,
 #   SPATH = server executable,
@@ -116,13 +120,30 @@
 dir_make `dirname ${HPATH}`
 if [ ! -f ${HPATH} ]; then
   echo installing opers.txt as ${HPATH}
-  $INSTALL_SH -c opers.txt ${HPATH};
+  $INSTALL_SH -c src/opers.txt ${HPATH};
 else
    echo installing opers.txt as ${HPATH}
    echo previous opers.txt saved as opers.txt.old
    mv ${HPATH} ${HPATH}.old
-   $INSTALL_SH -c opers.txt ${HPATH};
+   $INSTALL_SH -c src/opers.txt ${HPATH};
 fi
+
+# try to install their opers.motd file, in all cases 
+dir_make `dirname ${OPATH}`
+if [ ! -f ${OPATH} ]; then
+  echo installing opers.motd as ${OPATH}
+  $INSTALL_SH -c src/opers.motd ${OPATH};
+else
+   echo installing opers.motd as ${OPATH}
+   echo previous opers.motd saved as opers.motd.old
+   mv ${OPATH} ${OPATH}.old
+   $INSTALL_SH -c src/opers.motd ${OPATH};
+fi
+
+# try to make a blank kline.conf
+dir_make `dirname ${DLPATH}`
+echo touching ${DLPATH}
+touch ${DLPATH}
 
 # install mkpasswd
 if [ ! -f ${DPATH}mkpasswd ]; then
diff -uNrd ircd-hybrid-6.4.1/tools/ircd_start.c ircd-hyb6.4.1-FDFr5.4/tools/ircd_start.c
--- ircd-hybrid-6.4.1/tools/ircd_start.c	Thu Oct  5 23:01:03 2000
+++ ircd-hyb6.4.1-FDFr5.4/tools/ircd_start.c	Wed Oct 15 20:38:23 2003
@@ -1,6 +1,6 @@
 /*
  * contributed by mjr
- * $Id: ircd_start.c,v 1.2 2000/10/06 03:01:03 lusky Exp $
+ * $Id: ircd_start.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 #include <stdio.h>
diff -uNrd ircd-hybrid-6.4.1/tools/klineParse.c ircd-hyb6.4.1-FDFr5.4/tools/klineParse.c
--- ircd-hybrid-6.4.1/tools/klineParse.c	Sun Dec  9 21:56:34 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/klineParse.c	Wed Oct 15 20:38:23 2003
@@ -5,7 +5,7 @@
  *
  * This program will take a kline.conf and remove duplicate and redundant 
  * entries from it, creating a kline.conf.parsed file
- * $Id: klineParse.c,v 1.3 2001/12/10 02:56:34 jdc Exp $
+ * $Id: klineParse.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
  */
 
 #define kParseVer "2.12"
diff -uNrd ircd-hybrid-6.4.1/tools/mkconf ircd-hyb6.4.1-FDFr5.4/tools/mkconf
--- ircd-hybrid-6.4.1/tools/mkconf	Tue Jun 19 13:09:31 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/mkconf	Wed Oct 15 20:38:23 2003
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: mkconf,v 1.2 2001/06/19 17:09:31 wcampbel Exp $
+# $Id: mkconf,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 # Copyright (C) 1999 Patrick Alken
 #
 # Usage: ./mkconf [options]
diff -uNrd ircd-hybrid-6.4.1/tools/mkpasswd.c ircd-hyb6.4.1-FDFr5.4/tools/mkpasswd.c
--- ircd-hybrid-6.4.1/tools/mkpasswd.c	Thu May 15 00:19:58 2003
+++ ircd-hyb6.4.1-FDFr5.4/tools/mkpasswd.c	Wed Oct 15 20:38:23 2003
@@ -9,7 +9,7 @@
 ** /dev/random for salt generation added by 
 ** Aaron Sethman <androsyn@ratbox.org>
 **
-** $Id: mkpasswd.c,v 1.12 2003/05/15 04:19:58 db Exp $
+** $Id: mkpasswd.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
 */
 #include <stdio.h>
 #include <string.h>
diff -uNrd ircd-hybrid-6.4.1/tools/start_ircd.c ircd-hyb6.4.1-FDFr5.4/tools/start_ircd.c
--- ircd-hybrid-6.4.1/tools/start_ircd.c	Sat Dec  8 00:10:26 2001
+++ ircd-hyb6.4.1-FDFr5.4/tools/start_ircd.c	Wed Oct 15 20:38:23 2003
@@ -18,7 +18,7 @@
 */
 
 static
-char *prog_version = "$Id: start_ircd.c,v 1.2 2001/12/08 05:10:26 jdc Exp $";
+char *prog_version = "$Id: start_ircd.c,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $";
 
 #define IRCDDIR "/usr/local/lib/ircd"
 
diff -uNrd ircd-hybrid-6.4.1/tools/untabify ircd-hyb6.4.1-FDFr5.4/tools/untabify
--- ircd-hybrid-6.4.1/tools/untabify	Wed Jul 21 00:36:15 1999
+++ ircd-hyb6.4.1-FDFr5.4/tools/untabify	Wed Oct 15 20:38:23 2003
@@ -2,7 +2,7 @@
 #
 # untabify - convert tabs to spaces
 #
-# $Id: untabify,v 1.1 1999/07/21 04:36:15 tomh Exp $
+# $Id: untabify,v 1.1.1.1 2003/05/09 01:49:28 jailbird Exp $
 use Text::Tabs;
 $tabstop = 8;
 while (<>) { print expand($_) }
diff -uNrd ircd-hybrid-6.4.1/tools/viconf.c ircd-hyb6.4.1-FDFr5.4/tools/viconf.c
--- ircd-hybrid-6.4.1/tools/viconf.c	Fri May 16 02:06:00 2003
+++ ircd-hyb6.4.1-FDFr5.4/tools/viconf.c	Wed Oct 15 20:38:23 2003
@@ -1,7 +1,7 @@
 /*
  * viconf.c
  *
- * $Id: viconf.c,v 1.14 2003/05/16 06:06:00 db Exp $
+ * $Id: viconf.c,v 1.1.1.2 2003/10/09 02:47:15 jailbird Exp $
  */
 #include <stdio.h>
 #include <unistd.h>
