]> jfr.im git - solanum.git/commitdiff
Removing glines
authorValery Yatsko <redacted>
Fri, 11 Apr 2008 14:47:03 +0000 (18:47 +0400)
committerValery Yatsko <redacted>
Fri, 11 Apr 2008 14:47:03 +0000 (18:47 +0400)
43 files changed:
TODO
doc/example.conf
doc/logfiles.txt
doc/reference.conf
doc/server-version-info
doc/sgml/oper-guide/commands.sgml
doc/sgml/oper-guide/config.sgml
doc/sgml/oper-guide/oprivs.sgml
doc/technical/capab.txt
extensions/m_webirc.c
extensions/sno_globalkline.c
help/opers/gline [deleted file]
help/opers/index
help/opers/rehash
help/opers/ungline [deleted file]
include/client.h
include/hostmask.h
include/ircd_defs.h
include/logger.h
include/s_conf.h
include/s_gline.h [deleted file]
include/s_newconf.h
include/s_serv.h
modules/Makefile.in
modules/m_gline.c [deleted file]
modules/m_info.c
modules/m_privs.c
modules/m_rehash.c
modules/m_stats.c
modules/m_testline.c
modules/m_testmask.c
modules/m_version.c
src/Makefile.in
src/client.c
src/hostmask.c
src/ircd.c
src/logger.c
src/newconf.c
src/s_conf.c
src/s_gline.c [deleted file]
src/s_newconf.c
src/s_user.c
tools/convertilines.c

diff --git a/TODO b/TODO
index 93978c9ed0d005a3e65051499b30b1f2d511e593..0f9db1cb731e5e23291764b1eac5e89f6ed9917c 100644 (file)
--- a/TODO
+++ b/TODO
       this will help us making support for native characters sets/slashes in host etc
   [F] auth checker module
   [F] resolver module
-[ ] Remove glines entirely
+[x] Remove glines entirely
 [ ] other stuff
   [?] internally split out +o/+v "ranks" into a series of permissions. this could allow for configure-defined 
       special access levels, halfops, etc. (would need to match globally, somehow. extra SVINFO param?)
   [?] somehow hide channel operators like ircnet can do?
   [x] merge m_join.c and m_sjoin.c in one module (same functions, done in ratbox3)
-  [ ] merge s_gline.c and m_gline.c in one module (for pretty look, done in ratbox3)
   [x] create chmode.h and put there all declarations of chm_* - this will make some modules clean
