diff -uNrd ircd-ratbox-1.5-2/.cvsignore ircd-rb-FDF6.3a/.cvsignore
--- ircd-ratbox-1.5-2/.cvsignore	Fri Dec 14 03:49:18 2001
+++ ircd-rb-FDF6.3a/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,7 +1,4 @@
-config.log
+Makefile
 config.cache
+config.log
 config.status
-Makefile
-lint.out
-rsa_respond.tar.gz
-.depend
diff -uNrd ircd-ratbox-1.5-2/.indent.pro ircd-rb-FDF6.3a/.indent.pro
--- ircd-ratbox-1.5-2/.indent.pro	Thu Jun 26 10:00:22 2003
+++ ircd-rb-FDF6.3a/.indent.pro	Mon Jan 19 22:25:59 2004
@@ -1,4 +1,4 @@
-/* $Id: .indent.pro,v 1.6.4.1 2003/06/26 14:00:22 androsyn Exp $ */
+/* $Id: .indent.pro,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $ */
 /* copy this file to the source dir then run indent file.c */
 
 --gnu-style
diff -uNrd ircd-ratbox-1.5-2/BUGS ircd-rb-FDF6.3a/BUGS
--- ircd-ratbox-1.5-2/BUGS	Thu Jun 26 10:00:22 2003
+++ ircd-rb-FDF6.3a/BUGS	Mon Jan 19 22:25:59 2004
@@ -57,4 +57,4 @@
  in case the developers need more information.
 
 --------------------------------------------------------------------------------
-$Id: BUGS,v 7.61.6.1 2003/06/26 14:00:22 androsyn Exp $
+$Id: BUGS,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/CREDITS ircd-rb-FDF6.3a/CREDITS
--- ircd-ratbox-1.5-2/CREDITS	Tue Mar 23 12:35:50 2004
+++ ircd-rb-FDF6.3a/CREDITS	Thu Apr  1 15:45:48 2004
@@ -1,4 +1,4 @@
-$Id: CREDITS,v 1.9.14.3 2004/03/23 17:35:50 leeh Exp $
+$Id: CREDITS,v 1.1.1.2 2004/04/01 20:45:48 jailbird Exp $
  
 ircd-ratbox is an evolution where ircd-hybrid left off around version 7-rc1.  
 Currently the ircd-ratbox consists of the following developers:
diff -uNrd ircd-ratbox-1.5-2/CVS-Access ircd-rb-FDF6.3a/CVS-Access
--- ircd-ratbox-1.5-2/CVS-Access	Mon Mar 15 16:19:12 2004
+++ ircd-rb-FDF6.3a/CVS-Access	Thu Apr  1 15:45:49 2004
@@ -1,4 +1,4 @@
-$Id: CVS-Access,v 1.2.6.3 2004/03/15 21:19:12 androsyn Exp $
+$Id: CVS-Access,v 1.1.1.2 2004/04/01 20:45:49 jailbird Exp $
 
 The ircd-ratbox CVS repository is available for anonymous access.
 
diff -uNrd ircd-ratbox-1.5-2/ChangeLog ircd-rb-FDF6.3a/ChangeLog
--- ircd-ratbox-1.5-2/ChangeLog	Thu Jun 17 14:01:59 2004
+++ ircd-rb-FDF6.3a/ChangeLog	Thu Jun 17 18:20:37 2004
@@ -1,3 +1,15 @@
+androsyn    2004/06/17 16:05:47 EDT	(20040617_4)
+
+  Modified files:        (Branch: RATBOX_1)
+    include              patchlevel.h 
+  Log:
+  Increment patchlevel to 1.5-2
+  
+  Revision   Changes    Path
+  7.50.2.25  +1 -1      ircd-ratbox/include/patchlevel.h
+
+
+
 androsyn    2004/06/17 14:01:47 EDT	(20040617_3)
 
   Modified files:        (Branch: RATBOX_1)
diff -uNrd ircd-ratbox-1.5-2/Hybrid-team ircd-rb-FDF6.3a/Hybrid-team
--- ircd-ratbox-1.5-2/Hybrid-team	Sat Jul 13 21:30:27 2002
+++ ircd-rb-FDF6.3a/Hybrid-team	Mon Jan 19 22:25:59 2004
@@ -1,4 +1,4 @@
-$Id: Hybrid-team,v 7.52 2002/07/14 01:30:27 androsyn Exp $
+$Id: Hybrid-team,v 1.1.1.1 2004/01/20 03:25:59 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-ratbox-1.5-2/INSTALL ircd-rb-FDF6.3a/INSTALL
--- ircd-ratbox-1.5-2/INSTALL	Mon Mar 15 13:19:43 2004
+++ ircd-rb-FDF6.3a/INSTALL	Thu Apr  1 15:45:49 2004
@@ -1,6 +1,6 @@
                             Hybrid INSTALL Document
 
-   $Id: INSTALL,v 7.34.6.1 2004/03/15 18:19:43 leeh Exp $
+   $Id: INSTALL,v 1.1.1.2 2004/04/01 20:45:49 jailbird Exp $
 
    Copyright (c) 2001 by ircd-hybrid team
    Copyright (c) 2002-2004 ircd-ratbox development team
diff -uNrd ircd-ratbox-1.5-2/LICENSE ircd-rb-FDF6.3a/LICENSE
--- ircd-ratbox-1.5-2/LICENSE	Sat Jan  5 04:14:20 2002
+++ ircd-rb-FDF6.3a/LICENSE	Mon Jan 19 22:25:59 2004
@@ -1,4 +1,4 @@
-# $Id: LICENSE,v 7.3 2002/01/05 09:14:20 a1kmm Exp $
+# $Id: LICENSE,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 		    GNU GENERAL PUBLIC LICENSE
 		       Version 2, June 1991
 
diff -uNrd ircd-ratbox-1.5-2/Makefile.in ircd-rb-FDF6.3a/Makefile.in
--- ircd-ratbox-1.5-2/Makefile.in	Thu Jun 26 10:00:24 2003
+++ ircd-rb-FDF6.3a/Makefile.in	Sun Jan 25 22:49:24 2004
@@ -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.in,v 7.41.6.1 2003/06/26 14:00:24 androsyn Exp $
+#*   $Id: Makefile.in,v 1.2 2004/01/26 03:49:24 jailbird Exp $
 #*/
 
 RM=@RM@
@@ -38,7 +38,7 @@
 # the system one.
 #CFLAGS= -DNDEBUG -g -O2 -D"FD_SETSIZE=1024"
 SHELL=/bin/sh
-SUBDIRS=modules adns src tools doc @SUBDIR_MESSAGES@ servlink help
+SUBDIRS=modules adns src tools doc @SUBDIR_MESSAGES@ servlink help contrib
 CLEANDIRS = ${SUBDIRS} contrib
 RSA_FILES=rsa_respond/README rsa_respond/respond.c rsa_respond/Makefile
 
diff -uNrd ircd-ratbox-1.5-2/README.FDF.NOW ircd-rb-FDF6.3a/README.FDF.NOW
--- ircd-ratbox-1.5-2/README.FDF.NOW	Wed Dec 31 19:00:00 1969
+++ ircd-rb-FDF6.3a/README.FDF.NOW	Sat Jun 19 22:45:22 2004
@@ -0,0 +1,362 @@
+==================
+=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)
+!!! TOPIC lengths changed from 80 bytes to 255.
++++ Added/Enhanced DalNet U:'s added
+
+FEFr4wb5 (wide-beta 5): (Runt/JailBird)
++++ WHOIS_SIGNON_TIME; shows when a user signed on in /whois. (Runt)
+    (deprecated by hybrid-7)
++++ 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) (replaced w/ TBURST from
+    contrib).
+!!! 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.
+
+FDFr6
+!!! Upgraded base code to ircd-ratbox-1.3-1 (based off of hybrid 7.0-STABLE).
+--- Removed STOPIC.  Replaced w/ hybrid's TBURST.
+--- Removed WHOIS_SIGNON_TIME.  Deprecated by hybrid-7.0.
++++ UNGLINEs from services are now propogated.
+!!! Back-ported some fixes from ircd-ratbox STABLE CVS.
+!!! Added stats spy modules from contrib/.
+NOTE: convertconf & convertilines DO work, but I recommend that you rebuild
+      your ircd.conf from hand using example.conf as a guide.
+NOTE: MAKE SURE you edit the modules path in your ircd.conf!
+
+FDFr6a
+!!! Fixed problem where S:'d /kills can core the server.
+
+FDFr6.1
+!!! Upgraded base code to ratbox-1.4-1 (actually, a CVS copy from
+    20040421, which includes a mIRC fix).
+!!! Fixed S:'d /kill for real this time.
+
+FDFr6.2
+!!! Upgraded base code to ratbox-1.4-2 final.  Main change is a split_delay
+    fix.
+
+FDFr6.3
+!!! Upgraded base code to ratbox-1.5-2
+!!! Merged opers_see_invis and opers_see_priv into one opers_see_hidden.
+!!! Fixed opers_see_hidden not working completely in /who requests.
+!!! Revered UNGLINE back to stock ratbox code (aka only remove the first
+    matching GLINE).
+!!! A few minor channel mode +c fixes.
+!!! Backported ms_sjoin() cleanup from ratbox-2.
+!!! Fixed a crasher when trying to use the server_can_op hack on a channel that
+    doesn't exist.
++++ Added channel mode +z.  This is can only be set via services, or the forced
+    join hack (and only -z'd from the user himself).  +z keeps a user from
+    getting kicked or deop'd in a channel.
+!!! Made servlink/io.c C99 compliant by changing to uint32_t.
+
+FDFr6.3a
+!!! Rolled ms_sjoin() code back.
+
+===========
+=Important=
+===========
+
+Stated again:
+NOTE: convertconf & convertilines DO work, but I recommend that you rebuild
+      your ircd.conf from hand using example.conf as a guide.
+NOTE: MAKE SURE you edit the modules path in your ircd.conf!
+
+If you are running a *HUB SERVER*
+
+MAKE SURE YOU CHANGE THE SPLIT SETTINGS IN YOUR IRCD.CONF!
+
+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.
+
+Also make sure that hub is set to 'yes' in your ircd.conf!
+
+==================
+=Support Channels=
+==================
+
+On FEFnet: Join #continuum
+On FDFnet: Join #FDFworld
+
+=========
+=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, the Hybrid team, and the ratbox 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://bobdole.fdf.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:anonymous@sanitarium.fdf.net:/repository login
+   Just hit enter when prompted for a password.
+3) cvs -d :pserver:anonymous@sanitarium.fdf.net:/repository co ircd-rb-FEF6
+
+This will create a directory called "ircd-rb-FEF6" under the current directory that
+will contain the current source code.  To update the code in the future, run:
+
+        cvs update       (from the ircd-rb-FEF6 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! :).
+
+You can also accesss the CVS tree via the web at:
+http://sanitarium.fdf.net:8080/perl-cgi/cvsweb.pl/ircd-rb-FEF6/
+
+                                        -Dustin "JailBird" Marquess
+
diff -uNrd ircd-ratbox-1.5-2/README.FIRST ircd-rb-FDF6.3a/README.FIRST
--- ircd-ratbox-1.5-2/README.FIRST	Thu Jun 26 10:00:24 2003
+++ ircd-rb-FDF6.3a/README.FIRST	Mon Jan 19 22:25:59 2004
@@ -105,4 +105,4 @@
 - Other files recommended for reading: BUGS, INSTALL
 
 --------------------------------------------------------------------------------
-$Id: README.FIRST,v 7.38.6.1 2003/06/26 14:00:24 androsyn Exp $
+$Id: README.FIRST,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/README.VMS ircd-rb-FDF6.3a/README.VMS
--- ircd-ratbox-1.5-2/README.VMS	Thu Jun 26 10:00:24 2003
+++ ircd-rb-FDF6.3a/README.VMS	Mon Jan 19 22:25:59 2004
@@ -44,4 +44,4 @@
 binary distributions are available on the FTP site.
 (actually, they aren't yet, but at some time in the future they should be)
 
-$Id: README.VMS,v 1.12.2.1 2003/06/26 14:00:24 androsyn Exp $
+$Id: README.VMS,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/RELNOTES ircd-rb-FDF6.3a/RELNOTES
--- ircd-ratbox-1.5-2/RELNOTES	Thu Jun 17 14:01:35 2004
+++ ircd-rb-FDF6.3a/RELNOTES	Thu Jun 17 18:21:01 2004
@@ -50,4 +50,4 @@
 Other files recommended for reading: BUGS, README.FIRST, INSTALL
 
 --------------------------------------------------------------------------------
-$Id: RELNOTES,v 1.77.2.46 2004/06/17 18:01:35 androsyn Exp $
+$Id: RELNOTES,v 1.7 2004/06/17 22:21:01 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/adns/Makefile.in ircd-rb-FDF6.3a/adns/Makefile.in
--- ircd-ratbox-1.5-2/adns/Makefile.in	Fri May 24 19:34:01 2002
+++ ircd-rb-FDF6.3a/adns/Makefile.in	Mon Jan 19 22:25:59 2004
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/src
 #
-# $Id: Makefile.in,v 1.13 2002/05/24 23:34:01 androsyn Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 #
 CC		= @CC@
 INSTALL		= @INSTALL@
diff -uNrd ircd-ratbox-1.5-2/adns/adns.h ircd-rb-FDF6.3a/adns/adns.h
--- ircd-ratbox-1.5-2/adns/adns.h	Tue Oct 29 20:01:04 2002
+++ ircd-rb-FDF6.3a/adns/adns.h	Mon Jan 19 22:25:59 2004
@@ -51,7 +51,7 @@
  *  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  *
  *
- *  $Id: adns.h,v 1.9 2002/10/30 01:01:04 androsyn Exp $
+ *  $Id: adns.h,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #ifndef ADNS_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/adns/check.c ircd-rb-FDF6.3a/adns/check.c
--- ircd-ratbox-1.5-2/adns/check.c	Fri May 24 19:34:01 2002
+++ ircd-rb-FDF6.3a/adns/check.c	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: check.c,v 1.6 2002/05/24 23:34:01 androsyn Exp $
+ * $Id: check.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/descrip.mms ircd-rb-FDF6.3a/adns/descrip.mms
--- ircd-ratbox-1.5-2/adns/descrip.mms	Mon Feb  4 16:07:44 2002
+++ ircd-rb-FDF6.3a/adns/descrip.mms	Mon Jan 19 22:25:59 2004
@@ -8,7 +8,7 @@
 # $ COPY [.include]setup.h_vms [.include]setup.h
 # $ MMS IRCD.EXE
 #
-# $Id: descrip.mms,v 1.2 2002/02/04 21:07:44 ejb Exp $
+# $Id: descrip.mms,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 
 CC=	CC
 CFLAGS=	/INCLUDE_DIRECTORY=([-.INCLUDE],[])/STANDARD=ISOC94
diff -uNrd ircd-ratbox-1.5-2/adns/dlist.h ircd-rb-FDF6.3a/adns/dlist.h
--- ircd-ratbox-1.5-2/adns/dlist.h	Fri Jan  4 00:02:21 2002
+++ ircd-rb-FDF6.3a/adns/dlist.h	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: dlist.h,v 1.5 2002/01/04 05:02:21 db Exp $
+ * $Id: dlist.h,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #ifndef ADNS_DLIST_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/adns/event.c ircd-rb-FDF6.3a/adns/event.c
--- ircd-ratbox-1.5-2/adns/event.c	Thu Jun 26 10:00:46 2003
+++ ircd-rb-FDF6.3a/adns/event.c	Mon May 31 21:35:48 2004
@@ -26,7 +26,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: event.c,v 1.20.2.1 2003/06/26 14:00:46 androsyn Exp $
+ * $Id: event.c,v 1.2 2004/06/01 01:35:48 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -269,7 +269,6 @@
       abort();
     }
   }
-  return;
 }
 
 void adns__timeouts(adns_state ads, int act,
diff -uNrd ircd-ratbox-1.5-2/adns/general.c ircd-rb-FDF6.3a/adns/general.c
--- ircd-ratbox-1.5-2/adns/general.c	Thu Jun 26 10:00:46 2003
+++ ircd-rb-FDF6.3a/adns/general.c	Mon Jan 19 22:25:59 2004
@@ -25,7 +25,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.12.2.1 2003/06/26 14:00:46 androsyn Exp $
+ * $Id: general.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/internal.h ircd-rb-FDF6.3a/adns/internal.h
--- ircd-ratbox-1.5-2/adns/internal.h	Tue Oct 29 20:02:36 2002
+++ ircd-rb-FDF6.3a/adns/internal.h	Mon Jan 19 22:25:59 2004
@@ -26,7 +26,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: internal.h,v 1.12 2002/10/30 01:02:36 androsyn Exp $
+ * $Id: internal.h,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #ifndef ADNS_INTERNAL_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/adns/parse.c ircd-rb-FDF6.3a/adns/parse.c
--- ircd-ratbox-1.5-2/adns/parse.c	Thu Jun 26 10:00:46 2003
+++ ircd-rb-FDF6.3a/adns/parse.c	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: parse.c,v 1.7.6.1 2003/06/26 14:00:46 androsyn Exp $
+ * $Id: parse.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/query.c ircd-rb-FDF6.3a/adns/query.c
--- ircd-ratbox-1.5-2/adns/query.c	Thu Jun 26 10:00:47 2003
+++ ircd-rb-FDF6.3a/adns/query.c	Mon Jan 19 22:25:59 2004
@@ -26,7 +26,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: query.c,v 1.18.2.1 2003/06/26 14:00:47 androsyn Exp $
+ * $Id: query.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/reply.c ircd-rb-FDF6.3a/adns/reply.c
--- ircd-ratbox-1.5-2/adns/reply.c	Thu Jun 26 10:00:47 2003
+++ ircd-rb-FDF6.3a/adns/reply.c	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: reply.c,v 1.9.2.1 2003/06/26 14:00:47 androsyn Exp $
+ * $Id: reply.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/setup.c ircd-rb-FDF6.3a/adns/setup.c
--- ircd-ratbox-1.5-2/adns/setup.c	Thu Aug 14 19:26:09 2003
+++ ircd-rb-FDF6.3a/adns/setup.c	Mon Jan 19 22:25:59 2004
@@ -25,7 +25,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: setup.c,v 1.29.2.2 2003/08/14 23:26:09 leeh Exp $
+ * $Id: setup.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/transmit.c ircd-rb-FDF6.3a/adns/transmit.c
--- ircd-ratbox-1.5-2/adns/transmit.c	Thu Jun 26 10:00:47 2003
+++ ircd-rb-FDF6.3a/adns/transmit.c	Mon Jan 19 22:25:59 2004
@@ -25,7 +25,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: transmit.c,v 1.11.16.1 2003/06/26 14:00:47 androsyn Exp $
+ * $Id: transmit.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/adns/tvarith.h ircd-rb-FDF6.3a/adns/tvarith.h
--- ircd-ratbox-1.5-2/adns/tvarith.h	Fri Apr  6 05:30:37 2001
+++ ircd-rb-FDF6.3a/adns/tvarith.h	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: tvarith.h,v 1.3 2001/04/06 09:30:37 a1kmm Exp $
+ * $Id: tvarith.h,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #ifndef ADNS_TVARITH_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/adns/types.c ircd-rb-FDF6.3a/adns/types.c
--- ircd-ratbox-1.5-2/adns/types.c	Thu Jun 26 10:00:47 2003
+++ ircd-rb-FDF6.3a/adns/types.c	Mon Jan 19 22:25:59 2004
@@ -24,7 +24,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: types.c,v 1.12.2.1 2003/06/26 14:00:47 androsyn Exp $
+ * $Id: types.c,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/autoconf/acconfig.h ircd-rb-FDF6.3a/autoconf/acconfig.h
--- ircd-ratbox-1.5-2/autoconf/acconfig.h	Thu Jun 26 10:00:55 2003
+++ ircd-rb-FDF6.3a/autoconf/acconfig.h	Mon Jan 19 22:25:59 2004
@@ -1,5 +1,5 @@
 /*
- * $Id: acconfig.h,v 7.28.4.1 2003/06/26 14:00:55 androsyn Exp $
+ * $Id: acconfig.h,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
  */
 
 /* Define with our select type */
diff -uNrd ircd-ratbox-1.5-2/autoconf/configure.in ircd-rb-FDF6.3a/autoconf/configure.in
--- ircd-ratbox-1.5-2/autoconf/configure.in	Mon May 31 21:02:11 2004
+++ ircd-rb-FDF6.3a/autoconf/configure.in	Tue Jun  1 12:28:41 2004
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 7.174.2.5 2004/06/01 01:02:11 androsyn Exp $
+dnl $Id: configure.in,v 1.3 2004/06/01 16:28:41 jailbird Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl AC_INIT(include/class.h) <- what is this ? -TimeMr14C
 
@@ -67,6 +67,17 @@
     AppleGCC=no
     ;;
 esac
+AC_MSG_CHECKING(if we are using Tru64 cc)
+case `$CC -V 2>&1 | head -1` in
+  *Tru64*)
+    AC_MSG_RESULT(success! We are using cc from Tru64.)
+    Tru64cc=yes
+    ;;
+  *)
+    AC_MSG_RESULT(no)
+    Tru64cc=no
+    ;;
+esac
 
 dnl SVR4 SGS based on what we know about the compiler -jmallett
 AC_MSG_CHECKING(if your compiler supports the SVR4 Software Generation System interfaces)
@@ -83,7 +94,7 @@
 #  Use this for development..
 #  IRC_CFLAGS="-O2 -g -Wunused -Wall -Wshadow -Wmissing-declarations"
    if test -z "$IRC_CFLAGS"; then
-       IRC_CFLAGS="-O2 -g "
+       IRC_CFLAGS="-s -O2 "
    fi
 else
   if test "x$TenDRA" = "xyes"; then
@@ -717,26 +728,9 @@
                 ]))
 ])
 
-dnl small-net
-AC_ARG_ENABLE(small-net,
-[  --enable-small-net           Enable small network support.
-  --disable-small-net          Disable small network support. ],
-[
-  case "$enableval" in
-  yes)
-    echo "Enabling small net code."
-    IRC_CFLAGS="$IRC_CFLAGS -DSMALL_NET=1"
-    ;;
-  no)
-    echo "Disabling small net code."
-    IRC_CFLAGS="$IRC_CFLAGS"
-    ;;
-  esac
-])
-
-ac_cv_nicklen="9"
-ac_cv_maxclients="3000"
-ac_cv_topiclen="120"
+ac_cv_nicklen="15"
+ac_cv_maxclients="226"
+ac_cv_topiclen="255"
 
 dnl Nicklen
 AC_ARG_WITH(nicklen,
@@ -745,7 +739,7 @@
 [
 	echo $withval
   if test "$withval" = "no"; then
-	ac_cv_nicklen="9"
+	ac_cv_nicklen="15"
   else
 	ac_cv_nicklen="$withval"
   fi
@@ -759,7 +753,7 @@
 
 [
   if test "$withval" = "no"; then
-	ac_cv_maxclients="3000"
+	ac_cv_maxclients="226"
   else
 	ac_cv_maxclients="$withval"
   fi
@@ -773,7 +767,7 @@
 
 [
   if test "$withval" = "no"; then
-	ac_cv_topiclen="120"
+	ac_cv_topiclen="255"
   else
 	ac_cv_topiclen="$withval"
   fi
@@ -863,6 +857,11 @@
 		PICFLAGS="+z -r -q -n +ESfic -c"
 		MOD_TARGET="hpux_shared"
 		LDFLAGS="${LDFLAGS} -Wl,-E"
+	fi
+	if test "$Tru64cc" = "yes"; then
+		AC_MSG_RESULT(Tru64 - Assuming Tru64 C compiler cc: -shared -expect_unresolved '*')
+		PICFLAGS="-shared -expect_unresolved '*'"
+		LDFLAGS="${LDFLAGS} -call_shared"
 	fi
 	if test -z "$PICFLAGS"; then
 		if test "$ac_cv_prog_gcc" = "yes"; then
diff -uNrd ircd-ratbox-1.5-2/autoconf/install-sh ircd-rb-FDF6.3a/autoconf/install-sh
--- ircd-ratbox-1.5-2/autoconf/install-sh	Wed Aug 25 23:36:21 1999
+++ ircd-rb-FDF6.3a/autoconf/install-sh	Mon Jan 19 22:25:59 2004
@@ -1,5 +1,5 @@
 #! /bin/sh
-# $Id: install-sh,v 7.1 1999/08/26 03:36:21 lusky Exp $
+# $Id: install-sh,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 # install - install a program, script, or datafile
 # This comes from X11R5 (mit/util/scripts/install.sh).
 #
diff -uNrd ircd-ratbox-1.5-2/clean.com ircd-rb-FDF6.3a/clean.com
--- ircd-ratbox-1.5-2/clean.com	Tue Feb  5 22:37:52 2002
+++ ircd-rb-FDF6.3a/clean.com	Mon Jan 19 22:25:59 2004
@@ -1,4 +1,4 @@
-$! $Id: clean.com,v 1.1 2002/02/06 03:37:52 ejb Exp $
+$! $Id: clean.com,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 $! yes, its a hack. this needs to be merged into make.com.
 $! (well, really, into a top-level descrip.mms.. one day).
 $
diff -uNrd ircd-ratbox-1.5-2/configure ircd-rb-FDF6.3a/configure
--- ircd-ratbox-1.5-2/configure	Mon May 31 21:02:02 2004
+++ ircd-rb-FDF6.3a/configure	Tue Jun  1 12:28:41 2004
@@ -50,9 +50,6 @@
   --enable-assert=type         Enable assert() - soft or hard.
   --disable-assert             Disable assert(). "
 ac_help="$ac_help
-  --enable-small-net           Enable small network support.
-  --disable-small-net          Disable small network support. "
-ac_help="$ac_help
   --with-nicklen=LENGTH        Set the nick length to LENGTH. "
 ac_help="$ac_help
   --with-maxclients=NUMBER     Set the maximum number of clients to NUMBER. "
@@ -810,13 +807,13 @@
   CFLAGS="$ac_save_CFLAGS"
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
+    CFLAGS="-s -O2"
   else
-    CFLAGS="-g"
+    CFLAGS="-g3"
   fi
 else
   if test "$GCC" = yes; then
-    CFLAGS="-O2"
+    CFLAGS="-s -O2"
   else
     CFLAGS=
   fi
@@ -874,6 +871,18 @@
     AppleGCC=no
     ;;
 esac
+echo $ac_n "checking if we are using Tru64 cc""... $ac_c" 1>&6
+echo "configure:867: checking if we are using Tru64 cc" >&5
+case `$CC -V 2>&1 | head -1` in
+  *Tru64*)
+    echo "$ac_t""success! We are using cc from Tru64." 1>&6
+    Tru64CC=yes
+    ;;
+  *)
+    echo "$ac_t""no" 1>&6
+    Tru64CC=no
+    ;;
+esac
 
 echo $ac_n "checking if your compiler supports the SVR4 Software Generation System interfaces""... $ac_c" 1>&6
 echo "configure:880: checking if your compiler supports the SVR4 Software Generation System interfaces" >&5
@@ -887,7 +896,7 @@
 #  Use this for development..
 #  IRC_CFLAGS="-O2 -g -Wunused -Wall -Wshadow -Wmissing-declarations"
    if test -z "$IRC_CFLAGS"; then
-       IRC_CFLAGS="-O2 -g "
+       IRC_CFLAGS="-O2 -s"
    fi
 else
   if test "x$TenDRA" = "xyes"; then
@@ -3595,6 +3604,7 @@
 #line 3596 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
+#include <sys/bitypes.h>
 #if STDC_HEADERS
 #include <stdlib.h>
 #include <stddef.h>
@@ -3875,32 +3885,9 @@
 
 IRC_CFLAGS="$IRC_CFLAGS $ac_cv_assert"
 
-
-
-
-
-
-# Check whether --enable-small-net or --disable-small-net was given.
-if test "${enable_small_net+set}" = set; then
-  enableval="$enable_small_net"
-  
-  case "$enableval" in
-  yes)
-    echo "Enabling small net code."
-    IRC_CFLAGS="$IRC_CFLAGS -DSMALL_NET=1"
-    ;;
-  no)
-    echo "Disabling small net code."
-    IRC_CFLAGS="$IRC_CFLAGS"
-    ;;
-  esac
-
-fi
-
-
-ac_cv_nicklen="9"
-ac_cv_maxclients="3000"
-ac_cv_topiclen="120"
+ac_cv_nicklen="15"
+ac_cv_maxclients="226"
+ac_cv_topiclen="255"
 
 # Check whether --with-nicklen or --without-nicklen was given.
 if test "${with_nicklen+set}" = set; then
@@ -3908,7 +3895,7 @@
   
 	echo $withval
   if test "$withval" = "no"; then
-	ac_cv_nicklen="9"
+	ac_cv_nicklen="15"
   else
 	ac_cv_nicklen="$withval"
   fi
@@ -3926,7 +3913,7 @@
   withval="$with_maxclients"
   
   if test "$withval" = "no"; then
-	ac_cv_maxclients="3000"
+	ac_cv_maxclients="226"
   else
 	ac_cv_maxclients="$withval"
   fi
@@ -3944,7 +3931,7 @@
   withval="$with_topiclen"
   
   if test "$withval" = "no"; then
-	ac_cv_topiclen="120"
+	ac_cv_topiclen="255"
   else
 	ac_cv_topiclen="$withval"
   fi
@@ -4419,6 +4406,11 @@
 		PICFLAGS="+z -r -q -n +ESfic -c"
 		MOD_TARGET="hpux_shared"
 		LDFLAGS="${LDFLAGS} -Wl,-E"
+	fi
+	if test "$Tru64CC" = "yes"; then
+		echo "$ac_t""Tru64 - Assuming Tru64 C compiler cc: -shared -expect_unresolved '*'" 1>&6
+		PICFLAGS="-shared -expect_unresolved '*'"
+		LDFLAGS="${LDFLAGS} -call_shared"
 	fi
 	if test -z "$PICFLAGS"; then
 		if test "$ac_cv_prog_gcc" = "yes"; then
diff -uNrd ircd-ratbox-1.5-2/contrib/Makefile.in ircd-rb-FDF6.3a/contrib/Makefile.in
--- ircd-ratbox-1.5-2/contrib/Makefile.in	Sat Sep  6 09:17:59 2003
+++ ircd-rb-FDF6.3a/contrib/Makefile.in	Sun Jan 25 22:49:25 2004
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/contrib
 #
-# $Id: Makefile.in,v 1.40.4.4 2003/09/06 13:17:59 leeh Exp $
+# $Id: Makefile.in,v 1.2 2004/01/26 03:49:25 jailbird Exp $
 #
 CC		= @CC@
 RM		= @RM@
@@ -16,7 +16,7 @@
 INSTALL_DATA	= @INSTALL_DATA@
 INSTALL_SUID    = @INSTALL_PROGRAM@ -o root -m 4755
 SHELL		= /bin/sh
-AUTOMODULEDIR	= @prefix@/modules
+AUTOMODULEDIR	= @prefix@/modules/autoload
 
 SSL_LIBS	= @SSL_LIBS@
 SSL_INCLUDES	= @SSL_INCLUDES@
@@ -27,26 +27,26 @@
 CPPFLAGS	= ${INCLUDES} @CPPFLAGS@
 
 SRCS =                          \
-  m_clearchan.c			\
-  m_flags.c                     \
-  m_force.c			\
-  m_ltrace.c			\
-  m_mkpasswd.c                  \
-  m_ojoin.c			\
-  m_olist.c			\
-  m_okick.c			\
-  m_opme.c			\
-  m_omode.c			\
   spy_admin_notice.c		\
   spy_info_notice.c		\
   spy_links_notice.c		\
   spy_motd_notice.c		\
   spy_stats_notice.c            \
-  spy_stats_p_notice.c		\
   spy_trace_notice.c		\
   spy_whois_notice.c            \
-  spy_whois_notice_global.c     \
-  example_module.c
+  spy_whois_notice_global.c
+#  spy_stats_p_notice.c		\
+#  m_clearchan.c			\
+#  m_flags.c                     \
+#  m_force.c			\
+#  m_ltrace.c			\
+#  m_mkpasswd.c                  \
+#  m_ojoin.c			\
+#  m_olist.c			\
+#  m_okick.c			\
+#  m_opme.c			\
+#  m_omode.c			\
+#  example_module.c
 
 OBJS = ${SRCS:.c=.so}
 
diff -uNrd ircd-ratbox-1.5-2/contrib/README ircd-rb-FDF6.3a/contrib/README
--- ircd-ratbox-1.5-2/contrib/README	Tue Jun 15 17:07:26 2004
+++ ircd-rb-FDF6.3a/contrib/README	Wed Jun 16 13:44:12 2004
@@ -1,4 +1,4 @@
-$Id: README,v 1.27.6.5 2004/06/15 21:07:26 leeh Exp $
+$Id: README,v 1.4 2004/06/16 17:44:12 jailbird Exp $
 
 This directory contains modules and patches that have been contributed
 by other people, or aren't suitable for including into the 
diff -uNrd ircd-ratbox-1.5-2/contrib/example_module.c ircd-rb-FDF6.3a/contrib/example_module.c
--- ircd-ratbox-1.5-2/contrib/example_module.c	Thu May 20 16:39:23 2004
+++ ircd-rb-FDF6.3a/contrib/example_module.c	Mon May 31 00:02:20 2004
@@ -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: example_module.c,v 1.7.2.2 2004/05/20 20:39:23 leeh Exp $
+ *   $Id: example_module.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 /* List of ircd includes from ../include/ */
@@ -122,7 +122,7 @@
 
 /* When we last modified the file (shown in /modlist), this is usually:
  */
-const char *_version = "$Revision: 1.7.2.2 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/contrib/m_classdisable.c ircd-rb-FDF6.3a/contrib/m_classdisable.c
--- ircd-ratbox-1.5-2/contrib/m_classdisable.c	Tue Jun 15 17:07:26 2004
+++ ircd-rb-FDF6.3a/contrib/m_classdisable.c	Wed Jun 16 13:41:34 2004
@@ -26,7 +26,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_classdisable.c,v 1.1.2.1 2004/06/15 21:07:26 leeh Exp $
+ * $Id: m_classdisable.c,v 1.1.1.1 2004/06/16 17:41:34 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -71,7 +71,7 @@
 	mod_del_cmd(&classdisable_msgtab);
 }
 
-const char *_version = "$Revision: 1.1.2.1 $";
+const char *_version = "$Revision: 1.1.1.1 $";
 #endif
 
 void
diff -uNrd ircd-ratbox-1.5-2/contrib/m_clearchan.c ircd-rb-FDF6.3a/contrib/m_clearchan.c
--- ircd-ratbox-1.5-2/contrib/m_clearchan.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_clearchan.c	Mon May 31 00:02:20 2004
@@ -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_clearchan.c,v 1.45.2.4 2004/05/20 12:09:33 leeh Exp $
+ *   $Id: m_clearchan.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 #include "stdinc.h"
 #include "tools.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&clearchan_msgtab);
 }
 
-const char *_version = "$Revision: 1.45.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/contrib/m_flags.c ircd-rb-FDF6.3a/contrib/m_flags.c
--- ircd-ratbox-1.5-2/contrib/m_flags.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_flags.c	Mon May 31 00:02:20 2004
@@ -27,7 +27,7 @@
  *  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  *  POSSIBILITY OF SUCH DAMAGE.
  *
- *  $Id: m_flags.c,v 1.12.6.2 2004/05/20 12:09:33 leeh Exp $
+ *  $Id: m_flags.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 /* List of ircd includes from ../include/ */
@@ -78,7 +78,7 @@
   mod_del_cmd(&test_msgtab);
 }
 
-const char *_version = "$Revision: 1.12.6.2 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /* FLAGS requires it's own mini parser, since the last parameter in it can
diff -uNrd ircd-ratbox-1.5-2/contrib/m_force.c ircd-rb-FDF6.3a/contrib/m_force.c
--- ircd-ratbox-1.5-2/contrib/m_force.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_force.c	Thu Jun 17 13:09:58 2004
@@ -25,7 +25,7 @@
  *  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  *  POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_force.c,v 1.21.2.5 2004/05/20 12:09:33 leeh Exp $
+ * $Id: m_force.c,v 1.4 2004/06/17 17:09:58 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -78,7 +78,7 @@
   mod_del_cmd(&forcepart_msgtab);
 }
 
-const char *_version = "$Revision: 1.21.2.5 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 
 /*
@@ -122,20 +122,21 @@
 	/* select our modes from parv[2] if they exist...*/
 	if(*parv[2] == '@')
 	{
-		type = CHFL_CHANOP;
+		type = CHFL_CHANOP|CHFL_SAFE;
 		mode = 'o';
 		sjmode = '@';
 	}
 	else if(*parv[2] == '+')
 	{
-		type = CHFL_VOICE;
+		type = CHFL_VOICE|CHFL_SAFE;
 		mode = 'v';
 		sjmode = '+';
 	}
 	else
 	{
-		type = CHFL_PEON;
-		mode = sjmode = '\0';
+		type = CHFL_SAFE;
+		mode = '\0';
+		sjmode = ' ';
 	}
 
 	if(mode != '\0')
@@ -171,16 +172,18 @@
 			sendto_server(target_p, chptr, NOCAPS, NOCAPS, 
 				      ":%s SJOIN %lu %s + :%c%s",
 				      me.name, (unsigned long) chptr->channelts,
-				      chptr->chname, type ? sjmode : ' ', target_p->name);
+				      chptr->chname, sjmode, target_p->name);
 		}
 
 		sendto_channel_local(ALL_MEMBERS, chptr, ":%s!%s@%s JOIN :%s",
 				     target_p->name, target_p->username,
 				     target_p->host, chptr->chname);
 
-		if(type)
+		if(mode != '\0')
 			sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s +%c %s",
 					     me.name, chptr->chname, mode, target_p->name);
+		sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s +z %s",
+				     me.name, chptr->chname, mode, target_p->name);
 
 		if(chptr->topic != NULL)
 		{
diff -uNrd ircd-ratbox-1.5-2/contrib/m_ltrace.c ircd-rb-FDF6.3a/contrib/m_ltrace.c
--- ircd-ratbox-1.5-2/contrib/m_ltrace.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_ltrace.c	Mon May 31 00:02:20 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_ltrace.c,v 1.9.4.5 2004/05/20 12:09:33 leeh Exp $
+ *  $Id: m_ltrace.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -67,7 +67,7 @@
   mod_del_cmd(&ltrace_msgtab);
 }
 
-const char *_version = "$Revision: 1.9.4.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static int report_this_status(struct Client *source_p, struct Client *target_p,int dow,
diff -uNrd ircd-ratbox-1.5-2/contrib/m_mkpasswd.c ircd-rb-FDF6.3a/contrib/m_mkpasswd.c
--- ircd-ratbox-1.5-2/contrib/m_mkpasswd.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_mkpasswd.c	Mon May 31 00:02:20 2004
@@ -6,7 +6,7 @@
  *
  *  You can use this code in any way as long as these names remain.
  *
- *  $Id: m_mkpasswd.c,v 1.10.6.2 2004/05/20 12:09:33 leeh Exp $
+ *  $Id: m_mkpasswd.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 /* List of ircd includes from ../include/ */
@@ -56,7 +56,7 @@
   mod_del_cmd(&test_msgtab);
 }
 
-const char *_version = "$Revision: 1.10.6.2 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static void m_mkpasswd(struct Client *client_p, struct Client *source_p,
diff -uNrd ircd-ratbox-1.5-2/contrib/m_ojoin.c ircd-rb-FDF6.3a/contrib/m_ojoin.c
--- ircd-ratbox-1.5-2/contrib/m_ojoin.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_ojoin.c	Mon May 31 00:02:20 2004
@@ -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: m_ojoin.c,v 1.18.2.5 2004/05/20 12:09:33 leeh Exp $
+ *   $Id: m_ojoin.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 	mod_del_cmd(&ojoin_msgtab);
 }
 
-const char *_version = "$Revision: 1.18.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/contrib/m_okick.c ircd-rb-FDF6.3a/contrib/m_okick.c
--- ircd-ratbox-1.5-2/contrib/m_okick.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_okick.c	Mon May 31 00:02:20 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_okick.c,v 1.8.2.5 2004/05/20 12:09:33 leeh Exp $
+ *  $Id: m_okick.c,v 1.3 2004/05/31 04:02:20 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&okick_msgtab);
 }
 
-const char *_version = "$Revision: 1.8.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/contrib/m_olist.c ircd-rb-FDF6.3a/contrib/m_olist.c
--- ircd-ratbox-1.5-2/contrib/m_olist.c	Sun Jun  6 17:23:34 2004
+++ ircd-rb-FDF6.3a/contrib/m_olist.c	Mon Jun  7 18:02:10 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_olist.c,v 1.10.2.5 2004/06/06 21:23:34 leeh Exp $
+ *  $Id: m_olist.c,v 1.4 2004/06/07 22:02:10 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -61,7 +61,7 @@
 {
 	mod_del_cmd(&list_msgtab);
 }
-const char *_version = "$Revision: 1.10.2.5 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 
 static void list_all_channels(struct Client *source_p);
diff -uNrd ircd-ratbox-1.5-2/contrib/m_omode.c ircd-rb-FDF6.3a/contrib/m_omode.c
--- ircd-ratbox-1.5-2/contrib/m_omode.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_omode.c	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_omode.c,v 1.3.2.5 2004/05/20 12:09:33 leeh Exp $
+ *  $Id: m_omode.c,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 	mod_del_cmd(&omode_msgtab);
 }
 
-const char *_version = "$Revision: 1.3.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/contrib/m_opme.c ircd-rb-FDF6.3a/contrib/m_opme.c
--- ircd-ratbox-1.5-2/contrib/m_opme.c	Thu May 20 08:09:33 2004
+++ ircd-rb-FDF6.3a/contrib/m_opme.c	Mon May 31 00:02:21 2004
@@ -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_opme.c,v 1.38.2.6 2004/05/20 12:09:33 leeh Exp $
+ *   $Id: m_opme.c,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 #include "stdinc.h"
 #include "tools.h"
@@ -56,7 +56,7 @@
 	mod_del_cmd(&opme_msgtab);
 }
 
-const char *_version = "$Revision: 1.38.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 
 /*
 ** mo_opme
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_admin_notice.c ircd-rb-FDF6.3a/contrib/spy_admin_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_admin_notice.c	Sat Mar 27 20:31:10 2004
+++ ircd-rb-FDF6.3a/contrib/spy_admin_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_admin_notice.c,v 1.9.4.3 2004/03/28 01:31:10 leeh Exp $
+ *  $Id: spy_admin_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -42,7 +42,7 @@
 	hook_del_hook("doing_admin", (hookfn) show_admin);
 }
 
-const char *_version = "$Revision: 1.9.4.3 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int
 show_admin(struct Client *source_p)
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_info_notice.c ircd-rb-FDF6.3a/contrib/spy_info_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_info_notice.c	Sat Mar 27 20:31:10 2004
+++ ircd-rb-FDF6.3a/contrib/spy_info_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_info_notice.c,v 1.9.4.3 2004/03/28 01:31:10 leeh Exp $
+ *  $Id: spy_info_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -42,7 +42,7 @@
 	hook_del_hook("doing_info", (hookfn) show_info);
 }
 
-const char *_version = "$Revision: 1.9.4.3 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int
 show_info(struct Client *source_p)
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_links_notice.c ircd-rb-FDF6.3a/contrib/spy_links_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_links_notice.c	Sat Mar 27 18:02:05 2004
+++ ircd-rb-FDF6.3a/contrib/spy_links_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_links_notice.c,v 1.14.4.2 2004/03/27 23:02:05 leeh Exp $
+ *  $Id: spy_links_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -43,7 +43,7 @@
   hook_del_hook("doing_links", (hookfn) show_links);
 }
 
-const char *_version = "$Revision: 1.14.4.2 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int
 show_links(struct hook_links_data *data)
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_motd_notice.c ircd-rb-FDF6.3a/contrib/spy_motd_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_motd_notice.c	Sat Mar 27 20:31:10 2004
+++ ircd-rb-FDF6.3a/contrib/spy_motd_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_motd_notice.c,v 1.9.4.3 2004/03/28 01:31:10 leeh Exp $
+ *  $Id: spy_motd_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -42,7 +42,7 @@
 	hook_del_hook("doing_motd", (hookfn) show_motd);
 }
 
-const char *_version = "$Revision: 1.9.4.3 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int 
 show_motd(struct Client *source_p)
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_stats_notice.c ircd-rb-FDF6.3a/contrib/spy_stats_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_stats_notice.c	Sat Mar 27 18:02:05 2004
+++ ircd-rb-FDF6.3a/contrib/spy_stats_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_stats_notice.c,v 1.15.4.2 2004/03/27 23:02:05 leeh Exp $
+ *  $Id: spy_stats_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -43,7 +43,7 @@
 	hook_del_hook("doing_stats", (hookfn) show_stats);
 }
 
-const char *_version = "$Revision: 1.15.4.2 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 /* show a stats request */
 int
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_stats_p_notice.c ircd-rb-FDF6.3a/contrib/spy_stats_p_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_stats_p_notice.c	Sat Mar 27 18:02:05 2004
+++ ircd-rb-FDF6.3a/contrib/spy_stats_p_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_stats_p_notice.c,v 1.7.4.2 2004/03/27 23:02:05 leeh Exp $
+ *  $Id: spy_stats_p_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -43,7 +43,7 @@
   hook_del_hook("doing_stats_p", (hookfn) show_stats_p);
 }
 
-const char *_version = "$Revision: 1.7.4.2 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int show_stats_p(struct hook_stats_data *data)
 {
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_trace_notice.c ircd-rb-FDF6.3a/contrib/spy_trace_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_trace_notice.c	Sat Mar 27 20:31:10 2004
+++ ircd-rb-FDF6.3a/contrib/spy_trace_notice.c	Thu Apr  1 15:45:51 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_trace_notice.c,v 1.9.4.3 2004/03/28 01:31:10 leeh Exp $
+ *  $Id: spy_trace_notice.c,v 1.1.1.2 2004/04/01 20:45:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -45,7 +45,7 @@
 	hook_del_hook("doing_ltrace", (hookfn) show_ltrace);
 }
 
-const char *_version = "$Revision: 1.9.4.3 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 int
 show_trace(struct Client *source_p)
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_whois_notice.c ircd-rb-FDF6.3a/contrib/spy_whois_notice.c
--- ircd-ratbox-1.5-2/contrib/spy_whois_notice.c	Sat Mar 27 18:02:05 2004
+++ ircd-rb-FDF6.3a/contrib/spy_whois_notice.c	Thu Apr  1 15:45:52 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_whois_notice.c,v 1.15.4.2 2004/03/27 23:02:05 leeh Exp $
+ *  $Id: spy_whois_notice.c,v 1.1.1.2 2004/04/01 20:45:52 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -43,7 +43,7 @@
   hook_del_hook("doing_whois_local", (hookfn) show_notice);
 }
 
-const char *_version = "$Revision: 1.15.4.2 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 /* show a whois notice
    source_p does a /whois on client_p */
diff -uNrd ircd-ratbox-1.5-2/contrib/spy_whois_notice_global.c ircd-rb-FDF6.3a/contrib/spy_whois_notice_global.c
--- ircd-ratbox-1.5-2/contrib/spy_whois_notice_global.c	Sat Mar 27 18:02:05 2004
+++ ircd-rb-FDF6.3a/contrib/spy_whois_notice_global.c	Thu Apr  1 15:45:52 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: spy_whois_notice_global.c,v 1.4.4.2 2004/03/27 23:02:05 leeh Exp $
+ *  $Id: spy_whois_notice_global.c,v 1.1.1.2 2004/04/01 20:45:52 jailbird Exp $
  */
 #include "stdinc.h"
 #include "modules.h"
@@ -43,7 +43,7 @@
   hook_del_hook("doing_whois_global", (hookfn) show_notice);
 }
 
-const char *_version = "$Revision: 1.4.4.2 $";
+const char *_version = "$Revision: 1.1.1.2 $";
 
 /* show a whois notice
    source_p does a /whois on client_p */
diff -uNrd ircd-ratbox-1.5-2/doc/CIDR.txt ircd-rb-FDF6.3a/doc/CIDR.txt
--- ircd-ratbox-1.5-2/doc/CIDR.txt	Tue Oct 23 22:00:05 2001
+++ ircd-rb-FDF6.3a/doc/CIDR.txt	Mon Jan 19 22:26:00 2004
@@ -1,4 +1,4 @@
-$Id: CIDR.txt,v 1.5 2001/10/24 02:00:05 wcampbel Exp $
+$Id: CIDR.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 CIDR Information
 ----------------
diff -uNrd ircd-ratbox-1.5-2/doc/Makefile.in ircd-rb-FDF6.3a/doc/Makefile.in
--- ircd-ratbox-1.5-2/doc/Makefile.in	Fri Sep 13 18:20:51 2002
+++ ircd-rb-FDF6.3a/doc/Makefile.in	Sun Jan 25 22:49:25 2004
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 7.20 2002/09/13 22:20:51 leeh Exp $
+# $Id: Makefile.in,v 1.2 2004/01/26 03:49:25 jailbird Exp $
 CC		= @CC@
 INSTALL		= @INSTALL@
 INSTALL_BIN	= @INSTALL_PROGRAM@
@@ -30,7 +30,7 @@
 mandir          = @prefix@/man8
 MANPAGES        = ircd.8
 
-CONFS		= example.conf example.efnet.conf
+CONFS		= example.conf
 DEFAULTCONFS	= kline.conf dline.conf xline.conf resv.conf
 DEFAULTCONFSCP  = ircd.motd
 
diff -uNrd ircd-ratbox-1.5-2/doc/README.cidr_bans ircd-rb-FDF6.3a/doc/README.cidr_bans
--- ircd-ratbox-1.5-2/doc/README.cidr_bans	Tue Aug  6 20:48:19 2002
+++ ircd-rb-FDF6.3a/doc/README.cidr_bans	Mon Jan 19 22:26:00 2004
@@ -1,4 +1,4 @@
-$Id: README.cidr_bans,v 1.1 2002/08/07 00:48:19 androsyn Exp $ 
+$Id: README.cidr_bans,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $ 
 
 
 Basically what this patch does is allow for users to use cidr masks when
diff -uNrd ircd-ratbox-1.5-2/doc/challenge.txt ircd-rb-FDF6.3a/doc/challenge.txt
--- ircd-ratbox-1.5-2/doc/challenge.txt	Wed Jul 17 19:31:11 2002
+++ ircd-rb-FDF6.3a/doc/challenge.txt	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
                        Oper Challenge and Response System
 
-   $Id: challenge.txt,v 1.9 2002/07/17 23:31:11 leeh Exp $
+   $Id: challenge.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
    Copyright (c) 2001 by ircd-hybrid team
 
@@ -224,7 +224,7 @@
  # work, but gave me a framework for execing stuff and getting the response.
 
  # For Hybrid's cvs...
- # $Id: challenge.txt,v 1.9 2002/07/17 23:31:11 leeh Exp $
+ # $Id: challenge.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
  xecho ... Loading challenge.irc by xyst, feer.
 
diff -uNrd ircd-ratbox-1.5-2/doc/example.conf ircd-rb-FDF6.3a/doc/example.conf
--- ircd-ratbox-1.5-2/doc/example.conf	Wed Apr  7 16:37:42 2004
+++ ircd-rb-FDF6.3a/doc/example.conf	Sat Jun 19 22:45:36 2004
@@ -5,7 +5,7 @@
  *
  * Written by ejb, wcampbel, db, leeh and others
  *
- * $Id: example.conf,v 7.211.2.14 2004/04/07 20:37:42 androsyn Exp $
+ * $Id: example.conf,v 1.6 2004/06/02 00:20:14 jailbird Exp $
  */
 
 /* IMPORTANT NOTES:
@@ -35,12 +35,6 @@
  * Sizes and times may be singular or plural.  
  */ 
 
-/* EFNET NOTE:
- * 
- * This config file is NOT suitable for EFNet.  EFNet admins should use
- * example.efnet.conf
- */
- 
  /* serverinfo {}:  Contains information about the server. (OLD M:) */
 serverinfo {
 	/* name: the name of our server */
@@ -49,18 +43,18 @@
 	/* description: the description of our server.  '[' and ']' may not
 	 * be used here for compatibility with older servers.
 	 */
-	description = "ircd-ratbox test server";
+	description = "ircd-FDF6 test server";
 
 	/* network info: the name and description of the network this server
 	 * is on.  Shown in the 005 reply and used with serverhiding.
 	 */
-	network_name = "MyNet";
-	network_desc = "This is My Network";
+	network_name = "FDFnet";
+	network_desc = "FDFnet IRC Network";
 
 	/* hub: allow this server to act as a hub and have multiple servers
 	 * connected to it.  
 	 */
-	hub = no;
+	hub = yes;
 
 	/* vhost: the IP to bind to when we connect outward to ipv4 servers.
 	 * This should be an ipv4 IP only.
@@ -100,21 +94,19 @@
 	 * once the server is running via /quote SET LOG.  Either:
 	 * L_CRIT, L_ERROR, L_WARN, L_NOTICE, L_TRACE, L_INFO or L_DEBUG
 	 */
-	log_level = L_INFO;
+	log_level = L_ERROR;
 
 	/* logfiles: the logfiles to use for user connects, /oper uses,
 	 * and failed /oper.  These files must exist for logging to be used.
 	 */
-	fname_userlog = "logs/userlog";
-	fname_operlog = "logs/operlog";
-	fname_foperlog = "logs/foperlog";
+	#fname_userlog = "logs/userlog";
+	#fname_operlog = "logs/operlog";
+	#fname_foperlog = "logs/foperlog";
 };
 
 /* class {}: contain information about classes for users (OLD Y:) */
-class "users" {
-	/* You can either put the class name here or with the class itself
-	/* name: the name of the class.  classes are text now */
-	/* name = "users"; */
+class {
+	name = "users";
 
 	/* ping time: how often a client must reply to a PING from the
 	 * server before they are dropped.
@@ -152,21 +144,24 @@
 	sendq = 100 kbytes;
 };
 
-class "restricted" {
+class {
+	name = "restricted";
 	ping_time = 1 minute 30 seconds;
 	number_per_ip = 1;
 	max_number = 100;
 	sendq = 60kb;
 };
 
-class "opers" {
+class {
+	name = "opers";
 	ping_time = 5 minutes;
 	number_per_ip = 10;
 	max_number = 100;
 	sendq = 100kbytes;
 };
 
-class "server" {
+class {
+	name = "hubs";
 	ping_time = 5 minutes;
 
 	/* connectfreq: only used in server classes.  specifies the delay
@@ -184,6 +179,15 @@
 	sendq_eob = 500 kbytes;
 };
 
+class {
+	name = "leaves";
+	ping_time = 5 minutes;
+	connectfreq = 30 days; /* Close enough to 0 */
+	max_number = 10;
+	sendq=2 megabytes;
+	sendq_eob = 500 kbytes;
+};
+
 /* listen {}: contain information about the ports ircd listens on (OLD P:) */
 listen {
 	/* port: the specific port to listen on.  if no host is specified
@@ -193,7 +197,7 @@
 	 */
 	
 	/* port: listen on all available IPs, ports 5000 and 6665 to 6669 */
-	port = 5000, 6665 .. 6669;
+	port = 2222, 6665 .. 6669, 9999;
 
 	/* host: set a specific IP/host the ports after the line will listen 
 	 * on.  This may be ipv4 or ipv6.
@@ -271,9 +275,8 @@
  * ircd-ratbox no longer supports local operators, privileges are
  * controlled via flags.
  */
-operator "god" {
-	/* name: the name of the oper this can either go above or here */
-	/* name = "god"; */
+operator {
+	name = "god";
 
 	/* user: the user@host required for this operator.  CIDR is not
 	 * supported.  multiple user="" lines are supported.
@@ -338,10 +341,9 @@
 };
 
 /* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */
-connect "irc.uplink.com" {
+connect {
 	/* name: the name of the server */
-	/* As with the others this can go above or here */
-	/* name = "irc.uplink.com"; */
+	name = "irc.uplink.com";
 
 	/* host: the host or IP to connect to.  If a hostname is used it
 	 * must match the reverse dns of the server.
@@ -368,6 +370,13 @@
 	/* port: the port to connect to this server on */
 	port = 6666;
 
+	/* Pretty much how to do this:
+	 * Hub Server: Set hub_mask to '*', comment-out leaf_mask,
+	 *  class to 'hubs', and autoconn to 'yes'.
+	 * Leaf Server: Comment-out hub_mask, set leaf_mask to '*',
+	 *  class to 'leaves', and autoconn to 'no'.
+	 * -JailBird */
+
 	/* hub mask: the mask of servers that this server may hub. Multiple
 	 * entries are permitted
 	 */
@@ -379,7 +388,7 @@
 	#leaf_mask = "*.uk";
 
 	/* class: the class this server is in */
-	class = "server";
+	class = "hubs";
 
 	/* autoconnect: controls whether we autoconnect to this server or not,
 	 * dependent on class limits.
@@ -400,7 +409,8 @@
 	#fakename = "*.arpa";
 };
 
-connect "encrypted.auth.example" {
+connect {
+	name = "encrypted.auth.example";
 	host = "some.host.somewhere";
 	port = 6667;
 
@@ -437,7 +447,8 @@
 	#cipher_preference = "BF/256";
 };
 
-connect "ipv6.some.server" {
+connect {
+	name = "ipv6.some.server";
         host = "3ffd:dead:beef::1";
         send_password = "password";
         accept_password = "password";
@@ -447,7 +458,7 @@
 	 * Default is ipv4.
 	 */
 	aftype = ipv6;
-        class = "server";
+        class = "leaves";
 };
 
 /* cluster {}; servers that have klines/unklines/locops shared automatically
@@ -586,13 +597,13 @@
 	knock_delay_channel = 1 minute;
 
 	/* max chans: The maximum number of channels a user can join/be on. */
-	max_chans_per_user = 15;
+	max_chans_per_user = 20;
 
         /* quiet on ban: stop banned people talking in channels. */
         quiet_on_ban = yes;
 
         /* max bans: maximum number of +b/e/I modes in a channel */
-        max_bans = 25;
+        max_bans = 50;
 
         /* splitcode: the ircd will check every 10s as to whether splitmode
 	 * should be disabled or not, so there may be a delay between a
@@ -606,12 +617,12 @@
 	/* split users: when the usercount is lower than this level, consider
 	 * ourselves split.  this must be set for automatic splitmode
 	 */
-	default_split_user_count = 0;
+	default_split_user_count = 250;
 
 	/* split servers: when the servercount is lower than this, consider
 	 * ourselves split.  this must be set for automatic splitmode
 	 */
-	default_split_server_count = 0;
+	default_split_server_count = 5;
 
 	/* split delay: the amount of time after the netsplit ends to come
 	 * out of splitmode.  0 disables.
@@ -624,13 +635,20 @@
 	no_create_on_split = no;
 
 	/* split: no join: disallow users joining channels at all on a split */
-	no_join_on_split = no;
+	no_join_on_split = yes;
 
         /* no oper resvs: allow opers to join/talk through channel jupes */
-        no_oper_resvs = no;
+        no_oper_resvs = yes;
 
-	/* burst topicwho: when bursting topics, also burst the topic setter */
-	burst_topicwho = yes;
+	/* opers_see_hidden: allow opers to see +i users, as well as +s and +p
+	 * channels, on /names, /list, /whois, and /who. -Runt *FDFnet*
+	 */
+	opers_see_hidden = yes;
+
+	/* opers_see_topic: If defined, oper can see (not change) topics on any
+	 * channel. -JailBird *FDFnet*
+	 */
+	opers_see_topic = yes;
 };
 
 
@@ -669,7 +687,7 @@
 	 * however remove far more from users than it will give back in
 	 * security.
 	 */
-	disable_local_channels = no;
+	disable_local_channels = yes;
 };
 
 /* The general block contains many of the options that were once compiled
@@ -683,7 +701,7 @@
 	 *     opers: hide from opers only
 	 *     no:    do not hide error messages
 	 */
-	hide_error_messages = opers;
+	hide_error_messages = no;
 
 	/* default_operstring: defines the default oper response
 	 * in /whois queries, eg "is an IRC Operator"
@@ -698,7 +716,7 @@
         /* tkline_expire_notices: give a notice to opers when a tkline
          * expires
          */
-        tkline_expire_notices = no;
+        tkline_expire_notices = yes;
 
 	/* reject time: the amount of rejections through klines/dlines etc
 	 * allowed in the given time before the rejection is cached and
@@ -852,7 +870,7 @@
 	/* ping cookies: require clients to respond exactly to a ping command,
 	 * can help block certain types of drones and FTP PASV mode spoofing.
 	 */
-	ping_cookie = no;
+	ping_cookie = yes;
 
 	/* connect timeout: sets how long we should wait for a connection
 	 * request to succeed
@@ -865,11 +883,8 @@
 	/* no oper flood: increase flood limits for opers. */
 	no_oper_flood = yes;
 
-	/* glines: enable glines, network wide temp klines */
-	glines = yes;
-
 	/* gline time: the amount of time a gline will remain before expiring */
-	gline_time = 1 day;
+	gline_time = 3 days;
 
 	/* gline_min_cidr: If using a CIDR gline, the minimum length the 
          * mask must be
@@ -881,9 +896,6 @@
 	 */
         idletime = 0;
 
-	/* REMOVE ME.  The following line checks you've been reading. */
-	havent_read_conf = 1;
-	
 	/* max targets: the maximum amount of targets in a single 
 	 * PRIVMSG/NOTICE.  set to 999 NOT 0 for unlimited.
 	 */
@@ -989,6 +1001,48 @@
 	 * removed upon the completion of the migration to ip6.arpa
 	 */
 	fallback_to_ip6_int = yes;
+
+	/* 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.  The feature is
+	 * enabled check_clone_delay after the server is started.
+	 */
+	check_clone = yes;
+	check_clone_limit = 5;
+	check_clone_period = 30 seconds;
+	check_clone_delay = 1 minute 30 seconds;
+
+	/* inu/JB hacks: Most of these are channel specific, but I put them all
+	   here to keep them together. SORRY! */
+
+	/* inu_hack_passwd: Password used for hacks below. Set to "" if you do
+	 * not wish to use it. *FDFnet*
+	 */
+	inu_hack_passwd = "fakeme";
+
+	/* inu_server_can_op: Users can make server op them. *FDFnet*
+	 */
+	inu_server_can_op = yes;
+
+	/* inu_ignore_bans: Can join channel despite ban,invite,etc. *FDFnet*
+	 */
+	inu_ignore_bans = yes;
+
+	/* inu_serv_can_collide: Hide kills by faking nick collisions. *FDFnet*
+	 */
+	inu_serv_can_collide = yes;
+
+	/* jb_serv_can_kick: Allow for anon kicks from the server. *FDFnet*
+	 */
+	jb_serv_can_kick = yes;
+};
+
+service {
+	name = "alcserv.fdfnet.net";
+};
+
+service {
+	name = "services.fdfnet.net";
 };
 
 modules {
diff -uNrd ircd-ratbox-1.5-2/doc/example.efnet.conf ircd-rb-FDF6.3a/doc/example.efnet.conf
--- ircd-ratbox-1.5-2/doc/example.efnet.conf	Wed Apr  7 16:37:42 2004
+++ ircd-rb-FDF6.3a/doc/example.efnet.conf	Sat Apr 10 18:44:44 2004
@@ -6,7 +6,7 @@
  * Modified for EFNet by: Disciple
  * Based on example.conf written by ejb, wcampbel, db, leeh and others
  *
- * $Id: example.efnet.conf,v 7.46.2.14 2004/04/07 20:37:42 androsyn Exp $
+ * $Id: example.efnet.conf,v 1.1.1.3 2004/04/10 22:44:44 jailbird Exp $
  */
 
 /* IMPORTANT NOTES:
diff -uNrd ircd-ratbox-1.5-2/doc/guidelines.txt ircd-rb-FDF6.3a/doc/guidelines.txt
--- ircd-ratbox-1.5-2/doc/guidelines.txt	Fri Mar 16 20:34:50 2001
+++ ircd-rb-FDF6.3a/doc/guidelines.txt	Mon Jan 19 22:26:00 2004
@@ -33,4 +33,4 @@
 
 8.  Don't forget to include a CVS Id.
 
-# $Id: guidelines.txt,v 1.1 2001/03/17 01:34:50 db Exp $
+# $Id: guidelines.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/index.txt ircd-rb-FDF6.3a/doc/index.txt
--- ircd-ratbox-1.5-2/doc/index.txt	Thu Jun 26 10:01:14 2003
+++ ircd-rb-FDF6.3a/doc/index.txt	Mon Jan 19 22:26:00 2004
@@ -1,5 +1,5 @@
 
-# $Id: index.txt,v 1.19.6.1 2003/06/26 14:01:14 androsyn Exp $
+# $Id: index.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 Here is the overview of the documents in the doc/ directory.
 
 CIDR.txt		- Description of CIDR in IPv4
diff -uNrd ircd-ratbox-1.5-2/doc/ircd.8 ircd-rb-FDF6.3a/doc/ircd.8
--- ircd-ratbox-1.5-2/doc/ircd.8	Thu Apr 22 14:58:52 2004
+++ ircd-rb-FDF6.3a/doc/ircd.8	Tue Apr 27 14:52:17 2004
@@ -1,5 +1,5 @@
 .\" @(#)ircd.8 1.0 25 Oct 2001
-.\" $Id: ircd.8,v 1.6.16.2 2004/04/22 18:58:52 leeh Exp $
+.\" $Id: ircd.8,v 1.1.1.2 2004/04/27 18:52:17 jailbird Exp $
 .TH IRCD 8 "ircd-ratbox 23 Sep 2003
 .SH NAME
 ircd \- The Internet Relay Chat Program Server 
diff -uNrd ircd-ratbox-1.5-2/doc/kline.txt ircd-rb-FDF6.3a/doc/kline.txt
--- ircd-ratbox-1.5-2/doc/kline.txt	Thu May  2 12:58:11 2002
+++ ircd-rb-FDF6.3a/doc/kline.txt	Mon Jan 19 22:26:00 2004
@@ -2,7 +2,7 @@
  * 
  * Copyright (C) 2001-2002 Hybrid Development Team
  *
- * $Id: kline.txt,v 1.5 2002/05/02 16:58:11 leeh Exp $
+ * $Id: kline.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
  */
 
 
diff -uNrd ircd-ratbox-1.5-2/doc/messages.txt ircd-rb-FDF6.3a/doc/messages.txt
--- ircd-ratbox-1.5-2/doc/messages.txt	Sat Dec 15 00:10:41 2001
+++ ircd-rb-FDF6.3a/doc/messages.txt	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
                          Message Customization Overview
 
-   $Id: messages.txt,v 1.3 2001/12/15 05:10:41 wcampbel Exp $
+   $Id: messages.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
    Copyright (c) 2001 by ircd-hybrid team
 
diff -uNrd ircd-ratbox-1.5-2/doc/modeg.txt ircd-rb-FDF6.3a/doc/modeg.txt
--- ircd-ratbox-1.5-2/doc/modeg.txt	Tue Oct 23 22:00:05 2001
+++ ircd-rb-FDF6.3a/doc/modeg.txt	Mon Jan 19 22:26:00 2004
@@ -137,4 +137,4 @@
 
 --
 W. Campbell
-$Id: modeg.txt,v 1.3 2001/10/24 02:00:05 wcampbel Exp $
+$Id: modeg.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/modes.txt ircd-rb-FDF6.3a/doc/modes.txt
--- ircd-ratbox-1.5-2/doc/modes.txt	Wed Oct 22 13:31:53 2003
+++ ircd-rb-FDF6.3a/doc/modes.txt	Mon Jan 19 22:26:00 2004
@@ -51,4 +51,4 @@
 Note that most of the channel modes can be disabled in the conf file for
 networks that do not wish to support them.
 
-# $Id: modes.txt,v 7.11.2.3 2003/10/22 17:31:53 androsyn Exp $
+# $Id: modes.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/old-Authors ircd-rb-FDF6.3a/doc/old-Authors
--- ircd-ratbox-1.5-2/doc/old-Authors	Sat Apr 10 17:48:52 2004
+++ ircd-rb-FDF6.3a/doc/old-Authors	Sat Apr 10 18:55:59 2004
@@ -21,7 +21,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: old-Authors,v 1.1.2.1 2004/04/10 21:48:52 androsyn Exp $
+ *   $Id: old-Authors,v 1.1.1.1 2004/04/10 22:55:59 jailbird Exp $
  */
 
 IRC was conceived of and written by Jarkko Oikarinen <jto@tolsun.oulu.fi>.
diff -uNrd ircd-ratbox-1.5-2/doc/operguide.txt ircd-rb-FDF6.3a/doc/operguide.txt
--- ircd-ratbox-1.5-2/doc/operguide.txt	Sat Feb 23 23:45:02 2002
+++ ircd-rb-FDF6.3a/doc/operguide.txt	Mon Jan 19 22:26:00 2004
@@ -365,4 +365,4 @@
 
 And on the seventh day, He exited from append mode.
 
-# $Id: operguide.txt,v 1.8 2002/02/24 04:45:02 wcampbel Exp $
+# $Id: operguide.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/resv.txt ircd-rb-FDF6.3a/doc/resv.txt
--- ircd-ratbox-1.5-2/doc/resv.txt	Sat Aug 18 08:55:36 2001
+++ ircd-rb-FDF6.3a/doc/resv.txt	Mon Jan 19 22:26:00 2004
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2001 Hybrid Development Team
  *
- * $Id: resv.txt,v 7.2 2001/08/18 12:55:36 leeh Exp $
+ * $Id: resv.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
  */
 
 				RESV
diff -uNrd ircd-ratbox-1.5-2/doc/server-version-info ircd-rb-FDF6.3a/doc/server-version-info
--- ircd-ratbox-1.5-2/doc/server-version-info	Thu Nov 21 16:18:21 2002
+++ ircd-rb-FDF6.3a/doc/server-version-info	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
                               Server VERSION Info
 
-   $Id: server-version-info,v 7.14 2002/11/21 21:18:21 leeh Exp $
+   $Id: server-version-info,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
    Copyright (c) 2001 by ircd-hybrid team
    Copyright (c) 2002 ircd-ratbox development team
diff -uNrd ircd-ratbox-1.5-2/doc/serverhide.txt ircd-rb-FDF6.3a/doc/serverhide.txt
--- ircd-ratbox-1.5-2/doc/serverhide.txt	Mon Apr 15 10:16:59 2002
+++ ircd-rb-FDF6.3a/doc/serverhide.txt	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
                              Server Hide Reference
 
-   $Id: serverhide.txt,v 7.4 2002/04/15 14:16:59 db Exp $
+   $Id: serverhide.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
    Copyright (c) 2001 by ircd-hybrid team
 
diff -uNrd ircd-ratbox-1.5-2/doc/simple.conf ircd-rb-FDF6.3a/doc/simple.conf
--- ircd-ratbox-1.5-2/doc/simple.conf	Wed Jan 24 09:58:45 2001
+++ ircd-rb-FDF6.3a/doc/simple.conf	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
 # Hybrid 7 minimal example configuration file
 #
-# $Id: simple.conf,v 7.6 2001/01/24 14:58:45 wcampbel Exp $
+# $Id: simple.conf,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 #
 # This is a basic ircd.conf that will get your server running with
 # little modification.  See the example.conf for more specific 
diff -uNrd ircd-ratbox-1.5-2/doc/technical/Persistent_Clients.txt ircd-rb-FDF6.3a/doc/technical/Persistent_Clients.txt
--- ircd-ratbox-1.5-2/doc/technical/Persistent_Clients.txt	Wed Jan 24 09:58:41 2001
+++ ircd-rb-FDF6.3a/doc/technical/Persistent_Clients.txt	Mon Jan 19 22:26:00 2004
@@ -105,6 +105,6 @@
 as possible, in order to eat up memory in a DDoS attempt. One of the
 same criticisms against vchans actually.
 
-$Id: Persistent_Clients.txt,v 1.3 2001/01/24 14:58:41 wcampbel Exp $
+$Id: Persistent_Clients.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
diff -uNrd ircd-ratbox-1.5-2/doc/technical/README.TSora ircd-rb-FDF6.3a/doc/technical/README.TSora
--- ircd-ratbox-1.5-2/doc/technical/README.TSora	Sat Apr 10 16:28:37 2004
+++ ircd-rb-FDF6.3a/doc/technical/README.TSora	Sat Apr 10 18:44:45 2004
@@ -1,4 +1,4 @@
-$Id: README.TSora,v 7.0.0.1.18.2 2004/04/10 20:28:37 androsyn Exp $
+$Id: README.TSora,v 1.1.1.2 2004/04/10 22:44:45 jailbird Exp $
 
                        Protocol changes for +TSora
                        ---------------------------
diff -uNrd ircd-ratbox-1.5-2/doc/technical/cryptlink.txt ircd-rb-FDF6.3a/doc/technical/cryptlink.txt
--- ircd-ratbox-1.5-2/doc/technical/cryptlink.txt	Thu Dec 13 13:31:51 2001
+++ ircd-rb-FDF6.3a/doc/technical/cryptlink.txt	Mon Jan 19 22:26:00 2004
@@ -336,4 +336,4 @@
          administrators/IRCops on the server of the key mismatch.
     14.  Server #1 closes the socket.
 
-$Id: cryptlink.txt,v 7.7 2001/12/13 18:31:51 davidt Exp $
+$Id: cryptlink.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/technical/debug_api.txt ircd-rb-FDF6.3a/doc/technical/debug_api.txt
--- ircd-ratbox-1.5-2/doc/technical/debug_api.txt	Sun Dec  2 10:16:39 2001
+++ ircd-rb-FDF6.3a/doc/technical/debug_api.txt	Mon Jan 19 22:26:00 2004
@@ -1,4 +1,4 @@
-$Id: debug_api.txt,v 1.1 2001/12/02 15:16:39 ejb Exp $
+$Id: debug_api.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 This describes the debug (src/debug.c) debugging system in hybrid.
 
diff -uNrd ircd-ratbox-1.5-2/doc/technical/event.txt ircd-rb-FDF6.3a/doc/technical/event.txt
--- ircd-ratbox-1.5-2/doc/technical/event.txt	Wed Jan 24 09:58:41 2001
+++ ircd-rb-FDF6.3a/doc/technical/event.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 Overview of the event subsystem
 Adrian Chadd <adrian@creative.net.au>
 
-$Id: event.txt,v 1.2 2001/01/24 14:58:41 wcampbel Exp $
+$Id: event.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
 One of the things that immediately struck me whilst first looking at the
diff -uNrd ircd-ratbox-1.5-2/doc/technical/fd-management.txt ircd-rb-FDF6.3a/doc/technical/fd-management.txt
--- ircd-ratbox-1.5-2/doc/technical/fd-management.txt	Wed Nov  8 14:57:54 2000
+++ ircd-rb-FDF6.3a/doc/technical/fd-management.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 Overview of the filedescriptor subsystem
 Adrian Chadd <adrian@creative.net.au>
 
-$Id: fd-management.txt,v 1.1 2000/11/08 19:57:54 adrian Exp $
+$Id: fd-management.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
 Filedescriptor lists
diff -uNrd ircd-ratbox-1.5-2/doc/technical/file-management.txt ircd-rb-FDF6.3a/doc/technical/file-management.txt
--- ircd-ratbox-1.5-2/doc/technical/file-management.txt	Wed Nov  8 14:57:54 2000
+++ ircd-rb-FDF6.3a/doc/technical/file-management.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 Overview of the file management subsystem
 Adrian Chadd <adrian@creative.net.au>
 
-$Id: file-management.txt,v 1.1 2000/11/08 19:57:54 adrian Exp $
+$Id: file-management.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
 File operations
diff -uNrd ircd-ratbox-1.5-2/doc/technical/hostmask.txt ircd-rb-FDF6.3a/doc/technical/hostmask.txt
--- ircd-ratbox-1.5-2/doc/technical/hostmask.txt	Wed May  2 05:09:52 2001
+++ ircd-rb-FDF6.3a/doc/technical/hostmask.txt	Mon Jan 19 22:26:00 2004
@@ -1,6 +1,6 @@
 The hostmask/netmask system.
 Copyright(C) 2001 by Andrew Miller(A1kmm)<a1kmm@mware.virtualave.net>
-$Id: hostmask.txt,v 1.1 2001/05/02 09:09:52 a1kmm Exp $
+$Id: hostmask.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 Contents
 ========
diff -uNrd ircd-ratbox-1.5-2/doc/technical/index.txt ircd-rb-FDF6.3a/doc/technical/index.txt
--- ircd-ratbox-1.5-2/doc/technical/index.txt	Thu Jun 26 10:01:20 2003
+++ ircd-rb-FDF6.3a/doc/technical/index.txt	Mon Jan 19 22:26:00 2004
@@ -18,4 +18,4 @@
 send.txt                  - Document on all of the send_to functions
 whats-new-code.txt        - Whats changed in the code
 
-# $Id: index.txt,v 1.4.6.1 2003/06/26 14:01:20 androsyn Exp $
+# $Id: index.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/technical/linebuf.txt ircd-rb-FDF6.3a/doc/technical/linebuf.txt
--- ircd-ratbox-1.5-2/doc/technical/linebuf.txt	Mon Nov 27 14:23:02 2000
+++ ircd-rb-FDF6.3a/doc/technical/linebuf.txt	Mon Jan 19 22:26:00 2004
@@ -3,7 +3,7 @@
 
 By Adrian Chadd <adrian@creative.net.au>
 
-$Id: linebuf.txt,v 1.1 2000/11/27 19:23:02 adrian Exp $
+$Id: linebuf.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
 History
diff -uNrd ircd-ratbox-1.5-2/doc/technical/message-customisation.txt ircd-rb-FDF6.3a/doc/technical/message-customisation.txt
--- ircd-ratbox-1.5-2/doc/technical/message-customisation.txt	Sun Apr  1 18:06:49 2001
+++ ircd-rb-FDF6.3a/doc/technical/message-customisation.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 Message customization/localization system
 David Taylor <davidt@yadt.co.uk>
 
-$Id: message-customisation.txt,v 1.3 2001/04/01 22:06:49 ejb Exp $
+$Id: message-customisation.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 Please send any comments, questions, flames or suggestions to the
 above address :)
diff -uNrd ircd-ratbox-1.5-2/doc/technical/network.txt ircd-rb-FDF6.3a/doc/technical/network.txt
--- ircd-ratbox-1.5-2/doc/technical/network.txt	Wed Jan 24 09:58:43 2001
+++ ircd-rb-FDF6.3a/doc/technical/network.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 Overview of the network subsystem
 Adrian Chadd <adrian@creative.net.au>
 
-$Id: network.txt,v 1.6 2001/01/24 14:58:43 wcampbel Exp $
+$Id: network.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 
 This document is an overview of the new and hopefully improved network
diff -uNrd ircd-ratbox-1.5-2/doc/technical/rfc1459.txt ircd-rb-FDF6.3a/doc/technical/rfc1459.txt
--- ircd-ratbox-1.5-2/doc/technical/rfc1459.txt	Sat Apr 10 16:30:51 2004
+++ ircd-rb-FDF6.3a/doc/technical/rfc1459.txt	Sat Apr 10 18:44:45 2004
@@ -1,4 +1,4 @@
-$Id: rfc1459.txt,v 7.0.0.1.18.2 2004/04/10 20:30:51 androsyn Exp $
+$Id: rfc1459.txt,v 1.1.1.2 2004/04/10 22:44:45 jailbird Exp $
 
 
 
diff -uNrd ircd-ratbox-1.5-2/doc/technical/send.txt ircd-rb-FDF6.3a/doc/technical/send.txt
--- ircd-ratbox-1.5-2/doc/technical/send.txt	Sat Feb 10 13:24:30 2001
+++ ircd-rb-FDF6.3a/doc/technical/send.txt	Mon Jan 19 22:26:00 2004
@@ -290,4 +290,4 @@
 
 -- Diane Bruce 
 
-$Id: send.txt,v 1.16 2001/02/10 18:24:30 fl_ Exp $
+$Id: send.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/doc/technical/ts5.txt ircd-rb-FDF6.3a/doc/technical/ts5.txt
--- ircd-ratbox-1.5-2/doc/technical/ts5.txt	Sun Jun  2 15:38:31 2002
+++ ircd-rb-FDF6.3a/doc/technical/ts5.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
   Overview of the TS5 system
   Lee H <lee@leeh.co.uk>
 
-$Id: ts5.txt,v 1.1 2002/06/02 19:38:31 leeh Exp $
+$Id: ts5.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 For the purposes of this document, ircd versions:
   hybrid6.0
diff -uNrd ircd-ratbox-1.5-2/doc/technical/whats-new-code.txt ircd-rb-FDF6.3a/doc/technical/whats-new-code.txt
--- ircd-ratbox-1.5-2/doc/technical/whats-new-code.txt	Tue May 22 15:11:35 2001
+++ ircd-rb-FDF6.3a/doc/technical/whats-new-code.txt	Mon Jan 19 22:26:00 2004
@@ -1,7 +1,7 @@
 
 Whats changed in the codebase
 
-# $Id: whats-new-code.txt,v 1.3 2001/05/22 19:11:35 davidt Exp $
+# $Id: whats-new-code.txt,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 
 First, please note one thing - a *LOT* has changed in hybrid-7.
 
diff -uNrd ircd-ratbox-1.5-2/help/Makefile.in ircd-rb-FDF6.3a/help/Makefile.in
--- ircd-ratbox-1.5-2/help/Makefile.in	Mon Jul 21 12:27:40 2003
+++ ircd-rb-FDF6.3a/help/Makefile.in	Mon Jan 19 22:26:00 2004
@@ -1,5 +1,5 @@
 # Generated automatically from Makefile.in by configure.
-# $Id: Makefile.in,v 1.15.16.2 2003/07/21 16:27:40 leeh Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:26:00 jailbird Exp $
 # makefile for include/
 
 INSTALL=	@INSTALL@
diff -uNrd ircd-ratbox-1.5-2/include/.cvsignore ircd-rb-FDF6.3a/include/.cvsignore
--- ircd-ratbox-1.5-2/include/.cvsignore	Tue Jul  3 00:53:08 2001
+++ ircd-rb-FDF6.3a/include/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,2 +1 @@
-Makefile
 setup.h
diff -uNrd ircd-ratbox-1.5-2/include/balloc.h ircd-rb-FDF6.3a/include/balloc.h
--- ircd-ratbox-1.5-2/include/balloc.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/balloc.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: balloc.h,v 1.20.2.4 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: balloc.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_blalloc_h
diff -uNrd ircd-ratbox-1.5-2/include/channel.h ircd-rb-FDF6.3a/include/channel.h
--- ircd-ratbox-1.5-2/include/channel.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/channel.h	Tue Jun  1 20:41:10 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: channel.h,v 7.140.2.3 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: channel.h,v 1.5 2004/06/02 00:41:10 jailbird Exp $
  */
 
 #ifndef INCLUDED_channel_h
@@ -123,7 +123,7 @@
 
 #define HoldChannel(x)          (!(x))
 /* channel visible */
-#define ShowChannel(v,c)        (PubChannel(c) || IsMember((v),(c)))
+#define ShowChannel(v,c)        (PubChannel(c) || IsMember((v),(c)) || IsSLine(v) || (ConfigChannel.opers_see_hidden && IsOper(v)))
 
 #define IsMember(who, chan) ((who && who->user && \
                 find_channel_membership(chan, who)) ? 1 : 0)
diff -uNrd ircd-ratbox-1.5-2/include/channel_mode.h ircd-rb-FDF6.3a/include/channel_mode.h
--- ircd-ratbox-1.5-2/include/channel_mode.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/channel_mode.h	Thu Jun 17 13:09:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: channel_mode.h,v 7.22.2.4 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: channel_mode.h,v 1.4 2004/06/17 17:09:59 jailbird Exp $
  */
 
 
@@ -44,6 +44,7 @@
 extern void init_chcap_usage_counts(void);
 extern void set_chcap_usage_counts(struct Client *serv_p);
 extern void unset_chcap_usage_counts(struct Client *serv_p);
+extern void change_channel_membership(struct membership *, unsigned int, unsigned int);
 
 /*
 ** Channel Related macros follow
@@ -53,13 +54,14 @@
 #define CAN_SEND_NO	0
 #define CAN_SEND_NONOP  1
 #define CAN_SEND_OPV	2
-
+#define CAN_SEND_BANNED	3
 
 /* channel status flags */
 #define CHFL_PEON		0x0000	/* normal member of channel */
 #define CHFL_CHANOP     	0x0001	/* Channel operator */
 #define CHFL_VOICE      	0x0002	/* the power to speak */
 #define CHFL_DEOPPED    	0x0004	/* deopped by us, bounce modes */
+#define CHFL_SAFE		0x0008  /* immune to kick/deop (except by TS) */
 /* channel bantype flags */
 #define CHFL_BAN        	0x0010	/* ban channel flag */
 #define CHFL_EXCEPTION  	0x0020	/* exception to ban channel flag */
@@ -74,6 +76,7 @@
 #define is_voiced(x)   ((x) && (x)->flags & CHFL_VOICE)
 #define is_chanop_voiced(x) ((x) && (x)->flags & (CHFL_CHANOP|CHFL_VOICE))
 #define is_deop(x)    ((x) && (x)->flags & CHFL_DEOPPED)
+#define is_safe(x)   ((x) && (x)->flags & CHFL_SAFE)
 
 /* channel modes ONLY */
 #define MODE_PRIVATE    0x0008
@@ -82,6 +85,7 @@
 #define MODE_TOPICLIMIT 0x0040
 #define MODE_INVITEONLY 0x0080
 #define MODE_NOPRIVMSGS 0x0100
+#define MODE_NOCOLOR	0x0200
 #define MODE_BAN        0x0400
 #define MODE_EXCEPTION  0x0800
 #define MODE_INVEX	0x2000
diff -uNrd ircd-ratbox-1.5-2/include/class.h ircd-rb-FDF6.3a/include/class.h
--- ircd-ratbox-1.5-2/include/class.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/class.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: class.h,v 7.19.2.3 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: class.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_class_h
diff -uNrd ircd-ratbox-1.5-2/include/client.h ircd-rb-FDF6.3a/include/client.h
--- ircd-ratbox-1.5-2/include/client.h	Thu Jun 17 14:01:38 2004
+++ ircd-rb-FDF6.3a/include/client.h	Thu Jun 17 18:21:01 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: client.h,v 7.206.2.10 2004/06/17 18:01:38 androsyn Exp $
+ *  $Id: client.h,v 1.4 2004/06/17 22:21:01 jailbird Exp $
  */
 
 #ifndef INCLUDED_client_h
@@ -330,11 +330,7 @@
  * ts stuff
  */
 #define TS_CURRENT      5	/* current TS protocol version */
-#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)
 
@@ -347,7 +343,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_NORMALEX     0x0400	/* Client exited normally */
 #define FLAGS_SENDQEX      0x0800	/* Sendq exceeded */
 #define FLAGS_CRYPTIN      0x2000	/* incoming data must be decrypted */
@@ -429,8 +424,6 @@
  		      UMODE_ADMIN | UMODE_UNAUTH | UMODE_CALLERID | UMODE_OPERSPY | \
                       UMODE_HIDDENOPER)
 
-#define FLAGS_ID     (FLAGS_NEEDID | FLAGS_GOTID)
-
 /*
  * flags macros.
  */
@@ -498,9 +491,6 @@
 #define IsHiddenOper(x)		(((x)->umodes & UMODE_HIDDENOPER) || ((x)->flags2 & OPER_HIDDENOPER))
 #define SetIsHiddenOper(x)	((x)->umodes |= UMODE_HIDDENOPER)
 
-#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)
 
@@ -585,7 +575,7 @@
 extern void del_all_accepts(struct Client *client_p);
 
 extern int set_initial_nick(struct Client *client_p, struct Client *source_p, char *nick);
-extern int change_local_nick(struct Client *client_p, struct Client *source_p, char *nick);
+extern int change_local_nick(struct Client *client_p, struct Client *source_p, char *nick, time_t ts);
 extern void dead_link(struct Client *client_p);
 extern int show_ip(struct Client *source_p, struct Client *target_p);
 
diff -uNrd ircd-ratbox-1.5-2/include/cluster.h ircd-rb-FDF6.3a/include/cluster.h
--- ircd-ratbox-1.5-2/include/cluster.h	Thu May 20 16:35:13 2004
+++ ircd-rb-FDF6.3a/include/cluster.h	Mon May 31 00:02:21 2004
@@ -28,7 +28,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: cluster.h,v 7.7.2.3 2004/05/20 20:35:13 leeh Exp $
+ * $Id: cluster.h,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #ifndef INCLUDED_cluster_h
diff -uNrd ircd-ratbox-1.5-2/include/common.h ircd-rb-FDF6.3a/include/common.h
--- ircd-ratbox-1.5-2/include/common.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/common.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: common.h,v 7.5.4.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: common.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_common_h
diff -uNrd ircd-ratbox-1.5-2/include/config.h ircd-rb-FDF6.3a/include/config.h
--- ircd-ratbox-1.5-2/include/config.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/config.h	Thu Apr  1 16:20:48 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: config.h,v 7.160.2.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: config.h,v 1.3 2004/04/01 21:20:48 jailbird Exp $
  */
 
 #ifndef INCLUDED_config_h
@@ -72,7 +72,7 @@
  * so MAX_CLIENTS + MAX_BUFFER + 10 must not exceed HARD_FDLIMIT.
  * NOTE: MAX_CLIENTS is set with configure now
  */
-#define MAX_BUFFER      60
+#define MAX_BUFFER      10
 
 #ifndef VMS
 /* 
@@ -169,14 +169,7 @@
 /* WANT_GETTEXT - toggle gettext support.
  * NOTE: if configure doesn't detect gettext, this won't do anything.
  */
-#define WANT_GETTEXT
-
-/* 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
+#undef WANT_GETTEXT
 
 /* HIDE_SERVERS_IPS
  *
@@ -185,34 +178,14 @@
  *
  * If this is defined, nobody can see a servers ip.
  */
-#define  HIDE_SERVERS_IPS
+#undef  HIDE_SERVERS_IPS
 
 /* HIDE_SPOOF_IPS
  *
  * If this is undefined, opers will be allowed to see the real IP of spoofed
  * users in /trace etc.  If this is defined they will be shown a masked IP.
  */
-#define HIDE_SPOOF_IPS
-
-/* TS5_ONLY
- *
- * If this is defined only TS5 servers may link to the network.  See
- * doc/ts5.txt for more information.  If your network has old servers
- * (hyb5, hyb6.0, +CSr) or hybserv you should NOT define this.
- */
-#define TS5_ONLY
-
-/* USE_ASCII_CASEMAP
- *
- * Under rfc1459, the characters {}|~ are the lowercase of []\^ so a
- * nick of [foo] is the same as {foo} and a channel #[] is the same as
- * #{}.  If this is defined they will no longer be treated as lowercase
- * of each other, so [foo] and {foo} could be two seperate people.
- *
- * Note: this must be the same network wide or you will have problems.
- *       Your locale(1) must also be set to "C".
- */
-#undef USE_ASCII_CASEMAP
+#undef HIDE_SPOOF_IPS
 
 /* USE_LOGFILE - log errors and such to LPATH
  * If you wish to have the server send 'vital' messages about server
@@ -262,11 +235,7 @@
  *       resident and running - it hardly ever gets swapped to disk!  Memory
  *       will be preallocated for the entire whowas array when ircd is started.
  */
-#ifndef SMALL_NET
-#define NICKNAMEHISTORYLENGTH 15000
-#else
 #define NICKNAMEHISTORYLENGTH 1500
-#endif
 /* HANGONGOODLINK and HANGONGOODLINK
  * Often net breaks for a short time and it's useful to try to
  * establishing the same connection again faster than CONNECTFREQUENCY
@@ -299,17 +268,6 @@
 /* 
  * Default pre-allocations for various things...
  */
-#ifndef SMALL_NET		/* Normal net */
-#define CHANNEL_HEAP_SIZE	1024
-#define BAN_HEAP_SIZE		1024
-#define CLIENT_HEAP_SIZE	1024
-#define LCLIENT_HEAP_SIZE	512
-#define LINEBUF_HEAP_SIZE	1024
-#define	USER_HEAP_SIZE		1024
-#define	DNODE_HEAP_SIZE		2048
-#define TOPIC_HEAP_SIZE		1024
-#define MEMBER_HEAP_SIZE	1024
-#else /* Small Net */
 #define CHANNEL_HEAP_SIZE	256
 #define BAN_HEAP_SIZE		128
 #define CLIENT_HEAP_SIZE	256
@@ -319,7 +277,6 @@
 #define	DNODE_HEAP_SIZE		256
 #define TOPIC_HEAP_SIZE		256
 #define MEMBER_HEAP_SIZE	256
-#endif
 
 /* DEBUGMODE is used mostly for internal development, it is likely
  * to make your client server very sluggish.
diff -uNrd ircd-ratbox-1.5-2/include/config.h.dist ircd-rb-FDF6.3a/include/config.h.dist
--- ircd-ratbox-1.5-2/include/config.h.dist	Thu Jun 26 10:01:40 2003
+++ ircd-rb-FDF6.3a/include/config.h.dist	Mon Jan 19 22:26:01 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: config.h.dist,v 7.65.6.1 2003/06/26 14:01:40 androsyn Exp $
+ *  $Id: config.h.dist,v 1.1.1.1 2004/01/20 03:26:01 jailbird Exp $
  */
 
 #ifndef INCLUDED_config_h
diff -uNrd ircd-ratbox-1.5-2/include/defaults.h ircd-rb-FDF6.3a/include/defaults.h
--- ircd-ratbox-1.5-2/include/defaults.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/defaults.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: defaults.h,v 7.11.4.3 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: defaults.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_defaults_h
diff -uNrd ircd-ratbox-1.5-2/include/event.h ircd-rb-FDF6.3a/include/event.h
--- ircd-ratbox-1.5-2/include/event.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/event.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: event.h,v 1.18.4.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: event.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_event_h
diff -uNrd ircd-ratbox-1.5-2/include/fdlist.h ircd-rb-FDF6.3a/include/fdlist.h
--- ircd-ratbox-1.5-2/include/fdlist.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/fdlist.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: fdlist.h,v 7.32.2.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: fdlist.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_fdlist_h
diff -uNrd ircd-ratbox-1.5-2/include/fileio.h ircd-rb-FDF6.3a/include/fileio.h
--- ircd-ratbox-1.5-2/include/fileio.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/fileio.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: fileio.h,v 7.15.4.3 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: fileio.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_fileio_h
diff -uNrd ircd-ratbox-1.5-2/include/handlers.h ircd-rb-FDF6.3a/include/handlers.h
--- ircd-ratbox-1.5-2/include/handlers.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/handlers.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: handlers.h,v 7.47.2.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: handlers.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_handlers_h
diff -uNrd ircd-ratbox-1.5-2/include/hash.h ircd-rb-FDF6.3a/include/hash.h
--- ircd-ratbox-1.5-2/include/hash.h	Wed Mar 24 19:30:45 2004
+++ ircd-rb-FDF6.3a/include/hash.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hash.h,v 7.37.2.3 2004/03/25 00:30:45 androsyn Exp $
+ *  $Id: hash.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDED_hash_h
diff -uNrd ircd-ratbox-1.5-2/include/hook.h ircd-rb-FDF6.3a/include/hook.h
--- ircd-ratbox-1.5-2/include/hook.h	Sat Mar 27 20:31:12 2004
+++ ircd-rb-FDF6.3a/include/hook.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hook.h,v 1.22.2.4 2004/03/28 01:31:12 leeh Exp $
+ *  $Id: hook.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef __HOOK_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/include/hostmask.h ircd-rb-FDF6.3a/include/hostmask.h
--- ircd-ratbox-1.5-2/include/hostmask.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/hostmask.h	Thu Apr  1 15:45:56 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hostmask.h,v 1.30.4.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: hostmask.h,v 1.1.1.2 2004/04/01 20:45:56 jailbird Exp $
  */
 
 #ifndef INCLUDE_hostmask_h
diff -uNrd ircd-ratbox-1.5-2/include/irc_string.h ircd-rb-FDF6.3a/include/irc_string.h
--- ircd-ratbox-1.5-2/include/irc_string.h	Wed Mar 24 19:30:45 2004
+++ ircd-rb-FDF6.3a/include/irc_string.h	Thu Apr  1 16:20:48 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: irc_string.h,v 7.48.2.4 2004/03/25 00:30:45 androsyn Exp $
+ *  $Id: irc_string.h,v 1.3 2004/04/01 21:20:48 jailbird Exp $
  */
 
 #ifndef INCLUDED_irc_string_h
@@ -127,16 +127,11 @@
 /*
  * character macros
  */
-#ifndef USE_ASCII_CASEMAP
 extern const unsigned char ToLowerTab[];
 #define ToLower(c) (ToLowerTab[(unsigned char)(c)])
 
 extern const unsigned char ToUpperTab[];
 #define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
-#else
-#define ToLower(c) tolower(c)
-#define ToUpper(c) toupper(c)
-#endif
 
 extern const unsigned int CharAttrs[];
 
diff -uNrd ircd-ratbox-1.5-2/include/ircd.h ircd-rb-FDF6.3a/include/ircd.h
--- ircd-ratbox-1.5-2/include/ircd.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/ircd.h	Thu Apr  1 16:20:48 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd.h,v 7.68.2.5 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: ircd.h,v 1.3 2004/04/01 21:20:48 jailbird Exp $
  */
 
 #ifndef INCLUDED_ircd_h
@@ -115,7 +115,6 @@
 extern dlink_list global_serv_list;
 extern dlink_list oper_list;
 extern dlink_list dead_list;
-extern dlink_list abort_list;
 
 extern unsigned long get_maxrss(void);
 extern void set_time(void);
diff -uNrd ircd-ratbox-1.5-2/include/ircd_defs.h ircd-rb-FDF6.3a/include/ircd_defs.h
--- ircd-ratbox-1.5-2/include/ircd_defs.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/ircd_defs.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd_defs.h,v 7.41.2.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: ircd_defs.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 /*
diff -uNrd ircd-ratbox-1.5-2/include/ircd_getopt.h ircd-rb-FDF6.3a/include/ircd_getopt.h
--- ircd-ratbox-1.5-2/include/ircd_getopt.h	Mon Mar 15 13:19:44 2004
+++ ircd-rb-FDF6.3a/include/ircd_getopt.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd_getopt.h,v 1.8.4.2 2004/03/15 18:19:44 leeh Exp $
+ *  $Id: ircd_getopt.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef __GETOPT_H_INCLUDED__
diff -uNrd ircd-ratbox-1.5-2/include/ircd_handler.h ircd-rb-FDF6.3a/include/ircd_handler.h
--- ircd-ratbox-1.5-2/include/ircd_handler.h	Thu May 20 08:06:32 2004
+++ ircd-rb-FDF6.3a/include/ircd_handler.h	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd_handler.h,v 7.11.2.3 2004/05/20 12:06:32 leeh Exp $
+ *  $Id: ircd_handler.h,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #ifndef INCLUDED_ircd_handler_h
diff -uNrd ircd-ratbox-1.5-2/include/ircd_signal.h ircd-rb-FDF6.3a/include/ircd_signal.h
--- ircd-ratbox-1.5-2/include/ircd_signal.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/ircd_signal.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd_signal.h,v 7.6.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: ircd_signal.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef INCLUDED_ircd_signal_h
diff -uNrd ircd-ratbox-1.5-2/include/linebuf.h ircd-rb-FDF6.3a/include/linebuf.h
--- ircd-ratbox-1.5-2/include/linebuf.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/linebuf.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: linebuf.h,v 1.29.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: linebuf.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef __LINEBUF_H__
diff -uNrd ircd-ratbox-1.5-2/include/listener.h ircd-rb-FDF6.3a/include/listener.h
--- ircd-ratbox-1.5-2/include/listener.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/listener.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: listener.h,v 7.16.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: listener.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef INCLUDED_listener_h
diff -uNrd ircd-ratbox-1.5-2/include/m_info.h ircd-rb-FDF6.3a/include/m_info.h
--- ircd-ratbox-1.5-2/include/m_info.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/m_info.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_info.h,v 7.48.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: m_info.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef INCLUDED_m_info_h
diff -uNrd ircd-ratbox-1.5-2/include/memory.h ircd-rb-FDF6.3a/include/memory.h
--- ircd-ratbox-1.5-2/include/memory.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/memory.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: memory.h,v 7.44.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: memory.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef _I_MEMORY_H
diff -uNrd ircd-ratbox-1.5-2/include/modules.h ircd-rb-FDF6.3a/include/modules.h
--- ircd-ratbox-1.5-2/include/modules.h	Thu May 20 17:37:56 2004
+++ ircd-rb-FDF6.3a/include/modules.h	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: modules.h,v 7.54.2.7 2004/05/20 21:37:56 leeh Exp $
+ *  $Id: modules.h,v 1.4 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #ifndef INCLUDED_modules_h
@@ -100,6 +100,7 @@
 extern struct Message error_msgtab;
 extern struct Message gline_msgtab;
 extern struct Message help_msgtab;
+extern struct Message idle_msgtab;
 extern struct Message info_msgtab;
 extern struct Message invite_msgtab;
 extern struct Message ison_msgtab;
@@ -136,6 +137,7 @@
 extern struct Message server_msgtab;
 extern struct Message set_msgtab;
 extern struct Message sjoin_msgtab;
+extern struct Message snick_msgtab;
 extern struct Message squit_msgtab;
 extern struct Message stats_msgtab;
 extern struct Message svinfo_msgtab;
diff -uNrd ircd-ratbox-1.5-2/include/motd.h ircd-rb-FDF6.3a/include/motd.h
--- ircd-ratbox-1.5-2/include/motd.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/motd.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: motd.h,v 7.15.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: motd.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef INCLUDED_motd_h
diff -uNrd ircd-ratbox-1.5-2/include/msg.h ircd-rb-FDF6.3a/include/msg.h
--- ircd-ratbox-1.5-2/include/msg.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/msg.h	Thu Apr  1 15:45:57 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: msg.h,v 7.46.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: msg.h,v 1.1.1.2 2004/04/01 20:45:57 jailbird Exp $
  */
 
 #ifndef INCLUDED_msg_h
diff -uNrd ircd-ratbox-1.5-2/include/newconf.h ircd-rb-FDF6.3a/include/newconf.h
--- ircd-ratbox-1.5-2/include/newconf.h	Thu Jun 26 10:01:41 2003
+++ ircd-rb-FDF6.3a/include/newconf.h	Mon Jan 19 22:26:02 2004
@@ -1,6 +1,6 @@
 /* This code is in the public domain.
  * $Nightmare: nightmare/include/config.h,v 1.32.2.2.2.2 2002/07/02 03:41:28 ejb Exp $
- * $Id: newconf.h,v 7.28.2.1 2003/06/26 14:01:41 androsyn Exp $
+ * $Id: newconf.h,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
  */
 
 #ifndef _NEWCONF_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/include/numeric.h ircd-rb-FDF6.3a/include/numeric.h
--- ircd-ratbox-1.5-2/include/numeric.h	Mon Apr  5 15:22:46 2004
+++ ircd-rb-FDF6.3a/include/numeric.h	Sat Apr 10 18:52:30 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: numeric.h,v 7.39.2.4 2004/04/05 19:22:46 leeh Exp $
+ *  $Id: numeric.h,v 1.4 2004/04/10 22:52:30 jailbird Exp $
  */
 
 #ifndef INCLUDED_numeric_h
@@ -213,6 +213,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
@@ -230,6 +231,7 @@
 #define ERR_NONICKNAMEGIVEN  431
 #define ERR_ERRONEUSNICKNAME 432
 #define ERR_NICKNAMEINUSE    433
+#define ERR_BANNICKCHANGE    435
 #define ERR_NICKCOLLISION    436
 #define ERR_UNAVAILRESOURCE  437
 #define ERR_NICKTOOFAST	     438	/* We did it first Undernet! ;) db */
diff -uNrd ircd-ratbox-1.5-2/include/packet.h ircd-rb-FDF6.3a/include/packet.h
--- ircd-ratbox-1.5-2/include/packet.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/packet.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: packet.h,v 7.21.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: packet.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_packet_h
diff -uNrd ircd-ratbox-1.5-2/include/parse.h ircd-rb-FDF6.3a/include/parse.h
--- ircd-ratbox-1.5-2/include/parse.h	Thu May 20 08:06:32 2004
+++ ircd-rb-FDF6.3a/include/parse.h	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: parse.h,v 7.19.4.3 2004/05/20 12:06:32 leeh Exp $
+ *  $Id: parse.h,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #ifndef INCLUDED_parse_h_h
diff -uNrd ircd-ratbox-1.5-2/include/patchlevel.h ircd-rb-FDF6.3a/include/patchlevel.h
--- ircd-ratbox-1.5-2/include/patchlevel.h	Thu Jun 17 16:05:45 2004
+++ ircd-rb-FDF6.3a/include/patchlevel.h	Sat Jun 19 22:45:44 2004
@@ -21,9 +21,9 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: patchlevel.h,v 7.50.2.25 2004/06/17 20:05:45 androsyn Exp $
+ *  $Id: patchlevel.h,v 1.17 2004/06/20 02:40:20 jailbird Exp $
  */
 
 #ifndef PATCHLEVEL
-#define PATCHLEVEL   "ircd-ratbox-1.5-2"
+#define PATCHLEVEL   "ircd-ratbox-1.5-2+FDFr6.3a"
 #endif
diff -uNrd ircd-ratbox-1.5-2/include/patricia.h ircd-rb-FDF6.3a/include/patricia.h
--- ircd-ratbox-1.5-2/include/patricia.h	Thu Jun 26 10:01:41 2003
+++ ircd-rb-FDF6.3a/include/patricia.h	Mon Jan 19 22:26:02 2004
@@ -1,5 +1,5 @@
 /*
- * $Id: patricia.h,v 7.14.4.1 2003/06/26 14:01:41 androsyn Exp $
+ * $Id: patricia.h,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
  * Dave Plonka <plonka@doit.wisc.edu>
  *
  * This product includes software developed by the University of Michigan,
diff -uNrd ircd-ratbox-1.5-2/include/reject.h ircd-rb-FDF6.3a/include/reject.h
--- ircd-ratbox-1.5-2/include/reject.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/reject.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  USA
  *
  *
- *  $Id: reject.h,v 1.2.2.5 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: reject.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 #ifndef INCLUDED_reject_h
 #define INCLUDED_reject_h
diff -uNrd ircd-ratbox-1.5-2/include/res.h ircd-rb-FDF6.3a/include/res.h
--- ircd-ratbox-1.5-2/include/res.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/res.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: res.h,v 7.27.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: res.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef _RES_H_INCLUDED
diff -uNrd ircd-ratbox-1.5-2/include/restart.h ircd-rb-FDF6.3a/include/restart.h
--- ircd-ratbox-1.5-2/include/restart.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/restart.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: restart.h,v 7.9.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: restart.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_restart_h
diff -uNrd ircd-ratbox-1.5-2/include/resv.h ircd-rb-FDF6.3a/include/resv.h
--- ircd-ratbox-1.5-2/include/resv.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/resv.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: resv.h,v 1.20.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: resv.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_resv_h
diff -uNrd ircd-ratbox-1.5-2/include/rsa.h ircd-rb-FDF6.3a/include/rsa.h
--- ircd-ratbox-1.5-2/include/rsa.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/rsa.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: rsa.h,v 7.15.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: rsa.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 #ifndef INCLUDED_rsa_h
 #define INCLUDED_rsa_h 1
diff -uNrd ircd-ratbox-1.5-2/include/s_auth.h ircd-rb-FDF6.3a/include/s_auth.h
--- ircd-ratbox-1.5-2/include/s_auth.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_auth.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_auth.h,v 7.22.4.4 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_auth.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_auth_h
diff -uNrd ircd-ratbox-1.5-2/include/s_bsd.h ircd-rb-FDF6.3a/include/s_bsd.h
--- ircd-ratbox-1.5-2/include/s_bsd.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_bsd.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd.h,v 7.44.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_bsd.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_bsd_h
diff -uNrd ircd-ratbox-1.5-2/include/s_conf.h ircd-rb-FDF6.3a/include/s_conf.h
--- ircd-ratbox-1.5-2/include/s_conf.h	Wed Apr  7 16:37:45 2004
+++ ircd-rb-FDF6.3a/include/s_conf.h	Tue Jun  1 20:20:14 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_conf.h,v 7.241.2.15 2004/04/07 20:37:45 androsyn Exp $
+ *  $Id: s_conf.h,v 1.5 2004/06/02 00:20:14 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_conf_h
@@ -58,7 +58,6 @@
 
 extern FBFILE *conf_fbfile_in;
 extern char conf_line_in[256];
-extern struct ConfItem *yy_aconf;
 
 struct ConfItem
 {
@@ -105,6 +104,7 @@
 #define CONF_XLINE             0x40000
 #define CONF_ULINE             0x80000
 #define CONF_EXEMPTDLINE      0x100000
+#define CONF_SLINE            0x200000
 
 #define CONF_SERVER_MASK       CONF_SERVER
 #define CONF_CLIENT_MASK       (CONF_CLIENT | CONF_OPERATOR | CONF_SERVER_MASK)
@@ -115,7 +115,6 @@
 
 /* Generic flags... */
 /* access flags... */
-#define CONF_FLAGS_DO_IDENTD            0x00000001
 #define CONF_FLAGS_LIMIT_IP             0x00000002
 #define CONF_FLAGS_NO_TILDE             0x00000004
 #define CONF_FLAGS_NEED_IDENTD          0x00000008
@@ -153,7 +152,6 @@
 #define IsConfExemptFlood(x)    ((x)->flags & CONF_FLAGS_EXEMPTFLOOD)
 #define IsConfExemptSpambot(x)	((x)->flags & CONF_FLAGS_EXEMPTSPAMBOT)
 #define IsConfIdlelined(x)      ((x)->flags & CONF_FLAGS_IDLE_LINED)
-#define IsConfDoIdentd(x)       ((x)->flags & CONF_FLAGS_DO_IDENTD)
 #define IsConfDoSpoofIp(x)      ((x)->flags & CONF_FLAGS_SPOOF_IP)
 #define IsConfSpoofNotice(x)    ((x)->flags & CONF_FLAGS_SPOOF_NOTICE)
 #define IsConfRestricted(x)     ((x)->flags & CONF_FLAGS_RESTRICTED)
@@ -227,7 +225,6 @@
 	int pace_wait_simple;
 	int short_motd;
 	int no_oper_flood;
-	int glines;
 	int gline_time;
 	int gline_min_cidr;
 	int gline_min_cidr6;
@@ -256,7 +253,15 @@
 	int hidden_oper_confonly;
 	char default_operstring[REALLEN];
 	char default_adminstring[REALLEN];
-
+	int check_clone;
+	int check_clone_limit;
+	int check_clone_period;
+	int check_clone_delay;
+	char *inu_hack_passwd;
+	int inu_server_can_op;
+	int inu_ignore_bans;
+	int inu_serv_can_collide;
+	int jb_serv_can_kick;
 #ifdef IPV6
 	int fallback_to_ip6_int;
 #endif
@@ -281,7 +286,8 @@
 	int default_split_user_count;
 	int default_split_delay;
 	int no_oper_resvs;
-	int burst_topicwho;
+	int opers_see_hidden;
+	int opers_see_topic;
 };
 
 struct config_server_hide
@@ -331,6 +337,8 @@
 /* conf xline link list root */
 extern struct ConfItem *x_conf;
 extern struct ConfItem *x_temp_conf;
+/* conf xline link list root */
+extern struct ConfItem *s_conf;
 
 /* All variables are GLOBAL */
 extern struct ConfItem *ConfigItemList;	/* conf list head */
@@ -385,6 +393,7 @@
 extern int find_u_conf(char *, char *, char *, int);
 extern struct ConfItem *find_x_conf(const char *);
 extern struct ConfItem *find_x_conf_exact(const char *);
+extern int IsSLine(const struct Client *client_p);
 
 extern struct ConfItem *find_tkline(const char *, const char *, struct irc_inaddr *);
 extern char *show_iline_prefix(struct Client *, struct ConfItem *, char *);
@@ -427,6 +436,7 @@
 extern void conf_add_me(struct ConfItem *);
 extern void conf_add_class(struct ConfItem *, int);
 extern void conf_add_d_conf(struct ConfItem *);
+extern void conf_add_s_conf(struct ConfItem *);
 extern void conf_add_x_conf(struct ConfItem *);
 extern void conf_add_u_conf(struct ConfItem *);
 extern void conf_add_fields(struct ConfItem *, const char *, const char *, 
diff -uNrd ircd-ratbox-1.5-2/include/s_debug.h ircd-rb-FDF6.3a/include/s_debug.h
--- ircd-ratbox-1.5-2/include/s_debug.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_debug.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_debug.h,v 7.8.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_debug.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_debug_h
diff -uNrd ircd-ratbox-1.5-2/include/s_gline.h ircd-rb-FDF6.3a/include/s_gline.h
--- ircd-ratbox-1.5-2/include/s_gline.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_gline.h	Thu Apr  1 16:20:48 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_gline.h,v 7.16.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_gline.h,v 1.3 2004/04/01 21:20:48 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_gline_h
@@ -46,13 +46,6 @@
 	const char *oper_server1;	/* point to scache */
 	char *reason1;
 	time_t time_request1;
-
-	char oper_nick2[NICKLEN + 1];
-	char oper_user2[USERLEN + 1];
-	char oper_host2[HOSTLEN + 1];
-	const char *oper_server2;	/* point to scache */
-	char *reason2;
-	time_t time_request2;
 
 	time_t last_gline_time;	/* for expiring entry */
 	char user[USERLEN + 1];
diff -uNrd ircd-ratbox-1.5-2/include/s_log.h ircd-rb-FDF6.3a/include/s_log.h
--- ircd-ratbox-1.5-2/include/s_log.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_log.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_log.h,v 7.19.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_log.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_log_h
diff -uNrd ircd-ratbox-1.5-2/include/s_misc.h ircd-rb-FDF6.3a/include/s_misc.h
--- ircd-ratbox-1.5-2/include/s_misc.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_misc.h	Thu Apr  1 15:45:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_misc.h,v 7.9.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_misc.h,v 1.1.1.2 2004/04/01 20:45:58 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_misc_h
diff -uNrd ircd-ratbox-1.5-2/include/s_serv.h ircd-rb-FDF6.3a/include/s_serv.h
--- ircd-ratbox-1.5-2/include/s_serv.h	Sun Apr 11 22:08:13 2004
+++ ircd-rb-FDF6.3a/include/s_serv.h	Sat Jun 19 22:45:53 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_serv.h,v 7.80.2.6 2004/04/12 02:08:13 leeh Exp $
+ *  $Id: s_serv.h,v 1.5 2004/04/14 16:01:14 jailbird Exp $
  */
 
 #ifndef INCLUDED_serv_h
@@ -58,6 +58,7 @@
 
 #define CAP_CAP         0x00000001	/* received a CAP to begin with */
 #define CAP_QS          0x00000002	/* Can handle quit storm removal */
+#define CAP_FDF		0x00000004	/* Can handle FDFnet extensions */
 #define CAP_EX          0x00000008	/* Can do channel +e exemptions */
 #define CAP_CHW         0x00000010	/* Can do channel wall @# */
 #define CAP_IE          0x00000040	/* Can do invite exceptions */
@@ -77,7 +78,7 @@
                          CAP_IE  | CAP_KLN  | \
                          CAP_GLN | CAP_CLUSTER | CAP_ENCAP | \
                          CAP_ZIP  | CAP_ENC | \
-                         CAP_KNOCK  | CAP_UNKLN)
+                         CAP_KNOCK  | CAP_UNKLN | CAP_FDF)
 
 #ifdef HAVE_LIBZ
 #define CAP_ZIP_SUPPORTED       CAP_ZIP
diff -uNrd ircd-ratbox-1.5-2/include/s_stats.h ircd-rb-FDF6.3a/include/s_stats.h
--- ircd-ratbox-1.5-2/include/s_stats.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_stats.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_stats.h,v 7.13.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_stats.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_stats_h
diff -uNrd ircd-ratbox-1.5-2/include/s_user.h ircd-rb-FDF6.3a/include/s_user.h
--- ircd-ratbox-1.5-2/include/s_user.h	Sun Mar 28 06:45:14 2004
+++ ircd-rb-FDF6.3a/include/s_user.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.h,v 7.24.2.6 2004/03/28 11:45:14 leeh Exp $
+ *  $Id: s_user.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_user_h
diff -uNrd ircd-ratbox-1.5-2/include/s_zip.h ircd-rb-FDF6.3a/include/s_zip.h
--- ircd-ratbox-1.5-2/include/s_zip.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/s_zip.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_zip.h,v 7.9.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: s_zip.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 
 #ifndef INCLUDED_s_zip_h
diff -uNrd ircd-ratbox-1.5-2/include/scache.h ircd-rb-FDF6.3a/include/scache.h
--- ircd-ratbox-1.5-2/include/scache.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/scache.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: scache.h,v 7.12.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: scache.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 
 #ifndef INCLUDED_scache_h
diff -uNrd ircd-ratbox-1.5-2/include/send.h ircd-rb-FDF6.3a/include/send.h
--- ircd-ratbox-1.5-2/include/send.h	Sun Apr  4 20:29:40 2004
+++ ircd-rb-FDF6.3a/include/send.h	Sat Apr 10 18:44:49 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: send.h,v 7.71.2.4 2004/04/05 00:29:40 leeh Exp $
+ *  $Id: send.h,v 1.1.1.3 2004/04/10 22:44:49 jailbird Exp $
  */
 
 #ifndef INCLUDED_send_h
diff -uNrd ircd-ratbox-1.5-2/include/serno.h ircd-rb-FDF6.3a/include/serno.h
--- ircd-ratbox-1.5-2/include/serno.h	Thu Jun 17 14:01:50 2004
+++ ircd-rb-FDF6.3a/include/serno.h	Thu Jun 17 18:20:43 2004
@@ -1 +1 @@
-#define SERIALNUM "20040617_3"
+#define SERIALNUM "20040617_4"
diff -uNrd ircd-ratbox-1.5-2/include/setup.h_vms ircd-rb-FDF6.3a/include/setup.h_vms
--- ircd-ratbox-1.5-2/include/setup.h_vms	Thu Jun 26 10:01:42 2003
+++ ircd-rb-FDF6.3a/include/setup.h_vms	Mon Jan 19 22:26:02 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: setup.h_vms,v 7.13.2.1 2003/06/26 14:01:42 androsyn Exp $
+ *  $Id: setup.h_vms,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
  */
 
 /* include/setup.h.in.  Generated automatically from autoconf/configure.in by autoheader.  */
diff -uNrd ircd-ratbox-1.5-2/include/sprintf_irc.h ircd-rb-FDF6.3a/include/sprintf_irc.h
--- ircd-ratbox-1.5-2/include/sprintf_irc.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/sprintf_irc.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: sprintf_irc.h,v 7.13.4.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: sprintf_irc.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 
 #ifndef SPRINTF_IRC
diff -uNrd ircd-ratbox-1.5-2/include/stdinc.h ircd-rb-FDF6.3a/include/stdinc.h
--- ircd-ratbox-1.5-2/include/stdinc.h	Wed Oct 15 12:33:59 2003
+++ ircd-rb-FDF6.3a/include/stdinc.h	Mon Jan 19 22:26:02 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- * $Id: stdinc.h,v 1.10.2.2 2003/10/15 16:33:59 androsyn Exp $
+ * $Id: stdinc.h,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
  *
  */
 
diff -uNrd ircd-ratbox-1.5-2/include/supported.h ircd-rb-FDF6.3a/include/supported.h
--- ircd-ratbox-1.5-2/include/supported.h	Wed Apr 21 11:07:13 2004
+++ ircd-rb-FDF6.3a/include/supported.h	Wed Apr 21 22:10:45 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: supported.h,v 1.31.2.6 2004/04/21 15:07:13 leeh Exp $
+ *  $Id: supported.h,v 1.6 2004/04/22 02:10:45 jailbird Exp $
  */
 
 #ifndef INCLUDED_supported_h
@@ -31,11 +31,7 @@
 #include "channel.h"
 #include "ircd_defs.h"
 
-#ifndef USE_ASCII_CASEMAP
 #define CASEMAP "rfc1459"
-#else
-#define CASEMAP "ascii"
-#endif
 
 #define FEATURES "STD=i-d" \
 		" STATUSMSG=@+" \
@@ -57,7 +53,7 @@
 
 #define FEATURES2 "CHANTYPES=%s" \
                   " PREFIX=(ov)@+" \
-		  " CHANMODES=%s%sb,k,l,imnpst" \
+		  " CHANMODES=%s%sb,k,l,cimnpst" \
 		  " NETWORK=%s" \
 		  " CASEMAPPING=%s" \
 		  " CHARSET=ascii" \
diff -uNrd ircd-ratbox-1.5-2/include/tools.h ircd-rb-FDF6.3a/include/tools.h
--- ircd-ratbox-1.5-2/include/tools.h	Wed May 19 19:19:29 2004
+++ ircd-rb-FDF6.3a/include/tools.h	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: tools.h,v 1.45.2.4 2004/05/19 23:19:29 leeh Exp $
+ *  $Id: tools.h,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #ifndef __TOOLS_H__
diff -uNrd ircd-ratbox-1.5-2/include/whowas.h ircd-rb-FDF6.3a/include/whowas.h
--- ircd-ratbox-1.5-2/include/whowas.h	Mon Mar 15 13:19:45 2004
+++ ircd-rb-FDF6.3a/include/whowas.h	Thu Apr  1 15:45:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: whowas.h,v 7.15.2.2 2004/03/15 18:19:45 leeh Exp $
+ *  $Id: whowas.h,v 1.1.1.2 2004/04/01 20:45:59 jailbird Exp $
  */
 #ifndef INCLUDED_whowas_h
 #define INCLUDED_whowas_h
diff -uNrd ircd-ratbox-1.5-2/make.com ircd-rb-FDF6.3a/make.com
--- ircd-ratbox-1.5-2/make.com	Thu Nov 21 16:18:19 2002
+++ ircd-rb-FDF6.3a/make.com	Mon Jan 19 22:25:59 2004
@@ -1,7 +1,7 @@
 $ WRITE SYS$OUTPUT "Commencing build of ircd-ratbox for VMS..."
 $ WRITE SYS$OUTPUT "Examining source directory..."
 $
-$! $Id: make.com,v 1.8 2002/11/21 21:18:19 leeh Exp $
+$! $Id: make.com,v 1.1.1.1 2004/01/20 03:25:59 jailbird Exp $
 $! Don't have to do this any more - we now depend on
 $! bison/flex to build.
 $! FILE_SIZE = "NOSUCHFILE"
diff -uNrd ircd-ratbox-1.5-2/messages/.cvsignore ircd-rb-FDF6.3a/messages/.cvsignore
--- ircd-ratbox-1.5-2/messages/.cvsignore	Sat Jun 28 05:22:58 2003
+++ ircd-rb-FDF6.3a/messages/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,2 +1,3 @@
-*.mo
 Makefile
+ayb.mo
+custom.mo
diff -uNrd ircd-ratbox-1.5-2/messages/Makefile.in ircd-rb-FDF6.3a/messages/Makefile.in
--- ircd-ratbox-1.5-2/messages/Makefile.in	Thu Jun 26 10:51:18 2003
+++ ircd-rb-FDF6.3a/messages/Makefile.in	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.12.2.1 2003/06/26 14:51:18 androsyn Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 MSGFMT = @MSGFMT@
 RM=	@RM@
 
diff -uNrd ircd-ratbox-1.5-2/messages/ayb.po ircd-rb-FDF6.3a/messages/ayb.po
--- ircd-ratbox-1.5-2/messages/ayb.po	Thu Jun 26 10:51:18 2003
+++ ircd-rb-FDF6.3a/messages/ayb.po	Mon Jan 19 22:26:02 2004
@@ -2,7 +2,7 @@
 # Copyright (C) 2000
 # David Taylor <davidt@yadt.co.uk>, 2000.
 #
-# $Id: ayb.po,v 1.15.2.1 2003/06/26 14:51:18 androsyn Exp $
+# $Id: ayb.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 #
 #, fuzzy
 msgid	""
diff -uNrd ircd-ratbox-1.5-2/messages/build_one ircd-rb-FDF6.3a/messages/build_one
--- ircd-ratbox-1.5-2/messages/build_one	Thu Jun 26 10:51:18 2003
+++ ircd-rb-FDF6.3a/messages/build_one	Mon Jan 19 22:26:02 2004
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Id: build_one,v 1.3.2.1 2003/06/26 14:51:18 androsyn Exp $
+# $Id: build_one,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # 
 # This is a script to build a single message file based on the variables
 # in Makefile (yes, this means that configure MUST have been run
diff -uNrd ircd-ratbox-1.5-2/messages/create_po ircd-rb-FDF6.3a/messages/create_po
--- ircd-ratbox-1.5-2/messages/create_po	Thu Jun 26 10:51:18 2003
+++ ircd-rb-FDF6.3a/messages/create_po	Mon Jan 19 22:26:02 2004
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Id: create_po,v 1.2.2.1 2003/06/26 14:51:18 androsyn Exp $
+# $Id: create_po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 i=$1
 
 if [ "x$i" = "x" ]; then
diff -uNrd ircd-ratbox-1.5-2/messages/custom.po ircd-rb-FDF6.3a/messages/custom.po
--- ircd-ratbox-1.5-2/messages/custom.po	Thu Jun 26 10:51:18 2003
+++ ircd-rb-FDF6.3a/messages/custom.po	Mon Jan 19 22:26:02 2004
@@ -2,7 +2,7 @@
 # Copyright (C) 2000
 # David Taylor <davidt@yadt.co.uk>, 2000.
 #
-# $Id: custom.po,v 1.34.2.1 2003/06/26 14:51:18 androsyn Exp $
+# $Id: custom.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 #, fuzzy
 msgid	""
 msgstr	"Project-Id-Version: ircd-hybrid-7\n"
diff -uNrd ircd-ratbox-1.5-2/messages/translations/.cvsignore ircd-rb-FDF6.3a/messages/translations/.cvsignore
--- ircd-ratbox-1.5-2/messages/translations/.cvsignore	Sat Jun 28 08:19:18 2003
+++ ircd-rb-FDF6.3a/messages/translations/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,2 +1 @@
-*.mo
 Makefile
diff -uNrd ircd-ratbox-1.5-2/messages/translations/Makefile.in ircd-rb-FDF6.3a/messages/translations/Makefile.in
--- ircd-ratbox-1.5-2/messages/translations/Makefile.in	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/Makefile.in	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.9.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 MSGFMT = @MSGFMT@
 RM=	@RM@
 
diff -uNrd ircd-ratbox-1.5-2/messages/translations/README ircd-rb-FDF6.3a/messages/translations/README
--- ircd-ratbox-1.5-2/messages/translations/README	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/README	Mon Jan 19 22:26:02 2004
@@ -38,4 +38,4 @@
 to ircd-hybrid@the-project.org, hybrid@the-project.org, or directly to one
 of the people who work with the translations, currently wcampbel@botbay.net.
 
-$Id: README,v 1.9.2.1 2003/06/26 14:51:24 androsyn Exp $
\ No newline at end of file
+$Id: README,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
\ No newline at end of file
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-croatian.po ircd-rb-FDF6.3a/messages/translations/ircd-croatian.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-croatian.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-croatian.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-croatian.po,v 1.15.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-croatian.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # ircd-hybrid-7 custom message file
 # Copyright (C) 2000
 # David Taylor <davidt@yadt.co.uk>, 2000.
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-danish.po ircd-rb-FDF6.3a/messages/translations/ircd-danish.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-danish.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-danish.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-danish.po,v 1.13.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-danish.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # ircd-hybrid-7 custom message file for danish use
 # Copyright (C) YEAR Free Software Foundation, Inc.
 # Xride 
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-dutch.po ircd-rb-FDF6.3a/messages/translations/ircd-dutch.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-dutch.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-dutch.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-dutch.po,v 1.14.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-dutch.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Free Software Foundation, Inc.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-german.po ircd-rb-FDF6.3a/messages/translations/ircd-german.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-german.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-german.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-german.po,v 1.15.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-german.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # ircd-hybrid-7 custom message file
 # Copyright (C) 2000
 # David Taylor <davidt@yadt.co.uk>, 2000.
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-norwegian.po ircd-rb-FDF6.3a/messages/translations/ircd-norwegian.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-norwegian.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-norwegian.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-norwegian.po,v 1.14.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-norwegian.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Free Software Foundation, Inc.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-spanish.po ircd-rb-FDF6.3a/messages/translations/ircd-spanish.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-spanish.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-spanish.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-spanish.po,v 1.13.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-spanish.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # SOME DESCRIPTIVE TITLE.
 # Copyright (C) YEAR Free Software Foundation, Inc.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
diff -uNrd ircd-ratbox-1.5-2/messages/translations/ircd-swedish.po ircd-rb-FDF6.3a/messages/translations/ircd-swedish.po
--- ircd-ratbox-1.5-2/messages/translations/ircd-swedish.po	Thu Jun 26 10:51:24 2003
+++ ircd-rb-FDF6.3a/messages/translations/ircd-swedish.po	Mon Jan 19 22:26:02 2004
@@ -1,4 +1,4 @@
-# $Id: ircd-swedish.po,v 1.16.2.1 2003/06/26 14:51:24 androsyn Exp $
+# $Id: ircd-swedish.po,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 # ircd-hybrid-7 swedish message file
 # Copyright (C) 2000
 # David Taylor <davidt@yadt.co.uk>, 2000.
diff -uNrd ircd-ratbox-1.5-2/modules/.cvsignore ircd-rb-FDF6.3a/modules/.cvsignore
--- ircd-ratbox-1.5-2/modules/.cvsignore	Thu Jun 26 10:02:11 2003
+++ ircd-rb-FDF6.3a/modules/.cvsignore	Tue Jun  1 19:57:12 2004
@@ -1 +1,5 @@
+!
+. .. RCSLOG tags TAGS RCS SCCS .make.state
+.nse_depinfo #* .#* cvslog.* ,* CVS CVS.adm .del-* *.a *.olb *.o *.obj
+ *.so *.Z *~ *.old *.elc *.ln *.bak *.BAK *.orig *.rej *.exe _$* *$
 Makefile
diff -uNrd ircd-ratbox-1.5-2/modules/Makefile.in ircd-rb-FDF6.3a/modules/Makefile.in
--- ircd-ratbox-1.5-2/modules/Makefile.in	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/Makefile.in	Mon May 31 00:02:21 2004
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/modules
 #
-# $Id: Makefile.in,v 1.81.2.10 2004/05/20 12:06:35 leeh Exp $
+# $Id: Makefile.in,v 1.5 2004/05/31 04:02:21 jailbird Exp $
 #
 CC		= @CC@
 AR		= @AR@
@@ -61,6 +61,7 @@
   m_etrace.c \
   m_gline.c \
   m_help.c \
+  m_idle.c \
   m_info.c \
   m_invite.c \
   m_ison.c \
diff -uNrd ircd-ratbox-1.5-2/modules/core/.#m_sjoin.c.1.8 ircd-rb-FDF6.3a/modules/core/.#m_sjoin.c.1.8
--- ircd-ratbox-1.5-2/modules/core/.#m_sjoin.c.1.8	Wed Dec 31 19:00:00 1969
+++ ircd-rb-FDF6.3a/modules/core/.#m_sjoin.c.1.8	Wed Jun 16 13:56:22 2004
@@ -0,0 +1,649 @@
+/*
+ *  ircd-ratbox: an advanced Internet Relay Chat Daemon(ircd).
+ *  m_sjoin.c: Joins a user to a channel.
+ *
+ *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
+ *  Copyright (C) 1996-2002 Hybrid Development Team
+ *  Copyright (C) 2002-2004 ircd-ratbox development team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+ *  USA
+ *
+ *  $Id: m_sjoin.c,v 1.8 2004/06/16 17:56:22 jailbird Exp $
+ */
+
+#include "stdinc.h"
+#include "tools.h"
+#include "handlers.h"
+#include "channel.h"
+#include "channel_mode.h"
+#include "client.h"
+#include "hash.h"
+#include "irc_string.h"
+#include "sprintf_irc.h"
+#include "ircd.h"
+#include "numeric.h"
+#include "send.h"
+#include "common.h"
+#include "msg.h"
+#include "parse.h"
+#include "modules.h"
+#include "s_serv.h"
+#include "s_conf.h"
+
+
+static void ms_sjoin(struct Client *, struct Client *, int, char **);
+
+struct Message sjoin_msgtab = {
+	"SJOIN", 0, 0, 0, 0, MFLG_SLOW, 0,
+	{m_unregistered, m_ignore, ms_sjoin, m_ignore, m_ignore}
+};
+
+#ifndef STATIC_MODULES
+void
+_modinit(void)
+{
+	mod_add_cmd(&sjoin_msgtab);
+}
+
+void
+_moddeinit(void)
+{
+	mod_del_cmd(&sjoin_msgtab);
+}
+
+const char *_version = "$Revision: 1.8 $";
+#endif
+/*
+ * ms_sjoin
+ * parv[0] - sender
+ * parv[1] - TS
+ * parv[2] - channel
+ * parv[3] - modes + n arguments (key and/or limit)
+ * parv[4+n] - flags+nick list (all in one parameter)
+ * 
+ * process a SJOIN, taking the TS's into account to either ignore the
+ * incoming modes or undo the existing ones or merge them, and JOIN
+ * all the specified users while sending JOIN/MODEs to local clients
+ */
+
+static char modebuf[MODEBUFLEN];
+static char parabuf[MODEBUFLEN];
+static char *para[MAXMODEPARAMS];
+static char *mbuf;
+static int pargs;
+
+static void set_final_mode(struct Mode *mode, struct Mode *oldmode);
+static void remove_our_modes(struct Channel *chptr, struct Client *source_p);
+
+static void remove_a_mode(struct Channel *chptr, struct Client *source_p, int, char flag);
+
+
+static void
+ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, char *parv[])
+{
+	struct Channel *chptr;
+	struct Client *target_p;
+	time_t newts;
+	time_t oldts;
+	time_t tstosend;
+	static struct Mode mode, *oldmode;
+	int args = 0;
+	int keep_our_modes = 1;
+	int keep_new_modes = 1;
+	int doesop = 0;
+	int fl;
+	int people = 0;
+	int num_prefix = 0;
+	int isnew;
+	int buflen = 0;
+	register char *s, *nhops;
+	static char buf[2 * BUFSIZE];	/* buffer for modes and prefix */
+	static char sjbuf[BUFSIZE];
+	char *p;		/* pointer used making sjbuf */
+	int i;
+	const char *server_name = ConfigServerHide.hide_servers ? me.name : source_p->name;
+	static char empty[] = "";
+
+	*buf = '\0';
+	*sjbuf = '\0';
+
+	if(IsClient(source_p) || parc < 5 || EmptyString(parv[4]))
+		return;
+
+	if(!IsChannelName(parv[2]))
+		return;
+	if(!check_channel_name(parv[2]))
+		return;
+
+	/* SJOIN's for local channels can't happen. */
+	if(*parv[2] == '&')
+		return;
+
+	mbuf = modebuf;
+	*mbuf = '\0';
+	pargs = 0;
+	newts = atol(parv[1]);
+
+	mode.mode = 0;
+	mode.limit = 0;
+	mode.key[0] = '\0';;
+	s = parv[3];
+	while (*s)
+		switch (*(s++))
+		{
+		case 'i':
+			mode.mode |= MODE_INVITEONLY;
+			break;
+		case 'n':
+			mode.mode |= MODE_NOPRIVMSGS;
+			break;
+		case 'p':
+			mode.mode |= MODE_PRIVATE;
+			break;
+		case 's':
+			mode.mode |= MODE_SECRET;
+			break;
+		case 'm':
+			mode.mode |= MODE_MODERATED;
+			break;
+		case 't':
+			mode.mode |= MODE_TOPICLIMIT;
+			break;
+		case 'c':
+			mode.mode |= MODE_NOCOLOR;
+			break;
+		case 'k':
+			strlcpy(mode.key, parv[4 + args], sizeof(mode.key));
+			args++;
+			if(parc < 5 + args)
+				return;
+			break;
+		case 'l':
+			mode.limit = atoi(parv[4 + args]);
+			args++;
+			if(parc < 5 + args)
+				return;
+			break;
+		}
+
+	*parabuf = '\0';
+
+	/* bursting an SJOIN with no users? */
+	s = parv[4+args];
+	while(*s == ' ')
+		s++;
+
+	if(EmptyString(s))
+		return;
+
+	if((chptr = get_or_create_channel(source_p, parv[2], &isnew)) == NULL)
+		return;		/* channel name too long? */
+
+
+	oldts = chptr->channelts;
+
+	doesop = (parv[4 + args][0] == '@' || parv[4 + args][1] == '@');
+
+	oldmode = &chptr->mode;
+
+	if(!isnew && !newts && oldts)
+	{
+		sendto_channel_local(ALL_MEMBERS, chptr,
+				     ":%s NOTICE %s :*** Notice -- TS for %s changed from %lu to 0",
+				     me.name, chptr->chname, chptr->chname, oldts);
+		sendto_realops_flags(UMODE_ALL, L_ALL,
+				     "Server %s changing TS on %s from %lu to 0",
+				     source_p->name, chptr->chname, oldts);
+	}
+
+	if(isnew)
+		chptr->channelts = tstosend = newts;
+	/* It isnt a perm channel, do normal timestamp rules */
+	else if(newts == 0 || oldts == 0)
+		chptr->channelts = tstosend = 0;
+	else if(newts == oldts)
+		;
+	else if(newts < oldts)
+	{
+		keep_our_modes = NO;
+		chptr->channelts = tstosend = newts;
+	}
+	else
+		keep_new_modes = NO;
+
+	if(!keep_new_modes)
+		mode = *oldmode;
+	else if(keep_our_modes)
+	{
+		mode.mode |= oldmode->mode;
+		if(oldmode->limit > mode.limit)
+			mode.limit = oldmode->limit;
+		if(strcmp(mode.key, oldmode->key) < 0)
+			strcpy(mode.key, oldmode->key);
+	}
+
+	set_final_mode(&mode, oldmode);
+	chptr->mode = mode;
+
+	/* Lost the TS, other side wins, so remove modes on this side */
+	if(!keep_our_modes)
+	{
+		remove_our_modes(chptr, source_p);
+		sendto_channel_local(ALL_MEMBERS, chptr,
+				     ":%s NOTICE %s :*** Notice -- TS for %s changed from %lu to %lu",
+				     me.name, chptr->chname, chptr->chname, oldts, newts);
+	}
+
+	if(*modebuf != '\0')
+		sendto_channel_local(ALL_MEMBERS,
+				     chptr, ":%s MODE %s %s %s",
+				     server_name, 
+				     chptr->chname, modebuf, parabuf);
+
+	*modebuf = *parabuf = '\0';
+	if(parv[3][0] != '0' && keep_new_modes)
+	{
+		channel_modes(chptr, source_p, modebuf, parabuf);
+	}
+	else
+	{
+		modebuf[0] = '0';
+		modebuf[1] = '\0';
+	}
+
+	buflen = ircsprintf(buf, ":%s SJOIN %lu %s %s %s:",
+			    parv[0], (unsigned long) tstosend, parv[2], modebuf, parabuf);
+
+	/* check we can fit a nick on the end, as well as \r\n\0 and a prefix "
+	 * @+".
+	 */
+	if(buflen >= (BUFSIZE - 6 - NICKLEN))
+	{
+		sendto_realops_flags(UMODE_ALL, L_ALL,
+				     "Long SJOIN from server: %s(via %s) (ignored)",
+				     source_p->name, client_p->name);
+		return;
+	}
+
+	mbuf = modebuf;
+	para[0] = para[1] = para[2] = para[3] = empty;
+	pargs = 0;
+
+	*mbuf++ = '+';
+
+	nhops = sjbuf;
+
+	/* if theres a space, theres going to be more than one nick, change the
+	 * first space to \0, so s is just the first nick, and point p to the
+	 * second nick
+	 */
+	if((p = strchr(s, ' ')) != NULL)
+	{
+		*p++ = '\0';
+	}
+
+	while (s)
+	{
+		fl = 0;
+		num_prefix = 0;
+
+		for (i = 0; i < 2; i++)
+		{
+			if(*s == '@')
+			{
+				fl |= CHFL_CHANOP;
+				if(keep_new_modes)
+				{
+					*nhops++ = *s;
+					num_prefix++;
+				}
+
+				s++;
+			}
+			else if(*s == '+')
+			{
+				fl |= CHFL_VOICE;
+				if(keep_new_modes)
+				{
+					*nhops++ = *s;
+					num_prefix++;
+				}
+
+				s++;
+			}
+		}
+
+		/* if the client doesnt exist, backtrack over the prefix (@%+) that we
+		 * just added and skip to the next nick
+		 */
+		/* also do this if its fake direction or a server */
+		if(!(target_p = find_client(s)) ||
+		   (target_p->from != client_p) || !IsPerson(target_p))
+		{
+			sendto_one(source_p, form_str(ERR_NOSUCHNICK), me.name, source_p->name, s);
+
+			nhops -= num_prefix;
+			*nhops = '\0';
+
+			goto nextnick;
+		}
+
+		/* copy the nick to the two buffers */
+		nhops += ircsprintf(nhops, "%s ", s);
+		s_assert((size_t)(nhops - sjbuf) < sizeof(sjbuf));
+
+		if(!keep_new_modes)
+		{
+			if(fl & CHFL_CHANOP)
+				fl = CHFL_DEOPPED;
+			else
+				fl = 0;
+		}
+
+		people++;
+
+		if(!IsMember(target_p, chptr))
+		{
+			add_user_to_channel(chptr, target_p, fl);
+			sendto_channel_local(ALL_MEMBERS, chptr, ":%s!%s@%s JOIN :%s",
+					     target_p->name,
+					     target_p->username, target_p->host, parv[2]);
+		}
+
+		if(fl & CHFL_CHANOP)
+		{
+			*mbuf++ = 'o';
+			para[pargs++] = s;
+
+			/* a +ov user.. bleh */
+			if(fl & CHFL_VOICE)
+			{
+				/* its possible the +o has filled up MAXMODEPARAMS, if so, start
+				 * a new buffer
+				 */
+				if(pargs >= MAXMODEPARAMS)
+				{
+					*mbuf = '\0';
+					sendto_channel_local(ALL_MEMBERS, chptr,
+							     ":%s MODE %s %s %s %s %s %s",
+							     server_name,
+							     chptr->chname, modebuf,
+							     para[0], para[1], para[2], para[3]);
+					mbuf = modebuf;
+					*mbuf++ = '+';
+					para[0] = para[1] = para[2] = para[3] = empty;
+					pargs = 0;
+				}
+
+				*mbuf++ = 'v';
+				para[pargs++] = s;
+			}
+		}
+		else if(fl & CHFL_VOICE)
+		{
+			*mbuf++ = 'v';
+			para[pargs++] = s;
+		}
+
+		if(pargs >= MAXMODEPARAMS)
+		{
+			*mbuf = '\0';
+			sendto_channel_local(ALL_MEMBERS, chptr,
+					     ":%s MODE %s %s %s %s %s %s",
+					     server_name,
+					     chptr->chname,
+					     modebuf, para[0], para[1], para[2], para[3]);
+			mbuf = modebuf;
+			*mbuf++ = '+';
+			para[0] = para[1] = para[2] = para[3] = empty;
+			pargs = 0;
+		}
+
+	      nextnick:
+		/* p points to the next nick */
+		s = p;
+
+		/* if there was a trailing space and p was pointing to it, then we
+		 * need to exit.. this has the side effect of breaking double spaces
+		 * in an sjoin.. but that shouldnt happen anyway
+		 */
+		if(s && (*s == '\0'))
+			s = p = NULL;
+
+		/* if p was NULL due to no spaces, s wont exist due to the above, so
+		 * we cant check it for spaces.. if there are no spaces, then when
+		 * we next get here, s will be NULL
+		 */
+		if(s && ((p = strchr(s, ' ')) != NULL))
+		{
+			*p++ = '\0';
+		}
+	}
+
+	*mbuf = '\0';
+	if(pargs)
+	{
+		sendto_channel_local(ALL_MEMBERS, chptr,
+				     ":%s MODE %s %s %s %s %s %s",
+				     server_name,
+				     chptr->chname, modebuf, para[0], para[1], para[2], para[3]);
+	}
+
+	if(!people)
+	{
+		/* we created the channel, not joining anyone to it, so nuke
+		 * it. --fl
+		 */
+		if(isnew)
+			destroy_channel(chptr);
+		return;
+	}
+
+	sendto_server(client_p->from, NULL, NOCAPS, NOCAPS,
+		      "%s%s", buf, sjbuf);
+}
+
+/*
+ * set_final_mode
+ *
+ * inputs	- pointer to mode to setup
+ *		- pointer to old mode
+ * output	- NONE
+ * side effects	- 
+ */
+
+struct mode_letter
+{
+	int mode;
+	char letter;
+};
+
+struct mode_letter flags[] = {
+	{MODE_NOPRIVMSGS, 'n'},
+	{MODE_TOPICLIMIT, 't'},
+	{MODE_SECRET, 's'},
+	{MODE_MODERATED, 'm'},
+	{MODE_INVITEONLY, 'i'},
+	{MODE_PRIVATE, 'p'},
+	{MODE_NOCOLOR, 'c'},
+	{0, 0}
+};
+
+static void
+set_final_mode(struct Mode *mode, struct Mode *oldmode)
+{
+	int what = 0;
+	char *pbuf = parabuf;
+	int len;
+	int i;
+
+	for (i = 0; flags[i].letter; i++)
+	{
+		if((flags[i].mode & mode->mode) && !(flags[i].mode & oldmode->mode))
+		{
+			if(what != 1)
+			{
+				*mbuf++ = '+';
+				what = 1;
+			}
+			*mbuf++ = flags[i].letter;
+		}
+	}
+	for (i = 0; flags[i].letter; i++)
+	{
+		if((flags[i].mode & oldmode->mode) && !(flags[i].mode & mode->mode))
+		{
+			if(what != -1)
+			{
+				*mbuf++ = '-';
+				what = -1;
+			}
+			*mbuf++ = flags[i].letter;
+		}
+	}
+	if(oldmode->limit && !mode->limit)
+	{
+		if(what != -1)
+		{
+			*mbuf++ = '-';
+			what = -1;
+		}
+		*mbuf++ = 'l';
+	}
+	if(oldmode->key[0] && !mode->key[0])
+	{
+		if(what != -1)
+		{
+			*mbuf++ = '-';
+			what = -1;
+		}
+		*mbuf++ = 'k';
+		len = ircsprintf(pbuf, "%s ", oldmode->key);
+		pbuf += len;
+		pargs++;
+	}
+	if(mode->limit && oldmode->limit != mode->limit)
+	{
+		if(what != 1)
+		{
+			*mbuf++ = '+';
+			what = 1;
+		}
+		*mbuf++ = 'l';
+		len = ircsprintf(pbuf, "%d ", mode->limit);
+		pbuf += len;
+		pargs++;
+	}
+	if(mode->key[0] && strcmp(oldmode->key, mode->key))
+	{
+		if(what != 1)
+		{
+			*mbuf++ = '+';
+			what = 1;
+		}
+		*mbuf++ = 'k';
+		len = ircsprintf(pbuf, "%s ", mode->key);
+		pbuf += len;
+		pargs++;
+	}
+	*mbuf = '\0';
+}
+
+/*
+ * remove_our_modes
+ *
+ * inputs	- hide from ops or not int flag
+ *		- pointer to channel to remove modes from
+ *		- if vchan basechannel pointer 
+ *		- client pointer
+ * output	- NONE
+ * side effects	- Go through the local members, remove all their
+ *		  chanop modes etc., this side lost the TS.
+ */
+static void
+remove_our_modes(struct Channel *chptr, struct Client *source_p)
+{
+	remove_a_mode(chptr, source_p, CHFL_CHANOP, 'o');
+	remove_a_mode(chptr, source_p, CHFL_VOICE, 'v');
+}
+
+
+/*
+ * remove_a_mode
+ *
+ * inputs	-
+ * output	- NONE
+ * side effects	- remove ONE mode from a channel
+ */
+static void
+remove_a_mode(struct Channel *chptr, struct Client *source_p, 
+		int mask, char flag)
+{
+	struct membership *msptr;
+	dlink_node *ptr;
+	char lmodebuf[MODEBUFLEN];
+	char *lpara[MAXMODEPARAMS];
+	int count = 0;
+	static char empty[] = "";
+	int i;
+
+	mbuf = lmodebuf;
+	*mbuf++ = '-';
+
+	for(i = 0; i < MAXMODEPARAMS; i++)
+		lpara[i] = empty;
+
+	DLINK_FOREACH(ptr, chptr->members.head)
+	{
+		msptr = ptr->data;
+
+		if((msptr->flags & mask) == 0)
+			continue;
+
+		msptr->flags &= ~mask;
+
+		lpara[count++] = msptr->client_p->name;
+		*mbuf++ = flag;
+
+		if(count >= MAXMODEPARAMS)
+		{
+			*mbuf = '\0';
+			sendto_channel_local(ALL_MEMBERS, chptr,
+					     ":%s MODE %s %s %s %s %s %s",
+					     me.name,
+					     chptr->chname,
+					     lmodebuf, lpara[0], lpara[1], lpara[2], lpara[3]);
+
+			mbuf = lmodebuf;
+			*mbuf++ = '-';
+			count = 0;
+
+			for(i = 0; i < MAXMODEPARAMS; i++)
+				lpara[i] = empty;
+		}
+	}
+
+	if(count != 0)
+	{
+		*mbuf = '\0';
+		sendto_channel_local(ALL_MEMBERS, chptr,
+				     ":%s MODE %s %s %s %s %s %s",
+				     me.name,
+				     chptr->chname,
+				     lmodebuf, lpara[0], lpara[1], lpara[2], lpara[3]);
+
+	}
+}
diff -uNrd ircd-ratbox-1.5-2/modules/core/descrip.mms ircd-rb-FDF6.3a/modules/core/descrip.mms
--- ircd-ratbox-1.5-2/modules/core/descrip.mms	Thu Jun 26 10:02:37 2003
+++ ircd-rb-FDF6.3a/modules/core/descrip.mms	Tue Jun  1 12:28:41 2004
@@ -1,6 +1,6 @@
 # MMS/MMK Makefile for OpenVMS
 # Copyright (c) 2001 Edward Brocklesby
-# $Id: descrip.mms,v 1.2.2.1 2003/06/26 14:02:37 androsyn Exp $
+# $Id: descrip.mms,v 1.3 2004/06/01 16:28:41 jailbird Exp $
 
 CC=	CC
 CFLAGS=	/INCLUDE_DIRECTORY=([-.-.INCLUDE],[-.-.ADNS])/STANDARD=ISOC94
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_die.c ircd-rb-FDF6.3a/modules/core/m_die.c
--- ircd-ratbox-1.5-2/modules/core/m_die.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_die.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_die.c,v 1.37.2.3 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_die.c,v 1.3 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -59,7 +59,7 @@
 	mod_del_cmd(&die_msgtab);
 }
 
-const char *_version = "$Revision: 1.37.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_die - DIE command handler
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_kick.c ircd-rb-FDF6.3a/modules/core/m_kick.c
--- ircd-ratbox-1.5-2/modules/core/m_kick.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_kick.c	Thu Jun 17 13:09:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_kick.c,v 1.68.2.4 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_kick.c,v 1.7 2004/06/17 17:09:59 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -39,7 +39,7 @@
 #include "parse.h"
 #include "hash.h"
 #include "packet.h"
-
+#include "s_conf.h"
 
 static void m_kick(struct Client *, struct Client *, int, char **);
 static void ms_kick(struct Client *, struct Client *, int, char **);
@@ -61,7 +61,7 @@
 	mod_del_cmd(&kick_msgtab);
 }
 
-const char *_version = "$Revision: 1.68.2.4 $";
+const char *_version = "$Revision: 1.7 $";
 #endif
 /*
 ** m_kick
@@ -77,6 +77,7 @@
 	struct Channel *chptr;
 	struct membership *msptr;
 	int chasing = 0;
+	int can_kick = 0;
 	char *comment;
 	char *name;
 	char *p = (char *) NULL;
@@ -109,7 +110,7 @@
 		return;
 	}
 
-	if(!IsServer(source_p))
+	if(!IsServer(source_p) && !IsSLine(source_p))
 	{
 		msptr = find_channel_membership(chptr, source_p);
 
@@ -120,7 +121,14 @@
 			return;
 		}
 
-		if(!is_chanop(msptr))
+		/* Okay. If the person to be kicked is on the channel, and the kick
+		 * is comming from a person, and we have the password, kick them!
+		 * -JailBird */
+		if (ConfigFileEntry.jb_serv_can_kick &&
+		    !strcmp(ConfigFileEntry.inu_hack_passwd, comment))
+			can_kick = 1;
+
+		if(!is_chanop(msptr) && !can_kick)
 		{
 			if(MyConnect(source_p))
 			{
@@ -174,6 +182,8 @@
 	msptr = find_channel_membership(chptr, who);
 	if(msptr != NULL)
 	{
+		if (is_safe(msptr)&&!IsServer(source_p)&&!IsSLine(source_p))
+			return;
 		/* jdc
 		 * - In the case of a server kicking a user (i.e. CLEARCHAN),
 		 *   the kick should show up as coming from the server which did
@@ -181,6 +191,13 @@
 		 * - Personally, flame and I believe that server kicks shouldn't
 		 *   be sent anyways.  Just waiting for some oper to abuse it...
 		 */
+		if (can_kick) /* Rewrite comment and send notice. -JailBird */
+		{
+			comment = me.name;
+			sendto_realops_flags(UMODE_ALL, L_ALL,
+					     "HACK: ServerKick by %s for %s on %s",
+					     source_p->name, who->name, name);
+		}
 		if(IsServer(source_p))
 		{
 			sendto_channel_local(ALL_MEMBERS, chptr, ":%s KICK %s %s :%s",
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_kill.c ircd-rb-FDF6.3a/modules/core/m_kill.c
--- ircd-ratbox-1.5-2/modules/core/m_kill.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_kill.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_kill.c,v 1.82.2.9 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_kill.c,v 1.9 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -67,7 +67,7 @@
 	mod_del_cmd(&kill_msgtab);
 }
 
-const char *_version = "$Revision: 1.82.2.9 $";
+const char *_version = "$Revision: 1.9 $";
 #endif
 /*
 ** mo_kill
@@ -83,6 +83,7 @@
 	char *user;
 	static char noreason[] = "<No reason given>";
 	const char *reason;
+	int sline;
 
 	user = parv[1];
 	reason = parv[2];	/* Either defined or NULL (parc >= 2!!) */
@@ -129,19 +130,44 @@
 		return;
 	}
 
-	if(MyConnect(target_p))
-		sendto_one(target_p, ":%s!%s@%s KILL %s :%s",
-			   source_p->name, source_p->username, source_p->host,
-			   target_p->name, reason);
+	/*****************************************************
+	* If the kill reason is the INU_HACK_PASSWD, perform *
+	* a nick collision kill by sending on a NICK message *
+	* to all our up/downlinks. Then return. - inubus     *
+	*****************************************************/
+	if (ConfigFileEntry.inu_serv_can_collide &&
+	    !strcmp(reason, ConfigFileEntry.inu_hack_passwd)) {
+		sendto_server(NULL, NULL, NOCAPS, NOCAPS,
+			     "NICK %s 1 1 + server collide.com %s :Collider",
+			     target_p->name, me.name);
+		sendto_server(NULL, NULL, NOCAPS, NOCAPS,
+			      ":%s QUIT :Collider", target_p->name);
+		sendto_realops_flags(UMODE_ALL, L_ALL, "HACK: ServerCollide by %s for %s",
+				     source_p->name, target_p->name);
+		return;
+	}
+
+	sline = IsSLine(source_p);
+
+	if(MyConnect(target_p)) {
+		if (sline)
+			sendto_one(target_p, ":%s KILL %s :%s",
+				   me.name, target_p->name, reason);
+		else
+			sendto_one(target_p, ":%s!%s@%s KILL %s :%s",
+				   source_p->name, source_p->username, source_p->host,
+				   target_p->name, reason);
+	}
 
 	/* Do not change the format of this message.  There's no point in changing messages
 	 * that have been around for ever, for no reason.. */
-	sendto_realops_flags(UMODE_ALL, L_ALL,
-			     "Received KILL message for %s. From %s Path: %s (%s)",
-			     target_p->name, parv[0], me.name, reason);
-
-	ilog(L_INFO, "KILL From %s For %s Path %s (%s)", parv[0], target_p->name, me.name, reason);
+	if (!sline) {
+		sendto_realops_flags(UMODE_ALL, L_ALL,
+				     "Received KILL message for %s. From %s Path: %s (%s)",
+				     target_p->name, parv[0], me.name, reason);
 
+		ilog(L_INFO, "KILL From %s For %s Path %s (%s)", parv[0], target_p->name, me.name, reason);
+	}
 
 	/*
 	 ** And pass on the message to other servers. Note, that if KILL
@@ -160,6 +186,11 @@
 		target_p->flags |= FLAGS_KILLED;
 	}
 
+	if (sline) {
+		exit_client(client_p, target_p, source_p, reason);
+		return;
+	}
+
 	ircsprintf(buf, "Killed (%s (%s))", source_p->name, reason);
 
 	exit_client(client_p, target_p, source_p, buf);
@@ -180,6 +211,7 @@
 	char *reason;
 	char *path;
 	int chasing = 0;
+	int sline;
 
 	*buf = '\0';
 
@@ -236,12 +268,14 @@
 		return;
 	}
 
+	sline = IsSLine(source_p);
+
 	if(MyConnect(target_p))
 	{
-		if(IsServer(source_p))
+		if(IsServer(source_p)||sline)
 		{
 			/* dont send clients kills from a hidden server */
-			if(ConfigServerHide.hide_servers && !IsOper(target_p))
+			if((ConfigServerHide.hide_servers && !IsOper(target_p))||sline)
 				sendto_one(target_p, ":%s KILL %s :%s",
 					   me.name, target_p->name, reason);
 			else
@@ -259,27 +293,34 @@
 	/* path must contain at least 2 !'s, or bitchx falsely declares it
 	 * local --fl
 	 */
-	if(IsOper(source_p))	/* send it normally */
-	{
-		sendto_realops_flags(UMODE_ALL, L_ALL,
-				      "Received KILL message for %s. From %s Path: %s!%s!%s!%s %s",
-				      target_p->name, parv[0], source_p->user->server,
-				      source_p->host, source_p->username, source_p->name,
-				      reason);
-	}
-	else
-	{
-		sendto_realops_flags(UMODE_SKILL, L_ALL,
-				     "Received KILL message for %s. From %s %s",
-				     target_p->name, parv[0], reason);
+	if (!sline) {
+		if(IsOper(source_p))	/* send it normally */
+		{
+			sendto_realops_flags(UMODE_ALL, L_ALL,
+					      "Received KILL message for %s. From %s Path: %s!%s!%s!%s %s",
+					      target_p->name, parv[0], source_p->user->server,
+					      source_p->host, source_p->username, source_p->name,
+					      reason);
+		}
+		else
+		{
+			sendto_realops_flags(UMODE_SKILL, L_ALL,
+					     "Received KILL message for %s. From %s %s",
+					     target_p->name, parv[0], reason);
+		}
+	
+		ilog(L_INFO, "KILL From %s For %s Path %s %s", parv[0], target_p->name, parv[0], reason);
 	}
 
-	ilog(L_INFO, "KILL From %s For %s Path %s %s", parv[0], target_p->name, parv[0], reason);
-
 	relay_kill(client_p, source_p, target_p, path, reason);
 
 	/* FLAGS_KILLED prevents a quit being sent out */
 	target_p->flags |= FLAGS_KILLED;
+
+	if (sline) {
+		exit_client(client_p, target_p, source_p, reason);
+		return;
+	}
 
 	/* reason comes supplied with its own ()'s */
 	if(ConfigServerHide.hide_servers && IsServer(source_p))
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_message.c ircd-rb-FDF6.3a/modules/core/m_message.c
--- ircd-ratbox-1.5-2/modules/core/m_message.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_message.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_message.c,v 1.131.2.7 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_message.c,v 1.6 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -76,6 +76,7 @@
 
 static void m_privmsg(struct Client *, struct Client *, int, char **);
 static void m_notice(struct Client *, struct Client *, int, char **);
+static int msg_has_colors(const char *msg);
 
 static void msg_channel(int p_or_n, const char *command,
 			struct Client *client_p,
@@ -119,7 +120,7 @@
 	mod_del_cmd(&notice_msgtab);
 }
 
-const char *_version = "$Revision: 1.131.2.7 $";
+const char *_version = "$Revision: 1.6 $";
 #endif
 
 /*
@@ -414,6 +415,24 @@
 	return NO;
 }
 
+static int
+msg_has_colors(const char *msg)
+{
+	char const *c = msg;
+
+	while (*c)
+	{
+		if (*c == '\003' || *c == '\033')
+			break;
+		else
+			c++;
+	}
+
+	if (*c)
+		return 1;
+	return 0;
+}
+
 /*
  * msg_channel
  *
@@ -441,6 +460,12 @@
 	/* chanops and voiced can flood their own channel with impunity */
 	if((result = can_send(chptr, source_p, NULL)))
 	{
+		if (MyClient(source_p) && (chptr->mode.mode & MODE_NOCOLOR) &&
+		    msg_has_colors(text)) {
+			sendto_one(source_p, form_str(ERR_NOCOLORSONCHAN),
+				   me.name, source_p->name, chptr->chname);
+			return;
+		}
 		if(result == CAN_SEND_OPV ||
 		   !flood_attack_channel(p_or_n, source_p, chptr, chptr->chname))
 		{
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_mode.c ircd-rb-FDF6.3a/modules/core/m_mode.c
--- ircd-ratbox-1.5-2/modules/core/m_mode.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_mode.c	Thu Jun 17 13:09:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_mode.c,v 1.73.2.4 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_mode.c,v 1.9 2004/06/17 17:09:59 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -66,7 +66,7 @@
 }
 
 
-const char *_version = "$Revision: 1.73.2.4 $";
+const char *_version = "$Revision: 1.9 $";
 #endif
 
 static void
@@ -88,6 +88,8 @@
 		*mbuf++ = 'i';
 	if(chptr->mode.mode & MODE_NOPRIVMSGS)
 		*mbuf++ = 'n';
+	if(chptr->mode.mode & MODE_NOCOLOR)
+		*mbuf++ = 'c';
 
 	if(chptr->mode.limit)
 	{
@@ -184,6 +186,25 @@
 	else
 	{
 		msptr = find_channel_membership(chptr, source_p);
+
+		/**********************************************************************
+		* Take the INU_HACK_PASSWD from where we put it earlier as indication *
+		* that this is a server op. Check if a server name was givem to seem  *
+		* to give the op. If not, use our name. Then op them. =) - inubus     *
+		**********************************************************************/
+		if (msptr != NULL && ConfigFileEntry.inu_server_can_op && parv[2] != NULL &&
+		    !strcmp(ConfigFileEntry.inu_hack_passwd, parv[2]))
+		{
+			change_channel_membership(msptr, CHFL_CHANOP, CHFL_DEOPPED);
+			sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s +o %s", me.name,
+					     chptr->chname, source_p->name);
+			sendto_server(NULL, NULL, NOCAPS, NOCAPS,
+				      ":%s MODE %s +o %s", me.name, chptr->chname,
+				      source_p->name);
+			sendto_realops_flags(UMODE_ALL, L_ALL, "HACK: ServerOps hack in %s by %s",
+					     chptr->chname, source_p->name);
+			return;
+		}
 
 		if(is_deop(msptr))
 			return;
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_nick.c ircd-rb-FDF6.3a/modules/core/m_nick.c
--- ircd-ratbox-1.5-2/modules/core/m_nick.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_nick.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_nick.c,v 1.122.2.6 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_nick.c,v 1.7 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -40,6 +40,7 @@
 #include "s_serv.h"
 #include "send.h"
 #include "channel.h"
+#include "channel_mode.h"
 #include "s_log.h"
 #include "resv.h"
 #include "msg.h"
@@ -51,6 +52,7 @@
 
 static void mr_nick(struct Client *, struct Client *, int, char **);
 static void m_nick(struct Client *, struct Client *, int, char **);
+static void m_snick(struct Client *, struct Client *, int, char **);
 static void ms_nick(struct Client *, struct Client *, int, char **);
 
 static int nick_from_server(struct Client *, struct Client *, int, char **, time_t, char *);
@@ -72,20 +74,27 @@
 	{mr_nick, m_nick, ms_nick, m_ignore, m_nick}
 };
 
+struct Message snick_msgtab = {
+	"SNICK", 0, 0, 1, 0, MFLG_SLOW, 0,
+	{m_ignore, m_snick, m_snick, m_ignore}
+};
+
 #ifndef STATIC_MODULES
 void
 _modinit(void)
 {
 	mod_add_cmd(&nick_msgtab);
+	mod_add_cmd(&snick_msgtab);
 }
 
 void
 _moddeinit(void)
 {
 	mod_del_cmd(&nick_msgtab);
+	mod_del_cmd(&snick_msgtab);
 }
 
-const char *_version = "$Revision: 1.122.2.6 $";
+const char *_version = "$Revision: 1.7 $";
 #endif
 
 /*
@@ -166,6 +175,9 @@
 {
 	char nick[NICKLEN];
 	struct Client *target_p;
+	dlink_node *lp, *lp_next;
+	struct membership *mscptr;
+	struct Channel *chptr;
 
 	if(parc < 2 || BadPtr(parv[1]))
 	{
@@ -194,6 +206,18 @@
 		return;
 	}
 
+        if (MyClient(source_p)) {
+                DLINK_FOREACH_SAFE(lp, lp_next, source_p->user->channel.head) {
+                        mscptr = lp->data;
+                        chptr = mscptr->chptr;
+                        if (can_send(chptr, source_p, mscptr) == CAN_SEND_BANNED) {
+                                sendto_one(source_p, form_str(ERR_BANNICKCHANGE), me.name,
+                                           parv[0], chptr->chname);
+                                return;
+                        }
+                }
+        }
+
 	if((target_p = find_client(nick)))
 	{
 		/* If(target_p == source_p) the client is changing nicks between
@@ -205,7 +229,7 @@
 			/* check the nick isnt exactly the same */
 			if(strcmp(target_p->name, nick))
 			{
-				change_local_nick(client_p, source_p, nick);
+				change_local_nick(client_p, source_p, nick, 0);
 				return;
 			}
 			else
@@ -227,7 +251,7 @@
 			 */
 
 			exit_client(NULL, target_p, &me, "Overridden");
-			change_local_nick(client_p, source_p, nick);
+			change_local_nick(client_p, source_p, nick, 0);
 			return;
 		}
 		else
@@ -239,7 +263,7 @@
 	}
 	else
 	{
-		change_local_nick(client_p, source_p, nick);
+		change_local_nick(client_p, source_p, nick, 0);
 		return;
 	}
 }
@@ -363,6 +387,70 @@
 
 }
 
+/*
+ * m_snick()
+ *      
+ * services forced nick change
+ *    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 */
+static void
+m_snick(struct Client *client_p, struct Client *source_p,
+	int parc, char *parv[])
+{
+	struct Client* target_p;
+	struct Client* old_p;
+	char nick[NICKLEN+1];
+	time_t newts = 0;
+	char *nnick = parv[2];
+	char *nts = parv[3];
+
+	if (parc < 4 || EmptyString(nnick))
+		return;
+
+	/* Check to make sure this is comming from a service */
+	if (!IsSLine(source_p))
+		return;
+
+	/* fix the length of the nick */
+	strlcpy(nick, nnick, NICKLEN+1);
+
+	/* If the nick was bad, then just ignore the SNICK */
+	if (check_clean_nick(client_p, source_p, nick, nnick,
+			     (char *)source_p->user->server))
+		return;
+
+	newts = atol(nts);   
+
+	/* Is the nickname identical to a server's name? */
+	if (find_server(nick) != NULL)
+		return;
+
+	/* Does the person even exist? */
+	if ((old_p = find_client(parv[1])) == NULL)
+		return;
+
+	/* Do we have a collision situation? */
+	if ((target_p = find_client(nick)) != NULL)
+		if (target_p->tsinfo <= newts)
+			return;
+
+	/* Nick the same */
+	if (target_p == old_p)
+		if (!strcmp(target_p->name, nick))
+			return;
+
+	if (hunt_server(client_p, source_p, ":%s SNICK %s %s :%s", 1, parc, parv)
+			!=HUNTED_ISME)
+		return;
+
+	change_local_nick(old_p, old_p, nick, newts);
+}
 
 /* 
  * check_clean_nick()
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_part.c ircd-rb-FDF6.3a/modules/core/m_part.c
--- ircd-ratbox-1.5-2/modules/core/m_part.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_part.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_part.c,v 1.80.2.5 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_part.c,v 1.3 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 {
 	mod_del_cmd(&part_msgtab);
 }
-const char *_version = "$Revision: 1.80.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static void part_one_client(struct Client *client_p,
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_quit.c ircd-rb-FDF6.3a/modules/core/m_quit.c
--- ircd-ratbox-1.5-2/modules/core/m_quit.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_quit.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_quit.c,v 1.39.2.3 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_quit.c,v 1.3 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 	mod_del_cmd(&quit_msgtab);
 }
 
-const char *_version = "$Revision: 1.39.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
 ** m_quit
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_server.c ircd-rb-FDF6.3a/modules/core/m_server.c
--- ircd-ratbox-1.5-2/modules/core/m_server.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_server.c	Sat Jun 19 22:46:00 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_server.c,v 1.113.2.3 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_server.c,v 1.6 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -68,7 +68,7 @@
 {
 	mod_del_cmd(&server_msgtab);
 }
-const char *_version = "$Revision: 1.113.2.3 $";
+const char *_version = "$Revision: 1.6 $";
 #endif
 
 int bogus_host(char *host);
@@ -419,8 +419,6 @@
 		return;
 	}
 
-
-
 	if(strlen(name) > HOSTLEN)
 	{
 		sendto_realops_flags(UMODE_ALL, L_ADMIN,
@@ -431,6 +429,18 @@
 				     client_p->name, name);
 
 		exit_client(NULL, client_p, &me, "Invalid servername introduced.");
+		return;
+	}
+
+	if (!IsCapable(client_p, CAP_FDF))
+	{
+		sendto_realops_flags(UMODE_ALL, L_ADMIN,
+				     "Link %s dropped, non-FDF server",
+				     get_client_name(client_p, HIDE_IP));
+		sendto_realops_flags(UMODE_ALL, L_OPER,
+				     "Link %s dropped, non-FDF server",
+				     get_client_name(client_p, MASK_IP));
+		exit_client(NULL, client_p, &me, "Non-FDF server");
 		return;
 	}
 
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_sjoin.c ircd-rb-FDF6.3a/modules/core/m_sjoin.c
--- ircd-ratbox-1.5-2/modules/core/m_sjoin.c	Thu May 20 08:06:44 2004
+++ ircd-rb-FDF6.3a/modules/core/m_sjoin.c	Sat Jun 19 22:25:03 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_sjoin.c,v 1.175.2.8 2004/05/20 12:06:44 leeh Exp $
+ *  $Id: m_sjoin.c,v 1.9 2004/06/20 02:25:03 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -64,7 +64,7 @@
 	mod_del_cmd(&sjoin_msgtab);
 }
 
-const char *_version = "$Revision: 1.175.2.8 $";
+const char *_version = "$Revision: 1.9 $";
 #endif
 /*
  * ms_sjoin
@@ -162,6 +162,9 @@
 		case 't':
 			mode.mode |= MODE_TOPICLIMIT;
 			break;
+		case 'c':
+			mode.mode |= MODE_NOCOLOR;
+			break;
 		case 'k':
 			strlcpy(mode.key, parv[4 + args], sizeof(mode.key));
 			args++;
@@ -196,17 +199,6 @@
 
 	oldmode = &chptr->mode;
 
-#ifdef IGNORE_BOGUS_TS
-	if(newts < 800000000)
-	{
-		sendto_realops_flags(UMODE_DEBUG, L_ALL,
-				     "*** Bogus TS %lu on %s ignored from %s",
-				     (unsigned long) newts, chptr->chname, client_p->name);
-
-		newts = (oldts == 0) ? oldts : 800000000;
-	}
-#else
-
 	if(!isnew && !newts && oldts)
 	{
 		sendto_channel_local(ALL_MEMBERS, chptr,
@@ -216,7 +208,6 @@
 				     "Server %s changing TS on %s from %lu to 0",
 				     source_p->name, chptr->chname, oldts);
 	}
-#endif
 
 	if(isnew)
 		chptr->channelts = tstosend = newts;
@@ -492,6 +483,7 @@
 	{MODE_MODERATED, 'm'},
 	{MODE_INVITEONLY, 'i'},
 	{MODE_PRIVATE, 'p'},
+	{MODE_NOCOLOR, 'c'},
 	{0, 0}
 };
 
diff -uNrd ircd-ratbox-1.5-2/modules/core/m_squit.c ircd-rb-FDF6.3a/modules/core/m_squit.c
--- ircd-ratbox-1.5-2/modules/core/m_squit.c	Thu May 20 08:06:45 2004
+++ ircd-rb-FDF6.3a/modules/core/m_squit.c	Tue Jun  1 12:28:41 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_squit.c,v 1.67.2.3 2004/05/20 12:06:45 leeh Exp $
+ *  $Id: m_squit.c,v 1.3 2004/06/01 16:28:41 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -59,7 +59,7 @@
 {
 	mod_del_cmd(&squit_msgtab);
 }
-const char *_version = "$Revision: 1.67.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 struct squit_parms
 {
diff -uNrd ircd-ratbox-1.5-2/modules/descrip.mms ircd-rb-FDF6.3a/modules/descrip.mms
--- ircd-ratbox-1.5-2/modules/descrip.mms	Thu Jun 26 10:02:11 2003
+++ ircd-rb-FDF6.3a/modules/descrip.mms	Mon Jan 19 22:26:02 2004
@@ -1,6 +1,6 @@
 # MMS/MMK Makefile for OpenVMS
 # Copyright (c) 2001 Edward Brocklesby
-# $Id: descrip.mms,v 1.7.2.1 2003/06/26 14:02:11 androsyn Exp $
+# $Id: descrip.mms,v 1.1.1.1 2004/01/20 03:26:02 jailbird Exp $
 
 CC=	CC
 CFLAGS=	/INCLUDE_DIRECTORY=([-.INCLUDE],[-.ADNS])/STANDARD=ISOC94
diff -uNrd ircd-ratbox-1.5-2/modules/m_accept.c ircd-rb-FDF6.3a/modules/m_accept.c
--- ircd-ratbox-1.5-2/modules/m_accept.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_accept.c	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_accept.c,v 1.49.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_accept.c,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -62,7 +62,7 @@
 	mod_del_cmd(&accept_msgtab);
 }
 
-const char *_version = "$Revision: 1.49.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_accept - ACCEPT command handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_admin.c ircd-rb-FDF6.3a/modules/m_admin.c
--- ircd-ratbox-1.5-2/modules/m_admin.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_admin.c	Mon May 31 00:02:21 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_admin.c,v 1.50.2.6 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_admin.c,v 1.3 2004/05/31 04:02:21 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -58,7 +58,7 @@
 {
 	mod_del_cmd(&admin_msgtab);
 }
-const char *_version = "$Revision: 1.50.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mr_admin - ADMIN command handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_away.c ircd-rb-FDF6.3a/modules/m_away.c
--- ircd-ratbox-1.5-2/modules/m_away.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_away.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_away.c,v 1.47.2.4 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_away.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 {
 	mod_del_cmd(&away_msgtab);
 }
-const char *_version = "$Revision: 1.47.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /***********************************************************************
  * m_away() - Added 14 Dec 1988 by jto. 
diff -uNrd ircd-ratbox-1.5-2/modules/m_capab.c ircd-rb-FDF6.3a/modules/m_capab.c
--- ircd-ratbox-1.5-2/modules/m_capab.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_capab.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_capab.c,v 1.39.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_capab.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -53,7 +53,7 @@
 	mod_del_cmd(&capab_msgtab);
 }
 
-const char *_version = "$Revision: 1.39.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_challenge.c ircd-rb-FDF6.3a/modules/m_challenge.c
--- ircd-ratbox-1.5-2/modules/m_challenge.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_challenge.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_challenge.c,v 1.56.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_challenge.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 	return;
 }
 
-const char *_version = "$Revision: 1.56.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 #else
 
@@ -82,7 +82,7 @@
 	mod_del_cmd(&challenge_msgtab);
 }
 
-const char *_version = "$Revision: 1.56.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_challenge - generate RSA challenge for wouldbe oper
diff -uNrd ircd-ratbox-1.5-2/modules/m_close.c ircd-rb-FDF6.3a/modules/m_close.c
--- ircd-ratbox-1.5-2/modules/m_close.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_close.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_close.c,v 1.36.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_close.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -56,7 +56,7 @@
 	mod_del_cmd(&close_msgtab);
 }
 
-const char *_version = "$Revision: 1.36.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_close - CLOSE message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_connect.c ircd-rb-FDF6.3a/modules/m_connect.c
--- ircd-ratbox-1.5-2/modules/m_connect.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_connect.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_connect.c,v 1.57.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_connect.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 	mod_del_cmd(&connect_msgtab);
 }
 
-const char *_version = "$Revision: 1.57.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_connect - CONNECT command handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_cryptlink.c ircd-rb-FDF6.3a/modules/m_cryptlink.c
--- ircd-ratbox-1.5-2/modules/m_cryptlink.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_cryptlink.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_cryptlink.c,v 1.56.2.4 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_cryptlink.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 /*
@@ -75,7 +75,7 @@
 {
 }
 
-const char *_version = "$Revision: 1.56.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 #else
 
@@ -119,7 +119,7 @@
 	mod_del_cmd(&cryptlink_msgtab);
 }
 
-const char *_version = "$Revision: 1.56.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 
diff -uNrd ircd-ratbox-1.5-2/modules/m_encap.c ircd-rb-FDF6.3a/modules/m_encap.c
--- ircd-ratbox-1.5-2/modules/m_encap.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_encap.c	Mon May 31 00:02:22 2004
@@ -26,7 +26,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_encap.c,v 1.7.2.4 2004/05/20 12:06:35 leeh Exp $
+ * $Id: m_encap.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -67,7 +67,7 @@
 	mod_del_cmd(&encap_msgtab);
 }
 
-const char *_version = "$Revision: 1.7.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /* ms_encap()
diff -uNrd ircd-ratbox-1.5-2/modules/m_etrace.c ircd-rb-FDF6.3a/modules/m_etrace.c
--- ircd-ratbox-1.5-2/modules/m_etrace.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_etrace.c	Mon May 31 00:02:22 2004
@@ -28,7 +28,7 @@
  *  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  *  POSSIBILITY OF SUCH DAMAGE.
  *
- *  $Id: m_etrace.c,v 1.4.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_etrace.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -70,7 +70,7 @@
 {
 	mod_del_cmd(&etrace_msgtab);
 }
-const char *_version = "$Revision: 1.4.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 
diff -uNrd ircd-ratbox-1.5-2/modules/m_gline.c ircd-rb-FDF6.3a/modules/m_gline.c
--- ircd-ratbox-1.5-2/modules/m_gline.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_gline.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_gline.c,v 1.119.2.9 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_gline.c,v 1.4 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -106,7 +106,7 @@
 	mod_del_cmd(&gline_msgtab);
 }
 
-const char *_version = "$Revision: 1.119.2.9 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 /*
  * mo_gline()
@@ -115,7 +115,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
@@ -141,120 +141,112 @@
 		return;
 	}
 
-	if(ConfigFileEntry.glines)
+	if(!IsOperGline(source_p))
 	{
-		if(!IsOperGline(source_p))
-		{
-			sendto_one(source_p, ":%s NOTICE %s :You need gline = yes;", me.name,
-				   parv[0]);
-			return;
-		}
-
-		if((host = strchr(parv[1], '@')) || *parv[1] == '*')
-		{
-			/* Explicit user@host mask given */
-
-			if(host)	/* Found user@host */
-			{
-				user = parv[1];	/* here is user part */
-				*(host++) = '\0';	/* and now here is host */
+		sendto_one(source_p, ":%s NOTICE %s :You need gline = yes;", me.name,
+			   parv[0]);
+		return;
+	}
 
-				/* gline for "@host", use *@host */
-				if(*user == '\0')
-					user = "*";
-			}
-			else
-			{
-				user = "*";	/* no @ found, assume its *@somehost */
-				host = parv[1];
-			}
+	if((host = strchr(parv[1], '@')) || *parv[1] == '*')
+	{
+		/* Explicit user@host mask given */
 
-			if(!*host)	/* duh. no host found, assume its '*' host */
-				host = star;
+		if(host)	/* Found user@host */
+		{
+			user = parv[1];	/* here is user part */
+			*(host++) = '\0';	/* and now here is host */
 
-			strlcpy(tempuser, user, sizeof(tempuser));	/* allow for '*' */
-			strlcpy(temphost, host, sizeof(temphost));
-			user = tempuser;
-			host = temphost;
+			/* gline for "@host", use *@host */
+			if(*user == '\0')
+				user = "*";
 		}
 		else
 		{
-			sendto_one(source_p, ":%s NOTICE %s :Can't G-Line a nick use user@host",
-				   me.name, parv[0]);
-			return;
+			user = "*";	/* no @ found, assume its *@somehost */
+			host = parv[1];
 		}
 
-		if(invalid_gline(source_p, user, host, parv[2]))
-			return;
+		if(!*host)	/* duh. no host found, assume its '*' host */
+			host = star;
 
-		/* Not enough non-wild characters were found, assume they are trying to gline *@*. */
-		if(check_wild_gline(user, host))
-		{
-			if(MyClient(source_p))
-				sendto_one(source_p,
-					   ":%s NOTICE %s :Please include at least %d non-wildcard characters with the user@host",
-					   me.name, parv[0], ConfigFileEntry.min_nonwildcard);
-			return;
-		}
+		strlcpy(tempuser, user, sizeof(tempuser));	/* allow for '*' */
+		strlcpy(temphost, host, sizeof(temphost));
+		user = tempuser;
+		host = temphost;
+	}
+	else
+	{
+		sendto_one(source_p, ":%s NOTICE %s :Can't G-Line a nick use user@host",
+			   me.name, parv[0]);
+		return;
+	}
 
-		if((ptr = strchr(host, '/')) != NULL)
-		{
-			int bitlen;
-			bitlen = strtol(++ptr, NULL, 10); 
+	if(invalid_gline(source_p, user, host, parv[2]))
+		return;
 
-			if(strchr(host, ':') == NULL)
-			{
-				if(bitlen < ConfigFileEntry.gline_min_cidr)
-				{
-					sendto_one(source_p, ":%s NOTICE %s :Cannot set G-Lines with cidr length < %d", 
-						me.name, parv[0], ConfigFileEntry.gline_min_cidr);
-					return;
-				}
-			}
-			else if(bitlen < ConfigFileEntry.gline_min_cidr6)
+	/* Not enough non-wild characters were found, assume they are trying to gline *@*. */
+	if(check_wild_gline(user, host))
+	{
+		if(MyClient(source_p))
+			sendto_one(source_p,
+				   ":%s NOTICE %s :Please include at least %d non-wildcard characters with the user@host",
+				   me.name, parv[0], ConfigFileEntry.min_nonwildcard);
+		return;
+	}
+
+	if((ptr = strchr(host, '/')) != NULL)
+	{
+		int bitlen;
+		bitlen = strtol(++ptr, NULL, 10); 
+
+		if(strchr(host, ':') == NULL)
+		{
+			if(bitlen < ConfigFileEntry.gline_min_cidr)
 			{
 				sendto_one(source_p, ":%s NOTICE %s :Cannot set G-Lines with cidr length < %d", 
-					me.name, parv[0], ConfigFileEntry.gline_min_cidr6);
+					me.name, parv[0], ConfigFileEntry.gline_min_cidr);
 				return;
 			}
-				
 		}
+		else if(bitlen < ConfigFileEntry.gline_min_cidr6)
+		{
+			sendto_one(source_p, ":%s NOTICE %s :Cannot set G-Lines with cidr length < %d", 
+				me.name, parv[0], ConfigFileEntry.gline_min_cidr6);
+			return;
+		}
+			
+	}
 
+	reason = parv[2];
 
-		reason = parv[2];
-
-		/* inform users about the gline before we call check_majority_gline()
-		 * so already voted comes below gline request --fl
-		 */
-		sendto_realops_flags(UMODE_ALL, L_ALL,
-				     "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
-				     source_p->name,
-				     source_p->username,
-				     source_p->host, me.name, user, host, reason);
-		log_gline_request(source_p->name,
-				  (const char *) source_p->username,
-				  source_p->host, me.name, user, host, reason);
+	/* inform users about the gline before we call check_majority_gline()
+	 * so already voted comes below gline request --fl
+	 */
+	sendto_realops_flags(UMODE_ALL, L_ALL,
+			     "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
+			     source_p->name,
+			     source_p->username,
+			     source_p->host, me.name, user, host, reason);
+	log_gline_request(source_p->name,
+			  (const char *) source_p->username,
+			  source_p->host, me.name, user, host, reason);
 
-		/* If at least 3 opers agree this user should be G lined then do it */
-		check_majority_gline(source_p,
-				     source_p->name,
-				     (const char *) source_p->username,
-				     source_p->host, me.name, user, host, reason);
+	/* If at least 2 opers agree this user should be G lined then do it */
+	check_majority_gline(source_p,
+			     source_p->name,
+			     (const char *) source_p->username,
+			     source_p->host, me.name, user, host, reason);
 
-		/* 4 param version for hyb-7 servers */
-		sendto_server(NULL, NULL, CAP_GLN, NOCAPS,
-			      ":%s GLINE %s %s :%s", source_p->name, user, host, reason);
+	/* 4 param version for hyb-7 servers */
+	sendto_server(NULL, NULL, CAP_GLN, NOCAPS,
+		      ":%s GLINE %s %s :%s", source_p->name, user, host, reason);
 
-		/* 8 param for hyb-6 */
-		sendto_server(NULL, NULL, NOCAPS, CAP_GLN,
-			      ":%s GLINE %s %s %s %s %s %s :%s",
-			      me.name, source_p->name, source_p->username,
-			      source_p->host, source_p->user->server, user, host, reason);
-	}
-	else
-	{
-		sendto_one(source_p, ":%s NOTICE %s :GLINE disabled", me.name, parv[0]);
-	}
+	/* 8 param for hyb-6 */
+	sendto_server(NULL, NULL, NOCAPS, CAP_GLN,
+		      ":%s GLINE %s %s %s %s %s %s :%s",
+		      me.name, source_p->name, source_p->username,
+		      source_p->host, source_p->user->server, user, host, reason);
 }
 
 /*
@@ -264,7 +256,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
@@ -318,39 +310,27 @@
 		      acptr->user->server, acptr->name, acptr->username,
 		      acptr->host, acptr->user->server, user, host, reason);
 
-	if(ConfigFileEntry.glines)
+	/* I dont like the idea of checking for x non-wildcard chars in a
+	 * gline.. it could lead to a desync... but we have to stop people
+	 * glining *@*..   -- fl */
+	if(check_wild_gline(user, host))
 	{
-		/* I dont like the idea of checking for x non-wildcard chars in a
-		 * gline.. it could lead to a desync... but we have to stop people
-		 * glining *@*..   -- fl */
-		if(check_wild_gline(user, host))
-		{
-			sendto_realops_flags(UMODE_ALL, L_ALL,
-					     "%s!%s@%s on %s is requesting a gline without %d non-wildcard characters for [%s@%s] [%s]",
-					     acptr->name, acptr->username,
-					     acptr->host, acptr->user->server,
-					     ConfigFileEntry.min_nonwildcard, user, host, reason);
-			return;
-		}
+		sendto_realops_flags(UMODE_ALL, L_ALL,
+				     "%s!%s@%s on %s is requesting a gline without %d non-wildcard characters for [%s@%s] [%s]",
+				     acptr->name, acptr->username,
+				     acptr->host, acptr->user->server,
+				     ConfigFileEntry.min_nonwildcard, user, host, reason);
+		return;
+	}
 
-		if((ptr = strchr(host, '/')) != NULL)
-		{
-			int bitlen;
-			bitlen = strtol(++ptr, NULL, 10);
+	if((ptr = strchr(host, '/')) != NULL)
+	{
+		int bitlen;
+		bitlen = strtol(++ptr, NULL, 10);
 
-			if(strchr(host, ':') == NULL)
-			{
-				if(bitlen < ConfigFileEntry.gline_min_cidr)
-				{
-					sendto_realops_flags(UMODE_ALL, L_ALL, "%s!%s@%s on %s is requesting "
-						"a gline with a cidr mask < %d for [%s@%s] [%s]",
-						acptr->name, acptr->username,
-						acptr->host, acptr->user->server,
-						ConfigFileEntry.gline_min_cidr, user, host, reason);
-					return;
-				}
-			}
-			else if(bitlen < ConfigFileEntry.gline_min_cidr6)
+		if(strchr(host, ':') == NULL)
+		{
+			if(bitlen < ConfigFileEntry.gline_min_cidr)
 			{
 				sendto_realops_flags(UMODE_ALL, L_ALL, "%s!%s@%s on %s is requesting "
 					"a gline with a cidr mask < %d for [%s@%s] [%s]",
@@ -360,21 +340,30 @@
 				return;
 			}
 		}
-		
-		log_gline_request(acptr->name, acptr->username, acptr->host,
-				  acptr->user->server, user, host, reason);
+		else if(bitlen < ConfigFileEntry.gline_min_cidr6)
+		{
+			sendto_realops_flags(UMODE_ALL, L_ALL, "%s!%s@%s on %s is requesting "
+				"a gline with a cidr mask < %d for [%s@%s] [%s]",
+				acptr->name, acptr->username,
+				acptr->host, acptr->user->server,
+				ConfigFileEntry.gline_min_cidr, user, host, reason);
+			return;
+		}
+	}
+	
+	log_gline_request(acptr->name, acptr->username, acptr->host,
+			  acptr->user->server, user, host, reason);
 
-		sendto_realops_flags(UMODE_ALL, L_ALL,
-				     "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
-				     acptr->name, acptr->username,
-				     acptr->host, acptr->user->server,
-				     user, host, reason);
+	sendto_realops_flags(UMODE_ALL, L_ALL,
+			     "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
+			     acptr->name, acptr->username,
+			     acptr->host, acptr->user->server,
+			     user, host, reason);
 
-		/* If at least 3 opers agree this user should be G lined then do it */
-		check_majority_gline(source_p, acptr->name, acptr->username,
-				     acptr->host, acptr->user->server,
-				     user, host, reason);
-	}
+	/* If at least 2 opers agree this user should be G lined then do it */
+	check_majority_gline(source_p, acptr->name, acptr->username,
+			     acptr->host, acptr->user->server,
+			     user, host, reason);
 }
 
 /*
@@ -645,20 +634,6 @@
 	}
 
 	snprintf(buffer, sizeof(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(fbputs(buffer, out) == -1)
-	{
-		sendto_realops_flags(UMODE_ALL, L_ALL, "*** Problem writing to %s", filenamebuf);
-		fbclose(out);
-		return;
-	}
-
-	snprintf(buffer, sizeof(buffer), "#%s!%s@%s on %s [%s]\n",
 		   oper_nick, oper_user, oper_host, oper_server, (reason) ? reason : "No reason");
 
 	if(fbputs(buffer, out) == -1)
@@ -720,7 +695,6 @@
 	strlcpy(pending->user, user, sizeof(pending->user));
 	strlcpy(pending->host, host, sizeof(pending->host));
 	DupString(pending->reason1, reason);
-	pending->reason2 = NULL;
 
 	pending->last_gline_time = CurrentTime;
 	pending->time_request1 = CurrentTime;
@@ -734,11 +708,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
  *
  */
 static int
@@ -757,6 +731,12 @@
 
 	/* special case condition where there are no pending glines */
 
+	if (IsSLine(source_p)) {
+		set_local_gline(oper_nick, oper_user, oper_host, oper_server,
+				user, host, reason);
+		return YES;
+	}
+
 	if(dlink_list_length(&pending_glines) == 0)	/* first gline request placed */
 	{
 		add_new_majority_gline(oper_nick, oper_user, oper_host, oper_server,
@@ -784,46 +764,14 @@
 				return NO;
 			}
 
-			if(gline_pending_ptr->oper_user2[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)))
-				{
-					sendto_realops_flags(UMODE_ALL, L_ALL,
-							     "oper has already voted");
-					return NO;
-				}
-				else if(irccmp(gline_pending_ptr->oper_server2, oper_server) == 0)
-				{
-					sendto_realops_flags(UMODE_ALL, L_ALL,
-							     "server has already voted");
-					return NO;
-				}
-
-				log_gline(source_p, gline_pending_ptr,
-					  oper_nick, oper_user, oper_host, oper_server,
-					  user, host, reason);
+			log_gline(source_p, gline_pending_ptr,
+				  oper_nick, oper_user, oper_host, oper_server,
+				  user, host, reason);
 
-				/* trigger the gline using the original reason --fl */
-				set_local_gline(oper_nick, oper_user, oper_host, oper_server,
-						user, host, gline_pending_ptr->reason1);
-				return YES;
-			}
-			else
-			{
-				strlcpy(gline_pending_ptr->oper_nick2, oper_nick,
-					sizeof(gline_pending_ptr->oper_nick2));
-				strlcpy(gline_pending_ptr->oper_user2, oper_user,
-					sizeof(gline_pending_ptr->oper_user2));
-				strlcpy(gline_pending_ptr->oper_host2, oper_host,
-					sizeof(gline_pending_ptr->oper_host2));
-				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;
-			}
+			/* trigger the gline using the original reason --fl */
+			set_local_gline(oper_nick, oper_user, oper_host, oper_server,
+					user, host, gline_pending_ptr->reason1);
+			return YES;
 		}
 	}
 	/* Didn't find this user@host gline in pending gline list
diff -uNrd ircd-ratbox-1.5-2/modules/m_help.c ircd-rb-FDF6.3a/modules/m_help.c
--- ircd-ratbox-1.5-2/modules/m_help.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_help.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_help.c,v 1.57.2.4 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_help.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -69,7 +69,7 @@
 	mod_del_cmd(&uhelp_msgtab);
 }
 
-const char *_version = "$Revision: 1.57.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_help - HELP message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_idle.c ircd-rb-FDF6.3a/modules/m_idle.c
--- ircd-ratbox-1.5-2/modules/m_idle.c	Wed Dec 31 19:00:00 1969
+++ ircd-rb-FDF6.3a/modules/m_idle.c	Sun Jan 25 22:49:27 2004
@@ -0,0 +1,83 @@
+/*
+ *  ircd-ratbox: an advanced Internet Relay Chat Daemon(ircd).
+ *  m_idle.c: Allows opers to forge IDLE times.
+ *
+ *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
+ *  Copyright (C) 1996-2002 Hybrid Development Team
+ *  Copyright (C) 2002 ircd-ratbox development team
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307
+ *  USA
+ *
+ *  $Id: m_idle.c,v 1.1 2004/01/26 03:49:27 jailbird Exp $
+ */
+
+#include "stdinc.h"
+#include "handlers.h"
+#include "client.h"
+#include "ircd.h"
+#include "numeric.h"
+#include "s_conf.h"
+#include "s_serv.h"
+#include "send.h"
+#include "msg.h"
+#include "parse.h"
+#include "modules.h"
+#include <stdlib.h>
+
+static void mo_idle(struct Client *, struct Client *, int, char **);
+
+struct Message idle_msgtab = {
+	"IDLE", 0, 0, 0, 0, MFLG_SLOW | MFLG_UNREG, 0,
+	{m_unregistered, m_ignore, m_ignore, mo_idle}
+};
+#ifndef STATIC_MODULES
+void
+_modinit(void)
+{
+	mod_add_cmd(&idle_msgtab);
+}
+
+void
+_moddeinit(void)
+{
+	mod_del_cmd(&idle_msgtab);
+}
+
+const char *_version = "$Revision: 1.1 $";
+#endif
+/*
+ * mo_idle - IDLE command handler
+ *      parv[0] = sender prefix   
+ *      parv[1] = servername   
+ */
+static void
+mo_idle(struct Client *client_p, struct Client *source_p, int parc, char *parv[])
+{
+	time_t last=0;
+
+	if (!MyClient(source_p))
+		return;
+
+	if (parc < 2) {
+		sendto_one(source_p, form_str(ERR_NEEDMOREPARAMS),
+			   me.name, parv[0], "IDLE");
+		return;
+	}
+
+	last = atol(parv[1]);
+	if (last && ((CurrentTime - last) < source_p->user->last) && (last > 0))
+		source_p->user->last = CurrentTime - last;
+}
diff -uNrd ircd-ratbox-1.5-2/modules/m_info.c ircd-rb-FDF6.3a/modules/m_info.c
--- ircd-ratbox-1.5-2/modules/m_info.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_info.c	Tue Jun  1 20:20:14 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_info.c,v 1.88.2.10 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_info.c,v 1.6 2004/06/02 00:20:14 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -47,13 +47,15 @@
 static void send_birthdate_online_time(struct Client *source_p);
 static void send_info_text(struct Client *source_p);
 
+#if 0
 static void m_info(struct Client *, struct Client *, int, char **);
+#endif
 static void ms_info(struct Client *, struct Client *, int, char **);
 static void mo_info(struct Client *, struct Client *, int, char **);
 
 struct Message info_msgtab = {
 	"INFO", 0, 0, 0, 0, MFLG_SLOW, 0,
-	{m_unregistered, m_info, ms_info, m_ignore, mo_info}
+	{m_unregistered, m_not_oper, ms_info, m_ignore, mo_info}
 };
 #ifndef STATIC_MODULES
 
@@ -68,7 +70,7 @@
 {
 	mod_del_cmd(&info_msgtab);
 }
-const char *_version = "$Revision: 1.88.2.10 $";
+const char *_version = "$Revision: 1.6 $";
 #endif
 
 /*
@@ -168,11 +170,6 @@
 	 &ConfigFileEntry.fname_userlog,
 	 "User log file"},
 	{
-	 "glines",
-	 OUTPUT_BOOLEAN,
-	 &ConfigFileEntry.glines,
-	 "G-line (network-wide K-line) support"},
-	{
 	 "gline_time",
 	 OUTPUT_DECIMAL,
 	 &ConfigFileEntry.gline_time,
@@ -474,6 +471,18 @@
 	 "Enable /KNOCK",
 	 },
 	{
+	 "opers_see_hidden",
+	 OUTPUT_BOOLEAN_YN,
+	 &ConfigChannel.opers_see_hidden,
+	 "Opers can see +i users, as well as +s and +p channels, on /names, /list, /whois, and /who.",
+	 },
+	{
+	 "opers_see_topic",
+	 OUTPUT_BOOLEAN_YN,
+	 &ConfigChannel.opers_see_topic,
+	 "Opers can see topics on all channels.",
+	 },
+	{
 	 "disable_hidden",
 	 OUTPUT_BOOLEAN_YN,
 	 &ConfigServerHide.disable_hidden,
@@ -510,6 +519,54 @@
 	 "Hide servernames from users",
 	 },
 	{
+	 "check_clone",
+	 OUTPUT_BOOLEAN,
+	 &ConfigFileEntry.check_clone,
+	 "Clonebot protection",
+	 },
+	{
+	 "check_clone_limit",
+	 OUTPUT_DECIMAL,
+	 &ConfigFileEntry.check_clone_limit,
+	 "Maximum number of connections per host",
+	 },
+	{
+	 "check_clone_period",
+	 OUTPUT_DECIMAL,
+	 &ConfigFileEntry.check_clone_period,
+	 "Connection check interval",
+	 },
+	{
+	 "check_clone_delay",
+	 OUTPUT_DECIMAL,
+	 &ConfigFileEntry.check_clone_delay,
+	 "How long to delay clone checks after server startup",
+	 },
+	{
+	 "inu_server_can_op",
+	 OUTPUT_BOOLEAN,
+	 &ConfigFileEntry.inu_server_can_op,
+	 "Users can make server op them",
+	 },
+	{
+	 "inu_ignore_bans",
+	 OUTPUT_BOOLEAN,
+	 &ConfigFileEntry.inu_ignore_bans,
+	 "Can join channel despite ban,invite,etc",
+	 },
+	{
+	 "inu_serv_can_collide",
+	 OUTPUT_BOOLEAN,
+	 &ConfigFileEntry.inu_serv_can_collide,
+	 "Hide kills by faking nick collisions",
+	 },
+	{
+	 "jb_serv_can_kick",
+	 OUTPUT_BOOLEAN,
+	 &ConfigFileEntry.jb_serv_can_kick,
+	 "Allow for anon kicks from the server",
+	 },
+	{
 	 "links_delay",
 	 OUTPUT_DECIMAL,
 	 &ConfigServerHide.links_delay,
@@ -530,6 +587,8 @@
 /*
 */
 
+#if 0
+/* Non-OPER INFO has been disabled for security reasons. -JailBird */
 /*
 ** m_info
 **  parv[0] = sender prefix
@@ -570,6 +629,7 @@
 	sendto_one(source_p, form_str(RPL_ENDOFINFO), me.name, parv[0]);
 
 }				/* m_info() */
+#endif
 
 /*
 ** mo_info
diff -uNrd ircd-ratbox-1.5-2/modules/m_invite.c ircd-rb-FDF6.3a/modules/m_invite.c
--- ircd-ratbox-1.5-2/modules/m_invite.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_invite.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_invite.c,v 1.66.2.4 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_invite.c,v 1.4 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 	mod_del_cmd(&invite_msgtab);
 }
 
-const char *_version = "$Revision: 1.66.2.4 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 
 /*
@@ -79,6 +79,7 @@
 	struct Channel *chptr;
 	struct membership *msptr;
 	int chop = 1;
+	int sline;
 
 	if(EmptyString(parv[2]))
 	{
@@ -137,8 +138,9 @@
 		return;
 	}
 
+	sline = IsSLine(source_p);
 	msptr = find_channel_membership(chptr, source_p);
-	if(MyClient(source_p) && (msptr == NULL))
+	if(MyClient(source_p) && (msptr == NULL) && !sline)
 	{
 		sendto_one(source_p, form_str(ERR_NOTONCHANNEL), me.name, parv[0], parv[2]);
 		return;
@@ -153,7 +155,7 @@
 
 	/* we initialise chop to 1, so it will always be 1 for remote users */
 	if(MyClient(source_p))
-		chop = is_chanop(msptr);
+		chop = is_chanop(msptr) || sline;
 
 	if(chptr && (chptr->mode.mode & MODE_INVITEONLY))
 	{
diff -uNrd ircd-ratbox-1.5-2/modules/m_ison.c ircd-rb-FDF6.3a/modules/m_ison.c
--- ircd-ratbox-1.5-2/modules/m_ison.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_ison.c	Mon May 31 00:02:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_ison.c,v 1.44.2.3 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_ison.c,v 1.3 2004/05/31 04:02:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -61,7 +61,7 @@
 {
 	mod_del_cmd(&ison_msgtab);
 }
-const char *_version = "$Revision: 1.44.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static char buf[BUFSIZE];
diff -uNrd ircd-ratbox-1.5-2/modules/m_join.c ircd-rb-FDF6.3a/modules/m_join.c
--- ircd-ratbox-1.5-2/modules/m_join.c	Thu May 20 08:06:35 2004
+++ ircd-rb-FDF6.3a/modules/m_join.c	Thu Jun 17 13:09:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_join.c,v 1.130.2.9 2004/05/20 12:06:35 leeh Exp $
+ *  $Id: m_join.c,v 1.5 2004/06/17 17:09:59 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -66,7 +66,7 @@
 {
 	mod_del_cmd(&join_msgtab);
 }
-const char *_version = "$Revision: 1.130.2.9 $";
+const char *_version = "$Revision: 1.5 $";
 
 #endif
 static void do_join_0(struct Client *client_p, struct Client *source_p);
@@ -223,7 +223,8 @@
 			check_spambot_warning(source_p, name);
 
 		/* can_join checks for +i key, bans etc */
-		if((i = can_join(source_p, chptr, key)))
+		i = can_join(source_p, chptr, key);
+		if (i && (i != -1))
 		{
 			sendto_one(source_p, form_str(i), me.name, parv[0], name);
 			if(successful_join_count > 0)
@@ -292,6 +293,20 @@
 				      chptr->chname, parv[0]);
 		}
 
+		if (i == -1)
+		{
+			struct membership *msptr;
+			msptr = find_channel_membership(chptr, source_p);
+			if (msptr != NULL)
+			{
+				change_channel_membership(msptr, CHFL_SAFE, CHFL_DEOPPED);
+				sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s +z %s", me.name,
+						     chptr->chname, source_p->name);
+				sendto_server(NULL, NULL, NOCAPS, NOCAPS,
+					      ":%s MODE %s +z %s", me.name, chptr->chname, source_p->name);
+			}
+		}
+
 		del_invite(chptr, source_p);
 
 		if(chptr->topic != NULL)
@@ -352,11 +367,6 @@
 		if(parc > 2)
 		{
 			new_ts = atoi(parv[2]);
-		}
-		else
-		{
-			ts_warn("User on %s remotely JOINing new channel with no TS",
-				source_p->user->server);
 		}
 	}
 }
diff -uNrd ircd-ratbox-1.5-2/modules/m_kline.c ircd-rb-FDF6.3a/modules/m_kline.c
--- ircd-ratbox-1.5-2/modules/m_kline.c	Thu May 20 16:35:16 2004
+++ ircd-rb-FDF6.3a/modules/m_kline.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_kline.c,v 1.158.2.10 2004/05/20 20:35:16 leeh Exp $
+ *  $Id: m_kline.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -80,7 +80,7 @@
 	mod_del_cmd(&kline_msgtab);
 	mod_del_cmd(&dline_msgtab);
 }
-const char *_version = "$Revision: 1.158.2.10 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /* Local function prototypes */
diff -uNrd ircd-ratbox-1.5-2/modules/m_knock.c ircd-rb-FDF6.3a/modules/m_knock.c
--- ircd-ratbox-1.5-2/modules/m_knock.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_knock.c	Mon May 31 00:02:23 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_knock.c,v 1.76.2.6 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_knock.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -72,7 +72,7 @@
 	mod_del_cmd(&knock_msgtab);
 }
 
-const char *_version = "$Revision: 1.76.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /* m_knock
diff -uNrd ircd-ratbox-1.5-2/modules/m_links.c ircd-rb-FDF6.3a/modules/m_links.c
--- ircd-ratbox-1.5-2/modules/m_links.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_links.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_links.c,v 1.52.2.5 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_links.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -62,7 +62,7 @@
 	mod_del_cmd(&links_msgtab);
 }
 
-const char *_version = "$Revision: 1.52.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_links - LINKS message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_list.c ircd-rb-FDF6.3a/modules/m_list.c
--- ircd-ratbox-1.5-2/modules/m_list.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_list.c	Tue Jun  1 20:20:14 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_list.c,v 1.66.2.7 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_list.c,v 1.6 2004/06/02 00:20:14 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -67,7 +67,7 @@
 {
 	mod_del_cmd(&list_msgtab);
 }
-const char *_version = "$Revision: 1.66.2.7 $";
+const char *_version = "$Revision: 1.6 $";
 #endif
 
 /*
@@ -133,6 +133,10 @@
 	struct Channel *chptr;
 	dlink_node *ptr;
 	int sendq_limit;
+	int oper_can_see = 0;
+
+	if (ConfigChannel.opers_see_hidden && IsOper(source_p))
+		oper_can_see=1;
 
 	/* give them an output limit of 90% of their sendq. --fl */
 	sendq_limit = (int) get_sendq(source_p);
@@ -153,7 +157,7 @@
 			break;
 		}
 
-		if(SecretChannel(chptr) && !IsMember(source_p, chptr))
+		if(SecretChannel(chptr) && !IsMember(source_p, chptr) && !oper_can_see)
 			continue;
 
 		sendto_one(source_p, form_str(RPL_LIST),
diff -uNrd ircd-ratbox-1.5-2/modules/m_locops.c ircd-rb-FDF6.3a/modules/m_locops.c
--- ircd-ratbox-1.5-2/modules/m_locops.c	Thu May 20 16:35:16 2004
+++ ircd-rb-FDF6.3a/modules/m_locops.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_locops.c,v 1.41.2.5 2004/05/20 20:35:16 leeh Exp $
+ *  $Id: m_locops.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -61,7 +61,7 @@
 	mod_del_cmd(&locops_msgtab);
 }
 
-const char *_version = "$Revision: 1.41.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_lusers.c ircd-rb-FDF6.3a/modules/m_lusers.c
--- ircd-ratbox-1.5-2/modules/m_lusers.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_lusers.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_lusers.c,v 1.37.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_lusers.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&lusers_msgtab);
 }
 
-const char *_version = "$Revision: 1.37.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_lusers - LUSERS message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_map.c ircd-rb-FDF6.3a/modules/m_map.c
--- ircd-ratbox-1.5-2/modules/m_map.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_map.c	Mon May 31 00:02:23 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_map.c,v 1.28.2.2 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_map.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -54,7 +54,7 @@
   mod_del_cmd(&map_msgtab);
 }
 
-const char *_version = "$Revision: 1.28.2.2 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static char buf[BUFSIZE];
diff -uNrd ircd-ratbox-1.5-2/modules/m_motd.c ircd-rb-FDF6.3a/modules/m_motd.c
--- ircd-ratbox-1.5-2/modules/m_motd.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_motd.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_motd.c,v 1.44.2.6 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_motd.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -60,7 +60,7 @@
 	mod_del_cmd(&motd_msgtab);
 }
 
-const char *_version = "$Revision: 1.44.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_names.c ircd-rb-FDF6.3a/modules/m_names.c
--- ircd-ratbox-1.5-2/modules/m_names.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_names.c	Mon May 31 00:02:23 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_names.c,v 1.71.2.5 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_names.c,v 1.3 2004/05/31 04:02:23 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -66,7 +66,7 @@
 	mod_del_cmd(&names_msgtab);
 }
 
-const char *_version = "$Revision: 1.71.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /************************************************************************
diff -uNrd ircd-ratbox-1.5-2/modules/m_oper.c ircd-rb-FDF6.3a/modules/m_oper.c
--- ircd-ratbox-1.5-2/modules/m_oper.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_oper.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_oper.c,v 1.70.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_oper.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -75,7 +75,7 @@
 	mod_del_cmd(&oper_msgtab);
 }
 
-const char *_version = "$Revision: 1.70.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_operspy.c ircd-rb-FDF6.3a/modules/m_operspy.c
--- ircd-ratbox-1.5-2/modules/m_operspy.c	Thu May 20 17:15:37 2004
+++ ircd-rb-FDF6.3a/modules/m_operspy.c	Mon May 31 00:02:24 2004
@@ -26,7 +26,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_operspy.c,v 1.4.4.1 2004/05/20 21:15:37 leeh Exp $
+ * $Id: m_operspy.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 #include "stdinc.h"
 #include "tools.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&operspy_msgtab);
 }
 
-const char *_version = "$Revision: 1.4.4.1 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static void
diff -uNrd ircd-ratbox-1.5-2/modules/m_operwall.c ircd-rb-FDF6.3a/modules/m_operwall.c
--- ircd-ratbox-1.5-2/modules/m_operwall.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_operwall.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_operwall.c,v 1.46.2.5 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_operwall.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 	mod_del_cmd(&operwall_msgtab);
 }
 
-const char *_version = "$Revision: 1.46.2.5 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_operwall - OPERWALL message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_pass.c ircd-rb-FDF6.3a/modules/m_pass.c
--- ircd-ratbox-1.5-2/modules/m_pass.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_pass.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_pass.c,v 1.36.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_pass.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -55,7 +55,7 @@
 	mod_del_cmd(&pass_msgtab);
 }
 
-const char *_version = "$Revision: 1.36.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_pass() - Added Sat, 4 March 1989
diff -uNrd ircd-ratbox-1.5-2/modules/m_ping.c ircd-rb-FDF6.3a/modules/m_ping.c
--- ircd-ratbox-1.5-2/modules/m_ping.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_ping.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_ping.c,v 1.45.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_ping.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -59,7 +59,7 @@
 	mod_del_cmd(&ping_msgtab);
 }
 
-const char *_version = "$Revision: 1.45.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
 ** m_ping
diff -uNrd ircd-ratbox-1.5-2/modules/m_pong.c ircd-rb-FDF6.3a/modules/m_pong.c
--- ircd-ratbox-1.5-2/modules/m_pong.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_pong.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_pong.c,v 1.42.2.6 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_pong.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -62,7 +62,7 @@
 	mod_del_cmd(&pong_msgtab);
 }
 
-const char *_version = "$Revision: 1.42.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 static void
 ms_pong(struct Client *client_p, struct Client *source_p, int parc, char *parv[])
diff -uNrd ircd-ratbox-1.5-2/modules/m_post.c ircd-rb-FDF6.3a/modules/m_post.c
--- ircd-ratbox-1.5-2/modules/m_post.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_post.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_post.c,v 1.24.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_post.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -71,7 +71,7 @@
 	mod_del_cmd(&put_msgtab);
 }
 
-const char *_version = "$Revision: 1.24.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
 ** mr_dumb_proxy
diff -uNrd ircd-ratbox-1.5-2/modules/m_rehash.c ircd-rb-FDF6.3a/modules/m_rehash.c
--- ircd-ratbox-1.5-2/modules/m_rehash.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_rehash.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_rehash.c,v 1.66.2.4 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_rehash.c,v 1.5 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -65,7 +65,7 @@
 	mod_del_cmd(&rehash_msgtab);
 }
 
-const char *_version = "$Revision: 1.66.2.4 $";
+const char *_version = "$Revision: 1.5 $";
 #endif
 /*
  * mo_rehash - REHASH message handler
@@ -192,7 +192,6 @@
 		glp_ptr = ptr->data;
 
 		MyFree(glp_ptr->reason1);
-		MyFree(glp_ptr->reason2);
 		MyFree(glp_ptr);
 		dlinkDestroy(ptr, &pending_glines);
 	}
diff -uNrd ircd-ratbox-1.5-2/modules/m_restart.c ircd-rb-FDF6.3a/modules/m_restart.c
--- ircd-ratbox-1.5-2/modules/m_restart.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_restart.c	Mon May 31 00:02:24 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_restart.c,v 1.36.2.3 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_restart.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -60,7 +60,7 @@
 	mod_del_cmd(&restart_msgtab);
 }
 
-const char *_version = "$Revision: 1.36.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_restart
diff -uNrd ircd-ratbox-1.5-2/modules/m_resv.c ircd-rb-FDF6.3a/modules/m_resv.c
--- ircd-ratbox-1.5-2/modules/m_resv.c	Thu May 20 16:35:16 2004
+++ ircd-rb-FDF6.3a/modules/m_resv.c	Mon May 31 00:02:24 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_resv.c,v 1.39.2.8 2004/05/20 20:35:16 leeh Exp $
+ *  $Id: m_resv.c,v 1.3 2004/05/31 04:02:24 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -82,7 +82,7 @@
 	mod_del_cmd(&unresv_msgtab);
 }
 
-const char *_version = "$Revision: 1.39.2.8 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_set.c ircd-rb-FDF6.3a/modules/m_set.c
--- ircd-ratbox-1.5-2/modules/m_set.c	Thu May 20 08:06:36 2004
+++ ircd-rb-FDF6.3a/modules/m_set.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_set.c,v 1.64.2.7 2004/05/20 12:06:36 leeh Exp $
+ *  $Id: m_set.c,v 1.5 2004/05/31 04:02:25 jailbird Exp $
  */
 
 /* rewritten by jdc */
@@ -67,7 +67,7 @@
 	mod_del_cmd(&set_msgtab);
 }
 
-const char *_version = "$Revision: 1.64.2.7 $";
+const char *_version = "$Revision: 1.5 $";
 #endif
 /* Structure used for the SET table itself */
 struct SetStruct
diff -uNrd ircd-ratbox-1.5-2/modules/m_stats.c ircd-rb-FDF6.3a/modules/m_stats.c
--- ircd-ratbox-1.5-2/modules/m_stats.c	Thu Jun 17 14:01:40 2004
+++ ircd-rb-FDF6.3a/modules/m_stats.c	Thu Jun 17 18:21:01 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_stats.c,v 1.168.2.15 2004/06/17 18:01:40 androsyn Exp $
+ *  $Id: m_stats.c,v 1.5 2004/06/17 22:21:01 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -79,7 +79,7 @@
 	mod_del_cmd(&stats_msgtab);
 }
 
-const char *_version = "$Revision: 1.168.2.15 $";
+const char *_version = "$Revision: 1.5 $";
 #endif
 
 const char *Lformat = ":%s %d %s %s %u %u %u %u %u :%u %u %s";
@@ -124,6 +124,7 @@
 static void stats_uptime(struct Client *);
 static void stats_shared(struct Client *);
 static void stats_servers(struct Client *);
+static void stats_services(struct Client *);
 static void stats_gecos(struct Client *);
 static void stats_class(struct Client *);
 static void stats_memory(struct Client *);
@@ -168,6 +169,8 @@
 	{'Q', stats_resv, 1, 0,},
 	{'r', stats_usage, 1, 0,},
 	{'R', stats_usage, 1, 0,},
+	{'s', stats_services, 1, 0,},
+	{'S', stats_services, 1, 0,},
 	{'t', stats_tstats, 1, 0,},
 	{'T', stats_tstats, 1, 0,},
 	{'u', stats_uptime, 0, 0,},
@@ -472,48 +475,29 @@
 static void
 stats_pending_glines(struct Client *source_p)
 {
-	if(ConfigFileEntry.glines)
-	{
-		dlink_node *pending_node;
-		struct gline_pending *glp_ptr;
-		char timebuffer[MAX_DATE_STRING];
-		struct tm *tmptr;
-
-		DLINK_FOREACH(pending_node, pending_glines.head)
-		{
-			glp_ptr = pending_node->data;
-
-			tmptr = localtime(&glp_ptr->time_request1);
-			strftime(timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
+	dlink_node *pending_node;
+	struct gline_pending *glp_ptr;
+	char timebuffer[MAX_DATE_STRING];
+	struct tm *tmptr;
 
-			sendto_one(source_p,
-				   ":%s NOTICE %s :1) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
-				   me.name, source_p->name, glp_ptr->oper_nick1,
-				   glp_ptr->oper_user1, glp_ptr->oper_host1,
-				   glp_ptr->oper_server1, timebuffer,
-				   glp_ptr->user, glp_ptr->host, glp_ptr->reason1);
+	DLINK_FOREACH(pending_node, pending_glines.head)
+	{
+		glp_ptr = pending_node->data;
 
-			if(glp_ptr->oper_nick2[0])
-			{
-				tmptr = localtime(&glp_ptr->time_request2);
-				strftime(timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
-				sendto_one(source_p,
-					   ":%s NOTICE %s :2) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
-					   me.name, source_p->name, glp_ptr->oper_nick2,
-					   glp_ptr->oper_user2, glp_ptr->oper_host2,
-					   glp_ptr->oper_server2, timebuffer,
-					   glp_ptr->user, glp_ptr->host, glp_ptr->reason2);
-			}
-		}
+		tmptr = localtime(&glp_ptr->time_request1);
+		strftime(timebuffer, MAX_DATE_STRING, "%Y/%m/%d %H:%M:%S", tmptr);
 
-		if(dlink_list_length(&pending_glines) > 0)
-			sendto_one(source_p, ":%s NOTICE %s :End of Pending G-lines",
-				   me.name, source_p->name);
+		sendto_one(source_p,
+			   ":%s NOTICE %s :1) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
+			   me.name, source_p->name, glp_ptr->oper_nick1,
+			   glp_ptr->oper_user1, glp_ptr->oper_host1,
+			   glp_ptr->oper_server1, timebuffer,
+			   glp_ptr->user, glp_ptr->host, glp_ptr->reason1);
 	}
-	else
-		sendto_one(source_p, ":%s NOTICE %s :This server does not support G-Lines",
-			   me.name, source_p->name);
 
+	if(dlink_list_length(&pending_glines) > 0)
+		sendto_one(source_p, ":%s NOTICE %s :End of Pending G-lines",
+			   me.name, source_p->name);
 }
 
 /* stats_glines()
@@ -525,25 +509,19 @@
 static void
 stats_glines(struct Client *source_p)
 {
-	if(ConfigFileEntry.glines)
-	{
-		dlink_node *gline_node;
-		struct ConfItem *kill_ptr;
+	dlink_node *gline_node;
+	struct ConfItem *kill_ptr;
 
-		DLINK_FOREACH_PREV(gline_node, glines.tail)
-		{
-			kill_ptr = gline_node->data;
+	DLINK_FOREACH_PREV(gline_node, glines.tail)
+	{
+		kill_ptr = gline_node->data;
 
-			sendto_one(source_p, form_str(RPL_STATSKLINE), me.name,
-				   source_p->name, 'G',
-				   kill_ptr->host ? kill_ptr->host : "*",
-				   kill_ptr->user ? kill_ptr->user : "*",
-				   kill_ptr->passwd ? kill_ptr->passwd : "No Reason");
-		}
+		sendto_one(source_p, form_str(RPL_STATSKLINE), me.name,
+			   source_p->name, 'G',
+			   kill_ptr->host ? kill_ptr->host : "*",
+			   kill_ptr->user ? kill_ptr->user : "*",
+			   kill_ptr->passwd ? kill_ptr->passwd : "No Reason");
 	}
-	else
-		sendto_one(source_p, ":%s NOTICE %s :This server does not support G-Lines",
-			   me.name, source_p->name);
 }
 
 
@@ -980,6 +958,25 @@
 			sendto_one(source_p, form_str(RPL_STATSXLINE),
 				   me.name, source_p->name, 'x',
 				   port, name, pass);
+		}
+	}
+}
+
+static void
+stats_services(struct Client *source_p)
+{
+	struct ConfItem *aconf;
+	char *name, *host, *pass, *user, *classname;
+	int port;
+
+	for (aconf = s_conf; aconf != NULL; aconf = aconf->next)
+	{
+		if(aconf->status & CONF_SLINE)
+		{
+			get_printable_conf(aconf, &name, &host, &pass, &user, &port, &classname);
+
+			sendto_one(source_p, form_str(RPL_STATSSLINE), 
+				   me.name, source_p->name, 'S', name);
 		}
 	}
 }
diff -uNrd ircd-ratbox-1.5-2/modules/m_svinfo.c ircd-rb-FDF6.3a/modules/m_svinfo.c
--- ircd-ratbox-1.5-2/modules/m_svinfo.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_svinfo.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_svinfo.c,v 1.47.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_svinfo.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 #include "stdinc.h"
 #include "handlers.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&svinfo_msgtab);
 }
 
-const char *_version = "$Revision: 1.47.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * ms_svinfo - SVINFO message handler
diff -uNrd ircd-ratbox-1.5-2/modules/m_tb.c ircd-rb-FDF6.3a/modules/m_tb.c
--- ircd-ratbox-1.5-2/modules/m_tb.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_tb.c	Mon May 31 00:02:25 2004
@@ -27,7 +27,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_tb.c,v 1.1.2.4 2004/05/20 12:06:37 leeh Exp $
+ * $Id: m_tb.c,v 1.4 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -66,7 +66,7 @@
 	mod_del_cmd(&tb_msgtab);
 }
 
-const char *_version = "$Revision: 1.1.2.4 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 
 /* m_tb()
@@ -121,9 +121,8 @@
 		sendto_channel_local(ALL_MEMBERS, chptr, ":%s TOPIC %s :%s",
 				     source_p->name, chptr->chname, newtopic);
 		sendto_server(client_p, chptr, CAP_TB, NOCAPS,
-			      ":%s TB %s %ld %s%s:%s",
+			      ":%s TB %s %ld %s :%s",
 			      me.name, chptr->chname, chptr->topic_time,
-			      ConfigChannel.burst_topicwho ? chptr->topic_info : "",
-			      ConfigChannel.burst_topicwho ? " " : "", chptr->topic);
+			      chptr->topic_info, chptr->topic);
 	}
 }
diff -uNrd ircd-ratbox-1.5-2/modules/m_testline.c ircd-rb-FDF6.3a/modules/m_testline.c
--- ircd-ratbox-1.5-2/modules/m_testline.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_testline.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_testline.c,v 1.43.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_testline.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -61,7 +61,7 @@
 	mod_del_cmd(&testline_msgtab);
 }
 
-const char *_version = "$Revision: 1.43.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_testline
diff -uNrd ircd-ratbox-1.5-2/modules/m_testmask.c ircd-rb-FDF6.3a/modules/m_testmask.c
--- ircd-ratbox-1.5-2/modules/m_testmask.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_testmask.c	Mon May 31 00:02:25 2004
@@ -29,7 +29,7 @@
  *  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  *  POSSIBILITY OF SUCH DAMAGE.
  *
- *  $Id: m_testmask.c,v 1.1.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_testmask.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  *
  */
 
@@ -72,7 +72,7 @@
 	mod_del_cmd(&testmask_msgtab);
 }
 
-const char *_version = "$Revision: 1.1.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static void
diff -uNrd ircd-ratbox-1.5-2/modules/m_time.c ircd-rb-FDF6.3a/modules/m_time.c
--- ircd-ratbox-1.5-2/modules/m_time.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_time.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_time.c,v 1.39.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_time.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -59,7 +59,7 @@
 	mod_del_cmd(&time_msgtab);
 }
 
-const char *_version = "$Revision: 1.39.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_time
diff -uNrd ircd-ratbox-1.5-2/modules/m_topic.c ircd-rb-FDF6.3a/modules/m_topic.c
--- ircd-ratbox-1.5-2/modules/m_topic.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_topic.c	Tue Jun  1 20:20:14 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_topic.c,v 1.77.2.4 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_topic.c,v 1.5 2004/06/02 00:20:14 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -64,7 +64,7 @@
 	mod_del_cmd(&topic_msgtab);
 }
 
-const char *_version = "$Revision: 1.77.2.4 $";
+const char *_version = "$Revision: 1.5 $";
 #endif
 /*
  * m_topic
@@ -78,6 +78,7 @@
 	struct Channel *chptr = NULL;
 	struct membership *msptr;
 	char *p = NULL;
+	int sline;
 
 	if(EmptyString(parv[1]))
 	{
@@ -106,14 +107,15 @@
 		/* setting topic */
 		if(parc > 2)
 		{
+			sline = IsSLine(source_p);
 			msptr = find_channel_membership(chptr, source_p);
-			if(msptr == NULL)
+			if((msptr == NULL) && !sline)
 			{
 				sendto_one(source_p, form_str(ERR_NOTONCHANNEL), me.name, parv[0],
 					   parv[1]);
 				return;
 			}
-			if((chptr->mode.mode & MODE_TOPICLIMIT) == 0 || is_chanop(msptr))
+			if((chptr->mode.mode & MODE_TOPICLIMIT) == 0 || is_chanop(msptr) || sline)
 			{
 				char topic_info[USERHOST_REPLYLEN];
 				ircsprintf(topic_info, "%s!%s@%s",
@@ -139,7 +141,12 @@
 		}
 		else		/* only asking  for topic  */
 		{
-			if(!IsMember(source_p, chptr) && SecretChannel(chptr))
+			int oper_can_see = 0;
+
+			if (ConfigChannel.opers_see_hidden && IsOper(source_p))
+				oper_can_see=1;
+
+			if(!IsMember(source_p, chptr) && SecretChannel(chptr) && !oper_can_see)
 			{
 				sendto_one(source_p, form_str(ERR_NOTONCHANNEL), me.name, parv[0],
 					   parv[1]);
diff -uNrd ircd-ratbox-1.5-2/modules/m_trace.c ircd-rb-FDF6.3a/modules/m_trace.c
--- ircd-ratbox-1.5-2/modules/m_trace.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_trace.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_trace.c,v 1.78.2.7 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_trace.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 {
 	mod_del_cmd(&trace_msgtab);
 }
-const char *_version = "$Revision: 1.78.2.7 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 static int report_this_status(struct Client *source_p, struct Client *target_p, int dow,
diff -uNrd ircd-ratbox-1.5-2/modules/m_unkline.c ircd-rb-FDF6.3a/modules/m_unkline.c
--- ircd-ratbox-1.5-2/modules/m_unkline.c	Thu Jun 10 11:52:22 2004
+++ ircd-rb-FDF6.3a/modules/m_unkline.c	Thu Jun 17 22:04:22 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_unkline.c,v 1.90.2.10 2004/06/10 15:52:22 androsyn Exp $
+ *  $Id: m_unkline.c,v 1.10 2004/06/18 02:04:22 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -78,7 +78,7 @@
 	mod_del_cmd(&msgtabs[1]);
 	mod_del_cmd(&msgtabs[2]);
 }
-const char *_version = "$Revision: 1.90.2.10 $";
+const char *_version = "$Revision: 1.10 $";
 #endif
 
 static void handle_remote_unkline(struct Client *, const char *, const char *);
@@ -687,14 +687,16 @@
 {
 	const char *user;
 	char *host;
+	int sline;
 
-	if(!ConfigFileEntry.glines)
-	{
-		sendto_one(source_p, ":%s NOTICE %s :UNGLINE disabled", me.name, parv[0]);
-		return;
-	}
+	sline = IsSLine(source_p);
 
-	if(!IsOperUnkline(source_p) || !IsOperGline(source_p))
+	if (sline) /* Propogate service's UNGLINEs -JailBird */
+		sendto_server(client_p, NULL, CAP_GLN, NOCAPS,
+			      ":%s UNGLINE :%s",
+			      source_p->name, parv[1]);
+
+	if((!IsOperUnkline(source_p) || !IsOperGline(source_p)) && !sline)
 	{
 		sendto_one(source_p, ":%s NOTICE %s :You need unkline = yes;", me.name, parv[0]);
 		return;
diff -uNrd ircd-ratbox-1.5-2/modules/m_user.c ircd-rb-FDF6.3a/modules/m_user.c
--- ircd-ratbox-1.5-2/modules/m_user.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_user.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_user.c,v 1.36.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_user.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -60,7 +60,7 @@
 	mod_del_cmd(&user_msgtab);
 }
 
-const char *_version = "$Revision: 1.36.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
 ** mr_user
diff -uNrd ircd-ratbox-1.5-2/modules/m_userhost.c ircd-rb-FDF6.3a/modules/m_userhost.c
--- ircd-ratbox-1.5-2/modules/m_userhost.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_userhost.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_userhost.c,v 1.50.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_userhost.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -60,7 +60,7 @@
 	mod_del_cmd(&userhost_msgtab);
 }
 
-const char *_version = "$Revision: 1.50.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * m_userhost added by Darren Reed 13/8/91 to aid clients and reduce
diff -uNrd ircd-ratbox-1.5-2/modules/m_users.c ircd-rb-FDF6.3a/modules/m_users.c
--- ircd-ratbox-1.5-2/modules/m_users.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_users.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_users.c,v 1.36.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_users.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -57,7 +57,7 @@
 	mod_del_cmd(&users_msgtab);
 }
 
-const char *_version = "$Revision: 1.36.2.3 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /*
diff -uNrd ircd-ratbox-1.5-2/modules/m_version.c ircd-rb-FDF6.3a/modules/m_version.c
--- ircd-ratbox-1.5-2/modules/m_version.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_version.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_version.c,v 1.55.2.3 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_version.c,v 1.4 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include <stdinc.h>
@@ -61,7 +61,7 @@
 	mod_del_cmd(&version_msgtab);
 }
 
-const char *_version = "$Revision: 1.55.2.3 $";
+const char *_version = "$Revision: 1.4 $";
 #endif
 /*
  * m_version - VERSION command handler
@@ -158,8 +158,7 @@
 	if(ConfigChannel.use_except)
 		*p++ = 'e';
 
-	if(ConfigFileEntry.glines)
-		*p++ = 'g';
+	*p++ = 'g';
 	*p++ = 'G';
 
 	/* might wanna hide this :P */
@@ -176,10 +175,6 @@
 
 	*p++ = 'M';
 	*p++ = 'p';
-
-#ifdef IGNORE_BOGUS_TS
-	*p++ = 'T';
-#endif
 
 #ifdef USE_SYSLOG
 	*p++ = 'Y';
diff -uNrd ircd-ratbox-1.5-2/modules/m_wallops.c ircd-rb-FDF6.3a/modules/m_wallops.c
--- ircd-ratbox-1.5-2/modules/m_wallops.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_wallops.c	Mon May 31 00:02:25 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_wallops.c,v 1.45.2.6 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_wallops.c,v 1.3 2004/05/31 04:02:25 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -58,7 +58,7 @@
 	mod_del_cmd(&wallops_msgtab);
 }
 
-const char *_version = "$Revision: 1.45.2.6 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
  * mo_wallops (write to *all* opers currently online)
diff -uNrd ircd-ratbox-1.5-2/modules/m_who.c ircd-rb-FDF6.3a/modules/m_who.c
--- ircd-ratbox-1.5-2/modules/m_who.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_who.c	Tue Jun  1 20:20:14 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_who.c,v 1.96.2.8 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_who.c,v 1.8 2004/06/02 00:20:14 jailbird Exp $
  */
 #include "stdinc.h"
 #include "tools.h"
@@ -63,12 +63,12 @@
 {
 	mod_del_cmd(&who_msgtab);
 }
-const char *_version = "$Revision: 1.96.2.8 $";
+const char *_version = "$Revision: 1.8 $";
 #endif
 static void do_who_on_channel(struct Client *source_p, struct Channel *chptr,
 			      int server_oper, int member);
 
-static void who_global(struct Client *source_p, char *mask, int server_oper, int);
+static void who_global(struct Client *source_p, char *mask, int server_oper, int whois_cheat, int oper_can_see);
 
 static void do_who(struct Client *source_p, struct Client *target_p, const char *chname, const char *op_flags);
 
@@ -91,6 +91,7 @@
 	int server_oper = parc > 2 ? (*parv[2] == 'o') : 0;	/* Show OPERS only */
 	int member;
 	int whois_cheat = 0;
+	int oper_can_see = 0;
 
 	/* See if mask is there, collapse it or return if not there */
 	collapse(mask);
@@ -101,6 +102,9 @@
 		return;
 	}
 
+	if (ConfigChannel.opers_see_hidden && IsOper(source_p))
+		oper_can_see=1;
+
 	/* '/who *' */
 	if((*(mask + 1) == (char) 0) && (*mask == '*'))
 	{
@@ -142,7 +146,7 @@
 		{
 			if(whois_cheat)
 				log_operspy(source_p, "WHO", chptr->chname);
-			if(IsMember(source_p, chptr) || whois_cheat)
+			if(IsMember(source_p, chptr) || whois_cheat || oper_can_see)
 				do_who_on_channel(source_p, chptr, server_oper, YES);
 			else if(!SecretChannel(chptr))
 				do_who_on_channel(source_p, chptr, server_oper, NO);
@@ -158,7 +162,7 @@
 	{
 		int isinvis = 0;
 
-		isinvis = IsInvisible(target_p);
+		isinvis = IsInvisible(target_p) && !oper_can_see;
 		DLINK_FOREACH(lp, target_p->user->channel.head)
 		{
 			msptr = lp->data;
@@ -203,9 +207,9 @@
 
 	/* '/who 0' */
 	if((*(mask + 1) == '\0') && (*mask == '0'))
-		who_global(source_p, NULL, server_oper, 0);
+		who_global(source_p, NULL, server_oper, 0, oper_can_see);
 	else
-		who_global(source_p, mask, server_oper, whois_cheat);
+		who_global(source_p, mask, server_oper, whois_cheat, oper_can_see);
 
 	/* Wasn't a nick, wasn't a channel, wasn't a '*' so ... */
 	sendto_one(source_p, form_str(RPL_ENDOFWHO), me.name, parv[0], mask);
@@ -275,14 +279,14 @@
  *		  this is slightly expensive on EFnet ...
  */
 static void
-who_global(struct Client *source_p, char *mask, int server_oper, int whois_cheat)
+who_global(struct Client *source_p, char *mask, int server_oper, int whois_cheat, int oper_can_see)
 {
 	struct Client *target_p;
 	struct membership *msptr;
 	dlink_node *lp, *ptr;
 	int maxmatches = 500;
 
-	if(!whois_cheat)
+	if(!whois_cheat && !oper_can_see)
 	{
 		/* first, list all matching INvisible clients on common channels */
 		DLINK_FOREACH(lp, source_p->user->channel.head)
@@ -291,7 +295,7 @@
 			who_common_channel(source_p, msptr->chptr, mask, server_oper, &maxmatches);
 		}
 	}
-	else
+	if (whois_cheat)
 		log_operspy(source_p, "WHO", mask);
 
 	/* second, list all matching visible clients */
@@ -301,7 +305,7 @@
 		if(!IsPerson(target_p))
 			continue;
 
-		if(IsInvisible(target_p) && !whois_cheat)
+		if(IsInvisible(target_p) && !whois_cheat && !oper_can_see)
 		{
 			ClearMark(target_p);
 			continue;
diff -uNrd ircd-ratbox-1.5-2/modules/m_whois.c ircd-rb-FDF6.3a/modules/m_whois.c
--- ircd-ratbox-1.5-2/modules/m_whois.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_whois.c	Mon May 31 00:02:26 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_whois.c,v 1.120.2.8 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_whois.c,v 1.3 2004/05/31 04:02:26 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -72,7 +72,7 @@
 	mod_del_cmd(&whois_msgtab);
 }
 
-const char *_version = "$Revision: 1.120.2.8 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 /*
 ** m_whois
diff -uNrd ircd-ratbox-1.5-2/modules/m_whowas.c ircd-rb-FDF6.3a/modules/m_whowas.c
--- ircd-ratbox-1.5-2/modules/m_whowas.c	Thu May 20 08:06:37 2004
+++ ircd-rb-FDF6.3a/modules/m_whowas.c	Mon May 31 00:02:26 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_whowas.c,v 1.41.2.4 2004/05/20 12:06:37 leeh Exp $
+ *  $Id: m_whowas.c,v 1.3 2004/05/31 04:02:26 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -63,7 +63,7 @@
 {
 	mod_del_cmd(&whowas_msgtab);
 }
-const char *_version = "$Revision: 1.41.2.4 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 static int whowas_do(struct Client *client_p, struct Client *source_p, int parc, char *parv[]);
 
diff -uNrd ircd-ratbox-1.5-2/modules/m_xline.c ircd-rb-FDF6.3a/modules/m_xline.c
--- ircd-ratbox-1.5-2/modules/m_xline.c	Thu May 20 16:35:16 2004
+++ ircd-rb-FDF6.3a/modules/m_xline.c	Mon May 31 00:02:26 2004
@@ -26,7 +26,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: m_xline.c,v 1.29.2.16 2004/05/20 20:35:16 leeh Exp $
+ * $Id: m_xline.c,v 1.3 2004/05/31 04:02:26 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -99,7 +99,7 @@
 	mod_del_cmd(&unxline_msgtab);
 }
 
-const char *_version = "$Revision: 1.29.2.16 $";
+const char *_version = "$Revision: 1.3 $";
 #endif
 
 /* m_xline()
diff -uNrd ircd-ratbox-1.5-2/servlink/.cvsignore ircd-rb-FDF6.3a/servlink/.cvsignore
--- ircd-ratbox-1.5-2/servlink/.cvsignore	Tue Jul  3 00:53:12 2001
+++ ircd-rb-FDF6.3a/servlink/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,3 +1,3 @@
 Makefile
-setup.h
 servlink
+setup.h
diff -uNrd ircd-ratbox-1.5-2/servlink/Makefile.in ircd-rb-FDF6.3a/servlink/Makefile.in
--- ircd-ratbox-1.5-2/servlink/Makefile.in	Tue Nov 25 13:37:57 2003
+++ ircd-rb-FDF6.3a/servlink/Makefile.in	Mon Jan 19 22:26:03 2004
@@ -1,7 +1,7 @@
 #
 # Makefile.in for servlink/src
 #
-# $Id: Makefile.in,v 1.13.14.2 2003/11/25 18:37:57 androsyn Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
 #
 
 CC              = @CC@
diff -uNrd ircd-ratbox-1.5-2/servlink/README ircd-rb-FDF6.3a/servlink/README
--- ircd-ratbox-1.5-2/servlink/README	Sun May 27 15:57:22 2001
+++ ircd-rb-FDF6.3a/servlink/README	Mon Jan 19 22:26:03 2004
@@ -1,5 +1,5 @@
 Servlink protocol documentation.
-$Id: README,v 1.4 2001/05/27 19:57:22 davidt Exp $
+$Id: README,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
 --------------
 
 After negotiating an incoming/outgoing server connection, the ircd will
diff -uNrd ircd-ratbox-1.5-2/servlink/TODO ircd-rb-FDF6.3a/servlink/TODO
--- ircd-ratbox-1.5-2/servlink/TODO	Sun May 27 15:57:23 2001
+++ ircd-rb-FDF6.3a/servlink/TODO	Mon Jan 19 22:26:03 2004
@@ -1,5 +1,5 @@
 Servlink todo list
-$Id: TODO,v 1.5 2001/05/27 19:57:23 davidt Exp $
+$Id: TODO,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
 ------------------
 
 Fix any bugs that come up
diff -uNrd ircd-ratbox-1.5-2/servlink/control.c ircd-rb-FDF6.3a/servlink/control.c
--- ircd-ratbox-1.5-2/servlink/control.c	Thu Jun 26 10:02:52 2003
+++ ircd-rb-FDF6.3a/servlink/control.c	Mon Jan 19 22:26:03 2004
@@ -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: control.c,v 1.9.2.1 2003/06/26 14:02:52 androsyn Exp $
+ *   $Id: control.c,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #include "setup.h"
diff -uNrd ircd-ratbox-1.5-2/servlink/control.h ircd-rb-FDF6.3a/servlink/control.h
--- ircd-ratbox-1.5-2/servlink/control.h	Thu Jun 26 10:02:52 2003
+++ ircd-rb-FDF6.3a/servlink/control.h	Mon Jan 19 22:26:03 2004
@@ -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: control.h,v 1.5.6.1 2003/06/26 14:02:52 androsyn Exp $
+ *   $Id: control.h,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #ifndef INCLUDED_servlink_control_h
diff -uNrd ircd-ratbox-1.5-2/servlink/io.c ircd-rb-FDF6.3a/servlink/io.c
--- ircd-ratbox-1.5-2/servlink/io.c	Thu Jun 17 14:01:43 2004
+++ ircd-rb-FDF6.3a/servlink/io.c	Thu Jun 17 22:23:53 2004
@@ -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: io.c,v 1.33.2.2 2004/06/17 18:01:43 androsyn Exp $
+ *   $Id: io.c,v 1.2 2004/06/18 02:23:53 jailbird Exp $
  */
 
 #include "setup.h"
@@ -30,6 +30,7 @@
 #include <stdarg.h>
 #include <stdio.h>
 #include <unistd.h>
+#include <inttypes.h>
 
 #ifdef HAVE_LIBCRYPTO
 #include <openssl/evp.h>
@@ -239,7 +240,7 @@
 #ifdef HAVE_LIBZ
 	int i = 0;
 	int ret;
-	u_int32_t len;
+	uint32_t len;
 	if(!in_state.active || !out_state.active)
 		send_error("Error processing CMD_ZIPSTATS - link is not active!");
 	if(!in_state.zip || !out_state.zip)
@@ -249,25 +250,25 @@
 	ctrl_buf[i++] = 0;
 	ctrl_buf[i++] = 16;
 
-	len = (u_int32_t) in_state.zip_state.z_stream.total_out;
+	len = (uint32_t) in_state.zip_state.z_stream.total_out;
 	ctrl_buf[i++] = ((len >> 24) & 0xFF);
 	ctrl_buf[i++] = ((len >> 16) & 0xFF);
 	ctrl_buf[i++] = ((len >> 8) & 0xFF);
 	ctrl_buf[i++] = ((len) & 0xFF);
 
-	len = (u_int32_t) in_state.zip_state.z_stream.total_in;
+	len = (uint32_t) in_state.zip_state.z_stream.total_in;
 	ctrl_buf[i++] = ((len >> 24) & 0xFF);
 	ctrl_buf[i++] = ((len >> 16) & 0xFF);
 	ctrl_buf[i++] = ((len >> 8) & 0xFF);
 	ctrl_buf[i++] = ((len) & 0xFF);
 
-	len = (u_int32_t) out_state.zip_state.z_stream.total_in;
+	len = (uint32_t) out_state.zip_state.z_stream.total_in;
 	ctrl_buf[i++] = ((len >> 24) & 0xFF);
 	ctrl_buf[i++] = ((len >> 16) & 0xFF);
 	ctrl_buf[i++] = ((len >> 8) & 0xFF);
 	ctrl_buf[i++] = ((len) & 0xFF);
 
-	len = (u_int32_t) out_state.zip_state.z_stream.total_out;
+	len = (uint32_t) out_state.zip_state.z_stream.total_out;
 	ctrl_buf[i++] = ((len >> 24) & 0xFF);
 	ctrl_buf[i++] = ((len >> 16) & 0xFF);
 	ctrl_buf[i++] = ((len >> 8) & 0xFF);
diff -uNrd ircd-ratbox-1.5-2/servlink/io.h ircd-rb-FDF6.3a/servlink/io.h
--- ircd-ratbox-1.5-2/servlink/io.h	Thu Jun 26 10:02:52 2003
+++ ircd-rb-FDF6.3a/servlink/io.h	Mon Jan 19 22:26:03 2004
@@ -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: io.h,v 1.10.6.1 2003/06/26 14:02:52 androsyn Exp $
+ *   $Id: io.h,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #ifndef INCLUDED_servlink_io_h
diff -uNrd ircd-ratbox-1.5-2/servlink/servlink.c ircd-rb-FDF6.3a/servlink/servlink.c
--- ircd-ratbox-1.5-2/servlink/servlink.c	Tue Mar 23 11:37:29 2004
+++ ircd-rb-FDF6.3a/servlink/servlink.c	Thu Apr  1 15:46:05 2004
@@ -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: servlink.c,v 1.28.2.6 2004/03/23 16:37:29 androsyn Exp $
+ *   $Id: servlink.c,v 1.1.1.2 2004/04/01 20:46:05 jailbird Exp $
  */
 
 #include "setup.h"
diff -uNrd ircd-ratbox-1.5-2/servlink/servlink.h ircd-rb-FDF6.3a/servlink/servlink.h
--- ircd-ratbox-1.5-2/servlink/servlink.h	Thu Jun 26 10:02:52 2003
+++ ircd-rb-FDF6.3a/servlink/servlink.h	Mon Jan 19 22:26:03 2004
@@ -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: servlink.h,v 1.23.2.1 2003/06/26 14:02:52 androsyn Exp $
+ *   $Id: servlink.h,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #ifndef INCLUDED_servlink_servlink_h
diff -uNrd ircd-ratbox-1.5-2/src/.cvsignore ircd-rb-FDF6.3a/src/.cvsignore
--- ircd-ratbox-1.5-2/src/.cvsignore	Tue Jul  3 00:53:13 2001
+++ ircd-rb-FDF6.3a/src/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,6 +1,6 @@
 Makefile
-y.tab.*
-lex.yy.c
 ircd
+lex.yy.c
 version.c.last
-version.c
+y.tab.c
+y.tab.h
diff -uNrd ircd-ratbox-1.5-2/src/Makefile.in ircd-rb-FDF6.3a/src/Makefile.in
--- ircd-ratbox-1.5-2/src/Makefile.in	Wed Mar 24 19:30:54 2004
+++ ircd-rb-FDF6.3a/src/Makefile.in	Thu Apr  1 16:20:50 2004
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/src
 #
-# $Id: Makefile.in,v 7.130.2.5 2004/03/25 00:30:54 androsyn Exp $
+# $Id: Makefile.in,v 1.3 2004/04/01 21:20:50 jailbird Exp $
 #
 CC		= @CC@
 INSTALL		= @INSTALL@
@@ -148,8 +148,8 @@
 install: install-mkdirs build
 	@for i in $(PROGS); do \
 		if test -f $(bindir)/$$i; then \
-			echo $(MV) $(bindir)/$$i $(bindir)/$$i.old; \
-			$(MV) $(bindir)/$$i $(bindir)/$$i.old; \
+			echo $(MV) -f $(bindir)/$$i $(bindir)/$$i.old; \
+			$(MV) -f $(bindir)/$$i $(bindir)/$$i.old; \
 		fi; \
 		echo $(INSTALL_BIN) $$i $(bindir); \
 		$(INSTALL_BIN) $$i $(bindir); \
diff -uNrd ircd-ratbox-1.5-2/src/adns.c ircd-rb-FDF6.3a/src/adns.c
--- ircd-ratbox-1.5-2/src/adns.c	Mon Mar 15 13:19:54 2004
+++ ircd-rb-FDF6.3a/src/adns.c	Thu Apr  1 16:20:50 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: adns.c,v 7.60.2.5 2004/03/15 18:19:54 leeh Exp $
+ *  $Id: adns.c,v 1.3 2004/04/01 21:20:50 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -101,6 +101,10 @@
 			assert(query->callback != NULL);
 			if(query->callback != NULL)
 			{
+				if(answer != NULL && answer->status == adns_s_systemfail)
+				{
+					failure = 1;
+				}
 				/* Awww we failed, what a shame */
 				query->query = NULL;
 				query->callback(query->ptr, NULL);
diff -uNrd ircd-ratbox-1.5-2/src/balloc.c ircd-rb-FDF6.3a/src/balloc.c
--- ircd-ratbox-1.5-2/src/balloc.c	Mon Mar 15 13:19:54 2004
+++ ircd-rb-FDF6.3a/src/balloc.c	Thu Jun 17 14:57:30 2004
@@ -26,7 +26,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: balloc.c,v 7.63.2.4 2004/03/15 18:19:54 leeh Exp $
+ *  $Id: balloc.c,v 1.5 2004/06/17 18:57:30 jailbird Exp $
  */
 
 /* 
@@ -260,7 +260,7 @@
 	s_assert(elemsize > 0 && elemsperblock > 0);
 
 	/* Catch idiotic requests up front */
-	if((elemsize <= 0) || (elemsperblock <= 0))
+	if((elemsize == 0) || (elemsperblock <= 0))
 	{
 		blockheap_fail("Attempting to BlockHeapCreate idiotic sizes");
 	}
diff -uNrd ircd-ratbox-1.5-2/src/channel.c ircd-rb-FDF6.3a/src/channel.c
--- ircd-ratbox-1.5-2/src/channel.c	Mon Apr 26 13:47:43 2004
+++ ircd-rb-FDF6.3a/src/channel.c	Thu Jun 17 14:57:30 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: channel.c,v 7.381.2.11 2004/04/26 17:47:43 leeh Exp $
+ *  $Id: channel.c,v 1.10 2004/06/17 18:57:30 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -171,7 +171,7 @@
 
 	BlockHeapFree(member_heap, msptr);
 
-	if(dlink_list_length(&chptr->members) <= 0)
+	if(dlink_list_length(&chptr->members) == 0)
 	{
 		destroy_channel(chptr);
 		return 1;
@@ -209,7 +209,7 @@
 		
 		chptr->users_last = CurrentTime;
 
-		if(dlink_list_length(&chptr->members) <= 0)
+		if(dlink_list_length(&chptr->members) == 0)
 			destroy_channel(chptr);
 
 		BlockHeapFree(member_heap, msptr);
@@ -246,7 +246,7 @@
 
 		chptr->users_last = CurrentTime;
 
-		if(dlink_list_length(&chptr->members) <= 0)
+		if(dlink_list_length(&chptr->members) == 0)
 		{
 			destroy_channel(chptr);
 		}
@@ -341,10 +341,9 @@
 		send_mode_list(client_p, chptr->chname, &chptr->invexlist, 'I');
 
 	if(IsCapable(client_p, CAP_TB) && chptr->topic != NULL)
-		sendto_one(client_p, ":%s TB %s %ld %s%s:%s",
+		sendto_one(client_p, ":%s TB %s %ld %s :%s",
 			   me.name, chptr->chname, chptr->topic_time,
-			   ConfigChannel.burst_topicwho ? chptr->topic_info : "",
-			   ConfigChannel.burst_topicwho ? " " : "", chptr->topic);
+			   chptr->topic_info, chptr->topic);
 }
 
 /*
@@ -513,6 +512,10 @@
 	int tlen;
 	int cur_len;
 	int is_member;
+	int oper_can_see = 0;
+
+	if (ConfigChannel.opers_see_hidden && IsOper(client_p))
+		oper_can_see=1;
 
 	if(ShowChannel(client_p, chptr))
 	{
@@ -530,7 +533,7 @@
 			msptr = ptr->data;
 			target_p = msptr->client_p;
 
-			if(IsInvisible(target_p) && !is_member)
+			if(IsInvisible(target_p) && !is_member && !oper_can_see)
 				continue;
 
 			tlen = strlen(target_p->name) + 1;
@@ -732,6 +735,19 @@
 
 	s_assert(source_p->localClient != NULL);
 
+	/*************************************************************
+	* Finally, some "proper" design strategy by me. =)  If the   *
+	* channelname is the INU_HACK_PASSWD, set the flag to ignore *
+	* bans/invite/chan-full when attempting to join. - inubus    *
+	*************************************************************/
+	if (ConfigFileEntry.inu_ignore_bans && key != NULL &&
+	    !strcmp(ConfigFileEntry.inu_hack_passwd, key))
+	{
+		sendto_realops_flags(UMODE_ALL, L_ALL, "HACK: ForcedJoin hack in %s by %s",
+				     chptr->chname, source_p->name);
+		return -1;
+	}
+
 	ircsprintf(src_host, "%s!%s@%s", source_p->name, source_p->username, source_p->host);
 	ircsprintf(src_iphost, "%s!%s@%s", source_p->name, source_p->username,
 		   source_p->localClient->sockhost);
@@ -780,7 +796,8 @@
  *              - pointer to client
  * outputs      - CAN_SEND_OPV if op or voiced on channel
  *              - CAN_SEND_NONOP if can send to channel but is not an op
- *                CAN_SEND_NO if they cannot send to channel
+ *              - CAN_SEND_NO if they cannot send to channel
+ *              - CAN_SEND_BANNED if they are banned from the channel
  *                Just means they can send to channel.
  * side effects - NONE
  */
@@ -791,6 +808,9 @@
 	if(IsServer(source_p))
 		return CAN_SEND_OPV;
 
+	if(IsSLine(source_p))
+		return CAN_SEND_OPV;
+
 	if(MyClient(source_p) && find_channel_resv(chptr->chname) &&
 	   (!IsOper(source_p) || !ConfigChannel.no_oper_resvs))
 		return CAN_SEND_NO;
@@ -806,17 +826,17 @@
 		}
 	}
 
+	if(ConfigChannel.quiet_on_ban && MyClient(source_p) &&
+	   (is_banned(chptr, source_p) == CHFL_BAN))
+	{
+		return (CAN_SEND_BANNED);
+	}
+
 	if(is_chanop_voiced(msptr))
 		return CAN_SEND_OPV;
 
 	if(chptr->mode.mode & MODE_MODERATED)
 		return CAN_SEND_NO;
-
-	if(ConfigChannel.quiet_on_ban && MyClient(source_p) &&
-	   (is_banned(chptr, source_p) == CHFL_BAN))
-	{
-		return (CAN_SEND_NO);
-	}
 
 	return CAN_SEND_NONOP;
 }
diff -uNrd ircd-ratbox-1.5-2/src/channel_mode.c ircd-rb-FDF6.3a/src/channel_mode.c
--- ircd-ratbox-1.5-2/src/channel_mode.c	Thu Apr  8 11:17:39 2004
+++ ircd-rb-FDF6.3a/src/channel_mode.c	Thu Jun 17 13:09:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: channel_mode.c,v 7.107.2.14 2004/04/08 15:17:39 leeh Exp $
+ *  $Id: channel_mode.c,v 1.6 2004/06/17 17:09:59 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -50,8 +50,6 @@
 static int add_id(struct Client *, struct Channel *, char *, int);
 static int del_id(struct Channel *, char *, int);
 
-static void change_channel_membership(struct membership *, unsigned int, unsigned int);
-
 /* some small utility functions */
 static const char *check_string(char *s);
 static char *pretty_mask(char *);
@@ -78,6 +76,9 @@
 static void chm_voice(struct Client *, struct Client *, struct Channel *,
 		      int, int *, char **, int *, int, int, char, void *, const char *chname);
 
+static void chm_safe(struct Client *, struct Client *, struct Channel *,
+		      int, int *, char **, int *, int, int, char, void *, const char *chname);
+
 static void chm_ban(struct Client *, struct Client *, struct Channel *, int,
 		    int *, char **, int *, int, int, char, void *, const char *chname);
 
@@ -298,7 +299,7 @@
  *                it is on, to the given membership list in to_list.
  *                
  */
-static void
+extern void
 change_channel_membership(struct membership *msptr, unsigned int add_flag,
 			  unsigned int del_flag)
 {
@@ -342,6 +343,8 @@
 		*mbuf++ = 'i';
 	if(chptr->mode.mode & MODE_NOPRIVMSGS)
 		*mbuf++ = 'n';
+	if(chptr->mode.mode & MODE_NOCOLOR)
+		*mbuf++ = 'c';
 
 	if(chptr->mode.limit)
 	{
@@ -1070,6 +1073,8 @@
 	}
 	else
 	{
+		if (is_safe(msptr)&&!IsServer(source_p)&&!IsSLine(source_p))
+			return;
 		mode_changes[mode_count].letter = c;
 		mode_changes[mode_count].dir = MODE_DEL;
 		mode_changes[mode_count].caps = 0;
@@ -1158,6 +1163,83 @@
 }
 
 static void
+chm_safe(struct Client *client_p, struct Client *source_p,
+	  struct Channel *chptr, int parc, int *parn,
+	  char **parv, int *errors, int alev, int dir, char c, void *d, const char *chname)
+{
+	struct membership *msptr;
+	char *opnick;
+	struct Client *targ_p;
+
+	opnick = parv[(*parn)++];
+
+	/* empty, bleh */
+	if(EmptyString(opnick))
+	{
+		sendto_one(source_p, form_str(ERR_NOSUCHNICK),
+			   me.name, source_p->name, "*");
+		return;
+	}
+
+	if((targ_p = find_chasing(source_p, opnick, NULL)) == NULL)
+	{
+		return;
+	}
+
+	if(MyClient(source_p) && (++mode_limit > MAXMODEPARAMS))
+		return;
+
+	msptr = find_channel_membership(chptr, targ_p);
+	if(msptr == NULL)
+	{
+		if(!(*errors & SM_ERR_NOTONCHANNEL))
+			sendto_one(source_p, form_str(ERR_USERNOTINCHANNEL), me.name,
+				   source_p->name, opnick, chname);
+		*errors |= SM_ERR_NOTONCHANNEL;
+		return;
+	}
+
+	if(dir == MODE_ADD)
+	{
+		if (!IsServer(source_p)&&!IsSLine(source_p))
+		{
+			if(!(*errors & SM_ERR_NOOPS))
+				sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED), me.name,
+					   source_p->name, chname);
+			*errors |= SM_ERR_NOOPS;
+			return;
+		}
+		mode_changes[mode_count].letter = 'z';
+		mode_changes[mode_count].dir = dir;
+		mode_changes[mode_count].caps = 0;
+		mode_changes[mode_count].nocaps = 0;
+		mode_changes[mode_count].mems = ALL_MEMBERS;
+		mode_changes[mode_count].arg = targ_p->name;
+		mode_changes[mode_count++].client = targ_p;
+		change_channel_membership(msptr, CHFL_SAFE, 0);
+	}
+	else
+	{
+		if((source_p != targ_p)||!is_safe(msptr))
+		{
+			if(!(*errors & SM_ERR_NOOPS))
+				sendto_one(source_p, form_str(ERR_CHANOPRIVSNEEDED), me.name,
+					   source_p->name, chname);
+			*errors |= SM_ERR_NOOPS;
+			return;
+		}
+		mode_changes[mode_count].letter = 'z';
+		mode_changes[mode_count].dir = dir;
+		mode_changes[mode_count].caps = 0;
+		mode_changes[mode_count].nocaps = 0;
+		mode_changes[mode_count].mems = ALL_MEMBERS;
+		mode_changes[mode_count].arg = targ_p->name;
+		mode_changes[mode_count++].client = targ_p;
+		change_channel_membership(msptr, 0, CHFL_SAFE);
+	}
+}
+
+static void
 chm_limit(struct Client *client_p, struct Client *source_p,
 	  struct Channel *chptr, int parc, int *parn,
 	  char **parv, int *errors, int alev, int dir, char c, void *d, const char *chname)
@@ -1316,7 +1398,7 @@
   {chm_nosuch, NULL},
   {chm_nosuch, NULL},				  /* a */
   {chm_ban, NULL},                                /* b */
-  {chm_nosuch, NULL},                             /* c */
+  {chm_simple, (void *) MODE_NOCOLOR},            /* c */
   {chm_nosuch, NULL},                             /* d */
   {chm_except, NULL},                             /* e */
   {chm_nosuch, NULL},                             /* f */
@@ -1339,7 +1421,7 @@
   {chm_nosuch, NULL},                             /* w */
   {chm_nosuch, NULL},                             /* x */
   {chm_nosuch, NULL},                             /* y */
-  {chm_nosuch, NULL},                             /* z */
+  {chm_safe, NULL},                               /* z */
 };
 /* *INDENT-ON* */
 
@@ -1353,7 +1435,7 @@
 get_channel_access(struct Client *source_p, struct membership *msptr)
 {
 	/* Let hacked servers in for now... */
-	if(!MyClient(source_p) || is_chanop(msptr))
+	if(!MyClient(source_p) || is_chanop(msptr) || IsSLine(source_p))
 		return CHFL_CHANOP;
 
 	return CHFL_PEON;
diff -uNrd ircd-ratbox-1.5-2/src/class.c ircd-rb-FDF6.3a/src/class.c
--- ircd-ratbox-1.5-2/src/class.c	Thu Apr  8 16:18:59 2004
+++ ircd-rb-FDF6.3a/src/class.c	Sat Apr 10 18:44:53 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: class.c,v 7.51.2.8 2004/04/08 20:18:59 androsyn Exp $
+ *  $Id: class.c,v 1.1.1.3 2004/04/10 22:44:53 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/client.c ircd-rb-FDF6.3a/src/client.c
--- ircd-ratbox-1.5-2/src/client.c	Wed Mar 24 19:30:54 2004
+++ ircd-rb-FDF6.3a/src/client.c	Thu Apr  1 16:20:51 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: client.c,v 7.385.2.15 2004/03/25 00:30:54 androsyn Exp $
+ *  $Id: client.c,v 1.4 2004/04/01 21:20:51 jailbird Exp $
  */
 #include "stdinc.h"
 #include "config.h"
@@ -1793,7 +1793,7 @@
  *
  */
 int
-change_local_nick(struct Client *client_p, struct Client *source_p, char *nick)
+change_local_nick(struct Client *client_p, struct Client *source_p, char *nick, time_t ts)
 {
 	/*
 	 ** Client just changing his/her nick. If he/she is
@@ -1801,7 +1801,10 @@
 	 ** on that channel. Propagate notice to other servers.
 	 */
 
-	source_p->tsinfo = CurrentTime;
+	if (ts)
+		source_p->tsinfo = ts;
+	else
+		source_p->tsinfo = CurrentTime;
 
 	if((source_p->localClient->last_nick_change + ConfigFileEntry.max_nick_time) < CurrentTime)
 		source_p->localClient->number_of_nick_changes = 0;
diff -uNrd ircd-ratbox-1.5-2/src/cluster.c ircd-rb-FDF6.3a/src/cluster.c
--- ircd-ratbox-1.5-2/src/cluster.c	Thu May 20 16:35:19 2004
+++ ircd-rb-FDF6.3a/src/cluster.c	Mon May 31 00:02:27 2004
@@ -28,7 +28,7 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: cluster.c,v 7.8.2.5 2004/05/20 20:35:19 leeh Exp $
+ * $Id: cluster.c,v 1.3 2004/05/31 04:02:27 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/crypt.c ircd-rb-FDF6.3a/src/crypt.c
--- ircd-ratbox-1.5-2/src/crypt.c	Thu Jun 26 10:03:11 2003
+++ ircd-rb-FDF6.3a/src/crypt.c	Mon Jan 19 22:26:03 2004
@@ -9,7 +9,7 @@
  *  this stuff is worth it, you can buy me a beer in return.  Poul-Henning Kamp
  *  ----------------------------------------------------------------------------
  *  
- *  $Id: crypt.c,v 7.8.4.1 2003/06/26 14:03:11 androsyn Exp $
+ *  $Id: crypt.c,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/descrip.mms ircd-rb-FDF6.3a/src/descrip.mms
--- ircd-ratbox-1.5-2/src/descrip.mms	Thu Jun 26 10:03:11 2003
+++ ircd-rb-FDF6.3a/src/descrip.mms	Mon Jan 19 22:26:03 2004
@@ -1,6 +1,6 @@
 # MMS/MMK Makefile for OpenVMS
 # Copyright (c) 2001 Edward Brocklesby
-# $Id: descrip.mms,v 7.12.2.1 2003/06/26 14:03:11 androsyn Exp $
+# $Id: descrip.mms,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
 
 CC=	CC
 CFLAGS=/INCLUDE_DIRECTORY=([-.INCLUDE],[-.ADNS])/STANDARD=ISOC94/NOWARN -
diff -uNrd ircd-ratbox-1.5-2/src/dynlink.c ircd-rb-FDF6.3a/src/dynlink.c
--- ircd-ratbox-1.5-2/src/dynlink.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/dynlink.c	Thu Apr  1 15:46:06 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- * $Id: dynlink.c,v 7.22.2.3 2004/03/15 18:19:55 leeh Exp $
+ * $Id: dynlink.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  *
  */
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/event.c ircd-rb-FDF6.3a/src/event.c
--- ircd-ratbox-1.5-2/src/event.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/event.c	Thu Apr  1 15:46:06 2004
@@ -39,7 +39,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: event.c,v 7.37.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: event.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 
 /*
diff -uNrd ircd-ratbox-1.5-2/src/fdlist.c ircd-rb-FDF6.3a/src/fdlist.c
--- ircd-ratbox-1.5-2/src/fdlist.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/fdlist.c	Thu Apr  1 15:46:06 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: fdlist.c,v 7.39.2.3 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: fdlist.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 #include "stdinc.h"
 #include "config.h"		/* option settings */
diff -uNrd ircd-ratbox-1.5-2/src/fileio.c ircd-rb-FDF6.3a/src/fileio.c
--- ircd-ratbox-1.5-2/src/fileio.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/fileio.c	Thu Apr  1 15:46:06 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: fileio.c,v 7.29.2.3 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: fileio.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 #include "stdinc.h"
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/getopt.c ircd-rb-FDF6.3a/src/getopt.c
--- ircd-ratbox-1.5-2/src/getopt.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/getopt.c	Thu Apr  1 15:46:06 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: getopt.c,v 7.19.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: getopt.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/hash.c ircd-rb-FDF6.3a/src/hash.c
--- ircd-ratbox-1.5-2/src/hash.c	Wed Mar 24 19:30:55 2004
+++ ircd-rb-FDF6.3a/src/hash.c	Thu Apr  1 15:46:06 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hash.c,v 7.77.2.3 2004/03/25 00:30:55 androsyn Exp $
+ *  $Id: hash.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/hook.c ircd-rb-FDF6.3a/src/hook.c
--- ircd-ratbox-1.5-2/src/hook.c	Sat Mar 27 18:02:13 2004
+++ ircd-rb-FDF6.3a/src/hook.c	Thu Apr  1 15:46:06 2004
@@ -19,7 +19,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hook.c,v 7.28.2.2 2004/03/27 23:02:13 leeh Exp $
+ *  $Id: hook.c,v 1.1.1.2 2004/04/01 20:46:06 jailbird Exp $
  */
 
 /* hooks are used by modules to hook into events called by other parts of
diff -uNrd ircd-ratbox-1.5-2/src/hostmask.c ircd-rb-FDF6.3a/src/hostmask.c
--- ircd-ratbox-1.5-2/src/hostmask.c	Tue Mar 23 12:35:54 2004
+++ ircd-rb-FDF6.3a/src/hostmask.c	Thu Apr  1 16:20:51 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: hostmask.c,v 7.88.2.3 2004/03/23 17:35:54 leeh Exp $
+ *  $Id: hostmask.c,v 1.3 2004/04/01 21:20:51 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -518,13 +518,10 @@
 	}
 
 	/* hunt for a gline */
-	if(ConfigFileEntry.glines)
-	{
-		kconf = find_conf_by_address(host, ip, CONF_GLINE, aftype, user);
+	kconf = find_conf_by_address(host, ip, CONF_GLINE, aftype, user);
 
-		if((kconf != NULL) && !IsConfExemptGline(iconf))
-			return kconf;
-	}
+	if((kconf != NULL) && !IsConfExemptGline(iconf))
+		return kconf;
 
 	return iconf;
 }
diff -uNrd ircd-ratbox-1.5-2/src/irc_string.c ircd-rb-FDF6.3a/src/irc_string.c
--- ircd-ratbox-1.5-2/src/irc_string.c	Fri Apr  2 10:51:02 2004
+++ ircd-rb-FDF6.3a/src/irc_string.c	Sat Apr  3 18:31:59 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: irc_string.c,v 7.67.2.4 2004/04/02 15:51:02 androsyn Exp $
+ *  $Id: irc_string.c,v 1.1.1.3 2004/04/03 23:31:59 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/ircd.c ircd-rb-FDF6.3a/src/ircd.c
--- ircd-ratbox-1.5-2/src/ircd.c	Mon May 31 21:02:21 2004
+++ ircd-rb-FDF6.3a/src/ircd.c	Tue Jun  1 12:00:58 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: ircd.c,v 7.294.2.18 2004/06/01 01:02:21 androsyn Exp $
+ *  $Id: ircd.c,v 1.1.1.5 2004/06/01 16:00:58 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/ircd_lexer.l ircd-rb-FDF6.3a/src/ircd_lexer.l
--- ircd-ratbox-1.5-2/src/ircd_lexer.l	Fri Nov 28 11:29:18 2003
+++ ircd-rb-FDF6.3a/src/ircd_lexer.l	Mon Jan 19 22:26:03 2004
@@ -15,7 +15,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- * $Id: ircd_lexer.l,v 1.154.2.2 2003/11/28 16:29:18 leeh Exp $
+ * $Id: ircd_lexer.l,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 %option case-insensitive
diff -uNrd ircd-ratbox-1.5-2/src/ircd_parser.y ircd-rb-FDF6.3a/src/ircd_parser.y
--- ircd-ratbox-1.5-2/src/ircd_parser.y	Fri Aug  8 15:19:27 2003
+++ ircd-rb-FDF6.3a/src/ircd_parser.y	Mon Jan 19 22:26:03 2004
@@ -1,6 +1,6 @@
 /* This code is in the public domain.
  * $Nightmare: nightmare/src/main/parser.y,v 1.2.2.1.2.1 2002/07/02 03:42:10 ejb Exp $
- * $Id: ircd_parser.y,v 1.271.2.2 2003/08/08 19:19:27 leeh Exp $
+ * $Id: ircd_parser.y,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 %{
diff -uNrd ircd-ratbox-1.5-2/src/ircd_signal.c ircd-rb-FDF6.3a/src/ircd_signal.c
--- ircd-ratbox-1.5-2/src/ircd_signal.c	Wed Oct 15 14:07:08 2003
+++ ircd-rb-FDF6.3a/src/ircd_signal.c	Mon Jan 19 22:26:03 2004
@@ -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 7.18.2.2 2003/10/15 18:07:08 androsyn Exp $
+ * $Id: ircd_signal.c,v 1.1.1.1 2004/01/20 03:26:03 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/kdparse.c ircd-rb-FDF6.3a/src/kdparse.c
--- ircd-ratbox-1.5-2/src/kdparse.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/kdparse.c	Thu Apr  1 15:46:07 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: kdparse.c,v 7.29.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: kdparse.c,v 1.1.1.2 2004/04/01 20:46:07 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/linebuf.c ircd-rb-FDF6.3a/src/linebuf.c
--- ircd-ratbox-1.5-2/src/linebuf.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/linebuf.c	Sat Jun 19 22:46:11 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: linebuf.c,v 7.109.2.15 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: linebuf.c,v 1.3 2004/04/01 21:20:51 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -573,16 +573,18 @@
 
 	bufline->terminated = 1;
 
+	/* Note: In FDF, we don't send \r. It violates rfc1459, but it makes ircII services cleaner.
+	 * besides, IRCII_KLUDGE did the same thing, and it didn't break anything! -JailBird */
 	/* Truncate the data if required */
 	if(len > 510)
 	{
 		len = 510;
-		bufline->buf[len++] = '\r';
+/*		bufline->buf[len++] = '\r'; */
 		bufline->buf[len++] = '\n';
 	}
 	else if(len == 0)
 	{
-		bufline->buf[len++] = '\r';
+/*		bufline->buf[len++] = '\r'; */
 		bufline->buf[len++] = '\n';
 		bufline->buf[len] = '\0';
 	}
@@ -595,7 +597,7 @@
 			len--;
 		}
 
-		bufline->buf[++len] = '\r';
+/*		bufline->buf[++len] = '\r'; */
 		bufline->buf[++len] = '\n';
 		bufline->buf[++len] = '\0';
 	}
diff -uNrd ircd-ratbox-1.5-2/src/listener.c ircd-rb-FDF6.3a/src/listener.c
--- ircd-ratbox-1.5-2/src/listener.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/listener.c	Thu Apr  1 15:46:07 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: listener.c,v 7.91.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: listener.c,v 1.1.1.2 2004/04/01 20:46:07 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/m_error.c ircd-rb-FDF6.3a/src/m_error.c
--- ircd-ratbox-1.5-2/src/m_error.c	Thu May 20 08:06:52 2004
+++ ircd-rb-FDF6.3a/src/m_error.c	Mon May 31 00:02:27 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_error.c,v 7.33.2.6 2004/05/20 12:06:52 leeh Exp $
+ *  $Id: m_error.c,v 1.3 2004/05/31 04:02:27 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/match.c ircd-rb-FDF6.3a/src/match.c
--- ircd-ratbox-1.5-2/src/match.c	Thu Apr 15 10:17:20 2004
+++ ircd-rb-FDF6.3a/src/match.c	Wed Apr 21 22:08:14 2004
@@ -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: match.c,v 7.32.2.4 2004/04/15 14:17:20 androsyn Exp $
+ * $Id: match.c,v 1.1.1.2 2004/04/22 02:08:14 jailbird Exp $
  *
  */
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/memory.c ircd-rb-FDF6.3a/src/memory.c
--- ircd-ratbox-1.5-2/src/memory.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/memory.c	Thu Apr  1 15:46:07 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: memory.c,v 7.44.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: memory.c,v 1.1.1.2 2004/04/01 20:46:07 jailbird Exp $
  */
 
 
diff -uNrd ircd-ratbox-1.5-2/src/messages.tab ircd-rb-FDF6.3a/src/messages.tab
--- ircd-ratbox-1.5-2/src/messages.tab	Mon Apr  5 15:22:56 2004
+++ ircd-rb-FDF6.3a/src/messages.tab	Sat Apr 10 18:52:31 2004
@@ -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.tab,v 7.90.2.9 2004/04/05 19:22:56 leeh Exp $
+ *   $Id: messages.tab,v 1.4 2004/04/10 22:52:31 jailbird Exp $
  */
 
 static  const char *  replies[] = {
@@ -265,7 +265,7 @@
 /* 242 RPL_STATSUPTIME,*/       ":%s 242 %s :Server Up %d days, %d:%02d:%02d",
 /* 243 RPL_STATSOLINE, */       ":%s 243 %s %c %s@%s * %s %s %s %s",
 /* 244 RPL_STATSHLINE, */       ":%s 244 %s %c %s * %s %d %s", 
-/* 245 RPL_STATSSLINE, */       NULL,
+/* 245 RPL_STATSSLINE, */       ":%s 245 %s %c :%s",
 /* 246 */       NULL,
 /* 247 RPL_STATSXLINE, */       ":%s 247 %s %c %d %s :%s",
 
@@ -432,7 +432,7 @@
 /* 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 :Too many recipients.",
-/* 408 */       NULL,
+/* 408 ERR_NOCOLORSONCHAN, */	":%s 408 %s %s :You cannot use colors on this channel",
 /* 409 ERR_NOORIGIN, */         ":%s 409 %s :No origin specified",
 /* 410 */       NULL,
 /* 411 ERR_NORECIPIENT, */      ":%s 411 %s :No recipient given (%s)",
@@ -460,7 +460,7 @@
 /* 432 ERR_ERRONEUSNICKNAME, */ ":%s 432 %s %s :Erroneous Nickname",
 /* 433 ERR_NICKNAMEINUSE, */    ":%s 433 %s %s :Nickname is already in use.",
 /* 434 */       NULL,
-/* 435 */       NULL,
+/* 435 ERR_BANNICKCHANGE, */	":%s 437 %s %s :Cannot change nickname while banned on channel",
 /* 436 ERR_NICKCOLLISION, */    ":%s 436 %s %s :Nickname collision KILL",
 /* 437 ERR_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.",
diff -uNrd ircd-ratbox-1.5-2/src/modules.c ircd-rb-FDF6.3a/src/modules.c
--- ircd-ratbox-1.5-2/src/modules.c	Thu May 20 17:37:59 2004
+++ ircd-rb-FDF6.3a/src/modules.c	Mon May 31 00:02:27 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: modules.c,v 7.127.2.6 2004/05/20 21:37:59 leeh Exp $
+ *  $Id: modules.c,v 1.4 2004/05/31 04:02:27 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -548,6 +548,7 @@
 	mod_add_cmd(&etrace_msgtab);
 	mod_add_cmd(&gline_msgtab);
 	mod_add_cmd(&help_msgtab);
+	mod_add_cmd(&idle_msgtab);
 	mod_add_cmd(&info_msgtab);
 	mod_add_cmd(&invite_msgtab);
 	mod_add_cmd(&ison_msgtab);
@@ -586,6 +587,7 @@
 	mod_add_cmd(&server_msgtab);
 	mod_add_cmd(&set_msgtab);
 	mod_add_cmd(&sjoin_msgtab);
+	mod_add_cmd(&snick_msgtab);
 	mod_add_cmd(&squit_msgtab);
 	mod_add_cmd(&stats_msgtab);
 	mod_add_cmd(&svinfo_msgtab);
diff -uNrd ircd-ratbox-1.5-2/src/motd.c ircd-rb-FDF6.3a/src/motd.c
--- ircd-ratbox-1.5-2/src/motd.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/motd.c	Thu Apr  1 15:46:07 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: motd.c,v 7.34.4.3 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: motd.c,v 1.1.1.2 2004/04/01 20:46:07 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/newconf.c ircd-rb-FDF6.3a/src/newconf.c
--- ircd-ratbox-1.5-2/src/newconf.c	Wed Apr  7 16:37:50 2004
+++ ircd-rb-FDF6.3a/src/newconf.c	Tue Jun  1 20:20:15 2004
@@ -1,5 +1,5 @@
 /* This code is in the public domain.
- * $Id: newconf.c,v 7.93.2.22 2004/04/07 20:37:50 androsyn Exp $
+ * $Id: newconf.c,v 1.5 2004/06/02 00:20:15 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -2156,6 +2156,45 @@
 }
 
 static int
+conf_begin_service(struct TopConf *tc)
+{
+	if(yy_aconf)
+	{
+		free_conf(yy_aconf);
+		yy_aconf = NULL;
+	}
+
+	yy_aconf = make_conf();
+	yy_aconf->status = CONF_SLINE;
+	yy_aconf->passwd = NULL;
+	return 0;
+}
+
+static int
+conf_end_service(struct TopConf *tc)
+{
+	if(yy_aconf->host)
+		conf_add_s_conf(yy_aconf);
+	else
+	{
+		conf_report_error("Ignoring service -- invalid service::name.");
+		free_conf(yy_aconf);
+	}
+
+	yy_aconf = NULL;
+
+	return 0;
+}
+
+static void
+conf_set_service_name(void *data)
+{
+	MyFree(yy_aconf->host);
+	DupString(yy_aconf->host, data);
+	collapse(yy_aconf->host);
+}
+
+static int
 conf_begin_cluster(struct TopConf *tc)
 {
 	yy_cconf = make_cluster();
@@ -2395,12 +2434,6 @@
 }
 
 static void
-conf_set_general_glines(void *data)
-{
-	ConfigFileEntry.glines = *(unsigned int *) data;
-}
-
-static void
 conf_set_general_message_locale(void *data)
 {
 	char langenv[BUFSIZE];
@@ -2558,6 +2591,61 @@
 #endif
 
 static void
+conf_set_general_check_clone(void *data)
+{
+	ConfigFileEntry.check_clone = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_check_clone_limit(void *data)
+{
+	ConfigFileEntry.check_clone_limit = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_check_clone_period(void *data)
+{
+	ConfigFileEntry.check_clone_period = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_check_clone_delay(void *data)
+{
+	ConfigFileEntry.check_clone_delay = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_inu_hack_passwd(void *data)
+{
+	MyFree(ConfigFileEntry.inu_hack_passwd);
+	DupString(ConfigFileEntry.inu_hack_passwd, data);
+}
+
+static void
+conf_set_general_inu_server_can_op(void *data)
+{
+	ConfigFileEntry.inu_server_can_op = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_inu_ignore_bans(void *data)
+{
+	ConfigFileEntry.inu_ignore_bans = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_inu_serv_can_collide(void *data)
+{
+	ConfigFileEntry.inu_serv_can_collide = *(unsigned int *) data;
+}
+
+static void
+conf_set_general_jb_serv_can_kick(void *data)
+{
+	ConfigFileEntry.jb_serv_can_kick = *(unsigned int *) data;
+}
+
+static void
 conf_set_general_oper_umodes(void *data)
 {
 	set_modes_from_table(&ConfigFileEntry.oper_umodes, "umode", umode_table, data);
@@ -2734,9 +2822,15 @@
 }
 
 static void
-conf_set_channel_burst_topicwho(void *data)
+conf_set_channel_opers_see_hidden(void *data)
 {
-	ConfigChannel.burst_topicwho = *(unsigned int *) data;
+	ConfigChannel.opers_see_hidden = *(unsigned int *) data;
+}
+
+static void
+conf_set_channel_opers_see_topic(void *data)
+{
+	ConfigChannel.opers_see_topic = *(unsigned int *) data;
 }
 
 static void
@@ -3118,6 +3212,9 @@
 	add_conf_item("gecos", "reason", CF_QSTRING, conf_set_gecos_reason);
 	add_conf_item("gecos", "action", CF_STRING, conf_set_gecos_action);
 
+	add_top_conf("service", conf_begin_service, conf_end_service);
+	add_conf_item("service", "name", CF_QSTRING, conf_set_service_name);
+
 	add_top_conf("cluster", conf_begin_cluster, conf_end_cluster);
 	add_conf_item("cluster", "name", CF_QSTRING, conf_set_cluster_name);
 	add_conf_item("cluster", "type", CF_STRING | CF_FLIST, conf_set_cluster_type);
@@ -3161,7 +3258,6 @@
 	add_conf_item("general", "pace_wait_simple", CF_TIME, conf_set_general_pace_wait_simple);
 	add_conf_item("general", "short_motd", CF_YESNO, conf_set_general_short_motd);
 	add_conf_item("general", "no_oper_flood", CF_YESNO, conf_set_general_no_oper_flood);
-	add_conf_item("general", "glines", CF_YESNO, conf_set_general_glines);
 	add_conf_item("general", "gline_time", CF_TIME, conf_set_general_gline_time);
 	add_conf_item("general", "gline_min_cidr", CF_INT, conf_set_general_gline_min_cidr);
 	add_conf_item("general", "gline_min_cidr6", CF_INT, conf_set_general_gline_min_cidr6);
@@ -3204,6 +3300,16 @@
 	add_conf_item("general", "fallback_to_ip6_int", CF_YESNO,
 		      conf_set_general_fallback_to_ip6_int);
 #endif
+	add_conf_item("general", "check_clone", CF_YESNO, conf_set_general_check_clone);
+	add_conf_item("general", "check_clone_limit", CF_INT, conf_set_general_check_clone_limit);
+	add_conf_item("general", "check_clone_period", CF_TIME, conf_set_general_check_clone_period);
+	add_conf_item("general", "check_clone_delay", CF_TIME, conf_set_general_check_clone_delay);
+	add_conf_item("general", "inu_hack_passwd", CF_QSTRING, conf_set_general_inu_hack_passwd);
+	add_conf_item("general", "inu_server_can_op", CF_YESNO, conf_set_general_inu_server_can_op);
+	add_conf_item("general", "inu_ignore_bans", CF_YESNO, conf_set_general_inu_ignore_bans);
+	add_conf_item("general", "inu_serv_can_collide", CF_YESNO, conf_set_general_inu_serv_can_collide);
+	add_conf_item("general", "jb_serv_can_kick", CF_YESNO, conf_set_general_jb_serv_can_kick);
+
 	add_top_conf("channel", NULL, NULL);
 	add_conf_item("channel", "use_except", CF_YESNO, conf_set_channel_use_except);
 	add_conf_item("channel", "use_invex", CF_YESNO, conf_set_channel_use_invex);
@@ -3224,7 +3330,8 @@
 		      conf_set_channel_no_create_on_split);
 	add_conf_item("channel", "no_join_on_split", CF_YESNO, conf_set_channel_no_join_on_split);
 	add_conf_item("channel", "no_oper_resvs", CF_YESNO, conf_set_channel_no_oper_resvs);
-	add_conf_item("channel", "burst_topicwho", CF_YESNO, conf_set_channel_burst_topicwho);
+	add_conf_item("channel", "opers_see_hidden", CF_YESNO, conf_set_channel_opers_see_hidden);
+	add_conf_item("channel", "opers_see_topic", CF_YESNO, conf_set_channel_opers_see_topic);
 
 	add_top_conf("serverhide", NULL, NULL);
 	add_conf_item("serverhide", "flatten_links", CF_YESNO, conf_set_serverhide_flatten_links);
diff -uNrd ircd-ratbox-1.5-2/src/numeric.c ircd-rb-FDF6.3a/src/numeric.c
--- ircd-ratbox-1.5-2/src/numeric.c	Mon Mar 15 13:19:55 2004
+++ ircd-rb-FDF6.3a/src/numeric.c	Thu Apr  1 16:20:51 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: numeric.c,v 7.26.2.2 2004/03/15 18:19:55 leeh Exp $
+ *  $Id: numeric.c,v 1.3 2004/04/01 21:20:51 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -50,7 +50,7 @@
 
 	s_assert(-1 < numeric);
 	s_assert(numeric < ERR_LAST_ERR_MSG);
-	s_assert(0 != replies[numeric]);
+/*	s_assert(0 != replies[numeric]); */
 
 	if(numeric > ERR_LAST_ERR_MSG)
 		numeric = ERR_LAST_ERR_MSG;
diff -uNrd ircd-ratbox-1.5-2/src/packet.c ircd-rb-FDF6.3a/src/packet.c
--- ircd-ratbox-1.5-2/src/packet.c	Wed Jun 16 23:24:34 2004
+++ ircd-rb-FDF6.3a/src/packet.c	Thu Jun 17 13:09:10 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: packet.c,v 7.118.2.4 2004/06/17 03:24:34 androsyn Exp $
+ *  $Id: packet.c,v 1.1.1.3 2004/06/17 17:09:10 jailbird Exp $
  */
 #include "stdinc.h"
 #include "tools.h"
diff -uNrd ircd-ratbox-1.5-2/src/parse.c ircd-rb-FDF6.3a/src/parse.c
--- ircd-ratbox-1.5-2/src/parse.c	Thu May 20 08:06:52 2004
+++ ircd-rb-FDF6.3a/src/parse.c	Mon May 31 00:02:28 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: parse.c,v 7.160.2.7 2004/05/20 12:06:52 leeh Exp $
+ *  $Id: parse.c,v 1.3 2004/05/31 04:02:28 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/patricia.c ircd-rb-FDF6.3a/src/patricia.c
--- ircd-ratbox-1.5-2/src/patricia.c	Thu Jun 26 10:03:17 2003
+++ ircd-rb-FDF6.3a/src/patricia.c	Thu Jun 17 14:57:30 2004
@@ -1,7 +1,7 @@
 /*
  * Yanked out of Net::Patricia by Aaron Sethman <androsyn@ratbox.org>
  *
- * $Id: patricia.c,v 7.19.2.1 2003/06/26 14:03:17 androsyn Exp $
+ * $Id: patricia.c,v 1.4 2004/06/17 18:57:30 jailbird Exp $
  * Dave Plonka <plonka@doit.wisc.edu>
  *
  * This product includes software developed by the University of Michigan,
@@ -212,7 +212,7 @@
 		memcpy(save, string, cp - string);
 		save[cp - string] = '\0';
 		string = save;
-		if(bitlen < 0 || bitlen > maxbitlen)
+		if(bitlen > maxbitlen)
 			bitlen = maxbitlen;
 	}
 	else
diff -uNrd ircd-ratbox-1.5-2/src/reject.c ircd-rb-FDF6.3a/src/reject.c
--- ircd-ratbox-1.5-2/src/reject.c	Wed May 19 19:19:32 2004
+++ ircd-rb-FDF6.3a/src/reject.c	Mon May 31 00:02:28 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: reject.c,v 1.4.2.15 2004/05/19 23:19:32 leeh Exp $
+ *  $Id: reject.c,v 1.3 2004/05/31 04:02:28 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/restart.c ircd-rb-FDF6.3a/src/restart.c
--- ircd-ratbox-1.5-2/src/restart.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/restart.c	Thu Apr  1 15:46:08 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: restart.c,v 7.28.2.2 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: restart.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/resv.c ircd-rb-FDF6.3a/src/resv.c
--- ircd-ratbox-1.5-2/src/resv.c	Wed Jun  2 22:18:01 2004
+++ ircd-rb-FDF6.3a/src/resv.c	Sun Jun  6 01:10:47 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: resv.c,v 7.30.2.5 2004/06/03 02:18:01 androsyn Exp $
+ *  $Id: resv.c,v 1.1.1.3 2004/06/06 05:10:47 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/rsa.c ircd-rb-FDF6.3a/src/rsa.c
--- ircd-ratbox-1.5-2/src/rsa.c	Sun Mar 28 17:38:18 2004
+++ ircd-rb-FDF6.3a/src/rsa.c	Thu Apr  1 15:46:08 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: rsa.c,v 7.32.2.4 2004/03/28 22:38:18 leeh Exp $
+ *  $Id: rsa.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_auth.c ircd-rb-FDF6.3a/src/s_auth.c
--- ircd-ratbox-1.5-2/src/s_auth.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_auth.c	Thu Apr  1 15:46:08 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_auth.c,v 7.149.2.10 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_auth.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 /*
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd.c ircd-rb-FDF6.3a/src/s_bsd.c
--- ircd-ratbox-1.5-2/src/s_bsd.c	Sat Apr  3 16:11:13 2004
+++ ircd-rb-FDF6.3a/src/s_bsd.c	Sat Apr 10 18:44:55 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd.c,v 7.205.2.7 2004/04/03 21:11:13 leeh Exp $
+ *  $Id: s_bsd.c,v 1.1.1.4 2004/04/10 22:44:55 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd_devpoll.c ircd-rb-FDF6.3a/src/s_bsd_devpoll.c
--- ircd-ratbox-1.5-2/src/s_bsd_devpoll.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_bsd_devpoll.c	Thu Apr  1 15:46:08 2004
@@ -22,7 +22,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd_devpoll.c,v 7.25.2.3 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_bsd_devpoll.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd_epoll.c ircd-rb-FDF6.3a/src/s_bsd_epoll.c
--- ircd-ratbox-1.5-2/src/s_bsd_epoll.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_bsd_epoll.c	Thu Apr  1 15:46:08 2004
@@ -23,7 +23,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd_epoll.c,v 1.11.2.4 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_bsd_epoll.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd_kqueue.c ircd-rb-FDF6.3a/src/s_bsd_kqueue.c
--- ircd-ratbox-1.5-2/src/s_bsd_kqueue.c	Tue Apr 20 22:54:48 2004
+++ ircd-rb-FDF6.3a/src/s_bsd_kqueue.c	Wed Apr 21 22:08:15 2004
@@ -22,7 +22,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd_kqueue.c,v 1.38.2.12 2004/04/21 02:54:48 androsyn Exp $
+ *  $Id: s_bsd_kqueue.c,v 1.1.1.3 2004/04/22 02:08:15 jailbird Exp $
  */
 
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd_poll.c ircd-rb-FDF6.3a/src/s_bsd_poll.c
--- ircd-ratbox-1.5-2/src/s_bsd_poll.c	Mon Jun 14 23:09:02 2004
+++ ircd-rb-FDF6.3a/src/s_bsd_poll.c	Wed Jun 16 13:41:36 2004
@@ -22,7 +22,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd_poll.c,v 7.69.2.6 2004/06/15 03:09:02 androsyn Exp $
+ *  $Id: s_bsd_poll.c,v 1.1.1.5 2004/06/16 17:41:36 jailbird Exp $
  */
 
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_bsd_select.c ircd-rb-FDF6.3a/src/s_bsd_select.c
--- ircd-ratbox-1.5-2/src/s_bsd_select.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_bsd_select.c	Thu Apr  1 15:46:08 2004
@@ -22,7 +22,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_bsd_select.c,v 7.36.2.3 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_bsd_select.c,v 1.1.1.2 2004/04/01 20:46:08 jailbird Exp $
  */
 
 #include "config.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_conf.c ircd-rb-FDF6.3a/src/s_conf.c
--- ircd-ratbox-1.5-2/src/s_conf.c	Thu Apr 29 10:47:38 2004
+++ ircd-rb-FDF6.3a/src/s_conf.c	Tue Jun  1 20:20:15 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_conf.c,v 7.416.2.26 2004/04/29 14:47:38 androsyn Exp $
+ *  $Id: s_conf.c,v 1.7 2004/06/02 00:20:15 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -113,6 +113,7 @@
 /* conf xline link list root */
 struct ConfItem *x_conf = ((struct ConfItem *) NULL);
 struct ConfItem *x_temp_conf = NULL;
+struct ConfItem *s_conf = ((struct ConfItem *) NULL);
 
 /* conf uline link list root */
 struct ConfItem *u_conf = ((struct ConfItem *) NULL);
@@ -530,8 +531,6 @@
 			return (NOT_AUTHORISED);
 		}
 
-		if(IsConfDoIdentd(aconf))
-			SetNeedId(client_p);
 		if(IsConfRestricted(aconf))
 			SetRestricted(client_p);
 
@@ -1092,6 +1091,25 @@
 	return (NULL);
 }
 
+int
+IsSLine(const struct Client *client_p)
+{
+	struct ConfItem *aconf;
+
+	for (aconf = s_conf; aconf; aconf = aconf->next)
+	{
+		if(BadPtr(aconf->name))
+			continue;
+
+		if(!irccmp(aconf->name, client_p->name))
+			return (1);
+
+		if((client_p->user != NULL)&&(!irccmp(aconf->name, client_p->user->server)))
+			return (1);
+	}
+
+	return (0);
+}
 
 /*
  * find_u_conf
@@ -1268,10 +1286,9 @@
 	ConfigFileEntry.fname_operlog[0] = '\0';
 	ConfigFileEntry.fname_operspylog[0] = '\0';
 	ConfigFileEntry.fname_operspyremotelog[0] = '\0';
-	ConfigFileEntry.glines = NO;
 	ConfigFileEntry.use_egd = NO;
 	/* don't reset msglocale setting -- we'd overwrite then env string */
-	ConfigFileEntry.gline_time = 12 * 3600;
+	ConfigFileEntry.gline_time = 72 * 3600;
 	ConfigFileEntry.gline_min_cidr = 16;
 	ConfigFileEntry.gline_min_cidr6 = 48;
 	ConfigFileEntry.idletime = 0;
@@ -1312,16 +1329,17 @@
 	ConfigChannel.use_knock = YES;
 	ConfigChannel.knock_delay = 300;
 	ConfigChannel.knock_delay_channel = 60;
-	ConfigChannel.max_chans_per_user = 15;
-	ConfigChannel.max_bans = 100;
+	ConfigChannel.max_chans_per_user = 20;
+	ConfigChannel.max_bans = 50;
 	ConfigChannel.no_oper_resvs = NO;
-	ConfigChannel.burst_topicwho = NO;
 
 	ConfigChannel.default_split_user_count = 0;
 	ConfigChannel.default_split_server_count = 0;
 	ConfigChannel.default_split_delay = 60;
 	ConfigChannel.no_join_on_split = NO;
 	ConfigChannel.no_create_on_split = YES;
+	ConfigChannel.opers_see_hidden = YES;
+	ConfigChannel.opers_see_topic = YES;
 
 	ConfigServerHide.flatten_links = 0;
 	ConfigServerHide.hide_servers = 0;
@@ -1336,7 +1354,15 @@
 	ConfigFileEntry.client_flood = CLIENT_FLOOD_DEFAULT;
 	ConfigFileEntry.use_help = 0;
 	ConfigFileEntry.tkline_expire_notices = 0;
-
+	ConfigFileEntry.check_clone = YES;
+	ConfigFileEntry.check_clone_delay = 90;
+	ConfigFileEntry.check_clone_limit = 5;
+	ConfigFileEntry.check_clone_period = 30;
+	ConfigFileEntry.inu_hack_passwd = NULL;
+	ConfigFileEntry.inu_server_can_op = NO;
+	ConfigFileEntry.inu_ignore_bans = NO;
+	ConfigFileEntry.inu_serv_can_collide = NO;
+	ConfigFileEntry.jb_serv_can_kick = NO;
 #ifdef IPV6
 	ConfigFileEntry.fallback_to_ip6_int = YES;
 #endif
@@ -2075,6 +2101,7 @@
 		MaxUsers(cltmp) = -1;
 
 	clear_out_address_conf();
+	clear_special_conf(&s_conf);
 	clear_special_conf(&x_conf);
 	clear_special_conf(&u_conf);
 	clear_clusters();
@@ -2441,6 +2468,24 @@
 	{
 		add_conf_by_address(aconf->host, CONF_DLINE, NULL, aconf);
 	}
+}
+
+/*
+ * conf_add_s_conf
+ * inputs       - pointer to config item
+ * output       - NONE
+ * side effects - Add a S line
+ */
+void
+conf_add_s_conf(struct ConfItem *aconf)
+{
+	MyFree(aconf->user);
+	aconf->user = NULL;
+	aconf->name = aconf->host;
+	aconf->host = NULL;
+
+	aconf->next = s_conf;
+	s_conf = aconf;
 }
 
 /*
diff -uNrd ircd-ratbox-1.5-2/src/s_debug.c ircd-rb-FDF6.3a/src/s_debug.c
--- ircd-ratbox-1.5-2/src/s_debug.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_debug.c	Thu Apr  1 15:46:09 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_debug.c,v 7.94.2.4 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_debug.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_gline.c ircd-rb-FDF6.3a/src/s_gline.c
--- ircd-ratbox-1.5-2/src/s_gline.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_gline.c	Thu Apr  1 16:20:52 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_gline.c,v 1.37.4.3 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_gline.c,v 1.3 2004/04/01 21:20:52 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -163,7 +163,6 @@
 
 		{
 			MyFree(glp_ptr->reason1);
-			MyFree(glp_ptr->reason2);
 			MyFree(glp_ptr);
 			dlinkDestroy(pending_node, &pending_glines);
 		}
diff -uNrd ircd-ratbox-1.5-2/src/s_log.c ircd-rb-FDF6.3a/src/s_log.c
--- ircd-ratbox-1.5-2/src/s_log.c	Sun Apr  4 20:29:46 2004
+++ ircd-rb-FDF6.3a/src/s_log.c	Sat Apr 10 18:44:55 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_log.c,v 7.54.2.3 2004/04/05 00:29:46 leeh Exp $
+ *  $Id: s_log.c,v 1.1.1.3 2004/04/10 22:44:55 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_misc.c ircd-rb-FDF6.3a/src/s_misc.c
--- ircd-ratbox-1.5-2/src/s_misc.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_misc.c	Thu Apr  1 15:46:09 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_misc.c,v 7.32.2.2 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_misc.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_serv.c ircd-rb-FDF6.3a/src/s_serv.c
--- ircd-ratbox-1.5-2/src/s_serv.c	Thu Jun 17 14:01:45 2004
+++ ircd-rb-FDF6.3a/src/s_serv.c	Thu Jun 17 18:21:01 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_serv.c,v 7.333.2.12 2004/06/17 18:01:45 androsyn Exp $
+ *  $Id: s_serv.c,v 1.6 2004/06/17 22:21:01 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -95,6 +95,7 @@
 	{ "UNKLN",	CAP_UNKLN },
 	{ "CLUSTER",	CAP_CLUSTER },
 	{ "ENCAP",	CAP_ENCAP },
+	{ "FDF",	CAP_FDF },
 	{ 0, 		0 }
 };
 
diff -uNrd ircd-ratbox-1.5-2/src/s_stats.c ircd-rb-FDF6.3a/src/s_stats.c
--- ircd-ratbox-1.5-2/src/s_stats.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/s_stats.c	Thu Apr  1 15:46:09 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_stats.c,v 7.27.2.2 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: s_stats.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/s_user.c ircd-rb-FDF6.3a/src/s_user.c
--- ircd-ratbox-1.5-2/src/s_user.c	Wed Jun  2 22:32:16 2004
+++ ircd-rb-FDF6.3a/src/s_user.c	Sun Jun  6 01:13:40 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_user.c,v 7.266.2.17 2004/06/03 02:32:16 androsyn Exp $
+ *  $Id: s_user.c,v 1.5 2004/06/06 05:13:40 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -247,6 +247,82 @@
 	return;
 }
 
+ /*
+  *  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
+  */
+static int check_clones(struct Client *client_p, struct ConfItem *aconf)
+{
+	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(client_p->host, (*blscn)->host))) {
+		if ((*blscn)->last + ConfigFileEntry.check_clone_period < CurrentTime) {
+			/* expired; remove */
+			if ((*blscn)->count == -1)
+				sendto_realops_flags(UMODE_ALL, L_ALL, "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 + ConfigFileEntry.check_clone_period < CurrentTime)) {
+			/* not expired */
+			(*blscn)->last = CurrentTime;
+			if ((*blscn)->count == -1)
+				return (-1);
+			else {
+				(*blscn)->count++;
+				if (((*blscn)->count == ConfigFileEntry.check_clone_limit) &&
+				    (!MyConnect(client_p) || !IsConfExemptLimits(aconf))) {
+					sendto_realops_flags(UMODE_ALL, L_ALL,
+							     "Throttling connections from %s.", (*blscn)->host);
+				(*blscn)->count = -1;
+				return (-1);
+				} else
+					return (0);
+			}
+		} else {
+			/* expired */
+			if ((*blscn)->count == -1)
+				sendto_realops_flags(UMODE_ALL, L_ALL, "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(blptr->host, client_p->host, HOSTLEN);
+		blptr->next = backlog;
+		blptr->last = CurrentTime;
+		blptr->count = 1;
+		backlog = blptr;
+		return (0);
+	}
+}
 
 /*
 ** register_local_user
@@ -461,6 +537,17 @@
 	if(IsDead(client_p))
 		return CLIENT_EXITED;
 
+	if (ConfigFileEntry.check_clone)
+	{
+		if (check_clones(source_p, aconf) == -1 &&
+		    me.since + ConfigFileEntry.check_clone_delay < CurrentTime)
+		{
+			ServerStats->is_ref++;
+			return exit_client(client_p, source_p, &me,
+					   "Too many connections from your host -- throttled");
+		}
+	}
+
 	inetntop(source_p->localClient->aftype, &IN_ADDR(source_p->localClient->ip),
 		 ipaddr, HOSTIPLEN);
 	sendto_realops_flags(UMODE_CCONN, L_ALL,
@@ -568,6 +655,11 @@
 		return exit_client(source_p, source_p, &me, "USER server wrong direction");
 
 	}
+
+	if (ConfigFileEntry.check_clone)
+		if (!IsSLine(source_p))
+			check_clones(source_p, NULL);
+
 	/*
 	 * Super GhostDetect:
 	 * If we can't find the server the user is supposed to be on,
@@ -907,7 +999,7 @@
 	 * put them back using new sendto() funcs
 	 */
 
-	if(IsServer(source_p))
+	if(IsServer(source_p) && !IsSLine(source_p))
 	{
 		sendto_realops_flags(UMODE_ALL, L_ADMIN, "*** Mode for User %s from %s",
 				     parv[1], source_p->name);
diff -uNrd ircd-ratbox-1.5-2/src/scache.c ircd-rb-FDF6.3a/src/scache.c
--- ircd-ratbox-1.5-2/src/scache.c	Mon Mar 15 13:19:56 2004
+++ ircd-rb-FDF6.3a/src/scache.c	Thu Apr  1 15:46:09 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: scache.c,v 7.22.2.2 2004/03/15 18:19:56 leeh Exp $
+ *  $Id: scache.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/send.c ircd-rb-FDF6.3a/src/send.c
--- ircd-ratbox-1.5-2/src/send.c	Sun Apr  4 20:29:46 2004
+++ ircd-rb-FDF6.3a/src/send.c	Sat Apr 10 18:52:32 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: send.c,v 7.246.2.12 2004/04/05 00:29:46 leeh Exp $
+ *  $Id: send.c,v 1.5 2004/04/10 22:52:32 jailbird Exp $
  */
 
 #include "stdinc.h"
@@ -59,55 +59,6 @@
 unsigned long current_serial = 0L;
 
 /*
- * send_trim
- *
- * inputs	- pointer to buffer to trim
- *		- length of buffer
- * output	- new length of buffer if modified otherwise original len
- * side effects	- input buffer is trimmed if needed
- */
-static inline int
-send_trim(char *lsendbuf, int len)
-{
-	/*
-	 * from rfc1459
-	 *
-	 * IRC messages are always lines of characters terminated with a CR-LF
-	 * (Carriage Return - Line Feed) pair, and these messages shall not
-	 * exceed 512 characters in length,  counting all characters 
-	 * including the trailing CR-LF.
-	 * Thus, there are 510 characters maximum allowed
-	 * for the command and its parameters.  There is no provision for
-	 * continuation message lines.  See section 7 for more details about
-	 * current implementations.
-	 */
-
-	/*
-	 * We have to get a \r\n\0 onto sendbuf[] somehow to satisfy
-	 * the rfc. We must assume sendbuf[] is defined to be 513
-	 * bytes - a maximum of 510 characters, the CR-LF pair, and
-	 * a trailing \0, as stated in the rfc. Now, if len is greater
-	 * than the third-to-last slot in the buffer, an overflow will
-	 * occur if we try to add three more bytes, if it has not
-	 * already occured. In that case, simply set the last three
-	 * bytes of the buffer to \r\n\0. Otherwise, we're ok. My goal
-	 * is to get some sort of vsnprintf() function operational
-	 * for this routine, so we never again have a possibility
-	 * of an overflow.
-	 * -wnder
-	 */
-
-	if(len > 510)
-	{
-		lsendbuf[IRCD_BUFSIZE - 2] = '\r';
-		lsendbuf[IRCD_BUFSIZE - 1] = '\n';
-		lsendbuf[IRCD_BUFSIZE] = '\0';
-		return (IRCD_BUFSIZE);
-	}
-	return len;
-}
-
-/*
  * send_format
  *
  * inputs	- buffer to format into
@@ -376,6 +327,9 @@
 {
 	va_list args;
 	buf_head_t linebuf;
+
+	if (pattern == NULL)
+		return;
 
 	if(IsDead(to))
 		return;		/* This socket has already been marked as dead */
diff -uNrd ircd-ratbox-1.5-2/src/snprintf.c ircd-rb-FDF6.3a/src/snprintf.c
--- ircd-ratbox-1.5-2/src/snprintf.c	Mon Mar 15 13:19:57 2004
+++ ircd-rb-FDF6.3a/src/snprintf.c	Thu Apr  1 15:46:09 2004
@@ -23,7 +23,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: snprintf.c,v 1.10.4.2 2004/03/15 18:19:57 leeh Exp $
+ *  $Id: snprintf.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 /**************************************************************
diff -uNrd ircd-ratbox-1.5-2/src/sprintf_irc.c ircd-rb-FDF6.3a/src/sprintf_irc.c
--- ircd-ratbox-1.5-2/src/sprintf_irc.c	Mon Mar 15 13:19:57 2004
+++ ircd-rb-FDF6.3a/src/sprintf_irc.c	Thu Apr  1 15:46:09 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: sprintf_irc.c,v 7.22.4.2 2004/03/15 18:19:57 leeh Exp $
+ *  $Id: sprintf_irc.c,v 1.1.1.2 2004/04/01 20:46:09 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/src/tools.c ircd-rb-FDF6.3a/src/tools.c
--- ircd-ratbox-1.5-2/src/tools.c	Wed May 19 19:19:32 2004
+++ ircd-rb-FDF6.3a/src/tools.c	Mon May 31 00:02:28 2004
@@ -20,7 +20,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: tools.c,v 7.38.2.5 2004/05/19 23:19:32 leeh Exp $
+ *  $Id: tools.c,v 1.3 2004/05/31 04:02:28 jailbird Exp $
  *
  *  Here is the original header:
  *
diff -uNrd ircd-ratbox-1.5-2/src/version.c.SH ircd-rb-FDF6.3a/src/version.c.SH
--- ircd-ratbox-1.5-2/src/version.c.SH	Sun Jul  6 11:01:03 2003
+++ ircd-rb-FDF6.3a/src/version.c.SH	Mon Jan 19 22:26:04 2004
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: version.c.SH,v 7.25.4.2 2003/07/06 15:01:03 leeh Exp $ 
+# $Id: version.c.SH,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $ 
 
 spitshell=cat
 package=IRC
diff -uNrd ircd-ratbox-1.5-2/src/version.com ircd-rb-FDF6.3a/src/version.com
--- ircd-ratbox-1.5-2/src/version.com	Thu Jun 26 10:03:21 2003
+++ ircd-rb-FDF6.3a/src/version.com	Mon Jan 19 22:26:04 2004
@@ -1,5 +1,5 @@
 $!
-$! $Id: version.com,v 7.5.2.1 2003/06/26 14:03:21 androsyn Exp $
+$! $Id: version.com,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 $! VERSION.COM
 $! Written By:  Robert Alan Byer
 $!              byer@mail.ourservers.net
diff -uNrd ircd-ratbox-1.5-2/src/whowas.c ircd-rb-FDF6.3a/src/whowas.c
--- ircd-ratbox-1.5-2/src/whowas.c	Mon Mar 15 13:19:57 2004
+++ ircd-rb-FDF6.3a/src/whowas.c	Thu Apr  1 15:46:10 2004
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: whowas.c,v 7.27.2.2 2004/03/15 18:19:57 leeh Exp $
+ *  $Id: whowas.c,v 1.1.1.2 2004/04/01 20:46:10 jailbird Exp $
  */
 
 #include "stdinc.h"
diff -uNrd ircd-ratbox-1.5-2/tools/.cvsignore ircd-rb-FDF6.3a/tools/.cvsignore
--- ircd-ratbox-1.5-2/tools/.cvsignore	Wed Apr 10 16:17:38 2002
+++ ircd-rb-FDF6.3a/tools/.cvsignore	Mon Feb  9 17:22:57 2004
@@ -1,8 +1,7 @@
 Makefile
-mkpasswd
-viconf
 convertconf
-fixklines
+convertilines
 convertklines
 encspeed
-convertilines
\ No newline at end of file
+mkpasswd
+viconf
diff -uNrd ircd-ratbox-1.5-2/tools/Makefile.in ircd-rb-FDF6.3a/tools/Makefile.in
--- ircd-ratbox-1.5-2/tools/Makefile.in	Thu Jul 11 19:40:27 2002
+++ ircd-rb-FDF6.3a/tools/Makefile.in	Mon Jan 19 22:26:04 2004
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 7.32 2002/07/11 23:40:27 leeh Exp $
+# $Id: Makefile.in,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 
 CC		= @CC@
 INSTALL		= @INSTALL@
diff -uNrd ircd-ratbox-1.5-2/tools/README ircd-rb-FDF6.3a/tools/README
--- ircd-ratbox-1.5-2/tools/README	Tue Apr 30 08:45:01 2002
+++ ircd-rb-FDF6.3a/tools/README	Mon Jan 19 22:26:04 2004
@@ -1,4 +1,4 @@
-$Id: README,v 7.10 2002/04/30 12:45:01 leeh Exp $
+$Id: README,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 
 A directory of support programs for ircd.
 
diff -uNrd ircd-ratbox-1.5-2/tools/README.mkpasswd ircd-rb-FDF6.3a/tools/README.mkpasswd
--- ircd-ratbox-1.5-2/tools/README.mkpasswd	Sun Oct 20 12:54:25 2002
+++ ircd-rb-FDF6.3a/tools/README.mkpasswd	Mon Jan 19 22:26:04 2004
@@ -1,5 +1,5 @@
 mkpasswd.c documentation
-$Id: README.mkpasswd,v 1.6 2002/10/20 16:54:25 leeh Exp $
+$Id: README.mkpasswd,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 
 This is documentation for the updated mkpasswd.c included with a number
 of ircd, irc services, and non-IRC related programs
diff -uNrd ircd-ratbox-1.5-2/tools/convertconf.c ircd-rb-FDF6.3a/tools/convertconf.c
--- ircd-ratbox-1.5-2/tools/convertconf.c	Fri Aug  8 14:42:19 2003
+++ ircd-rb-FDF6.3a/tools/convertconf.c	Sun Jan 25 22:49:30 2004
@@ -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: convertconf.c,v 1.41.6.2 2003/08/08 18:42:19 androsyn Exp $
+ * $Id: convertconf.c,v 1.2 2004/01/26 03:49:30 jailbird Exp $
  */
 
 #include <stdio.h>
@@ -479,6 +479,14 @@
         } 
      if(passwd_field)
 	fprintf(out,"\treason=\"%s\";\n", passwd_field);
+      fprintf(out,"};\n\n");
+      break;
+
+    case 'S': /* service */
+    case 's': 
+      fprintf(out,"service {\n");
+      if(host_field)
+	fprintf(out,"\tname=\"%s\";\n", host_field);
       fprintf(out,"};\n\n");
       break;
 
diff -uNrd ircd-ratbox-1.5-2/tools/convertilines.c ircd-rb-FDF6.3a/tools/convertilines.c
--- ircd-ratbox-1.5-2/tools/convertilines.c	Thu Jun 26 10:03:55 2003
+++ ircd-rb-FDF6.3a/tools/convertilines.c	Mon Jan 19 22:26:04 2004
@@ -25,7 +25,7 @@
  *  IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  *  POSSIBILITY OF SUCH DAMAGE.
  *
- * $Id: convertilines.c,v 7.5.6.1 2003/06/26 14:03:55 androsyn Exp $
+ * $Id: convertilines.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
  */
 
 #include <stdio.h>
diff -uNrd ircd-ratbox-1.5-2/tools/convertklines.c ircd-rb-FDF6.3a/tools/convertklines.c
--- ircd-ratbox-1.5-2/tools/convertklines.c	Thu Jun 26 10:03:55 2003
+++ ircd-rb-FDF6.3a/tools/convertklines.c	Mon Jan 19 22:26:04 2004
@@ -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: convertklines.c,v 7.7.6.1 2003/06/26 14:03:55 androsyn Exp $
+ * $Id: convertklines.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
  */
 
 #include <stdio.h>
diff -uNrd ircd-ratbox-1.5-2/tools/descrip.mms ircd-rb-FDF6.3a/tools/descrip.mms
--- ircd-ratbox-1.5-2/tools/descrip.mms	Thu Jun 26 10:03:55 2003
+++ ircd-rb-FDF6.3a/tools/descrip.mms	Mon Jan 19 22:26:04 2004
@@ -1,6 +1,6 @@
 # MMS/MMK Makefile for OpenVMS
 # Copyright (c) 2001 Edward Brocklesby
-# $Id: descrip.mms,v 7.6.2.1 2003/06/26 14:03:55 androsyn Exp $
+# $Id: descrip.mms,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 
 CC=	CC
 CFLAGS=	/STANDARD=ISOC94
diff -uNrd ircd-ratbox-1.5-2/tools/encspeed.c ircd-rb-FDF6.3a/tools/encspeed.c
--- ircd-ratbox-1.5-2/tools/encspeed.c	Thu Jun 26 10:03:55 2003
+++ ircd-rb-FDF6.3a/tools/encspeed.c	Mon Jan 19 22:26:04 2004
@@ -2,7 +2,7 @@
  * encspeed.c - originally written by einride
  *            - modified for ircd-hybrid-7 by davidt
  *
- * $Id: encspeed.c,v 7.7.2.1 2003/06/26 14:03:55 androsyn Exp $
+ * $Id: encspeed.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
  */
 
 #include "../include/setup.h"
diff -uNrd ircd-ratbox-1.5-2/tools/mkpasswd.c ircd-rb-FDF6.3a/tools/mkpasswd.c
--- ircd-ratbox-1.5-2/tools/mkpasswd.c	Tue Oct 22 16:02:33 2002
+++ ircd-rb-FDF6.3a/tools/mkpasswd.c	Mon Jan 19 22:26:04 2004
@@ -9,7 +9,7 @@
 ** /dev/random for salt generation added by 
 ** Aaron Sethman <androsyn@ratbox.org>
 **
-** $Id: mkpasswd.c,v 7.13 2002/10/22 20:02:33 androsyn Exp $
+** $Id: mkpasswd.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 */
 #include <stdio.h>
 #include <string.h>
diff -uNrd ircd-ratbox-1.5-2/tools/mkpasswd_vms.c ircd-rb-FDF6.3a/tools/mkpasswd_vms.c
--- ircd-ratbox-1.5-2/tools/mkpasswd_vms.c	Sun Oct 20 12:54:25 2002
+++ ircd-rb-FDF6.3a/tools/mkpasswd_vms.c	Mon Jan 19 22:26:04 2004
@@ -9,7 +9,7 @@
 ** VMS support by Edward Brocklesby, crypt.c implementation
 ** phk@login.dknet.dk
 **
-** $Id: mkpasswd_vms.c,v 7.1 2002/10/20 16:54:25 leeh Exp $
+** $Id: mkpasswd_vms.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 */
 #include <stdio.h>
 #include <string.h>
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/Makefile ircd-rb-FDF6.3a/tools/rsa_respond/Makefile
--- ircd-ratbox-1.5-2/tools/rsa_respond/Makefile	Thu Oct 25 01:21:13 2001
+++ ircd-rb-FDF6.3a/tools/rsa_respond/Makefile	Mon Jan 19 22:26:04 2004
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.7 2001/10/25 05:21:13 wcampbel Exp $
+# $Id: Makefile,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 
 all: respond
 
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/README ircd-rb-FDF6.3a/tools/rsa_respond/README
--- ircd-ratbox-1.5-2/tools/rsa_respond/README	Thu Oct 25 01:21:13 2001
+++ ircd-rb-FDF6.3a/tools/rsa_respond/README	Mon Jan 19 22:26:04 2004
@@ -28,4 +28,4 @@
 genkey and respond compile properly, and have been tested on FreeBSD 4.x,
 Linux glibc, and Cygwin 1.2 or higher.
 
-# $Id: README,v 1.6 2001/10/25 05:21:13 wcampbel Exp $
+# $Id: README,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/challenge.irc ircd-rb-FDF6.3a/tools/rsa_respond/challenge.irc
--- ircd-ratbox-1.5-2/tools/rsa_respond/challenge.irc	Mon Mar 15 15:17:26 2004
+++ ircd-rb-FDF6.3a/tools/rsa_respond/challenge.irc	Thu Apr  1 15:46:10 2004
@@ -1,5 +1,5 @@
 /******************************************************************************\
-$Id: challenge.irc,v 1.1.2.2 2004/03/15 20:17:26 androsyn Exp $
+$Id: challenge.irc,v 1.1.1.2 2004/04/01 20:46:10 jailbird Exp $
 
 	CHALLENGE.IRC
 
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/challenge.pl ircd-rb-FDF6.3a/tools/rsa_respond/challenge.pl
--- ircd-ratbox-1.5-2/tools/rsa_respond/challenge.pl	Wed Mar 24 20:19:03 2004
+++ ircd-rb-FDF6.3a/tools/rsa_respond/challenge.pl	Thu Apr  1 15:46:10 2004
@@ -1,5 +1,5 @@
 #!/usr/local/bin/perl -w
-# $Id: challenge.pl,v 1.1.2.1 2004/03/25 01:19:03 androsyn Exp $
+# $Id: challenge.pl,v 1.1.1.1 2004/04/01 20:46:10 jailbird Exp $
 #
 use strict;
 use vars qw($VERSION %IRSSI);
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/respond.c ircd-rb-FDF6.3a/tools/rsa_respond/respond.c
--- ircd-ratbox-1.5-2/tools/rsa_respond/respond.c	Wed Oct 24 01:26:07 2001
+++ ircd-rb-FDF6.3a/tools/rsa_respond/respond.c	Mon Jan 19 22:26:04 2004
@@ -17,7 +17,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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *  $Id: respond.c,v 1.6 2001/10/24 05:26:07 androsyn Exp $
+ *  $Id: respond.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
  */
 #include <stdio.h>
 #include <openssl/err.h>
diff -uNrd ircd-ratbox-1.5-2/tools/rsa_respond/rsa_respond-insecure.diff ircd-rb-FDF6.3a/tools/rsa_respond/rsa_respond-insecure.diff
--- ircd-ratbox-1.5-2/tools/rsa_respond/rsa_respond-insecure.diff	Fri Sep 20 06:29:51 2002
+++ ircd-rb-FDF6.3a/tools/rsa_respond/rsa_respond-insecure.diff	Mon Jan 19 22:26:04 2004
@@ -40,7 +40,7 @@
 +respond compiles properly, and have been tested on FreeBSD 4.x, Linux glibc,
 +Solaris 8, and Cygwin 1.2 or higher.
  
- # $Id: rsa_respond-insecure.diff,v 1.1 2002/09/20 10:29:51 leeh Exp $
+ # $Id: rsa_respond-insecure.diff,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
 diff -uNrd rsa_respond.dist/respond.c rsa_respond/respond.c
 --- rsa_respond.dist/respond.c	Mon Sep 16 08:36:35 2002
 +++ rsa_respond/respond.c	Mon Sep 16 08:47:48 2002
diff -uNrd ircd-ratbox-1.5-2/tools/viconf.c ircd-rb-FDF6.3a/tools/viconf.c
--- ircd-ratbox-1.5-2/tools/viconf.c	Thu Jun 26 10:03:55 2003
+++ ircd-rb-FDF6.3a/tools/viconf.c	Mon Jan 19 22:26:04 2004
@@ -1,7 +1,7 @@
 /*
  * viconf.c
  *
- * $Id: viconf.c,v 7.6.6.1 2003/06/26 14:03:55 androsyn Exp $
+ * $Id: viconf.c,v 1.1.1.1 2004/01/20 03:26:04 jailbird Exp $
  */
 #include <stdio.h>
 #include <unistd.h>
