authd: pass in uint32_t rid's.
This commit is contained in:
parent
ee7f92714a
commit
26d491b95f
4 changed files with 17 additions and 12 deletions
|
@ -53,6 +53,7 @@ static void
|
|||
handle_stat(int parc, char *parv[])
|
||||
{
|
||||
authd_stat_handler handler;
|
||||
long lrid;
|
||||
|
||||
if(parc < 3)
|
||||
{
|
||||
|
@ -60,10 +61,16 @@ handle_stat(int parc, char *parv[])
|
|||
return;
|
||||
}
|
||||
|
||||
if((lrid = strtol(parv[1], NULL, 16)) > UINT32_MAX)
|
||||
{
|
||||
warn_opers(L_CRIT, "BUG: handle_stat got a rid that was too large: %lx", lrid);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(handler = authd_stat_handlers[(unsigned char)parv[2][0]]))
|
||||
return;
|
||||
|
||||
handler(parv[1], parv[2][0]);
|
||||
handler((uint32_t)lrid, parv[2][0]);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -40,7 +40,7 @@ struct auth_opts_handler
|
|||
extern rb_helper *authd_helper;
|
||||
|
||||
typedef void (*authd_cmd_handler)(int parc, char *parv[]);
|
||||
typedef void (*authd_stat_handler)(const char *rid, const char letter);
|
||||
typedef void (*authd_stat_handler)(uint32_t rid, const char letter);
|
||||
typedef void (*authd_reload_handler)(const char letter);
|
||||
|
||||
extern authd_cmd_handler authd_cmd_handlers[256];
|
||||
|
|
16
authd/dns.c
16
authd/dns.c
|
@ -252,17 +252,15 @@ handle_resolve_dns(int parc, char *parv[])
|
|||
}
|
||||
|
||||
void
|
||||
enumerate_nameservers(const char *rid, const char letter)
|
||||
enumerate_nameservers(uint32_t rid, const char letter)
|
||||
{
|
||||
char buf[(HOSTIPLEN + 1) * IRCD_MAXNS];
|
||||
char *c = buf;
|
||||
size_t s = 0;
|
||||
uint32_t i_rid = (uint32_t)strtol(rid, NULL, 16);
|
||||
|
||||
if (!irc_nscount)
|
||||
{
|
||||
/* Shouldn't happen */
|
||||
stats_error(i_rid, letter, "NONAMESERVERS");
|
||||
stats_error(rid, letter, "NONAMESERVERS");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -276,19 +274,19 @@ enumerate_nameservers(const char *rid, const char letter)
|
|||
if (!addr[0])
|
||||
{
|
||||
/* Shouldn't happen */
|
||||
stats_error(i_rid, letter, "INVALIDNAMESERVER");
|
||||
stats_error(rid, letter, "INVALIDNAMESERVER");
|
||||
return;
|
||||
}
|
||||
|
||||
addrlen = strlen(addr) + 1;
|
||||
(void)snprintf(c, sizeof(buf) - s, "%s ", addr);
|
||||
c += addrlen;
|
||||
(void)snprintf(&buf[s], sizeof(buf) - s, "%s ", addr);
|
||||
s += addrlen;
|
||||
}
|
||||
|
||||
*(--c) = '\0';
|
||||
if(s > 0)
|
||||
buf[--s] = '\0';
|
||||
|
||||
stats_result(i_rid, letter, "%s", buf);
|
||||
stats_result(rid, letter, "%s", buf);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -55,7 +55,7 @@ extern struct dns_query *lookup_ip(const char *host, int aftype, DNSCB callback,
|
|||
extern void cancel_query(struct dns_query *query);
|
||||
|
||||
extern void handle_resolve_dns(int parc, char *parv[]);
|
||||
extern void enumerate_nameservers(const char *rid, const char letter);
|
||||
extern void enumerate_nameservers(uint32_t rid, const char letter);
|
||||
extern void reload_nameservers(const char letter);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue