diff -uNrd -x ChangeLog ircd-hybrid-6.3/Makefile.in xircd/Makefile.in
--- ircd-hybrid-6.3/Makefile.in	Thu Dec  6 23:13:18 2001
+++ xircd/Makefile.in	Sat Apr 13 13:12:09 2002
@@ -16,13 +16,13 @@
 #*   along with this program; if not, write to the Free Software
 #*   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #*
-#*   $Id: Makefile.in,v 1.22 2001/12/07 04:13:18 jdc Exp $
+#*   $Id: Makefile.in,v 1.2 2002/04/13 17:12:09 icedruid Exp $
 #*/
 
 RM=@RM@
 
 # Default CFLAGS
-CFLAGS = -g -O2 -DNDEBUG
+CFLAGS = -g -O2 -DNDEBUG -DDPATH=\"@prefix@/\"
 
 # Default make flags - you may want to uncomment this on a multicpu machine
 #MFLAGS = -j 4
diff -uNrd -x ChangeLog ircd-hybrid-6.3/Xnet-team xircd/Xnet-team
--- ircd-hybrid-6.3/Xnet-team	Wed Dec 31 19:00:00 1969
+++ xircd/Xnet-team	Wed Apr 10 18:57:12 2002
@@ -0,0 +1,3 @@
+$Id: Xnet-team,v 1.3 2002/04/10 22:57:12 reddawg Exp $
+
+We Are Family
diff -uNrd -x ChangeLog ircd-hybrid-6.3/configure xircd/configure
--- ircd-hybrid-6.3/configure	Sun Jan 27 23:36:49 2002
+++ xircd/configure	Sat Apr 13 13:12:09 2002
@@ -2615,7 +2615,7 @@
 
 cat >> $CONFIG_STATUS <<EOF
 
-CONFIG_FILES=\${CONFIG_FILES-"Makefile adns/Makefile src/Makefile tools/Makefile"}
+CONFIG_FILES=\${CONFIG_FILES-"Makefile adns/Makefile src/Makefile tools/Makefile tools/install_ircd"}
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/channel.h xircd/include/channel.h
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/config.h xircd/include/config.h
--- ircd-hybrid-6.3/include/config.h	Sun Feb 17 00:58:09 2002
+++ xircd/include/config.h	Fri May 24 16:28:21 2002
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: config.h,v 1.153 2002/02/17 05:58:09 lusky Exp $
+ * $Id: config.h,v 1.5 2002/05/24 20:28:21 reddawg Exp $
  */
 #ifndef INCLUDED_config_h
 #define INCLUDED_config_h
@@ -100,8 +100,7 @@
  *
  */
 
-#define DPATH   "/usr/local/ircd/"
-#define SPATH   "/usr/local/ircd/ircd"
+#define SPATH   "ircd"
 #define CPATH   "ircd.conf"
 #define KPATH   "kline.conf"
 #define DLPATH  "kline.conf"
@@ -148,12 +147,12 @@
 /* NETWORK_NAME
  * Displayed in place of the servername when SERVERHIDE is enabled
  */
-#define NETWORK_NAME "EFnet"
+#define NETWORK_NAME "Xnet"
 
 /* NETWORK_DESC
  * Displayed in place of the server info when SERVERHIDE is enabled
  */
-#define NETWORK_DESC "Eris Free Network"
+#define NETWORK_DESC "Xnet IRC Network"
 
 
 /* TS_MAX_DELTA and TS_WARN_DELTA -  allowed delta for TS when another
@@ -208,8 +207,8 @@
  *
  * These need to be defined if you want to use SYSLOG logging, too.
  */
-#define FNAME_USERLOG "/usr/local/ircd/users"
-#define FNAME_OPERLOG "/usr/local/ircd/opers"
+#define FNAME_USERLOG DPATH "/users"
+#define FNAME_OPERLOG DPATH "/opers"
 
 /* RFC1035_ANAL
  * Defining this causes ircd to reject hostnames with non-compliant chars.
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/config.h.dist xircd/include/config.h.dist
--- ircd-hybrid-6.3/include/config.h.dist	Sun Feb 17 00:58:09 2002
+++ xircd/include/config.h.dist	Thu Apr 11 00:57:24 2002
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: config.h.dist,v 1.132 2002/02/17 05:58:09 lusky Exp $
+ * $Id: config.h.dist,v 1.2 2002/04/11 04:57:24 reddawg Exp $
  */
 #ifndef INCLUDED_config_h
 #define INCLUDED_config_h
