|
 |
87cf9a |
diff -up cups-1.6.3/cups/auth.c.resolv_reload cups-1.6.3/cups/auth.c
|
|
 |
87cf9a |
--- cups-1.6.3/cups/auth.c.resolv_reload 2013-06-07 03:12:52.000000000 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/auth.c 2017-04-07 13:34:55.224510840 +0200
|
|
 |
87cf9a |
@@ -527,6 +527,18 @@ cups_gss_getname(
|
|
 |
87cf9a |
DEBUG_printf(("7cups_gss_getname(http=%p, service_name=\"%s\")", http,
|
|
 |
87cf9a |
service_name));
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+ /*
|
|
 |
87cf9a |
+ * Check if /etc/resolv.conf is modified.
|
|
 |
87cf9a |
+ * If so, reload resolver.
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ DEBUG_printf(("1cups_gss_getname: dnsReloadResolver() failed - %s.", strerror(retval.errnum)));
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
* Get the hostname...
|
|
 |
87cf9a |
diff -up cups-1.6.3/cups/http-addr.c.resolv_reload cups-1.6.3/cups/http-addr.c
|
|
 |
87cf9a |
--- cups-1.6.3/cups/http-addr.c.resolv_reload 2017-04-07 13:34:55.112511816 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/http-addr.c 2017-04-07 13:34:55.224510840 +0200
|
|
 |
87cf9a |
@@ -220,6 +220,20 @@ httpAddrLookup(
|
|
 |
87cf9a |
|
|
 |
87cf9a |
#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
+ * Check if /etc/resolv.conf is modified.
|
|
 |
87cf9a |
+ * If so, reload resolver and set need_res_init to 0.
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_RELOADED && cg->need_res_init == 1)
|
|
 |
87cf9a |
+ cg->need_res_init = 0;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ DEBUG_printf(("1httpAddrLookup: dnsReloadResolver() failed - %s.", strerror(retval.errnum)));
|
|
 |
87cf9a |
+ /*
|
|
 |
87cf9a |
* STR #2920: Initialize resolver after failure in cups-polld
|
|
 |
87cf9a |
*
|
|
 |
87cf9a |
* If the previous lookup failed, re-initialize the resolver to prevent
|
|
 |
87cf9a |
diff -up cups-1.6.3/cups/http-addrlist.c.resolv_reload cups-1.6.3/cups/http-addrlist.c
|
|
 |
87cf9a |
--- cups-1.6.3/cups/http-addrlist.c.resolv_reload 2017-04-07 13:34:55.112511816 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/http-addrlist.c 2017-04-07 13:34:55.224510840 +0200
|
|
 |
87cf9a |
@@ -389,6 +389,20 @@ httpAddrGetList(const char *hostname, /*
|
|
 |
87cf9a |
|
|
 |
87cf9a |
#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
+ * Check if /etc/resolv.conf is modified.
|
|
 |
87cf9a |
+ * If so, reload resolver and set cg->need_res_init to 0
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_RELOADED && cg->need_res_init == 1)
|
|
 |
87cf9a |
+ cg->need_res_init = 0;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ DEBUG_printf(("1httpAddrGetList: dnsReloadResolver() failed - %s.", strerror(retval.errnum)));
|
|
 |
87cf9a |
+ /*
|
|
 |
87cf9a |
* STR #2920: Initialize resolver after failure in cups-polld
|
|
 |
87cf9a |
*
|
|
 |
87cf9a |
* If the previous lookup failed, re-initialize the resolver to prevent
|
|
 |
87cf9a |
diff -up cups-1.6.3/cups/http.c.resolv_reload cups-1.6.3/cups/http.c
|
|
 |
87cf9a |
--- cups-1.6.3/cups/http.c.resolv_reload 2017-04-07 13:34:55.207510988 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/http.c 2017-04-10 21:21:41.528795395 +0200
|
|
 |
87cf9a |
@@ -4795,6 +4795,108 @@ _httpTLSSetOptions(int options)
|
|
 |
87cf9a |
tls_options = options;
|
|
 |
87cf9a |
}
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+/*
|
|
 |
87cf9a |
+ * Function to check modification time of resolv.conf.
|
|
 |
87cf9a |
+ * If time is changed, it reloads resolver.
|
|
 |
87cf9a |
+ * If /etc/resolv.conf doesn't exist, it tries to reload resolver with local nameserver, if it wasn't reloaded before
|
|
 |
87cf9a |
+ * If even reloading resolver with local nameserver doesn't work, it ends with error.
|
|
 |
87cf9a |
+ * Global variable resolv_conf_modtime is set to -1 before the first call of this function - this is for prevention of resolver's reloading when cupsd is just started and resolv.conf exists - cupsd has current configuration in that case.
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+dns_resolver_reload_rv
|
|
 |
87cf9a |
+dnsReloadResolver()
|
|
 |
87cf9a |
+{
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval, lstat_retval, stat_retval, res_init_retval;
|
|
 |
87cf9a |
+ struct stat resolv_conf_stat, resolv_conf_lstat, resolv_conf_status;
|
|
 |
87cf9a |
+ retval.status = DNS_RESOLVER_RELOAD_OK;
|
|
 |
87cf9a |
+ retval.errnum = 0;
|
|
 |
87cf9a |
+ stat_retval.errnum = 0;
|
|
 |
87cf9a |
+ lstat_retval.errnum = 0;
|
|
 |
87cf9a |
+ res_init_retval.errnum = 0;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* Variable to store /etc/resolv.conf modification time - initialized by actual time*/
|
|
 |
87cf9a |
+ static time_t resolv_conf_modtime = -1;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* This part of code is to ensure we get modification time of symlink and original file - we will decide which is newer later */
|
|
 |
87cf9a |
+ stat_retval.status = stat(DNS_RESOLV_CONF_PATH, &resolv_conf_stat);
|
|
 |
87cf9a |
+ stat_retval.errnum = errno;
|
|
 |
87cf9a |
+ lstat_retval.status = lstat(DNS_RESOLV_CONF_PATH, &resolv_conf_lstat);
|
|
 |
87cf9a |
+ lstat_retval.errnum = errno;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* symlink /etc/resolv.conf or original file couldn't be stated because it doesn't exist, try resolver on localhost
|
|
 |
87cf9a |
+ * Covers cases:
|
|
 |
87cf9a |
+ * - resolv.conf and original file existed and it doesn't now - resolv_conf_modtime has different value than 0 - reload resolver with local nameserver
|
|
 |
87cf9a |
+ * - resolv.conf and original file didn't exist and still doesn't exist - resolv_conf_modtime is set to 0 - do nothing
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+ if (stat_retval.status == -1 && lstat_retval.status == -1 && stat_retval.errnum == ENOENT && lstat_retval.errnum == ENOENT)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ /* if resolv_conf_modtime is set to 0, it means previous reload was for resolver with local nameserver - no need to reload again */
|
|
 |
87cf9a |
+ if (resolv_conf_modtime != 0)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ res_init_retval.status = res_init();
|
|
 |
87cf9a |
+ res_init_retval.errnum = errno;
|
|
 |
87cf9a |
+ if (res_init_retval.status == 0)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ resolv_conf_modtime = 0;
|
|
 |
87cf9a |
+ retval.status = DNS_RESOLVER_RELOAD_RELOADED;
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+ else
|
|
 |
87cf9a |
+ retval.status = res_init_retval.status;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval.errnum = res_init_retval.errnum;
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+ else
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ retval.status = DNS_RESOLVER_RELOAD_OK;
|
|
 |
87cf9a |
+ retval.errnum = ENOENT;
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ return (retval);
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* If stat ends with different errno, return status - it should return both statuses and errnos, but for simplification it returns only stat */
|
|
 |
87cf9a |
+ if (stat_retval.status == -1 && lstat_retval.status == -1)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ retval.errnum = stat_retval.errnum;
|
|
 |
87cf9a |
+ retval.status = stat_retval.status;
|
|
 |
87cf9a |
+ return (retval);
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* Here we compare modification times from lstat and stat to decide which is newer - if they are equal, lstat modification time is used. We are checking only stat() errno, because case with errors in both lstat() and stat() functions is checked before */
|
|
 |
87cf9a |
+ if (stat_retval.errnum == 0)
|
|
 |
87cf9a |
+ if (resolv_conf_stat.st_mtime > resolv_conf_lstat.st_mtime)
|
|
 |
87cf9a |
+ resolv_conf_status = resolv_conf_stat;
|
|
 |
87cf9a |
+ else
|
|
 |
87cf9a |
+ resolv_conf_status = resolv_conf_lstat;
|
|
 |
87cf9a |
+ else
|
|
 |
87cf9a |
+ resolv_conf_status = resolv_conf_lstat;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ /* If /etc/resolv.conf exists and modification times are different, reload resolver.
|
|
 |
87cf9a |
+ * Covers cases:
|
|
 |
87cf9a |
+ * - resolv.conf or original file exists and it was modified - resolv_conf_modtime has different value than resolv_conf_status.st_mtime - reload resolver with nameserver from /etc/resolv.conf
|
|
 |
87cf9a |
+ * - resolv.conf or original file didn't exist and it does now - resolv_conf_modtime is set to 0 and resolv_conf_status.st_mtime has value - reload resolver with nameserver form /etc/resolv.conf
|
|
 |
87cf9a |
+ * - resolv.conf or original file exists and it wasn't modified - resolv_conf_modtime is equal to resolv_conf_status.st_mtime - do nothing
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+ if (resolv_conf_status.st_mtime != resolv_conf_modtime)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ res_init_retval.status = res_init();
|
|
 |
87cf9a |
+ res_init_retval.errnum = errno;
|
|
 |
87cf9a |
+ if (res_init_retval.status == 0)
|
|
 |
87cf9a |
+ {
|
|
 |
87cf9a |
+ retval.status = DNS_RESOLVER_RELOAD_RELOADED;
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+ else
|
|
 |
87cf9a |
+ retval.status = res_init_retval.status;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval.errnum = res_init_retval.errnum;
|
|
 |
87cf9a |
+ }
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ resolv_conf_modtime = resolv_conf_status.st_mtime;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ return (retval);
|
|
 |
87cf9a |
+}
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
* End of "$Id: http.c 7850 2008-08-20 00:07:25Z mike $".
|
|
 |
87cf9a |
diff -up cups-1.6.3/cups/http.h.resolv_reload cups-1.6.3/cups/http.h
|
|
 |
87cf9a |
--- cups-1.6.3/cups/http.h.resolv_reload 2013-06-07 03:12:52.000000000 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/http.h 2017-04-07 13:34:55.225510832 +0200
|
|
 |
87cf9a |
@@ -60,6 +60,12 @@ typedef off_t ssize_t; /* @private@ */
|
|
 |
87cf9a |
# define SO_PEERCRED LOCAL_PEERCRED
|
|
 |
87cf9a |
# endif /* LOCAL_PEERCRED && !SO_PEERCRED */
|
|
 |
87cf9a |
# endif /* WIN32 */
|
|
 |
87cf9a |
+# ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+# include <sys/stat.h>
|
|
 |
87cf9a |
+# include <unistd.h>
|
|
 |
87cf9a |
+# include <arpa/nameser.h>
|
|
 |
87cf9a |
+# include <resolv.h>
|
|
 |
87cf9a |
+# endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
@@ -102,6 +108,13 @@ extern "C" {
|
|
 |
87cf9a |
#endif /* AF_INET6 && !s6_addr32 */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+/*
|
|
 |
87cf9a |
+ * Global variable for storing old modification time of resolv.conf
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+ extern time_t resolv_conf_modtime;
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
* Limits...
|
|
 |
87cf9a |
*/
|
|
 |
87cf9a |
@@ -110,6 +123,9 @@ extern "C" {
|
|
 |
87cf9a |
# define HTTP_MAX_HOST 256 /* Max length of hostname string */
|
|
 |
87cf9a |
# define HTTP_MAX_BUFFER 2048 /* Max length of data buffer */
|
|
 |
87cf9a |
# define HTTP_MAX_VALUE 256 /* Max header field value length */
|
|
 |
87cf9a |
+# ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+# define DNS_RESOLV_CONF_PATH "/etc/resolv.conf" /* Path to resolv.conf */
|
|
 |
87cf9a |
+# endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
@@ -290,6 +306,15 @@ typedef enum http_version_e /**** HTTP
|
|
 |
87cf9a |
HTTP_1_1 = 101 /* HTTP/1.1 */
|
|
 |
87cf9a |
} http_version_t;
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+typedef enum dns_resolver_reload_e
|
|
 |
87cf9a |
+{
|
|
 |
87cf9a |
+ DNS_RESOLVER_RELOAD_ERROR = -1,
|
|
 |
87cf9a |
+ DNS_RESOLVER_RELOAD_OK = 0,
|
|
 |
87cf9a |
+ DNS_RESOLVER_RELOAD_RELOADED = 1
|
|
 |
87cf9a |
+} dns_resolver_reload_t;
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
typedef union _http_addr_u /**** Socket address union, which
|
|
 |
87cf9a |
**** makes using IPv6 and other
|
|
 |
87cf9a |
**** address types easier and
|
|
 |
87cf9a |
@@ -328,6 +353,13 @@ typedef struct http_credential_s /**** H
|
|
 |
87cf9a |
typedef int (*http_timeout_cb_t)(http_t *http, void *user_data);
|
|
 |
87cf9a |
/**** HTTP timeout callback @since CUPS 1.5/OS X 10.7@ ****/
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+typedef struct dns_resolver_reload_retval
|
|
 |
87cf9a |
+{
|
|
 |
87cf9a |
+ dns_resolver_reload_t status;
|
|
 |
87cf9a |
+ int errnum;
|
|
 |
87cf9a |
+} dns_resolver_reload_rv;
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
@@ -472,6 +504,11 @@ extern http_version_t httpGetVersion(htt
|
|
 |
87cf9a |
extern int httpReconnect2(http_t *http, int msec, int *cancel)
|
|
 |
87cf9a |
_CUPS_API_1_6;
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+/**** Prototype of function to check modification time of /etc/resolv.conf ****/
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+extern dns_resolver_reload_rv dnsReloadResolver();
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
* C++ magic...
|
|
 |
87cf9a |
diff -up cups-1.6.3/cups/http-support.c.resolv_reload cups-1.6.3/cups/http-support.c
|
|
 |
87cf9a |
--- cups-1.6.3/cups/http-support.c.resolv_reload 2017-04-07 13:34:55.130511659 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/cups/http-support.c 2017-04-07 13:34:55.225510832 +0200
|
|
 |
87cf9a |
@@ -2095,6 +2095,18 @@ http_resolve_cb(
|
|
 |
87cf9a |
http_addrlist_t *addrlist, /* List of addresses */
|
|
 |
87cf9a |
*addr; /* Current address */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+ /*
|
|
 |
87cf9a |
+ * Check if resolv.conf is modified, if so, reload resolver
|
|
 |
87cf9a |
+ */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval;
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ DEBUG_printf(("1http_resolve_cb: dnsReloadResolver() failed - %s.", strerror(retval.errnum)));
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
DEBUG_printf(("8http_resolve_cb: Looking up \"%s\".", hostTarget));
|
|
 |
87cf9a |
|
|
 |
87cf9a |
snprintf(fqdn, sizeof(fqdn), "%d", ntohs(port));
|
|
 |
87cf9a |
diff -up cups-1.6.3/scheduler/conf.c.resolv_reload cups-1.6.3/scheduler/conf.c
|
|
 |
87cf9a |
--- cups-1.6.3/scheduler/conf.c.resolv_reload 2017-04-07 13:34:55.213510936 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/scheduler/conf.c 2017-04-07 13:34:55.226510823 +0200
|
|
 |
87cf9a |
@@ -859,6 +859,15 @@ cupsdReadConfiguration(void)
|
|
 |
87cf9a |
if (!RemotePort)
|
|
 |
87cf9a |
BrowseLocalProtocols = 0; /* Disable sharing - no remote access */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval; /* Return status of dnsReloadResolver() */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ syslog(LOG_LPR, "1cupsdReadConfiguration: dnsReloadResolver() failed - %s.", strerror(retval.errnum));
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
/*
|
|
 |
87cf9a |
* See if the ServerName is an IP address...
|
|
 |
87cf9a |
*/
|
|
 |
87cf9a |
diff -up cups-1.6.3/scheduler/main.c.resolv_reload cups-1.6.3/scheduler/main.c
|
|
 |
87cf9a |
--- cups-1.6.3/scheduler/main.c.resolv_reload 2017-04-07 13:34:55.149511494 +0200
|
|
 |
87cf9a |
+++ cups-1.6.3/scheduler/main.c 2017-04-07 13:34:55.226510823 +0200
|
|
 |
87cf9a |
@@ -164,6 +164,14 @@ main(int argc, /* I - Number of comm
|
|
 |
87cf9a |
long tmo_delay; /* Time before it must be called */
|
|
 |
87cf9a |
#endif /* HAVE_AVAHI */
|
|
 |
87cf9a |
|
|
 |
87cf9a |
+#ifdef HAVE_RES_INIT
|
|
 |
87cf9a |
+ dns_resolver_reload_rv retval; /* Return status from dnsReloadResolver() */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
+ retval = dnsReloadResolver();
|
|
 |
87cf9a |
+ if (retval.status == DNS_RESOLVER_RELOAD_ERROR)
|
|
 |
87cf9a |
+ fprintf(stderr, "cupsd: Cannot reload a resolver - %s , using old configuration now.\n", strerror(retval.errnum));
|
|
 |
87cf9a |
+#endif /* HAVE_RES_INIT */
|
|
 |
87cf9a |
+
|
|
 |
87cf9a |
|
|
 |
87cf9a |
#ifdef HAVE_GETEUID
|
|
 |
87cf9a |
/*
|