diff options
author | des <des@FreeBSD.org> | 2003-01-22 14:12:59 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2003-01-22 14:12:59 +0000 |
commit | d37413d05a024b522e18a7dd43fab8efe2ca81fa (patch) | |
tree | aeb448cbc9cb48aa81f9699176b0db630064f622 /crypto | |
parent | 4664e1b2f96c570d91686022d74c3248de776b37 (diff) | |
download | FreeBSD-src-d37413d05a024b522e18a7dd43fab8efe2ca81fa.zip FreeBSD-src-d37413d05a024b522e18a7dd43fab8efe2ca81fa.tar.gz |
Force early initialization of the resolver library, since the resolver
configuration files will no longer be available once sshd is chrooted.
PR: 39953, 40894
Submitted by: dinoex
MFC after: 3 days
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/openssh/sshd.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/crypto/openssh/sshd.c b/crypto/openssh/sshd.c index 4a8e4cc..cb25d36 100644 --- a/crypto/openssh/sshd.c +++ b/crypto/openssh/sshd.c @@ -54,6 +54,10 @@ RCSID("$FreeBSD$"); #include <prot.h> #endif +#ifdef __FreeBSD__ +#include <resolv.h> +#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. |