@@ -100,8 +100,8 @@
  *
  */
 
-#define DPATH   "/usr/local/ircd/"
-#define SPATH   "/usr/local/ircd/ircd"
+#define DPATH   "/home/xnet/ircd/"
+#define SPATH   "/home/xnet/ircd/ircd"
 #define CPATH   "ircd.conf"
 #define KPATH   "kline.conf"
 #define DLPATH  "kline.conf"
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/ircd_defs.h xircd/include/ircd_defs.h
--- ircd-hybrid-6.3/include/ircd_defs.h	Sun Feb 17 00:58:09 2002
+++ xircd/include/ircd_defs.h	Fri May 24 16:28:22 2002
@@ -17,7 +17,7 @@
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
  *
- * $Id: ircd_defs.h,v 1.11 2002/02/17 05:58:09 lusky Exp $
+ * $Id: ircd_defs.h,v 1.2 2002/05/24 20:28:22 reddawg Exp $
  *
  * ircd_defs.h - Global size definitions for record entries used
  * througout ircd. Please think 3 times before adding anything to this
@@ -35,14 +35,14 @@
 #define HOSTLEN         63      /* Length of hostname.  Updated to         */
                                 /* comply with RFC1123                     */
 
-#define NICKLEN         9       /* Necessary to put 9 here instead of 10
+#define NICKLEN         16       /* Necessary to put 9 here instead of 10
                                  * if s_msg.c/m_nick has been corrected.
                                  * This preserves compatibility with old
                                  * servers --msa
                                  */
 #define USERLEN         10
 #define REALLEN         50
-#define TOPICLEN        120     /* old value 90, truncated on other servers */
+#define TOPICLEN        170     /* old value 90, truncated on other servers */
 #define KILLLEN         90      
 #define CHANNELLEN      200
 #define KEYLEN          23
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/m_commands.h xircd/include/m_commands.h
--- ircd-hybrid-6.3/include/m_commands.h	Thu Nov 29 01:28:23 2001
+++ xircd/include/m_commands.h	Wed Apr 10 18:04:05 2002
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: m_commands.h,v 1.7 2001/11/29 06:28:23 db Exp $
+ * $Id: m_commands.h,v 1.2 2002/04/10 22:04:05 reddawg Exp $
  */
 #ifndef INCLUDED_m_commands_h
 #define INCLUDED_m_commands_h
@@ -99,4 +99,5 @@
 extern int m_dns(struct Client *,struct Client *,int,char **);
 extern int m_htm(struct Client *,struct Client *,int,char **);
 extern int m_set(struct Client *,struct Client *,int,char **);
+extern int m_map(struct Client *,struct Client *,int,char **); //added by Ubu
 #endif /* INCLUDED_m_commands_h */
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/msg.h xircd/include/msg.h
--- ircd-hybrid-6.3/include/msg.h	Fri Dec  7 21:38:15 2001
+++ xircd/include/msg.h	Wed Apr 10 18:01:59 2002
@@ -17,7 +17,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: msg.h,v 1.22 2001/12/08 02:38:15 db Exp $
+ * $Id: msg.h,v 1.3 2002/04/10 22:01:59 reddawg Exp $
  */
 #ifndef INCLUDED_msg_h
 #define INCLUDED_msg_h
@@ -118,6 +118,7 @@
 #define MSG_UNDLINE  "UNDLINE"  /* UNDLINE */
 #define MSG_HTM      "HTM"      /* HTM */
 #define MSG_SET      "SET"      /* SET */
+#define MSG_MAP	     "MAP"	/* MAP Added By Ubu */
 
 #define MSG_GLINE    "GLINE"    /* GLINE */
 #define MSG_UNGLINE  "UNGLINE"  /* UNGLINE */
@@ -252,6 +253,7 @@
   { MSG_DIE, m_die,          0, MAXPARA, 1, 0, 0, 0L },
   { MSG_HTM,    m_htm,       0, MAXPARA, 1, 0, 0, 0L },
   { MSG_SET,    m_set,       0, MAXPARA, 1, 0, 0, 0L },