index 42c079ecbf4dac9f2cd9d22c96d79b82837973c0..5e02e0dfaf16cf67f2b73208696ee5577da79d39 100755 (executable)
@@ -81,7 +81,6 @@ log {
        fname_operlog = "logs/operlog";
        #fname_foperlog = "logs/foperlog";
        fname_serverlog = "logs/serverlog";
-       fname_glinelog = "logs/glinelog";
        #fname_klinelog = "logs/klinelog";
        fname_killlog = "logs/killlog";
        fname_operspylog = "logs/operspylog";
@@ -164,7 +163,6 @@ auth {
         * exceed_limit (old > flag)  | allow user to exceed class user limits
         * kline_exempt (old ^ flag)  | exempt this user from k/g/xlines&dnsbls
         * dnsbl_exempt               | exempt this user from dnsbls
-        * gline_exempt (old _ flag)  | exempt this user from glines
         * spambot_exempt             | exempt this user from spambot checks
         * shide_exempt               | exempt this user from serverhiding
         * jupe_exempt                | exempt this user from generating
@@ -234,7 +232,6 @@ operator "god" {
         * remote:       allows remote SQUIT and CONNECT   (OLD 'R' flag)
         * kline:        allows KLINE and DLINE            (OLD 'K' flag)
         * unkline:      allows UNKLINE and UNDLINE        (OLD 'U' flag)
-        * gline:        allows GLINE                      (OLD 'G' flag)
         * nick_changes: allows oper to see nickchanges    (OLD 'N' flag)
         *               via snomask +n
         * rehash:       allows oper to REHASH config      (OLD 'H' flag)
@@ -254,7 +251,7 @@ operator "god" {
         * remoteban:    allows remote kline etc [DEFAULT]
         * mass_notice:  allows sending wallops and mass notices [DEFAULT]
          */
-       flags = global_kill, remote, kline, unkline, gline,
+       flags = global_kill, remote, kline, unkline,
                die, rehash, admin, xline, operwall;
 };
 
@@ -452,9 +449,6 @@ general {
        connect_timeout = 30 seconds;
        disable_auth = no;
        no_oper_flood = yes;
-       glines = no;
-       gline_time = 1 day;
-       gline_min_cidr = 16;
        max_targets = 4;
        client_flood = 20;
         use_whois_actually = no;
index 65865f69d2d3cf297cc4771bf81d4fa199a06075..a05eae904f8424e1534f1bdec6356dc6bf7de67d 100644 (file)
@@ -13,14 +13,6 @@ Where token is one of:
   O = remote oper, local target
   S = server
 
-fname_glinelog
---------------
-<date> <time> <token> <src nick> <src username> <src host> <src server> <user> <host> <reason>
-
-Where token is one of:
-  R = gline request
-  T = gline trigger, always by previous three requests
-
 fname_klinelog
 --------------
 <date> <time> [U]<token> <source> <time> <info> <reason>[|<oper_reason>]
index 2afc5c241bf95fb5d52de58346f7dbcc34c53068..eb742e8e329e52ddd8dbb5a92a05570b970ead2a 100755 (executable)
@@ -164,7 +164,6 @@ log {
         * - operlog:    /oper usage
         * - foperlog:   failed /oper usage
         * - serverlog:  server connects/disconnects
-        * - glinelog:   glines
         * - klinelog:   klines, etc
         * - killlog:    kills
         * - operspylog: operspy usage
@@ -175,7 +174,6 @@ log {
        fname_operlog = "logs/operlog";
        #fname_foperlog = "logs/foperlog";
        fname_serverlog = "logs/serverlog";
-       fname_glinelog = "logs/glinelog";
        #fname_klinelog = "logs/klinelog";
        fname_killlog = "logs/killlog";
        fname_operspylog = "logs/operspylog";
@@ -319,7 +317,6 @@ auth {
         * exceed_limit (old > flag)  | allow user to exceed class user limits
         * kline_exempt (old ^ flag)  | exempt this user from k/g/xlines&dnsbls
         * dnsbl_exempt               | exempt this user from dnsbls
-        * gline_exempt (old _ flag)  | exempt this user from glines
         * spambot_exempt             | exempt this user from spambot checks
         * shide_exempt               | exempt this user from serverhiding
         * jupe_exempt                | exempt this user from generating
@@ -410,7 +407,6 @@ operator "god" {
         * remote:       allows remote SQUIT and CONNECT   (OLD 'R' flag)
         * kline:        allows KLINE and DLINE            (OLD 'K' flag)
         * unkline:      allows UNKLINE and UNDLINE        (OLD 'U' flag)
-        * gline:        allows GLINE                      (OLD 'G' flag)
         * nick_changes: allows oper to see nickchanges    (OLD 'N' flag)
         *               via snomask +n
         * rehash:       allows oper to REHASH config      (OLD 'H' flag)
@@ -430,7 +426,7 @@ operator "god" {
         * remoteban:    allows remote kline etc [DEFAULT]
         * mass_notice:  allows sending wallops and mass notices [DEFAULT]
          */
-       flags = global_kill, remote, kline, unkline, gline,
+       flags = global_kill, remote, kline, unkline,
                die, rehash, admin, xline, operwall;
 };
 
@@ -947,7 +943,7 @@ general {
         */
        kline_delay = 0 seconds;
 
-       /* kline reason: show the user the reason why they are k/d/glined 
+       /* kline reason: show the user the reason why they are k/dlined 
         * on exit.  may give away who set k/dline when set via tcm.
         */
        kline_with_reason = yes;
@@ -1059,17 +1055,6 @@ general {
        /* no oper flood: increase flood limits for opers. */
        no_oper_flood = yes;
 
-       /* glines: enable glines, network wide temp klines */
-       glines = no;
-
-       /* gline time: the amount of time a gline will remain before expiring */
-       gline_time = 1 day;
-
-       /* gline_min_cidr: If using a CIDR gline, the minimum length the
-        * mask must be
-        */
-       gline_min_cidr = 16;
-
        /* REMOVE ME.  The following line checks you've been reading. */
        havent_read_conf = yes;
        
index 5315729d1f5c18ef748fda6b2a9f9e43f84b9642..50abbd68744e0bf3dfedb5c69380e487bd6d49c0 100644 (file)
    +----------------------------+
    | 'e'  | USE_EXCEPT          |
    |------+---------------------|
-   | 'g'  | NO_FAKE_GLINES      |
-   |------+---------------------|
-   | 'G'  | GLINES              |
-   |------+---------------------|
    | 'H'  | HUB                 |
    |------+---------------------|
    | 'I'  | USE_INVEX           |
index 0d54042bdac5536f9a49b822bc51469b711ef398..05f2b32821ae530996260e0b6383fc6ca3a6b14c 100644 (file)
@@ -42,8 +42,6 @@
            <arg>DNS</arg>
            <arg>MOTD</arg>
            <arg>OMOTD</arg>
-           <arg>GLINES</arg>
-           <arg>PGLINES</arg>
            <arg>TKLINES</arg>
            <arg>TDLINES</arg>
            <arg>TXLINES</arg>
              <para>Reload the operator MOTD file</para>
            </listitem>
          </varlistentry>
-         <varlistentry>
-           <term>GLINES</term>
-           <listitem>
-             <para>Clears G:lines.</para>
-           </listitem>
-         </varlistentry>
-         <varlistentry>
-           <term>PGLINES</term>
-           <listitem>
-             <para>Clears pending G:lines.</para>
-           </listitem>
-         </varlistentry>
          <varlistentry>
            <term>TKLINES</term>
            <listitem>
          a temporary D:line.
        </para>
       </sect2>
-      <sect2>
-       <title>GLINE</title>
-       <cmdsynopsis>
-         <command>GLINE</command>
-         <group>
-           <arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
-           <arg choice=plain><replaceable>user</replaceable>@<replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
-         </group>
-         <arg choice=plain>:<replaceable>reason</replaceable></arg>
-       </cmdsynopsis>
-       <para>
-         Attempts to add a network-wide ban for the given mask.
-         It takes three different opers on three different servers
-         requesting the same G:line to have it triggered for a configured
-         time.
-       </para>
-       <para>
-         Once triggered, a G:line is similar to a temporary K:line on
-         each server. No further propagation or on-disk storage is done.
-       </para>
-       <note><para>
-         This command can be enabled or disabled in the configuration file.
-         If it is disabled, no oper on the server can issue a G:line and no
-         G:lined user is banned, but G:lines are still propagated to other
-         servers which may have G:lines enabled.
-       </para></note>
-      </sect2>
-      <sect2>
-       <title>UNGLINE</title>
-       <cmdsynopsis>
-         <command>UNGLINE</command>
-         <group>
-           <arg choice=plain><replaceable>user</replaceable>@<replaceable>host</replaceable></arg>
-           <arg choice=plain><replaceable>user</replaceable>@<replaceable>a</replaceable>.<replaceable>b</replaceable>.<replaceable>c</replaceable>.<replaceable>d</replaceable></arg>
-         </group>
-       </cmdsynopsis>
-       <para>
-         Removes the given G:line on this server.
-       </para>
-      </sect2>
       <sect2>
        <title>TESTGECOS</title>
        <cmdsynopsis>
              <para>Show file descriptors</para>
            </listitem>
          </varlistentry>
-         <varlistentry>
-           <term>g</term>
-           <listitem>
-             <para>Show pending glines</para>
-           </listitem>
-         </varlistentry>
-         <varlistentry>
-           <term>G</term>
-           <listitem>
-             <para>Show active glines</para>
-           </listitem>
-         </varlistentry>
          <varlistentry>
            <term>h</term>
            <listitem>
index e3fae833500951439f2987c0fe4e269e7c9a8410..3eabdb89ff5169325920d1b9a24dbbb8c4208105 100644 (file)
        Anything from a # to the end of a line is a comment. Blank lines are ignored. C-style comments are also supported.
       </para>
     </sect1>
-    <sect1 id="configlines">
-      <title>Specific blocks and directives</title>
-      <para>
-       Not all configuration blocks and directives are listed here, only the most common ones. More blocks and directives will
-       be documented in later revisions of this manual.
-      </para>
       <sect2>
        <title>loadmodule directive</title>
        <synopsis>
@@ -362,12 +356,6 @@ auth {
              <para>Users in this auth{} block are exempted from DNS blacklists, k:lines, g:lines and x:lines.</para>
            </listitem>
          </varlistentry>
-         <varlistentry>
-           <term>gline_exempt (_)</term>
-           <listitem>
-             <para>Users in this auth{} block are exempted from g:lines.</para>
-           </listitem>
-         </varlistentry>
          <varlistentry>
            <term>spambot_exempt</term>
            <listitem>
index 426b4a98c7a3eac3b3d524de8a5018ad1421fe91..7a7654be93cf00db9715eaa20b09688414c4f6b2 100644 (file)
          or restarting the server.
        </para>
       </sect2>
-      <sect2>
-       <title>gline (G), gline</title>
-       <para>
-         This allows using GLINE (network wide temp bans if 3 opers agree).
-         If unkline privilege is also possessed, allow UNGLINE (remove gline
-         locally).
-       </para>
-      </sect2>
       <sect2>
        <title>rehash (H), rehash</title>
        <para>
       <sect2>
        <title>unkline (U), unkline</title>
        <para>
-         Allows using UNKLINE and UNDLINE, and if gline privilege is also
-         possessed, UNGLINE.
+         Allows using UNKLINE and UNDLINE.
        </para>
       </sect2>
       <sect2>
index bfe52acba599c354c39b17dcce943e5da1d04d72..d90f7ea0d5a718414975b3e4298fa25b2ca143fc 100644 (file)
@@ -11,7 +11,6 @@ IE          - supports invite exceptions (+I)
 EOB         - supports end of burst notification (EOB token)
 KLN         - supports remote KLINE
 UNKLN       - supports remote UNKLINE
-GLN         - supports hybrid7-style GLINE (:oper GLINE user host :reason)
 HOPS        - supports halfops (+h -- %<nick>)
 HUB         - denotes that the target server is a HUB
 AOPS        - supports anonymous ops (+a, op hiding/op status hiding)
index 36a83894319b3c6bf029542e5d7177b116a27463..8053a8d530094d099e278b86372beb1b4c6423cf 100644 (file)
@@ -33,9 +33,8 @@
  * Possible flags:
  *   encrypted - password is encrypted (recommended)
  *   kline_exempt - k/g lines on the cgiirc ip are ignored
- *   gline_exempt - glines on the cgiirc ip are ignored
  * dlines are checked on the cgiirc ip (of course).
- * k/d/g/x lines, auth blocks, user limits, etc are checked using the
+ * k/d/x lines, auth blocks, user limits, etc are checked using the
  * real host/ip.
  * The password should be specified unencrypted in webirc_password in
  * cgiirc.config
@@ -129,7 +128,7 @@ mr_webirc(struct Client *client_p, struct Client *source_p, int parc, const char
        del_unknown_ip(source_p);
        inetpton_sock(parv[4], (struct sockaddr *)&source_p->localClient->ip);
 
-       /* Check dlines now, k/glines will be checked on registration */
+       /* Check dlines now, klines will be checked on registration */
        if((aconf = find_dline((struct sockaddr *)&source_p->localClient->ip, 
                               source_p->localClient->ip.ss_family)))
        {
index 8a5699a9f892973e4527fbb36b0501907e4fbcb5..487044ec09e523c8cd0072aadb4ccea11344fd4a 100644 (file)
@@ -45,7 +45,7 @@ h_gla_client_exit(hook_data_client_exit *hdata)
                        !strcmp(hdata->comment, ConfigFileEntry.kline_reason))
        {
                sendto_realops_snomask_from(SNO_GENERAL, L_ALL, source_p->servptr,
-                               "K/D/GLINE active for %s[%s@%s]",
+                               "K/DLINE active for %s[%s@%s]",
                                source_p->name, source_p->username, source_p->host);
        }
 }
diff --git a/help/opers/gline b/help/opers/gline
deleted file mode 100644 (file)
index 3273044..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-GLINE <user@host> :[reason]
-
--- if glines are enabled --
-Attempts to add a global IRC-network wide ban on
-<user@host> for the reason [reason].
-
-It takes three different opers on three different
-servers to do the same GLINE within a short interval,
-to have a GLINE triggered for a compiled time of hours.
-
-- Requires Oper Priv: G
index 7ddc768c3d057280bfdcac451adf5574b8fc4252..673c1762a0a411f9cd2d34ef198776116f1d43e4 100644 (file)
@@ -4,21 +4,20 @@ ACCEPT          ADMIN           AWAY            CAPAB
 CHALLENGE       CHANTRACE       CLOSE           CMODE
 CNOTICE         CONNECT         CPRIVMSG        CREDITS
 DIE             DLINE           ERROR           ETRACE
-GLINE           HELP            INDEX           INFO
-INVITE          ISON            JOIN            KICK
-KILL            KLINE           KNOCK           LINKS
-LIST            LOCOPS          LUSERS          MAP
-MASKTRACE       MODLIST         MODLOAD         MODRESTART
-MODUNLOAD       MOTD            NAMES           NICK
-NOTICE          OPER            OPERSPY         OPERWALL
-PART            PASS            PING            PONG
-POST            PRIVMSG         QUIT            REHASH
-RESTART         RESV            SCAN            SERVER
-SET             SJOIN           SNOMASK         SQUIT
-STATS           SVINFO          TESTGECOS       TESTLINE
-TESTMASK        TIME            TOPIC           TRACE
-UHELP           UMODE           UNDLINE         UNGLINE
-UNKLINE         UNREJECT        UNRESV          UNXLINE
-USER            USERHOST        USERS           VERSION
-WALLOPS         WHO             WHOIS           WHOWAS
-XLINE
+HELP            INDEX           INFO            INVITE
+ISON            JOIN            KICK            KILL
+KLINE           KNOCK           LINKS           LIST
+LOCOPS          LUSERS          MAP             MASKTRACE
+MODLIST         MODLOAD         MODRESTART      MODUNLOAD
+MOTD            NAMES           NICK            NOTICE
+OPER            OPERSPY         OPERWALL        PART
+PASS            PING            PONG            POST
+PRIVMSG         QUIT            REHASH          RESTART
+RESV            SCAN            SERVER          SET
+SJOIN           SNOMASK         SQUIT           STATS
+SVINFO          TESTGECOS       TESTLINE        TESTMASK
+TIME            TOPIC           TRACE           UHELP
+UMODE           UNDLINE         UNKLINE         UNREJECT
+UNRESV          UNXLINE         USER            USERHOST
+USERS           VERSION         WALLOPS         WHO
+WHOIS           WHOWAS          XLINE
index b63b278c1a5a6bd9d4905b612fed033d451ef114..c16d8f1307fae71f109425c2816f530907cff746 100644 (file)
@@ -6,12 +6,10 @@ ircd.conf file.
 [option] can be one of the following:
   BANS     - Re-reads kline.conf, dline.conf, resv.conf and xline.conf
   DNS      - Re-read the /etc/resolv.conf file
-  GLINES   - Clears G Lines
   HELP     - Re-reads help files
   MOTD     - Re-reads MOTD file
   NICKDELAY - Clears delayed nicks
   OMOTD    - Re-reads Oper MOTD file
-  PGLINES  - Clears pending G Lines
   REJECTCACHE - Clears the reject cache
   TDLINES  - Clears temporary D Lines
   TKLINES  - Clears temporary K Lines
diff --git a/help/opers/ungline b/help/opers/ungline
deleted file mode 100644 (file)
index b639fa6..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-UNGLINE <user@host>
-
--- if glines are enabled --
-Will attempt to remove gline matching <user@host>
-This will only remove the gline from YOUR server, it
-does not try to remove it globally.
-
-- Requires Oper Privs: G and U
index e44932e9ae451d14b1e187295c383119f4fba4f6..f15444ca56d467376fb3d054c5da90027fbe5d33 100644 (file)
@@ -441,9 +441,8 @@ struct exit_client_hook
 /* overflow flags */
 /* EARLIER FLAGS ARE IN s_newconf.h */
 #define FLAGS2_EXEMPTRESV      0x00400000
-#define FLAGS2_EXEMPTGLINE      0x00800000
-#define FLAGS2_EXEMPTKLINE      0x01000000
-#define FLAGS2_EXEMPTFLOOD      0x02000000
+#define FLAGS2_EXEMPTKLINE      0x00800000
+#define FLAGS2_EXEMPTFLOOD      0x01000000
 #define FLAGS2_IP_SPOOFING      0x10000000
 #define FLAGS2_EXEMPTSPAMBOT   0x20000000
 #define FLAGS2_EXEMPTSHIDE     0x40000000
@@ -537,8 +536,6 @@ struct exit_client_hook
  */
 #define IsExemptKline(x)        ((x)->flags2 & FLAGS2_EXEMPTKLINE)
 #define SetExemptKline(x)       ((x)->flags2 |= FLAGS2_EXEMPTKLINE)
-#define IsExemptGline(x)        ((x)->flags2 & FLAGS2_EXEMPTGLINE)
-#define SetExemptGline(x)       ((x)->flags2 |= FLAGS2_EXEMPTGLINE)
 #define IsExemptFlood(x)        ((x)->flags2 & FLAGS2_EXEMPTFLOOD)
 #define SetExemptFlood(x)       ((x)->flags2 |= FLAGS2_EXEMPTFLOOD)
 #define IsExemptSpambot(x)     ((x)->flags2 & FLAGS2_EXEMPTSPAMBOT)
@@ -573,7 +570,6 @@ struct exit_client_hook
 extern void check_banned_lines(void);
 extern void check_klines_event(void *unused);
 extern void check_klines(void);
-extern void check_glines(void);
 extern void check_dlines(void);
 extern void check_xlines(void);
 
index 7da25951c9b883b955fb81220ac77b121186baf0..ee49dda4196b5aae53b3b6488b1dcf5ffb69e6ef 100644 (file)
@@ -57,10 +57,6 @@ struct ConfItem *find_dline(struct sockaddr *, int);
                         (x)->orighost, \
                         (struct sockaddr *)&(x)->localClient->ip, CONF_KILL,\
                         (x)->localClient->ip.ss_family, (x)->username))
-#define find_gline(x)  (find_conf_by_address((x)->host, (x)->sockhost, \
-                        (x)->orighost, \
-                        (struct sockaddr *)&(x)->localClient->ip, CONF_GLINE,\
-                        (x)->localClient->ip.ss_family, (x)->username))
 
 void report_Klines(struct Client *);
 void report_auth(struct Client *);
index f365d6987d9b50b9c9c461c3499ca333b4e23a4a..686cea487c4d1b311698d601d4bcfdcce6722eee 100644 (file)
  * takes at most 246 bytes (including CRLF and '\0') and together with the
  * quit reason should fit in 512 */
 #define REASONLEN      260     /* kick/part/quit */
-#define BANREASONLEN   390     /* kline/dline/gline */
+#define BANREASONLEN   390     /* kline/dline */
 #define AWAYLEN                TOPICLEN
 #define KILLLEN         200    /* with Killed (nick ()) added this should fit in quit */
 
index 88ea298336823644ec6ee2f45efdf11019fa87f7..ee6ca3a935bf382ab1c5529d24710a75edd37c33 100644 (file)
@@ -46,7 +46,6 @@ typedef enum ilogfile
        L_SERVER,
        L_KILL,
        L_KLINE,
-       L_GLINE,
        L_OPERSPY,
        L_IOERROR,
        LAST_LOGFILE
index da08740c84f00ad0418cc2bd0ab3c5a8c13f639a..e3f909c9550bc643cc7b849847b866a140bcd624 100644 (file)
@@ -80,7 +80,6 @@ struct ConfItem
 #define CONF_RESV_NICK         0x0200
 #define CONF_RESV              (CONF_RESV_CHANNEL | CONF_RESV_NICK)
 
-#define CONF_GLINE             0x10000
 #define CONF_DLINE             0x20000
 #define CONF_EXEMPTDLINE      0x100000
 
@@ -97,7 +96,6 @@ struct ConfItem
 #define CONF_FLAGS_SPOOF_IP             0x00000200
 #define CONF_FLAGS_SPOOF_NOTICE                0x00000400
 #define CONF_FLAGS_REDIR                0x00000800
-#define CONF_FLAGS_EXEMPTGLINE          0x00001000
 #define CONF_FLAGS_EXEMPTRESV          0x00002000      /* exempt from resvs */
 #define CONF_FLAGS_EXEMPTFLOOD          0x00004000
 #define CONF_FLAGS_EXEMPTSPAMBOT       0x00008000
@@ -120,7 +118,6 @@ struct ConfItem
 #define IsNeedIdentd(x)         ((x)->flags & CONF_FLAGS_NEED_IDENTD)
 #define IsConfExemptKline(x)    ((x)->flags & CONF_FLAGS_EXEMPTKLINE)
 #define IsConfExemptLimits(x)   ((x)->flags & CONF_FLAGS_NOLIMIT)
-#define IsConfExemptGline(x)    ((x)->flags & CONF_FLAGS_EXEMPTGLINE)
 #define IsConfExemptFlood(x)    ((x)->flags & CONF_FLAGS_EXEMPTFLOOD)
 #define IsConfExemptSpambot(x) ((x)->flags & CONF_FLAGS_EXEMPTSPAMBOT)
 #define IsConfExemptShide(x)   ((x)->flags & CONF_FLAGS_EXEMPTSHIDE)
@@ -163,7 +160,6 @@ struct config_file_entry
        char *fname_foperlog;
        char *fname_serverlog;
        char *fname_killlog;
-       char *fname_glinelog;
        char *fname_klinelog;
        char *fname_operspylog;
        char *fname_ioerrorlog;
@@ -200,10 +196,6 @@ struct config_file_entry
        int pace_wait_simple;
        int short_motd;
        int no_oper_flood;
-       int glines;
-       int gline_time;
-       int gline_min_cidr;
-       int gline_min_cidr6;
        int hide_server;
        int hide_spoof_ips;
        int hide_error_messages;
diff --git a/include/s_gline.h b/include/s_gline.h
deleted file mode 100644 (file)
index 3c3d0eb..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  ircd-ratbox: A slightly useful ircd.
- *  s_gline.h: A header for the gline functions.
- *
- *  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: s_gline.h 6 2005-09-10 01:02:21Z nenolod $
- */
-
-#ifndef INCLUDED_s_gline_h
-#define INCLUDED_s_gline_h
-
-#include "config.h"
-#include "ircd_defs.h"
-
-struct Client;
-struct ConfItem;
-
-extern struct ConfItem *find_is_glined(const char *host, const char *name);
-extern void cleanup_glines(void *unused);
-extern void add_gline(struct ConfItem *);
-
-
-typedef struct gline_pending
-{
-       char oper_nick1[NICKLEN + 1];
-       char oper_user1[USERLEN + 1];
-       char oper_host1[HOSTLEN + 1];
-       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];
-       char host[HOSTLEN + 1];
-}
-gline_pending_t;
-
-/* how long a pending G line can be around
- * 10 minutes should be plenty
- */
-
-#define GLINE_PENDING_EXPIRE 600
-#define CLEANUP_GLINES_TIME  300
-
-rb_dlink_list pending_glines;
-extern rb_dlink_list glines;
-
-#endif
index 42a4daa5af24d57352f122fb9bd6771429a57f65..083a90c01f8284fbc2d8cb1f0788a79d5bc49953 100644 (file)
@@ -139,7 +139,6 @@ extern void cluster_generic(struct Client *, const char *, int cltype,
 #define OPER_LOCKILL   0x00008
 #define OPER_GLOBKILL  0x00010
 #define OPER_REMOTE    0x00020
-#define OPER_GLINE     0x00040
 #define OPER_XLINE     0x00080
 #define OPER_RESV      0x00100
 #define OPER_NICKS     0x00200
@@ -155,7 +154,7 @@ extern void cluster_generic(struct Client *, const char *, int cltype,
 /* 0x400000 and above are in client.h */
 
 #define OPER_FLAGS     (OPER_KLINE|OPER_UNKLINE|OPER_LOCKILL|OPER_GLOBKILL|\
-                        OPER_REMOTE|OPER_GLINE|OPER_XLINE|OPER_RESV|\
+                        OPER_REMOTE|OPER_XLINE|OPER_RESV|\
                         OPER_NICKS|OPER_REHASH|OPER_DIE|OPER_ADMIN|\
                         OPER_HADMIN|OPER_OPERWALL|OPER_INVIS|OPER_SPY|\
                         OPER_REMOTEBAN|OPER_MASSNOTICE)
@@ -166,7 +165,6 @@ extern void cluster_generic(struct Client *, const char *, int cltype,
 #define IsOperLocalKill(x)      ((x)->flags2 & OPER_LOCKILL)
 #define IsOperRemote(x)         ((x)->flags2 & OPER_REMOTE)
 #define IsOperUnkline(x)        ((x)->flags2 & OPER_UNKLINE)
-#define IsOperGline(x)          ((x)->flags2 & OPER_GLINE)
 #define IsOperN(x)              ((x)->flags2 & OPER_NICKS)
 #define IsOperK(x)              ((x)->flags2 & OPER_KLINE)
 #define IsOperXline(x)          ((x)->flags2 & OPER_XLINE)
index 0d3f7c26c0651a71d739095f40e50357fe60da08..d7e3c8cc2e1b0954559b962bb9751d81e5c5d0b5 100644 (file)
@@ -59,7 +59,6 @@ struct Capability
 #define CAP_CHW         0x00008        /* Can do channel wall @# */
 #define CAP_IE          0x00010        /* Can do invite exceptions */
 #define CAP_KLN                0x00040 /* Can do KLINE message */
-#define CAP_GLN                0x00080 /* Can do GLINE message */
 #define CAP_ZIP         0x00100        /* Can do ZIPlinks */
 #define CAP_KNOCK      0x00400 /* supports KNOCK */
 #define CAP_TB         0x00800 /* supports TBURST */
index 73421d8f442285d15b6d7d973e125dfac38e6668..22e54e671ae020cd5d36599039316236802f1868 100644 (file)
@@ -63,7 +63,6 @@ TSRCS =                          \
   m_dline.c \
   m_encap.c \
   m_etrace.c \
-  m_gline.c \
   m_help.c \
   m_info.c \
   m_invite.c \
diff --git a/modules/m_gline.c b/modules/m_gline.c
deleted file mode 100644 (file)
index 322e2d8..0000000
+++ /dev/null
@@ -1,730 +0,0 @@
-/*
- *  ircd-ratbox: A slightly useful ircd.
- *  m_gline.c: Votes towards globally banning a mask.
- *
- *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
- *  Copyright (C) 1996-2002 Hybrid Development Team
- *  Copyright (C) 2002-2005 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_gline.c 3225 2007-03-04 23:42:55Z jilles $
- */
-
-#include "stdinc.h"
-#include "s_gline.h"
-#include "channel.h"
-#include "client.h"
-#include "common.h"
-#include "config.h"
-#include "irc_string.h"
-#include "sprintf_irc.h"
-#include "ircd.h"
-#include "hostmask.h"
-#include "numeric.h"
-#include "s_conf.h"
-#include "s_newconf.h"
-#include "scache.h"
-#include "send.h"
-#include "msg.h"
-#include "s_serv.h"
-#include "hash.h"
-#include "parse.h"
-#include "modules.h"
-#include "logger.h"
-#include "reject.h"
-
-static int mo_gline(struct Client *, struct Client *, int, const char **);
-static int mc_gline(struct Client *, struct Client *, int, const char **);
-static int ms_gline(struct Client *, struct Client *, int, const char **);
-static int mo_ungline(struct Client *, struct Client *, int, const char **);
-
-struct Message gline_msgtab = {
-       "GLINE", 0, 0, 0, MFLG_SLOW,
-       {mg_unreg, mg_not_oper, {mc_gline, 3}, {ms_gline, 7}, mg_ignore, {mo_gline, 3}}
-};
-struct Message ungline_msgtab = {
-       "UNGLINE", 0, 0, 0, MFLG_SLOW,
-       {mg_unreg, mg_not_oper, mg_ignore, mg_ignore, mg_ignore, {mo_ungline, 2}}
-};
-
-mapi_clist_av1 gline_clist[] = { &gline_msgtab, &ungline_msgtab, NULL };
-DECLARE_MODULE_AV1(gline, NULL, NULL, gline_clist, NULL, NULL, "$Revision: 3225 $");
-
-static int majority_gline(struct Client *source_p, const char *user,
-                         const char *host, const char *reason);
-static void set_local_gline(struct Client *source_p, const char *user,
-                           const char *host, const char *reason);
-
-static int check_wild_gline(const char *, const char *);
-static int invalid_gline(struct Client *, const char *, const char *, char *);
-
-static int remove_temp_gline(const char *, const char *);
-
-
-/* mo_gline()
- *
- * inputs       - The usual for a m_ function
- * output       -
- * side effects - place a gline if 3 opers agree
- */
-static int
-mo_gline(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
-{
-       const char *user = NULL;
-       char *host = NULL;      /* user and host of GLINE "victim" */
-       char *reason = NULL;    /* reason for "victims" demise */
-       char splat[] = "*";
-       char *ptr;
-
-       if(!ConfigFileEntry.glines)
-       {
-               sendto_one_notice(source_p, ":GLINE disabled, perhaps you want a clustered or remote KLINE?");
-               return 0;
-       }
-
-       if(!IsOperGline(source_p))
-       {
-               sendto_one(source_p, form_str(ERR_NOPRIVS),
-                          me.name, source_p->name, "gline");
-               return 0;
-       }
-
-       host = strchr(parv[1], '@');
-
-       /* specific user@host */
-       if(host != NULL)
-       {
-               user = parv[1];
-               *(host++) = '\0';
-
-               /* gline for "@host", use *@host */
-               if(*user == '\0')
-                       user = splat;
-       }
-       /* just a host? */
-       else
-       {
-               /* ok, its not a host.. abort */
-               if(strchr(parv[1], '.') == NULL)
-               {
-                       sendto_one_notice(source_p, ":Invalid parameters");
-                       return 0;
-               }
-
-               user = splat;
-               host = LOCAL_COPY(parv[1]);
-       }
-
-       reason = LOCAL_COPY(parv[2]);
-
-       if(invalid_gline(source_p, user, host, reason))
-               return 0;
-
-       /* 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_notice(source_p,
-                                  ":Please include at least %d non-wildcard characters with the user@host",
-                                  ConfigFileEntry.min_nonwildcard);
-               return 0;
-       }
-
-       if((ptr = strchr(host, '/')) != NULL)
-       {
-               int bitlen;
-               bitlen = strtol(++ptr, NULL, 10);
-
-               /* ipv4? */
-               if(strchr(host, ':') == NULL)
-               {
-                       if(bitlen < ConfigFileEntry.gline_min_cidr)
-                       {
-                               sendto_one_notice(source_p, ":Cannot set G-Lines with cidr length < %d",
-                                          ConfigFileEntry.gline_min_cidr);
-                               return 0;
-                       }
-               }
-               /* ipv6 */
-               else if(bitlen < ConfigFileEntry.gline_min_cidr6)
-               {
-                       sendto_one_notice(source_p, ":Cannot set G-Lines with cidr length < %d",
-                                  ConfigFileEntry.gline_min_cidr6);
-                       return 0;
-               }
-       }
-
-       /* inform users about the gline before we call majority_gline()
-        * so already voted comes below gline request --fl
-        */
-       sendto_realops_snomask(SNO_GENERAL, 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);
-       ilog(L_GLINE, "R %s %s %s %s %s %s %s",
-            source_p->name, source_p->username, source_p->host, 
-            source_p->servptr->name, user, host, reason);
-
-       /* If at least 3 opers agree this user should be G lined then do it */
-       majority_gline(source_p, user, host, reason);
-
-       /* 4 param version for hyb-7 servers */
-       sendto_server(NULL, NULL, CAP_GLN|CAP_TS6, NOCAPS,
-                       ":%s GLINE %s %s :%s", 
-                       use_id(source_p), user, host, reason);
-       sendto_server(NULL, NULL, CAP_GLN, CAP_TS6,
-                       ":%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->servptr->name, 
-                       user, host, reason);
-       return 0;
-}
-
-/* mc_gline()
- */
-static int
-mc_gline(struct Client *client_p, struct Client *source_p,
-        int parc, const char *parv[])
-{
-       struct Client *acptr;
-       const char *user;
-       const char *host;
-       char *reason;
-       char *ptr;
-
-       /* hyb6 allows empty gline reasons */
-       if(parc < 4 || EmptyString(parv[3]))
-               return 0;
-
-       acptr = source_p;
-
-       user = parv[1];
-       host = parv[2];
-       reason = LOCAL_COPY(parv[3]);
-
-       if(invalid_gline(acptr, user, host, reason))
-               return 0;
-
-       sendto_server(client_p, NULL, CAP_GLN|CAP_TS6, NOCAPS,
-                     ":%s GLINE %s %s :%s",
-                     use_id(acptr), user, host, reason);
-       sendto_server(client_p, NULL, CAP_GLN, CAP_TS6,
-                     ":%s GLINE %s %s :%s",
-                     acptr->name, user, host, reason);
-       sendto_server(client_p, NULL, NOCAPS, CAP_GLN,
-                     ":%s GLINE %s %s %s %s %s %s :%s",
-                     acptr->servptr->name, acptr->name, 
-                     acptr->username, acptr->host,
-                     acptr->servptr->name, user, host, reason);
-
-       if(!ConfigFileEntry.glines)
-               return 0;
-
-       /* check theres enough non-wildcard chars */
-       if(check_wild_gline(user, host))
-       {
-               sendto_realops_snomask(SNO_GENERAL, 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->servptr->name,
-                               ConfigFileEntry.min_nonwildcard,
-                               user, host, reason);
-               return 0;
-       }
-
-       if((ptr = strchr(host, '/')) != NULL)
-       {
-               int bitlen;
-               bitlen = strtol(++ptr, NULL, 10);
-
-               /* ipv4? */
-               if(strchr(host, ':') == NULL)
-               {
-                       if(bitlen < ConfigFileEntry.gline_min_cidr)
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, 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->servptr->name,
-                                                    ConfigFileEntry.gline_min_cidr, 
-                                                    user, host, reason);
-                               return 0;
-                       }
-               }
-               /* ipv6 */
-               else if(bitlen < ConfigFileEntry.gline_min_cidr6)
-               {
-                       sendto_realops_snomask(SNO_GENERAL, 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->servptr->name,
-                                            ConfigFileEntry.gline_min_cidr6,
-                                            user, host, reason);
-                       return 0;
-               }
-       }
-
-
-       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                       "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
-                       acptr->name, acptr->username, acptr->host,
-                       acptr->servptr->name, user, host, reason);
-
-       ilog(L_GLINE, "R %s %s %s %s %s %s %s",
-            source_p->name, source_p->username, source_p->host, 
-            source_p->servptr->name, user, host, reason);
-
-       /* If at least 3 opers agree this user should be G lined then do it */
-       majority_gline(acptr, user, host, reason);
-
-       return 0;
-}
-
-
-/* ms_gline()
- *
- * inputs       - The usual for a m_ function
- * output       -
- * side effects - attempts to place a gline, if 3 opers agree
- */
-static int
-ms_gline(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
-{
-       struct Client *acptr;
-       const char *user;
-       const char *host;
-       char *reason;
-
-       /* hyb6 allows empty gline reasons */
-       if(parc < 8 || EmptyString(parv[7]))
-               return 0;
-
-       /* client doesnt exist.. someones messing */
-       if((acptr = find_client(parv[1])) == NULL)
-               return 0;
-
-       /* client that sent the gline, isnt on the server that sent
-        * the gline out.  somethings fucked.
-        */
-       if(acptr->servptr != source_p)
-               return 0;
-
-       user = parv[5];
-       host = parv[6];
-       reason = LOCAL_COPY(parv[7]);
-
-       if(invalid_gline(acptr, user, host, reason))
-               return 0;
-
-       sendto_server(client_p, NULL, CAP_GLN|CAP_TS6, NOCAPS,
-                     ":%s GLINE %s %s :%s",
-                     use_id(acptr), user, host, reason);
-       sendto_server(client_p, NULL, CAP_GLN, CAP_TS6,
-                     ":%s GLINE %s %s :%s",
-                     acptr->name, user, host, reason);
-       sendto_server(client_p, NULL, NOCAPS, CAP_GLN,
-                     ":%s GLINE %s %s %s %s %s %s :%s",
-                     acptr->servptr->name, acptr->name, 
-                     acptr->username, acptr->host,
-                     acptr->servptr->name, user, host, reason);
-
-       if(!ConfigFileEntry.glines)
-               return 0;
-
-       /* check theres enough non-wildcard chars */
-       if(check_wild_gline(user, host))
-       {
-               sendto_realops_snomask(SNO_GENERAL, 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->servptr->name,
-                               ConfigFileEntry.min_nonwildcard,
-                               user, host, reason);
-               return 0;
-       }
-
-       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                       "%s!%s@%s on %s is requesting gline for [%s@%s] [%s]",
-                       acptr->name, acptr->username, acptr->host,
-                       acptr->servptr->name, user, host, reason);
-
-       ilog(L_GLINE, "R %s %s %s %s %s %s %s",
-            acptr->name, acptr->username, acptr->host, 
-            acptr->servptr->name, user, host, reason);
-
-       /* If at least 3 opers agree this user should be G lined then do it */
-       majority_gline(acptr, user, host, reason);
-
-       return 0;
-}
-
-/* mo_ungline()
- *
- *      parv[0] = sender nick
- *      parv[1] = gline to remove
- */
-static int
-mo_ungline(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
-{
-       const char *user;
-       char *h = LOCAL_COPY(parv[1]);
-       char *host;
-       char splat[] = "*";
-
-       if(!ConfigFileEntry.glines)
-       {
-               sendto_one_notice(source_p, ":UNGLINE disabled, perhaps you want UNKLINE?");
-               return 0;
-       }
-
-       if(!IsOperUnkline(source_p) || !IsOperGline(source_p))
-       {
-               sendto_one(source_p, form_str(ERR_NOPRIVS),
-                          me.name, source_p->name, "unkline");
-               return 0;
-       }
-
-       if((host = strchr(h, '@')) || *h == '*')
-       {
-               /* Explicit user@host mask given */
-
-               if(host)
-               {
-                       *host++ = '\0';
-       
-                       /* check for @host */
-                       if(*h)
-                               user = h;
-                       else
-                               user = splat;
-
-                       if(!*host)
-                               host = splat;
-               }
-               else
-               {
-                       user = splat;
-                       host = h;
-               }
-       }
-       else
-       {
-               sendto_one_notice(source_p, ":Invalid parameters");
-               return 0;
-       }
-
-       if(remove_temp_gline(user, host))
-       {
-               sendto_one_notice(source_p, ":Un-glined [%s@%s]", user, host);
-               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                    "%s has removed the G-Line for: [%s@%s]",
-                                    get_oper_name(source_p), user, host);
-               ilog(L_GLINE, "U %s %s %s %s %s %s",
-                    source_p->name, source_p->username, source_p->host, 
-                    source_p->servptr->name, user, host);
-       }
-       else
-       {
-               sendto_one_notice(source_p, ":No G-Line for %s@%s", user, host);
-       }
-
-       return 0;
-}
-
-/*
- * check_wild_gline
- *
- * inputs       - user, host of gline
- * output       - 1 if not enough non-wildchar char's, 0 if ok
- * side effects - NONE
- */
-static int
-check_wild_gline(const char *user, const char *host)
-{
-       const char *p;
-       char tmpch;
-       int nonwild;
-
-       nonwild = 0;
-       p = user;
-
-       while ((tmpch = *p++))
-       {
-               if(!IsKWildChar(tmpch))
-               {
-                       /* enough of them, break */
-                       if(++nonwild >= ConfigFileEntry.min_nonwildcard)
-                               break;
-               }
-       }
-
-       if(nonwild < ConfigFileEntry.min_nonwildcard)
-       {
-               /* user doesnt, try host */
-               p = host;
-               while ((tmpch = *p++))
-               {
-                       if(!IsKWildChar(tmpch))
-                               if(++nonwild >= ConfigFileEntry.min_nonwildcard)
-                                       break;
-               }
-       }
-
-       if(nonwild < ConfigFileEntry.min_nonwildcard)
-               return 1;
-       else
-               return 0;
-}
-
-/* invalid_gline
- *
- * inputs      - pointer to source client, ident, host and reason
- * outputs     - 1 if invalid, 0 if valid
- * side effects -
- */
-static int
-invalid_gline(struct Client *source_p, const char *luser,
-             const char *lhost, char *lreason)
-{
-       if(strchr(luser, '!'))
-       {
-               sendto_one_notice(source_p, ":Invalid character '!' in gline");
-               return 1;
-       }
-
-       if(strlen(lreason) > BANREASONLEN)
-               lreason[BANREASONLEN] = '\0';
-
-       return 0;
-}
-
-/*
- * set_local_gline
- *
- * inputs      - pointer to oper nick/username/host/server,
- *               victim user/host and reason
- * output      - NONE
- * side effects        -
- */
-static void
-set_local_gline(struct Client *source_p, const char *user,
-               const char *host, const char *reason)
-{
-       char buffer[IRCD_BUFSIZE];
-       struct ConfItem *aconf;
-       const char *current_date;
-       char *my_reason;
-       char *oper_reason;
-
-       current_date = smalldate();
-
-       my_reason = LOCAL_COPY(reason);
-
-       aconf = make_conf();
-       aconf->status = CONF_GLINE;
-       aconf->flags |= CONF_FLAGS_TEMPORARY;
-
-       if(strlen(my_reason) > BANREASONLEN)
-               my_reason[BANREASONLEN-1] = '\0';
-
-       if((oper_reason = strchr(my_reason, '|')) != NULL)
-       {
-               *oper_reason = '\0';
-               oper_reason++;
-
-               if(!EmptyString(oper_reason))
-                       aconf->spasswd = rb_strdup(oper_reason);
-       }
-
-       rb_snprintf(buffer, sizeof(buffer), "%s (%s)", reason, current_date);
-
-       aconf->passwd = rb_strdup(buffer);
-       aconf->user = rb_strdup(user);
-       aconf->host = rb_strdup(host);
-       aconf->hold = rb_current_time() + ConfigFileEntry.gline_time;
-       add_gline(aconf);
-
-       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                            "%s!%s@%s on %s has triggered gline for [%s@%s] [%s]",
-                            source_p->name, source_p->username,
-                            source_p->host, source_p->servptr->name,
-                            user, host, reason);
-       ilog(L_GLINE, "T %s %s %s %s %s %s %s",
-            source_p->name, source_p->username, source_p->host, 
-            source_p->servptr->name, user, host, reason);
-
-       check_glines();
-}
-
-/* majority_gline()
- *
- * input       - client doing gline, user, host and reason of gline
- * output       - YES if there are 3 different opers/servers agree, else NO
- * side effects -
- */
-static int
-majority_gline(struct Client *source_p, const char *user,
-              const char *host, const char *reason)
-{
-       rb_dlink_node *pending_node;
-       struct gline_pending *pending;
-
-       /* to avoid desync.. --fl */
-       cleanup_glines(NULL);
-
-       /* if its already glined, why bother? :) -- fl_ */
-       if(find_is_glined(host, user))
-               return NO;
-
-       RB_DLINK_FOREACH(pending_node, pending_glines.head)
-       {
-               pending = pending_node->data;
-
-               if((irccmp(pending->user, user) == 0) &&
-                  (irccmp(pending->host, host) == 0))
-               {
-                       /* check oper or server hasnt already voted */
-                       if(((irccmp(pending->oper_user1, source_p->username) == 0) ||
-                           (irccmp(pending->oper_host1, source_p->host) == 0)))
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL, "oper has already voted");
-                               return NO;
-                       }
-                       else if(irccmp(pending->oper_server1, source_p->servptr->name) == 0)
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL, "server has already voted");
-                               return NO;
-                       }
-
-                       if(pending->oper_user2[0] != '\0')
-                       {
-                               /* if two other opers on two different servers have voted yes */
-                               if(((irccmp(pending->oper_user2, source_p->username) == 0) ||
-                                   (irccmp(pending->oper_host2, source_p->host) == 0)))
-                               {
-                                       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                                            "oper has already voted");
-                                       return NO;
-                               }
-                               else if(irccmp(pending->oper_server2, source_p->servptr->name) == 0)
-                               {
-                                       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                                            "server has already voted");
-                                       return NO;
-                               }
-
-                               /* trigger the gline using the original reason --fl */
-                               set_local_gline(source_p, user, host,
-                                               pending->reason1);
-
-                               cleanup_glines(NULL);
-                               return YES;
-                       }
-                       else
-                       {
-                               strlcpy(pending->oper_nick2, source_p->name,
-                                       sizeof(pending->oper_nick2));
-                               strlcpy(pending->oper_user2, source_p->username,
-                                       sizeof(pending->oper_user2));
-                               strlcpy(pending->oper_host2, source_p->host,
-                                       sizeof(pending->oper_host2));
-                               pending->reason2 = rb_strdup(reason);
-                               pending->oper_server2 = scache_get_name(source_p->servptr->serv->nameinfo);
-                               pending->last_gline_time = rb_current_time();
-                               pending->time_request2 = rb_current_time();
-                               return NO;
-                       }
-               }
-       }
-
-       /* no pending gline, create a new one */
-       pending = (struct gline_pending *) 
-                           rb_malloc(sizeof(struct gline_pending));
-
-       strlcpy(pending->oper_nick1, source_p->name,
-               sizeof(pending->oper_nick1));
-       strlcpy(pending->oper_user1, source_p->username,
-               sizeof(pending->oper_user1));
-       strlcpy(pending->oper_host1, source_p->host,
-               sizeof(pending->oper_host1));
-
-       pending->oper_server1 = scache_get_name(source_p->servptr->serv->nameinfo);
-
-       strlcpy(pending->user, user, sizeof(pending->user));
-       strlcpy(pending->host, host, sizeof(pending->host));
-       pending->reason1 = rb_strdup(reason);
-       pending->reason2 = NULL;
-
-       pending->last_gline_time = rb_current_time();
-       pending->time_request1 = rb_current_time();
-
-       rb_dlinkAddAlloc(pending, &pending_glines);
-
-       return NO;
-}
-
-/* remove_temp_gline()
- *
- * inputs       - username, hostname to ungline
- * outputs      -
- * side effects - tries to ungline anything that matches
- */
-static int
-remove_temp_gline(const char *user, const char *host)
-{
-       struct ConfItem *aconf;
-       rb_dlink_node *ptr;
-       struct rb_sockaddr_storage addr, caddr;
-       int bits, cbits;
-       int mtype, gtype;
-
-       mtype = parse_netmask(host, (struct sockaddr *)&addr, &bits);
-
-       RB_DLINK_FOREACH(ptr, glines.head)
-       {
-               aconf = ptr->data;
-
-               gtype = parse_netmask(aconf->host, (struct sockaddr *)&caddr, &cbits);
-
-               if(gtype != mtype || (user && irccmp(user, aconf->user)))
-                       continue;
-
-               if(gtype == HM_HOST)
-               {
-                       if(irccmp(aconf->host, host))
-                               continue;
-               }
-               else if(bits != cbits ||
-                       !comp_with_mask_sock((struct sockaddr *)&addr, 
-                                               (struct sockaddr *)&caddr, bits))
-                       continue;
-
-               rb_dlinkDestroy(ptr, &glines);
-               remove_reject_mask(aconf->user, aconf->host);
-               delete_one_address_conf(aconf->host, aconf);
-               return YES;
-       }
-
-       return NO;
-}
index e265e9fa3f1a65994379c6cea1a45719c9156ddf..571c4ba152529595e170e20420279ef743c03367 100644 (file)
@@ -218,12 +218,6 @@ static struct InfoStruct info_table[] = {
                &ConfigFileEntry.fname_klinelog,
                "KLINE etc log file"
        },
