]> jfr.im git - irc/quakenet/snircd-patchqueue.git/commitdiff
split.patch - added priv SPLIT
authorwiebe <redacted>
Tue, 3 Feb 2009 18:18:46 +0000 (19:18 +0100)
committerwiebe <redacted>
Tue, 3 Feb 2009 18:18:46 +0000 (19:18 +0100)
split.patch

index e5b994c1a0eb244908cddc0c124d34207d29895d..8b99e93551c95bf9e0656e9581d587f05bfdd09a 100644 (file)
@@ -7,9 +7,9 @@ Add split.c split.h m_split.c
 
 NOTE: feature SPLIT is default enabled as that is just easier when working on this patch.
 
-diff -r 5ad24aad236d doc/api/log.txt
---- a/doc/api/log.txt  Sat Jan 31 14:38:44 2009 +0100
-+++ b/doc/api/log.txt  Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e doc/api/log.txt
+--- a/doc/api/log.txt  Tue Feb 03 19:06:27 2009 +0100
++++ b/doc/api/log.txt  Tue Feb 03 19:17:10 2009 +0100
 @@ -41,7 +41,7 @@
  
  <enum>
@@ -19,9 +19,20 @@ diff -r 5ad24aad236d doc/api/log.txt
    LS_OPERKILL, LS_SERVKILL, LS_USER, LS_OPER, LS_RESOLVER, LS_SOCKET,
    LS_DEBUG, LS_OLDLOG,
    LS_LAST_SYSTEM
-diff -r 5ad24aad236d include/handlers.h
---- a/include/handlers.h       Sat Jan 31 14:38:44 2009 +0100
-+++ b/include/handlers.h       Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e include/client.h
+--- a/include/client.h Tue Feb 03 19:06:27 2009 +0100
++++ b/include/client.h Tue Feb 03 19:17:10 2009 +0100
+@@ -146,6 +146,7 @@
+     PRIV_SERVERINFO,     /* oper can use /get, /stats, /hash, retrieve remote information */
+     PRIV_WELCOME,        /* oper can WELCOME */
+     PRIV_LOCAL_WELCOME,  /* oper can local WELCOME */
++    PRIV_SPLIT,          /* oper can SPLIT */
+     PRIV_LAST_PRIV /**< number of privileges */
+   };
+diff -r 276734f7999e include/handlers.h
+--- a/include/handlers.h       Tue Feb 03 19:06:27 2009 +0100
++++ b/include/handlers.h       Tue Feb 03 19:17:10 2009 +0100
 @@ -139,6 +139,7 @@
  extern int m_registered(struct Client*, struct Client*, int, char*[]);
  extern int m_sethost(struct Client*, struct Client*, int, char*[]);
@@ -46,9 +57,9 @@ diff -r 5ad24aad236d include/handlers.h
  extern int ms_squit(struct Client*, struct Client*, int, char*[]);
  extern int ms_stats(struct Client*, struct Client*, int, char*[]);
  extern int ms_topic(struct Client*, struct Client*, int, char*[]);
-diff -r 5ad24aad236d include/ircd_features.h
---- a/include/ircd_features.h  Sat Jan 31 14:38:44 2009 +0100
-+++ b/include/ircd_features.h  Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e include/ircd_features.h
+--- a/include/ircd_features.h  Tue Feb 03 19:06:27 2009 +0100
++++ b/include/ircd_features.h  Tue Feb 03 19:17:10 2009 +0100
 @@ -112,6 +112,10 @@
    FEAT_SETHOST_USER,
    FEAT_SETHOST_AUTO,
@@ -76,9 +87,9 @@ diff -r 5ad24aad236d include/ircd_features.h
    FEAT_HIS_STATS_s,
    FEAT_HIS_STATS_t,
    FEAT_HIS_STATS_T,
-diff -r 5ad24aad236d include/ircd_log.h
---- a/include/ircd_log.h       Sat Jan 31 14:38:44 2009 +0100
-+++ b/include/ircd_log.h       Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e include/ircd_log.h
+--- a/include/ircd_log.h       Tue Feb 03 19:06:27 2009 +0100
++++ b/include/ircd_log.h       Tue Feb 03 19:17:10 2009 +0100
 @@ -55,6 +55,7 @@
    LS_OPERMODE,   /**< Uses of OPMODE, CLEARMODE< etc. */
    LS_GLINE,      /**< Adding, (de-)activating or removing GLINEs. */
