Browse Source

nasty: host_dns used to run before forking and chrooting etc, so it was

guaranteed that its res_init() call was done once before fork etc...
that is no longer the case. call res_init() in main() early.
OPENBSD_3_7
henning 20 years ago
parent
commit
62c3d341a1
2 changed files with 4 additions and 3 deletions
  1. +1
    -2
      src/usr.sbin/ntpd/config.c
  2. +3
    -1
      src/usr.sbin/ntpd/ntpd.c

+ 1
- 2
src/usr.sbin/ntpd/config.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: config.c,v 1.16 2005/03/08 14:59:36 henning Exp $ */
/* $OpenBSD: config.c,v 1.17 2005/03/09 20:31:11 henning Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -121,7 +121,6 @@ host_dns(const char *s, struct ntp_addr **hn)
bzero(&hints, sizeof(hints)); bzero(&hints, sizeof(hints));
hints.ai_family = PF_UNSPEC; hints.ai_family = PF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM; /* DUMMY */ hints.ai_socktype = SOCK_DGRAM; /* DUMMY */
res_init(); /* XXX */
error = getaddrinfo(s, NULL, &hints, &res0); error = getaddrinfo(s, NULL, &hints, &res0);
if (error == EAI_AGAIN || error == EAI_NODATA || error == EAI_NONAME) if (error == EAI_AGAIN || error == EAI_NODATA || error == EAI_NONAME)
return (0); return (0);


+ 3
- 1
src/usr.sbin/ntpd/ntpd.c View File

@ -1,4 +1,4 @@
/* $OpenBSD: ntpd.c,v 1.30 2005/03/08 14:28:55 henning Exp $ */
/* $OpenBSD: ntpd.c,v 1.31 2005/03/09 20:31:11 henning Exp $ */
/* /*
* Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@ -25,6 +25,7 @@
#include <fcntl.h> #include <fcntl.h>
#include <poll.h> #include <poll.h>
#include <pwd.h> #include <pwd.h>
#include <resolv.h>
#include <signal.h> #include <signal.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
@ -90,6 +91,7 @@ main(int argc, char *argv[])
bzero(&conf, sizeof(conf)); bzero(&conf, sizeof(conf));
log_init(1); /* log to stderr until daemonized */ log_init(1); /* log to stderr until daemonized */
res_init(); /* XXX */
while ((ch = getopt(argc, argv, "df:sS")) != -1) { while ((ch = getopt(argc, argv, "df:sS")) != -1) {
switch (ch) { switch (ch) {


Loading…
Cancel
Save