-       {
-               "fname_glinelog",
-               OUTPUT_STRING,
-               &ConfigFileEntry.fname_glinelog,
-               "GLINE log file"
-       },
        {
                "fname_operspylog",
                OUTPUT_STRING,
@@ -236,30 +230,6 @@ static struct InfoStruct info_table[] = {
                &ConfigFileEntry.fname_ioerrorlog,
                "IO error log file"
        },
-       {
-               "glines",
-               OUTPUT_BOOLEAN,
-               &ConfigFileEntry.glines,
-               "G-line (network-wide K-line) support"
-       },
-       {
-               "gline_time",
-               OUTPUT_DECIMAL,
-               &ConfigFileEntry.gline_time,
-               "Expiry time for G-lines"
-       },
-       {
-               "gline_min_cidr",
-               OUTPUT_DECIMAL,
-               &ConfigFileEntry.gline_min_cidr,
-               "Minimum CIDR bitlen for ipv4 glines"
-       },
-       {
-               "gline_min_cidr6",
-               OUTPUT_DECIMAL,
-               &ConfigFileEntry.gline_min_cidr6,
-               "Minimum CIDR bitlen for ipv6 glines"
-       },
        {
                "global_snotices",
                OUTPUT_BOOLEAN_YN,
index 35c2f10e76d8862c9ffed3720dbf6b597ca75400..a11d7b5c3dd208be679f1c75f11a5ae63c6ad569 100644 (file)
@@ -67,7 +67,6 @@ static struct mode_table oper_table[] = {
        {"remote",              OPER_REMOTE             },
        {"kline",               OPER_KLINE              },
        {"unkline",             OPER_UNKLINE            },
-       {"gline",               OPER_GLINE              },
        {"nick_changes",        OPER_NICKS              },
        {"rehash",              OPER_REHASH             },
        {"die",                 OPER_DIE                },
@@ -86,7 +85,6 @@ static struct mode_table oper_table[] = {
 /* there is no such table like this anywhere else */
 static struct mode_table auth_client_table[] = {
        {"resv_exempt",         FLAGS2_EXEMPTRESV       },
-       {"gline_exempt",        FLAGS2_EXEMPTGLINE      },
        {"kline_exempt",        FLAGS2_EXEMPTKLINE      },
        {"flood_exempt",        FLAGS2_EXEMPTFLOOD      },
        {"spambot_exempt",      FLAGS2_EXEMPTSPAMBOT    },
index 672e5b7b93d68bd14357a9c56e812d4903ef978b..60d5a187adbffc0f086f050cd3400e332f3dd707 100644 (file)
@@ -30,7 +30,6 @@
 #include "common.h"
 #include "irc_string.h"
 #include "ircd.h"
-#include "s_gline.h"
 #include "s_serv.h"
 #include "numeric.h"
 #include "res.h"
@@ -104,45 +103,6 @@ rehash_omotd(struct Client *source_p)
        oper_motd = cache_file(OPATH, "opers.motd", 0);
 }
 
-static void
-rehash_glines(struct Client *source_p)
-{
-       struct ConfItem *aconf;
-       rb_dlink_node *ptr, *next_ptr;
-
-       sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s is clearing G-lines",
-                               get_oper_name(source_p));
-
-       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, glines.head)
-       {
-               aconf = ptr->data;
-
-               delete_one_address_conf(aconf->host, aconf);
-               rb_dlinkDestroy(ptr, &glines);
-       }
-}
-
-static void
-rehash_pglines(struct Client *source_p)
-{
-       struct gline_pending *glp_ptr;
-       rb_dlink_node *ptr;
-       rb_dlink_node *next_ptr;
-
-       sendto_realops_snomask(SNO_GENERAL, L_ALL, "%s is clearing pending glines",
-                               get_oper_name(source_p));
-
-       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, pending_glines.head)
-       {
-               glp_ptr = ptr->data;
-
-               rb_free(glp_ptr->reason1);
-               rb_free(glp_ptr->reason2);
-               rb_free(glp_ptr);
-               rb_dlinkDestroy(ptr, &pending_glines);
-       }
-}
-
 static void
 rehash_tklines(struct Client *source_p)
 {
@@ -288,8 +248,6 @@ static struct hash_commands rehash_commands[] =
        {"DNS",         rehash_dns              },
        {"MOTD",        rehash_motd             },
        {"OMOTD",       rehash_omotd            },
-       {"GLINES",      rehash_glines           },
-       {"PGLINES",     rehash_pglines          },
        {"TKLINES",     rehash_tklines          },
        {"TDLINES",     rehash_tdlines          },
        {"TXLINES",     rehash_txlines          },
index 33ddcd0f809f2f261431fc71568cfb76251e9711..5927c1d11857c95b524e31ced7c3986aa46da3d1 100644 (file)
@@ -31,7 +31,6 @@
 #include "irc_string.h"
 #include "ircd.h"              /* me */
 #include "listener.h"          /* show_ports */
-#include "s_gline.h"
 #include "msg.h"               /* Message */
 #include "hostmask.h"          /* report_mtrie_conf_links */
 #include "numeric.h"           /* ERR_xxx */
@@ -95,8 +94,6 @@ static void stats_tdeny(struct Client *);
 static void stats_deny(struct Client *);
 static void stats_exempt(struct Client *);
 static void stats_events(struct Client *);
-static void stats_glines(struct Client *);
-static void stats_pending_glines(struct Client *);
 static void stats_hubleaf(struct Client *);
 static void stats_auth(struct Client *);
 static void stats_tklines(struct Client *);
@@ -139,8 +136,6 @@ static struct StatsStruct stats_cmd_table[] = {
        {'E', stats_events,             1, 1, },
        {'f', stats_comm,               1, 1, },
        {'F', stats_comm,               1, 1, },
-       {'g', stats_pending_glines,     1, 0, },
-       {'G', stats_glines,             1, 0, },
        {'h', stats_hubleaf,            0, 0, },
        {'H', stats_hubleaf,            0, 0, },
        {'i', stats_auth,               0, 0, },
@@ -459,89 +454,6 @@ stats_events (struct Client *source_p)
        rb_dump_events(stats_events_cb, source_p);
 }
 
-/* stats_pending_glines()
- *
- * input       - client pointer
- * output      - none
- * side effects - client is shown list of pending glines
- */
-static void
-stats_pending_glines (struct Client *source_p)
-{
-       if(ConfigFileEntry.glines)
-       {
-               rb_dlink_node *pending_node;
-               struct gline_pending *glp_ptr;
-               char timebuffer[MAX_DATE_STRING];
-               struct tm *tmptr;
-
-               RB_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);
-
-                       sendto_one_notice(source_p,
-                                   ":1) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
-                                   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);
-
-                       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_notice(source_p,
-                                           ":2) %s!%s@%s on %s requested gline at %s for %s@%s [%s]",
-                                           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);
-                       }
-               }
-
-               if(rb_dlink_list_length (&pending_glines) > 0)
-                       sendto_one_notice(source_p, ":End of Pending G-lines");
-       }
-       else
-               sendto_one_notice(source_p, ":This server does not support G-Lines");
-
-}
-
-/* stats_glines()
- *
- * input       - client pointer
- * output      - none
- * side effects - client is shown list of glines
- */
-static void
-stats_glines (struct Client *source_p)
-{
-       if(ConfigFileEntry.glines)
-       {
-               rb_dlink_node *gline_node;
-               struct ConfItem *kill_ptr;
-
-               RB_DLINK_FOREACH_PREV (gline_node, glines.tail)
-               {
-                       kill_ptr = gline_node->data;
-
-                       sendto_one_numeric(source_p, RPL_STATSKLINE, 
-                                          form_str(RPL_STATSKLINE), 'G',
-                                           kill_ptr->host ? kill_ptr->host : "*",
-                                           kill_ptr->user ? kill_ptr->user : "*",
-                                           kill_ptr->passwd ? kill_ptr->passwd : "No Reason",
-                                           kill_ptr->spasswd ? "|" : "",
-                                           kill_ptr->spasswd ? kill_ptr->spasswd : "");
-               }
-       }
-       else
-               sendto_one_notice(source_p, ":This server does not support G-Lines");
-}
-
-
 static void
 stats_hubleaf(struct Client *source_p)
 {
index 3a9bb436ebd87efd882ac47bed9333456c959704..51e5b77a25e3b56350fdc87886b5d1b5a6a367cd 100644 (file)
@@ -172,16 +172,6 @@ mo_testline(struct Client *client_p, struct Client *source_p, int parc, const ch
                                buf, aconf->passwd);
                        return 0;
                }