@@ -87,9 +98,9 @@ diff -r 5ad24aad236d include/ircd_log.h
    LS_WHO,        /**< Use of extended WHO privileges. */
    LS_NETWORK,    /**< New server connections. */
    LS_OPERKILL,   /**< Kills by IRC operators. */
-diff -r 5ad24aad236d include/msg.h
---- a/include/msg.h    Sat Jan 31 14:38:44 2009 +0100
-+++ b/include/msg.h    Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e include/msg.h
+--- a/include/msg.h    Tue Feb 03 19:06:27 2009 +0100
++++ b/include/msg.h    Tue Feb 03 19:17:10 2009 +0100
 @@ -336,6 +336,10 @@
  #define TOK_JUPE                "JU"
  #define CMD_JUPE              MSG_JUPE, TOK_JUPE
@@ -101,9 +112,9 @@ diff -r 5ad24aad236d include/msg.h
  #define MSG_OPMODE              "OPMODE"        /* OPMO */
  #define TOK_OPMODE              "OM"
  #define CMD_OPMODE            MSG_OPMODE, TOK_OPMODE
-diff -r 5ad24aad236d include/numeric.h
---- a/include/numeric.h        Sat Jan 31 14:38:44 2009 +0100
-+++ b/include/numeric.h        Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e include/numeric.h
+--- a/include/numeric.h        Tue Feb 03 19:06:27 2009 +0100
++++ b/include/numeric.h        Tue Feb 03 19:17:10 2009 +0100
 @@ -118,6 +118,7 @@
  #define RPL_STATSALINE       226        /* Hybrid, Undernet */
  #define RPL_STATSWELCOME     227        /* QuakeNet extension */
@@ -129,9 +140,9 @@ diff -r 5ad24aad236d include/numeric.h
  #define ERR_SILELISTFULL     511        /* Undernet extension */
  /*      ERR_NOTIFYFULL       512           aircd */
  /*    ERR_TOOMANYWATCH     512           Numeric List: Dalnet */
-diff -r 5ad24aad236d include/split.h
+diff -r 276734f7999e include/split.h
 --- /dev/null  Thu Jan 01 00:00:00 1970 +0000
-+++ b/include/split.h  Sat Jan 31 15:25:32 2009 +0100
++++ b/include/split.h  Tue Feb 03 19:17:10 2009 +0100
 @@ -0,0 +1,109 @@
 +#ifndef INCLUDED_split_h
 +#define INCLUDED_split_h
@@ -242,9 +253,9 @@ diff -r 5ad24aad236d include/split.h
 +extern int split_memory_count(size_t *sp_size);
 +
 +#endif /* INCLUDED_split_h */
-diff -r 5ad24aad236d ircd/Makefile.in
---- a/ircd/Makefile.in Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/Makefile.in Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/Makefile.in
+--- a/ircd/Makefile.in Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/Makefile.in Tue Feb 03 19:17:10 2009 +0100
 @@ -173,6 +173,7 @@
        m_sethost.c \
        m_settime.c \
@@ -302,9 +313,28 @@ diff -r 5ad24aad236d ircd/Makefile.in
  uping.o: uping.c ../config.h ../include/uping.h ../include/ircd_defs.h \
    ../include/ircd_events.h ../config.h ../include/res.h \
    ../include/client.h ../include/dbuf.h ../include/msgq.h \
-diff -r 5ad24aad236d ircd/ircd.c
---- a/ircd/ircd.c      Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/ircd.c      Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/client.c
+--- a/ircd/client.c    Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/client.c    Tue Feb 03 19:17:10 2009 +0100
+@@ -179,6 +179,7 @@
+     FlagSet(&privs_local, PRIV_DISPLAY);
+     FlagSet(&privs_local, PRIV_FORCE_LOCAL_OPMODE);
+     FlagSet(&privs_local, PRIV_LOCAL_WELCOME);
++    FlagSet(&privs_local, PRIV_SPLIT);
+     privs_defaults_set = 1;
+   }
+@@ -251,6 +252,7 @@
+   P(ROUTE),          P(ROUTEINFO),      P(SERVERINFO),    P(CHANNEL_PRIVACY),
+   P(USER_PRIVACY),
+   P(WELCOME),        P(LOCAL_WELCOME),
++  P(SPLIT),
+ #undef P
+   { 0, 0 }
+ };
+diff -r 276734f7999e ircd/ircd.c
+--- a/ircd/ircd.c      Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/ircd.c      Tue Feb 03 19:17:10 2009 +0100
 @@ -55,6 +55,7 @@
  #include "s_misc.h"
  #include "s_stats.h"