+  { MSG_MAP,	m_map,       0, MAXPARA, 1, 0, 0, 0L }, //Added By Ubu
   { MSG_TESTLINE,       m_testline,          0, MAXPARA, 1, 0, 0, 0L },
   { (char *) 0, (int (*)()) 0 , 0, 0,    0, 0, 0, 0L }
 };
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/numeric.h xircd/include/numeric.h
--- ircd-hybrid-6.3/include/numeric.h	Thu Dec 13 18:16:34 2001
+++ xircd/include/numeric.h	Wed Apr 10 18:43:00 2002
@@ -16,7 +16,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: numeric.h,v 1.20 2001/12/13 23:16:34 leeh Exp $
+ * $Id: numeric.h,v 1.6 2002/04/10 22:43:00 reddawg Exp $
  */
 #ifndef INCLUDED_numeric_h
 #define INCLUDED_numeric_h
@@ -141,6 +141,9 @@
 #define RPL_CREATED          003
 #define RPL_MYINFO           004
 #define RPL_ISUPPORT         005
+#define RPL_MAP              15
+#define RPL_MAPMORE	     16 // Ubu
+#define RPL_MAPEND	     17 // Ubu
 
 /*
  * Numeric replies from server commands.
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/patchlevel.h xircd/include/patchlevel.h
--- ircd-hybrid-6.3/include/patchlevel.h	Sun Feb 17 13:28:29 2002
+++ xircd/include/patchlevel.h	Fri May 24 16:28:22 2002
@@ -15,9 +15,9 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: patchlevel.h,v 1.151 2002/02/17 18:28:29 lusky Exp $
+ * $Id: patchlevel.h,v 1.3 2002/05/24 20:28:22 reddawg Exp $
  */
 
 #ifndef PATCHLEVEL
-#define PATCHLEVEL    "2.8/hybrid-6.3"
+#define PATCHLEVEL    "xircd-1.1.1"
 #endif
diff -uNrd -x ChangeLog ircd-hybrid-6.3/include/s_zip.h xircd/include/s_zip.h
--- ircd-hybrid-6.3/include/s_zip.h	Thu Dec  6 23:13:27 2001
+++ xircd/include/s_zip.h	Fri Apr 19 08:12:45 2002
@@ -19,7 +19,7 @@
  *
  * "s_zip.h". - Headers file.
  *
- * $Id: s_zip.h,v 1.3 2001/12/07 04:13:27 jdc Exp $
+ * $Id: s_zip.h,v 1.2 2002/04/19 12:12:45 clive Exp $
  *
  */
 #ifndef INCLUDED_s_zip_h
@@ -27,7 +27,10 @@
 #ifndef INCLUDED_config_h
 #include "config.h"       /* config settings */
 #endif
+
+#ifdef ZIP_LINKS          /* ifdef wrapper added by entro-p 2002-02-19 */
 #include <zlib.h>         /* z_stream */
+#endif
 
 struct Client;
 
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/Makefile.in xircd/src/Makefile.in
--- ircd-hybrid-6.3/src/Makefile.in	Thu Dec  6 23:13:29 2001
+++ xircd/src/Makefile.in	Wed Apr 10 17:51:44 2002
@@ -1,7 +1,7 @@
 #
 # Makefile.in for ircd/src
 #
-# $Id: Makefile.in,v 1.70 2001/12/07 04:13:29 jdc Exp $
+# $Id: Makefile.in,v 1.2 2002/04/10 21:51:44 reddawg Exp $
 CC = @CC@
 RM = @RM@
 MKDEP = ${CC} -MM
@@ -53,6 +53,7 @@
 	m_lusers.c \
 	m_message.c \
 	m_mode.c \