-               else if(aconf->status & CONF_GLINE)
-               {
-                       rb_snprintf(buf, sizeof(buf), "%s@%s",
-                                       aconf->user, aconf->host);
-                       sendto_one(source_p, form_str(RPL_TESTLINE),
-                               me.name, source_p->name,
-                               'G', (long) ((aconf->hold - rb_current_time()) / 60),
-                               buf, aconf->passwd);
-                       return 0;
-               }
        }
 
        /* they asked us to check a nick, so hunt for resvs.. */
index c586e3f9b73b98a4f84a7970d52058499ae38a93..089f5e9fac4ae85f5b47586d6995691258401316 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  m_testmask.c: Shows the number of matching local and global clients
- *                for a user@host mask, helpful when setting GLINE's
+ *                for a user@host mask
  *
  *  Copyright (C) 2003 by W. Campbell
  *  Coypright (C) 2004 ircd-ratbox development team
index 34002f836557c470fc4c159d012e30062bc2b604..05d8bdf09364a91a63e185180f46f5e65b209802 100644 (file)
@@ -122,10 +122,6 @@ confopts(struct Client *source_p)
        if(ConfigChannel.use_except)
                *p++ = 'e';
 
-       if(ConfigFileEntry.glines)
-               *p++ = 'g';
-       *p++ = 'G';
-
        /* might wanna hide this :P */
        if(ServerInfo.hub)
                *p++ = 'H';