@@ -323,9 +353,9 @@ diff -r 5ad24aad236d ircd/ircd.c
    event_loop();
  
    return 0;
-diff -r 5ad24aad236d ircd/ircd_features.c
---- a/ircd/ircd_features.c     Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/ircd_features.c     Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/ircd_features.c
+--- a/ircd/ircd_features.c     Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/ircd_features.c     Tue Feb 03 19:17:10 2009 +0100
 @@ -366,6 +366,10 @@
    F_B(SETHOST_USER, 0, 0, 0),
    F_B(SETHOST_AUTO, 0, 0, 0),
@@ -353,9 +383,20 @@ diff -r 5ad24aad236d ircd/ircd_features.c
    F_B(HIS_STATS_s, 0, 1, 0),
    F_B(HIS_STATS_t, 0, 1, 0),
    F_B(HIS_STATS_T, 0, 1, 0),
-diff -r 5ad24aad236d ircd/ircd_log.c
---- a/ircd/ircd_log.c  Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/ircd_log.c  Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/ircd_lexer.l
+--- a/ircd/ircd_lexer.l        Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/ircd_lexer.l        Tue Feb 03 19:17:10 2009 +0100
+@@ -170,6 +170,7 @@
+   { "channel_privacy", TPRIV_CHANNEL_PRIVACY },
+   { "local_welcome", TPRIV_LOCAL_WELCOME },
+   { "welcome", TPRIV_WELCOME },
++  { "split", TPRIV_SPLIT },
+   { NULL, 0 }
+ };
+ static int ntokens;
+diff -r 276734f7999e ircd/ircd_log.c
+--- a/ircd/ircd_log.c  Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/ircd_log.c  Tue Feb 03 19:17:10 2009 +0100
 @@ -154,6 +154,7 @@
    S(OPERMODE, -1, SNO_HACK4),
    S(GLINE, -1, SNO_GLINE),
@@ -364,9 +405,30 @@ diff -r 5ad24aad236d ircd/ircd_log.c
    S(WHO, -1, 0),
    S(NETWORK, -1, SNO_NETWORK),
    S(OPERKILL, -1, 0),
-diff -r 5ad24aad236d ircd/m_endburst.c
---- a/ircd/m_endburst.c        Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/m_endburst.c        Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/ircd_parser.y
+--- a/ircd/ircd_parser.y       Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/ircd_parser.y       Tue Feb 03 19:17:10 2009 +0100
+@@ -190,7 +190,8 @@
+ %token TPRIV_CHANSERV TPRIV_XTRA_OPER TPRIV_NOIDLE TPRIV_FREEFORM TPRIV_PARANOID
+ %token TPRIV_CHECK TPRIV_WALL TPRIV_CLOSE TPRIV_ROUTE TPRIV_ROUTEINFO TPRIV_SERVERINFO
+ %token TPRIV_CHANNEL_PRIVACY TPRIV_USER_PRIVACY TPRIV_LIST_CHAN
+-%token TPRIV_LOCAL_WELCOME TPRIV_WELCOME 
++%token TPRIV_LOCAL_WELCOME TPRIV_WELCOME
++%token TPRIV_SPLIT
+ /* and some types... */
+ %type <num> sizespec
+ %type <num> timespec timefactor factoredtimes factoredtime
+@@ -707,6 +708,7 @@
+           TPRIV_USER_PRIVACY { $$ = PRIV_USER_PRIVACY ; } |
+           TPRIV_LOCAL_WELCOME { $$ = PRIV_LOCAL_WELCOME; } |
+           TPRIV_WELCOME { $$ = PRIV_WELCOME; } |
++          TPRIV_SPLIT { $$ = PRIV_SPLIT; } |
+           TPRIV_PARANOID { $$ = PRIV_PARANOID; } ;
+ yesorno: YES { $$ = 1; } | NO { $$ = 0; };
+diff -r 276734f7999e ircd/m_endburst.c
+--- a/ircd/m_endburst.c        Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/m_endburst.c        Tue Feb 03 19:17:10 2009 +0100
 @@ -85,6 +85,7 @@
  #include "client.h"
  #include "hash.h"
@@ -402,9 +464,9 @@ diff -r 5ad24aad236d ircd/m_endburst.c
    if (MyConnect(sptr))
      sendcmdto_one(&me, CMD_END_OF_BURST_ACK, sptr, "");
  
