diff --git a/crypto/openssh/sshd.c b/crypto/openssh/sshd.c index 4a8e4cc0f52e..cb25d36bf3f1 100644 --- a/crypto/openssh/sshd.c +++ b/crypto/openssh/sshd.c @@ -54,6 +54,10 @@ RCSID("$FreeBSD$"); #include #endif +#ifdef __FreeBSD__ +#include +#endif + #include "ssh.h" #include "ssh1.h" #include "ssh2.h" @@ -1418,6 +1422,17 @@ main(int ac, char **av) sizeof(on)) < 0) error("setsockopt SO_KEEPALIVE: %.100s", strerror(errno)); +#ifdef __FreeBSD__ + /* + * Initialize the resolver. This may not happen automatically + * before privsep chroot(). + */ + if ((_res.options & RES_INIT) == 0) { + debug("res_init()"); + res_init(); + } +#endif + /* * Register our connection. This turns encryption off because we do * not have a key.