]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/s_newconf.c
'rb_dlink_list global_channel_list' declaration moved to channel.c
[irc/rqf/shadowircd.git] / src / s_newconf.c
index 222a32e0739c6e1979d0e62c01477ff7e3904cc2..af81101009e6d7167807fe6577b1e41182469d31 100644 (file)
@@ -43,7 +43,6 @@
 #include "hostmask.h"
 #include "newconf.h"
 #include "hash.h"
-#include "sprintf_irc.h"
 #include "irc_dictionary.h"
 
 rb_dlink_list shared_conf_list;
@@ -284,7 +283,7 @@ struct oper_conf *
 find_oper_conf(const char *username, const char *host, const char *locip, const char *name)
 {
        struct oper_conf *oper_p;
-       struct irc_sockaddr_storage ip, cip;
+       struct rb_sockaddr_storage ip, cip;
        char addr[HOSTLEN+1];
        int bits, cbits;
        rb_dlink_node *ptr;
@@ -299,7 +298,7 @@ find_oper_conf(const char *username, const char *host, const char *locip, const
                if(irccmp(oper_p->name, name) || !match(oper_p->username, username))
                        continue;
 
-               strlcpy(addr, oper_p->host, sizeof(addr));
+               rb_strlcpy(addr, oper_p->host, sizeof(addr));
 
                if(parse_netmask(addr, (struct sockaddr *)&ip, &bits) != HM_HOST)
                {
@@ -322,49 +321,48 @@ find_oper_conf(const char *username, const char *host, const char *locip, const
 struct oper_flags
 {
        int flag;
-       char has;
-       char hasnt;
+       const char *name;
 };
 static struct oper_flags oper_flagtable[] =
 {
-       { OPER_GLINE,           'G', 'g' },
-       { OPER_KLINE,           'K', 'k' },
-       { OPER_XLINE,           'X', 'x' },
-       { OPER_RESV,            'Q', 'q' },
-       { OPER_GLOBKILL,        'O', 'o' },
-       { OPER_LOCKILL,         'C', 'c' },
-       { OPER_REMOTE,          'R', 'r' },
-       { OPER_UNKLINE,         'U', 'u' },
-       { OPER_REHASH,          'H', 'h' },
-       { OPER_DIE,             'D', 'd' },
-       { OPER_ADMIN,           'A', 'a' },
-       { OPER_NICKS,           'N', 'n' },
-       { OPER_OPERWALL,        'L', 'l' },
-       { OPER_SPY,             'S', 's' },
-       { OPER_INVIS,           'P', 'p' },
-       { OPER_REMOTEBAN,       'B', 'b' },
-       { OPER_MASSNOTICE,      'M', 'm' },
-       { 0,                    '\0', '\0' }
+       { OPER_KLINE,           "kline"        },
+       { OPER_XLINE,           "xline"        },
+       { OPER_RESV,            "resv"         },
+       { OPER_GLOBKILL,        "global_kill"  },
+       { OPER_LOCKILL,         "local_kill"   },
+       { OPER_REMOTE,          "remote"       },
+       { OPER_UNKLINE,         "unkline"      },
+       { OPER_REHASH,          "rehash"       },
+       { OPER_DIE,             "die"          },
+       { OPER_ADMIN,           "admin"        },
+        { OPER_HADMIN,          "hidden_admin" },
+       { OPER_NICKS,           "nick_changes" },
+       { OPER_OPERWALL,        "operwall"     },
+       { OPER_SPY,             "spy"          },
+       { OPER_INVIS,           "hidden_oper"  },
+       { OPER_REMOTEBAN,       "remoteban"    },
+       { OPER_MASSNOTICE,      "mass_notice"  },
+       { 0,                    NULL }
 };
 
 const char *
 get_oper_privs(int flags)
 {
-       static char buf[20];
+       static char buf[BUFSIZE];
        char *p;
        int i;
 
        p = buf;
+       *p = '\0';
 
        for(i = 0; oper_flagtable[i].flag; i++)
-       {
-               if(flags & oper_flagtable[i].flag)
-                       *p++ = oper_flagtable[i].has;
-               else
-                       *p++ = oper_flagtable[i].hasnt;
-       }
+               if (flags & oper_flagtable[i].flag)
+               {
+                       if(*buf != '\0')
+                               rb_strlcat(buf, ", ", sizeof(buf));
 
-       *p = '\0';
+                       rb_strlcat(buf, oper_flagtable[i].name, sizeof(buf));
+               }
 
        return buf;
 }
@@ -490,7 +488,7 @@ detach_server_conf(struct Client *client_p)
 }
 
 void
-set_server_conf_autoconn(struct Client *source_p, char *name, int newval)
+set_server_conf_autoconn(struct Client *source_p, const char *name, int newval)
 {
        struct server_conf *server_p;
 
@@ -756,7 +754,7 @@ add_nd_entry(const char *name)
 
        nd = rb_bh_alloc(nd_heap);
        
-       strlcpy(nd->name, name, sizeof(nd->name));
+       rb_strlcpy(nd->name, name, sizeof(nd->name));
        nd->expire = rb_current_time() + ConfigFileEntry.nick_delay;
 
        /* this list is ordered */