index c9256cc04a7c4be372d19917a9b74a1525cade28..88f8071b317034ea0352255d501d7afd56863f80 100644 (file)
@@ -86,7 +86,6 @@ SRCS =                          \
   s_auth.c                      \
   s_conf.c                      \
   s_newconf.c                  \
-  s_gline.c                     \
   s_serv.c                      \
   s_user.c                      \
   scache.c                      \
index b383dbee98edc011e055a5fabee3256040991757..5bb34131b9ee1fad083fdf4cf3a8853049996209 100644 (file)
@@ -34,7 +34,6 @@
 #include "irc_string.h"
 #include "sprintf_irc.h"
 #include "ircd.h"
-#include "s_gline.h"
 #include "numeric.h"
 #include "packet.h"
 #include "s_auth.h"
@@ -444,7 +443,7 @@ notify_banned_client(struct Client *client_p, struct ConfItem *aconf, int ban)
  * check_banned_lines
  * inputs      - NONE
  * output      - NONE
- * side effects - Check all connections for a pending k/d/gline against the
+ * side effects - Check all connections for a pending k/dline against the
  *               client, exit the client if found.
  */
 void
@@ -495,33 +494,6 @@ check_banned_lines(void)
                        notify_banned_client(client_p, aconf, K_LINED);
                        continue;
                }