-diff -r 5ad24aad236d ircd/m_reburst.c
---- a/ircd/m_reburst.c Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/m_reburst.c Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/m_reburst.c
+--- a/ircd/m_reburst.c Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/m_reburst.c Tue Feb 03 19:17:10 2009 +0100
 @@ -102,6 +102,7 @@
  #include "ircd_snprintf.h"
  #include "gline.h"
@@ -424,9 +486,9 @@ diff -r 5ad24aad236d ircd/m_reburst.c
      default:
        break;
    }
-diff -r 5ad24aad236d ircd/m_server.c
---- a/ircd/m_server.c  Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/m_server.c  Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/m_server.c
+--- a/ircd/m_server.c  Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/m_server.c  Tue Feb 03 19:17:10 2009 +0100
 @@ -47,6 +47,7 @@
  #include "s_misc.h"
  #include "s_serv.h"
@@ -445,9 +507,9 @@ diff -r 5ad24aad236d ircd/m_server.c
    /*
     * Old sendto_serv_but_one() call removed because we now need to send
     * different names to different servers (domain name matching).
-diff -r 5ad24aad236d ircd/m_split.c
+diff -r 276734f7999e ircd/m_split.c
 --- /dev/null  Thu Jan 01 00:00:00 1970 +0000
-+++ b/ircd/m_split.c   Sat Jan 31 15:25:32 2009 +0100
++++ b/ircd/m_split.c   Tue Feb 03 19:17:10 2009 +0100
 @@ -0,0 +1,400 @@
 +/*
 + * IRC - Internet Relay Chat, ircd/m_split.c
@@ -676,7 +738,7 @@ diff -r 5ad24aad236d ircd/m_split.c
 + * parv[0] = Send prefix
 + * parv[1] = [Server or mask to match]
 + *
-+ * Add or modify entry: 3, 4 or 5 params (3 is * then)
++ * Add or modify entry: 2, 3 or 4 params
 + * parv[0] = Send prefix
 + * parv[1] = [+|-]<server name>
 + * parv[2] = [Expiration offset] (required for new)
@@ -692,6 +754,7 @@ diff -r 5ad24aad236d ircd/m_split.c
 +  char *server, *end;
 +  const char *reason = NULL;
 +
++  /* TODO: check PRIV_SPLIT here? */
 +  /* check HIS and privs */
 +  if (feature_bool(FEAT_HIS_SPLIT) && !HasPriv(sptr, PRIV_ROUTEINFO))
 +    return send_reply(sptr, ERR_NOPRIVILEGES);
@@ -728,6 +791,13 @@ diff -r 5ad24aad236d ircd/m_split.c
 +  if (action == SPLIT_MODIFY && parc == 2)
 +    return split_list(sptr, server);
 +
++  /* TODO: but allow force removal when disabled? */
++  /* check feature and privs */
++  if (!feature_bool(FEAT_SPLIT))
++    return send_reply(sptr, ERR_DISABLED, "SPLIT");
++  else if (!HasPriv(sptr, PRIV_SPLIT))
++    return send_reply(sptr, ERR_NOPRIVILEGES);
++
 +  /* if we have an expire, this must be it */
 +  if (parc > 2)
 +    expire = strtol(parv[2], &end, 10);
@@ -769,14 +839,6 @@ diff -r 5ad24aad236d ircd/m_split.c
 +      expire += TStime();
 +   }
 +
-+  /* TODO: but allow force removal when disabled? */
-+  /* check feature and privs */
-+  if (!feature_bool(FEAT_SPLIT))
-+    return send_reply(sptr, ERR_DISABLED, "SPLIT");
-+  /* TODO: create PRIV_SPLIT - need help there */
-+  else if (!HasPriv(sptr, PRIV_SERVERINFO))
-+    return send_reply(sptr, ERR_NOPRIVILEGES);
-+
 +  /* we have all we need - find the split */
 +  asplit = split_find(server);
 +
@@ -849,9 +911,9 @@ diff -r 5ad24aad236d ircd/m_split.c
 +  /* looking for a match */
 +  return split_list(sptr, parv[1]);
 +}
-diff -r 5ad24aad236d ircd/parse.c
---- a/ircd/parse.c     Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/parse.c     Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/parse.c
+--- a/ircd/parse.c     Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/parse.c     Tue Feb 03 19:17:10 2009 +0100
 @@ -506,6 +506,13 @@
      { m_unregistered, m_not_oper, ms_jupe, mo_jupe, m_ignore, mh_jupe }
    },
