summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2003-01-22 14:12:59 +0000
committerdes <des@FreeBSD.org>2003-01-22 14:12:59 +0000
commitd37413d05a024b522e18a7dd43fab8efe2ca81fa (patch)
treeaeb448cbc9cb48aa81f9699176b0db630064f622 /crypto
parent4664e1b2f96c570d91686022d74c3248de776b37 (diff)
downloadFreeBSD-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.c15
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.
OpenPOWER on IntegriCloud