-               else if((aconf = find_gline(client_p)) != NULL)
-               {
-                       if(IsExemptKline(client_p))
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                               "GLINE over-ruled for %s, client is kline_exempt [%s@%s]",
-                                               get_client_name(client_p, HIDE_IP),
-                                               aconf->user, aconf->host);
-                               continue;
-                       }
-
-                       if(IsExemptGline(client_p))
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                               "GLINE over-ruled for %s, client is gline_exempt [%s@%s]",
-                                               get_client_name(client_p, HIDE_IP),
-                                               aconf->user, aconf->host);
-                               continue;
-                       }
-
-                       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                       "GLINE active for %s",
-                                       get_client_name(client_p, HIDE_IP));
-
-                       notify_banned_client(client_p, aconf, G_LINED);
-                       continue;
-               }
                else if((aconf = find_xline(client_p->info, 1)) != NULL)
                {
                        if(IsExemptKline(client_p))
@@ -611,55 +583,6 @@ check_klines(void)
        }
 }
 
-/* check_glines()
- *
- * inputs       -
- * outputs      -
- * side effects - all clients will be checked for glines
- */
-void
-check_glines(void)
-{
-       struct Client *client_p;
-       struct ConfItem *aconf;
-       rb_dlink_node *ptr;
-       rb_dlink_node *next_ptr;
-
-       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, lclient_list.head)
-       {
-               client_p = ptr->data;
-
-               if(IsMe(client_p) || !IsPerson(client_p))
-                       continue;
-
-               if((aconf = find_gline(client_p)) != NULL)
-               {
-                       if(IsExemptKline(client_p))
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                                    "GLINE over-ruled for %s, client is kline_exempt",
-                                                    get_client_name(client_p, HIDE_IP));
-                               continue;
-                       }
-
-                       if(IsExemptGline(client_p))
-                       {
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                                    "GLINE over-ruled for %s, client is gline_exempt",
-                                                    get_client_name(client_p, HIDE_IP));
-                               continue;
-                       }
-
-                       sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                            "GLINE active for %s",
-                                            get_client_name(client_p, HIDE_IP));
-
-                       notify_banned_client(client_p, aconf, K_LINED);
-                       continue;
-               }
-       }
-}
-
 /* check_dlines()
  *
  * inputs       -
index 0b2b1605d0ba5383fdbb00025f6e2e81960e6613..91b046a53f7f3bf5d453c9f57112b20dca47c8a8 100644 (file)
@@ -404,15 +404,6 @@ find_address_conf(const char *host, const char *sockhost, const char *user,
                        return kconf;
        }
 
-       /* hunt for a gline */
-       if(ConfigFileEntry.glines)
-       {
-               kconf = find_conf_by_address(host, sockhost, NULL, ip, CONF_GLINE, aftype, user);
-
-               if((kconf != NULL) && !IsConfExemptGline(iconf))
-                       return kconf;
-       }
-
        return iconf;
 }
 