+        m_map.c \
 	m_operwall.c \
 	m_oper.c \
 	m_pass.c \
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/m_map.c xircd/src/m_map.c
--- ircd-hybrid-6.3/src/m_map.c	Wed Dec 31 19:00:00 1969
+++ xircd/src/m_map.c	Sat Apr 13 10:26:43 2002
@@ -0,0 +1,127 @@
+/************************************************************************
+ *   IRC - Internet Relay Chat, contrib/m_map.c
+ *   Copyright (C) 1990 Jarkko Oikarinen and
+ *                      University of Oulu, Computing Center
+ *
+ *   See file AUTHORS in IRC package for additional names of
+ *   the programmers. 
+ *
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 1, or (at your option)
+ *   any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *   $Id: m_map.c,v 1.13 2002/04/13 14:26:43 reddawg Exp $
+ */
+
+#include <assert.h>
+#include "ircd.h"
+#include "config.h"
+#include "client.h"
+#include "numeric.h"
+#include "send.h"
+#include "s_conf.h"
+
+#define USER_COL       50 /* display | Users: %d at col 50 */
+
+static char buf[BUFSIZE];
+
+static void dump_map(struct Client *cptr,struct Client *root_p, char *pbuf);
+
+/* m_map
+**	parv[0] = sender prefix
+*/
+
+int m_map(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) {
+  dump_map(cptr,&me,buf);
+  sendto_one(cptr, form_str(RPL_MAPEND), me.name, cptr->name);
+  return;
+  return;
+  }
+
+/*
+** mo_map
+**      parv[0] = sender prefix
+*/
+static void mo_map(struct Client *cptr, struct Client *sptr,
+                    int parc, char *parv[])
+{
+  dump_map(cptr,&me,buf);
+  sendto_one(cptr, form_str(RPL_MAPEND), me.name, cptr->name);
+}
+
+/*
+** dump_map
+**   dumps server map, called recursively.
+*/
+static void dump_map(struct Client *cptr,struct Client *root_p, char *pbuf)
+{
+  int cnt = 0, i = 0, len;
+  int users = 0;
+  struct Client *server_p,*user_p;
+        
+  *pbuf= '\0';
+       
+  strncat(pbuf,root_p->name,BUFSIZE - ((size_t) pbuf - (size_t) buf));
+  len = strlen(buf);
+  buf[len] = ' ';
+	
+  if (len < USER_COL)
+  {
+     for (i = len+1; i < USER_COL; i++)
+     {
+       buf[i] = ' ';
+     }
+  }
+	
+  /* FIXME: add serv->usercnt */
+  for( user_p = root_p->serv->users; user_p; user_p = user_p->lnext )
+    users++;
+  snprintf(buf + USER_COL, BUFSIZE - USER_COL,
+           " Users: %5d (%4.1f%%)", users,
+           100 * (float) users / (float) Count.total);
+        
+  sendto_one(cptr, form_str(RPL_MAP),me.name,cptr->name,buf);
+        
+  if ((server_p = root_p->serv->servers))
+  {
+    for (; server_p; server_p = server_p->lnext)
+    {
+      cnt++;
+    }
+    
+    if (cnt)
+    {
+      if (pbuf > buf + 3)
+      {
+        pbuf[-2] = ' ';
+        if (pbuf[-3] == '`')
+          pbuf[-3] = ' ';
+      }
+    }
+  }
+  for (i = 1,server_p = root_p->serv->servers; server_p; server_p=server_p->lnext)
+  {
+    *pbuf = ' ';
+    if (i < cnt)
+      *(pbuf + 1) = '|';
+    else
+      *(pbuf + 1) = '`';
+      
+    *(pbuf + 2) = '-';
+    *(pbuf + 3) = ' ';
+    dump_map(cptr,server_p,pbuf+4);
+ 
+    i++;
+   }
+}
+
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/messages.tab xircd/src/messages.tab
--- ircd-hybrid-6.3/src/messages.tab	Sat Dec 29 22:25:48 2001
+++ xircd/src/messages.tab	Wed Apr 10 18:48:15 2002
@@ -19,7 +19,7 @@
  *
  *      I kind of modernized this code a bit. -Dianora
  *
