From 1fc244c82f3531b3c43f7ad91e5d51c4bb2b952e Mon Sep 17 00:00:00 2001 From: Michael Graff Date: Fri, 18 Feb 2000 01:37:38 +0000 Subject: [PATCH] parse /etc/resolv.conf, but don't yet do much about it. --- bin/lwresd/main.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/bin/lwresd/main.c b/bin/lwresd/main.c index f94f208179..23fbd789e2 100644 --- a/bin/lwresd/main.c +++ b/bin/lwresd/main.c @@ -34,6 +34,7 @@ #include #include +#include #include "client.h" @@ -128,6 +129,31 @@ mem_free(void *arg, void *mem, size_t size) isc_mem_put(arg, mem, size); } +static void +parse_resolv_conf(isc_mem_t *mem) +{ + lwres_conf_t lwc; + lwres_context_t *lwctx; + int lwresult; + + lwctx = NULL; + lwresult = lwres_context_create(&lwctx, mem, mem_alloc, mem_free); + if (lwresult != LWRES_R_SUCCESS) + return; + + lwres_conf_init(lwctx, &lwc); + + lwresult = lwres_conf_parse("/etc/resolv.conf", &lwc); + if (lwresult != LWRES_R_SUCCESS) + goto out; + + lwres_conf_print(stderr, &lwc); + + out: + lwres_conf_clear(&lwc); + lwres_context_destroy(&lwctx); +} + int main(int argc, char **argv) { @@ -200,6 +226,11 @@ main(int argc, char **argv) result = isc_timermgr_create(mem, &timermgr); INSIST(result == ISC_R_SUCCESS); + /* + * Read resolv.conf to get our forwarders. + */ + parse_resolv_conf(mem); + /* * Initialize the DNS bits. Start by loading our built-in * root hints. This should come from a file, eventually.