@@ -683,8 +674,6 @@ show_iline_prefix(struct Client *sptr, struct ConfItem *aconf, char *name)
                *prefix_ptr++ = '=';
        if(IsOper(sptr) && IsConfExemptFlood(aconf))
                *prefix_ptr++ = '|';
-       if(IsOper(sptr) && IsConfExemptGline(aconf) && !IsConfExemptKline(aconf))
-               *prefix_ptr++ = '_';
        if(IsOper(sptr) && IsConfExemptDNSBL(aconf) && !IsConfExemptKline(aconf))
                *prefix_ptr++ = '$';
        if(IsOper(sptr) && IsConfExemptKline(aconf))
index bf13e0d3f5f617b6e896afa92481ae8b452377e0..86aa10732483663b618fadb2393d7e4e4068edfe 100644 (file)
@@ -37,7 +37,6 @@
 #include "irc_string.h"
 #include "ircd_signal.h"
 #include "sprintf_irc.h"
-#include "s_gline.h"
 #include "msg.h"               /* msgtab */
 #include "hostmask.h"
 #include "numeric.h"
@@ -685,8 +684,6 @@ main(int argc, char *argv[])
 
        ilog(L_MAIN, "Server Ready");
 
-       rb_event_addish("cleanup_glines", cleanup_glines, NULL, CLEANUP_GLINES_TIME);
-
        /* We want try_connections to be called as soon as possible now! -- adrian */
        /* No, 'cause after a restart it would cause all sorts of nick collides */
        /* um.  by waiting even longer, that just means we have even *more*
index 3452ebe7878a8b5bfaaae58310d6c7d50cbfbf3c..3fea75b58e4f4d67353d8aedee480d85a003c4c3 100644 (file)
@@ -50,7 +50,6 @@ static FILE *log_oper;
 static FILE *log_foper;
 static FILE *log_server;
 static FILE *log_kill;
-static FILE *log_gline;
 static FILE *log_kline;
 static FILE *log_operspy;
 static FILE *log_ioerror;
@@ -71,7 +70,6 @@ static struct log_struct log_table[LAST_LOGFILE] =
        { &ConfigFileEntry.fname_serverlog,     &log_server     },
        { &ConfigFileEntry.fname_killlog,       &log_kill       },
        { &ConfigFileEntry.fname_klinelog,      &log_kline      },
-       { &ConfigFileEntry.fname_glinelog,      &log_gline      },
        { &ConfigFileEntry.fname_operspylog,    &log_operspy    },
        { &ConfigFileEntry.fname_ioerrorlog,    &log_ioerror    }
 };
index b436b54aa13e49e7cd6571b1eb174bbb3b8de2fe..ae387a2dd9257be104fe198b989b7e95b156c0d4 100644 (file)
@@ -312,7 +312,6 @@ static struct mode_table oper_table[] = {
        {"remote",              OPER_REMOTE             },
        {"kline",               OPER_KLINE              },
        {"unkline",             OPER_UNKLINE            },
-       {"gline",               OPER_GLINE              },
        {"nick_changes",        OPER_NICKS              },
        {"rehash",              OPER_REHASH             },
        {"die",                 OPER_DIE                },
@@ -334,7 +333,6 @@ static struct mode_table auth_table[] = {
        {"exceed_limit",        CONF_FLAGS_NOLIMIT      },
        {"dnsbl_exempt",        CONF_FLAGS_EXEMPTDNSBL  },
        {"kline_exempt",        CONF_FLAGS_EXEMPTKLINE  },
-       {"gline_exempt",        CONF_FLAGS_EXEMPTGLINE  },
        {"flood_exempt",        CONF_FLAGS_EXEMPTFLOOD  },
        {"spambot_exempt",      CONF_FLAGS_EXEMPTSPAMBOT },
        {"shide_exempt",        CONF_FLAGS_EXEMPTSHIDE  },
@@ -1943,7 +1941,6 @@ static struct ConfEntry conf_log_table[] =
        { "fname_foperlog",     CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_foperlog   },
        { "fname_serverlog",    CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_serverlog  },
        { "fname_killlog",      CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_killlog    },
-       { "fname_glinelog",     CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_glinelog   },
        { "fname_klinelog",     CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_klinelog   },
        { "fname_operspylog",   CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_operspylog },
        { "fname_ioerrorlog",   CF_QSTRING, NULL, MAXPATHLEN, &ConfigFileEntry.fname_ioerrorlog },
@@ -2041,10 +2038,6 @@ static struct ConfEntry conf_general_table[] =
        { "disable_auth",       CF_YESNO, NULL, 0, &ConfigFileEntry.disable_auth        },
        { "dots_in_ident",      CF_INT,   NULL, 0, &ConfigFileEntry.dots_in_ident       },
        { "failed_oper_notice", CF_YESNO, NULL, 0, &ConfigFileEntry.failed_oper_notice  },
-       { "glines",             CF_YESNO, NULL, 0, &ConfigFileEntry.glines              },
-       { "gline_min_cidr",     CF_INT,   NULL, 0, &ConfigFileEntry.gline_min_cidr      },
-       { "gline_min_cidr6",    CF_INT,   NULL, 0, &ConfigFileEntry.gline_min_cidr6     },
-       { "gline_time",         CF_TIME,  NULL, 0, &ConfigFileEntry.gline_time          },
        { "global_snotices",    CF_YESNO, NULL, 0, &ConfigFileEntry.global_snotices     },
        { "hide_spoof_ips",     CF_YESNO, NULL, 0, &ConfigFileEntry.hide_spoof_ips      },
        { "dline_with_reason",  CF_YESNO, NULL, 0, &ConfigFileEntry.dline_with_reason   },
index f9033302604149bd83313f93e15036f72d78fefe..cc316e0ed2c91475e8f0257bc432af84c1300566 100644 (file)
@@ -44,7 +44,6 @@
 #include "numeric.h"
 #include "logger.h"
 #include "send.h"
-#include "s_gline.h"
 #include "reject.h"
 #include "cache.h"
 #include "blacklist.h"
@@ -379,18 +378,6 @@ verify_access(struct Client *client_p, const char *username)
                add_reject(client_p, aconf->user, aconf->host);
                return (BANNED_CLIENT);
        }
-       else if(aconf->status & CONF_GLINE)
-       {
-               sendto_one_notice(client_p, ":*** G-lined");
-
-               if(ConfigFileEntry.kline_with_reason)
-                       sendto_one(client_p,
-                                       form_str(ERR_YOUREBANNEDCREEP),
-                                       me.name, client_p->name, aconf->passwd);
-
-               add_reject(client_p, aconf->user, aconf->host);
-               return (BANNED_CLIENT);
-       }
 
        return NOT_AUTHORISED;
 }
@@ -776,15 +763,10 @@ set_default_conf(void)
        ConfigFileEntry.fname_operlog = NULL;
        ConfigFileEntry.fname_foperlog = NULL;
        ConfigFileEntry.fname_serverlog = NULL;
-       ConfigFileEntry.fname_glinelog = NULL;
        ConfigFileEntry.fname_klinelog = NULL;
        ConfigFileEntry.fname_operspylog = NULL;
        ConfigFileEntry.fname_ioerrorlog = NULL;
-       ConfigFileEntry.glines = NO;
        ConfigFileEntry.use_egd = NO;
-       ConfigFileEntry.gline_time = 12 * 3600;
-       ConfigFileEntry.gline_min_cidr = 16;
-       ConfigFileEntry.gline_min_cidr6 = 48;
        ConfigFileEntry.hide_spoof_ips = YES;
        ConfigFileEntry.hide_error_messages = 1;
        ConfigFileEntry.dots_in_ident = 0;
diff --git a/src/s_gline.c b/src/s_gline.c
deleted file mode 100644 (file)
index 326c6da..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- *  ircd-ratbox: A slightly useful ircd.
- *  s_gline.c: GLine global ban functions.
- *
- *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
- *  Copyright (C) 1996-2002 Hybrid Development Team
- *  Copyright (C) 2002-2005 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: s_gline.c 254 2005-09-21 23:35:12Z nenolod $
- */
-
-#include "stdinc.h"
-#include "channel.h"
-#include "client.h"
-#include "common.h"
-#include "config.h"
-#include "irc_string.h"
-#include "ircd.h"
-#include "hostmask.h"
-#include "numeric.h"
-#include "s_conf.h"
-#include "scache.h"
-#include "send.h"
-#include "msg.h"
-#include "s_serv.h"
-#include "s_gline.h"
-#include "hash.h"
-
-rb_dlink_list glines;
-
-static void expire_glines(void);
-static void expire_pending_glines(void);
-
-/* add_gline
- *
- * inputs       - pointer to struct ConfItem
- * output       - none
- * Side effects - links in given struct ConfItem into gline link list
- */
-void
-add_gline(struct ConfItem *aconf)
-{
-       rb_dlinkAddTailAlloc(aconf, &glines);
-       add_conf_by_address(aconf->host, CONF_GLINE, aconf->user, aconf);
-}
-
-/*
- * find_is_glined
- * inputs       - hostname
- *              - username
- * output       - pointer to struct ConfItem if user@host glined
- * side effects -
- */
-struct ConfItem *
-find_is_glined(const char *host, const char *user)
-{
-       rb_dlink_node *gline_node;
-       struct ConfItem *kill_ptr;
-
-       RB_DLINK_FOREACH(gline_node, glines.head)
-       {
-               kill_ptr = gline_node->data;
-               if((kill_ptr->user && (!user || match(kill_ptr->user, user)))
-                  && (kill_ptr->host && (!host || match(kill_ptr->host, host))))
-               {
-                       return (kill_ptr);
-               }
-       }
-
-       return (NULL);
-}
-
-/*
- * cleanup_glines
- *
- * inputs      - NONE
- * output      - NONE
- * side effects - expire gline lists
- *                This is an event started off in ircd.c
- */
-void
-cleanup_glines(void *unused)
-{
-       expire_glines();
-       expire_pending_glines();
-}
-
-/*
- * expire_glines
- * 
- * inputs       - NONE
- * output       - NONE
- * side effects -
- *
- * Go through the gline list, expire any needed.
- */
-static void
-expire_glines()
-{
-       rb_dlink_node *gline_node;
-       rb_dlink_node *next_node;
-       struct ConfItem *kill_ptr;
-
-       RB_DLINK_FOREACH_SAFE(gline_node, next_node, glines.head)
-       {
-               kill_ptr = gline_node->data;
-
-               /* these are in chronological order */
-               if(kill_ptr->hold > rb_current_time())
-                       break;
-
-               rb_dlinkDestroy(gline_node, &glines);
-               delete_one_address_conf(kill_ptr->host, kill_ptr);
-       }
-}
-
-/*
- * expire_pending_glines
- * 
- * inputs       - NONE
- * output       - NONE
- * side effects -
- *
- * Go through the pending gline list, expire any that haven't had
- * enough "votes" in the time period allowed
- */
-static void
-expire_pending_glines()
-{
-       rb_dlink_node *pending_node;
-       rb_dlink_node *next_node;
-       struct gline_pending *glp_ptr;
-
-       RB_DLINK_FOREACH_SAFE(pending_node, next_node, pending_glines.head)
-       {
-               glp_ptr = pending_node->data;
-
-               if(((glp_ptr->last_gline_time + GLINE_PENDING_EXPIRE) <=
-                   rb_current_time()) || find_is_glined(glp_ptr->host, glp_ptr->user))
-
-               {
-                       rb_free(glp_ptr->reason1);
-                       rb_free(glp_ptr->reason2);
-                       rb_free(glp_ptr);
-                       rb_dlinkDestroy(pending_node, &pending_glines);
-               }
-       }
-}
index c73db3df04ef4181be0f5ff08ad4d9240c658329..1bf84ad03f451de2f6ef99e84c589d686e64f3a6 100644 (file)
@@ -327,7 +327,6 @@ struct oper_flags
 };
 static struct oper_flags oper_flagtable[] =
 {
-       { OPER_GLINE,           'G', 'g' },
        { OPER_KLINE,           'K', 'k' },
        { OPER_XLINE,           'X', 'x' },
        { OPER_RESV,            'Q', 'q' },
index f8d5e0ca1ad54d65d4eaf22c888f2d090c92bc65..f55d688bae17589cf37e9ba91a769cccf1c6e4ab 100644 (file)
@@ -818,15 +818,6 @@ report_and_set_user_flags(struct Client *source_p, struct ConfItem *aconf)
                sendto_one_notice(source_p, ":*** You are exempt from K/G/X lines. congrats.");
        }
 