- *   $Id: messages.tab,v 1.24 2001/12/30 03:25:48 lusky Exp $
+ *   $Id: messages.tab,v 1.2 2002/04/10 22:48:15 reddawg Exp $
  */
 
 static  char *  replies[] = {
@@ -38,9 +38,9 @@
 /* 012 */       NULL,
 /* 013 */       NULL,
 /* 014 */       NULL,
-/* 015 */       NULL,
+/* 015 */       ":%s 015 %s :%s",
 /* 016 */       NULL,
-/* 017 */       NULL,
+/* 017 */       ":%s 017 %s :End of /MAP",
 /* 018 */       NULL,
 /* 019 */       NULL,
 /* 020 */       NULL,
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/s_conf.c xircd/src/s_conf.c
--- ircd-hybrid-6.3/src/s_conf.c	Sun Feb 17 00:58:13 2002
+++ xircd/src/s_conf.c	Sat Apr 13 19:50:12 2002
@@ -19,7 +19,7 @@
  *
  *  (C) 1988 University of Oulu,Computing Center and Jarkko Oikarinen"
  *
- *  $Id: s_conf.c,v 1.236 2002/02/17 05:58:13 lusky Exp $
+ *  $Id: s_conf.c,v 1.2 2002/04/13 23:50:12 icedruid Exp $
  */
 #include "m_commands.h"
 #include "s_conf.h"
@@ -404,6 +404,7 @@
  * -3 = I-line is full
  * -4 = Too many connections from hostname
  * -5 = K-lined
+ * -6 = Excessive clones
  * also updates reason if a K-line
  *
  */
@@ -530,6 +531,30 @@
   IP_ENTRY *ip_found;
 
   /* if LIMIT_UH is set, limit clients by idented usernames not by ip */
+
+	/* Check if the I:line has a global user limit in place. - Allanon */
+	if (aconf->port > 0)
+	{
+		aClient *acptr;
+		unsigned count = 1;
+
+		for (acptr = GlobalClientList; acptr; acptr = acptr->next)
+		{
+			if (!IsRegisteredUser(acptr))
+				continue;
+		
+			/*
+			 * Do a hostname compare (as registered) to check for clones.
+			 * This will allow us to support multiple vanity hosts from
+			 * the same IP (if so desired). - Allanon
+			 */
+			if (!irccmp(cptr->host, acptr->host))
+				count++;
+		}
+
+		if (count > aconf->port)
+	        return -6;		
+	}
 
   ip_found = find_or_add_ip(cptr, username);
 
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/s_user.c xircd/src/s_user.c
--- ircd-hybrid-6.3/src/s_user.c	Wed Jan 23 13:39:08 2002
+++ xircd/src/s_user.c	Sat Apr 13 19:50:12 2002
@@ -20,7 +20,7 @@
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- *  $Id: s_user.c,v 1.248 2002/01/23 18:39:08 androsyn Exp $
+ *  $Id: s_user.c,v 1.2 2002/04/13 23:50:12 icedruid Exp $
  */
 #include "m_commands.h"
 #include "s_user.h"
@@ -532,6 +532,7 @@
 #define I_LINE_FULL     (-3)
 #define I_LINE_FULL2    (-4)
 #define BANNED_CLIENT   (-5)
+#define I_LINE_CLONES   (-6)
 
   if (MyConnect(sptr))
     {
@@ -552,6 +553,16 @@
           return exit_client(cptr, sptr, &me, 
                  "No more connections allowed in your connection class" );
           break;
+
+	case I_LINE_CLONES:
+          sendto_realops_flags(FLAGS_FULL, "%s for %s (%s).",
+                               "Excessive clones detected",
+                               get_client_host(sptr),
+                               inetntoa((char*) &sptr->ip));
+          log(L_INFO,"Too many connections from %s.", get_client_host(sptr));
+          ServerStats->is_ref++;
+          return exit_client(cptr, sptr, &me, "No more connections allowed from your host" );
+	  break;
 
         case NOT_AUTHORIZED:
 
diff -uNrd -x ChangeLog ircd-hybrid-6.3/src/version.c.SH xircd/src/version.c.SH
--- ircd-hybrid-6.3/src/version.c.SH	Sat Dec  8 00:10:22 2001
+++ xircd/src/version.c.SH	Wed Apr 10 18:52:17 2002
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# $Id: version.c.SH,v 1.25 2001/12/08 05:10:22 jdc Exp $
+# $Id: version.c.SH,v 1.2 2002/04/10 22:52:17 reddawg Exp $
 
 spitshell=cat
 package=IRC
@@ -74,7 +74,7 @@
 
 IFS='
 '
-for i in `cat ../Hybrid-team | tr -d '"'` ; do
+for i in `cat ../Xnet-team | tr -d '"'` ; do
 echo "  \"$i\"," >> version.c
 done
 $spitshell >>version.c <<!SUB!THISTOO!
diff -uNrd -x ChangeLog ircd-hybrid-6.3/tools/Makefile.in xircd/tools/Makefile.in
--- ircd-hybrid-6.3/tools/Makefile.in	Thu Dec  6 23:13:32 2001
+++ xircd/tools/Makefile.in	Sat Apr 13 13:12:09 2002
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.17 2001/12/07 04:13:32 jdc Exp $
+# $Id: Makefile.in,v 1.2 2002/04/13 17:12:09 icedruid Exp $
 
 CC=@CC@
 RM=@RM@
@@ -17,6 +17,7 @@
 
 
 all: viconf mkpasswd fixklines
+	chmod u+x install_ircd
 
 build: all
 
@@ -33,7 +34,7 @@
 	$(RM) -f $(all_OBJECTS) fixklines viconf chkconf mkpasswd *~ core *.exe
 
 distclean: clean
-	$(RM) -f Makefile
+	$(RM) -f Makefile install_ircd
 
 .c.o:
 	$(CC) $(CFLAGS) $(INCLUDEDIR) -c $<
diff -uNrd -x ChangeLog ircd-hybrid-6.3/tools/install_ircd.in xircd/tools/install_ircd.in
--- ircd-hybrid-6.3/tools/install_ircd.in	Wed Dec 31 19:00:00 1969
+++ xircd/tools/install_ircd.in	Sat Apr 13 13:12:10 2002
@@ -0,0 +1,163 @@
+# $Id: install_ircd.in,v 1.1 2002/04/13 17:12:10 icedruid Exp $
+
+#!/bin/sh
+# IRCD INSTALL SCRIPT
+# $Id: install_ircd.in,v 1.1 2002/04/13 17:12:10 icedruid Exp $
+#
+# Completely re-written by FlashMan <chuegen@quadrunner.com> 981231
+# Wow.  The old version was *very* messy and had boatloads of redundancy.
+# Fixed.
+#
+
+# Path to install-sh
+INSTALL_SH="autoconf/install-sh"
+DPATH=@prefix@/
+
+#
+# dir_concat looks to see if we have an absolute or relative path
+# it echos $DPATH/<arg> if we have a relative path
+#
+dir_concat() {
+  if [ ! -z "`echo $1 | grep '^/'`" ]; then
+    echo $1;
+  else
+    echo ${DPATH}$1;
+  fi;
+}
+
+#
+# dir_make attempts to make a directory tree using mkdir -p
+# Used to eliminate redundancy
+#
+dir_make() {
+  if [ \( ! -z "$1" \) -a \( ! -d "$1" \) ]; then
+    echo $1 does not exist, creating...
+    mkdir -p $1
+    if [ $? -ne 0 ]; then
+      echo Could not create directory path $1.
+      echo Perhaps you are not allowed to create a directory in the path.
+      echo Please fix and try again.
+      exit -1;
+    fi;
+  fi
+}
+
+SPATH=`grep '#define.SPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+CPATH=`grep '#define.CPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+KPATH=`grep '#define.KPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+MPATH=`grep '#define.MPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+LPATH=`grep '#define.LPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+PPATH=`grep '#define.PPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+HPATH=`grep '#define.HPATH' include/config.h|awk '{print $3}'|tr -d \"`;
+
+SPATH=`dir_concat ${SPATH}`;
+CPATH=`dir_concat ${CPATH}`;
+KPATH=`dir_concat ${KPATH}`;
+MPATH=`dir_concat ${MPATH}`;
+LPATH=`dir_concat ${LPATH}`;
+PPATH=`dir_concat ${PPATH}`;
+HPATH=`dir_concat ${HPATH}`;
+
+#   DPATH = directory,
+#   SPATH = server executable,
+#   CPATH = conf file,
+#   MPATH = MOTD
+#   KPATH = kline conf file
+#   leave KPATH undefined if you want klines in main conf file
+#   HPATH is the opers help file, seen by opers on /quote help
+
+# Let's make sure $DPATH exists
+dir_make ${DPATH}
+
+if [ -f src/ircd.exe ]; then
+  EXESUFFIX=".exe"
+else
+  EXESUFFIX=""
+fi
+
+# try to install their ircd.conf file, unless it already exists.
+# install ircd, save old one as ircd.old
+dir_make `dirname ${SPATH}`
+if [ ! -f ${SPATH}${EXESUFFIX} ]; then
+  echo installing ircd as ${SPATH}${EXESUFFIX}
+  $INSTALL_SH -c src/ircd${EXESUFFIX} ${SPATH}${EXESUFFIX};
+else
+  echo installing ircd as ${SPATH}${EXESUFFIX}
+  echo previous ircd saved as ircd${EXESUFFIX}.old
+  mv ${SPATH}${EXESUFFIX} ${SPATH}${EXESUFFIX}.old
+  $INSTALL_SH -c src/ircd${EXESUFFIX} ${SPATH}${EXESUFFIX};
+fi
+
+dir_make `dirname ${CPATH}`
+if [ ! -f ${CPATH} ]; then
+  echo installing example.conf as ${CPATH}
+  $INSTALL_SH -c doc/example.conf ${CPATH};
+else
+  echo You already have ${CPATH}.;
+fi
+
+# try to install their motd file, unless it already exists.
+dir_make `dirname ${MPATH}`
+if [ ! -f ${MPATH} ]; then
+  echo installing a sample MOTD in ${MPATH}
+  echo "This is ircd-hybrid MOTD replace it with something better" > ${MPATH};
+else
+  echo You already have an MOTD in ${MPATH}.;
+fi
+
+# try to install their kpath file unless it already exists.
+dir_make `dirname ${KPATH}`
+if [ ! -f ${KPATH} ]; then
+  echo touching K-line file ${KPATH}
+  touch ${KPATH};
+else
+  echo You already have a K-line file in ${KPATH}.;
+fi
+
+# try to install their opers.txt file, in all cases 
+dir_make `dirname ${HPATH}`
+if [ ! -f ${HPATH} ]; then
+  echo installing opers.txt as ${HPATH}
+  $INSTALL_SH -c opers.txt ${HPATH};
+else
+   echo installing opers.txt as ${HPATH}
+   echo previous opers.txt saved as opers.txt.old
+   mv ${HPATH} ${HPATH}.old
+   $INSTALL_SH -c opers.txt ${HPATH};
+fi
+
+# install mkpasswd
+if [ ! -f ${DPATH}mkpasswd ]; then
+  echo installing mkpasswd as ${DPATH}mkpasswd${EXESUFFIX}
+  $INSTALL_SH -c tools/mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX};
+else
+   echo installing mkpasswd as ${DPATH}mkpasswd${EXESUFFIX}
+   echo previous mkpasswd saved as mkpasswd${EXESUFFIX}.old
+   mv ${DPATH}mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX}.old
+   $INSTALL_SH -c tools/mkpasswd${EXESUFFIX} ${DPATH}mkpasswd${EXESUFFIX};
+fi 
+
+# install viconf
+if [ ! -f ${DPATH}viconf ]; then
+  echo installing viconf as ${DPATH}viconf${EXESUFFIX}
+  $INSTALL_SH -c tools/viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}
+  rm -f ${DPATH}vimotd${EXESUFFIX} ${DPATH}viklines${EXESUFFIX}
+  ln ${DPATH}viconf${EXESUFFIX} ${DPATH}vimotd${EXESUFFIX}
+  ln ${DPATH}viconf${EXESUFFIX} ${DPATH}viklines${EXESUFFIX};
+else
+   echo installing viconf as ${DPATH}viconf${EXESUFFIX}
+   echo previous viconf saved as viconf${EXESUFFIX}.old
+   mv ${DPATH}viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}.old
+   $INSTALL_SH -c tools/viconf${EXESUFFIX} ${DPATH}viconf${EXESUFFIX}
+   rm -f ${DPATH}vimotd${EXESUFFIX} ${DPATH}viklines${EXESUFFIX}
+   ln ${DPATH}viconf${EXESUFFIX} ${DPATH}vimotd${EXESUFFIX}
+   ln ${DPATH}viconf${EXESUFFIX} ${DPATH}viklines${EXESUFFIX};
+fi
+
+# install ircd.8
+dir_make ${DPATH}man8
+echo installing ircd.8 as ${DPATH}man8/ircd.8
+$INSTALL_SH -c doc/ircd.8 ${DPATH}man8/ircd.8
+
+# finished.
+echo install complete!
