X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/68876ea24b3d1782d404a39989ad855b328e5304..1a218aaf7502c1f4c80970828a6381c4b5432c65:/src/s_newconf.c?ds=sidebyside diff --git a/src/s_newconf.c b/src/s_newconf.c index 222a32e..af81101 100644 --- a/src/s_newconf.c +++ b/src/s_newconf.c @@ -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 */