Add command line switch '-n' to disable DNS
This commit is contained in:
parent
f3c60e6c62
commit
460786f474
15
dns.c
15
dns.c
@ -38,8 +38,6 @@
|
||||
void dns_dispatch(int, short, void *);
|
||||
void dns_done(int, short, void *);
|
||||
|
||||
int dns_pipe;
|
||||
|
||||
struct icbd_dnsquery {
|
||||
uint64_t sid;
|
||||
union {
|
||||
@ -48,6 +46,10 @@ struct icbd_dnsquery {
|
||||
} u;
|
||||
};
|
||||
|
||||
int dns_pipe;
|
||||
|
||||
extern int dodns;
|
||||
|
||||
int
|
||||
dns_init(void)
|
||||
{
|
||||
@ -172,11 +174,14 @@ dns_done(int fd, short event, void *arg __attribute__((unused)))
|
||||
syslog(LOG_DEBUG, "icbd_dns: resolved %s", is->host);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
dns_rresolv(struct icb_session *is, struct sockaddr_storage *ss)
|
||||
{
|
||||
struct icbd_dnsquery q;
|
||||
|
||||
if (!dodns)
|
||||
return;
|
||||
|
||||
if (verbose)
|
||||
syslog(LOG_DEBUG, "resolving: %s", is->host);
|
||||
|
||||
@ -185,8 +190,6 @@ dns_rresolv(struct icb_session *is, struct sockaddr_storage *ss)
|
||||
memcpy(&q.u.req, ss, sizeof *ss);
|
||||
if (write(dns_pipe, &q, sizeof q) != sizeof q) {
|
||||
syslog(LOG_ERR, "write: %m");
|
||||
exit (EX_OSERR);
|
||||
exit(EX_OSERR);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
4
icbd.8
4
icbd.8
@ -22,7 +22,7 @@
|
||||
.Sh SYNOPSIS
|
||||
.Nm icbd
|
||||
.Bk -words
|
||||
.Op Fl 46Cdv
|
||||
.Op Fl 46Cdnv
|
||||
.Oo
|
||||
.Fl G Ar group1 Ns Op , Ns Ar ...
|
||||
.Oc
|
||||
@ -80,6 +80,8 @@ can be granted with moderation of any group.
|
||||
.Ar modtab
|
||||
file contains one nick per line; empty lines and lines starting with
|
||||
a hash symbol are ignored.
|
||||
.Ir Fl n
|
||||
Disable DNS resolver.
|
||||
.It Fl S Ar name
|
||||
Set the server's name to
|
||||
.Ar name .
|
||||
|
6
icbd.c
6
icbd.c
@ -49,6 +49,7 @@ char srvname[MAXHOSTNAMELEN];
|
||||
int creategroups;
|
||||
int foreground;
|
||||
char logprefix[MAXPATHLEN/2];
|
||||
int dodns = 1;
|
||||
int dologging;
|
||||
int verbose;
|
||||
|
||||
@ -88,7 +89,7 @@ main(int argc, char *argv[])
|
||||
/* init group lists before calling icb_addgroup */
|
||||
icb_init(&ic);
|
||||
|
||||
while ((ch = getopt(argc, argv, "46CdG:M:L:S:v")) != -1)
|
||||
while ((ch = getopt(argc, argv, "46CdG:M:nL:S:v")) != -1)
|
||||
switch (ch) {
|
||||
case '4':
|
||||
inet4++;
|
||||
@ -112,6 +113,9 @@ main(int argc, char *argv[])
|
||||
case 'M':
|
||||
icbd_modtab(optarg);
|
||||
break;
|
||||
case 'n':
|
||||
dodns = 0;
|
||||
break;
|
||||
case 'S':
|
||||
strlcpy(srvname, optarg, sizeof srvname);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user