@@ -866,9 +928,9 @@ diff -r 5ad24aad236d ircd/parse.c
      MSG_OPMODE,
      TOK_OPMODE,
      0, MAXPARA, MFLG_SLOW, 0, NULL,
-diff -r 5ad24aad236d ircd/s_conf.c
---- a/ircd/s_conf.c    Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_conf.c    Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_conf.c
+--- a/ircd/s_conf.c    Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_conf.c    Tue Feb 03 19:17:10 2009 +0100
 @@ -53,6 +53,7 @@
  #include "s_debug.h"
  #include "s_misc.h"
@@ -885,9 +947,9 @@ diff -r 5ad24aad236d ircd/s_conf.c
  
    return ret;
  }
-diff -r 5ad24aad236d ircd/s_debug.c
---- a/ircd/s_debug.c   Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_debug.c   Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_debug.c
+--- a/ircd/s_debug.c   Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_debug.c   Tue Feb 03 19:17:10 2009 +0100
 @@ -48,6 +48,7 @@
  #include "s_user.h"
  #include "s_stats.h"
@@ -925,9 +987,9 @@ diff -r 5ad24aad236d ircd/s_debug.c
  
    send_reply(cptr, SND_EXPLICIT | RPL_STATSDEBUG,
             ":Hash: client %d(%zu), chan is the same", HASHSIZE,
-diff -r 5ad24aad236d ircd/s_err.c
---- a/ircd/s_err.c     Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_err.c     Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_err.c
+--- a/ircd/s_err.c     Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_err.c     Tue Feb 03 19:17:10 2009 +0100
 @@ -490,7 +490,7 @@
  /* 228 */
    { RPL_STATSQLINE, "Q %s :%s", "228" },
@@ -958,9 +1020,9 @@ diff -r 5ad24aad236d ircd/s_err.c
  /* 511 */
    { ERR_SILELISTFULL, "%s :Your silence list is full", "511" },
  /* 512 */
-diff -r 5ad24aad236d ircd/s_misc.c
---- a/ircd/s_misc.c    Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_misc.c    Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_misc.c
+--- a/ircd/s_misc.c    Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_misc.c    Tue Feb 03 19:17:10 2009 +0100
 @@ -53,6 +53,7 @@
  #include "s_stats.h"
  #include "s_user.h"
@@ -993,9 +1055,9 @@ diff -r 5ad24aad236d ircd/s_misc.c
    }
  
    /*
-diff -r 5ad24aad236d ircd/s_serv.c
---- a/ircd/s_serv.c    Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_serv.c    Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_serv.c
+--- a/ircd/s_serv.c    Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_serv.c    Tue Feb 03 19:17:10 2009 +0100
 @@ -54,6 +54,7 @@
  #include "s_misc.h"
  #include "s_user.h"
@@ -1012,9 +1074,9 @@ diff -r 5ad24aad236d ircd/s_serv.c
    welcome_burst(cptr);
  
    /*
-diff -r 5ad24aad236d ircd/s_stats.c
---- a/ircd/s_stats.c   Sat Jan 31 14:38:44 2009 +0100
-+++ b/ircd/s_stats.c   Sat Jan 31 15:25:32 2009 +0100
+diff -r 276734f7999e ircd/s_stats.c
+--- a/ircd/s_stats.c   Tue Feb 03 19:06:27 2009 +0100
++++ b/ircd/s_stats.c   Tue Feb 03 19:17:10 2009 +0100
 @@ -52,6 +52,7 @@
  #include "s_stats.h"
  #include "s_user.h"
@@ -1035,9 +1097,9 @@ diff -r 5ad24aad236d ircd/s_stats.c
      stats_sline, 0,
      "Spoofed hosts information." },
    { 'T', "motds", (STAT_FLAG_OPERFEAT | STAT_FLAG_CASESENS), FEAT_HIS_STATS_T,
-diff -r 5ad24aad236d ircd/split.c
+diff -r 276734f7999e ircd/split.c
 --- /dev/null  Thu Jan 01 00:00:00 1970 +0000
-+++ b/ircd/split.c     Sat Jan 31 15:25:32 2009 +0100
++++ b/ircd/split.c     Tue Feb 03 19:17:10 2009 +0100
 @@ -0,0 +1,873 @@
 +/*
 + * IRC - Internet Relay Chat, ircd/split.c