-       if(IsConfExemptGline(aconf))
-       {
-               SetExemptGline(source_p);
-
-               /* dont send both a kline and gline exempt notice */
-               if(!IsConfExemptKline(aconf))
-                       sendto_one_notice(source_p, ":*** You are exempt from G lines.");
-       }
-
        if(IsConfExemptDNSBL(aconf))
                /* kline exempt implies this, don't send both */
                if(!IsConfExemptKline(aconf))
index d3174834becef54eef70a7bbe4dff7e3cbab58f3..eb19a87a2abb1ba65374d957b22e893a82a964ec 100644 (file)
@@ -38,7 +38,6 @@
 #define FLAGS_RESTRICTED       0x001
 #define FLAGS_EXCEEDLIMIT      0x002
 #define FLAGS_KLINEEXEMPT      0x004
-#define FLAGS_GLINEEXEMPT      0x008
 #define FLAGS_NEEDIDENT                0x010
 #define FLAGS_NOTILDE          0x020
 
@@ -52,7 +51,6 @@ static struct flag_table_struct flag_table[] =
        { "restricted",         FLAGS_RESTRICTED        },
        { "exceed_limit",       FLAGS_EXCEEDLIMIT       },
        { "kline_exempt",       FLAGS_KLINEEXEMPT       },
-       { "gline_exempt",       FLAGS_GLINEEXEMPT       },
        { "need_ident",         FLAGS_NEEDIDENT         },
        { "no_tilde",           FLAGS_NOTILDE           },
        { NULL, 0 }
@@ -592,11 +590,6 @@ void set_flags(struct AuthBlock *ptr, const char *user_field, const char *host_f
              ptr->special = 1;
              break;
 
-         case '_':
-             ptr->flags |= FLAGS_GLINEEXEMPT;
-             ptr->special = 1;
-             break;
-
          case '!':
           case '$':
           case '%':