Replace old 2.8-style privileges notice with a new one.
This commit is contained in:
parent
890423fbf9
commit
0866cef3c1
1 changed files with 25 additions and 26 deletions
|
@ -321,48 +321,47 @@ find_oper_conf(const char *username, const char *host, const char *locip, const
|
||||||
struct oper_flags
|
struct oper_flags
|
||||||
{
|
{
|
||||||
int flag;
|
int flag;
|
||||||
char has;
|
const char *name;
|
||||||
char hasnt;
|
|
||||||
};
|
};
|
||||||
static struct oper_flags oper_flagtable[] =
|
static struct oper_flags oper_flagtable[] =
|
||||||
{
|
{
|
||||||
{ OPER_KLINE, 'K', 'k' },
|
{ OPER_KLINE, "kline" },
|
||||||
{ OPER_XLINE, 'X', 'x' },
|
{ OPER_XLINE, "xline" },
|
||||||
{ OPER_RESV, 'Q', 'q' },
|
{ OPER_RESV, "resv" },
|
||||||
{ OPER_GLOBKILL, 'O', 'o' },
|
{ OPER_GLOBKILL, "global_kill" },
|
||||||
{ OPER_LOCKILL, 'C', 'c' },
|
{ OPER_LOCKILL, "local_kill" },
|
||||||
{ OPER_REMOTE, 'R', 'r' },
|
{ OPER_REMOTE, "remote" },
|
||||||
{ OPER_UNKLINE, 'U', 'u' },
|
{ OPER_UNKLINE, "unkline" },
|
||||||
{ OPER_REHASH, 'H', 'h' },
|
{ OPER_REHASH, "rehash" },
|
||||||
{ OPER_DIE, 'D', 'd' },
|
{ OPER_DIE, "die" },
|
||||||
{ OPER_ADMIN, 'A', 'a' },
|
{ OPER_ADMIN, "admin" },
|
||||||
{ OPER_NICKS, 'N', 'n' },
|
{ OPER_HADMIN, "hidden_admin" },
|
||||||
{ OPER_OPERWALL, 'L', 'l' },
|
{ OPER_NICKS, "nick_changes" },
|
||||||
{ OPER_SPY, 'S', 's' },
|
{ OPER_OPERWALL, "operwall" },
|
||||||
{ OPER_INVIS, 'P', 'p' },
|
{ OPER_SPY, "spy" },
|
||||||
{ OPER_REMOTEBAN, 'B', 'b' },
|
{ OPER_INVIS, "hidden_oper" },
|
||||||
{ OPER_MASSNOTICE, 'M', 'm' },
|
{ OPER_REMOTEBAN, "remoteban" },
|
||||||
{ 0, '\0', '\0' }
|
{ OPER_MASSNOTICE, "mass_notice" },
|
||||||
|
{ 0, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
get_oper_privs(int flags)
|
get_oper_privs(int flags)
|
||||||
{
|
{
|
||||||
static char buf[20];
|
static char buf[BUFSIZE];
|
||||||
char *p;
|
char *p;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
p = buf;
|
p = buf;
|
||||||
|
*p = '\0';
|
||||||
|
|
||||||
for(i = 0; oper_flagtable[i].flag; i++)
|
for(i = 0; oper_flagtable[i].flag; i++)
|
||||||
{
|
{
|
||||||
if(flags & oper_flagtable[i].flag)
|
if(i)
|
||||||
*p++ = oper_flagtable[i].has;
|
rb_strlcat(buf, ", ", sizeof(buf));
|
||||||
else
|
|
||||||
*p++ = oper_flagtable[i].hasnt;
|
|
||||||
}
|
|
||||||
|
|
||||||
*p = '\0';
|
rb_strlcat(buf, oper_flagtable[i].name, sizeof(buf));
|
||||||
|
}
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue