]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Remove dnsmasq patches
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 9 Jul 2015 10:31:32 +0000 (12:31 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 9 Jul 2015 11:10:46 +0000 (13:10 +0200)
These are not applied any more because dnsmasq was updated
to the latest release version.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
118 files changed:
src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch [deleted file]
src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch [deleted file]
src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch [deleted file]
src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch [deleted file]
src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch [deleted file]
src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch [deleted file]
src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch [deleted file]
src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch [deleted file]
src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch [deleted file]
src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch [deleted file]
src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch [deleted file]
src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch [deleted file]
src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch [deleted file]
src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch [deleted file]
src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch [deleted file]
src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch [deleted file]
src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch [deleted file]
src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch [deleted file]
src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch [deleted file]
src/patches/dnsmasq/0020-Initialise-return-value.patch [deleted file]
src/patches/dnsmasq/0021-Add-ignore-address-option.patch [deleted file]
src/patches/dnsmasq/0022-Bad-packet-protection.patch [deleted file]
src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch [deleted file]
src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch [deleted file]
src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch [deleted file]
src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch [deleted file]
src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch [deleted file]
src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch [deleted file]
src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch [deleted file]
src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch [deleted file]
src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch [deleted file]
src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch [deleted file]
src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch [deleted file]
src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch [deleted file]
src/patches/dnsmasq/0035-Update-German-translation.patch [deleted file]
src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch [deleted file]
src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch [deleted file]
src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch [deleted file]
src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch [deleted file]
src/patches/dnsmasq/0040-inotify-documentation-updates.patch [deleted file]
src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch [deleted file]
src/patches/dnsmasq/0042-BSD-make-support.patch [deleted file]
src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch [deleted file]
src/patches/dnsmasq/0044-Manpage-typo-fix.patch [deleted file]
src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch [deleted file]
src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch [deleted file]
src/patches/dnsmasq/0047-man-page-typo.patch [deleted file]
src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch [deleted file]
src/patches/dnsmasq/0049-Typos.patch [deleted file]
src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch [deleted file]
src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch [deleted file]
src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch [deleted file]
src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch [deleted file]
src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch [deleted file]
src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch [deleted file]
src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch [deleted file]
src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch [deleted file]
src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch [deleted file]
src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch [deleted file]
src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch [deleted file]
src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch [deleted file]
src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch [deleted file]
src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch [deleted file]
src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch [deleted file]
src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch [deleted file]
src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch [deleted file]
src/patches/dnsmasq/0067-Merge-message-translations.patch [deleted file]
src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch [deleted file]
src/patches/dnsmasq/0069-Whitespace-fixes.patch [deleted file]
src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch [deleted file]
src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch [deleted file]
src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch [deleted file]
src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch [deleted file]
src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch [deleted file]
src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch [deleted file]
src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch [deleted file]
src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch [deleted file]
src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch [deleted file]
src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch [deleted file]
src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch [deleted file]
src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch [deleted file]
src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch [deleted file]
src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch [deleted file]
src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch [deleted file]
src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch [deleted file]
src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch [deleted file]
src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch [deleted file]
src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch [deleted file]
src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch [deleted file]
src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch [deleted file]
src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch [deleted file]
src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch [deleted file]
src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch [deleted file]
src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch [deleted file]
src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch [deleted file]
src/patches/dnsmasq/0093-Tweak-last-commit.patch [deleted file]
src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch [deleted file]
src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch [deleted file]
src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch [deleted file]
src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch [deleted file]
src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch [deleted file]
src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch [deleted file]
src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch [deleted file]
src/patches/dnsmasq/0099-Man-page-typo.patch [deleted file]
src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch [deleted file]
src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch [deleted file]
src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch [deleted file]
src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch [deleted file]
src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch [deleted file]
src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch [deleted file]
src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch [deleted file]
src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch [deleted file]
src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch [deleted file]
src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch [deleted file]
src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch [deleted file]
src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch [deleted file]
src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch [deleted file]
src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch [deleted file]

diff --git a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch
deleted file mode 100644 (file)
index 3c67b64..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-From f2658275b25ebfe691cdcb9fede85a3088cca168 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 25 Sep 2014 21:51:25 +0100
-Subject: [PATCH 001/113] Add newline at the end of example config file.
-
----
- dnsmasq.conf.example | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
-index 83924fc4a9b4..6b00bd34fbb5 100644
---- a/dnsmasq.conf.example
-+++ b/dnsmasq.conf.example
-@@ -645,4 +645,4 @@
- #conf-dir=/etc/dnsmasq.d,.bak
- # Include all files in a directory which end in .conf
--#conf-dir=/etc/dnsmasq.d/*.conf
-\ No newline at end of file
-+#conf-dir=/etc/dnsmasq.d/*.conf
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch
deleted file mode 100644 (file)
index 090892d..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-From 00cd9d551998307225312fd21f761cfa8868bd2c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 2 Oct 2014 21:44:21 +0100
-Subject: [PATCH 002/113] crash at startup when an empty suffix is supplied to
- --conf-dir
-
----
- CHANGELOG    |  6 ++++++
- src/option.c | 38 +++++++++++++++++++++++---------------
- 2 files changed, 29 insertions(+), 15 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 768e2aaca42a..13ab41c05fc3 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -1,3 +1,9 @@
-+version 2.73
-+            Fix crash at startup when an empty suffix is supplied to
-+          --conf-dir, also trivial memory leak. Thanks to 
-+          Tomas Hozza for spotting this.
-+      
-+
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/option.c b/src/option.c
-index 45d8875fb7f9..b08e98e16f84 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -1474,22 +1474,25 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       for (arg = comma; arg; arg = comma) 
-         {
-           comma = split(arg);
--          li = opt_malloc(sizeof(struct list));
--          if (*arg == '*')
-+          if (strlen(arg) != 0)
-             {
--              li->next = match_suffix;
--              match_suffix = li;
--              /* Have to copy: buffer is overwritten */
--              li->suffix = opt_string_alloc(arg+1);
--            }
--          else
--            {
--              li->next = ignore_suffix;
--              ignore_suffix = li;
--              /* Have to copy: buffer is overwritten */
--              li->suffix = opt_string_alloc(arg);
-+              li = opt_malloc(sizeof(struct list));
-+              if (*arg == '*')
-+                {
-+                  li->next = match_suffix;
-+                  match_suffix = li;
-+                  /* Have to copy: buffer is overwritten */
-+                  li->suffix = opt_string_alloc(arg+1);
-+                }
-+              else
-+                {
-+                  li->next = ignore_suffix;
-+                  ignore_suffix = li;
-+                  /* Have to copy: buffer is overwritten */
-+                  li->suffix = opt_string_alloc(arg);
-+                }
-             }
--        };
-+        }
-       
-       if (!(dir_stream = opendir(directory)))
-         die(_("cannot access directory %s: %s"), directory, EC_FILE);
-@@ -1555,7 +1558,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-           free(ignore_suffix->suffix);
-           free(ignore_suffix);
-         }
--            
-+      for(; match_suffix; match_suffix = li)
-+        {
-+          li = match_suffix->next;
-+          free(match_suffix->suffix);
-+          free(match_suffix);
-+        }    
-       break;
-       }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch
deleted file mode 100644 (file)
index 1fcb041..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-From 6ac3bc0452a74e16e3d620a0757b0f8caab182ec Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 3 Oct 2014 08:48:11 +0100
-Subject: [PATCH 003/113] Debian build fixes for kFreeBSD
-
----
- src/tables.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/tables.c b/src/tables.c
-index 834f11944cd0..dcdef794c4d2 100644
---- a/src/tables.c
-+++ b/src/tables.c
-@@ -20,6 +20,10 @@
- #if defined(HAVE_IPSET) && defined(HAVE_BSD_NETWORK)
-+#ifndef __FreeBSD__
-+#include <bsd/string.h>
-+#endif
-+
- #include <sys/types.h>
- #include <sys/ioctl.h>
-@@ -136,7 +140,7 @@ int add_to_ipset(const char *setname, const struct all_addr *ipaddr,
-       return -1;
-     }
-   
--  if (rc = pfr_add_tables(&table, 1, &n, 0)) 
-+  if ((rc = pfr_add_tables(&table, 1, &n, 0))) 
-     {
-       my_syslog(LOG_WARNING, _("warning: pfr_add_tables: %s(%d)"),
-               pfr_strerror(errno),rc);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch
deleted file mode 100644 (file)
index f734fbc..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From e9828b6f66b22ce8873f8d30a773137d1aef1b92 Mon Sep 17 00:00:00 2001
-From: Karl Vogel <karl.vogel@gmail.com>
-Date: Fri, 3 Oct 2014 21:45:15 +0100
-Subject: [PATCH 004/113] Set conntrack mark before connect() call.
-
-SO_MARK has to be done before issuing the connect() call on the
-TCP socket.
----
- src/forward.c | 36 ++++++++++++++++++------------------
- 1 file changed, 18 insertions(+), 18 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 4895efeba89a..2cf29eba6e26 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -1796,6 +1796,24 @@ unsigned char *tcp_request(int confd, time_t now,
-                         if ((last_server->tcpfd = socket(last_server->addr.sa.sa_family, SOCK_STREAM, 0)) == -1)
-                           continue;
-                         
-+#ifdef HAVE_CONNTRACK
-+                        /* Copy connection mark of incoming query to outgoing connection. */
-+                        if (option_bool(OPT_CONNTRACK))
-+                          {
-+                            unsigned int mark;
-+                            struct all_addr local;
-+#ifdef HAVE_IPV6                    
-+                            if (local_addr->sa.sa_family == AF_INET6)
-+                              local.addr.addr6 = local_addr->in6.sin6_addr;
-+                            else
-+#endif
-+                              local.addr.addr4 = local_addr->in.sin_addr;
-+                            
-+                            if (get_incoming_mark(&peer_addr, &local, 1, &mark))
-+                              setsockopt(last_server->tcpfd, SOL_SOCKET, SO_MARK, &mark, sizeof(unsigned int));
-+                          }
-+#endif        
-+                    
-                         if ((!local_bind(last_server->tcpfd,  &last_server->source_addr, last_server->interface, 1) ||
-                              connect(last_server->tcpfd, &last_server->addr.sa, sa_len(&last_server->addr)) == -1))
-                           {
-@@ -1820,24 +1838,6 @@ unsigned char *tcp_request(int confd, time_t now,
-                             size = new_size;
-                           }
- #endif
--                        
--#ifdef HAVE_CONNTRACK
--                        /* Copy connection mark of incoming query to outgoing connection. */
--                        if (option_bool(OPT_CONNTRACK))
--                          {
--                            unsigned int mark;
--                            struct all_addr local;
--#ifdef HAVE_IPV6                    
--                            if (local_addr->sa.sa_family == AF_INET6)
--                              local.addr.addr6 = local_addr->in6.sin6_addr;
--                            else
--#endif
--                              local.addr.addr4 = local_addr->in.sin_addr;
--                            
--                            if (get_incoming_mark(&peer_addr, &local, 1, &mark))
--                              setsockopt(last_server->tcpfd, SOL_SOCKET, SO_MARK, &mark, sizeof(unsigned int));
--                          }
--#endif        
-                       }
-                     
-                     *length = htons(size);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch
deleted file mode 100644 (file)
index ef70ae3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 17b475912f6a4e72797a543dad59d4d5dde6bb1b Mon Sep 17 00:00:00 2001
-From: Daniel Collins <daniel.collins@smoothwall.net>
-Date: Fri, 3 Oct 2014 21:58:43 +0100
-Subject: [PATCH 005/113] Fix typo in new Dbus code.
-
-Simon's fault.
----
- src/dbus.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/dbus.c b/src/dbus.c
-index 15fed906bd90..a2a94dc85dac 100644
---- a/src/dbus.c
-+++ b/src/dbus.c
-@@ -426,7 +426,7 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name)
-     }
-   else
-     {
--      my_syslog(LOG_INFO, "Disabling --$s option from D-Bus", name);
-+      my_syslog(LOG_INFO, "Disabling --%s option from D-Bus", name);
-       reset_option_bool(flag);
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch
deleted file mode 100644 (file)
index c6dc31e..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-From 3d9d2dd0018603a2ae4b9cd65ac6ff959f4fd8c7 Mon Sep 17 00:00:00 2001
-From: Tomas Hozza <thozza@redhat.com>
-Date: Mon, 6 Oct 2014 10:46:48 +0100
-Subject: [PATCH 006/113] Fit example conf file typo.
-
----
- dnsmasq.conf.example | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
-index 6b00bd34fbb5..1bd305dbdbad 100644
---- a/dnsmasq.conf.example
-+++ b/dnsmasq.conf.example
-@@ -645,4 +645,4 @@
- #conf-dir=/etc/dnsmasq.d,.bak
- # Include all files in a directory which end in .conf
--#conf-dir=/etc/dnsmasq.d/*.conf
-+#conf-dir=/etc/dnsmasq.d/,*.conf
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch
deleted file mode 100644 (file)
index bc24281..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-From b9ff5c8f435173cfa616e3c398bdc089ef690a07 Mon Sep 17 00:00:00 2001
-From: Vladislav Grishenko <themiron@mail.ru>
-Date: Mon, 6 Oct 2014 14:34:24 +0100
-Subject: [PATCH 007/113] Improve RFC-compliance when unable to supply
- addresses in DHCPv6
-
-While testing https://github.com/sbyx/odhcp6c client I have noticed it
-permanently crashes after startup.
-
-The reason was it (odhcp6c) doesn't expect empty IA options in ADVERTISE
-message without any suboptions.
-
-Despite this validation bug of odhcp6c, dnsmasq should not generate
-ADVERTISE messages with IA if there's nothing to advert per  RFC 3315
-17.2.2:
-
-   If the server will not assign any addresses to any IAs in a
-
-   subsequent Request from the client, the server MUST send an Advertise
-
-   message to the client that includes only a Status Code option with
-
-   code NoAddrsAvail and a status message for the user, a Server
-
-   Identifier option with the server's DUID, and a Client Identifier
-
-   option with the client's DUID.
-
-Meanwhile it's need to add status code for every IA in REPLY message per
-RFC3315 18.2.1:
-
-   If the server cannot assign any addresses to an IA in the message
-   from the client, the server MUST include the IA in the Reply message
-   with no addresses in the IA and a Status Code option in the IA
-   containing status code NoAddrsAvail.
-
-So, I've changed the logic to skip IA completely from ADVERTISE messages and
-to add NoAddrsAvail subcode into IA of REPLY messages.
-
-As for overhead, yes, I believe it's ok to return NoAddrsAvail twice in IA
-and in global section for compatibility with all old and new clients.
----
- src/rfc3315.c | 27 +++++++++++++++++++++++++--
- 1 file changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index 5ebf09d50ac1..ddb390bf1136 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -691,6 +691,8 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
- #endif
-           o = build_ia(state, &t1cntr);
-+          if (address_assigned)
-+              address_assigned = 2;
-           for (ia_counter = 0; ia_option; ia_counter++, ia_option = opt6_find(opt6_next(ia_option, ia_end), ia_end, OPTION6_IAADDR, 24))
-             {
-@@ -781,6 +783,27 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-               address_assigned = 1;
-             }
-           
-+          if (address_assigned != 1)
-+            {
-+              /* If the server will not assign any addresses to any IAs in a
-+                 subsequent Request from the client, the server MUST send an Advertise
-+                 message to the client that doesn't include any IA options. */
-+              if (!state->lease_allocate)
-+                {
-+                  save_counter(o);
-+                  continue;
-+                }
-+              
-+              /* If the server cannot assign any addresses to an IA in the message
-+                 from the client, the server MUST include the IA in the Reply message
-+                 with no addresses in the IA and a Status Code option in the IA
-+                 containing status code NoAddrsAvail. */
-+              o1 = new_opt6(OPTION6_STATUS_CODE);
-+              put_opt6_short(DHCP6NOADDRS);
-+              put_opt6_string(_("address unavailable"));
-+              end_opt6(o1);
-+            }
-+          
-           end_ia(t1cntr, min_time, 0);
-           end_opt6(o);        
-         }
-@@ -806,7 +829,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-           put_opt6_short(DHCP6NOADDRS);
-           put_opt6_string(_("no addresses available"));
-           end_opt6(o1);
--          log6_packet(state, "DHCPADVERTISE", NULL, _("no addresses available"));
-+          log6_packet(state, state->lease_allocate ? "DHCPREPLY" : "DHCPADVERTISE", NULL, _("no addresses available"));
-         }
-       break;
-@@ -862,7 +885,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-                     {
-                       /* Static range, not configured. */
-                       o1 = new_opt6(OPTION6_STATUS_CODE);
--                      put_opt6_short(DHCP6UNSPEC);
-+                      put_opt6_short(DHCP6NOADDRS);
-                       put_opt6_string(_("address unavailable"));
-                       end_opt6(o1);
-                     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch
deleted file mode 100644 (file)
index 47f0ea6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 98906275a02ae260fe3f82133bd79054f8315f06 Mon Sep 17 00:00:00 2001
-From: Hans Dedecker <dedeckeh@gmail.com>
-Date: Tue, 9 Dec 2014 22:22:53 +0000
-Subject: [PATCH 008/113] Fix conntrack with --bind-interfaces
-
-Make sure dst_addr is assigned the correct address in receive_query when OPTNOWILD is
-enabled so the assigned mark can be correctly retrieved and set in forward_query when
-conntrack is enabled.
-
-Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
----
- src/forward.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 2cf29eba6e26..408a179a20f4 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -1048,7 +1048,7 @@ void receive_query(struct listener *listen, time_t now)
-   /* packet buffer overwritten */
-   daemon->srv_save = NULL;
-   
--  dst_addr_4.s_addr = 0;
-+  dst_addr_4.s_addr = dst_addr.addr.addr4.s_addr = 0;
-   netmask.s_addr = 0;
-   
-   if (option_bool(OPT_NOWILD) && listen->iface)
-@@ -1057,7 +1057,7 @@ void receive_query(struct listener *listen, time_t now)
-      
-       if (listen->family == AF_INET)
-       {
--        dst_addr_4 = listen->iface->addr.in.sin_addr;
-+        dst_addr_4 = dst_addr.addr.addr4 = listen->iface->addr.in.sin_addr;
-         netmask = listen->iface->netmask;
-       }
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch
deleted file mode 100644 (file)
index 3cefd02..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-From 193de4abf59e49c6b70d54cfe9720fcb95ca2f71 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 10 Dec 2014 17:32:16 +0000
-Subject: [PATCH 009/113] Use inotify instead of polling on Linux.
-
-This should solve problems people are seeing when a file changes
-twice within a second and thus is missed for polling.
----
- Makefile       |   2 +-
- bld/Android.mk |   2 +-
- src/dnsmasq.c  |  25 ++++++++++++--
- src/dnsmasq.h  |  11 ++++++-
- src/inotify.c  | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 137 insertions(+), 5 deletions(-)
- create mode 100644 src/inotify.c
-
-diff --git a/Makefile b/Makefile
-index 58a7975f60b5..c340f1c7b59a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -69,7 +69,7 @@ objs = cache.o rfc1035.o util.o option.o forward.o network.o \
-        dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
-        helper.o tftp.o log.o conntrack.o dhcp6.o rfc3315.o \
-        dhcp-common.o outpacket.o radv.o slaac.o auth.o ipset.o \
--       domain.o dnssec.o blockdata.o tables.o loop.o
-+       domain.o dnssec.o blockdata.o tables.o loop.o inotify.o
- hdrs = dnsmasq.h config.h dhcp-protocol.h dhcp6-protocol.h \
-        dns-protocol.h radv-protocol.h ip6addr.h
-diff --git a/bld/Android.mk b/bld/Android.mk
-index d855094eb264..d627796e8edc 100644
---- a/bld/Android.mk
-+++ b/bld/Android.mk
-@@ -10,7 +10,7 @@ LOCAL_SRC_FILES :=  bpf.c cache.c dbus.c dhcp.c dnsmasq.c \
-                   dhcp6.c rfc3315.c dhcp-common.c outpacket.c \
-                   radv.c slaac.c auth.c ipset.c domain.c \
-                   dnssec.c dnssec-openssl.c blockdata.c tables.c \
--                  loop.c
-+                  loop.c inotify.c
- LOCAL_MODULE := dnsmasq
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index f4a89fc38183..bf2e25a55780 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -315,9 +315,15 @@ int main (int argc, char **argv)
-   if (daemon->port != 0)
-     {
-       cache_init();
-+
- #ifdef HAVE_DNSSEC
-       blockdata_init();
- #endif
-+
-+#ifdef HAVE_LINUX_NETWORK
-+      if (!option_bool(OPT_NO_POLL))
-+      inotify_dnsmasq_init();
-+#endif
-     }
-     
-   if (option_bool(OPT_DBUS))
-@@ -793,6 +799,11 @@ int main (int argc, char **argv)
-   
-   pid = getpid();
-   
-+#ifdef HAVE_LINUX_NETWORK
-+  /* Using inotify, have to select a resolv file at startup */
-+  poll_resolv(1, 0, now);
-+#endif
-+  
-   while (1)
-     {
-       int maxfd = -1;
-@@ -862,11 +873,16 @@ int main (int argc, char **argv)
- #if defined(HAVE_LINUX_NETWORK)
-       FD_SET(daemon->netlinkfd, &rset);
-       bump_maxfd(daemon->netlinkfd, &maxfd);
-+      if (daemon->port != 0 && !option_bool(OPT_NO_POLL))
-+      {
-+        FD_SET(daemon->inotifyfd, &rset);
-+        bump_maxfd(daemon->inotifyfd, &maxfd);
-+      }
- #elif defined(HAVE_BSD_NETWORK)
-       FD_SET(daemon->routefd, &rset);
-       bump_maxfd(daemon->routefd, &maxfd);
- #endif
--
-+      
-       FD_SET(piperead, &rset);
-       bump_maxfd(piperead, &maxfd);
-@@ -929,6 +945,10 @@ int main (int argc, char **argv)
-       route_sock();
- #endif
-+#ifdef HAVE_LINUX_NETWORK
-+      if (daemon->port != 0 && !option_bool(OPT_NO_POLL) && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check())
-+      poll_resolv(1, 1, now);           
-+#else
-       /* Check for changes to resolv files once per second max. */
-       /* Don't go silent for long periods if the clock goes backwards. */
-       if (daemon->last_resolv == 0 || 
-@@ -941,7 +961,8 @@ int main (int argc, char **argv)
-         poll_resolv(0, daemon->last_resolv != 0, now);          
-         daemon->last_resolv = now;
-       }
--      
-+#endif
-+
-       if (FD_ISSET(piperead, &rset))
-       async_event(piperead, now);
-       
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index e74b15a5459a..ebb6b957812f 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -541,6 +541,10 @@ struct resolvc {
-   int is_default, logged;
-   time_t mtime;
-   char *name;
-+#ifdef HAVE_LINUX_NETWORK
-+  int wd; /* inotify watch descriptor */
-+  char *file; /* pointer to file part if path */
-+#endif
- };
- /* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile */
-@@ -998,7 +1002,7 @@ extern struct daemon {
-   /* DHCP state */
-   int dhcpfd, helperfd, pxefd; 
- #if defined(HAVE_LINUX_NETWORK)
--  int netlinkfd;
-+  int netlinkfd, inotifyfd;
- #elif defined(HAVE_BSD_NETWORK)
-   int dhcp_raw_fd, dhcp_icmp_fd, routefd;
- #endif
-@@ -1469,3 +1473,8 @@ void loop_send_probes();
- int detect_loop(char *query, int type);
- #endif
-+/* inotify.c */
-+#ifdef HAVE_LINUX_NETWORK
-+void inotify_dnsmasq_init();
-+int inotify_check(void);
-+#endif
-diff --git a/src/inotify.c b/src/inotify.c
-new file mode 100644
-index 000000000000..a0223443d6b6
---- /dev/null
-+++ b/src/inotify.c
-@@ -0,0 +1,102 @@
-+/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+ 
-+   This program is free software; you can redistribute it and/or modify
-+   it under the terms of the GNU General Public License as published by
-+   the Free Software Foundation; version 2 dated June, 1991, or
-+   (at your option) version 3 dated 29 June, 2007.
-+ 
-+   This program is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+   GNU General Public License for more details.
-+     
-+   You should have received a copy of the GNU General Public License
-+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#include "dnsmasq.h"
-+#include <sys/inotify.h>
-+
-+#ifdef HAVE_LINUX_NETWORK
-+
-+/* the strategy is to set a inotify on the directories containing
-+   resolv files, for any files in the directory which are close-write 
-+   or moved into the directory.
-+   
-+   When either of those happen, we look to see if the file involved
-+   is actually a resolv-file, and if so, call poll-resolv with
-+   the "force" argument, to ensure it's read.
-+
-+   This adds one new error condition: the directories containing
-+   all specified resolv-files must exist at start-up, even if the actual
-+   files don't. 
-+*/
-+
-+static char *inotify_buffer;
-+#define INOTIFY_SZ (sizeof(struct inotify_event) + NAME_MAX + 1)
-+
-+void inotify_dnsmasq_init()
-+{
-+  struct resolvc *res;
-+
-+  inotify_buffer = safe_malloc(INOTIFY_SZ);
-+
-+  daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
-+
-+  if (daemon->inotifyfd == -1)
-+    die(_("failed to create inotify: %s"), NULL, EC_MISC);
-+
-+  for (res = daemon->resolv_files; res; res = res->next)
-+    {
-+      char *d = strrchr(res->name, '/');
-+      
-+      if (!d)
-+      die(_("resolv-file %s not an absolute path"), res->name, EC_MISC);
-+       
-+      *d = 0; /* make ->name just directory */
-+      res->wd = inotify_add_watch(daemon->inotifyfd, res->name, IN_CLOSE_WRITE | IN_MOVED_TO);
-+      res->file = d+1; /* pointer to filename */
-+      
-+      if (res->wd == -1 && errno == ENOENT)
-+      die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC);
-+      
-+      *d = '/'; /* restore name */
-+      
-+      if (res->wd == -1)
-+      die(_("failed to create inotify for %s: %s"), res->name, EC_MISC);
-+    }
-+}
-+
-+int inotify_check(void)
-+{
-+  int hit = 0;
-+  
-+  while (1)
-+    {
-+      int rc;
-+      char *p;
-+      struct resolvc *res;
-+      struct inotify_event *in;
-+
-+      while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR);
-+      
-+      if (rc <= 0)
-+      break;
-+      
-+      for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) 
-+      {
-+        in = (struct inotify_event*)p;
-+        
-+        for (res = daemon->resolv_files; res; res = res->next)
-+          if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0)
-+            hit = 1;
-+      }
-+    }
-+
-+  return hit;
-+}
-+
-+#endif
-+
-+  
-+  
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch
deleted file mode 100644 (file)
index 35c405b..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 857973e6f7e0a3d03535a9df7f9373fd7a0b65cc Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 15 Dec 2014 15:58:13 +0000
-Subject: [PATCH 010/113] Teach the new inotify code about symlinks.
-
----
- src/inotify.c | 43 +++++++++++++++++++++++++++----------------
- 1 file changed, 27 insertions(+), 16 deletions(-)
-
-diff --git a/src/inotify.c b/src/inotify.c
-index a0223443d6b6..960bf5efb41f 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -41,29 +41,40 @@ void inotify_dnsmasq_init()
-   inotify_buffer = safe_malloc(INOTIFY_SZ);
--  daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
-+  daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
-+  
-   if (daemon->inotifyfd == -1)
-     die(_("failed to create inotify: %s"), NULL, EC_MISC);
--
-+  
-   for (res = daemon->resolv_files; res; res = res->next)
-     {
--      char *d = strrchr(res->name, '/');
--      
--      if (!d)
--      die(_("resolv-file %s not an absolute path"), res->name, EC_MISC);
--       
--      *d = 0; /* make ->name just directory */
--      res->wd = inotify_add_watch(daemon->inotifyfd, res->name, IN_CLOSE_WRITE | IN_MOVED_TO);
--      res->file = d+1; /* pointer to filename */
--      
--      if (res->wd == -1 && errno == ENOENT)
--      die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC);
-+      char *d = NULL, *path;
-       
--      *d = '/'; /* restore name */
-+      if (!(path = realpath(res->name, NULL)))
-+      {
-+        /* realpath will fail if the file doesn't exist, but
-+           dnsmasq copes with missing files, so fall back 
-+           and assume that symlinks are not in use in that case. */
-+        if (errno == ENOENT)
-+          path = res->name;
-+        else
-+          die(_("cannot cannonicalise resolv-file %s: %s"), res->name, EC_MISC); 
-+      }
-       
--      if (res->wd == -1)
--      die(_("failed to create inotify for %s: %s"), res->name, EC_MISC);
-+      if ((d = strrchr(path, '/')))
-+      {
-+        *d = 0; /* make path just directory */
-+        res->wd = inotify_add_watch(daemon->inotifyfd, path, IN_CLOSE_WRITE | IN_MOVED_TO);
-+        res->file = d+1; /* pointer to filename */
-+        *d = '/';
-+        
-+        if (res->wd == -1 && errno == ENOENT)
-+          die(_("directory %s for resolv-file is missing, cannot poll"), res->name, EC_MISC);
-+        
-+        if (res->wd == -1)
-+          die(_("failed to create inotify for %s: %s"), res->name, EC_MISC);
-+      }
-     }
- }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch
deleted file mode 100644 (file)
index d1766f5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From 800c5cc1e7438818fd80f08c2d472df249a6942d Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 15 Dec 2014 17:50:15 +0000
-Subject: [PATCH 011/113] Remove floor on EDNS0 packet size with DNSSEC.
-
----
- CHANGELOG     | 6 +++++-
- src/dnsmasq.c | 5 -----
- 2 files changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 13ab41c05fc3..68252924e743 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -2,7 +2,11 @@ version 2.73
-             Fix crash at startup when an empty suffix is supplied to
-           --conf-dir, also trivial memory leak. Thanks to 
-           Tomas Hozza for spotting this.
--      
-+
-+          Remove floor of 4096 on advertised EDNS0 packet size when 
-+          DNSSEC in use, the original rationale for this has long gone.
-+          Thanks to Anders Kaseorg for spotting this.
-+
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index bf2e25a55780..5c7750d365fa 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -87,11 +87,6 @@ int main (int argc, char **argv)
-  
-   if (daemon->edns_pktsz < PACKETSZ)
-     daemon->edns_pktsz = PACKETSZ;
--#ifdef HAVE_DNSSEC
--  /* Enforce min packet big enough for DNSSEC */
--  if (option_bool(OPT_DNSSEC_VALID) && daemon->edns_pktsz < EDNS_PKTSZ)
--    daemon->edns_pktsz = EDNS_PKTSZ;
--#endif
-   daemon->packet_buff_sz = daemon->edns_pktsz > DNSMASQ_PACKETSZ ? 
-     daemon->edns_pktsz : DNSMASQ_PACKETSZ;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch
deleted file mode 100644 (file)
index 5fe1dfb..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From ad946d555dce44eb690c7699933b6ff40ab85bb6 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 15 Dec 2014 17:52:22 +0000
-Subject: [PATCH 012/113] CHANGELOG re. inotify.
-
----
- CHANGELOG | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 68252924e743..9174b0bd75dc 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -7,6 +7,10 @@ version 2.73
-           DNSSEC in use, the original rationale for this has long gone.
-           Thanks to Anders Kaseorg for spotting this.
-+          Use inotify for checking on updates to /etc/resolv.conf and
-+          friends under Linux. This fixes race conditions when the files are 
-+          updated rapidly and saves CPU by noy polling.
-+      
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch
deleted file mode 100644 (file)
index 284b5cc..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From 3ad3f3bbd4ee716a7d2fb1e115cf89bd1b1a5de9 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 16 Dec 2014 18:25:17 +0000
-Subject: [PATCH 013/113] Fix breakage of --domain=<domain>,<subnet>,local
-
----
- CHANGELOG    |  4 ++++
- src/option.c | 18 ++++++++++++++++--
- 2 files changed, 20 insertions(+), 2 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 9174b0bd75dc..9e6c7aa4fd68 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -10,6 +10,10 @@ version 2.73
-           Use inotify for checking on updates to /etc/resolv.conf and
-           friends under Linux. This fixes race conditions when the files are 
-           updated rapidly and saves CPU by noy polling.
-+
-+          Fix breakage of --domain=<domain>,<subnet>,local - only reverse
-+          queries were intercepted. THis appears to have been broken 
-+          since 2.69. Thanks to Josh Stone for finding the bug.
-       
- version 2.72
-diff --git a/src/option.c b/src/option.c
-index b08e98e16f84..209fa6976609 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -1941,10 +1941,17 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-                             else
-                               {
-                                  /* generate the equivalent of
--                                    local=/<domain>/
-                                     local=/xxx.yyy.zzz.in-addr.arpa/ */
-                                 struct server *serv = add_rev4(new->start, msize);
-                                 serv->flags |= SERV_NO_ADDR;
-+
-+                                /* local=/<domain>/ */
-+                                serv = opt_malloc(sizeof(struct server));
-+                                memset(serv, 0, sizeof(struct server));
-+                                serv->domain = d;
-+                                serv->flags = SERV_HAS_DOMAIN | SERV_NO_ADDR;
-+                                serv->next = daemon->servers;
-+                                daemon->servers = serv;
-                               }
-                           }
-                       }
-@@ -1978,10 +1985,17 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-                             else 
-                               {
-                                 /* generate the equivalent of
--                                   local=/<domain>/
-                                    local=/xxx.yyy.zzz.ip6.arpa/ */
-                                 struct server *serv = add_rev6(&new->start6, msize);
-                                 serv->flags |= SERV_NO_ADDR;
-+                                
-+                                /* local=/<domain>/ */
-+                                serv = opt_malloc(sizeof(struct server));
-+                                memset(serv, 0, sizeof(struct server));
-+                                serv->domain = d;
-+                                serv->flags = SERV_HAS_DOMAIN | SERV_NO_ADDR;
-+                                serv->next = daemon->servers;
-+                                daemon->servers = serv;
-                               }
-                           }
-                       }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch
deleted file mode 100644 (file)
index 65030e9..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From bd9520b7ade7098ee423acc38965376aa57feb07 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 16 Dec 2014 20:41:29 +0000
-Subject: [PATCH 014/113] Remove redundant IN6_IS_ADDR_ULA(a) macro defn.
-
----
- src/network.c | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/src/network.c b/src/network.c
-index 5067007c5cbc..99419f57951e 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -16,10 +16,6 @@
- #include "dnsmasq.h"
--#ifndef IN6_IS_ADDR_ULA
--#define IN6_IS_ADDR_ULA(a) ((((__const uint32_t *) (a))[0] & htonl (0xfe00000)) == htonl (0xfc000000))
--#endif
--
- #ifdef HAVE_LINUX_NETWORK
- int indextoname(int fd, int index, char *name)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch
deleted file mode 100644 (file)
index 8aca09f..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-From 476693678e778886b64d0b56e27eb7695cbcca99 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 17 Dec 2014 12:41:56 +0000
-Subject: [PATCH 015/113] Eliminate IPv6 privacy addresses from
- --interface-name answers.
-
----
- CHANGELOG     |  5 +++++
- src/auth.c    |  4 ++++
- src/dnsmasq.h |  1 +
- src/network.c | 12 ++++++++----
- src/rfc1035.c | 17 ++++++++++-------
- 5 files changed, 28 insertions(+), 11 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 9e6c7aa4fd68..01f5208ec006 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -14,6 +14,11 @@ version 2.73
-           Fix breakage of --domain=<domain>,<subnet>,local - only reverse
-           queries were intercepted. THis appears to have been broken 
-           since 2.69. Thanks to Josh Stone for finding the bug.
-+
-+          Eliminate IPv6 privacy addresses and deprecated addresses from
-+          the answers given by --interface-name. Note that reverse queries
-+          (ie looking for names, given addresses) are not affected. 
-+          Thanks to Michael Gorbach for the suggestion.
-       
- version 2.72
-diff --git a/src/auth.c b/src/auth.c
-index dd46566ec2cc..a327f16d8c0b 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -363,6 +363,10 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-                if (((addrlist->flags & ADDRLIST_IPV6)  ? T_AAAA : T_A) == qtype &&
-                    (local_query || filter_zone(zone, flag, &addrlist->addr)))
-                  {
-+#ifdef HAVE_IPV6
-+                   if (addrlist->flags & ADDRLIST_REVONLY)
-+                     continue;
-+#endif
-                    found = 1;
-                    log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL);
-                    if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, 
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index ebb6b957812f..1dd61c5edba3 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -318,6 +318,7 @@ struct ds_config {
- #define ADDRLIST_LITERAL 1
- #define ADDRLIST_IPV6    2
-+#define ADDRLIST_REVONLY 4
- struct addrlist {
-   struct all_addr addr;
-diff --git a/src/network.c b/src/network.c
-index 99419f57951e..14d2af2ce313 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -236,7 +236,7 @@ struct iface_param {
- };
- static int iface_allowed(struct iface_param *param, int if_index, char *label,
--                       union mysockaddr *addr, struct in_addr netmask, int prefixlen, int dad) 
-+                       union mysockaddr *addr, struct in_addr netmask, int prefixlen, int iface_flags) 
- {
-   struct irec *iface;
-   int mtu = 0, loopback;
-@@ -388,6 +388,10 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label,
-                {
-                   al->addr.addr.addr6 = addr->in6.sin6_addr;
-                   al->flags = ADDRLIST_IPV6;
-+                  /* Privacy addresses and addresses still undergoing DAD and deprecated addresses
-+                     don't appear in forward queries, but will in reverse ones. */
-+                  if (!(iface_flags & IFACE_PERMANENT) || (iface_flags & (IFACE_DEPRECATED | IFACE_TENTATIVE)))
-+                    al->flags |= ADDRLIST_REVONLY;
-                } 
- #endif
-             }
-@@ -399,7 +403,7 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label,
-   for (iface = daemon->interfaces; iface; iface = iface->next) 
-     if (sockaddr_isequal(&iface->addr, addr))
-       {
--      iface->dad = dad;
-+      iface->dad = !!(iface_flags & IFACE_TENTATIVE);
-       iface->found = 1; /* for garbage collection */
-       return 1;
-       }
-@@ -474,7 +478,7 @@ static int iface_allowed(struct iface_param *param, int if_index, char *label,
-       iface->dhcp_ok = dhcp_ok;
-       iface->dns_auth = auth_dns;
-       iface->mtu = mtu;
--      iface->dad = dad;
-+      iface->dad = !!(iface_flags & IFACE_TENTATIVE);
-       iface->found = 1;
-       iface->done = iface->multicast_done = iface->warned = 0;
-       iface->index = if_index;
-@@ -519,7 +523,7 @@ static int iface_allowed_v6(struct in6_addr *local, int prefix,
-   else
-     addr.in6.sin6_scope_id = 0;
-   
--  return iface_allowed((struct iface_param *)vparam, if_index, NULL, &addr, netmask, prefix, !!(flags & IFACE_TENTATIVE));
-+  return iface_allowed((struct iface_param *)vparam, if_index, NULL, &addr, netmask, prefix, flags);
- }
- #endif
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 8a7d2608dac5..bdeb3fb10e68 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1923,14 +1923,17 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-                 for (intr = daemon->int_names; intr; intr = intr->next)
-                   if (hostname_isequal(name, intr->name))
-                     {
--                      ans = 1;
--                      if (!dryrun)
--                        {
--                          
--                          for (addrlist = intr->addr; addrlist; addrlist = addrlist->next)
-+                      for (addrlist = intr->addr; addrlist; addrlist = addrlist->next)
- #ifdef HAVE_IPV6
--                            if (((addrlist->flags & ADDRLIST_IPV6) ? T_AAAA : T_A) == type)
-+                        if (((addrlist->flags & ADDRLIST_IPV6) ? T_AAAA : T_A) == type)
- #endif
-+                          {
-+#ifdef HAVE_IPV6
-+                            if (addrlist->flags & ADDRLIST_REVONLY)
-+                              continue;
-+#endif        
-+                            ans = 1;  
-+                            if (!dryrun)
-                               {
-                                 gotit = 1;
-                                 log_query(F_FORWARD | F_CONFIG | flag, name, &addrlist->addr, NULL);
-@@ -1939,7 +1942,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-                                                         type == T_A ? "4" : "6", &addrlist->addr))
-                                   anscount++;
-                               }
--                        }
-+                          }
-                     }
-                 
-                 if (!dryrun && !gotit)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch
deleted file mode 100644 (file)
index df1268f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3267804598047bd1781cab91508d1bc516e5ddbb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 17 Dec 2014 20:38:20 +0000
-Subject: [PATCH 016/113] Tweak field width in cache dump to avoid truncating
- IPv6 addresses.
-
----
- src/cache.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 2c3a49887053..f9e1d31e8c99 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1411,7 +1411,7 @@ void dump_cache(time_t now)
-           *a = 0;
-           if (strlen(n) == 0 && !(cache->flags & F_REVERSE))
-             n = "<Root>";
--          p += sprintf(p, "%-40.40s ", n);
-+          p += sprintf(p, "%-30.30s ", n);
-           if ((cache->flags & F_CNAME) && !is_outdated_cname_pointer(cache))
-             a = cache_get_cname_target(cache);
- #ifdef HAVE_DNSSEC
-@@ -1454,7 +1454,7 @@ void dump_cache(time_t now)
-           else if (cache->flags & F_DNSKEY)
-             t = "K";
- #endif
--          p += sprintf(p, "%-30.30s %s%s%s%s%s%s%s%s%s  ", a, t,
-+          p += sprintf(p, "%-40.40s %s%s%s%s%s%s%s%s%s  ", a, t,
-                        cache->flags & F_FORWARD ? "F" : " ",
-                        cache->flags & F_REVERSE ? "R" : " ",
-                        cache->flags & F_IMMORTAL ? "I" : " ",
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch
deleted file mode 100644 (file)
index 81a39be..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-From 094b5c3d904bae9aeb3206d9f3b8348926b84975 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 21 Dec 2014 16:11:52 +0000
-Subject: [PATCH 017/113] Fix crash in DNSSEC code when attempting to verify
- large RRs.
-
----
- CHANGELOG    |  3 +++
- src/dnssec.c | 27 +++++++++++++++++++--------
- 2 files changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 01f5208ec006..956b71a151db 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -19,6 +19,9 @@ version 2.73
-           the answers given by --interface-name. Note that reverse queries
-           (ie looking for names, given addresses) are not affected. 
-           Thanks to Michael Gorbach for the suggestion.
-+
-+          Fix crash in DNSSEC code with long RRs. Thanks to Marco Davids
-+          for the bug report.
-       
- version 2.72
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 69bfc29e355f..3208ac701149 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -456,16 +456,27 @@ static u16 *get_desc(int type)
- /* Return bytes of canonicalised rdata, when the return value is zero, the remaining 
-    data, pointed to by *p, should be used raw. */
--static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff, 
-+static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end, char *buff, int bufflen,
-                    unsigned char **p, u16 **desc)
- {
-   int d = **desc;
-   
--  (*desc)++;
--  
-   /* No more data needs mangling */
-   if (d == (u16)-1)
--    return 0;
-+    {
-+      /* If there's more data than we have space for, just return what fits,
-+       we'll get called again for more chunks */
-+      if (end - *p > bufflen)
-+      {
-+        memcpy(buff, *p, bufflen);
-+        *p += bufflen;
-+        return bufflen;
-+      }
-+      
-+      return 0;
-+    }
-+ 
-+  (*desc)++;
-   
-   if (d == 0 && extract_name(header, plen, p, buff, 1, 0))
-     /* domain-name, canonicalise */
-@@ -560,7 +571,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-             if (left1 != 0)
-               memmove(buff1, buff1 + len1 - left1, left1);
-             
--            if ((len1 = get_rdata(header, plen, end1, buff1 + left1, &p1, &dp1)) == 0)
-+            if ((len1 = get_rdata(header, plen, end1, buff1 + left1, MAXDNAME - left1, &p1, &dp1)) == 0)
-               {
-                 quit = 1;
-                 len1 = end1 - p1;
-@@ -571,7 +582,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-             if (left2 != 0)
-               memmove(buff2, buff2 + len2 - left2, left2);
-             
--            if ((len2 = get_rdata(header, plen, end2, buff2 + left2, &p2, &dp2)) == 0)
-+            if ((len2 = get_rdata(header, plen, end2, buff2 + left2, MAXDNAME - left2, &p2, &dp2)) == 0)
-               {
-                 quit = 1;
-                 len2 = end2 - p2;
-@@ -808,7 +819,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         /* canonicalise rdata and calculate length of same, use name buffer as workspace */
-         cp = p;
-         dp = rr_desc;
--        for (len = 0; (seg = get_rdata(header, plen, end, name, &cp, &dp)) != 0; len += seg);
-+        for (len = 0; (seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)) != 0; len += seg);
-         len += end - cp;
-         len = htons(len);
-         hash->update(ctx, 2, (unsigned char *)&len); 
-@@ -816,7 +827,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         /* Now canonicalise again and digest. */
-         cp = p;
-         dp = rr_desc;
--        while ((seg = get_rdata(header, plen, end, name, &cp, &dp)))
-+        while ((seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)))
-           hash->update(ctx, seg, (unsigned char *)name);
-         if (cp != end)
-           hash->update(ctx, end - cp, cp);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch
deleted file mode 100644 (file)
index 6f41cf2..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-From cbc652423403e3cef00e00240f6beef713142246 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 21 Dec 2014 21:21:53 +0000
-Subject: [PATCH 018/113] Make caching work for CNAMEs pointing to A/AAAA
- records shadowed in /etc/hosts
-
-If the answer to an upstream query is a CNAME which points to an
-A/AAAA record which also exists in /etc/hosts and friends, then
-caching is suppressed, to avoid inconsistent answers. This is
-now modified to allow caching when the upstream and local A/AAAA
-records have the same value.
----
- src/cache.c | 34 +++++++++++++++++++++++++---------
- 1 file changed, 25 insertions(+), 9 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index f9e1d31e8c99..ff1ca6f1c352 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -322,7 +322,7 @@ static int is_expired(time_t now, struct crec *crecp)
-   return 1;
- }
--static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags)
-+static struct crec *cache_scan_free(char *name, struct all_addr *addr, time_t now, unsigned short flags)
- {
-   /* Scan and remove old entries.
-      If (flags & F_FORWARD) then remove any forward entries for name and any expired
-@@ -331,8 +331,8 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
-      entries in the whole cache.
-      If (flags == 0) remove any expired entries in the whole cache. 
--     In the flags & F_FORWARD case, the return code is valid, and returns zero if the
--     name exists in the cache as a HOSTS or DHCP entry (these are never deleted)
-+     In the flags & F_FORWARD case, the return code is valid, and returns a non-NULL pointer
-+     to a cache entry if the name exists in the cache as a HOSTS or DHCP entry (these are never deleted)
-      We take advantage of the fact that hash chains have stuff in the order <reverse>,<other>,<immortal>
-      so that when we hit an entry which isn't reverse and is immortal, we're done. */
-@@ -361,7 +361,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
-                 (((crecp->flags | flags) & F_CNAME) && !(crecp->flags & (F_DNSKEY | F_DS))))
-               {
-                 if (crecp->flags & (F_HOSTS | F_DHCP | F_CONFIG))
--                  return 0;
-+                  return crecp;
-                 *up = crecp->hash_next;
-                 cache_unlink(crecp);
-                 cache_free(crecp);
-@@ -378,7 +378,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
-                  crecp->addr.sig.type_covered == addr->addr.dnssec.type))
-               {
-                 if (crecp->flags & F_CONFIG)
--                  return 0;
-+                  return crecp;
-                 *up = crecp->hash_next;
-                 cache_unlink(crecp);
-                 cache_free(crecp);
-@@ -423,7 +423,7 @@ static int cache_scan_free(char *name, struct all_addr *addr, time_t now, unsign
-           up = &crecp->hash_next;
-     }
-   
--  return 1;
-+  return NULL;
- }
- /* Note: The normal calling sequence is
-@@ -471,10 +471,26 @@ struct crec *cache_insert(char *name, struct all_addr *addr,
-     return NULL;
-   
-   /* First remove any expired entries and entries for the name/address we
--     are currently inserting. Fail if we attempt to delete a name from
--     /etc/hosts or DHCP. */
--  if (!cache_scan_free(name, addr, now, flags))
-+     are currently inserting. */
-+  if ((new = cache_scan_free(name, addr, now, flags)))
-     {
-+      /* We're trying to insert a record over one from 
-+       /etc/hosts or DHCP, or other config. If the 
-+       existing record is for an A or AAAA and
-+       the record we're trying to insert is the same, 
-+       just drop the insert, but don't error the whole process. */
-+      if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD))
-+      {
-+        if ((flags & F_IPV4) && (new->flags & F_IPV4) &&
-+            new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr)
-+          return new;
-+#ifdef HAVE_IPV6
-+        else if ((flags & F_IPV6) && (new->flags & F_IPV6) &&
-+                 IN6_ARE_ADDR_EQUAL(&new->addr.addr.addr.addr6, &addr->addr.addr6))
-+          return new;
-+#endif
-+      }
-+      
-       insert_error = 1;
-       return NULL;
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch
deleted file mode 100644 (file)
index 1755c3a..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-From fbc5205702c7f6f431d9f1043c553d7fb62ddfdb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 23 Dec 2014 15:46:08 +0000
-Subject: [PATCH 019/113] Fix problems validating NSEC3 and wildcards.
-
----
- src/dnssec.c | 253 ++++++++++++++++++++++++++++++-----------------------------
- 1 file changed, 128 insertions(+), 125 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 3208ac701149..9350d3e8c963 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -615,6 +615,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-    Return code:
-    STAT_SECURE   if it validates.
-    STAT_SECURE_WILDCARD if it validates and is the result of wildcard expansion.
-+   (In this case *wildcard_out points to the "body" of the wildcard within name.) 
-    STAT_NO_SIG no RRsigs found.
-    STAT_INSECURE RRset empty.
-    STAT_BOGUS    signature is wrong, bad packet.
-@@ -625,8 +626,8 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-    name is unchanged on exit. keyname is used as workspace and trashed.
- */
--static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class, 
--                        int type, char *name, char *keyname, struct blockdata *key, int keylen, int algo_in, int keytag_in)
-+static int validate_rrset(time_t now, struct dns_header *header, size_t plen, int class, int type, 
-+                        char *name, char *keyname, char **wildcard_out, struct blockdata *key, int keylen, int algo_in, int keytag_in)
- {
-   static unsigned char **rrset = NULL, **sigs = NULL;
-   static int rrset_sz = 0, sig_sz = 0;
-@@ -798,8 +799,16 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-           {
-             int k;
-             for (k = name_labels - labels; k != 0; k--)
--              while (*name_start != '.' && *name_start != 0)
--                name_start++;
-+              {
-+                while (*name_start != '.' && *name_start != 0)
-+                  name_start++;
-+                if (k != 1)
-+                  name_start++;
-+              }
-+            
-+            if (wildcard_out)
-+              *wildcard_out = name_start+1;
-+
-             name_start--;
-             *name_start = '*';
-           }
-@@ -974,7 +983,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-             if (recp1->addr.ds.keylen == (int)hash->digest_size &&
-                 (ds_digest = blockdata_retrieve(recp1->addr.key.keydata, recp1->addr.ds.keylen, NULL)) &&
-                 memcmp(ds_digest, digest, recp1->addr.ds.keylen) == 0 &&
--                validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, key, rdlen - 4, algo, keytag) == STAT_SECURE)
-+                validate_rrset(now, header, plen, class, T_DNSKEY, name, keyname, NULL, key, rdlen - 4, algo, keytag) == STAT_SECURE)
-               {
-                 valid = 1;
-                 break;
-@@ -1443,11 +1452,88 @@ static int base32_decode(char *in, unsigned char *out)
-   return p - out;
- }
-+static int check_nsec3_coverage(struct dns_header *header, size_t plen, int digest_len, unsigned char *digest, int type,
-+                              char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count)
-+{
-+  int i, hash_len, salt_len, base32_len, rdlen;
-+  unsigned char *p, *psave;
-+
-+  for (i = 0; i < nsec_count; i++)
-+    if ((p = nsecs[i]))
-+      {
-+              if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
-+          !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
-+        return 0;
-+      
-+      p += 8; /* class, type, TTL */
-+      GETSHORT(rdlen, p);
-+      psave = p;
-+      p += 4; /* algo, flags, iterations */
-+      salt_len = *p++; /* salt_len */
-+      p += salt_len; /* salt */
-+      hash_len = *p++; /* p now points to next hashed name */
-+      
-+      if (!CHECK_LEN(header, p, plen, hash_len))
-+        return 0;
-+      
-+      if (digest_len == base32_len && hash_len == base32_len)
-+        {
-+          int rc = memcmp(workspace2, digest, digest_len);
-+
-+          if (rc == 0)
-+            {
-+              /* We found an NSEC3 whose hashed name exactly matches the query, so
-+                 we just need to check the type map. p points to the RR data for the record. */
-+              
-+              int offset = (type & 0xff) >> 3;
-+              int mask = 0x80 >> (type & 0x07);
-+              
-+              p += hash_len; /* skip next-domain hash */
-+              rdlen -= p - psave;
-+
-+              if (!CHECK_LEN(header, p, plen, rdlen))
-+                return 0;
-+              
-+              while (rdlen >= 2)
-+                {
-+                  if (p[0] == type >> 8)
-+                    {
-+                      /* Does the NSEC3 say our type exists? */
-+                      if (offset < p[1] && (p[offset+2] & mask) != 0)
-+                        return STAT_BOGUS;
-+                      
-+                      break; /* finshed checking */
-+                    }
-+                  
-+                  rdlen -= p[1];
-+                  p +=  p[1];
-+                }
-+
-+              return 1;
-+            }
-+          else if (rc <= 0)
-+            {
-+              /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
-+                 wrap around case, name-hash falls between NSEC3 name-hash and end */
-+              if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
-+                return 1;
-+            }
-+          else 
-+            {
-+              /* wrap around case, name falls between start and next domain name */
-+              if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
-+                return 1;
-+            }
-+        }
-+      }
-+  return 0;
-+}
-+
- static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count,
--                                   char *workspace1, char *workspace2, char *name, int type)
-+                                   char *workspace1, char *workspace2, char *name, int type, char *wildname)
- {
-   unsigned char *salt, *p, *digest;
--  int digest_len, i, iterations, salt_len, hash_len, base32_len, algo = 0;
-+  int digest_len, i, iterations, salt_len, base32_len, algo = 0;
-   struct nettle_hash const *hash;
-   char *closest_encloser, *next_closest, *wildcard;
-  
-@@ -1520,7 +1606,14 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-   if (!(hash = hash_find("sha1")))
-     return STAT_BOGUS;
--  /* Now, we need the "closest encloser NSEC3" */
-+  if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0)
-+    return STAT_BOGUS;
-+  
-+  if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-+    return STAT_SECURE;
-+
-+  /* Can't find an NSEC3 which covers the name directly, we need the "closest encloser NSEC3" 
-+     or an answer inferred from a wildcard record. */
-   closest_encloser = name;
-   next_closest = NULL;
-@@ -1529,6 +1622,9 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-       if (*closest_encloser == '.')
-       closest_encloser++;
-+      if (wildname && hostname_isequal(closest_encloser, wildname))
-+      break;
-+
-       if ((digest_len = hash_name(closest_encloser, &digest, hash, salt, salt_len, iterations)) == 0)
-       return STAT_BOGUS;
-       
-@@ -1551,127 +1647,33 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-     }
-   while ((closest_encloser = strchr(closest_encloser, '.')));
-   
--  /* No usable NSEC3s */
--  if (i == nsec_count)
-+  if (!closest_encloser)
-     return STAT_BOGUS;
-   
--  if (!next_closest)
--    {
--      /* We found an NSEC3 whose hashed name exactly matches the query, so
--       Now we just need to check the type map. p points to the RR data for the record. */
--      int rdlen;
--      unsigned char *psave;
--      int offset = (type & 0xff) >> 3;
--      int mask = 0x80 >> (type & 0x07);
--      
--      p += 8; /* class, type, TTL */
--      GETSHORT(rdlen, p);
--      psave = p;
--      p += 5 + salt_len; /* algo, flags, iterations, salt_len, salt */
--      hash_len = *p++;
--      if (!CHECK_LEN(header, p, plen, hash_len))
--      return STAT_BOGUS; /* bad packet */
--      p += hash_len;
--      rdlen -= p - psave;
--      
--      while (rdlen >= 2)
--      {
--        if (!CHECK_LEN(header, p, plen, rdlen))
--          return STAT_BOGUS;
--        
--        if (p[0] == type >> 8)
--          {
--            /* Does the NSEC3 say our type exists? */
--            if (offset < p[1] && (p[offset+2] & mask) != 0)
--              return STAT_BOGUS;
--            
--            break; /* finshed checking */
--          }
--        
--        rdlen -= p[1];
--        p +=  p[1];
--      }
--      
--      return STAT_SECURE;
--    }
--
-   /* Look for NSEC3 that proves the non-existence of the next-closest encloser */
-   if ((digest_len = hash_name(next_closest, &digest, hash, salt, salt_len, iterations)) == 0)
-     return STAT_BOGUS;
--  for (i = 0; i < nsec_count; i++)
--    if ((p = nsecs[i]))
--      {
--              if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
--          !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
--        return STAT_BOGUS;
--         
--      p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */
--      hash_len = *p++; /* p now points to next hashed name */
-- 
--      if (!CHECK_LEN(header, p, plen, hash_len))
--        return STAT_BOGUS;
--      
--      if (digest_len == base32_len && hash_len == base32_len)
--        {
--          if (memcmp(workspace2, digest, digest_len) <= 0)
--            {
--              /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
--                 wrap around case, name-hash falls between NSEC3 name-hash and end */
--              if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
--                return STAT_SECURE;
--            }
--          else 
--            {
--              /* wrap around case, name falls between start and next domain name */
--              if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
--                return STAT_SECURE;
--            }
--        }
--      }
--  
--  /* Finally, check that there's no seat of wildcard synthesis */
--  if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest)
--    return STAT_BOGUS;
--  
--  wildcard--;
--  *wildcard = '*';
--  
--  if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0)
-+  if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-     return STAT_BOGUS;
-   
--  for (i = 0; i < nsec_count; i++)
--    if ((p = nsecs[i]))
--      {
--      if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
--          !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
--        return STAT_BOGUS;
--         
--      p += 15 + salt_len; /* class, type, TTL, rdlen, algo, flags, iterations, salt_len, salt */
--      hash_len = *p++; /* p now points to next hashed name */
-- 
--      if (!CHECK_LEN(header, p, plen, hash_len))
--        return STAT_BOGUS;
--      
--      if (digest_len == base32_len && hash_len == base32_len)
--        {
--          if (memcmp(workspace2, digest, digest_len) <= 0)
--            {
--              /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
--                 wrap around case, name-hash falls between NSEC3 name-hash and end */
--              if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
--                return STAT_SECURE;
--            }
--          else 
--            {
--              /* wrap around case, name falls between start and next domain name */
--              if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
--                return STAT_SECURE;
--            }
--        }
--      }
-+  /* Finally, check that there's no seat of wildcard synthesis */
-+  if (!wildname)
-+    {
-+      if (!(wildcard = strchr(next_closest, '.')) || wildcard == next_closest)
-+      return STAT_BOGUS;
-+      
-+      wildcard--;
-+      *wildcard = '*';
-+      
-+      if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0)
-+      return STAT_BOGUS;
-+      
-+      if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-+      return STAT_BOGUS;
-+    }
-   
--  return STAT_BOGUS;
-+  return STAT_SECURE;
- }
-     
- /* Validate all the RRsets in the answer and authority sections of the reply (4035:3.2.3) */
-@@ -1792,8 +1794,9 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-             struct all_addr a;
-             struct blockdata *key;
-             struct crec *crecp;
--            
--            rc = validate_rrset(now, header, plen, class1, type1, name, keyname, NULL, 0, 0, 0);
-+            char *wildname;
-+
-+            rc = validate_rrset(now, header, plen, class1, type1, name, keyname, &wildname, NULL, 0, 0, 0);
-             
-             if (rc == STAT_SECURE_WILDCARD)
-               {
-@@ -1807,7 +1810,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                 if (nsec_type == T_NSEC)
-                   rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1);
-                 else
--                  rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1);
-+                  rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, wildname);
-                 if (rc != STAT_SECURE)
-                   return rc;
-@@ -1933,7 +1936,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   if (nsec_type == T_NSEC)
-     return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype);
-   else
--    return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype);
-+    return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL);
- }
- /* Chase the CNAME chain in the packet until the first record which _doesn't validate.
-@@ -1980,7 +1983,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
-           return STAT_INSECURE;
-         
-         /* validate CNAME chain, return if insecure or need more data */
--        rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, 0, 0, 0);
-+        rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, NULL, 0, 0, 0);
-         if (rc != STAT_SECURE)
-           {
-             if (rc == STAT_NO_SIG)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0020-Initialise-return-value.patch b/src/patches/dnsmasq/0020-Initialise-return-value.patch
deleted file mode 100644 (file)
index 2dd2f26..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 83d2ed09fc0216b567d7fb2197e4ff3eae150b0d Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 23 Dec 2014 18:42:38 +0000
-Subject: [PATCH 020/113] Initialise return value.
-
----
- src/dnssec.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 9350d3e8c963..ed8cf893bad2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -637,10 +637,13 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-   struct crec *crecp = NULL;
-   int type_covered, algo, labels, orig_ttl, sig_expiration, sig_inception, key_tag;
-   u16 *rr_desc = get_desc(type);
--
-+ 
-+  if (wildcard_out)
-+    *wildcard_out = NULL;
-+  
-   if (!(p = skip_questions(header, plen)))
-     return STAT_BOGUS;
--
-+  
-   name_labels = count_labels(name); /* For 4035 5.3.2 check */
-   /* look for RRSIGs for this RRset and get pointers to each RR in the set. */
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch
deleted file mode 100644 (file)
index 7ff57af..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-From 32fc6dbe03569d70dd394420ceb73532cf303c33 Mon Sep 17 00:00:00 2001
-From: Glen Huang <curvedmark@gmail.com>
-Date: Sat, 27 Dec 2014 15:28:12 +0000
-Subject: [PATCH 021/113] Add --ignore-address option.
-
----
- CHANGELOG     |  8 ++++++++
- man/dnsmasq.8 |  6 ++++++
- src/dnsmasq.h |  3 ++-
- src/forward.c |  4 ++++
- src/option.c  | 18 +++++++++++++++---
- src/rfc1035.c | 37 +++++++++++++++++++++++++++++++++++++
- 6 files changed, 72 insertions(+), 4 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 956b71a151db..2b6356bcfb02 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -22,6 +22,14 @@ version 2.73
-           Fix crash in DNSSEC code with long RRs. Thanks to Marco Davids
-           for the bug report.
-+          
-+          Add --ignore-address option. Ignore replies to A-record 
-+          queries which include the specified address. No error is
-+          generated, dnsmasq simply continues to listen for another 
-+          reply. This is useful to defeat blocking strategies which
-+          rely on quickly supplying a forged answer to a DNS 
-+          request for certain domains, before the correct answer can
-+            arrive. Thanks to Glen Huang for the patch.
-       
- version 2.72
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 0b8e04f0a897..4236ba307df3 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -293,6 +293,12 @@ an advertising web page in response to queries for unregistered names,
- instead of the correct NXDOMAIN response. This option tells dnsmasq to
- fake the correct response when it sees this behaviour. As at Sept 2003
- the IP address being returned by Verisign is 64.94.110.11
-+.TP 
-+.B \-B, --ignore-address=<ipaddr>
-+Ignore replies to A-record queries which include the specified address. 
-+No error is generated, dnsmasq simply continues to listen for another reply. 
-+This is useful to defeat blocking strategies which rely on quickly supplying a
-+forged answer to a DNS request for certain domain, before the correct answer can arrive.
- .TP
- .B \-f, --filterwin2k
- Later versions of windows make periodic DNS requests which don't get sensible answers from
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 1dd61c5edba3..7bc982ddf73c 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -930,7 +930,7 @@ extern struct daemon {
-   char *runfile; 
-   char *lease_change_command;
-   struct iname *if_names, *if_addrs, *if_except, *dhcp_except, *auth_peers, *tftp_interfaces;
--  struct bogus_addr *bogus_addr;
-+  struct bogus_addr *bogus_addr, *ignore_addr;
-   struct server *servers;
-   struct ipsets *ipsets;
-   int log_fac; /* log facility */
-@@ -1093,6 +1093,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-                     time_t now, int *ad_reqd, int *do_bit);
- int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name, 
-                            struct bogus_addr *addr, time_t now);
-+int check_for_ignored_address(struct dns_header *header, size_t qlen, struct bogus_addr *baddr);
- unsigned char *find_pseudoheader(struct dns_header *header, size_t plen,
-                                size_t *len, unsigned char **p, int *is_sign);
- int check_for_local_domain(char *name, time_t now);
-diff --git a/src/forward.c b/src/forward.c
-index 408a179a20f4..f28c7d51f708 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -724,6 +724,10 @@ void reply_query(int fd, int family, time_t now)
-   if (!(forward = lookup_frec(ntohs(header->id), hash)))
-     return;
-   
-+  if (daemon->ignore_addr && RCODE(header) == NOERROR &&
-+      check_for_ignored_address(header, n, daemon->ignore_addr))
-+    return;
-+
-   if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) &&
-       !option_bool(OPT_ORDER) &&
-       forward->forwardall == 0)
-diff --git a/src/option.c b/src/option.c
-index 209fa6976609..907d0cf88de9 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -147,6 +147,7 @@ struct myoption {
- #define LOPT_LOCAL_SERVICE 335
- #define LOPT_DNSSEC_TIME   336
- #define LOPT_LOOP_DETECT   337
-+#define LOPT_IGNORE_ADDR   338
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
-@@ -181,6 +182,7 @@ static const struct myoption opts[] =
-     { "local-service", 0, 0, LOPT_LOCAL_SERVICE },
-     { "bogus-priv", 0, 0, 'b' },
-     { "bogus-nxdomain", 1, 0, 'B' },
-+    { "ignore-address", 1, 0, LOPT_IGNORE_ADDR },
-     { "selfmx", 0, 0, 'e' },
-     { "filterwin2k", 0, 0, 'f' },
-     { "pid-file", 2, 0, 'x' },
-@@ -457,6 +459,7 @@ static struct {
-   { LOPT_QUIET_RA, OPT_QUIET_RA, NULL, gettext_noop("Do not log RA."), NULL },
-   { LOPT_LOCAL_SERVICE, OPT_LOCAL_SERVICE, NULL, gettext_noop("Accept queries only from directly-connected networks"), NULL },
-   { LOPT_LOOP_DETECT, OPT_LOOP_DETECT, NULL, gettext_noop("Detect and remove DNS forwarding loops"), NULL },
-+  { LOPT_IGNORE_ADDR, ARG_DUP, "<ipaddr>", gettext_noop("Ignore DNS responses containing ipaddr."), NULL }, 
-   { 0, 0, NULL, NULL, NULL }
- }; 
-@@ -2119,14 +2122,23 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       break;
-       
-     case 'B':  /* --bogus-nxdomain */
--      {
-+    case LOPT_IGNORE_ADDR: /* --ignore-address */
-+     {
-       struct in_addr addr;
-       unhide_metas(arg);
-       if (arg && (inet_pton(AF_INET, arg, &addr) > 0))
-         {
-           struct bogus_addr *baddr = opt_malloc(sizeof(struct bogus_addr));
--          baddr->next = daemon->bogus_addr;
--          daemon->bogus_addr = baddr;
-+          if (option == 'B')
-+            {
-+              baddr->next = daemon->bogus_addr;
-+              daemon->bogus_addr = baddr;
-+            }
-+          else
-+            {
-+              baddr->next = daemon->ignore_addr;
-+              daemon->ignore_addr = baddr;
-+            }
-           baddr->addr = addr;
-         }
-       else
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index bdeb3fb10e68..75c4266b47dd 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1328,6 +1328,43 @@ int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name,
-   return 0;
- }
-+int check_for_ignored_address(struct dns_header *header, size_t qlen, struct bogus_addr *baddr)
-+{
-+  unsigned char *p;
-+  int i, qtype, qclass, rdlen;
-+  struct bogus_addr *baddrp;
-+
-+  /* skip over questions */
-+  if (!(p = skip_questions(header, qlen)))
-+    return 0; /* bad packet */
-+
-+  for (i = ntohs(header->ancount); i != 0; i--)
-+    {
-+      if (!(p = skip_name(p, header, qlen, 10)))
-+      return 0; /* bad packet */
-+      
-+      GETSHORT(qtype, p); 
-+      GETSHORT(qclass, p);
-+      p += 4; /* TTL */
-+      GETSHORT(rdlen, p);
-+      
-+      if (qclass == C_IN && qtype == T_A)
-+      {
-+        if (!CHECK_LEN(header, p, qlen, INADDRSZ))
-+          return 0;
-+        
-+        for (baddrp = baddr; baddrp; baddrp = baddrp->next)
-+          if (memcmp(&baddrp->addr, p, INADDRSZ) == 0)
-+            return 1;
-+      }
-+      
-+      if (!ADD_RDLEN(header, p, qlen, rdlen))
-+      return 0;
-+    }
-+  
-+  return 0;
-+}
-+
- int add_resource_record(struct dns_header *header, char *limit, int *truncp, int nameoffset, unsigned char **pp, 
-                       unsigned long ttl, int *offset, unsigned short type, unsigned short class, char *format, ...)
- {
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0022-Bad-packet-protection.patch b/src/patches/dnsmasq/0022-Bad-packet-protection.patch
deleted file mode 100644 (file)
index 96c4696..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0b1008d367d44e77352134a4c5178f896f0db3e7 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 27 Dec 2014 15:33:32 +0000
-Subject: [PATCH 022/113] Bad packet protection.
-
----
- src/dnssec.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index ed8cf893bad2..026794b077e5 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -805,7 +805,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-               {
-                 while (*name_start != '.' && *name_start != 0)
-                   name_start++;
--                if (k != 1)
-+                if (k != 1 && *name_start == '.')
-                   name_start++;
-               }
-             
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch
deleted file mode 100644 (file)
index f5dfad8..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From d310ab7ecbffce79d3d90debba621e0222f9bced Mon Sep 17 00:00:00 2001
-From: Matthias Andree <matthias.andree@gmx.de>
-Date: Sat, 27 Dec 2014 15:36:38 +0000
-Subject: [PATCH 023/113] Fix build failure in new inotify code on BSD.
-
----
- src/inotify.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/inotify.c b/src/inotify.c
-index 960bf5efb41f..83730008c11b 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -15,10 +15,10 @@
- */
- #include "dnsmasq.h"
--#include <sys/inotify.h>
--
- #ifdef HAVE_LINUX_NETWORK
-+#include <sys/inotify.h>
-+
- /* the strategy is to set a inotify on the directories containing
-    resolv files, for any files in the directory which are close-write 
-    or moved into the directory.
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch
deleted file mode 100644 (file)
index 6f29876..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From 81c538efcebfce2ce4a1d3a420b6c885b8f08df9 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Sat, 3 Jan 2015 16:36:14 +0000
-Subject: [PATCH 024/113] Implement makefile dependencies on COPTS variable.
-
----
- .gitignore |  2 +-
- Makefile   | 10 ++++++----
- 2 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/.gitignore b/.gitignore
-index fcdbcbd135ae..23f11488ab4c 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -3,7 +3,7 @@ src/*.mo
- src/dnsmasq.pot
- src/dnsmasq
- src/dnsmasq_baseline
--src/.configured
-+src/.copts_*
- contrib/wrt/dhcp_lease_time
- contrib/wrt/dhcp_release
- debian/base/
-diff --git a/Makefile b/Makefile
-index c340f1c7b59a..5675f60c2036 100644
---- a/Makefile
-+++ b/Makefile
-@@ -64,6 +64,8 @@ nettle_libs =   `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG
- gmp_libs =      `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp`
- sunos_libs =    `if uname | grep SunOS >/dev/null 2>&1; then echo -lsocket -lnsl -lposix4; fi`
- version =     -DVERSION='\"`$(top)/bld/get-version $(top)`\"'
-+copts_conf = .copts_$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | \
-+                      ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ')
- objs = cache.o rfc1035.o util.o option.o forward.o network.o \
-        dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
-@@ -83,7 +85,7 @@ all : $(BUILDDIR)
- mostly_clean :
-       rm -f $(BUILDDIR)/*.mo $(BUILDDIR)/*.pot 
--      rm -f $(BUILDDIR)/.configured $(BUILDDIR)/*.o $(BUILDDIR)/dnsmasq.a $(BUILDDIR)/dnsmasq 
-+      rm -f $(BUILDDIR)/.copts_* $(BUILDDIR)/*.o $(BUILDDIR)/dnsmasq.a $(BUILDDIR)/dnsmasq
- clean : mostly_clean
-       rm -f $(BUILDDIR)/dnsmasq_baseline
-@@ -139,8 +141,8 @@ bloatcheck : $(BUILDDIR)/dnsmasq_baseline mostly_clean all
- # rules below are targets in recusive makes with cwd=$(BUILDDIR)
--.configured: $(hdrs)
--      @rm -f *.o
-+$(copts_conf): $(hdrs)
-+      @rm -f *.o .copts_*
-       @touch $@
- $(objs:.o=.c) $(hdrs):
-@@ -149,7 +151,7 @@ $(objs:.o=.c) $(hdrs):
- .c.o:
-       $(CC) $(CFLAGS) $(COPTS) $(i18n) $(build_cflags) $(RPM_OPT_FLAGS) -c $< 
--dnsmasq : .configured $(hdrs) $(objs)
-+dnsmasq : $(copts_conf) $(hdrs) $(objs)
-       $(CC) $(LDFLAGS) -o $@ $(objs) $(build_libs) $(LIBS) 
- dnsmasq.pot : $(objs:.o=.c) $(hdrs)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch
deleted file mode 100644 (file)
index 84245f8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From d8dbd903d024f84a149dac2f8a674a68dfed47a3 Mon Sep 17 00:00:00 2001
-From: Yousong Zhou <yszhou4tech@gmail.com>
-Date: Mon, 5 Jan 2015 17:03:35 +0000
-Subject: [PATCH 025/113] Fix race condition issue in makefile.
-
----
- Makefile | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 5675f60c2036..bcbd5571671d 100644
---- a/Makefile
-+++ b/Makefile
-@@ -148,10 +148,12 @@ $(copts_conf): $(hdrs)
- $(objs:.o=.c) $(hdrs):
-       ln -s $(top)/$(SRC)/$@ .
-+$(objs): $(copts_conf) $(hdrs)
-+
- .c.o:
-       $(CC) $(CFLAGS) $(COPTS) $(i18n) $(build_cflags) $(RPM_OPT_FLAGS) -c $< 
--dnsmasq : $(copts_conf) $(hdrs) $(objs)
-+dnsmasq : $(objs)
-       $(CC) $(LDFLAGS) -o $@ $(objs) $(build_libs) $(LIBS) 
- dnsmasq.pot : $(objs:.o=.c) $(hdrs)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch
deleted file mode 100644 (file)
index e715c50..0000000
+++ /dev/null
@@ -1,792 +0,0 @@
-From 97e618a0e3f29465acc689d87288596b006f197e Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 7 Jan 2015 21:55:43 +0000
-Subject: [PATCH 026/113] DNSSEC: do top-down search for limit of secure
- delegation.
-
----
- CHANGELOG     |   9 ++
- src/dnsmasq.h |  11 +-
- src/dnssec.c  |  91 +++++++++-------
- src/forward.c | 327 +++++++++++++++++++++++++++++++++-------------------------
- 4 files changed, 260 insertions(+), 178 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 2b6356bcfb02..e8bf80f81baa 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -31,7 +31,16 @@ version 2.73
-           request for certain domains, before the correct answer can
-             arrive. Thanks to Glen Huang for the patch.
-       
-+          Revisit the part of DNSSEC validation which determines if an 
-+          unsigned answer is legit, or is in some part of the DNS 
-+          tree which should be signed. Dnsmasq now works from the 
-+          DNS root downward looking for the limit of signed 
-+          delegations, rather than working bottom up. This is 
-+          both more correct, and less likely to trip over broken 
-+          nameservers in the unsigned parts of the DNS tree 
-+          which don't respond well to DNSSEC queries.
-+      
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 7bc982ddf73c..2f4597294a56 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -569,8 +569,9 @@ struct hostsfile {
- #define STAT_SECURE_WILDCARD    7
- #define STAT_NO_SIG             8
- #define STAT_NO_DS              9
--#define STAT_NEED_DS_NEG       10
--#define STAT_CHASE_CNAME       11
-+#define STAT_NO_NS             10
-+#define STAT_NEED_DS_NEG       11
-+#define STAT_CHASE_CNAME       12
- #define FREC_NOREBIND           1
- #define FREC_CHECKING_DISABLED  2
-@@ -604,7 +605,9 @@ struct frec {
- #ifdef HAVE_DNSSEC 
-   int class, work_counter;
-   struct blockdata *stash; /* Saved reply, whilst we validate */
--  size_t stash_len;
-+  struct blockdata *orig_domain; /* domain of original query, whilst
-+                                  we're seeing is if in unsigned domain */
-+  size_t stash_len, name_start, name_len;
-   struct frec *dependent; /* Query awaiting internally-generated DNSKEY or DS query */
-   struct frec *blocking_query; /* Query which is blocking us. */
- #endif
-@@ -1126,7 +1129,7 @@ int in_zone(struct auth_zone *zone, char *name, char **cut);
- size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr);
- int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class);
- int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
--int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer);
-+int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer, int *nons);
- int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname);
- int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen);
- size_t filter_rrsigs(struct dns_header *header, size_t plen);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 026794b077e5..8f27677628b2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -875,8 +875,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
- /* The DNS packet is expected to contain the answer to a DNSKEY query.
-    Put all DNSKEYs in the answer which are valid into the cache.
-    return codes:
--         STAT_INSECURE No DNSKEYs in reply.
--       STAT_SECURE   At least one valid DNSKEY found and in cache.
-+         STAT_SECURE   At least one valid DNSKEY found and in cache.
-        STAT_BOGUS    No DNSKEYs found, which  can be validated with DS,
-                      or self-sign for DNSKEY RRset is not valid, bad packet.
-        STAT_NEED_DS  DS records to validate a key not found, name in keyname 
-@@ -896,11 +895,8 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-   GETSHORT(qtype, p);
-   GETSHORT(qclass, p);
-   
--  if (qtype != T_DNSKEY || qclass != class)
-+  if (qtype != T_DNSKEY || qclass != class || ntohs(header->ancount) == 0)
-     return STAT_BOGUS;
--  
--  if (ntohs(header->ancount) == 0)
--    return STAT_INSECURE;
-   /* See if we have cached a DS record which validates this key */
-   if (!(crecp = cache_find_by_name(NULL, name, now, F_DS)))
-@@ -1103,17 +1099,17 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
- /* The DNS packet is expected to contain the answer to a DS query
-    Put all DSs in the answer which are valid into the cache.
-    return codes:
--   STAT_INSECURE    no DS in reply or not signed.
-    STAT_SECURE      At least one valid DS found and in cache.
-    STAT_NO_DS       It's proved there's no DS here.
--   STAT_BOGUS       At least one DS found, which fails validation, bad packet.
-+   STAT_NO_NS       It's proved there's no DS _or_ NS here.
-+   STAT_BOGUS       no DS in reply or not signed, fails validation, bad packet.
-    STAT_NEED_DNSKEY DNSKEY records to validate a DS not found, name in keyname
- */
- int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class)
- {
-   unsigned char *p = (unsigned char *)(header+1);
--  int qtype, qclass, val, i, neganswer;
-+  int qtype, qclass, val, i, neganswer, nons;
-   if (ntohs(header->qdcount) != 1 ||
-       !(p = skip_name(p, header, plen, 4)))
-@@ -1125,32 +1121,39 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-   if (qtype != T_DS || qclass != class)
-     val = STAT_BOGUS;
-   else
--    val = dnssec_validate_reply(now, header, plen, name, keyname, NULL, &neganswer);
--
--  if (val == STAT_NO_SIG)
--    val = STAT_INSECURE;
-+    val = dnssec_validate_reply(now, header, plen, name, keyname, NULL, &neganswer, &nons);
-+  /* Note dnssec_validate_reply() will have cached positive answers */
-+  
-+  if (val == STAT_NO_SIG || val == STAT_INSECURE)
-+    val = STAT_BOGUS;
-   
-   p = (unsigned char *)(header+1);
-   extract_name(header, plen, &p, name, 1, 4);
-   p += 4; /* qtype, qclass */
-   
-   if (!(p = skip_section(p, ntohs(header->ancount), header, plen)))
--    return STAT_BOGUS;
-+    val = STAT_BOGUS;
-   
-   if (val == STAT_BOGUS)
--    log_query(F_UPSTREAM, name, NULL, "BOGUS DS");
--  
--  if ((val == STAT_SECURE || val == STAT_INSECURE) && neganswer)
-     {
--      int rdlen, flags = F_FORWARD | F_DS | F_NEG;
-+      log_query(F_UPSTREAM, name, NULL, "BOGUS DS");
-+      return STAT_BOGUS;
-+    }
-+
-+  /* By here, the answer is proved secure, and a positive answer has been cached. */
-+  if (val == STAT_SECURE && neganswer)
-+    {
-+      int rdlen, flags = F_FORWARD | F_DS | F_NEG | F_DNSSECOK;
-       unsigned long ttl, minttl = ULONG_MAX;
-       struct all_addr a;
-       if (RCODE(header) == NXDOMAIN)
-       flags |= F_NXDOMAIN;
-       
--      if (val == STAT_SECURE)
--      flags |= F_DNSSECOK;
-+      /* We only cache validated DS records, DNSSECOK flag hijacked 
-+       to store presence/absence of NS. */
-+      if (nons)
-+      flags &= ~F_DNSSECOK;
-       
-       for (i = ntohs(header->nscount); i != 0; i--)
-       {
-@@ -1196,10 +1199,12 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-         a.addr.dnssec.class = class;
-         cache_insert(name, &a, now, ttl, flags);
-         
--        cache_end_insert(); 
-+        cache_end_insert();  
-+        
-+        log_query(F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS");
-       }
--      return (val == STAT_SECURE) ? STAT_NO_DS : STAT_INSECURE; 
-+      return nons ? STAT_NO_NS : STAT_NO_DS; 
-     }
-   return val;
-@@ -1323,12 +1328,15 @@ static int find_nsec_records(struct dns_header *header, size_t plen, unsigned ch
- }
- static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count,
--                                  char *workspace1, char *workspace2, char *name, int type)
-+                                  char *workspace1, char *workspace2, char *name, int type, int *nons)
- {
-   int i, rc, rdlen;
-   unsigned char *p, *psave;
-   int offset = (type & 0xff) >> 3;
-   int mask = 0x80 >> (type & 0x07);
-+
-+  if (nons)
-+    *nons = 0;
-   
-   /* Find NSEC record that proves name doesn't exist */
-   for (i = 0; i < nsec_count; i++)
-@@ -1355,6 +1363,10 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi
-         rdlen -= p - psave;
-         /* rdlen is now length of type map, and p points to it */
-         
-+        /* If we can prove that there's no NS record, return that information. */
-+        if (nons && rdlen >= 2 && p[0] == 0 && (p[2] & (0x80 >> T_NS)) == 0)
-+          *nons = 1;
-+        
-         while (rdlen >= 2)
-           {
-             if (!CHECK_LEN(header, p, plen, rdlen))
-@@ -1456,7 +1468,7 @@ static int base32_decode(char *in, unsigned char *out)
- }
- static int check_nsec3_coverage(struct dns_header *header, size_t plen, int digest_len, unsigned char *digest, int type,
--                              char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count)
-+                              char *workspace1, char *workspace2, unsigned char **nsecs, int nsec_count, int *nons)
- {
-   int i, hash_len, salt_len, base32_len, rdlen;
-   unsigned char *p, *psave;
-@@ -1497,6 +1509,10 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
-               if (!CHECK_LEN(header, p, plen, rdlen))
-                 return 0;
-               
-+              /* If we can prove that there's no NS record, return that information. */
-+              if (nons && rdlen >= 2 && p[0] == 0 && (p[2] & (0x80 >> T_NS)) == 0)
-+                *nons = 1;
-+              
-               while (rdlen >= 2)
-                 {
-                   if (p[0] == type >> 8)
-@@ -1533,13 +1549,16 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
- }
- static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, unsigned char **nsecs, int nsec_count,
--                                   char *workspace1, char *workspace2, char *name, int type, char *wildname)
-+                                   char *workspace1, char *workspace2, char *name, int type, char *wildname, int *nons)
- {
-   unsigned char *salt, *p, *digest;
-   int digest_len, i, iterations, salt_len, base32_len, algo = 0;
-   struct nettle_hash const *hash;
-   char *closest_encloser, *next_closest, *wildcard;
-- 
-+  
-+  if (nons)
-+    *nons = 0;
-+  
-   /* Look though the NSEC3 records to find the first one with 
-      an algorithm we support (currently only algo == 1).
-@@ -1612,7 +1631,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-   if ((digest_len = hash_name(name, &digest, hash, salt, salt_len, iterations)) == 0)
-     return STAT_BOGUS;
-   
--  if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-+  if (check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, nons))
-     return STAT_SECURE;
-   /* Can't find an NSEC3 which covers the name directly, we need the "closest encloser NSEC3" 
-@@ -1657,7 +1676,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-   if ((digest_len = hash_name(next_closest, &digest, hash, salt, salt_len, iterations)) == 0)
-     return STAT_BOGUS;
--  if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-+  if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, NULL))
-     return STAT_BOGUS;
-   
-   /* Finally, check that there's no seat of wildcard synthesis */
-@@ -1672,7 +1691,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-       if ((digest_len = hash_name(wildcard, &digest, hash, salt, salt_len, iterations)) == 0)
-       return STAT_BOGUS;
-       
--      if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count))
-+      if (!check_nsec3_coverage(header, plen, digest_len, digest, type, workspace1, workspace2, nsecs, nsec_count, NULL))
-       return STAT_BOGUS;
-     }
-   
-@@ -1681,7 +1700,8 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-     
- /* Validate all the RRsets in the answer and authority sections of the reply (4035:3.2.3) */
- /* Returns are the same as validate_rrset, plus the class if the missing key is in *class */
--int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer)
-+int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, 
-+                        int *class, int *neganswer, int *nons)
- {
-   unsigned char *ans_start, *qname, *p1, *p2, **nsecs;
-   int type1, class1, rdlen1, type2, class2, rdlen2, qclass, qtype;
-@@ -1811,10 +1831,11 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                   return STAT_BOGUS; /* No NSECs or bad packet */
-                 
-                 if (nsec_type == T_NSEC)
--                  rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1);
-+                  rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, NULL);
-                 else
--                  rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type1, wildname);
--
-+                  rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, 
-+                                                 keyname, name, type1, wildname, NULL);
-+                
-                 if (rc != STAT_SECURE)
-                   return rc;
-               } 
-@@ -1937,9 +1958,9 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-     return STAT_BOGUS;
-   
-   if (nsec_type == T_NSEC)
--    return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype);
-+    return prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, nons);
-   else
--    return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL);
-+    return prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, qtype, NULL, nons);
- }
- /* Chase the CNAME chain in the packet until the first record which _doesn't validate.
-diff --git a/src/forward.c b/src/forward.c
-index f28c7d51f708..ee8d7b52d5e5 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -26,8 +26,9 @@ static void free_frec(struct frec *f);
- #ifdef HAVE_DNSSEC
- static int tcp_key_recurse(time_t now, int status, struct dns_header *header, size_t n, 
-                          int class, char *name, char *keyname, struct server *server, int *keycount);
--static int do_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
--static int send_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname);
-+static int do_check_sign(struct frec *forward, int status, time_t now, char *name, char *keyname);
-+static int send_check_sign(struct frec *forward, time_t now, struct dns_header *header, size_t plen, 
-+                         char *name, char *keyname);
- #endif
-@@ -815,18 +816,22 @@ void reply_query(int fd, int family, time_t now)
-         else if (forward->flags & FREC_DS_QUERY)
-           {
-             status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
--            if (status == STAT_NO_DS)
--              status = STAT_INSECURE;
-+            if (status == STAT_NO_DS || status == STAT_NO_NS)
-+              status = STAT_BOGUS;
-           }
-         else if (forward->flags & FREC_CHECK_NOSIGN)
--          status = do_check_sign(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
-+          {
-+            status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
-+            if (status != STAT_NEED_KEY)
-+              status = do_check_sign(forward, status, now, daemon->namebuff, daemon->keyname);
-+          }
-         else
-           {
--            status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL);
-+            status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL, NULL);
-             if (status == STAT_NO_SIG)
-               {
-                 if (option_bool(OPT_DNSSEC_NO_SIGN))
--                  status = send_check_sign(now, header, n, daemon->namebuff, daemon->keyname);
-+                  status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname);
-                 else
-                   status = STAT_INSECURE;
-               }
-@@ -861,6 +866,7 @@ void reply_query(int fd, int family, time_t now)
-                 new->blocking_query = NULL;
-                 new->sentto = server;
-                 new->rfd4 = NULL;
-+                new->orig_domain = NULL;
- #ifdef HAVE_IPV6
-                 new->rfd6 = NULL;
- #endif
-@@ -889,7 +895,9 @@ void reply_query(int fd, int family, time_t now)
-                 new->new_id = get_id();
-                 header->id = htons(new->new_id);
-                 /* Save query for retransmission */
--                new->stash = blockdata_alloc((char *)header, nn);
-+                if (!(new->stash = blockdata_alloc((char *)header, nn)))
-+                  return;
-+                    
-                 new->stash_len = nn;
-                 
-                 /* Don't resend this. */
-@@ -946,18 +954,22 @@ void reply_query(int fd, int family, time_t now)
-                 else if (forward->flags & FREC_DS_QUERY)
-                   {
-                     status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
--                    if (status == STAT_NO_DS)
--                      status = STAT_INSECURE;
-+                    if (status == STAT_NO_DS || status == STAT_NO_NS)
-+                      status = STAT_BOGUS;
-                   }
-                 else if (forward->flags & FREC_CHECK_NOSIGN)
--                  status = do_check_sign(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
-+                  {
-+                    status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
-+                    if (status != STAT_NEED_KEY)
-+                      status = do_check_sign(forward, status, now, daemon->namebuff, daemon->keyname);
-+                  }
-                 else
-                   {
--                    status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL); 
-+                    status = dnssec_validate_reply(now, header, n, daemon->namebuff, daemon->keyname, &forward->class, NULL, NULL);   
-                     if (status == STAT_NO_SIG)
-                       {
-                         if (option_bool(OPT_DNSSEC_NO_SIGN))
--                          status = send_check_sign(now, header, n, daemon->namebuff, daemon->keyname);
-+                          status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname);
-                         else
-                           status = STAT_INSECURE;
-                       }
-@@ -1319,70 +1331,80 @@ void receive_query(struct listener *listen, time_t now)
- /* UDP: we've got an unsigned answer, return STAT_INSECURE if we can prove there's no DS
-    and therefore the answer shouldn't be signed, or STAT_BOGUS if it should be, or 
-    STAT_NEED_DS_NEG and keyname if we need to do the query. */
--static int send_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname)
-+static int send_check_sign(struct frec *forward, time_t now, struct dns_header *header, size_t plen, 
-+                         char *name, char *keyname)
- {
--  struct crec *crecp;
--  char *name_start = name;
-   int status = dnssec_chase_cname(now, header, plen, name, keyname);
-   
-   if (status != STAT_INSECURE)
-     return status;
-+  /* Store the domain we're trying to check. */
-+  forward->name_start = strlen(name);
-+  forward->name_len = forward->name_start + 1;
-+  if (!(forward->orig_domain = blockdata_alloc(name, forward->name_len)))
-+    return STAT_BOGUS;
-+  
-+  return do_check_sign(forward, 0, now, name, keyname);
-+}
-+ 
-+/* We either have a a reply (header non-NULL, or we need to start by looking in the cache */ 
-+static int do_check_sign(struct frec *forward, int status, time_t now, char *name, char *keyname)
-+{
-+  /* get domain we're checking back from blockdata store, it's stored on the original query. */
-+  while (forward->dependent)
-+    forward = forward->dependent;
-+
-+  blockdata_retrieve(forward->orig_domain, forward->name_len, name);
-+  
-   while (1)
-     {
--      crecp = cache_find_by_name(NULL, name_start, now, F_DS);
--      
--      if (crecp && (crecp->flags & F_DNSSECOK))
--      return (crecp->flags & F_NEG) ? STAT_INSECURE : STAT_BOGUS;
--       
--      if (crecp && (crecp->flags & F_NEG) && (name_start = strchr(name_start, '.')))
-+      char *p; 
-+
-+      if (status == 0)
-       {
--        name_start++; /* chop a label off and try again */
--        continue;
-+        struct crec *crecp;
-+
-+        /* Haven't received answer, see if in cache */
-+        if (!(crecp = cache_find_by_name(NULL, &name[forward->name_start], now, F_DS)))
-+          {
-+            /* put name of DS record we're missing into keyname */
-+            strcpy(keyname, &name[forward->name_start]);
-+            /* and wait for reply to arrive */
-+            return STAT_NEED_DS_NEG;
-+          }
-+
-+        /* F_DNSSECOK misused in DS cache records to non-existance of NS record */ 
-+        if (!(crecp->flags & F_NEG))
-+          status = STAT_SECURE;
-+        else if (crecp->flags & F_DNSSECOK)
-+          status = STAT_NO_DS;
-+        else
-+          status = STAT_NO_NS;
-       }
-+      
-+      /* Have entered non-signed part of DNS tree. */ 
-+      if (status == STAT_NO_DS)
-+      return STAT_INSECURE;
--      /* Reached the root */
--      if (!name_start)
-+      if (status == STAT_BOGUS)
-       return STAT_BOGUS;
--      strcpy(keyname, name_start);
--      return STAT_NEED_DS_NEG;
--    }
--}
--
--/* Got answer to DS query from send_check_sign, check for proven non-existence, or make the next DS query to try. */
--static int do_check_sign(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class)
--  
--{ 
--  char *name_start;
--  unsigned char *p;
--  int status;
-+      /* There's a proven DS record, or we're within a zone, where there doesn't need
-+       to be a DS record. Add a name and try again. 
-+       If we've already tried the whole name, then fail */
--  /* In this case only, a SERVFAIL reply allows us to continue up the tree, looking for a 
--     suitable NSEC reply to DS queries. */
--  if (RCODE(header) != SERVFAIL)
--    { 
--      status = dnssec_validate_ds(now, header, plen, name, keyname, class);
-+      if (forward->name_start == 0)
-+      return STAT_BOGUS;
-       
--      if (status != STAT_INSECURE)
--      {
--        if (status == STAT_NO_DS)
--          status = STAT_INSECURE;
--        return status;
--      }
--    }
--  
--  p = (unsigned char *)(header+1);
--  
--  if (extract_name(header, plen, &p, name, 1, 4) &&
--      (name_start = strchr(name, '.')))
--    {
--      name_start++; /* chop a label off and try again */
--      strcpy(keyname, name_start);
--      return STAT_NEED_DS_NEG;
-+      for (p = &name[forward->name_start-2]; (*p != '.') && (p != name); p--);
-+      
-+      if (p != name)
-+      p++;
-+      
-+      forward->name_start = p - name;
-+      status = 0; /* force to cache when we iterate. */
-     }
--  
--  return STAT_BOGUS;
- }
- /* Move toward the root, until we find a signed non-existance of a DS, in which case
-@@ -1395,8 +1417,10 @@ static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s
-   unsigned char *packet, *payload;
-   u16 *length;
-   unsigned char *p = (unsigned char *)(header+1);
--  int status;
--  char *name_start = name;
-+  int status, name_len;
-+  struct blockdata *block;
-+
-+  char *name_start;
-   /* Get first insecure entry in CNAME chain */
-   status = tcp_key_recurse(now, STAT_CHASE_CNAME, header, plen, class, name, keyname, server, keycount);
-@@ -1409,95 +1433,113 @@ static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s
-   payload = &packet[2];
-   header = (struct dns_header *)payload;
-   length = (u16 *)packet;
-+
-+  /* Stash the name away, since the buffer will be trashed when we recurse */
-+  name_len = strlen(name) + 1;
-+  name_start = name + name_len - 1;
-   
-+  if (!(block = blockdata_alloc(name, name_len)))
-+    {
-+      free(packet);
-+      return STAT_BOGUS;
-+    }
-+
-   while (1)
-     {
--      unsigned char *newhash, hash[HASH_SIZE];
-       unsigned char c1, c2;
--      struct crec *crecp = cache_find_by_name(NULL, name_start, now, F_DS);
-- 
-+      struct crec *crecp;
-+
-       if (--(*keycount) == 0)
-       {
-         free(packet);
-+        blockdata_free(block);
-         return STAT_BOGUS;    
-       }
--
--      if (crecp && (crecp->flags & F_DNSSECOK))
--      {
--        free(packet);
--        return (crecp->flags & F_NEG) ? STAT_INSECURE : STAT_BOGUS;
--      }
-       
--      /* If we have cached insecurely that a DS doesn't exist, 
--       ise that is a hit for where to start looking for the secure one */
--      if (crecp && (crecp->flags & F_NEG) && (name_start = strchr(name_start, '.')))
--      {
--        name_start++; /* chop a label off and try again */
--        continue;
--      }
--
--      /* reached the root */
--      if (!name_start)
--      {
--        free(packet);
--        return STAT_BOGUS;
-+      while (crecp = cache_find_by_name(NULL, name_start, now, F_DS))
-+      {      
-+        if ((crecp->flags & F_NEG) && (crecp->flags & F_DNSSECOK))
-+          {
-+            /* Found a secure denial of DS - delegation is indeed insecure */
-+            free(packet);
-+            blockdata_free(block);
-+            return STAT_INSECURE;
-+          }
-+      
-+        /* Here, either there's a secure DS, or no NS and no DS, and therefore no delegation.
-+           Add another label and continue. */
-+ 
-+        if (name_start == name)
-+          {
-+            free(packet);
-+            blockdata_free(block);
-+            return STAT_BOGUS; /* run out of labels */
-+          }
-+        
-+        name_start -= 2;
-+        while (*name_start != '.' && name_start != name) 
-+          name_start--;
-+        if (name_start != name)
-+          name_start++;
-       }
-+      
-+      /* Can't find it in the cache, have to send a query */
-       m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr);
-       
--      /* We rely on the question section coming back unchanged, ensure it is with the hash. */
--      if ((newhash = hash_questions(header, (unsigned int)m, name)))
--      {
--        memcpy(hash, newhash, HASH_SIZE);
-+      *length = htons(m);
-       
--        *length = htons(m);
-+      if (read_write(server->tcpfd, packet, m + sizeof(u16), 0) &&
-+        read_write(server->tcpfd, &c1, 1, 1) &&
-+        read_write(server->tcpfd, &c2, 1, 1) &&
-+        read_write(server->tcpfd, payload, (c1 << 8) | c2, 1))
-+      {
-+        m = (c1 << 8) | c2;
-+        
-+        /* Note this trashes all three name workspaces */
-+        status = tcp_key_recurse(now, STAT_NEED_DS_NEG, header, m, class, name, keyname, server, keycount);
-         
--        if (read_write(server->tcpfd, packet, m + sizeof(u16), 0) &&
--            read_write(server->tcpfd, &c1, 1, 1) &&
--            read_write(server->tcpfd, &c2, 1, 1) &&
--            read_write(server->tcpfd, payload, (c1 << 8) | c2, 1))
-+        if (status == STAT_NO_DS)
-           {
--            m = (c1 << 8) | c2;
--            
--            newhash = hash_questions(header, (unsigned int)m, name);
--            if (newhash && memcmp(hash, newhash, HASH_SIZE) == 0)
--              {
--                 /* In this case only, a SERVFAIL reply allows us to continue up the tree, looking for a 
--                    suitable NSEC reply to DS queries. */
--                if (RCODE(header) == SERVFAIL)
--                  status = STAT_INSECURE;
--                else
--                  /* Note this trashes all three name workspaces */
--                  status = tcp_key_recurse(now, STAT_NEED_DS_NEG, header, m, class, name, keyname, server, keycount);
--                
--                /* We've found a DS which proves the bit of the DNS where the
--                   original query is, is unsigned, so the answer is OK, 
--                   if unvalidated. */
--                if (status == STAT_NO_DS)
--                  {
--                    free(packet);
--                    return STAT_INSECURE;
--                  }
--            
--                /* No DS, not got to DNSSEC-land yet, go up. */
--                if (status == STAT_INSECURE)
--                  {
--                    p = (unsigned char *)(header+1);
--                    
--                    if (extract_name(header, plen, &p, name, 1, 4) &&
--                        (name_start = strchr(name, '.')))
--                      {
--                        name_start++; /* chop a label off and try again */
--                        continue;
--                      }
--                  }
--              }
-+            /* Found a secure denial of DS - delegation is indeed insecure */
-+            free(packet);
-+            blockdata_free(block);
-+            return STAT_INSECURE;
-+          }
-+        
-+        if (status == STAT_BOGUS)
-+          {
-+            free(packet);
-+            blockdata_free(block);
-+            return STAT_BOGUS;
-+          }
-+        
-+        /* Here, either there's a secure DS, or no NS and no DS, and therefore no delegation.
-+           Add another label and continue. */
-+        
-+        /* Get name we're checking back. */
-+        blockdata_retrieve(block, name_len, name);
-+        
-+        if (name_start == name)
-+          {
-+            free(packet);
-+            blockdata_free(block);
-+            return STAT_BOGUS; /* run out of labels */
-           }
-+        
-+        name_start -= 2;
-+        while (*name_start != '.' && name_start != name) 
-+          name_start--;
-+        if (name_start != name)
-+          name_start++;
-+      }
-+      else
-+      {
-+        /* IO failure */
-+        free(packet);
-+        blockdata_free(block);
-+        return STAT_BOGUS; /* run out of labels */
-       }
--      
--      free(packet);
--
--      return STAT_BOGUS;
-     }
- }
-@@ -1516,14 +1558,14 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-   else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG)
-     {
-       new_status = dnssec_validate_ds(now, header, n, name, keyname, class);
--      if (status == STAT_NEED_DS  && new_status == STAT_NO_DS)
--      new_status = STAT_INSECURE;
-+      if (status == STAT_NEED_DS && (new_status == STAT_NO_DS || new_status == STAT_NO_NS))
-+      new_status = STAT_BOGUS;
-     }
-   else if (status == STAT_CHASE_CNAME)
-     new_status = dnssec_chase_cname(now, header, n, name, keyname);
-   else 
-     {
--      new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL);
-+      new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL, NULL);
-       
-       if (new_status == STAT_NO_SIG)
-       {
-@@ -1576,14 +1618,14 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-             else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG)
-               {
-                 new_status = dnssec_validate_ds(now, header, n, name, keyname, class);
--                if (status == STAT_NEED_DS && new_status == STAT_NO_DS)
--                  new_status = STAT_INSECURE; /* Validated no DS */
-+                if (status == STAT_NEED_DS  && (new_status == STAT_NO_DS || new_status == STAT_NO_NS))
-+                  new_status = STAT_BOGUS; /* Validated no DS */
-               }
-             else if (status == STAT_CHASE_CNAME)
-               new_status = dnssec_chase_cname(now, header, n, name, keyname);
-             else 
-               {
--                new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL);
-+                new_status = dnssec_validate_reply(now, header, n, name, keyname, &class, NULL, NULL);
-                 
-                 if (new_status == STAT_NO_SIG)
-                   {
-@@ -1961,6 +2003,7 @@ static struct frec *allocate_frec(time_t now)
-       f->dependent = NULL;
-       f->blocking_query = NULL;
-       f->stash = NULL;
-+      f->orig_domain = NULL;
- #endif
-       daemon->frec_list = f;
-     }
-@@ -2029,6 +2072,12 @@ static void free_frec(struct frec *f)
-       f->stash = NULL;
-     }
-+  if (f->orig_domain)
-+    {
-+      blockdata_free(f->orig_domain);
-+      f->orig_domain = NULL;
-+    }
-+
-   /* Anything we're waiting on is pointless now, too */
-   if (f->blocking_query)
-     free_frec(f->blocking_query);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch
deleted file mode 100644 (file)
index f643527..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-From 25cf5e373eb41c088d4ee5e625209c4cf6a5659e Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 9 Jan 2015 15:53:03 +0000
-Subject: [PATCH 027/113] Add --log-queries=extra option for more complete
- logging.
-
----
- CHANGELOG     |  3 +++
- man/dnsmasq.8 |  5 ++++-
- src/cache.c   | 11 ++++++++++-
- src/config.h  |  1 +
- src/dnsmasq.c |  5 +++++
- src/dnsmasq.h |  9 +++++++--
- src/dnssec.c  | 14 +++++++-------
- src/forward.c | 30 ++++++++++++++++++++++++++----
- src/option.c  | 11 +++++++++--
- 9 files changed, 72 insertions(+), 17 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index e8bf80f81baa..0bbb7835df4f 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -40,6 +40,9 @@ version 2.73
-           nameservers in the unsigned parts of the DNS tree 
-           which don't respond well to DNSSEC queries.
-+          Add --log-queries=extra option, which makes logs easier
-+          to search automatically.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 4236ba307df3..227d74bd80e7 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -98,7 +98,10 @@ only, to stop dnsmasq daemonising in production, use
- .B -k.
- .TP
- .B \-q, --log-queries
--Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1.
-+Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1. If the argument "extra" is supplied, ie
-+.B --log-queries=extra
-+then the log has extra information at the start of each line.
-+This consists of a serial number which ties together the log lines associated with an individual query, and the IP address of the requestor.
- .TP
- .B \-8, --log-facility=<facility>
- Set the facility to which dnsmasq will send syslog entries, this
-diff --git a/src/cache.c b/src/cache.c
-index ff1ca6f1c352..960bb7938778 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1638,7 +1638,16 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg)
-   if (strlen(name) == 0)
-     name = ".";
--  my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest);
-+  if (option_bool(OPT_EXTRALOG))
-+    {
-+      prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2);
-+      if (flags & F_NOEXTRA)
-+      my_syslog(LOG_INFO, "* %s %s %s %s %s", daemon->addrbuff2, source, name, verb, dest);
-+      else
-+      my_syslog(LOG_INFO, "%u %s %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, source, name, verb, dest);
-+    }
-+  else
-+    my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest);
- }
-  
-diff --git a/src/config.h b/src/config.h
-index 145820ad2510..3b88d8193dca 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -17,6 +17,7 @@
- #define FTABSIZ 150 /* max number of outstanding requests (default) */
- #define MAX_PROCS 20 /* max no children for TCP requests */
- #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
-+#define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */
- #define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */
- #define KEYBLOCK_LEN 40 /* choose to mininise fragmentation when storing DNSSEC keys */
- #define DNSSEC_WORK 50 /* Max number of queries to validate one question */
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 5c7750d365fa..c0c0589d4ce1 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -93,6 +93,8 @@ int main (int argc, char **argv)
-   daemon->packet = safe_malloc(daemon->packet_buff_sz);
-   
-   daemon->addrbuff = safe_malloc(ADDRSTRLEN);
-+  if (option_bool(OPT_EXTRALOG))
-+    daemon->addrbuff2 = safe_malloc(ADDRSTRLEN);
-   
- #ifdef HAVE_DNSSEC
-   if (option_bool(OPT_DNSSEC_VALID))
-@@ -1587,6 +1589,9 @@ static void check_dns_listeners(fd_set *set, time_t now)
-                     }
-               }
-             close(confd);
-+
-+            /* The child can use up to TCP_MAX_QUERIES ids, so skip that many. */
-+            daemon->log_id += TCP_MAX_QUERIES;
-           }
- #endif
-         else
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 2f4597294a56..4e9aea401b75 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -238,7 +238,8 @@ struct event_desc {
- #define OPT_DNSSEC_NO_SIGN 48 
- #define OPT_LOCAL_SERVICE  49
- #define OPT_LOOP_DETECT    50
--#define OPT_LAST           51
-+#define OPT_EXTRALOG       51
-+#define OPT_LAST           52
- /* extra flags for my_syslog, we use a couple of facilities since they are known 
-    not to occupy the same bits as priorities, no matter how syslog.h is set up. */
-@@ -442,6 +443,7 @@ struct crec {
- #define F_NO_RR     (1u<<25)
- #define F_IPSET     (1u<<26)
- #define F_NSIGMATCH (1u<<27)
-+#define F_NOEXTRA   (1u<<28)
- /* Values of uid in crecs with F_CONFIG bit set. */
- #define SRC_INTERFACE 0
-@@ -599,7 +601,7 @@ struct frec {
- #endif
-   unsigned int iface;
-   unsigned short orig_id, new_id;
--  int fd, forwardall, flags;
-+  int log_id, fd, forwardall, flags;
-   time_t time;
-   unsigned char *hash[HASH_SIZE];
- #ifdef HAVE_DNSSEC 
-@@ -1002,6 +1004,8 @@ extern struct daemon {
-   struct randfd randomsocks[RANDOM_SOCKS];
-   int v6pktinfo; 
-   struct addrlist *interface_addrs; /* list of all addresses/prefix lengths associated with all local interfaces */
-+  int log_id, log_display_id; /* ids of transactions for logging */
-+  union mysockaddr *log_source_addr;
-   /* DHCP state */
-   int dhcpfd, helperfd, pxefd; 
-@@ -1033,6 +1037,7 @@ extern struct daemon {
-   /* utility string buffer, hold max sized IP address as string */
-   char *addrbuff;
-+  char *addrbuff2; /* only allocated when OPT_EXTRALOG */
- } *daemon;
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 8f27677628b2..afb3dca38cb1 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1038,7 +1038,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-                     else
-                       {
-                         a.addr.keytag = keytag;
--                        log_query(F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u");
-+                        log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DNSKEY keytag %u");
-                         
-                         recp1->addr.key.keylen = rdlen - 4;
-                         recp1->addr.key.keydata = key;
-@@ -1092,7 +1092,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-       return STAT_SECURE;
-     }
--  log_query(F_UPSTREAM, name, NULL, "BOGUS DNSKEY");
-+  log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, "BOGUS DNSKEY");
-   return STAT_BOGUS;
- }
-@@ -1136,7 +1136,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-   
-   if (val == STAT_BOGUS)
-     {
--      log_query(F_UPSTREAM, name, NULL, "BOGUS DS");
-+      log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, "BOGUS DS");
-       return STAT_BOGUS;
-     }
-@@ -1201,7 +1201,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-         
-         cache_end_insert();  
-         
--        log_query(F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS");
-+        log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, nons ? "no delegation" : "no DS");
-       }
-       return nons ? STAT_NO_NS : STAT_NO_DS; 
-@@ -1885,7 +1885,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                             else
-                               {
-                                 a.addr.keytag = keytag;
--                                log_query(F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u");
-+                                log_query(F_NOEXTRA | F_KEYTAG | F_UPSTREAM, name, &a, "DS keytag %u");
-                                 crecp->addr.ds.digest = digest;
-                                 crecp->addr.ds.keydata = key;
-                                 crecp->addr.ds.algo = algo;
-@@ -2058,10 +2058,10 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i
-   char *types = querystr("dnssec-query", type);
-   if (addr->sa.sa_family == AF_INET) 
--    log_query(F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types);
-+    log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types);
- #ifdef HAVE_IPV6
-   else
--    log_query(F_DNSSEC | F_IPV6, name, (struct all_addr *)&addr->in6.sin6_addr, types);
-+    log_query(F_NOEXTRA | F_DNSSEC | F_IPV6, name, (struct all_addr *)&addr->in6.sin6_addr, types);
- #endif
-   
-   header->qdcount = htons(1);
-diff --git a/src/forward.c b/src/forward.c
-index 55f583383bc6..713a64c0fa58 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -279,10 +279,10 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-         plen = forward->stash_len;
-         
-         if (forward->sentto->addr.sa.sa_family == AF_INET) 
--          log_query(F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec");
-+          log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec");
- #ifdef HAVE_IPV6
-         else
--          log_query(F_DNSSEC | F_IPV6, "retry", (struct all_addr *)&forward->sentto->addr.in6.sin6_addr, "dnssec");
-+          log_query(F_NOEXTRA | F_DNSSEC | F_IPV6, "retry", (struct all_addr *)&forward->sentto->addr.in6.sin6_addr, "dnssec");
- #endif
-   
-         if (forward->sentto->sfd)
-@@ -389,6 +389,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-       struct server *firstsentto = start;
-       int forwarded = 0;
-       
-+      /* If a query is retried, use the log_id for the retry when logging the answer. */
-+      forward->log_id = daemon->log_id;
-+      
-       if (option_bool(OPT_ADD_MAC))
-       plen = add_mac(header, plen, ((char *) header) + daemon->packet_buff_sz, &forward->source);
-       
-@@ -725,6 +728,11 @@ void reply_query(int fd, int family, time_t now)
-   if (!(forward = lookup_frec(ntohs(header->id), hash)))
-     return;
-   
-+  /* log_query gets called indirectly all over the place, so 
-+     pass these in global variables - sorry. */
-+  daemon->log_display_id = forward->log_id;
-+  daemon->log_source_addr = &forward->source;
-+  
-   if (daemon->ignore_addr && RCODE(header) == NOERROR &&
-       check_for_ignored_address(header, n, daemon->ignore_addr))
-     return;
-@@ -1258,6 +1266,11 @@ void receive_query(struct listener *listen, time_t now)
-           dst_addr_4.s_addr = 0;
-       }
-     }
-+   
-+  /* log_query gets called indirectly all over the place, so 
-+     pass these in global variables - sorry. */
-+  daemon->log_display_id = ++daemon->log_id;
-+  daemon->log_source_addr = &source_addr;
-   
-   if (extract_request(header, (size_t)n, daemon->namebuff, &type))
-     {
-@@ -1675,7 +1688,8 @@ unsigned char *tcp_request(int confd, time_t now,
-   struct in_addr dst_addr_4;
-   union mysockaddr peer_addr;
-   socklen_t peer_len = sizeof(union mysockaddr);
--  
-+  int query_count = 0;
-+
-   if (getpeername(confd, (struct sockaddr *)&peer_addr, &peer_len) == -1)
-     return packet;
-   
-@@ -1712,7 +1726,8 @@ unsigned char *tcp_request(int confd, time_t now,
-   while (1)
-     {
--      if (!packet ||
-+      if (query_count == TCP_MAX_QUERIES ||
-+        !packet ||
-         !read_write(confd, &c1, 1, 1) || !read_write(confd, &c2, 1, 1) ||
-         !(size = c1 << 8 | c2) ||
-         !read_write(confd, payload, size, 1))
-@@ -1721,6 +1736,13 @@ unsigned char *tcp_request(int confd, time_t now,
-       if (size < (int)sizeof(struct dns_header))
-       continue;
-       
-+      query_count++;
-+
-+      /* log_query gets called indirectly all over the place, so 
-+       pass these in global variables - sorry. */
-+      daemon->log_display_id = ++daemon->log_id;
-+      daemon->log_source_addr = &peer_addr;
-+      
-       check_subnet = 0;
-       /* save state of "cd" flag in query */
-diff --git a/src/option.c b/src/option.c
-index 907d0cf88de9..b7372be0a090 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -149,6 +149,7 @@ struct myoption {
- #define LOPT_LOOP_DETECT   337
- #define LOPT_IGNORE_ADDR   338
-+
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
- #else
-@@ -160,7 +161,7 @@ static const struct myoption opts[] =
-     { "no-poll", 0, 0, 'n' },
-     { "help", 0, 0, 'w' },
-     { "no-daemon", 0, 0, 'd' },
--    { "log-queries", 0, 0, 'q' },
-+    { "log-queries", 2, 0, 'q' },
-     { "user", 2, 0, 'u' },
-     { "group", 2, 0, 'g' },
-     { "resolv-file", 2, 0, 'r' },
-@@ -357,7 +358,7 @@ static struct {
-   { LOPT_FORCE, ARG_DUP, "<optspec>", gettext_noop("DHCP option sent even if the client does not request it."), NULL},
-   { 'p', ARG_ONE, "<integer>", gettext_noop("Specify port to listen for DNS requests on (defaults to 53)."), NULL },
-   { 'P', ARG_ONE, "<integer>", gettext_noop("Maximum supported UDP packet size for EDNS.0 (defaults to %s)."), "*" },
--  { 'q', OPT_LOG, NULL, gettext_noop("Log DNS queries."), NULL },
-+  { 'q', ARG_DUP, NULL, gettext_noop("Log DNS queries."), NULL },
-   { 'Q', ARG_ONE, "<integer>", gettext_noop("Force the originating port for upstream DNS queries."), NULL },
-   { 'R', OPT_NO_RESOLV, NULL, gettext_noop("Do NOT read resolv.conf."), NULL },
-   { 'r', ARG_DUP, "<path>", gettext_noop("Specify path to resolv.conf (defaults to %s)."), RESOLVFILE }, 
-@@ -2421,6 +2422,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       ret_err(gen_err);
-       break;  
-     
-+    case 'q': /* --log-queries */
-+      set_option_bool(OPT_LOG);
-+      if (arg && strcmp(arg, "extra") == 0)
-+      set_option_bool(OPT_EXTRALOG);
-+      break;
-+
-     case LOPT_MAX_LOGS:  /* --log-async */
-       daemon->max_logs = LOG_MAX; /* default */
-       if (arg && !atoi_check(arg, &daemon->max_logs))
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch
deleted file mode 100644 (file)
index 8714feb..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-From 28de38768e2c7d763b9aa5b7a4d251d5e56bab0b Mon Sep 17 00:00:00 2001
-From: RinSatsuki <aa65535@live.com>
-Date: Sat, 10 Jan 2015 15:22:21 +0000
-Subject: [PATCH 028/113] Add --min-cache-ttl option.
-
----
- CHANGELOG     |  7 +++++++
- man/dnsmasq.8 |  6 ++++++
- src/cache.c   |  4 +++-
- src/config.h  |  1 +
- src/dnsmasq.h |  2 +-
- src/option.c  | 11 +++++++++++
- 6 files changed, 29 insertions(+), 2 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 0bbb7835df4f..23fc6d0530cf 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -43,6 +43,13 @@ version 2.73
-           Add --log-queries=extra option, which makes logs easier
-           to search automatically.
-+          Add --min-cache-ttl option. I've resisted this for a long 
-+          time, on the grounds that disbelieving TTLs is never a 
-+          good idea, but I've been persuaded that there are 
-+          sometimes reasons to do it. (Step forward, GFW).
-+          To avoid misuse, there's a hard limit on the TTL 
-+          floor of one hour. Thansk to RinSatsuki for the patch.
-+      
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 227d74bd80e7..5cfa355dea4a 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -81,6 +81,12 @@ the upstream DNS servers.
- .B --max-cache-ttl=<time>
- Set a maximum TTL value for entries in the cache.
- .TP
-+.B --min-cache-ttl=<time>
-+Extend short TTL values to the time given when caching them. Note that
-+artificially extending TTL values is in general a bad idea, do not do it 
-+unless you have a good reason, and understand what you are doing. 
-+Dnsmasq limits the value of this option to one hour, unless recompiled.
-+.TP
- .B --auth-ttl=<time>
- Set the TTL value returned in answers from the authoritative server.
- .TP
-diff --git a/src/cache.c b/src/cache.c
-index 960bb7938778..945be071a0b6 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -461,9 +461,11 @@ struct crec *cache_insert(char *name, struct all_addr *addr,
-   if (flags & (F_IPV4 | F_IPV6 | F_CNAME))
-     {
-       log_query(flags | F_UPSTREAM, name, addr, NULL);
--      /* Don;t mess with TTL for DNSSEC records. */
-+      /* Don't mess with TTL for DNSSEC records. */
-       if (daemon->max_cache_ttl != 0 && daemon->max_cache_ttl < ttl)
-       ttl = daemon->max_cache_ttl;
-+      if (daemon->min_cache_ttl != 0 && daemon->min_cache_ttl > ttl)
-+      ttl = daemon->min_cache_ttl;
-     }
-   /* if previous insertion failed give up now. */
-diff --git a/src/config.h b/src/config.h
-index 3b88d8193dca..cdca231b4079 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -27,6 +27,7 @@
- #define RANDOM_SOCKS 64 /* max simultaneous random ports */
- #define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */
- #define CACHESIZ 150 /* default cache size */
-+#define TTL_FLOOR_LIMIT 3600 /* don't allow --min-cache-ttl to raise TTL above this under any circumstances */
- #define MAXLEASES 1000 /* maximum number of DHCP leases */
- #define PING_WAIT 3 /* wait for ping address-in-use test */
- #define PING_CACHE_TIME 30 /* Ping test assumed to be valid this long. */
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 4e9aea401b75..f8275e3ac479 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -943,7 +943,7 @@ extern struct daemon {
-   int max_logs;  /* queue limit */
-   int cachesize, ftabsize;
-   int port, query_port, min_port;
--  unsigned long local_ttl, neg_ttl, max_ttl, max_cache_ttl, auth_ttl;
-+  unsigned long local_ttl, neg_ttl, max_ttl, min_cache_ttl, max_cache_ttl, auth_ttl;
-   struct hostsfile *addn_hosts;
-   struct dhcp_context *dhcp, *dhcp6;
-   struct ra_interface *ra_interfaces;
-diff --git a/src/option.c b/src/option.c
-index b7372be0a090..8b994098cc9f 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -148,6 +148,7 @@ struct myoption {
- #define LOPT_DNSSEC_TIME   336
- #define LOPT_LOOP_DETECT   337
- #define LOPT_IGNORE_ADDR   338
-+#define LOPT_MINCTTL       339
- #ifdef HAVE_GETOPT_LONG
-@@ -256,6 +257,7 @@ static const struct myoption opts[] =
-     { "dhcp-broadcast", 2, 0, LOPT_BROADCAST },
-     { "neg-ttl", 1, 0, LOPT_NEGTTL },
-     { "max-ttl", 1, 0, LOPT_MAXTTL },
-+    { "min-cache-ttl", 1, 0, LOPT_MINCTTL },
-     { "max-cache-ttl", 1, 0, LOPT_MAXCTTL },
-     { "dhcp-alternate-port", 2, 0, LOPT_ALTPORT },
-     { "dhcp-scriptuser", 1, 0, LOPT_SCRIPTUSR },
-@@ -371,6 +373,8 @@ static struct {
-   { 'T', ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for replies from /etc/hosts."), NULL },
-   { LOPT_NEGTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for negative caching."), NULL },
-   { LOPT_MAXTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live in seconds for maximum TTL to send to clients."), NULL },
-+  { LOPT_MAXCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live ceiling for cache."), NULL },
-+  { LOPT_MINCTTL, ARG_ONE, "<integer>", gettext_noop("Specify time-to-live floor for cache."), NULL },
-   { 'u', ARG_ONE, "<username>", gettext_noop("Change to this user after startup. (defaults to %s)."), CHUSER }, 
-   { 'U', ARG_DUP, "set:<tag>,<class>", gettext_noop("Map DHCP vendor class to tag."), NULL },
-   { 'v', 0, NULL, gettext_noop("Display dnsmasq version and copyright information."), NULL },
-@@ -2457,6 +2461,7 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-     case 'T':         /* --local-ttl */
-     case LOPT_NEGTTL: /* --neg-ttl */
-     case LOPT_MAXTTL: /* --max-ttl */
-+    case LOPT_MINCTTL: /* --min-cache-ttl */
-     case LOPT_MAXCTTL: /* --max-cache-ttl */
-     case LOPT_AUTHTTL: /* --auth-ttl */
-       {
-@@ -2467,6 +2472,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-         daemon->neg_ttl = (unsigned long)ttl;
-       else if (option == LOPT_MAXTTL)
-         daemon->max_ttl = (unsigned long)ttl;
-+      else if (option == LOPT_MINCTTL)
-+        {
-+          if (ttl > TTL_FLOOR_LIMIT)
-+            ttl = TTL_FLOOR_LIMIT;
-+          daemon->min_cache_ttl = (unsigned long)ttl;
-+        }
-       else if (option == LOPT_MAXCTTL)
-         daemon->max_cache_ttl = (unsigned long)ttl;
-       else if (option == LOPT_AUTHTTL)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch
deleted file mode 100644 (file)
index 6c4423e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9f79ee4ae34886c0319f06d8f162b81ef79d62fb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 12 Jan 2015 20:18:18 +0000
-Subject: [PATCH 029/113] Log port of requestor when doing extra logging.
-
----
- src/cache.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 945be071a0b6..09b6dbf8087a 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1642,11 +1642,11 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg)
-   if (option_bool(OPT_EXTRALOG))
-     {
--      prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2);
-+      int port = prettyprint_addr(daemon->log_source_addr, daemon->addrbuff2);
-       if (flags & F_NOEXTRA)
--      my_syslog(LOG_INFO, "* %s %s %s %s %s", daemon->addrbuff2, source, name, verb, dest);
-+      my_syslog(LOG_INFO, "* %s/%u %s %s %s %s", daemon->addrbuff2, port, source, name, verb, dest);
-       else
--      my_syslog(LOG_INFO, "%u %s %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, source, name, verb, dest);
-+      my_syslog(LOG_INFO, "%u %s/%u %s %s %s %s", daemon->log_display_id, daemon->addrbuff2, port, source, name, verb, dest);
-     }
-   else
-     my_syslog(LOG_INFO, "%s %s %s %s", source, name, verb, dest);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch
deleted file mode 100644 (file)
index 3be42b4..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5e321739db381a1d7b5964d76e9c81471d2564c9 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 12 Jan 2015 23:16:56 +0000
-Subject: [PATCH 030/113] Don't answer from cache RRsets from wildcards, as we
- don't have NSECs.
-
----
- src/dnssec.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index afb3dca38cb1..d39ab85ed966 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1818,11 +1818,14 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-             struct blockdata *key;
-             struct crec *crecp;
-             char *wildname;
-+            int have_wildcard = 0;
-             rc = validate_rrset(now, header, plen, class1, type1, name, keyname, &wildname, NULL, 0, 0, 0);
-             
-             if (rc == STAT_SECURE_WILDCARD)
-               {
-+                have_wildcard = 1;
-+
-                 /* An attacker replay a wildcard answer with a different
-                    answer and overlay a genuine RR. To prove this
-                    hasn't happened, the answer must prove that
-@@ -1913,7 +1916,11 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                             p2 += 13; /* labels, orig_ttl, expiration, inception */
-                             GETSHORT(keytag, p2);
-                             
--                            if ((key = blockdata_alloc((char*)psave, rdlen2)))
-+                            /* We don't cache sigs for wildcard answers, because to reproduce the
-+                               answer from the cache will require one or more NSEC/NSEC3 records 
-+                               which we don't cache. The lack of the RRSIG ensures that a query for
-+                               this RRset asking for a secure answer will always be forwarded. */
-+                            if (!have_wildcard && (key = blockdata_alloc((char*)psave, rdlen2)))
-                               {
-                                 if (!(crecp = cache_insert(name, &a, now, ttl,  F_FORWARD | F_DNSKEY | F_DS)))
-                                   blockdata_free(key);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch
deleted file mode 100644 (file)
index eafd381..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From ae4624bf46b5e37ff1a9a2ba3c927e0dede95adb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 12 Jan 2015 23:22:08 +0000
-Subject: [PATCH 031/113] Logs for DS records consistent.
-
----
- src/rfc1035.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 75c4266b47dd..262274fc5b80 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1643,7 +1643,7 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-                             {
-                               if (crecp->flags & F_NXDOMAIN)
-                                 nxdomain = 1;
--                              log_query(F_UPSTREAM, name, NULL, "secure no DS");      
-+                              log_query(F_UPSTREAM, name, NULL, "no DS");     
-                             }
-                           else if ((keydata = blockdata_retrieve(crecp->addr.ds.keydata, crecp->addr.ds.keylen, NULL)))
-                             {                                               
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch
deleted file mode 100644 (file)
index 4997b83..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From 393415597c8b5b09558b789ab9ac238dbe3db65d Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 18 Jan 2015 22:11:10 +0000
-Subject: [PATCH 032/113] Cope with multiple interfaces with the same LL
- address.
-
----
- CHANGELOG  | 4 ++++
- src/auth.c | 5 ++++-
- src/util.c | 1 +
- 3 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 23fc6d0530cf..bbd7e6619689 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -49,6 +49,10 @@ version 2.73
-           sometimes reasons to do it. (Step forward, GFW).
-           To avoid misuse, there's a hard limit on the TTL 
-           floor of one hour. Thansk to RinSatsuki for the patch.
-+
-+          Cope with multiple interfaces with the same link-local 
-+          address. (IPv6 addresses are scoped, so this is allowed.)
-+          Thanks to Cory Benfield for help with this.
-       
-       
- version 2.72
-diff --git a/src/auth.c b/src/auth.c
-index a327f16d8c0b..59e05d3da38e 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -413,7 +413,10 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-               peer_addr->in.sin_port = 0;
- #ifdef HAVE_IPV6
-             else
--              peer_addr->in6.sin6_port = 0; 
-+              {
-+                peer_addr->in6.sin6_port = 0; 
-+                peer_addr->in6.sin6_scope_id = 0;
-+              }
- #endif
-             
-             for (peers = daemon->auth_peers; peers; peers = peers->next)
-diff --git a/src/util.c b/src/util.c
-index a729f339e219..d532444da207 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -274,6 +274,7 @@ int sockaddr_isequal(union mysockaddr *s1, union mysockaddr *s2)
- #ifdef HAVE_IPV6      
-       if (s1->sa.sa_family == AF_INET6 &&
-         s1->in6.sin6_port == s2->in6.sin6_port &&
-+        s1->in6.sin6_scope_id == s2->in6.sin6_scope_id &&
-         IN6_ARE_ADDR_EQUAL(&s1->in6.sin6_addr, &s2->in6.sin6_addr))
-       return 1;
- #endif
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch
deleted file mode 100644 (file)
index fe05a9c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 2ae195f5a71f7c5a75717845de1bd72fc7dd67f3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 18 Jan 2015 22:20:48 +0000
-Subject: [PATCH 033/113] Don't treat SERVFAIL as a recoverable error.....
-
----
- src/forward.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 713a64c0fa58..b17bc34f865f 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -737,7 +737,7 @@ void reply_query(int fd, int family, time_t now)
-       check_for_ignored_address(header, n, daemon->ignore_addr))
-     return;
--  if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) &&
-+  if (RCODE(header) == REFUSED &&
-       !option_bool(OPT_ORDER) &&
-       forward->forwardall == 0)
-     /* for broken servers, attempt to send to another one. */
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch
deleted file mode 100644 (file)
index 636e91d..0000000
+++ /dev/null
@@ -1,419 +0,0 @@
-From 5f4dc5c6ca50655ab14f572c7e30815ed74cd51a Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 20 Jan 2015 20:51:02 +0000
-Subject: [PATCH 034/113] Add --dhcp-hostsdir config option.
-
----
- CHANGELOG     |   5 +++
- man/dnsmasq.8 |   9 +++++
- src/dnsmasq.c |  28 ++++++++++----
- src/dnsmasq.h |  15 ++++++--
- src/inotify.c | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
- src/option.c  |  22 +++++++++--
- 6 files changed, 177 insertions(+), 21 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index bbd7e6619689..0076b557e95e 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -53,6 +53,11 @@ version 2.73
-           Cope with multiple interfaces with the same link-local 
-           address. (IPv6 addresses are scoped, so this is allowed.)
-           Thanks to Cory Benfield for help with this.
-+
-+          Add --dhcp-hostsdir. This allows addition of new host
-+          configurations to a running dnsmasq instance much more 
-+          cheaply than having dnsmasq re-read all its existing
-+          configuration each time. 
-       
-       
- version 2.72
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 5cfa355dea4a..005b5cca8d1f 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -977,6 +977,15 @@ is given, then read all the files contained in that directory. The advantage of
- using this option is the same as for --dhcp-hostsfile: the
- dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that
- it is possible to encode the information in a
-+.TP
-+.B --dhcp-hostsdir=<path>
-+This is exactly equivalent to dhcp-hostfile, except for the following. The path MUST be a
-+directory, and not an individual file. Changed or new files within
-+the directory are read automatically, without the need to send SIGHUP.
-+If a file is deleted for changed after it has been read by dnsmasq, then the
-+host record it contained will remain until dnsmasq recieves a SIGHUP, or 
-+is restarted; ie host records are only added dynamically.
-+.TP
- .B --dhcp-boot
- flag as DHCP options, using the options names bootfile-name,
- server-ip-address and tftp-server. This allows these to be included
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index c0c0589d4ce1..04cc98278f62 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -142,6 +142,9 @@ int main (int argc, char **argv)
-       set_option_bool(OPT_NOWILD);
-       reset_option_bool(OPT_CLEVERBIND);
-     }
-+
-+  if (daemon->inotify_hosts)
-+    die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF);
- #endif
-   
-   if (option_bool(OPT_DNSSEC_VALID))
-@@ -316,13 +319,16 @@ int main (int argc, char **argv)
- #ifdef HAVE_DNSSEC
-       blockdata_init();
- #endif
-+    }
- #ifdef HAVE_LINUX_NETWORK
--      if (!option_bool(OPT_NO_POLL))
--      inotify_dnsmasq_init();
-+  if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) ||
-+      daemon->dhcp || daemon->doing_dhcp6)
-+    inotify_dnsmasq_init();
-+  else
-+    daemon->inotifyfd = -1;
- #endif
--    }
--    
-+       
-   if (option_bool(OPT_DBUS))
- #ifdef HAVE_DBUS
-     {
-@@ -745,7 +751,7 @@ int main (int argc, char **argv)
- #endif
- #ifdef HAVE_TFTP
--      if (option_bool(OPT_TFTP))
-+  if (option_bool(OPT_TFTP))
-     {
- #ifdef FD_SETSIZE
-       if (FD_SETSIZE < (unsigned)max_fd)
-@@ -870,7 +876,7 @@ int main (int argc, char **argv)
- #if defined(HAVE_LINUX_NETWORK)
-       FD_SET(daemon->netlinkfd, &rset);
-       bump_maxfd(daemon->netlinkfd, &maxfd);
--      if (daemon->port != 0 && !option_bool(OPT_NO_POLL))
-+      if (daemon->inotifyfd != -1)
-       {
-         FD_SET(daemon->inotifyfd, &rset);
-         bump_maxfd(daemon->inotifyfd, &maxfd);
-@@ -943,8 +949,11 @@ int main (int argc, char **argv)
- #endif
- #ifdef HAVE_LINUX_NETWORK
--      if (daemon->port != 0 && !option_bool(OPT_NO_POLL) && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check())
--      poll_resolv(1, 1, now);           
-+      if  (daemon->inotifyfd != -1 && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check(now))
-+      {
-+        if (daemon->port != 0 && !option_bool(OPT_NO_POLL))
-+          poll_resolv(1, 1, now);
-+      }         
- #else
-       /* Check for changes to resolv files once per second max. */
-       /* Don't go silent for long periods if the clock goes backwards. */
-@@ -1385,6 +1394,9 @@ void clear_cache_and_reload(time_t now)
-       if (option_bool(OPT_ETHERS))
-       dhcp_read_ethers();
-       reread_dhcp();
-+#ifdef HAVE_LINUX_NETWORK
-+      set_dhcp_inotify();
-+#endif
-       dhcp_update_configs(daemon->dhcp_conf);
-       lease_update_from_configs(); 
-       lease_update_file(now); 
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index f8275e3ac479..d841fdc064ad 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -550,13 +550,17 @@ struct resolvc {
- #endif
- };
--/* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile */
-+/* adn-hosts parms from command-line (also dhcp-hostsfile and dhcp-optsfile and dhcp-hostsdir*/
- #define AH_DIR      1
- #define AH_INACTIVE 2
-+#define AH_WD_DONE  4
- struct hostsfile {
-   struct hostsfile *next;
-   int flags;
-   char *fname;
-+#ifdef HAVE_LINUX_NETWORK
-+  int wd; /* inotify watch descriptor */
-+#endif
-   unsigned int index; /* matches to cache entries for logging */
- };
-@@ -961,7 +965,7 @@ extern struct daemon {
-   int doing_ra, doing_dhcp6;
-   struct dhcp_netid_list *dhcp_ignore, *dhcp_ignore_names, *dhcp_gen_names; 
-   struct dhcp_netid_list *force_broadcast, *bootp_dynamic;
--  struct hostsfile *dhcp_hosts_file, *dhcp_opts_file;
-+  struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *inotify_hosts;
-   int dhcp_max, tftp_max;
-   int dhcp_server_port, dhcp_client_port;
-   int start_tftp_port, end_tftp_port; 
-@@ -1197,7 +1201,7 @@ void reset_option_bool(unsigned int opt);
- struct hostsfile *expand_filelist(struct hostsfile *list);
- char *parse_server(char *arg, union mysockaddr *addr, 
-                  union mysockaddr *source_addr, char *interface, int *flags);
--
-+int option_read_hostsfile(char *file);
- /* forward.c */
- void reply_query(int fd, int family, time_t now);
- void receive_query(struct listener *listen, time_t now);
-@@ -1486,5 +1490,8 @@ int detect_loop(char *query, int type);
- /* inotify.c */
- #ifdef HAVE_LINUX_NETWORK
- void inotify_dnsmasq_init();
--int inotify_check(void);
-+int inotify_check(time_t now);
-+#  ifdef HAVE_DHCP
-+void set_dhcp_inotify(void);
-+#  endif
- #endif
-diff --git a/src/inotify.c b/src/inotify.c
-index 83730008c11b..52a30d7f44db 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -19,6 +19,11 @@
- #include <sys/inotify.h>
-+#ifdef HAVE_DHCP
-+static void check_for_dhcp_inotify(struct inotify_event *in, time_t now);
-+#endif
-+
-+
- /* the strategy is to set a inotify on the directories containing
-    resolv files, for any files in the directory which are close-write 
-    or moved into the directory.
-@@ -40,8 +45,6 @@ void inotify_dnsmasq_init()
-   struct resolvc *res;
-   inotify_buffer = safe_malloc(INOTIFY_SZ);
--
--
-   daemon->inotifyfd = inotify_init1(IN_NONBLOCK | IN_CLOEXEC);
-   
-   if (daemon->inotifyfd == -1)
-@@ -66,6 +69,7 @@ void inotify_dnsmasq_init()
-       {
-         *d = 0; /* make path just directory */
-         res->wd = inotify_add_watch(daemon->inotifyfd, path, IN_CLOSE_WRITE | IN_MOVED_TO);
-+
-         res->file = d+1; /* pointer to filename */
-         *d = '/';
-         
-@@ -78,7 +82,7 @@ void inotify_dnsmasq_init()
-     }
- }
--int inotify_check(void)
-+int inotify_check(time_t now)
- {
-   int hit = 0;
-   
-@@ -101,13 +105,116 @@ int inotify_check(void)
-         for (res = daemon->resolv_files; res; res = res->next)
-           if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0)
-             hit = 1;
-+
-+#ifdef HAVE_DHCP
-+        if (daemon->dhcp || daemon->doing_dhcp6)
-+          check_for_dhcp_inotify(in, now);
-+#endif
-       }
-     }
--
-   return hit;
- }
--#endif
-+#ifdef HAVE_DHCP 
-+/* initialisation for dhcp-hostdir. Set inotify watch for each directory, and read pre-existing files */
-+void set_dhcp_inotify(void)
-+{
-+  struct hostsfile *ah;
--  
-+  for (ah = daemon->inotify_hosts; ah; ah = ah->next)
-+    {
-+       DIR *dir_stream = NULL;
-+       struct dirent *ent;
-+       struct stat buf;
-+
-+       if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode)))
-+       {
-+         my_syslog(LOG_ERR, _("bad directory in dhcp-hostsdir %s"), ah->fname);
-+         continue;
-+       }
-+
-+       if (!(ah->flags & AH_WD_DONE))
-+       {
-+         ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO);
-+         ah->flags |= AH_WD_DONE;
-+       }
-+       /* Read contents of dir _after_ calling add_watch, in the ho[e of avoiding
-+        a race which misses files being added as we start */
-+       if (ah->wd == -1 || !(dir_stream = opendir(ah->fname)))
-+       {
-+         my_syslog(LOG_ERR, _("failed to create inotify for %s"), ah->fname);
-+         continue;
-+       }
-+
-+       while ((ent = readdir(dir_stream)))
-+       {
-+         size_t lendir = strlen(ah->fname);
-+         size_t lenfile = strlen(ent->d_name);
-+         char *path;
-+         
-+         /* ignore emacs backups and dotfiles */
-+         if (lenfile == 0 || 
-+             ent->d_name[lenfile - 1] == '~' ||
-+             (ent->d_name[0] == '#' && ent->d_name[lenfile - 1] == '#') ||
-+             ent->d_name[0] == '.')
-+           continue;
-+         
-+         if ((path = whine_malloc(lendir + lenfile + 2)))
-+           {
-+             strcpy(path, ah->fname);
-+             strcat(path, "/");
-+             strcat(path, ent->d_name);
-+             
-+             /* ignore non-regular files */
-+             if (stat(path, &buf) != -1 && S_ISREG(buf.st_mode))
-+               option_read_hostsfile(path);
-+             
-+             free(path);
-+           }
-+       }
-+    }
-+}
-+
-+static void check_for_dhcp_inotify(struct inotify_event *in, time_t now)
-+{
-+  struct hostsfile *ah;
-+
-+  /* ignore emacs backups and dotfiles */
-+  if (in->len == 0 || 
-+      in->name[in->len - 1] == '~' ||
-+      (in->name[0] == '#' && in->name[in->len - 1] == '#') ||
-+      in->name[0] == '.')
-+    return;
-+
-+  for (ah = daemon->inotify_hosts; ah; ah = ah->next)
-+    if (ah->wd == in->wd)
-+      {
-+      size_t lendir = strlen(ah->fname);
-+      char *path;
-+         
-+      if ((path = whine_malloc(lendir + in->len + 2)))
-+        {
-+          strcpy(path, ah->fname);
-+          strcat(path, "/");
-+          strcat(path, in->name);
-+          
-+          if (option_read_hostsfile(path))
-+            {
-+              /* Propogate the consequences of loading a new dhcp-host */
-+              dhcp_update_configs(daemon->dhcp_conf);
-+              lease_update_from_configs(); 
-+              lease_update_file(now); 
-+              lease_update_dns(1);
-+            }
-+          
-+          free(path);
-+        }
-+      
-+      return;
-+      }
-+}
-+
-+#endif /* DHCP */
-+
-+#endif  /* LINUX_NETWORK */
-   
-diff --git a/src/option.c b/src/option.c
-index 8b994098cc9f..22e11c37d374 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -149,7 +149,7 @@ struct myoption {
- #define LOPT_LOOP_DETECT   337
- #define LOPT_IGNORE_ADDR   338
- #define LOPT_MINCTTL       339
--
-+#define LOPT_DHCP_INOTIFY  340
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
-@@ -248,6 +248,7 @@ static const struct myoption opts[] =
-     { "interface-name", 1, 0, LOPT_INTNAME },
-     { "dhcp-hostsfile", 1, 0, LOPT_DHCP_HOST },
-     { "dhcp-optsfile", 1, 0, LOPT_DHCP_OPTS },
-+    { "dhcp-hostsdir", 1, 0, LOPT_DHCP_INOTIFY },
-     { "dhcp-no-override", 0, 0, LOPT_OVERRIDE },
-     { "tftp-port-range", 1, 0, LOPT_TFTPPORTS },
-     { "stop-dns-rebind", 0, 0, LOPT_REBIND },
-@@ -336,6 +337,7 @@ static struct {
-   { 'G', ARG_DUP, "<hostspec>", gettext_noop("Set address or hostname for a specified machine."), NULL },
-   { LOPT_DHCP_HOST, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from file."), NULL },
-   { LOPT_DHCP_OPTS, ARG_DUP, "<path>", gettext_noop("Read DHCP option specs from file."), NULL },
-+  { LOPT_DHCP_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from a directory."), NULL }, 
-   { LOPT_TAG_IF, ARG_DUP, "tag-expression", gettext_noop("Evaluate conditional tag expression."), NULL },
-   { 'h', OPT_NO_HOSTS, NULL, gettext_noop("Do NOT load %s file."), HOSTSFILE },
-   { 'H', ARG_DUP, "<path>", gettext_noop("Specify a hosts file to be read in addition to %s."), HOSTSFILE },
-@@ -1710,8 +1712,9 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       break;
- #endif /* HAVE_DHCP */
--    case LOPT_DHCP_HOST: /* --dhcp-hostfile */
-+    case LOPT_DHCP_HOST: /* --dhcp-hostsfile */
-     case LOPT_DHCP_OPTS: /* --dhcp-optsfile */
-+    case LOPT_DHCP_INOTIFY: /* dhcp-hostsdir */
-     case 'H': /* --addn-hosts */
-       {
-       struct hostsfile *new = opt_malloc(sizeof(struct hostsfile));
-@@ -1734,6 +1737,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-           new->next = daemon->dhcp_opts_file;
-           daemon->dhcp_opts_file = new;
-         }       
-+      else if (option == LOPT_DHCP_INOTIFY)
-+        {
-+          new->next = daemon->inotify_hosts;
-+          daemon->inotify_hosts = new;
-+        }
-+      
-       break;
-       }
-       
-@@ -4042,6 +4051,13 @@ static void read_file(char *file, FILE *f, int hard_opt)
-   fclose(f);
- }
-+#ifdef HAVE_DHCP
-+int option_read_hostsfile(char *file)
-+{
-+  return one_file(file, LOPT_BANK);
-+}
-+#endif
-+
- static int one_file(char *file, int hard_opt)
- {
-   FILE *f;
-@@ -4139,7 +4155,7 @@ struct hostsfile *expand_filelist(struct hostsfile *list)
-           
-           /* don't read this as a file */
-           ah->flags |= AH_INACTIVE;
--
-+          
-           if (!(dir_stream = opendir(ah->fname)))
-             my_syslog(LOG_ERR, _("cannot access directory %s: %s"), 
-                       ah->fname, strerror(errno));
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0035-Update-German-translation.patch b/src/patches/dnsmasq/0035-Update-German-translation.patch
deleted file mode 100644 (file)
index 99f7687..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-From fbf01f7046e75f9aa73fd4aab2a94e43386d9052 Mon Sep 17 00:00:00 2001
-From: Conrad Kostecki <ck@conrad-kostecki.de>
-Date: Tue, 20 Jan 2015 21:07:56 +0000
-Subject: [PATCH 035/113] Update German translation.
-
----
- po/de.po | 101 +++++++++++++++++++++++++++++----------------------------------
- 1 file changed, 47 insertions(+), 54 deletions(-)
-
-diff --git a/po/de.po b/po/de.po
-index e2317376d8a9..4c93c5b28ef2 100644
---- a/po/de.po
-+++ b/po/de.po
-@@ -9,10 +9,10 @@
- # Simon Kelley <simon@thekelleys.org.uk>, 2005.
- msgid ""
- msgstr ""
--"Project-Id-Version: dnsmasq 2.70\n"
-+"Project-Id-Version: dnsmasq 2.73\n"
- "Report-Msgid-Bugs-To: \n"
- "POT-Creation-Date: 2009-06-18 12:24+0100\n"
--"PO-Revision-Date: 2014-05-01 22:51+0100\n"
-+"PO-Revision-Date: 2015-01-19 15:43+0100\n"
- "Last-Translator: Conrad Kostecki <ck@conrad-kostecki.de>\n"
- "Language-Team: German <de@li.org>\n"
- "Language: de\n"
-@@ -20,12 +20,12 @@ msgstr ""
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
--"X-Generator: Poedit 1.6.5\n"
-+"X-Generator: Poedit 1.7.3\n"
- "X-Poedit-SourceCharset: UTF-8\n"
- #: cache.c:505
- msgid "Internal error in cache."
--msgstr ""
-+msgstr "Interner Fehler im Cache."
- #: cache.c:908
- #, c-format
-@@ -126,7 +126,7 @@ msgstr "Lokale abzuhörende Adresse(n) angeben."
- #: option.c:319
- msgid "Return ipaddr for all hosts in specified domains."
--msgstr "IP-Adresse für alle Hosts in angebenen Domänen festlegen."
-+msgstr "IP-Adresse für alle Hosts in angegebenen Domänen festlegen."
- # FIXME: the English test is not to the point. Just use a shortened description
- # from the manpage instead. -- MA
-@@ -310,18 +310,16 @@ msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Pfad zu resolv.conf festlegen (%s voreingestellt)."
- #: option.c:362
--#, fuzzy
- msgid "Specify path to file with server= options"
--msgstr "Dateipfad für Prozesskennung (PID) festlegen (Voreinstellung: %s)."
-+msgstr " Dateipfad mit der Option server= angeben"
- #: option.c:363
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen."
- #: option.c:364
--#, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
--msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen."
-+msgstr "Adresse(n) vorgelagerter Server festlegen, für reverse Adressanfragen"
- #: option.c:365
- msgid "Never forward queries to specified domains."
-@@ -657,23 +655,23 @@ msgstr "Spezifiziere eine Domain und Adressbereich für synthetisierte Namen"
- #: option.c:446
- msgid "Activate DNSSEC validation"
--msgstr ""
-+msgstr "Aktiviere DNSSEC-Validierung"
- #: option.c:447
- msgid "Specify trust anchor key digest."
--msgstr ""
-+msgstr "Spezifiziere Vertrauensursprung (Trust Anchor) der Schlüssel-Prüfdaten (Key Digest)."
- #: option.c:448
- msgid "Disable upstream checking for DNSSEC debugging."
--msgstr ""
-+msgstr "Deaktiviere die Überprüfung vorgelagerter Server für DNSSEC-Debugging"
- #: option.c:449
- msgid "Ensure answers without DNSSEC are in unsigned zones."
--msgstr ""
-+msgstr "Stellt sicher, dass Antworten ohne DNSSEC sich in einer unsignierten Zone befinden."
- #: option.c:450
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
--msgstr ""
-+msgstr "DNSSEC Signatur-Zeitstempel nicht prüfen, bis erstmalig der Cache neugeladen wird"
- #: option.c:452
- msgid "Specify DHCPv6 prefix class"
-@@ -697,11 +695,11 @@ msgstr "RA nicht protokollieren."
- #: option.c:458
- msgid "Accept queries only from directly-connected networks"
--msgstr ""
-+msgstr "Akzeptiere nur Anfragen von direkt verbundenen Netzwerken"
- #: option.c:459
- msgid "Detect and remove DNS forwarding loops"
--msgstr ""
-+msgstr "Erkennen und Entfernen von DNS-Weiterleitungsschleifen"
- #: option.c:661
- #, c-format
-@@ -958,18 +956,16 @@ msgid "Bad name in host-record"
- msgstr "Unzulässiger Name in host-record"
- #: option.c:3826
--#, fuzzy
- msgid "bad trust anchor"
--msgstr "unzulässiger Portbereich"
-+msgstr "unzulässiger Vertrauensursprung (Trust Anchor)"
- #: option.c:3840
- msgid "bad HEX in trust anchor"
--msgstr ""
-+msgstr "unzulässiger Hexwert in Vertrauensursprung (Trust Anchor)"
- #: option.c:3850
--#, fuzzy
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
--msgstr "unzulässige Option (prüfen Sie, ob dnsmasq mit DHCP/TFTP/DBus-Unterstützt übersetzt wurde)"
-+msgstr "Nicht unterstützte Option (prüfen Sie, ob DNSMasq mit DHCP/TFTP/DNSSEC/DBus-Unterstützung übersetzt wurde)"
- #: option.c:3909
- msgid "missing \""
-@@ -988,7 +984,6 @@ msgid "missing parameter"
- msgstr "fehler Parameter"
- #: option.c:3972
--#, fuzzy
- msgid "illegal option"
- msgstr "unzulässige Option"
-@@ -1110,7 +1105,7 @@ msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s"
- #: forward.c:1132 forward.c:1663
- msgid "Ignoring query from non-local network"
--msgstr ""
-+msgstr "Ignoriere Anfragen vom nicht lokalen Netzwerk"
- #: forward.c:2101
- #, c-format
-@@ -1189,9 +1184,9 @@ msgid "using nameserver %s#%d for %s %s"
- msgstr "Benutze Namensserver %s#%d für %s %s"
- #: network.c:1483
--#, fuzzy, c-format
-+#, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
--msgstr "Benutze Namensserver %s#%d für %s %s"
-+msgstr "Benutze Namensserver %s#%d NICHT - Anfragenschleife festgetellt"
- #: network.c:1486
- #, c-format
-@@ -1205,16 +1200,15 @@ msgstr "Benutze Namensserver %s#%d"
- #: dnsmasq.c:154
- msgid "No trust anchors provided for DNSSEC"
--msgstr ""
-+msgstr "Keine Vertrauensursprünge (Trust Anchor) für DNSSEC verfügbar"
- #: dnsmasq.c:157
- msgid "Cannot reduce cache size from default when DNSSEC enabled"
--msgstr ""
-+msgstr "Kann die Standard Cachegröße nicht verkleinern, wenn DNSSEC aktiviert ist"
- #: dnsmasq.c:159
--#, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
--msgstr "DBus nicht verfügbar: setzen Sie HAVE_DBUS in src/config.h"
-+msgstr "DNSSEC nicht verfügbar: setzen Sie HAVE_DNSSEC in src/config.h"
- #: dnsmasq.c:165
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
-@@ -1241,9 +1235,8 @@ msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "Authoritatives DNS nicht verfügbar: Es muss HAVE_AUTH in src/config.h gesetzt sein"
- #: dnsmasq.c:193
--#, fuzzy
- msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
--msgstr "TFTP-Server nicht verfügbar, setzen Sie HAVE_TFTP in src/config.h"
-+msgstr "Loop-Erkennung nicht verfügbar, setzen Sie HAVE_LOOP in src/config.h"
- #: dnsmasq.c:201
- msgid "zone serial must be configured in --auth-soa"
-@@ -1317,15 +1310,15 @@ msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung"
- #: dnsmasq.c:672
- msgid "DNS service limited to local subnets"
--msgstr ""
-+msgstr "DNS-Dienst auf lokale Subnetze eingeschränkt"
- #: dnsmasq.c:677
- msgid "DNSSEC validation enabled"
--msgstr ""
-+msgstr "DNSSEC-Validierung aktiviert"
- #: dnsmasq.c:679
- msgid "DNSSEC signature timestamps not checked until first cache reload"
--msgstr ""
-+msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
- #: dnsmasq.c:684
- #, c-format
-@@ -1366,7 +1359,7 @@ msgstr "DHCP, Sockets exklusiv an das Interface %s gebunden"
- # FIXME: this and the next few must be full strings to be translatable - do not assemble in code"
- #: dnsmasq.c:753
- msgid "root is "
--msgstr "Wurzel ist"
-+msgstr "Wurzel ist "
- #: dnsmasq.c:753
- msgid "enabled"
-@@ -1432,7 +1425,7 @@ msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
- #: dnsmasq.c:1151
- msgid "now checking DNSSEC signature timestamps"
--msgstr ""
-+msgstr "Prüfe jetzt DNSSEC Signatur-Zeitstempel"
- #: dnsmasq.c:1218
- #, c-format
-@@ -1506,7 +1499,7 @@ msgstr "DHCP-Paket ohne Adresse an Schnittstelle %s empfangen"
- #: dhcp.c:408
- #, c-format
- msgid "ARP-cache injection failed: %s"
--msgstr ""
-+msgstr "APR-Cache Injektion fehlgeschlagen: %s"
- #: dhcp.c:506
- #, c-format
-@@ -1763,13 +1756,13 @@ msgid "DHCP request for unsupported hardware type (%d) received on %s"
- msgstr "DHCP-Anfrage für nicht unterstützen Hardwaretyp (%d) auf %s empfangen"
- #: bpf.c:376
--#, fuzzy, c-format
-+#, c-format
- msgid "cannot create PF_ROUTE socket: %s"
--msgstr "kann DHCP-Socket nicht erzeugen: %s"
-+msgstr "Kann PF_ROUTE socket nicht erzeugen: %s"
- #: bpf.c:397
- msgid "Unknown protocol version from route socket"
--msgstr ""
-+msgstr "Unbekannte Protokollversion vom Route Socket"
- #: helper.c:153
- msgid "lease() function missing in Lua script"
-@@ -2020,50 +2013,50 @@ msgstr "konnte IPset-Kontroll-Socket nicht erzeugen: %s"
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
--msgstr ""
-+msgstr "DNSSEC Speicher in Benutzung %u, Max %u, zugewiesen %u"
- #: tables.c:76
- msgid "error: fill_addr missused"
--msgstr ""
-+msgstr "Fehler: fill_addr falsch verwendet"
- #: tables.c:105
--#, fuzzy, c-format
-+#, c-format
- msgid "failed to access pf devices: %s"
--msgstr "konnte auf %s nicht zugreifen: %s"
-+msgstr "konnte auf pf Geräte nicht zugreifen: %s"
- #: tables.c:119
--#, fuzzy, c-format
-+#, c-format
- msgid "warning: no opened pf devices %s"
--msgstr "Warnung: Keine Adresse für die Schnittstelle %s gefunden"
-+msgstr "Warnung: Keine geöffneten pf Geräte %s"
- #: tables.c:127
--#, fuzzy, c-format
-+#, c-format
- msgid "error: cannot use table name %s"
--msgstr "kann Hostnamen nicht ermitteln: %s"
-+msgstr "Fehler: Kann Tabellenname %s nicht benutzen"
- #: tables.c:135
- #, c-format
- msgid "error: cannot strlcpy table name %s"
--msgstr ""
-+msgstr "Fehler: Kann den Tabellennamen %s nicht strlcpy"
- #: tables.c:141
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
--msgstr ""
-+msgstr "Warnung: pfr_add_tables: %s(%d)"
- #: tables.c:147
- msgid "info: table created"
--msgstr ""
-+msgstr "Info: Tabelle erstellt"
- #: tables.c:158
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
--msgstr ""
-+msgstr "Warnung: DIOCR%sADDRS: %s"
- #: tables.c:162
--#, fuzzy, c-format
-+#, c-format
- msgid "%d addresses %s"
--msgstr "Fehlerhafte Adresse"
-+msgstr "%d Adressen %s"
- #~ msgid "no interface with address %s"
- #~ msgstr "keine Schnittstelle mit Adresse %s"
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch
deleted file mode 100644 (file)
index 23d497e..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 61b838dd574c51d96fef100285a0d225824534f9 Mon Sep 17 00:00:00 2001
-From: Win King Wan <pinwing+dnsmasq@gmail.com>
-Date: Wed, 21 Jan 2015 20:41:48 +0000
-Subject: [PATCH 036/113] Don't reply to DHCPv6 SOLICIT messages when not
- configured for statefull DHCPv6.
-
----
- CHANGELOG     |  4 ++++
- src/rfc3315.c | 13 +++++++++++++
- 2 files changed, 17 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 0076b557e95e..a4cb901e83ae 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -59,6 +59,10 @@ version 2.73
-           cheaply than having dnsmasq re-read all its existing
-           configuration each time. 
-       
-+          Don't reply to DHCPv6 SOLICIT messages if we're not 
-+          configured to do stateful DHCPv6. Thanks to Win King Wan 
-+          for the patch.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index ddb390bf1136..e593ec9c362c 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -824,6 +824,19 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-         }
-       else
-         { 
-+          /* Windows 8 always requests an address even if the Managed bit
-+             in RA is 0 and it keeps retrying if it receives a reply
-+             stating that no addresses are available. We solve this 
-+             by not replying at all if we're not configured to give any 
-+             addresses by DHCPv6. RFC 3315 17.2.1. appears to allow this. */
-+          
-+          for (c = state->context; c; c = c->current)
-+            if (!(c->flags & CONTEXT_RA_STATELESS))
-+              break;
-+          
-+          if (!c)
-+            return 0;
-+          
-           /* no address, return error */
-           o1 = new_opt6(OPTION6_STATUS_CODE);
-           put_opt6_short(DHCP6NOADDRS);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch
deleted file mode 100644 (file)
index d962964..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-From 0491805d2ff6e7727f0272c94fd97d9897d1e22c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 26 Jan 2015 11:23:43 +0000
-Subject: [PATCH 037/113] Allow inotify to be disabled at compile time on
- Linux.
-
----
- CHANGELOG     |  4 +++-
- src/config.h  | 13 ++++++++++++-
- src/dnsmasq.c | 21 +++++++++++++--------
- src/dnsmasq.h | 11 +++++++----
- src/inotify.c |  4 ++--
- 5 files changed, 37 insertions(+), 16 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index a4cb901e83ae..c05dec63c587 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -9,7 +9,9 @@ version 2.73
-           Use inotify for checking on updates to /etc/resolv.conf and
-           friends under Linux. This fixes race conditions when the files are 
--          updated rapidly and saves CPU by noy polling.
-+          updated rapidly and saves CPU by noy polling. To build
-+          a binary that runs on old Linux kernels without inotify,
-+          use make COPTS=-DNO_INOTIFY
-           Fix breakage of --domain=<domain>,<subnet>,local - only reverse
-           queries were intercepted. THis appears to have been broken 
-diff --git a/src/config.h b/src/config.h
-index cdca231b4079..5e5009271eba 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -115,6 +115,8 @@ HAVE_DNSSEC
- HAVE_LOOP
-    include functionality to probe for and remove DNS forwarding loops.
-+HAVE_INOTIFY
-+   use the Linux inotify facility to efficiently re-read configuration files.
- NO_IPV6
- NO_TFTP
-@@ -123,6 +125,7 @@ NO_DHCP6
- NO_SCRIPT
- NO_LARGEFILE
- NO_AUTH
-+NO_INOTIFY
-    these are avilable to explictly disable compile time options which would 
-    otherwise be enabled automatically (HAVE_IPV6, >2Gb file sizes) or 
-    which are enabled  by default in the distributed source tree. Building dnsmasq
-@@ -355,6 +358,10 @@ HAVE_SOCKADDR_SA_LEN
- #undef HAVE_LOOP
- #endif
-+#if defined (HAVE_LINUX_NETWORK) && !defined(NO_INOTIFY)
-+#define HAVE_INOTIFY
-+#endif
-+
- /* Define a string indicating which options are in use.
-    DNSMASQP_COMPILE_OPTS is only defined in dnsmasq.c */
-@@ -428,7 +435,11 @@ static char *compile_opts =
- #ifndef HAVE_LOOP
- "no-"
- #endif
--"loop-detect";
-+"loop-detect "
-+#ifndef HAVE_INOTIFY
-+"no-"
-+#endif
-+"inotify";
- #endif
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 04cc98278f62..bc4f47170705 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -142,7 +142,9 @@ int main (int argc, char **argv)
-       set_option_bool(OPT_NOWILD);
-       reset_option_bool(OPT_CLEVERBIND);
-     }
-+#endif
-+#ifndef HAVE_INOTIFY
-   if (daemon->inotify_hosts)
-     die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF);
- #endif
-@@ -321,7 +323,7 @@ int main (int argc, char **argv)
- #endif
-     }
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-   if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) ||
-       daemon->dhcp || daemon->doing_dhcp6)
-     inotify_dnsmasq_init();
-@@ -802,7 +804,7 @@ int main (int argc, char **argv)
-   
-   pid = getpid();
-   
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-   /* Using inotify, have to select a resolv file at startup */
-   poll_resolv(1, 0, now);
- #endif
-@@ -872,15 +874,18 @@ int main (int argc, char **argv)
-         bump_maxfd(daemon->icmp6fd, &maxfd); 
-       }
- #endif
--
--#if defined(HAVE_LINUX_NETWORK)
--      FD_SET(daemon->netlinkfd, &rset);
--      bump_maxfd(daemon->netlinkfd, &maxfd);
-+    
-+#ifdef HAVE_INOTIFY
-       if (daemon->inotifyfd != -1)
-       {
-         FD_SET(daemon->inotifyfd, &rset);
-         bump_maxfd(daemon->inotifyfd, &maxfd);
-       }
-+#endif
-+
-+#if defined(HAVE_LINUX_NETWORK)
-+      FD_SET(daemon->netlinkfd, &rset);
-+      bump_maxfd(daemon->netlinkfd, &maxfd);
- #elif defined(HAVE_BSD_NETWORK)
-       FD_SET(daemon->routefd, &rset);
-       bump_maxfd(daemon->routefd, &maxfd);
-@@ -948,7 +953,7 @@ int main (int argc, char **argv)
-       route_sock();
- #endif
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-       if  (daemon->inotifyfd != -1 && FD_ISSET(daemon->inotifyfd, &rset) && inotify_check(now))
-       {
-         if (daemon->port != 0 && !option_bool(OPT_NO_POLL))
-@@ -1394,7 +1399,7 @@ void clear_cache_and_reload(time_t now)
-       if (option_bool(OPT_ETHERS))
-       dhcp_read_ethers();
-       reread_dhcp();
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-       set_dhcp_inotify();
- #endif
-       dhcp_update_configs(daemon->dhcp_conf);
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index d841fdc064ad..8091634f69db 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -544,7 +544,7 @@ struct resolvc {
-   int is_default, logged;
-   time_t mtime;
-   char *name;
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-   int wd; /* inotify watch descriptor */
-   char *file; /* pointer to file part if path */
- #endif
-@@ -558,7 +558,7 @@ struct hostsfile {
-   struct hostsfile *next;
-   int flags;
-   char *fname;
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
-   int wd; /* inotify watch descriptor */
- #endif
-   unsigned int index; /* matches to cache entries for logging */
-@@ -1013,8 +1013,11 @@ extern struct daemon {
-   /* DHCP state */
-   int dhcpfd, helperfd, pxefd; 
-+#ifdef HAVE_INOTIFY
-+  int inotifyfd;
-+#endif
- #if defined(HAVE_LINUX_NETWORK)
--  int netlinkfd, inotifyfd;
-+  int netlinkfd;
- #elif defined(HAVE_BSD_NETWORK)
-   int dhcp_raw_fd, dhcp_icmp_fd, routefd;
- #endif
-@@ -1488,7 +1491,7 @@ int detect_loop(char *query, int type);
- #endif
- /* inotify.c */
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
- void inotify_dnsmasq_init();
- int inotify_check(time_t now);
- #  ifdef HAVE_DHCP
-diff --git a/src/inotify.c b/src/inotify.c
-index 52a30d7f44db..818fe8eddda4 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -15,7 +15,7 @@
- */
- #include "dnsmasq.h"
--#ifdef HAVE_LINUX_NETWORK
-+#ifdef HAVE_INOTIFY
- #include <sys/inotify.h>
-@@ -216,5 +216,5 @@ static void check_for_dhcp_inotify(struct inotify_event *in, time_t now)
- #endif /* DHCP */
--#endif  /* LINUX_NETWORK */
-+#endif  /* INOTIFY */
-   
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch
deleted file mode 100644 (file)
index 2059922..0000000
+++ /dev/null
@@ -1,562 +0,0 @@
-From 70d1873dd9e70041ed4bb88c69d5b886b7cc634c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 31 Jan 2015 19:59:29 +0000
-Subject: [PATCH 038/113] Expand inotify code to dhcp-hostsdir, dhcp-optsdir
- and hostsdir.
-
----
- src/cache.c   |  81 +++++++++++++++++---------
- src/dnsmasq.c |   9 ++-
- src/dnsmasq.h |  14 +++--
- src/inotify.c | 179 +++++++++++++++++++++++++++++-----------------------------
- src/option.c  |  37 +++++++++---
- 5 files changed, 187 insertions(+), 133 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 09b6dbf8087a..abaf25ec0f18 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -835,27 +835,42 @@ static void add_hosts_entry(struct crec *cache, struct all_addr *addr, int addrl
-      Only insert each unique address once into this hashing structure.
-      This complexity avoids O(n^2) divergent CPU use whilst reading
--     large (10000 entry) hosts files. */
--  
--  /* hash address */
--  for (j = 0, i = 0; i < addrlen; i++)
--    j = (j*2 +((unsigned char *)addr)[i]) % hashsz;
--  
--  for (lookup = rhash[j]; lookup; lookup = lookup->next)
--    if ((lookup->flags & cache->flags & (F_IPV4 | F_IPV6)) &&
--      memcmp(&lookup->addr.addr, addr, addrlen) == 0)
--      {
--      cache->flags &= ~F_REVERSE;
--      break;
--      }
-+     large (10000 entry) hosts files. 
-+
-+     Note that we only do this process when bulk-reading hosts files, 
-+     for incremental reads, rhash is NULL, and we use cache lookups
-+     instead.
-+  */
-   
--  /* maintain address hash chain, insert new unique address */
--  if (!lookup)
-+  if (rhash)
-     {
--      cache->next = rhash[j];
--      rhash[j] = cache;
-+      /* hash address */
-+      for (j = 0, i = 0; i < addrlen; i++)
-+      j = (j*2 +((unsigned char *)addr)[i]) % hashsz;
-+      
-+      for (lookup = rhash[j]; lookup; lookup = lookup->next)
-+      if ((lookup->flags & cache->flags & (F_IPV4 | F_IPV6)) &&
-+          memcmp(&lookup->addr.addr, addr, addrlen) == 0)
-+        {
-+          cache->flags &= ~F_REVERSE;
-+          break;
-+        }
-+      
-+      /* maintain address hash chain, insert new unique address */
-+      if (!lookup)
-+      {
-+        cache->next = rhash[j];
-+        rhash[j] = cache;
-+      }
-     }
--  
-+  else
-+    {
-+      /* incremental read, lookup in cache */
-+      lookup = cache_find_by_addr(NULL, addr, 0, cache->flags & (F_IPV4 | F_IPV6));
-+      if (lookup && lookup->flags & F_HOSTS)
-+      cache->flags &= ~F_REVERSE;
-+    }
-+
-   cache->uid = index;
-   memcpy(&cache->addr.addr, addr, addrlen);  
-   cache_hash(cache);
-@@ -912,7 +927,7 @@ static int gettok(FILE *f, char *token)
-     }
- }
--static int read_hostsfile(char *filename, unsigned int index, int cache_size, struct crec **rhash, int hashsz)
-+int read_hostsfile(char *filename, unsigned int index, int cache_size, struct crec **rhash, int hashsz)
- {  
-   FILE *f = fopen(filename, "r");
-   char *token = daemon->namebuff, *domain_suffix = NULL;
-@@ -958,7 +973,7 @@ static int read_hostsfile(char *filename, unsigned int index, int cache_size, st
-       addr_count++;
-       
-       /* rehash every 1000 names. */
--      if ((name_count - cache_size) > 1000)
-+      if (rhash && ((name_count - cache_size) > 1000))
-       {
-         rehash(name_count);
-         cache_size = name_count;
-@@ -1005,10 +1020,13 @@ static int read_hostsfile(char *filename, unsigned int index, int cache_size, st
-     } 
-   fclose(f);
--  rehash(name_count);
--  
--  my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count);
-   
-+  if (rhash)
-+    {
-+      rehash(name_count); 
-+      my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count);
-+    }
-+
-   return name_count;
- }
-           
-@@ -1118,14 +1136,19 @@ void cache_reload(void)
-       my_syslog(LOG_INFO, _("cleared cache"));
-       return;
-     }
--    
-+  
-   if (!option_bool(OPT_NO_HOSTS))
-     total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz);
--         
-+  
-   daemon->addn_hosts = expand_filelist(daemon->addn_hosts);
-   for (ah = daemon->addn_hosts; ah; ah = ah->next)
-     if (!(ah->flags & AH_INACTIVE))
-       total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz);
-+  
-+#ifdef HAVE_INOTIFY
-+  set_dynamic_inotify(AH_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz);
-+#endif
-+  
- } 
- #ifdef HAVE_DHCP
-@@ -1505,7 +1528,13 @@ char *record_source(unsigned int index)
-   for (ah = daemon->addn_hosts; ah; ah = ah->next)
-     if (ah->index == index)
-       return ah->fname;
--  
-+
-+#ifdef HAVE_INOTIFY
-+  for (ah = daemon->dynamic_dirs; ah; ah = ah->next)
-+     if (ah->index == index)
-+       return ah->fname;
-+#endif
-+
-   return "<unknown>";
- }
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index bc4f47170705..2c629fe422aa 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -145,8 +145,8 @@ int main (int argc, char **argv)
- #endif
- #ifndef HAVE_INOTIFY
--  if (daemon->inotify_hosts)
--    die(_("dhcp-hostsdir not supported on this platform"), NULL, EC_BADCONF);
-+  if (daemon->dynamic_dirs)
-+    die(_("dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"), NULL, EC_BADCONF);
- #endif
-   
-   if (option_bool(OPT_DNSSEC_VALID))
-@@ -324,8 +324,7 @@ int main (int argc, char **argv)
-     }
- #ifdef HAVE_INOTIFY
--  if ((!option_bool(OPT_NO_POLL) && daemon->port != 0) ||
--      daemon->dhcp || daemon->doing_dhcp6)
-+  if (daemon->port != 0 || daemon->dhcp || daemon->doing_dhcp6)
-     inotify_dnsmasq_init();
-   else
-     daemon->inotifyfd = -1;
-@@ -1400,7 +1399,7 @@ void clear_cache_and_reload(time_t now)
-       dhcp_read_ethers();
-       reread_dhcp();
- #ifdef HAVE_INOTIFY
--      set_dhcp_inotify();
-+      set_dynamic_inotify(AH_DHCP_HST | AH_DHCP_OPT, 0, NULL, 0);
- #endif
-       dhcp_update_configs(daemon->dhcp_conf);
-       lease_update_from_configs(); 
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 8091634f69db..0c322a93993e 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -554,6 +554,9 @@ struct resolvc {
- #define AH_DIR      1
- #define AH_INACTIVE 2
- #define AH_WD_DONE  4
-+#define AH_HOSTS    8
-+#define AH_DHCP_HST 16
-+#define AH_DHCP_OPT 32
- struct hostsfile {
-   struct hostsfile *next;
-   int flags;
-@@ -965,7 +968,7 @@ extern struct daemon {
-   int doing_ra, doing_dhcp6;
-   struct dhcp_netid_list *dhcp_ignore, *dhcp_ignore_names, *dhcp_gen_names; 
-   struct dhcp_netid_list *force_broadcast, *bootp_dynamic;
--  struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *inotify_hosts;
-+  struct hostsfile *dhcp_hosts_file, *dhcp_opts_file, *dynamic_dirs;
-   int dhcp_max, tftp_max;
-   int dhcp_server_port, dhcp_client_port;
-   int start_tftp_port, end_tftp_port; 
-@@ -1071,6 +1074,8 @@ int cache_make_stat(struct txt_record *t);
- char *cache_get_name(struct crec *crecp);
- char *cache_get_cname_target(struct crec *crecp);
- struct crec *cache_enumerate(int init);
-+int read_hostsfile(char *filename, unsigned int index, int cache_size, 
-+                 struct crec **rhash, int hashsz);
- /* blockdata.c */
- #ifdef HAVE_DNSSEC
-@@ -1204,7 +1209,8 @@ void reset_option_bool(unsigned int opt);
- struct hostsfile *expand_filelist(struct hostsfile *list);
- char *parse_server(char *arg, union mysockaddr *addr, 
-                  union mysockaddr *source_addr, char *interface, int *flags);
--int option_read_hostsfile(char *file);
-+int option_read_dynfile(char *file, int flags);
-+
- /* forward.c */
- void reply_query(int fd, int family, time_t now);
- void receive_query(struct listener *listen, time_t now);
-@@ -1494,7 +1500,5 @@ int detect_loop(char *query, int type);
- #ifdef HAVE_INOTIFY
- void inotify_dnsmasq_init();
- int inotify_check(time_t now);
--#  ifdef HAVE_DHCP
--void set_dhcp_inotify(void);
--#  endif
-+void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revhashsz);
- #endif
-diff --git a/src/inotify.c b/src/inotify.c
-index 818fe8eddda4..c537f4c1562a 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -19,11 +19,6 @@
- #include <sys/inotify.h>
--#ifdef HAVE_DHCP
--static void check_for_dhcp_inotify(struct inotify_event *in, time_t now);
--#endif
--
--
- /* the strategy is to set a inotify on the directories containing
-    resolv files, for any files in the directory which are close-write 
-    or moved into the directory.
-@@ -82,57 +77,28 @@ void inotify_dnsmasq_init()
-     }
- }
--int inotify_check(time_t now)
-+
-+/* initialisation for dynamic-dir. Set inotify watch for each directory, and read pre-existing files */
-+void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revhashsz)
- {
--  int hit = 0;
-+  struct hostsfile *ah;
-   
--  while (1)
-+  for (ah = daemon->dynamic_dirs; ah; ah = ah->next)
-     {
--      int rc;
--      char *p;
--      struct resolvc *res;
--      struct inotify_event *in;
--
--      while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR);
--      
--      if (rc <= 0)
--      break;
--      
--      for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) 
-+      DIR *dir_stream = NULL;
-+      struct dirent *ent;
-+      struct stat buf;
-+     
-+      if (!(ah->flags & flag))
-+      continue;
-+ 
-+      if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode)))
-       {
--        in = (struct inotify_event*)p;
--        
--        for (res = daemon->resolv_files; res; res = res->next)
--          if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0)
--            hit = 1;
--
--#ifdef HAVE_DHCP
--        if (daemon->dhcp || daemon->doing_dhcp6)
--          check_for_dhcp_inotify(in, now);
--#endif
-+        my_syslog(LOG_ERR, _("bad dynamic directory %s: %s"), 
-+                  ah->fname, strerror(errno));
-+        continue;
-       }
--    }
--  return hit;
--}
--
--#ifdef HAVE_DHCP 
--/* initialisation for dhcp-hostdir. Set inotify watch for each directory, and read pre-existing files */
--void set_dhcp_inotify(void)
--{
--  struct hostsfile *ah;
--
--  for (ah = daemon->inotify_hosts; ah; ah = ah->next)
--    {
--       DIR *dir_stream = NULL;
--       struct dirent *ent;
--       struct stat buf;
--
--       if (stat(ah->fname, &buf) == -1 || !(S_ISDIR(buf.st_mode)))
--       {
--         my_syslog(LOG_ERR, _("bad directory in dhcp-hostsdir %s"), ah->fname);
--         continue;
--       }
--
-+      
-        if (!(ah->flags & AH_WD_DONE))
-        {
-          ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO);
-@@ -142,7 +108,8 @@ void set_dhcp_inotify(void)
-         a race which misses files being added as we start */
-        if (ah->wd == -1 || !(dir_stream = opendir(ah->fname)))
-        {
--         my_syslog(LOG_ERR, _("failed to create inotify for %s"), ah->fname);
-+         my_syslog(LOG_ERR, _("failed to create inotify for %s: %s"),
-+                   ah->fname, strerror(errno));
-          continue;
-        }
-@@ -167,54 +134,90 @@ void set_dhcp_inotify(void)
-              
-              /* ignore non-regular files */
-              if (stat(path, &buf) != -1 && S_ISREG(buf.st_mode))
--               option_read_hostsfile(path);
--             
-+               {
-+                 if (ah->flags & AH_HOSTS)
-+                   total_size = read_hostsfile(path, ah->index, total_size, rhash, revhashsz);
-+#ifdef HAVE_DHCP
-+                 else if (ah->flags & (AH_DHCP_HST | AH_DHCP_OPT))
-+                   option_read_dynfile(path, ah->flags);
-+#endif                   
-+               }
-+
-              free(path);
-            }
-        }
-     }
- }
--static void check_for_dhcp_inotify(struct inotify_event *in, time_t now)
-+int inotify_check(time_t now)
- {
-+  int hit = 0;
-   struct hostsfile *ah;
--  /* ignore emacs backups and dotfiles */
--  if (in->len == 0 || 
--      in->name[in->len - 1] == '~' ||
--      (in->name[0] == '#' && in->name[in->len - 1] == '#') ||
--      in->name[0] == '.')
--    return;
--
--  for (ah = daemon->inotify_hosts; ah; ah = ah->next)
--    if (ah->wd == in->wd)
--      {
--      size_t lendir = strlen(ah->fname);
--      char *path;
--         
--      if ((path = whine_malloc(lendir + in->len + 2)))
--        {
--          strcpy(path, ah->fname);
--          strcat(path, "/");
--          strcat(path, in->name);
--          
--          if (option_read_hostsfile(path))
-+  while (1)
-+    {
-+      int rc;
-+      char *p;
-+      struct resolvc *res;
-+      struct inotify_event *in;
-+
-+      while ((rc = read(daemon->inotifyfd, inotify_buffer, INOTIFY_SZ)) == -1 && errno == EINTR);
-+      
-+      if (rc <= 0)
-+      break;
-+      
-+      for (p = inotify_buffer; rc - (p - inotify_buffer) >= (int)sizeof(struct inotify_event); p += sizeof(struct inotify_event) + in->len) 
-+      {
-+        in = (struct inotify_event*)p;
-+        
-+        for (res = daemon->resolv_files; res; res = res->next)
-+          if (res->wd == in->wd && in->len != 0 && strcmp(res->file, in->name) == 0)
-+            hit = 1;
-+
-+        /* ignore emacs backups and dotfiles */
-+        if (in->len == 0 || 
-+            in->name[in->len - 1] == '~' ||
-+            (in->name[0] == '#' && in->name[in->len - 1] == '#') ||
-+            in->name[0] == '.')
-+          continue;
-+        
-+        for (ah = daemon->dynamic_dirs; ah; ah = ah->next)
-+          if (ah->wd == in->wd)
-             {
--              /* Propogate the consequences of loading a new dhcp-host */
--              dhcp_update_configs(daemon->dhcp_conf);
--              lease_update_from_configs(); 
--              lease_update_file(now); 
--              lease_update_dns(1);
-+              size_t lendir = strlen(ah->fname);
-+              char *path;
-+              
-+              if ((path = whine_malloc(lendir + in->len + 2)))
-+                {
-+                  strcpy(path, ah->fname);
-+                  strcat(path, "/");
-+                  strcat(path, in->name);
-+                  
-+                  if (ah->flags & AH_HOSTS)
-+                    read_hostsfile(path, ah->index, 0, NULL, 0);
-+#ifdef HAVE_DHCP
-+                  else if (ah->flags & AH_DHCP_HST)
-+                    {
-+                      if (option_read_dynfile(path, AH_DHCP_HST))
-+                        {
-+                          /* Propogate the consequences of loading a new dhcp-host */
-+                          dhcp_update_configs(daemon->dhcp_conf);
-+                          lease_update_from_configs(); 
-+                          lease_update_file(now); 
-+                          lease_update_dns(1);
-+                        }
-+                    }
-+                  else if (ah->flags & AH_DHCP_OPT)
-+                    option_read_dynfile(path, AH_DHCP_OPT);
-+#endif
-+                  
-+                  free(path);
-+                }
-             }
--          
--          free(path);
--        }
--      
--      return;
--      }
-+      }
-+    }
-+  return hit;
- }
--#endif /* DHCP */
--
- #endif  /* INOTIFY */
-   
-diff --git a/src/option.c b/src/option.c
-index 22e11c37d374..6ef80117cc8c 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -150,6 +150,8 @@ struct myoption {
- #define LOPT_IGNORE_ADDR   338
- #define LOPT_MINCTTL       339
- #define LOPT_DHCP_INOTIFY  340
-+#define LOPT_DHOPT_INOTIFY 341
-+#define LOPT_HOST_INOTIFY  342
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
-@@ -200,6 +202,7 @@ static const struct myoption opts[] =
-     { "local-ttl", 1, 0, 'T' },
-     { "no-negcache", 0, 0, 'N' },
-     { "addn-hosts", 1, 0, 'H' },
-+    { "hostsdir", 1, 0, LOPT_HOST_INOTIFY },
-     { "query-port", 1, 0, 'Q' },
-     { "except-interface", 1, 0, 'I' },
-     { "no-dhcp-interface", 1, 0, '2' },
-@@ -249,6 +252,7 @@ static const struct myoption opts[] =
-     { "dhcp-hostsfile", 1, 0, LOPT_DHCP_HOST },
-     { "dhcp-optsfile", 1, 0, LOPT_DHCP_OPTS },
-     { "dhcp-hostsdir", 1, 0, LOPT_DHCP_INOTIFY },
-+    { "dhcp-optsdir", 1, 0, LOPT_DHOPT_INOTIFY },
-     { "dhcp-no-override", 0, 0, LOPT_OVERRIDE },
-     { "tftp-port-range", 1, 0, LOPT_TFTPPORTS },
-     { "stop-dns-rebind", 0, 0, LOPT_REBIND },
-@@ -338,9 +342,11 @@ static struct {
-   { LOPT_DHCP_HOST, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from file."), NULL },
-   { LOPT_DHCP_OPTS, ARG_DUP, "<path>", gettext_noop("Read DHCP option specs from file."), NULL },
-   { LOPT_DHCP_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP host specs from a directory."), NULL }, 
-+  { LOPT_DHOPT_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read DHCP options from a directory."), NULL }, 
-   { LOPT_TAG_IF, ARG_DUP, "tag-expression", gettext_noop("Evaluate conditional tag expression."), NULL },
-   { 'h', OPT_NO_HOSTS, NULL, gettext_noop("Do NOT load %s file."), HOSTSFILE },
-   { 'H', ARG_DUP, "<path>", gettext_noop("Specify a hosts file to be read in addition to %s."), HOSTSFILE },
-+  { LOPT_HOST_INOTIFY, ARG_DUP, "<path>", gettext_noop("Read hosts files from a directory."), NULL },
-   { 'i', ARG_DUP, "<interface>", gettext_noop("Specify interface(s) to listen on."), NULL },
-   { 'I', ARG_DUP, "<interface>", gettext_noop("Specify interface(s) NOT to listen on.") , NULL },
-   { 'j', ARG_DUP, "set:<tag>,<class>", gettext_noop("Map DHCP user class to tag."), NULL },
-@@ -1712,10 +1718,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       break;
- #endif /* HAVE_DHCP */
--    case LOPT_DHCP_HOST: /* --dhcp-hostsfile */
--    case LOPT_DHCP_OPTS: /* --dhcp-optsfile */
--    case LOPT_DHCP_INOTIFY: /* dhcp-hostsdir */
--    case 'H': /* --addn-hosts */
-+    case LOPT_DHCP_HOST:     /* --dhcp-hostsfile */
-+    case LOPT_DHCP_OPTS:     /* --dhcp-optsfile */
-+    case LOPT_DHCP_INOTIFY:  /* --dhcp-hostsdir */
-+    case LOPT_DHOPT_INOTIFY: /* --dhcp-optsdir */
-+    case LOPT_HOST_INOTIFY:  /* --hostsdir */
-+    case 'H':                /* --addn-hosts */
-       {
-       struct hostsfile *new = opt_malloc(sizeof(struct hostsfile));
-       static unsigned int hosts_index = SRC_AH;
-@@ -1737,10 +1745,16 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-           new->next = daemon->dhcp_opts_file;
-           daemon->dhcp_opts_file = new;
-         }       
--      else if (option == LOPT_DHCP_INOTIFY)
-+      else 
-         {
--          new->next = daemon->inotify_hosts;
--          daemon->inotify_hosts = new;
-+          new->next = daemon->dynamic_dirs;
-+          daemon->dynamic_dirs = new; 
-+          if (option == LOPT_DHCP_INOTIFY)
-+            new->flags |= AH_DHCP_HST;
-+          else if (option == LOPT_DHOPT_INOTIFY)
-+            new->flags |= AH_DHCP_OPT;
-+          else if (option == LOPT_HOST_INOTIFY)
-+            new->flags |= AH_HOSTS;
-         }
-       
-       break;
-@@ -4052,9 +4066,14 @@ static void read_file(char *file, FILE *f, int hard_opt)
- }
- #ifdef HAVE_DHCP
--int option_read_hostsfile(char *file)
-+int option_read_dynfile(char *file, int flags)
- {
--  return one_file(file, LOPT_BANK);
-+  if (flags & AH_DHCP_HST)
-+    return one_file(file, LOPT_BANK);
-+  else if (flags & AH_DHCP_OPT)
-+    return one_file(file, LOPT_OPTS);
-+
-+  return 0;
- }
- #endif
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch
deleted file mode 100644 (file)
index 4b56034..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-From aff3396280e944833f0e23d834aa6acd5fe2605a Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 31 Jan 2015 20:13:40 +0000
-Subject: [PATCH 039/113] Update copyrights for dawn of 2015.
-
----
- Makefile             | 2 +-
- src/auth.c           | 2 +-
- src/blockdata.c      | 2 +-
- src/bpf.c            | 2 +-
- src/cache.c          | 2 +-
- src/config.h         | 2 +-
- src/conntrack.c      | 2 +-
- src/dbus.c           | 2 +-
- src/dhcp-common.c    | 2 +-
- src/dhcp-protocol.h  | 2 +-
- src/dhcp.c           | 2 +-
- src/dhcp6-protocol.h | 2 +-
- src/dhcp6.c          | 2 +-
- src/dns-protocol.h   | 2 +-
- src/dnsmasq.c        | 2 +-
- src/dnsmasq.h        | 4 ++--
- src/dnssec.c         | 2 +-
- src/domain.c         | 2 +-
- src/forward.c        | 2 +-
- src/helper.c         | 2 +-
- src/inotify.c        | 2 +-
- src/ip6addr.h        | 2 +-
- src/lease.c          | 2 +-
- src/log.c            | 2 +-
- src/loop.c           | 2 +-
- src/netlink.c        | 2 +-
- src/network.c        | 2 +-
- src/option.c         | 2 +-
- src/outpacket.c      | 2 +-
- src/radv-protocol.h  | 2 +-
- src/radv.c           | 2 +-
- src/rfc1035.c        | 2 +-
- src/rfc2131.c        | 2 +-
- src/rfc3315.c        | 2 +-
- src/slaac.c          | 2 +-
- src/tftp.c           | 2 +-
- src/util.c           | 2 +-
- 37 files changed, 38 insertions(+), 38 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index bcbd5571671d..21e4a5c4101c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,4 +1,4 @@
--# dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+# dnsmasq is Copyright (c) 2000-2015 Simon Kelley
- #
- #  This program is free software; you can redistribute it and/or modify
- #  it under the terms of the GNU General Public License as published by
-diff --git a/src/auth.c b/src/auth.c
-index 59e05d3da38e..15721e52793f 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/blockdata.c b/src/blockdata.c
-index 5a70a7967fa3..c8f5eae811eb 100644
---- a/src/blockdata.c
-+++ b/src/blockdata.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/bpf.c b/src/bpf.c
-index 4416b1c07287..997d87421bed 100644
---- a/src/bpf.c
-+++ b/src/bpf.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/cache.c b/src/cache.c
-index abaf25ec0f18..117ae279fd4e 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/config.h b/src/config.h
-index 5e5009271eba..8def6f200461 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/conntrack.c b/src/conntrack.c
-index 6a5133ab93af..0fa2da903b03 100644
---- a/src/conntrack.c
-+++ b/src/conntrack.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dbus.c b/src/dbus.c
-index a2a94dc85dac..5b69de518beb 100644
---- a/src/dbus.c
-+++ b/src/dbus.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dhcp-common.c b/src/dhcp-common.c
-index 9d13ac8df6f1..ce115202a646 100644
---- a/src/dhcp-common.c
-+++ b/src/dhcp-common.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dhcp-protocol.h b/src/dhcp-protocol.h
-index 4c0961472482..701b6cb3346e 100644
---- a/src/dhcp-protocol.h
-+++ b/src/dhcp-protocol.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dhcp.c b/src/dhcp.c
-index 7acf2c4311a9..f29be9b489a7 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dhcp6-protocol.h b/src/dhcp6-protocol.h
-index 5927dc32f6af..928a2fa162ed 100644
---- a/src/dhcp6-protocol.h
-+++ b/src/dhcp6-protocol.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dhcp6.c b/src/dhcp6.c
-index bc48fdddd3de..3c56e77c6085 100644
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dns-protocol.h b/src/dns-protocol.h
-index 0aced3ce6952..16fade33d98c 100644
---- a/src/dns-protocol.h
-+++ b/src/dns-protocol.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 2c629fe422aa..e903a24c8105 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 0c322a93993e..89e758b56a0a 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-  
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-@@ -14,7 +14,7 @@
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
--#define COPYRIGHT "Copyright (c) 2000-2014 Simon Kelley" 
-+#define COPYRIGHT "Copyright (c) 2000-2015 Simon Kelley" 
- #ifndef NO_LARGEFILE
- /* Ensure we can use files >2GB (log files may grow this big) */
-diff --git a/src/dnssec.c b/src/dnssec.c
-index d39ab85ed966..a8dfe3871c85 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1,5 +1,5 @@
- /* dnssec.c is Copyright (c) 2012 Giovanni Bajo <rasky@develer.com>
--           and Copyright (c) 2012-2014 Simon Kelley
-+           and Copyright (c) 2012-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/domain.c b/src/domain.c
-index fdd5e4f0838f..278698ca04b3 100644
---- a/src/domain.c
-+++ b/src/domain.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/forward.c b/src/forward.c
-index b17bc34f865f..438e9fa490b8 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/helper.c b/src/helper.c
-index 4be53c361ee1..1fee72dead8c 100644
---- a/src/helper.c
-+++ b/src/helper.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/inotify.c b/src/inotify.c
-index c537f4c1562a..470d6ed99213 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-  
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/ip6addr.h b/src/ip6addr.h
-index c7dcb39c33fa..f0b7e820e227 100644
---- a/src/ip6addr.h
-+++ b/src/ip6addr.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/lease.c b/src/lease.c
-index 5d56b1b9147e..545bbb7fd09c 100644
---- a/src/lease.c
-+++ b/src/lease.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/log.c b/src/log.c
-index 8083a8697323..a5ac605c7c5d 100644
---- a/src/log.c
-+++ b/src/log.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/loop.c b/src/loop.c
-index bb377ad12644..565f7d8e58e0 100644
---- a/src/loop.c
-+++ b/src/loop.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/netlink.c b/src/netlink.c
-index b39328376389..10f94db25a14 100644
---- a/src/netlink.c
-+++ b/src/netlink.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/network.c b/src/network.c
-index 14d2af2ce313..7045253d467b 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/option.c b/src/option.c
-index 6ef80117cc8c..cb4e76ba0aa2 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/outpacket.c b/src/outpacket.c
-index dce68f7cb09f..5b1ff9318bbd 100644
---- a/src/outpacket.c
-+++ b/src/outpacket.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/radv-protocol.h b/src/radv-protocol.h
-index 72ccda49d7fe..4cc1ea426e69 100644
---- a/src/radv-protocol.h
-+++ b/src/radv-protocol.h
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/radv.c b/src/radv.c
-index 3c8b162dbd8e..6da125b864ae 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 262274fc5b80..5ef5ddb7485e 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index 5c9040892f1d..55526443dc84 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index e593ec9c362c..c1ddc805988d 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/slaac.c b/src/slaac.c
-index 351d6802f85e..abaad537e25a 100644
---- a/src/slaac.c
-+++ b/src/slaac.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/tftp.c b/src/tftp.c
-index a527911fc0df..a57a31514f44 100644
---- a/src/tftp.c
-+++ b/src/tftp.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-diff --git a/src/util.c b/src/util.c
-index d532444da207..91d02410b13f 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -1,4 +1,4 @@
--/* dnsmasq is Copyright (c) 2000-2014 Simon Kelley
-+/* dnsmasq is Copyright (c) 2000-2015 Simon Kelley
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch
deleted file mode 100644 (file)
index 0a4a91a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 3d04f46334d0e345f589eda1372e638b946fe637 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 31 Jan 2015 21:59:13 +0000
-Subject: [PATCH 040/113] inotify documentation updates.
-
----
- man/dnsmasq.8 | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 005b5cca8d1f..c858323d78bd 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -50,6 +50,10 @@ Additional hosts file. Read the specified file as well as /etc/hosts. If -h is g
- only the specified file. This option may be repeated for more than one
- additional hosts file. If a directory is given, then read all the files contained in that directory. 
- .TP
-+.B --hostsdir=<path>
-+Read all the hosts files contained in the directory. New or changed files
-+are read automatically. See --dhcp-hostsdir for details.
-+.TP
- .B \-E, --expand-hosts
- Add the domain to simple names (without a period) in /etc/hosts
- in the same way as for DHCP-derived names. Note that this does not
-@@ -979,12 +983,14 @@ dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that
- it is possible to encode the information in a
- .TP
- .B --dhcp-hostsdir=<path>
--This is exactly equivalent to dhcp-hostfile, except for the following. The path MUST be a
-+This is equivalent to dhcp-hostsfile, except for the following. The path MUST be a
- directory, and not an individual file. Changed or new files within
- the directory are read automatically, without the need to send SIGHUP.
- If a file is deleted for changed after it has been read by dnsmasq, then the
- host record it contained will remain until dnsmasq recieves a SIGHUP, or 
- is restarted; ie host records are only added dynamically.
-+.B --dhcp-optsdir=<path>
-+This is equivalent to dhcp-optsfile, with the differences noted for --dhcp-hostsdir.
- .TP
- .B --dhcp-boot
- flag as DHCP options, using the options names bootfile-name,
-@@ -1791,7 +1797,8 @@ clears its cache and then re-loads
- .I /etc/hosts
- and 
- .I /etc/ethers 
--and any file given by --dhcp-hostsfile, --dhcp-optsfile or --addn-hosts.
-+and any file given by --dhcp-hostsfile, --dhcp-hostsdir, --dhcp-optsfile, 
-+--dhcp-optsdir, --addn-hosts or --hostsdir.
- The dhcp lease change script is called for all
- existing DHCP leases. If 
- .B
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch
deleted file mode 100644 (file)
index 01033f4..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 6ef15b34ca83c62a939f69356d5c3f7a6bfef3d0 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 31 Jan 2015 22:44:26 +0000
-Subject: [PATCH 041/113] Fix broken ECDSA DNSSEC signatures.
-
----
- CHANGELOG    | 2 ++
- src/dnssec.c | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index c05dec63c587..c80dc0fdbe9e 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -65,6 +65,8 @@ version 2.73
-           configured to do stateful DHCPv6. Thanks to Win King Wan 
-           for the patch.
-+          Fix broken DNSSEC validation of ECDSA signatures.
-+      
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/dnssec.c b/src/dnssec.c
-index a8dfe3871c85..26932373cd3e 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -275,7 +275,7 @@ static int dnsmasq_ecdsa_verify(struct blockdata *key_data, unsigned int key_len
-     }
-   
-   if (sig_len != 2*t || key_len != 2*t ||
--      (p = blockdata_retrieve(key_data, key_len, NULL)))
-+      !(p = blockdata_retrieve(key_data, key_len, NULL)))
-     return 0;
-   
-   mpz_import(x, t , 1, 1, 0, 0, p);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0042-BSD-make-support.patch b/src/patches/dnsmasq/0042-BSD-make-support.patch
deleted file mode 100644 (file)
index 6e9bc47..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 106266761828a0acb006346ae47bf031dee46a5d Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 1 Feb 2015 00:15:16 +0000
-Subject: [PATCH 042/113] BSD make support
-
----
- Makefile | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 21e4a5c4101c..2910320b6452 100644
---- a/Makefile
-+++ b/Makefile
-@@ -64,8 +64,10 @@ nettle_libs =   `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC $(PKG_CONFIG
- gmp_libs =      `echo $(COPTS) | $(top)/bld/pkg-wrapper HAVE_DNSSEC NO_GMP --copy -lgmp`
- sunos_libs =    `if uname | grep SunOS >/dev/null 2>&1; then echo -lsocket -lnsl -lposix4; fi`
- version =     -DVERSION='\"`$(top)/bld/get-version $(top)`\"'
--copts_conf = .copts_$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | \
--                      ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ')
-+
-+sum?=$(shell $(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' ')
-+sum!=$(CC) -DDNSMASQ_COMPILE_OPTS $(COPTS) -E $(top)/$(SRC)/dnsmasq.h | ( md5sum 2>/dev/null || md5 ) | cut -f 1 -d ' '
-+copts_conf = .copts_$(sum)
- objs = cache.o rfc1035.o util.o option.o forward.o network.o \
-        dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch
deleted file mode 100644 (file)
index 6953204..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8d8a54ec79d9f96979fabbd97b1dd2ddebc7d78f Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 1 Feb 2015 21:48:46 +0000
-Subject: [PATCH 043/113] Fix build failure on openBSD.
-
----
- src/tables.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tables.c b/src/tables.c
-index dcdef794c4d2..aae1252708db 100644
---- a/src/tables.c
-+++ b/src/tables.c
-@@ -21,7 +21,7 @@
- #if defined(HAVE_IPSET) && defined(HAVE_BSD_NETWORK)
- #ifndef __FreeBSD__
--#include <bsd/string.h>
-+#include <string.h>
- #endif
- #include <sys/types.h>
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch
deleted file mode 100644 (file)
index 5c01cfe..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From d36b732c4cfa91ea09af64b5dc0f3a85a075e5bc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Thi=C3=A9baud=20Weksteen?= <thiebaud@weksteen.fr>
-Date: Mon, 2 Feb 2015 21:37:27 +0000
-Subject: [PATCH 044/113] Manpage typo fix.
-
----
- man/dnsmasq.8 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index c858323d78bd..27f85d40fbbb 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -516,7 +516,7 @@ zone files: the port, weight and priority numbers are in a different
- order. More than one SRV record for a given service/domain is allowed,
- all that match are returned.
- .TP
--.B --host-record=<name>[,<name>....][<IPv4-address>],[<IPv6-address>]
-+.B --host-record=<name>[,<name>....],[<IPv4-address>],[<IPv6-address>]
- Add A, AAAA and PTR records to the DNS. This adds one or more names to
- the DNS with associated IPv4 (A) and IPv6 (AAAA) records. A name may
- appear in more than one 
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch
deleted file mode 100644 (file)
index b4c2748..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 2941d3ac898cf84b544e47c9735c5e4111711db1 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 2 Feb 2015 22:36:42 +0000
-Subject: [PATCH 045/113] Fixup dhcp-configs after reading extra hostfiles with
- inotify.
-
----
- src/inotify.c | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/src/inotify.c b/src/inotify.c
-index 470d6ed99213..6f4cd79e0030 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -194,7 +194,19 @@ int inotify_check(time_t now)
-                   strcat(path, in->name);
-                   
-                   if (ah->flags & AH_HOSTS)
--                    read_hostsfile(path, ah->index, 0, NULL, 0);
-+                    {
-+                      read_hostsfile(path, ah->index, 0, NULL, 0);
-+#ifdef HAVE_DHCP
-+                      if (daemon->dhcp || daemon->doing_dhcp6) 
-+                        {
-+                          /* Propogate the consequences of loading a new dhcp-host */
-+                          dhcp_update_configs(daemon->dhcp_conf);
-+                          lease_update_from_configs(); 
-+                          lease_update_file(now); 
-+                          lease_update_dns(1);
-+                        }
-+#endif
-+                    }
- #ifdef HAVE_DHCP
-                   else if (ah->flags & AH_DHCP_HST)
-                     {
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch
deleted file mode 100644 (file)
index d4f823d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-From f9c863708c6b0aea31ff7a466647685dc739de50 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 3 Feb 2015 21:52:48 +0000
-Subject: [PATCH 046/113] Extra logging for inotify code.
-
----
- src/cache.c   | 9 ++++-----
- src/inotify.c | 4 +++-
- src/option.c  | 4 +++-
- 3 files changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 117ae279fd4e..43245b771b53 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1022,11 +1022,10 @@ int read_hostsfile(char *filename, unsigned int index, int cache_size, struct cr
-   fclose(f);
-   
-   if (rhash)
--    {
--      rehash(name_count); 
--      my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count);
--    }
--
-+    rehash(name_count); 
-+  
-+  my_syslog(LOG_INFO, _("read %s - %d addresses"), filename, addr_count);
-+  
-   return name_count;
- }
-           
-diff --git a/src/inotify.c b/src/inotify.c
-index 6f4cd79e0030..44ce0c9af051 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -192,7 +192,9 @@ int inotify_check(time_t now)
-                   strcpy(path, ah->fname);
-                   strcat(path, "/");
-                   strcat(path, in->name);
--                  
-+                   
-+                  my_syslog(LOG_INFO, _("inotify, new or changed file %s"), path);
-+
-                   if (ah->flags & AH_HOSTS)
-                     {
-                       read_hostsfile(path, ah->index, 0, NULL, 0);
-diff --git a/src/option.c b/src/option.c
-index cb4e76ba0aa2..e4b4865d07a5 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -4068,11 +4068,13 @@ static void read_file(char *file, FILE *f, int hard_opt)
- #ifdef HAVE_DHCP
- int option_read_dynfile(char *file, int flags)
- {
-+  my_syslog(MS_DHCP | LOG_INFO, _("read %s"), file);
-+  
-   if (flags & AH_DHCP_HST)
-     return one_file(file, LOPT_BANK);
-   else if (flags & AH_DHCP_OPT)
-     return one_file(file, LOPT_OPTS);
--
-+  
-   return 0;
- }
- #endif
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0047-man-page-typo.patch b/src/patches/dnsmasq/0047-man-page-typo.patch
deleted file mode 100644 (file)
index bcf53f1..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From efb8b5566aafc1f3ce18514a2df93af5a2e4998c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 7 Feb 2015 22:36:34 +0000
-Subject: [PATCH 047/113] man page typo.
-
----
- man/dnsmasq.8 | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 27f85d40fbbb..5cdd186afaa0 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -989,6 +989,7 @@ the directory are read automatically, without the need to send SIGHUP.
- If a file is deleted for changed after it has been read by dnsmasq, then the
- host record it contained will remain until dnsmasq recieves a SIGHUP, or 
- is restarted; ie host records are only added dynamically.
-+.TP
- .B --dhcp-optsdir=<path>
- This is equivalent to dhcp-optsfile, with the differences noted for --dhcp-hostsdir.
- .TP
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch
deleted file mode 100644 (file)
index 47ada5b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From f4f400776b3c1aa303d1a0fcd500f0ab5bc970f2 Mon Sep 17 00:00:00 2001
-From: Shantanu Gadgil <shantanugadgil@yahoo.com>
-Date: Wed, 11 Feb 2015 20:16:59 +0000
-Subject: [PATCH 048/113] Fix get-version script which returned wrong tag in
- some situations.
-
----
- bld/get-version | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/bld/get-version b/bld/get-version
-index c246a3cc6a47..7ab75db729ac 100755
---- a/bld/get-version
-+++ b/bld/get-version
-@@ -20,7 +20,7 @@ else
-      vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]`
-      if [ $? -eq 0 ]; then
--         echo "${vers}" | sort | head -n 1 | sed 's/^v//'
-+         echo "${vers}" | sort -r | head -n 1 | sed 's/^v//'
-      else
-          cat $1/VERSION
-      fi
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0049-Typos.patch b/src/patches/dnsmasq/0049-Typos.patch
deleted file mode 100644 (file)
index 88ace38..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 8ff70de618eb7de9147dbfbd4deca4a2dd62f0cb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 14 Feb 2015 20:02:37 +0000
-Subject: [PATCH 049/113] Typos.
-
----
- src/inotify.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/inotify.c b/src/inotify.c
-index 44ce0c9af051..9422066257f5 100644
---- a/src/inotify.c
-+++ b/src/inotify.c
-@@ -104,7 +104,8 @@ void set_dynamic_inotify(int flag, int total_size, struct crec **rhash, int revh
-          ah->wd = inotify_add_watch(daemon->inotifyfd, ah->fname, IN_CLOSE_WRITE | IN_MOVED_TO);
-          ah->flags |= AH_WD_DONE;
-        }
--       /* Read contents of dir _after_ calling add_watch, in the ho[e of avoiding
-+
-+       /* Read contents of dir _after_ calling add_watch, in the hope of avoiding
-         a race which misses files being added as we start */
-        if (ah->wd == -1 || !(dir_stream = opendir(ah->fname)))
-        {
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch
deleted file mode 100644 (file)
index fda7094..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From caeea190f12efd20139f694aac4942d1ac00019f Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 14 Feb 2015 20:08:56 +0000
-Subject: [PATCH 050/113] Make dynamic hosts files work when --no-hosts set.
-
----
- src/cache.c | 21 +++++++++++----------
- 1 file changed, 11 insertions(+), 10 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 43245b771b53..c95624c42b1c 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1133,17 +1133,18 @@ void cache_reload(void)
-     {
-       if (daemon->cachesize > 0)
-       my_syslog(LOG_INFO, _("cleared cache"));
--      return;
-     }
--  
--  if (!option_bool(OPT_NO_HOSTS))
--    total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz);
--  
--  daemon->addn_hosts = expand_filelist(daemon->addn_hosts);
--  for (ah = daemon->addn_hosts; ah; ah = ah->next)
--    if (!(ah->flags & AH_INACTIVE))
--      total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz);
--  
-+  else
-+    {
-+      if (!option_bool(OPT_NO_HOSTS))
-+      total_size = read_hostsfile(HOSTSFILE, SRC_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz);
-+      
-+      daemon->addn_hosts = expand_filelist(daemon->addn_hosts);
-+      for (ah = daemon->addn_hosts; ah; ah = ah->next)
-+      if (!(ah->flags & AH_INACTIVE))
-+        total_size = read_hostsfile(ah->fname, ah->index, total_size, (struct crec **)daemon->packet, revhashsz);
-+    }
-+
- #ifdef HAVE_INOTIFY
-   set_dynamic_inotify(AH_HOSTS, total_size, (struct crec **)daemon->packet, revhashsz);
- #endif
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch
deleted file mode 100644 (file)
index 72bd1ca..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From 28b879ac47b872af6e8c5e86d76806c69338434d Mon Sep 17 00:00:00 2001
-From: Chen Wei <weichen302@icloud.com>
-Date: Tue, 17 Feb 2015 22:07:35 +0000
-Subject: [PATCH 051/113] Fix trivial memory leaks to quieten valgrind.
-
----
- src/dnsmasq.c |  2 ++
- src/option.c  | 11 +++++++++--
- 2 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index e903a24c8105..e6dabbf556f7 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -627,6 +627,8 @@ int main (int argc, char **argv)
-     }
-   
- #ifdef HAVE_LINUX_NETWORK
-+  free(hdr);
-+  free(data);
-   if (option_bool(OPT_DEBUG)) 
-     prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
- #endif
-diff --git a/src/option.c b/src/option.c
-index e4b4865d07a5..ae0ad002d8b8 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -4361,7 +4361,7 @@ void read_opts(int argc, char **argv, char *compile_opts)
- {
-   char *buff = opt_malloc(MAXDNAME);
-   int option, conffile_opt = '7', testmode = 0;
--  char *arg, *conffile = CONFFILE;
-+  char *arg, *conffile = NULL;
-       
-   opterr = 0;
-@@ -4476,7 +4476,14 @@ void read_opts(int argc, char **argv, char *compile_opts)
-     }
-   if (conffile)
--    one_file(conffile, conffile_opt);
-+    {
-+      one_file(conffile, conffile_opt);
-+      free(conffile);
-+    }
-+  else
-+    {
-+      one_file(CONFFILE, conffile_opt);
-+    }
-   /* port might not be known when the address is parsed - fill in here */
-   if (daemon->servers)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch
deleted file mode 100644 (file)
index 1e28322..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0705a7e2d57654b27c7e14f35ca77241c1821f4d Mon Sep 17 00:00:00 2001
-From: Tomas Hozza <thozza@redhat.com>
-Date: Mon, 23 Feb 2015 21:26:26 +0000
-Subject: [PATCH 052/113] Fix uninitialized value used in get_client_mac()
-
----
- src/dhcp6.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/dhcp6.c b/src/dhcp6.c
-index 3c56e77c6085..c7144f5fee7c 100644
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -246,7 +246,9 @@ void get_client_mac(struct in6_addr *client, int iface, unsigned char *mac, unsi
-   neigh.code = 0;
-   neigh.reserved = 0;
-   neigh.target = *client;
--  
-+  /* RFC4443 section-2.3: checksum has to be zero to be calculated */
-+  neigh.checksum = 0;
-+   
-   memset(&addr, 0, sizeof(addr));
- #ifdef HAVE_SOCKADDR_SA_LEN
-   addr.sin6_len = sizeof(struct sockaddr_in6);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch
deleted file mode 100644 (file)
index 9a53149..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 47b9ac59c715827252ae6e6732903c3dabb697fb Mon Sep 17 00:00:00 2001
-From: Joachim Zobel <jz-2014@heute-morgen.de>
-Date: Mon, 23 Feb 2015 21:38:11 +0000
-Subject: [PATCH 053/113] Log parsing utils in contrib/reverse-dns
-
----
- contrib/reverse-dns/README             | 18 ++++++++++++++++++
- contrib/reverse-dns/reverse_replace.sh | 28 ++++++++++++++++++++++++++++
- 2 files changed, 46 insertions(+)
- create mode 100644 contrib/reverse-dns/README
- create mode 100644 contrib/reverse-dns/reverse_replace.sh
-
-diff --git a/contrib/reverse-dns/README b/contrib/reverse-dns/README
-new file mode 100644
-index 000000000000..f87eb77c4c22
---- /dev/null
-+++ b/contrib/reverse-dns/README
-@@ -0,0 +1,18 @@
-+Hi.\r
-+\r
-+To translate my routers netstat-nat output into names that actually talk\r
-+to me I have started writing to simple shell scripts. They require \r
-+\r
-+log-queries\r
-+log-facility=/var/log/dnsmasq.log\r
-+\r
-+to be set. With\r
-+\r
-+netstat-nat -n -4 | reverse_replace.sh \r
-+\r
-+I get retranslated output.\r
-+\r
-+Sincerely,\r
-+Joachim\r
-+\r
-+\r
-diff --git a/contrib/reverse-dns/reverse_replace.sh b/contrib/reverse-dns/reverse_replace.sh
-new file mode 100644
-index 000000000000..a11c164b7f19
---- /dev/null
-+++ b/contrib/reverse-dns/reverse_replace.sh
-@@ -0,0 +1,28 @@
-+#!/bin/bash
-+# $Id: reverse_replace.sh 4 2015-02-17 20:14:59Z jo $
-+#
-+# Usage e.g.: netstat -n -4 | reverse_replace.sh 
-+# Parses stdin for IP4 addresses and replaces them 
-+# with names retrieved by reverse_dns.sh
-+#
-+
-+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-+DNS=$DIR/reverse_dns.sh
-+
-+# sed regex
-+IP_regex='[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
-+
-+while read LINE; do
-+  if grep --quiet $IP_regex <<< "$LINE"; then
-+    IPs=`sed "s#.*\b\($IP_regex\)\b.*#\1 #g" <<< "$LINE"`
-+    IPs=($IPs)
-+    for IP in "${IPs[@]}"
-+    do
-+      NAME=`$DNS $IP`
-+      # echo "$NAME is $IP";
-+      LINE="${LINE/$IP/$NAME}" 
-+    done
-+  fi
-+  echo $LINE
-+done < /dev/stdin
-+
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch
deleted file mode 100644 (file)
index 4eebb74..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-From f6e62e2af96f5fa0d1e3d93167a93a8f09bf6e61 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 1 Mar 2015 18:17:54 +0000
-Subject: [PATCH 054/113] Add --dnssec-timestamp option and facility.
-
----
- CHANGELOG     |  6 +++++
- man/dnsmasq.8 |  6 +++++
- src/dnsmasq.c | 11 +++++++-
- src/dnsmasq.h |  2 ++
- src/dnssec.c  | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
- src/option.c  |  7 +++++
- 6 files changed, 108 insertions(+), 6 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index c80dc0fdbe9e..4f4fa305deaa 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -66,6 +66,12 @@ version 2.73
-           for the patch.
-           Fix broken DNSSEC validation of ECDSA signatures.
-+
-+          Add --dnssec-timestamp option, which provides an automatic
-+          way to detect when the system time becomes valid after boot
-+          on systems without an RTC, whilst allowing DNS queries before the
-+          clock is valid so that NTP can run. Thanks to
-+          Kevin Darbyshire-Bryant for developing this idea.
-       
-       
- version 2.72
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 5cdd186afaa0..097e7d75145c 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -674,6 +674,12 @@ that dnsmasq should be started with this flag when the platform determines that
- reliable time is established, a SIGHUP should be sent to dnsmasq, which enables time checking, and purges the cache of DNS records
- which have not been throughly checked.
- .TP
-+.B --dnssec-timestamp=<path>
-+Enables an alternative way of checking the validity of the system time for DNSSEC (see --dnssec-no-timecheck). In this case, the 
-+system time is considered to be valid once it becomes later than the timestamp on the specified file. The file is created and 
-+its timestamp set automatically by dnsmasq. The file must be stored on a persistent filesystem, so that it and its mtime are carried 
-+over system restarts. 
-+.TP
- .B --proxy-dnssec
- Copy the DNSSEC Authenticated Data bit from upstream servers to downstream clients and cache it.  This is an 
- alternative to having dnsmasq validate DNSSEC, but it depends on the security of the network between 
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index e6dabbf556f7..769a19afe6c5 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -58,6 +58,9 @@ int main (int argc, char **argv)
-   struct dhcp_context *context;
-   struct dhcp_relay *relay;
- #endif
-+#ifdef HAVE_DNSSEC
-+  int badtime;
-+#endif
- #ifdef LOCALEDIR
-   setlocale(LC_ALL, "");
-@@ -369,7 +372,11 @@ int main (int argc, char **argv)
-   if (baduser)
-     die(_("unknown user or group: %s"), baduser, EC_BADCONF);
--   
-+
-+#ifdef HAVE_DNSSEC  
-+  badtime = setup_timestamp(ent_pw->pw_uid);
-+#endif
-+
-   /* implement group defaults, "dip" if available, or group associated with uid */
-   if (!daemon->group_set && !gp)
-     {
-@@ -689,6 +696,8 @@ int main (int argc, char **argv)
-       my_syslog(LOG_INFO, _("DNSSEC validation enabled"));
-       if (option_bool(OPT_DNSSEC_TIME))
-       my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until first cache reload"));
-+      if (badtime)
-+      my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until system time valid"));
-     }
- #endif
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 89e758b56a0a..b2f02dda63f0 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -986,6 +986,7 @@ extern struct daemon {
- #endif
- #ifdef HAVE_DNSSEC
-   struct ds_config *ds;
-+  char *timestamp_file;
- #endif
-   /* globally used stuff for DNS */
-@@ -1151,6 +1152,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
- int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen);
- size_t filter_rrsigs(struct dns_header *header, size_t plen);
- unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name);
-+int setup_timestamp(uid_t uid);
- /* util.c */
- void rand_init(void);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 26932373cd3e..bf4406469de0 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -34,6 +34,7 @@
- #include <nettle/dsa-compat.h>
- #endif
-+#include <utime.h>
- #define SERIAL_UNDEF  -100
- #define SERIAL_EQ        0
-@@ -394,17 +395,88 @@ static int serial_compare_32(unsigned long s1, unsigned long s2)
-   return SERIAL_UNDEF;
- }
-+/* Called at startup. If the timestamp file is configured and exists, put its mtime on
-+   timestamp_time. If it doesn't exist, create it, and set the mtime to 1-1-2015.
-+   Change the ownership to the user we'll be running as, so that we can update the mtime.
-+*/
-+static time_t timestamp_time;
-+static int back_to_the_future;
-+
-+int setup_timestamp(uid_t uid)
-+{
-+  struct stat statbuf;
-+  
-+  back_to_the_future = 0;
-+  
-+  if (!option_bool(OPT_DNSSEC_VALID) || !daemon->timestamp_file)
-+    return 0;
-+  
-+  if (stat(daemon->timestamp_file, &statbuf) != -1)
-+    {
-+      timestamp_time = statbuf.st_mtime;
-+    check_and_exit:
-+      if (difftime(timestamp_time, time(0)) <=  0)
-+      {
-+        /* time already OK, update timestamp, and do key checking from the start. */
-+        if (utime(daemon->timestamp_file, NULL) == -1)
-+          my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno));
-+        back_to_the_future = 1;
-+        return 0;
-+      }
-+      return 1;
-+    }
-+  
-+  if (errno == ENOENT)
-+    {
-+      int fd = open(daemon->timestamp_file, O_WRONLY | O_CREAT | O_NONBLOCK, 0666);
-+      if (fd != -1)
-+      {
-+        struct utimbuf timbuf;
-+
-+        close(fd);
-+        
-+        timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */
-+        if (utime(daemon->timestamp_file, &timbuf) == 0 &&
-+            (getuid() != 0 || chown(daemon->timestamp_file, uid, -1) == 0))
-+          goto check_and_exit;
-+      }
-+    }
-+
-+  die(_("Cannot create timestamp file %s: %s" ), daemon->timestamp_file, EC_BADCONF);
-+  return 0;
-+}
-+
- /* Check whether today/now is between date_start and date_end */
- static int check_date_range(unsigned long date_start, unsigned long date_end)
- {
--  unsigned long curtime;
--
-+  unsigned long curtime = time(0);
-+ 
-   /* Checking timestamps may be temporarily disabled */
--  if (option_bool(OPT_DNSSEC_TIME))
-+    
-+  /* If the current time if _before_ the timestamp
-+     on our persistent timestamp file, then assume the
-+     time if not yet correct, and don't check the
-+     key timestamps. As soon as the current time is
-+     later then the timestamp, update the timestamp
-+     and start checking keys */
-+  if (daemon->timestamp_file)
-+    {
-+      if (back_to_the_future == 0 && difftime(timestamp_time, curtime) <= 0)
-+      {
-+        if (utime(daemon->timestamp_file, NULL) != 0)
-+          my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno));
-+        
-+        back_to_the_future = 1;       
-+        set_option_bool(OPT_DNSSEC_TIME);
-+        queue_event(EVENT_RELOAD); /* purge cache */
-+      } 
-+
-+      if (back_to_the_future == 0)
-+      return 1;
-+    }
-+  else if (option_bool(OPT_DNSSEC_TIME))
-     return 1;
-   
--  curtime = time(0);
--  
-   /* We must explicitly check against wanted values, because of SERIAL_UNDEF */
-   return serial_compare_32(curtime, date_start) == SERIAL_GT
-     && serial_compare_32(curtime, date_end) == SERIAL_LT;
-diff --git a/src/option.c b/src/option.c
-index ae0ad002d8b8..eace40bb566c 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -152,6 +152,7 @@ struct myoption {
- #define LOPT_DHCP_INOTIFY  340
- #define LOPT_DHOPT_INOTIFY 341
- #define LOPT_HOST_INOTIFY  342
-+#define LOPT_DNSSEC_STAMP  343
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
-@@ -300,6 +301,7 @@ static const struct myoption opts[] =
-     { "dnssec-debug", 0, 0, LOPT_DNSSEC_DEBUG },
-     { "dnssec-check-unsigned", 0, 0, LOPT_DNSSEC_CHECK },
-     { "dnssec-no-timecheck", 0, 0, LOPT_DNSSEC_TIME },
-+    { "dnssec-timestamp", 1, 0, LOPT_DNSSEC_STAMP },
- #ifdef OPTION6_PREFIX_CLASS 
-     { "dhcp-prefix-class", 1, 0, LOPT_PREF_CLSS },
- #endif
-@@ -463,6 +465,7 @@ static struct {
-   { LOPT_DNSSEC_DEBUG, OPT_DNSSEC_DEBUG, NULL, gettext_noop("Disable upstream checking for DNSSEC debugging."), NULL },
-   { LOPT_DNSSEC_CHECK, OPT_DNSSEC_NO_SIGN, NULL, gettext_noop("Ensure answers without DNSSEC are in unsigned zones."), NULL },
-   { LOPT_DNSSEC_TIME, OPT_DNSSEC_TIME, NULL, gettext_noop("Don't check DNSSEC signature timestamps until first cache-reload"), NULL },
-+  { LOPT_DNSSEC_STAMP, ARG_ONE, "<path>", gettext_noop("Timestamp file to verify system clock for DNSSEC"), NULL },
- #ifdef OPTION6_PREFIX_CLASS 
-   { LOPT_PREF_CLSS, ARG_DUP, "set:tag,<class>", gettext_noop("Specify DHCPv6 prefix class"), NULL },
- #endif
-@@ -3867,6 +3870,10 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-       }
- #ifdef HAVE_DNSSEC
-+    case LOPT_DNSSEC_STAMP:
-+      daemon->timestamp_file = opt_string_alloc(arg); 
-+      break;
-+
-     case LOPT_TRUST_ANCHOR:
-       {
-       struct ds_config *new = opt_malloc(sizeof(struct ds_config));
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch
deleted file mode 100644 (file)
index e41596b..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From 9003b50b13da624ca45f3e0cf99abb623b8d026b Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 2 Mar 2015 22:47:23 +0000
-Subject: [PATCH 055/113] Fix last commit to not crash if uid changing not
- configured.
-
----
- src/dnsmasq.c | 2 +-
- src/dnsmasq.h | 2 +-
- src/dnssec.c  | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 769a19afe6c5..9e05c0e31569 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -374,7 +374,7 @@ int main (int argc, char **argv)
-     die(_("unknown user or group: %s"), baduser, EC_BADCONF);
- #ifdef HAVE_DNSSEC  
--  badtime = setup_timestamp(ent_pw->pw_uid);
-+  badtime = setup_timestamp(ent_pw);
- #endif
-   /* implement group defaults, "dip" if available, or group associated with uid */
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index b2f02dda63f0..a451cb4dd03c 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -1152,7 +1152,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
- int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen);
- size_t filter_rrsigs(struct dns_header *header, size_t plen);
- unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name);
--int setup_timestamp(uid_t uid);
-+int setup_timestamp(struct passwd *ent_pw);
- /* util.c */
- void rand_init(void);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index bf4406469de0..c60eacf73c6b 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -402,7 +402,7 @@ static int serial_compare_32(unsigned long s1, unsigned long s2)
- static time_t timestamp_time;
- static int back_to_the_future;
--int setup_timestamp(uid_t uid)
-+int setup_timestamp(struct passwd *ent_pw)
- {
-   struct stat statbuf;
-   
-@@ -437,7 +437,7 @@ int setup_timestamp(uid_t uid)
-         
-         timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */
-         if (utime(daemon->timestamp_file, &timbuf) == 0 &&
--            (getuid() != 0 || chown(daemon->timestamp_file, uid, -1) == 0))
-+            (!ent_pw || getuid() != 0 || chown(daemon->timestamp_file, ent_pw->pw_uid, -1) == 0))
-           goto check_and_exit;
-       }
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch b/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch
deleted file mode 100644 (file)
index 50b0db3..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-From 4c960fa90a975d20f75a1ecabd217247f1922c8f Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 4 Mar 2015 20:32:26 +0000
-Subject: [PATCH 056/113] New version of contrib/reverse-dns
-
----
- contrib/reverse-dns/README             |  22 +++---
- contrib/reverse-dns/reverse_replace.sh | 131 ++++++++++++++++++++++++++++-----
- 2 files changed, 125 insertions(+), 28 deletions(-)
-
-diff --git a/contrib/reverse-dns/README b/contrib/reverse-dns/README
-index f87eb77c4c22..2ec4df1f957e 100644
---- a/contrib/reverse-dns/README
-+++ b/contrib/reverse-dns/README
-@@ -1,18 +1,18 @@
--Hi.\r
-+The script reads stdin and replaces all IP addresses with names before\r
-+outputting it again. IPs from private networks are reverse looked  up\r
-+via dns. Other IP adresses are searched for in the dnsmasq query log.\r
-+This gives names (CNAMEs if I understand DNS correctly) that are closer\r
-+to the name the client originally asked for then the names obtained by\r
-+reverse lookup. Just run\r
\r
--To translate my routers netstat-nat output into names that actually talk\r
--to me I have started writing to simple shell scripts. They require \r
-+netstat -n -4 | ./reverse_replace.sh \r
-+\r
-+to see what it does. It needs \r
\r
- log-queries\r
- log-facility=/var/log/dnsmasq.log\r
\r
--to be set. With\r
--\r
--netstat-nat -n -4 | reverse_replace.sh \r
--\r
--I get retranslated output.\r
--\r
--Sincerely,\r
--Joachim\r
-+in the dnsmasq configuration.\r
\r
-+The script runs on debian (with ash installed) and on busybox.\r
\r
-diff --git a/contrib/reverse-dns/reverse_replace.sh b/contrib/reverse-dns/reverse_replace.sh
-index a11c164b7f19..5b4aebd71456 100644
---- a/contrib/reverse-dns/reverse_replace.sh
-+++ b/contrib/reverse-dns/reverse_replace.sh
-@@ -1,28 +1,125 @@
--#!/bin/bash
--# $Id: reverse_replace.sh 4 2015-02-17 20:14:59Z jo $
-+#!/bin/ash
-+# $Id: reverse_replace.sh 18 2015-03-01 16:12:35Z jo $
- #
- # Usage e.g.: netstat -n -4 | reverse_replace.sh 
- # Parses stdin for IP4 addresses and replaces them 
--# with names retrieved by reverse_dns.sh
-+# with names retrieved by parsing the dnsmasq log.
-+# This currently only gives CNAMEs. But these 
-+# usually tell ou more than the mones from reverse 
-+# lookups. 
-+#
-+# This has been tested on debian and asuswrt. Plese
-+# report successful tests on other platforms.
-+#
-+# Author: Joachim Zobel <jz-2014@heute-morgen.de>
-+# License: Consider this MIT style licensed. You can 
-+#   do as you ike, but you must not remove my name.
- #
--DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
--DNS=$DIR/reverse_dns.sh
-+LOG=/var/log/dnsmasq.log
-+MAX_LINES=15000
--# sed regex
-+# sed regex do match IPs
- IP_regex='[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
-+# private IP ranges
-+IP_private='\(^127\.\)\|\(^192\.168\.\)\|\(^10\.\)\|\(^172\.1[6-9]\.\)\|\(^172\.2[0-9]\.\)\|\(^172\.3[0-1]\.\)'
--while read LINE; do
--  if grep --quiet $IP_regex <<< "$LINE"; then
--    IPs=`sed "s#.*\b\($IP_regex\)\b.*#\1 #g" <<< "$LINE"`
--    IPs=($IPs)
--    for IP in "${IPs[@]}"
--    do
--      NAME=`$DNS $IP`
--      # echo "$NAME is $IP";
--      LINE="${LINE/$IP/$NAME}" 
--    done
-+#######################################################################
-+# Find Commands
-+  
-+HOST=nslookup
-+if type host > /dev/null 2>&1; then
-+  # echo "No need for nslookup, host is there"
-+  HOST=host
-+fi
-+
-+#######################################################################
-+# Functions
-+
-+# Use shell variables for an (IP) lookup table
-+create_lookup_table()
-+{
-+  # Parse log into lookup table
-+  local CMDS="$( tail -"$MAX_LINES" "$LOG" | \
-+    grep " is $IP_regex" | \
-+    sed "s#.* \([^ ]*\) is \($IP_regex\).*#set_val \2 \1;#" )"
-+
-+  local IFS='
-+'
-+  for CMD in $CMDS
-+  do
-+    eval $CMD
-+  done
-+}
-+
-+set_val()
-+{
-+  local _IP=$(echo $1 | tr . _)
-+  local KEY="__IP__$_IP"
-+  eval "$KEY"=$2
-+}
-+
-+get_val()
-+{
-+  local _IP=$(echo $1 | tr . _)
-+  local KEY="__IP__$_IP"
-+  eval echo -n '${'"$KEY"'}'
-+}
-+
-+dns_lookup()
-+{
-+  local IP=$1
-+
-+  local RTN="$($HOST $IP | \
-+        sed 's#\s\+#\n#g' | \
-+        grep -v '^$' | \
-+        tail -1 | tr -d '\n' | \
-+        sed 's#\.$##')"
-+  if echo $RTN | grep -q NXDOMAIN; then
-+    echo -n $IP
-+  else
-+    echo -n "$RTN"
-+  fi     
-+}
-+
-+reverse_dns()
-+{
-+  local IP=$1
-+
-+  # Skip if it is not an IP
-+  if ! echo $IP | grep -q "^$IP_regex$"; then
-+    echo -n $IP
-+    return 
-+  fi
-+    
-+  # Do a dns lookup, if it is a local IP
-+  if echo $IP | grep -q $IP_private; then
-+    dns_lookup $IP
-+    return
-   fi
-+    
-+  local NAME="$(get_val $IP)"
-+  
-+  if [ -z "$NAME" ]; then
-+    echo -n $IP
-+  else
-+    echo -n $NAME
-+  fi
-+}
-+
-+#######################################################################
-+# Main
-+create_lookup_table
-+
-+while read LINE; do
-+  for IP in $(echo "$LINE" | \
-+              sed "s#\b\($IP_regex\)\b#\n\1\n#g" | \
-+              grep $IP_regex) 
-+  do
-+    NAME=`reverse_dns $IP `
-+    # echo "$NAME $IP"
-+    LINE=`echo "$LINE" | sed "s#$IP#$NAME#" ` 
-+  done
-   echo $LINE
--done < /dev/stdin
-+done
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch b/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch
deleted file mode 100644 (file)
index f33e4d2..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-From 360f2513ab12a9bf1e262d388dd2ea8a566590a3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 7 Mar 2015 18:28:06 +0000
-Subject: [PATCH 057/113] Tweak DNSSEC timestamp code to create file later,
- removing need to chown it.
-
----
- man/dnsmasq.8 |  3 ++-
- src/dnsmasq.c | 35 ++++++++++++++++++++++-------------
- src/dnsmasq.h |  3 ++-
- src/dnssec.c  | 18 ++++++++++--------
- 4 files changed, 36 insertions(+), 23 deletions(-)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 097e7d75145c..2db780d90987 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -678,7 +678,8 @@ which have not been throughly checked.
- Enables an alternative way of checking the validity of the system time for DNSSEC (see --dnssec-no-timecheck). In this case, the 
- system time is considered to be valid once it becomes later than the timestamp on the specified file. The file is created and 
- its timestamp set automatically by dnsmasq. The file must be stored on a persistent filesystem, so that it and its mtime are carried 
--over system restarts. 
-+over system restarts. The timestamp file is created after dnsmasq has dropped root, so it must be in a location writable by the 
-+unprivileged user that dnsmasq runs as.
- .TP
- .B --proxy-dnssec
- Copy the DNSSEC Authenticated Data bit from upstream servers to downstream clients and cache it.  This is an 
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 9e05c0e31569..f3e5bcffec4f 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -58,9 +58,6 @@ int main (int argc, char **argv)
-   struct dhcp_context *context;
-   struct dhcp_relay *relay;
- #endif
--#ifdef HAVE_DNSSEC
--  int badtime;
--#endif
- #ifdef LOCALEDIR
-   setlocale(LC_ALL, "");
-@@ -156,10 +153,10 @@ int main (int argc, char **argv)
-     {
- #ifdef HAVE_DNSSEC
-       if (!daemon->ds)
--      die(_("No trust anchors provided for DNSSEC"), NULL, EC_BADCONF);
-+      die(_("no trust anchors provided for DNSSEC"), NULL, EC_BADCONF);
-       
-       if (daemon->cachesize < CACHESIZ)
--      die(_("Cannot reduce cache size from default when DNSSEC enabled"), NULL, EC_BADCONF);
-+      die(_("cannot reduce cache size from default when DNSSEC enabled"), NULL, EC_BADCONF);
- #else 
-       die(_("DNSSEC not available: set HAVE_DNSSEC in src/config.h"), NULL, EC_BADCONF);
- #endif
-@@ -172,10 +169,10 @@ int main (int argc, char **argv)
- #ifdef HAVE_CONNTRACK
-   if (option_bool(OPT_CONNTRACK) && (daemon->query_port != 0 || daemon->osport))
--    die (_("Cannot use --conntrack AND --query-port"), NULL, EC_BADCONF); 
-+    die (_("cannot use --conntrack AND --query-port"), NULL, EC_BADCONF); 
- #else
-   if (option_bool(OPT_CONNTRACK))
--    die(_("Conntrack support not available: set HAVE_CONNTRACK in src/config.h"), NULL, EC_BADCONF);
-+    die(_("conntrack support not available: set HAVE_CONNTRACK in src/config.h"), NULL, EC_BADCONF);
- #endif
- #ifdef HAVE_SOLARIS_NETWORK
-@@ -195,7 +192,7 @@ int main (int argc, char **argv)
- #ifndef HAVE_LOOP
-   if (option_bool(OPT_LOOP_DETECT))
--    die(_("Loop detection not available: set HAVE_LOOP in src/config.h"), NULL, EC_BADCONF);
-+    die(_("loop detection not available: set HAVE_LOOP in src/config.h"), NULL, EC_BADCONF);
- #endif
-   
-   now = dnsmasq_time();
-@@ -373,10 +370,6 @@ int main (int argc, char **argv)
-   if (baduser)
-     die(_("unknown user or group: %s"), baduser, EC_BADCONF);
--#ifdef HAVE_DNSSEC  
--  badtime = setup_timestamp(ent_pw);
--#endif
--
-   /* implement group defaults, "dip" if available, or group associated with uid */
-   if (!daemon->group_set && !gp)
-     {
-@@ -693,10 +686,23 @@ int main (int argc, char **argv)
- #ifdef HAVE_DNSSEC
-   if (option_bool(OPT_DNSSEC_VALID))
-     {
-+      int rc;
-+
-+      /* Delay creating the timestamp file until here, after we've changed user, so that
-+       it has the correct owner to allow updating the mtime later. 
-+       This means we have to report fatal errors via the pipe. */
-+      if ((rc = setup_timestamp()) == -1)
-+      {
-+        send_event(err_pipe[1], EVENT_TIME_ERR, errno, daemon->timestamp_file);
-+        _exit(0);
-+      }
-+      
-       my_syslog(LOG_INFO, _("DNSSEC validation enabled"));
-+      
-       if (option_bool(OPT_DNSSEC_TIME))
-       my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until first cache reload"));
--      if (badtime)
-+      
-+      if (rc == 1)
-       my_syslog(LOG_INFO, _("DNSSEC signature timestamps not checked until system time valid"));
-     }
- #endif
-@@ -1170,6 +1176,9 @@ static void fatal_event(struct event_desc *ev, char *msg)
-     case EVENT_TFTP_ERR:
-       die(_("TFTP directory %s inaccessible: %s"), msg, EC_FILE);
-+    
-+    case EVENT_TIME_ERR:
-+      die(_("cannot create timestamp file %s: %s" ), msg, EC_BADCONF);
-     }
- }     
-       
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index a451cb4dd03c..fc7259881358 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -167,6 +167,7 @@ struct event_desc {
- #define EVENT_INIT      21
- #define EVENT_NEWADDR   22
- #define EVENT_NEWROUTE  23
-+#define EVENT_TIME_ERR  24
- /* Exit codes. */
- #define EC_GOOD        0
-@@ -1152,7 +1153,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
- int dnskey_keytag(int alg, int flags, unsigned char *rdata, int rdlen);
- size_t filter_rrsigs(struct dns_header *header, size_t plen);
- unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name);
--int setup_timestamp(struct passwd *ent_pw);
-+int setup_timestamp(void);
- /* util.c */
- void rand_init(void);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index c60eacf73c6b..ad0d6f072ba2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -397,18 +397,21 @@ static int serial_compare_32(unsigned long s1, unsigned long s2)
- /* Called at startup. If the timestamp file is configured and exists, put its mtime on
-    timestamp_time. If it doesn't exist, create it, and set the mtime to 1-1-2015.
--   Change the ownership to the user we'll be running as, so that we can update the mtime.
-+   return -1 -> Cannot create file.
-+           0 -> not using timestamp, or timestamp exists and is in past.
-+           1 -> timestamp exists and is in future.
- */
-+
- static time_t timestamp_time;
- static int back_to_the_future;
--int setup_timestamp(struct passwd *ent_pw)
-+int setup_timestamp(void)
- {
-   struct stat statbuf;
-   
-   back_to_the_future = 0;
-   
--  if (!option_bool(OPT_DNSSEC_VALID) || !daemon->timestamp_file)
-+  if (!daemon->timestamp_file)
-     return 0;
-   
-   if (stat(daemon->timestamp_file, &statbuf) != -1)
-@@ -428,7 +431,8 @@ int setup_timestamp(struct passwd *ent_pw)
-   
-   if (errno == ENOENT)
-     {
--      int fd = open(daemon->timestamp_file, O_WRONLY | O_CREAT | O_NONBLOCK, 0666);
-+      /* NB. for explanation of O_EXCL flag, see comment on pidfile in dnsmasq.c */ 
-+      int fd = open(daemon->timestamp_file, O_WRONLY | O_CREAT | O_NONBLOCK | O_EXCL, 0666);
-       if (fd != -1)
-       {
-         struct utimbuf timbuf;
-@@ -436,14 +440,12 @@ int setup_timestamp(struct passwd *ent_pw)
-         close(fd);
-         
-         timestamp_time = timbuf.actime = timbuf.modtime = 1420070400; /* 1-1-2015 */
--        if (utime(daemon->timestamp_file, &timbuf) == 0 &&
--            (!ent_pw || getuid() != 0 || chown(daemon->timestamp_file, ent_pw->pw_uid, -1) == 0))
-+        if (utime(daemon->timestamp_file, &timbuf) == 0)
-           goto check_and_exit;
-       }
-     }
--  die(_("Cannot create timestamp file %s: %s" ), daemon->timestamp_file, EC_BADCONF);
--  return 0;
-+  return -1;
- }
- /* Check whether today/now is between date_start and date_end */
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch b/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch
deleted file mode 100644 (file)
index 18bae12..0000000
+++ /dev/null
@@ -1,458 +0,0 @@
-From ff841ebf5a5d6864ff48571f607c32ce80dbb75a Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 11 Mar 2015 21:36:30 +0000
-Subject: [PATCH 058/113] Fix boilerplate code for re-running system calls on
- EINTR and EAGAIN etc.
-
-The nasty code with static variable in retry_send() which
-avoids looping forever needs to be called on success of the syscall,
-to reset the static variable.
----
- src/bpf.c     |  2 +-
- src/dhcp.c    |  2 +-
- src/dhcp6.c   |  6 +++---
- src/dnsmasq.c | 35 +++++++++++++++++----------------
- src/dnsmasq.h |  2 +-
- src/forward.c | 41 ++++++++++++++++++--------------------
- src/ipset.c   |  8 ++++----
- src/loop.c    |  5 +++--
- src/netlink.c |  8 ++++----
- src/radv.c    |  5 +++--
- src/util.c    | 63 ++++++++++++++++++++++++++++++++++-------------------------
- 11 files changed, 93 insertions(+), 84 deletions(-)
-
-diff --git a/src/bpf.c b/src/bpf.c
-index 997d87421bed..a066641f969f 100644
---- a/src/bpf.c
-+++ b/src/bpf.c
-@@ -359,7 +359,7 @@ void send_via_bpf(struct dhcp_packet *mess, size_t len,
-   iov[3].iov_base = mess;
-   iov[3].iov_len = len;
--  while (writev(daemon->dhcp_raw_fd, iov, 4) == -1 && retry_send());
-+  while (retry_send(writev(daemon->dhcp_raw_fd, iov, 4)));
- }
- #endif /* defined(HAVE_BSD_NETWORK) && defined(HAVE_DHCP) */
-diff --git a/src/dhcp.c b/src/dhcp.c
-index f29be9b489a7..5c3089ab94ff 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -443,7 +443,7 @@ void dhcp_packet(time_t now, int pxe_fd)
-   setsockopt(fd, IPPROTO_IP, IP_BOUND_IF, &iface_index, sizeof(iface_index));
- #endif
-   
--  while(sendmsg(fd, &msg, 0) == -1 && retry_send());
-+  while(retry_send(sendmsg(fd, &msg, 0)));
- }
-  
- /* check against secondary interface addresses */
-diff --git a/src/dhcp6.c b/src/dhcp6.c
-index c7144f5fee7c..ee2aa5d3bf3c 100644
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -225,9 +225,9 @@ void dhcp6_packet(time_t now)
-   if (port != 0)
-     {
-       from.sin6_port = htons(port);
--      while (sendto(daemon->dhcp6fd, daemon->outpacket.iov_base, save_counter(0), 
--                  0, (struct sockaddr *)&from, sizeof(from)) == -1 &&
--         retry_send());
-+      while (retry_send(sendto(daemon->dhcp6fd, daemon->outpacket.iov_base, 
-+                             save_counter(0), 0, (struct sockaddr *)&from, 
-+                             sizeof(from))));
-     }
- }
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index f3e5bcffec4f..b784951950d4 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -444,7 +444,7 @@ int main (int argc, char **argv)
-             char *msg;
-             /* close our copy of write-end */
--            close(err_pipe[1]);
-+            while (retry_send(close(err_pipe[1])));
-             
-             /* check for errors after the fork */
-             if (read_event(err_pipe[0], &ev, &msg))
-@@ -453,7 +453,7 @@ int main (int argc, char **argv)
-             _exit(EC_GOOD);
-           } 
-         
--        close(err_pipe[0]);
-+        while (retry_send(close(err_pipe[0])));
-         /* NO calls to die() from here on. */
-         
-@@ -505,10 +505,12 @@ int main (int argc, char **argv)
-           {
-             if (!read_write(fd, (unsigned char *)daemon->namebuff, strlen(daemon->namebuff), 0))
-               err = 1;
--            
--            while (!err && close(fd) == -1)
--              if (!retry_send())
--                err = 1;
-+            else 
-+              {
-+                while (retry_send(close(fd)));
-+                if (errno != 0)
-+                  err = 1;
-+              }
-           }
-         if (err)
-@@ -813,7 +815,7 @@ int main (int argc, char **argv)
-   /* finished start-up - release original process */
-   if (err_pipe[1] != -1)
--    close(err_pipe[1]);
-+    while (retry_send(close(err_pipe[1])));
-   
-   if (daemon->port != 0)
-     check_servers();
-@@ -1319,7 +1321,7 @@ static void async_event(int pipe, time_t now)
-           do {
-             helper_write();
-           } while (!helper_buf_empty() || do_script_run(now));
--          close(daemon->helperfd);
-+          while (retry_send(close(daemon->helperfd)));
-         }
- #endif
-       
-@@ -1544,7 +1546,7 @@ static void check_dns_listeners(fd_set *set, time_t now)
-         
-         if (getsockname(confd, (struct sockaddr *)&tcp_addr, &tcp_len) == -1)
-           {
--            close(confd);
-+            while (retry_send(close(confd)));
-             continue;
-           }
-         
-@@ -1609,7 +1611,7 @@ static void check_dns_listeners(fd_set *set, time_t now)
-         if (!client_ok)
-           {
-             shutdown(confd, SHUT_RDWR);
--            close(confd);
-+            while (retry_send(close(confd)));
-           }
- #ifndef NO_FORK
-         else if (!option_bool(OPT_DEBUG) && (p = fork()) != 0)
-@@ -1624,7 +1626,7 @@ static void check_dns_listeners(fd_set *set, time_t now)
-                       break;
-                     }
-               }
--            close(confd);
-+            while (retry_send(close(confd)));
-             /* The child can use up to TCP_MAX_QUERIES ids, so skip that many. */
-             daemon->log_id += TCP_MAX_QUERIES;
-@@ -1669,7 +1671,7 @@ static void check_dns_listeners(fd_set *set, time_t now)
-             buff = tcp_request(confd, now, &tcp_addr, netmask, auth_dns);
-              
-             shutdown(confd, SHUT_RDWR);
--            close(confd);
-+            while (retry_send(close(confd)));
-             
-             if (buff)
-               free(buff);
-@@ -1678,7 +1680,7 @@ static void check_dns_listeners(fd_set *set, time_t now)
-               if (s->tcpfd != -1)
-                 {
-                   shutdown(s->tcpfd, SHUT_RDWR);
--                  close(s->tcpfd);
-+                  while (retry_send(close(s->tcpfd)));
-                 }
- #ifndef NO_FORK                  
-             if (!option_bool(OPT_DEBUG))
-@@ -1756,9 +1758,8 @@ int icmp_ping(struct in_addr addr)
-     j = (j & 0xffff) + (j >> 16);  
-   packet.icmp.icmp_cksum = (j == 0xffff) ? j : ~j;
-   
--  while (sendto(fd, (char *)&packet.icmp, sizeof(struct icmp), 0, 
--              (struct sockaddr *)&saddr, sizeof(saddr)) == -1 &&
--       retry_send());
-+  while (retry_send(sendto(fd, (char *)&packet.icmp, sizeof(struct icmp), 0, 
-+                         (struct sockaddr *)&saddr, sizeof(saddr))));
-   
-   for (now = start = dnsmasq_time(); 
-        difftime(now, start) < (float)PING_WAIT;)
-@@ -1820,7 +1821,7 @@ int icmp_ping(struct in_addr addr)
-     }
-   
- #if defined(HAVE_LINUX_NETWORK) || defined(HAVE_SOLARIS_NETWORK)
--  close(fd);
-+  while (retry_send(close(fd)));
- #else
-   opt = 1;
-   setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &opt, sizeof(opt));
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index fc7259881358..de95d0e875e3 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -1177,7 +1177,7 @@ int is_same_net6(struct in6_addr *a, struct in6_addr *b, int prefixlen);
- u64 addr6part(struct in6_addr *addr);
- void setaddr6part(struct in6_addr *addr, u64 host);
- #endif
--int retry_send(void);
-+int retry_send(ssize_t rc);
- void prettyprint_time(char *buf, unsigned int t);
- int prettyprint_addr(union mysockaddr *addr, char *buf);
- int parse_hex(char *in, unsigned char *out, int maxlen, 
-diff --git a/src/forward.c b/src/forward.c
-index 438e9fa490b8..7c0fa8da3fdf 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -103,15 +103,11 @@ int send_from(int fd, int nowild, char *packet, size_t len,
- #endif
-     }
-   
--  while (sendmsg(fd, &msg, 0) == -1)
-+  while (retry_send(sendmsg(fd, &msg, 0)));
-+
-+  /* If interface is still in DAD, EINVAL results - ignore that. */
-+  if (errno != 0 && errno != EINVAL)
-     {
--      if (retry_send())
--      continue;
--      
--      /* If interface is still in DAD, EINVAL results - ignore that. */
--      if (errno == EINVAL)
--      break;
--      
-       my_syslog(LOG_ERR, _("failed to send packet: %s"), strerror(errno));
-       return 0;
-     }
-@@ -297,9 +293,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-               fd = forward->rfd4->fd;
-           }
-         
--        while (sendto(fd, (char *)header, plen, 0,
--                      &forward->sentto->addr.sa,
--                      sa_len(&forward->sentto->addr)) == -1 && retry_send());
-+        while (retry_send( sendto(fd, (char *)header, plen, 0,
-+                                  &forward->sentto->addr.sa,
-+                                  sa_len(&forward->sentto->addr))));
-         
-         return 1;
-       }
-@@ -469,14 +465,12 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
- #endif
-               }
-             
--            if (sendto(fd, (char *)header, plen, 0,
--                       &start->addr.sa,
--                       sa_len(&start->addr)) == -1)
--              {
--                if (retry_send())
--                  continue;
--              }
--            else
-+            if (retry_send(sendto(fd, (char *)header, plen, 0,
-+                                  &start->addr.sa,
-+                                  sa_len(&start->addr))))
-+              continue;
-+          
-+            if (errno == 0)
-               {
-                 /* Keep info in case we want to re-send this packet */
-                 daemon->srv_save = start;
-@@ -932,7 +926,9 @@ void reply_query(int fd, int family, time_t now)
-                 
-                 if (fd != -1)
-                   {
--                    while (sendto(fd, (char *)header, nn, 0, &server->addr.sa, sa_len(&server->addr)) == -1 && retry_send()); 
-+                    while (retry_send(sendto(fd, (char *)header, nn, 0, 
-+                                             &server->addr.sa, 
-+                                             sa_len(&server->addr)))); 
-                     server->queries++;
-                   }
-                 
-@@ -2228,8 +2224,9 @@ void resend_query()
-       else
-       return;
-       
--      while(sendto(fd, daemon->packet, daemon->packet_len, 0,
--                 &daemon->srv_save->addr.sa, sa_len(&daemon->srv_save->addr)) == -1 && retry_send()); 
-+      while(retry_send(sendto(fd, daemon->packet, daemon->packet_len, 0,
-+                            &daemon->srv_save->addr.sa, 
-+                            sa_len(&daemon->srv_save->addr)))); 
-     }
- }
-diff --git a/src/ipset.c b/src/ipset.c
-index 8c5b72722371..a315e86bc7f4 100644
---- a/src/ipset.c
-+++ b/src/ipset.c
-@@ -121,7 +121,6 @@ static int new_add_to_ipset(const char *setname, const struct all_addr *ipaddr,
-   struct my_nlattr *nested[2];
-   uint8_t proto;
-   int addrsz = INADDRSZ;
--  ssize_t rc;
- #ifdef HAVE_IPV6
-   if (af == AF_INET6)
-@@ -162,9 +161,10 @@ static int new_add_to_ipset(const char *setname, const struct all_addr *ipaddr,
-   nested[1]->nla_len = (void *)buffer + NL_ALIGN(nlh->nlmsg_len) - (void *)nested[1];
-   nested[0]->nla_len = (void *)buffer + NL_ALIGN(nlh->nlmsg_len) - (void *)nested[0];
-       
--  while ((rc = sendto(ipset_sock, buffer, nlh->nlmsg_len, 0,
--                    (struct sockaddr *)&snl, sizeof(snl))) == -1 && retry_send());
--  return rc;
-+  while (retry_send(sendto(ipset_sock, buffer, nlh->nlmsg_len, 0,
-+                         (struct sockaddr *)&snl, sizeof(snl))));
-+                                                                  
-+  return errno == 0 ? 0 : -1;
- }
-diff --git a/src/loop.c b/src/loop.c
-index 565f7d8e58e0..c9ed075670de 100644
---- a/src/loop.c
-+++ b/src/loop.c
-@@ -45,8 +45,9 @@ void loop_send_probes()
-            fd = rfd->fd;
-          }
--       while (sendto(fd, daemon->packet, len, 0, &serv->addr.sa, sa_len(&serv->addr)) == -1 && retry_send());
--
-+       while (retry_send(sendto(fd, daemon->packet, len, 0, 
-+                                &serv->addr.sa, sa_len(&serv->addr))));
-+       
-        free_rfd(rfd);
-        }
- }
-diff --git a/src/netlink.c b/src/netlink.c
-index 10f94db25a14..753784dc20b4 100644
---- a/src/netlink.c
-+++ b/src/netlink.c
-@@ -169,10 +169,10 @@ int iface_enumerate(int family, void *parm, int (*callback)())
-   req.g.rtgen_family = family; 
-   /* Don't block in recvfrom if send fails */
--  while((len = sendto(daemon->netlinkfd, (void *)&req, sizeof(req), 0, 
--                    (struct sockaddr *)&addr, sizeof(addr))) == -1 && retry_send());
--  
--  if (len == -1)
-+  while(retry_send(sendto(daemon->netlinkfd, (void *)&req, sizeof(req), 0, 
-+                        (struct sockaddr *)&addr, sizeof(addr))));
-+
-+  if (errno != 0)
-     return 0;
-     
-   while (1)
-diff --git a/src/radv.c b/src/radv.c
-index 6da125b864ae..d0faddf8684a 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -479,8 +479,9 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de
-       setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &iface, sizeof(iface));
-     }
-   
--  while (sendto(daemon->icmp6fd, daemon->outpacket.iov_base, save_counter(0), 0, 
--              (struct sockaddr *)&addr, sizeof(addr)) == -1 && retry_send());
-+  while (retry_send(sendto(daemon->icmp6fd, daemon->outpacket.iov_base, 
-+                         save_counter(0), 0, (struct sockaddr *)&addr, 
-+                         sizeof(addr))));
-   
- }
-diff --git a/src/util.c b/src/util.c
-index 91d02410b13f..648bc4d4b428 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -569,17 +569,27 @@ void bump_maxfd(int fd, int *max)
-     *max = fd;
- }
--int retry_send(void)
-+/* rc is return from sendto and friends.
-+   Return 1 if we should retry.
-+   Set errno to zero if we succeeded. */
-+int retry_send(ssize_t rc)
- {
-+  static int retries = 0;
-+  struct timespec waiter;
-+  
-+  if (rc != -1)
-+    {
-+      retries = 0;
-+      errno = 0;
-+      return 0;
-+    }
-+  
-   /* Linux kernels can return EAGAIN in perpetuity when calling
-      sendmsg() and the relevant interface has gone. Here we loop
-      retrying in EAGAIN for 1 second max, to avoid this hanging 
-      dnsmasq. */
--  static int retries = 0;
--  struct timespec waiter;
--
--   if (errno == EAGAIN || errno == EWOULDBLOCK)
-+  if (errno == EAGAIN || errno == EWOULDBLOCK)
-      {
-        waiter.tv_sec = 0;
-        waiter.tv_nsec = 10000;
-@@ -587,13 +597,13 @@ int retry_send(void)
-        if (retries++ < 1000)
-        return 1;
-      }
--
--   retries = 0;
--   
--   if (errno == EINTR)
--     return 1;
--   
--   return 0;
-+  
-+  retries = 0;
-+  
-+  if (errno == EINTR)
-+    return 1;
-+  
-+  return 0;
- }
- int read_write(int fd, unsigned char *packet, int size, int rw)
-@@ -602,22 +612,21 @@ int read_write(int fd, unsigned char *packet, int size, int rw)
-   
-   for (done = 0; done < size; done += n)
-     {
--    retry:
--      if (rw)
--        n = read(fd, &packet[done], (size_t)(size - done));
--      else
--        n = write(fd, &packet[done], (size_t)(size - done));
--
--      if (n == 0)
--        return 0;
--      else if (n == -1)
--        {
--          if (retry_send() || errno == ENOMEM || errno == ENOBUFS)
--            goto retry;
--          else
--            return 0;
--        }
-+      do { 
-+      if (rw)
-+        n = read(fd, &packet[done], (size_t)(size - done));
-+      else
-+        n = write(fd, &packet[done], (size_t)(size - done));
-+      
-+      if (n == 0)
-+        return 0;
-+      
-+      } while (retry_send(n) || errno == ENOMEM || errno == ENOBUFS);
-+
-+      if (errno != 0)
-+      return 0;
-     }
-+     
-   return 1;
- }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch b/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch
deleted file mode 100644 (file)
index 83690d3..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 979fe86bc8693f660eddea232ae39cbbb50b294c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 19 Mar 2015 22:50:22 +0000
-Subject: [PATCH 059/113] Make --address=/example.com/ equivalent to
- --server=/example.com/
-
----
- man/dnsmasq.8 | 7 +++++--
- src/network.c | 4 ++--
- src/option.c  | 2 --
- 3 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 2db780d90987..1f1dd7b69c53 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -460,7 +460,7 @@ but provides some syntactic sugar to make specifying address-to-name queries eas
- is exactly equivalent to 
- .B --server=/3.2.1.in-addr.arpa/192.168.0.1
- .TP
--.B \-A, --address=/<domain>/[domain/]<ipaddr>
-+.B \-A, --address=/<domain>/[domain/][<ipaddr>]
- Specify an IP address to return for any host in the given domains.
- Queries in the domains are never forwarded and always replied to
- with the specified IP address which may be IPv4 or IPv6. To give
-@@ -472,7 +472,10 @@ domain specification works in the same was as for --server, with the
- additional facility that /#/ matches any domain. Thus
- --address=/#/1.2.3.4 will always return 1.2.3.4 for any query not
- answered from /etc/hosts or DHCP and not sent to an upstream
--nameserver by a more specific --server directive.
-+nameserver by a more specific --server directive. As for --server,
-+one or more domains with no address returns a no-such-domain answer, so
-+--address=/example.com/ is equivalent to --server=/example.com/ and returns 
-+NXDOMAIN for example.com and all its subdomains.
- .TP
- .B --ipset=/<domain>/[domain/]<ipset>[,<ipset>]
- Places the resolved IP addresses of queries for the specified domains
-diff --git a/src/network.c b/src/network.c
-index 7045253d467b..992f023c31de 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1459,7 +1459,7 @@ void check_servers(void)
-           }
-       }
-       
--      if (!(serv->flags & SERV_NO_REBIND))
-+      if (!(serv->flags & SERV_NO_REBIND) && !(serv->flags & SERV_LITERAL_ADDRESS))
-       {
-         if (serv->flags & (SERV_HAS_DOMAIN | SERV_FOR_NODOTS | SERV_USE_RESOLV))
-           {
-@@ -1475,7 +1475,7 @@ void check_servers(void)
-               my_syslog(LOG_INFO, _("using local addresses only for %s %s"), s1, s2);
-             else if (serv->flags & SERV_USE_RESOLV)
-               my_syslog(LOG_INFO, _("using standard nameservers for %s %s"), s1, s2);
--            else if (!(serv->flags & SERV_LITERAL_ADDRESS))
-+            else 
-               my_syslog(LOG_INFO, _("using nameserver %s#%d for %s %s"), daemon->namebuff, port, s1, s2);
-           }
- #ifdef HAVE_LOOP
-diff --git a/src/option.c b/src/option.c
-index eace40bb566c..3009eb545fde 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -2284,8 +2284,6 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-         {
-           if (!(newlist->flags & SERV_NO_REBIND))
-             newlist->flags |= SERV_NO_ADDR; /* no server */
--          if (newlist->flags & SERV_LITERAL_ADDRESS)
--            ret_err(gen_err);
-         }
-       else if (strcmp(arg, "#") == 0)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch b/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch
deleted file mode 100644 (file)
index 0033d01..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-From 65c721200023ef0023114459a8d12f8b0a24cfd8 Mon Sep 17 00:00:00 2001
-From: Lung-Pin Chang <changlp@cs.nctu.edu.tw>
-Date: Thu, 19 Mar 2015 23:22:21 +0000
-Subject: [PATCH 060/113] dhcp: set outbound interface via cmsg in unicast
- reply
-
-  If multiple routes to the same network exist, Linux blindly picks
-  the first interface (route) based on destination address, which might not be
-  the one we're actually offering leases. Rather than relying on this,
-  always set the interface for outgoing unicast DHCP packets.
----
- src/dhcp.c | 45 +++++++++++++++++++++++++--------------------
- 1 file changed, 25 insertions(+), 20 deletions(-)
-
-diff --git a/src/dhcp.c b/src/dhcp.c
-index 5c3089ab94ff..f1f43f8d8f90 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -376,10 +376,9 @@ void dhcp_packet(time_t now, int pxe_fd)
-       }
-     } 
- #if defined(HAVE_LINUX_NETWORK)
--  else if ((ntohs(mess->flags) & 0x8000) || mess->hlen == 0 ||
--         mess->hlen > sizeof(ifr.ifr_addr.sa_data) || mess->htype == 0)
-+  else
-     {
--      /* broadcast to 255.255.255.255 (or mac address invalid) */
-+      /* fill cmsg for outbound interface (both broadcast & unicast) */
-       struct in_pktinfo *pkt;
-       msg.msg_control = control_u.control;
-       msg.msg_controllen = sizeof(control_u);
-@@ -389,23 +388,29 @@ void dhcp_packet(time_t now, int pxe_fd)
-       pkt->ipi_spec_dst.s_addr = 0;
-       msg.msg_controllen = cmptr->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
-       cmptr->cmsg_level = IPPROTO_IP;
--      cmptr->cmsg_type = IP_PKTINFO;  
--      dest.sin_addr.s_addr = INADDR_BROADCAST;
--      dest.sin_port = htons(daemon->dhcp_client_port);
--    }
--  else
--    {
--      /* unicast to unconfigured client. Inject mac address direct into ARP cache. 
--       struct sockaddr limits size to 14 bytes. */
--      dest.sin_addr = mess->yiaddr;
--      dest.sin_port = htons(daemon->dhcp_client_port);
--      memcpy(&arp_req.arp_pa, &dest, sizeof(struct sockaddr_in));
--      arp_req.arp_ha.sa_family = mess->htype;
--      memcpy(arp_req.arp_ha.sa_data, mess->chaddr, mess->hlen);
--      /* interface name already copied in */
--      arp_req.arp_flags = ATF_COM;
--      if (ioctl(daemon->dhcpfd, SIOCSARP, &arp_req) == -1)
--      my_syslog(MS_DHCP | LOG_ERR, _("ARP-cache injection failed: %s"), strerror(errno));
-+      cmptr->cmsg_type = IP_PKTINFO;
-+
-+      if ((ntohs(mess->flags) & 0x8000) || mess->hlen == 0 ||
-+         mess->hlen > sizeof(ifr.ifr_addr.sa_data) || mess->htype == 0)
-+        {
-+          /* broadcast to 255.255.255.255 (or mac address invalid) */
-+          dest.sin_addr.s_addr = INADDR_BROADCAST;
-+          dest.sin_port = htons(daemon->dhcp_client_port);
-+        }
-+      else
-+        {
-+          /* unicast to unconfigured client. Inject mac address direct into ARP cache.
-+          struct sockaddr limits size to 14 bytes. */
-+          dest.sin_addr = mess->yiaddr;
-+          dest.sin_port = htons(daemon->dhcp_client_port);
-+          memcpy(&arp_req.arp_pa, &dest, sizeof(struct sockaddr_in));
-+          arp_req.arp_ha.sa_family = mess->htype;
-+          memcpy(arp_req.arp_ha.sa_data, mess->chaddr, mess->hlen);
-+          /* interface name already copied in */
-+          arp_req.arp_flags = ATF_COM;
-+          if (ioctl(daemon->dhcpfd, SIOCSARP, &arp_req) == -1)
-+            my_syslog(MS_DHCP | LOG_ERR, _("ARP-cache injection failed: %s"), strerror(errno));
-+        }
-     }
- #elif defined(HAVE_SOLARIS_NETWORK)
-   else if ((ntohs(mess->flags) & 0x8000) || mess->hlen != ETHER_ADDR_LEN || mess->htype != ARPHRD_ETHER)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch b/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch
deleted file mode 100644 (file)
index 67bf508..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 8805283088d670baecb92569252c01cf754cda51 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 26 Mar 2015 21:15:43 +0000
-Subject: [PATCH 061/113] Don't fail DNSSEC when a signed CNAME dangles into an
- unsigned zone.
-
----
- src/dnssec.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index ad0d6f072ba2..db5c768bd751 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -2032,7 +2032,8 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   /* NXDOMAIN or NODATA reply, prove that (name, class1, type1) can't exist */
-   /* First marshall the NSEC records, if we've not done it previously */
-   if (!nsec_type && !(nsec_type = find_nsec_records(header, plen, &nsecs, &nsec_count, qclass)))
--    return STAT_BOGUS; /* No NSECs */
-+    return STAT_NO_SIG; /* No NSECs, this is probably a dangling CNAME pointing into
-+                         an unsigned zone. Return STAT_NO_SIG to cause this to be proved. */
-    
-   /* Get name of missing answer */
-   if (!extract_name(header, plen, &qname, name, 1, 0))
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch b/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch
deleted file mode 100644 (file)
index ed4068e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 150162bc37170a6edae9d488435e836b1e4e3a4e Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 27 Mar 2015 09:58:26 +0000
-Subject: [PATCH 062/113] Return SERVFAIL when validation abandoned.
-
----
- src/forward.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 7c0fa8da3fdf..985814c3aec5 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -663,6 +663,7 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
-       header->ancount = htons(0);
-       header->nscount = htons(0);
-       header->arcount = htons(0);
-+      header->hb3 &= ~HB3_TC;
-     }
-   
-   /* the bogus-nxdomain stuff, doctor and NXDOMAIN->NODATA munging can all elide
-@@ -991,7 +992,10 @@ void reply_query(int fd, int family, time_t now)
-             char *result;
-             
-             if (forward->work_counter == 0)
--              result = "ABANDONED";
-+              {
-+                result = "ABANDONED";
-+                status = STAT_BOGUS;
-+              }
-             else
-               result = (status == STAT_SECURE ? "SECURE" : (status == STAT_INSECURE ? "INSECURE" : "BOGUS"));
-             
-@@ -1938,7 +1942,10 @@ unsigned char *tcp_request(int confd, time_t now,
-                         char *result;
-                         if (keycount == 0)
--                          result = "ABANDONED";
-+                          {
-+                            result = "ABANDONED";
-+                            status = STAT_BOGUS;
-+                          }
-                         else
-                           result = (status == STAT_SECURE ? "SECURE" : (status == STAT_INSECURE ? "INSECURE" : "BOGUS"));
-                         
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch b/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch
deleted file mode 100644 (file)
index 3372b2d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0b8a5a30a77331974ba24a04e43e720585dfbc61 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 27 Mar 2015 11:44:55 +0000
-Subject: [PATCH 063/113] Protect against broken DNSSEC upstreams.
-
----
- src/dnssec.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index db5c768bd751..14bae7e9bf75 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1177,7 +1177,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-    STAT_NO_DS       It's proved there's no DS here.
-    STAT_NO_NS       It's proved there's no DS _or_ NS here.
-    STAT_BOGUS       no DS in reply or not signed, fails validation, bad packet.
--   STAT_NEED_DNSKEY DNSKEY records to validate a DS not found, name in keyname
-+   STAT_NEED_KEY    DNSKEY records to validate a DS not found, name in keyname
- */
- int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class)
-@@ -1208,7 +1208,10 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-   if (!(p = skip_section(p, ntohs(header->ancount), header, plen)))
-     val = STAT_BOGUS;
-   
--  if (val == STAT_BOGUS)
-+  /* If the key needed to validate the DS is on the same domain as the DS, we'll
-+     loop getting nowhere. Stop that now. This can happen of the DS answer comes
-+     from the DS's zone, and not the parent zone. */
-+  if (val == STAT_BOGUS ||  (val == STAT_NEED_KEY && hostname_isequal(name, keyname)))
-     {
-       log_query(F_NOEXTRA | F_UPSTREAM, name, NULL, "BOGUS DS");
-       return STAT_BOGUS;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch b/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch
deleted file mode 100644 (file)
index 2a26325..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-From 1e153945def3c50d1e59ceea6a768db0ac770f98 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 28 Mar 2015 21:34:07 +0000
-Subject: [PATCH 064/113] DNSSEC fix for non-ascii characters in labels.
-
----
- src/dnssec.c  | 34 +++++++++++++++++-----------------
- src/rfc1035.c |  5 +++--
- 2 files changed, 20 insertions(+), 19 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 14bae7e9bf75..8bd5294ce773 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -552,7 +552,7 @@ static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end,
-  
-   (*desc)++;
-   
--  if (d == 0 && extract_name(header, plen, p, buff, 1, 0))
-+  if (d == 0 && extract_name(header, plen, p, buff, 2, 0))
-     /* domain-name, canonicalise */
-     return to_wire(buff);
-   else
-@@ -811,7 +811,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-       GETLONG(sig_inception, p);
-       GETSHORT(key_tag, p);
-       
--      if (!extract_name(header, plen, &p, keyname, 1, 0))
-+      if (!extract_name(header, plen, &p, keyname, 2, 0))
-       return STAT_BOGUS;
-       /* RFC 4035 5.3.1 says that the Signer's Name field MUST equal
-@@ -866,7 +866,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         u16 len, *dp;
-         
-         p = rrset[i];
--        if (!extract_name(header, plen, &p, name, 1, 10)) 
-+        if (!extract_name(header, plen, &p, name, 2, 10)) 
-           return STAT_BOGUS;
-         name_start = name;
-@@ -923,7 +923,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-       
-       /* namebuff used for workspace above, restore to leave unchanged on exit */
-       p = (unsigned char*)(rrset[0]);
--      extract_name(header, plen, &p, name, 1, 0);
-+      extract_name(header, plen, &p, name, 2, 0);
-       if (key)
-       {
-@@ -963,7 +963,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-   struct all_addr a;
-   if (ntohs(header->qdcount) != 1 ||
--      !extract_name(header, plen, &p, name, 1, 4))
-+      !extract_name(header, plen, &p, name, 2, 4))
-     return STAT_BOGUS;
-   GETSHORT(qtype, p);
-@@ -1202,7 +1202,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-     val = STAT_BOGUS;
-   
-   p = (unsigned char *)(header+1);
--  extract_name(header, plen, &p, name, 1, 4);
-+  extract_name(header, plen, &p, name, 2, 4);
-   p += 4; /* qtype, qclass */
-   
-   if (!(p = skip_section(p, ntohs(header->ancount), header, plen)))
-@@ -1419,12 +1419,12 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi
-   for (i = 0; i < nsec_count; i++)
-     {
-       p = nsecs[i];
--      if (!extract_name(header, plen, &p, workspace1, 1, 10))
-+      if (!extract_name(header, plen, &p, workspace1, 2, 10))
-       return STAT_BOGUS;
-       p += 8; /* class, type, TTL */
-       GETSHORT(rdlen, p);
-       psave = p;
--      if (!extract_name(header, plen, &p, workspace2, 1, 10))
-+      if (!extract_name(header, plen, &p, workspace2, 2, 10))
-       return STAT_BOGUS;
-       
-       rc = hostname_cmp(workspace1, name);
-@@ -1553,7 +1553,7 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
-   for (i = 0; i < nsec_count; i++)
-     if ((p = nsecs[i]))
-       {
--              if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
-+              if (!extract_name(header, plen, &p, workspace1, 2, 0) ||
-           !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
-         return 0;
-       
-@@ -1730,7 +1730,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-       for (i = 0; i < nsec_count; i++)
-       if ((p = nsecs[i]))
-         {
--          if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
-+          if (!extract_name(header, plen, &p, workspace1, 2, 0) ||
-               !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
-             return STAT_BOGUS;
-         
-@@ -1796,7 +1796,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   qname = p1 = (unsigned char *)(header+1);
-   
--  if (!extract_name(header, plen, &p1, name, 1, 4))
-+  if (!extract_name(header, plen, &p1, name, 2, 4))
-     return STAT_BOGUS;
-   GETSHORT(qtype, p1);
-@@ -1836,7 +1836,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-             qname = p1;
-             
-             /* looped CNAMES */
--            if (!cname_count-- || !extract_name(header, plen, &p1, name, 1, 0))
-+            if (!cname_count-- || !extract_name(header, plen, &p1, name, 2, 0))
-               return STAT_BOGUS;
-              
-             p1 = ans_start;
-@@ -1857,7 +1857,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   
-   for (p1 = ans_start, i = 0; i < ntohs(header->ancount) + ntohs(header->nscount); i++)
-     {
--      if (!extract_name(header, plen, &p1, name, 1, 10))
-+      if (!extract_name(header, plen, &p1, name, 2, 10))
-       return STAT_BOGUS; /* bad packet */
-       
-       GETSHORT(type1, p1);
-@@ -2039,7 +2039,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                          an unsigned zone. Return STAT_NO_SIG to cause this to be proved. */
-    
-   /* Get name of missing answer */
--  if (!extract_name(header, plen, &qname, name, 1, 0))
-+  if (!extract_name(header, plen, &qname, name, 2, 0))
-     return STAT_BOGUS;
-   
-   if (nsec_type == T_NSEC)
-@@ -2061,7 +2061,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
-   int cname_count = CNAME_CHAIN;
-   /* Get question */
--  if (!extract_name(header, plen, &p, name, 1, 4))
-+  if (!extract_name(header, plen, &p, name, 2, 4))
-     return STAT_BOGUS;
-   
-   p +=2; /* type */
-@@ -2102,7 +2102,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
-         /* Loop down CNAME chain/ */
-         if (!cname_count-- || 
--            !extract_name(header, plen, &p, name, 1, 0) ||
-+            !extract_name(header, plen, &p, name, 2, 0) ||
-             !(p = skip_questions(header, plen)))
-           return STAT_BOGUS;
-         
-@@ -2419,7 +2419,7 @@ unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name
-   
-   for (q = ntohs(header->qdcount); q != 0; q--) 
-     {
--      if (!extract_name(header, plen, &p, name, 1, 4))
-+      if (!extract_name(header, plen, &p, name, 2, 4))
-       break; /* bad packet */
-       
-       len = to_wire(name);
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 5ef5ddb7485e..10832a3d5d2e 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -16,6 +16,7 @@
- #include "dnsmasq.h"
-+/* isExtract == 2 -> DNSSEC mode, no bitstrings, no ascii checks. */
- int extract_name(struct dns_header *header, size_t plen, unsigned char **pp, 
-                char *name, int isExtract, int extrabytes)
- {
-@@ -86,7 +87,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-         if ((l & 0x3f) != 1)
-           return 0; /* we only understand bitstrings */
--        if (!isExtract)
-+        if (isExtract != 1)
-           return 0; /* Cannot compare bitsrings */
-         
-         count = *p++;
-@@ -128,7 +129,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           if (isExtract)
-             {
-               unsigned char c = *p;
--              if (isascii(c) && !iscntrl(c) && c != '.')
-+              if ((isExtract == 2 || (isascii(c) && !iscntrl(c))) && c != '.')
-                 *cp++ = *p;
-               else
-                 return 0;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch b/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch
deleted file mode 100644 (file)
index fc41947..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-From 394ff492da6af5da7e7d356be9586683bc5fc011 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 29 Mar 2015 22:17:14 +0100
-Subject: [PATCH 065/113] Allow control characters in names in the cache,
- handle when logging.
-
----
- src/cache.c   | 19 +++++++++++++++++--
- src/dnssec.c  | 34 +++++++++++++++++-----------------
- src/rfc1035.c |  7 +++----
- 3 files changed, 37 insertions(+), 23 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index c95624c42b1c..873c5779044c 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1399,6 +1399,19 @@ int cache_make_stat(struct txt_record *t)
-   return 1;
- }
-+/* There can be names in the cache containing control chars, don't 
-+   mess up logging or open security holes. */
-+static char *sanitise(char *name)
-+{
-+  unsigned char *r;
-+  for (r = (unsigned char *)name; *r; r++)
-+    if (!isprint((int)*r))
-+      return "<name unprintable>";
-+
-+  return name;
-+}
-+
-+
- void dump_cache(time_t now)
- {
-   struct server *serv, *serv1;
-@@ -1452,9 +1465,9 @@ void dump_cache(time_t now)
-           *a = 0;
-           if (strlen(n) == 0 && !(cache->flags & F_REVERSE))
-             n = "<Root>";
--          p += sprintf(p, "%-30.30s ", n);
-+          p += sprintf(p, "%-30.30s ", sanitise(n));
-           if ((cache->flags & F_CNAME) && !is_outdated_cname_pointer(cache))
--            a = cache_get_cname_target(cache);
-+            a = sanitise(cache_get_cname_target(cache));
- #ifdef HAVE_DNSSEC
-           else if (cache->flags & F_DS)
-             {
-@@ -1587,6 +1600,8 @@ void log_query(unsigned int flags, char *name, struct all_addr *addr, char *arg)
-   if (!option_bool(OPT_LOG))
-     return;
-+  name = sanitise(name);
-+
-   if (addr)
-     {
-       if (flags & F_KEYTAG)
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 8bd5294ce773..14bae7e9bf75 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -552,7 +552,7 @@ static int get_rdata(struct dns_header *header, size_t plen, unsigned char *end,
-  
-   (*desc)++;
-   
--  if (d == 0 && extract_name(header, plen, p, buff, 2, 0))
-+  if (d == 0 && extract_name(header, plen, p, buff, 1, 0))
-     /* domain-name, canonicalise */
-     return to_wire(buff);
-   else
-@@ -811,7 +811,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-       GETLONG(sig_inception, p);
-       GETSHORT(key_tag, p);
-       
--      if (!extract_name(header, plen, &p, keyname, 2, 0))
-+      if (!extract_name(header, plen, &p, keyname, 1, 0))
-       return STAT_BOGUS;
-       /* RFC 4035 5.3.1 says that the Signer's Name field MUST equal
-@@ -866,7 +866,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         u16 len, *dp;
-         
-         p = rrset[i];
--        if (!extract_name(header, plen, &p, name, 2, 10)) 
-+        if (!extract_name(header, plen, &p, name, 1, 10)) 
-           return STAT_BOGUS;
-         name_start = name;
-@@ -923,7 +923,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-       
-       /* namebuff used for workspace above, restore to leave unchanged on exit */
-       p = (unsigned char*)(rrset[0]);
--      extract_name(header, plen, &p, name, 2, 0);
-+      extract_name(header, plen, &p, name, 1, 0);
-       if (key)
-       {
-@@ -963,7 +963,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-   struct all_addr a;
-   if (ntohs(header->qdcount) != 1 ||
--      !extract_name(header, plen, &p, name, 2, 4))
-+      !extract_name(header, plen, &p, name, 1, 4))
-     return STAT_BOGUS;
-   GETSHORT(qtype, p);
-@@ -1202,7 +1202,7 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-     val = STAT_BOGUS;
-   
-   p = (unsigned char *)(header+1);
--  extract_name(header, plen, &p, name, 2, 4);
-+  extract_name(header, plen, &p, name, 1, 4);
-   p += 4; /* qtype, qclass */
-   
-   if (!(p = skip_section(p, ntohs(header->ancount), header, plen)))
-@@ -1419,12 +1419,12 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi
-   for (i = 0; i < nsec_count; i++)
-     {
-       p = nsecs[i];
--      if (!extract_name(header, plen, &p, workspace1, 2, 10))
-+      if (!extract_name(header, plen, &p, workspace1, 1, 10))
-       return STAT_BOGUS;
-       p += 8; /* class, type, TTL */
-       GETSHORT(rdlen, p);
-       psave = p;
--      if (!extract_name(header, plen, &p, workspace2, 2, 10))
-+      if (!extract_name(header, plen, &p, workspace2, 1, 10))
-       return STAT_BOGUS;
-       
-       rc = hostname_cmp(workspace1, name);
-@@ -1553,7 +1553,7 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
-   for (i = 0; i < nsec_count; i++)
-     if ((p = nsecs[i]))
-       {
--              if (!extract_name(header, plen, &p, workspace1, 2, 0) ||
-+              if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
-           !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
-         return 0;
-       
-@@ -1730,7 +1730,7 @@ static int prove_non_existence_nsec3(struct dns_header *header, size_t plen, uns
-       for (i = 0; i < nsec_count; i++)
-       if ((p = nsecs[i]))
-         {
--          if (!extract_name(header, plen, &p, workspace1, 2, 0) ||
-+          if (!extract_name(header, plen, &p, workspace1, 1, 0) ||
-               !(base32_len = base32_decode(workspace1, (unsigned char *)workspace2)))
-             return STAT_BOGUS;
-         
-@@ -1796,7 +1796,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   qname = p1 = (unsigned char *)(header+1);
-   
--  if (!extract_name(header, plen, &p1, name, 2, 4))
-+  if (!extract_name(header, plen, &p1, name, 1, 4))
-     return STAT_BOGUS;
-   GETSHORT(qtype, p1);
-@@ -1836,7 +1836,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-             qname = p1;
-             
-             /* looped CNAMES */
--            if (!cname_count-- || !extract_name(header, plen, &p1, name, 2, 0))
-+            if (!cname_count-- || !extract_name(header, plen, &p1, name, 1, 0))
-               return STAT_BOGUS;
-              
-             p1 = ans_start;
-@@ -1857,7 +1857,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   
-   for (p1 = ans_start, i = 0; i < ntohs(header->ancount) + ntohs(header->nscount); i++)
-     {
--      if (!extract_name(header, plen, &p1, name, 2, 10))
-+      if (!extract_name(header, plen, &p1, name, 1, 10))
-       return STAT_BOGUS; /* bad packet */
-       
-       GETSHORT(type1, p1);
-@@ -2039,7 +2039,7 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-                          an unsigned zone. Return STAT_NO_SIG to cause this to be proved. */
-    
-   /* Get name of missing answer */
--  if (!extract_name(header, plen, &qname, name, 2, 0))
-+  if (!extract_name(header, plen, &qname, name, 1, 0))
-     return STAT_BOGUS;
-   
-   if (nsec_type == T_NSEC)
-@@ -2061,7 +2061,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
-   int cname_count = CNAME_CHAIN;
-   /* Get question */
--  if (!extract_name(header, plen, &p, name, 2, 4))
-+  if (!extract_name(header, plen, &p, name, 1, 4))
-     return STAT_BOGUS;
-   
-   p +=2; /* type */
-@@ -2102,7 +2102,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
-         /* Loop down CNAME chain/ */
-         if (!cname_count-- || 
--            !extract_name(header, plen, &p, name, 2, 0) ||
-+            !extract_name(header, plen, &p, name, 1, 0) ||
-             !(p = skip_questions(header, plen)))
-           return STAT_BOGUS;
-         
-@@ -2419,7 +2419,7 @@ unsigned char* hash_questions(struct dns_header *header, size_t plen, char *name
-   
-   for (q = ntohs(header->qdcount); q != 0; q--) 
-     {
--      if (!extract_name(header, plen, &p, name, 2, 4))
-+      if (!extract_name(header, plen, &p, name, 1, 4))
-       break; /* bad packet */
-       
-       len = to_wire(name);
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 10832a3d5d2e..7a07b0cee906 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -16,7 +16,6 @@
- #include "dnsmasq.h"
--/* isExtract == 2 -> DNSSEC mode, no bitstrings, no ascii checks. */
- int extract_name(struct dns_header *header, size_t plen, unsigned char **pp, 
-                char *name, int isExtract, int extrabytes)
- {
-@@ -87,7 +86,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-         if ((l & 0x3f) != 1)
-           return 0; /* we only understand bitstrings */
--        if (isExtract != 1)
-+        if (!isExtract)
-           return 0; /* Cannot compare bitsrings */
-         
-         count = *p++;
-@@ -129,8 +128,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           if (isExtract)
-             {
-               unsigned char c = *p;
--              if ((isExtract == 2 || (isascii(c) && !iscntrl(c))) && c != '.')
--                *cp++ = *p;
-+              if (c != 0 && c != '.')
-+                *cp++ = c;
-               else
-                 return 0;
-             }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch b/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch
deleted file mode 100644 (file)
index 8625dae..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 794fccca7ffebfba4468bfffc6276b68bbf6afd9 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 29 Mar 2015 22:35:44 +0100
-Subject: [PATCH 066/113] Fix crash in last commit.
-
----
- src/cache.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/src/cache.c b/src/cache.c
-index 873c5779044c..d7bea574c0d8 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1404,9 +1404,10 @@ int cache_make_stat(struct txt_record *t)
- static char *sanitise(char *name)
- {
-   unsigned char *r;
--  for (r = (unsigned char *)name; *r; r++)
--    if (!isprint((int)*r))
--      return "<name unprintable>";
-+  if (name)
-+    for (r = (unsigned char *)name; *r; r++)
-+      if (!isprint((int)*r))
-+      return "<name unprintable>";
-   return name;
- }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0067-Merge-message-translations.patch b/src/patches/dnsmasq/0067-Merge-message-translations.patch
deleted file mode 100644 (file)
index 67849f6..0000000
+++ /dev/null
@@ -1,20329 +0,0 @@
-From fd6ad9e481ab7c812a6b1515244908818cbb0442 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 30 Mar 2015 07:52:21 +0100
-Subject: [PATCH 067/113] Merge message translations.
-
----
- po/de.po    | 803 +++++++++++++++++++++++++++++++++--------------------------
- po/es.po    | 798 ++++++++++++++++++++++++++++++++--------------------------
- po/fi.po    | 786 +++++++++++++++++++++++++++++++--------------------------
- po/fr.po    | 799 ++++++++++++++++++++++++++++++++--------------------------
- po/id.po    | 814 +++++++++++++++++++++++++++++++++---------------------------
- po/it.po    | 786 +++++++++++++++++++++++++++++++--------------------------
- po/no.po    | 797 ++++++++++++++++++++++++++++++++--------------------------
- po/pl.po    | 803 +++++++++++++++++++++++++++++++++--------------------------
- po/pt_BR.po | 786 +++++++++++++++++++++++++++++++--------------------------
- po/ro.po    | 797 ++++++++++++++++++++++++++++++++--------------------------
- 10 files changed, 4396 insertions(+), 3573 deletions(-)
-
-diff --git a/po/de.po b/po/de.po
-index 4c93c5b28ef2..a03173845b35 100644
---- a/po/de.po
-+++ b/po/de.po
-@@ -23,70 +23,70 @@ msgstr ""
- "X-Generator: Poedit 1.7.3\n"
- "X-Poedit-SourceCharset: UTF-8\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr "Interner Fehler im Cache."
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr "Fehler beim Laden der Namen von %s: %s"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "Fehlerhafte Adresse in %s Zeile %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "Fehlerhafter Name in %s Zeile %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "%s gelesen - %d Adressen"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "Cache geleert"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr "Keine IPv4-Adresse für %s gefunden"
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr "%s ist ein CNAME, weise es der DHCP-Lease von %s nicht zu"
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "Name %s wurde dem DHCP-Lease von %s nicht zugewiesen, da der Name in %s bereits mit Adresse %s existiert"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr "Zeit %lu"
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "Cache Größe %d, %d/%d Cache-Einfügungen verwendeten nicht abgelaufene Cache-Einträge wieder."
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr "%u weitergeleitete Anfragen, %u lokal beantwortete Anfragen"
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr "Anfragen nach autoritativen Zonen %u"
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr "Server %s#%d: %u Anfragen gesendet, %u erneut versucht oder fehlgeschlagen"
-@@ -100,7 +100,7 @@ msgstr "Konnte den Zufallszahlengenerator nicht initialisieren: %s"
- msgid "failed to allocate memory"
- msgstr "Konnte Speicher nicht belegen"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "Speicher nicht verfügbar"
-@@ -115,593 +115,626 @@ msgid "failed to allocate %d bytes"
- msgstr "Konnte %d Bytes nicht belegen"
- # @Simon: not perfect but I cannot get nearer right now.
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "unendlich"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Lokale abzuhörende Adresse(n) angeben."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "IP-Adresse für alle Hosts in angegebenen Domänen festlegen."
- # FIXME: the English test is not to the point. Just use a shortened description
- # from the manpage instead. -- MA
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Für private Adressbereiche nach RFC1918 \"keine solche Domain\" liefern."
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Diese IP-Adresse als NXDOMAIN interpretieren (wehrt \"Suchhilfen\" ab)."
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Größe des Caches (Zahl der Einträge) festlegen (Voreinstellung: %s)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Konfigurationsdatei festlegen (Voreinstellung: %s)."
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NICHT in den Hintergrund gehen: Betrieb im Debug-Modus"
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "Anfragen ohne Domänen-Teil NICHT weiterschicken."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Für lokale Einträge MX-Einträge liefern, die auf sich selbst zeigen."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Erweitere einfache Namen in /etc/hosts mit der Domänen-Endung."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "'unechte' DNS-Anfragen von Windows-Rechnern nicht weiterleiten"
- # @Simon: I'm a bit unsure about "spurious"
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "DHCP für angegebenen Bereich und Dauer einschalten"
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Nach dem Start in diese Benutzergruppe wechseln (Voreinstellung %s)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Adresse oder Hostnamen für einen angegebenen Computer setzen."
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr "DHCP-Host-Angaben aus Datei lesen."
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr "DHCP-Optionen aus Datei lesen."
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "DHCP-Host-Angaben aus Datei lesen."
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "DHCP-Optionen aus Datei lesen."
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr "Auswertung eines Ausdrucks bedingter Marken."
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "%s-Datei NICHT laden."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Hosts-Datei festlegen, die zusätzlich zu %s gelesen wird."
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "DHCP-Host-Angaben aus Datei lesen."
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Schnittstelle(n) zum Empfang festlegen."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Schnittstelle(n) festlegen, die NICHT empfangen sollen."
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr "DHCP-Benutzerklasse auf Marke abbilden."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "RFC3046 \"circuit-id\" auf Marke abbilden."
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr "RFC3046 \"remote-id\" auf Marke abbilden."
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "RFC3993 \"subscriber-id\" auf Marke abbilden."
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Kein DHCP für Hosts mit gesetzter Marke verwenden."
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Rundsendung für Hosts mit gesetzter Marke erzwingen."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NICHT in den Hintergrund wechseln, NICHT im Debug-Modus laufen."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Voraussetzen, dass wir der einzige DHCP-Server im lokalen Netz sind."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Festlegen, wo DHCP-Leases gespeichert werden (Voreinstellung %s)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "MX-Einträge für lokale Hosts liefern."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Einen MX-Eintrag festlegen."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "BOOTP-Optionen für DHCP-Server festlegen."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "%s-Datei NICHT abfragen, nur bei SIGHUP neu laden."
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "Fehlerhafte Suchergebnisse NICHT zwischenspeichern."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Namensserver streng in der in %s angegebenen Reihenfolge verwenden."
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Optionen festlegen, die an DHCP-Klienten gesendet werden."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr "DHCP-Option, die selbst ohne Klientenanfrage gesendet wird."
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Port zum Abhören der DNS-Anfragen festlegen (53 voreingestellt)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maximale unterstützte UDP-Paketgröße für EDNS.0 (Voreinstellung %s)."
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr "DNS-Anfragen protokollieren."
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Ausgehenden Port erzwingen für DNS-Anfragen an vorgelagerte Server."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "resolv.conf NICHT lesen."
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Pfad zu resolv.conf festlegen (%s voreingestellt)."
--#: option.c:362
-+#: option.c:377
- msgid "Specify path to file with server= options"
- msgstr " Dateipfad mit der Option server= angeben"
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen."
--#: option.c:364
-+#: option.c:379
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Adresse(n) vorgelagerter Server festlegen, für reverse Adressanfragen"
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Anfragen für angegebene Domänen niemals weiterleiten."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Domäne festlegen, die für DHCP-Leases zugewiesen wird."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Voreingestelltes Ziel für MX-Einträge festlegen."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Gültigkeitsdauer für Antworten aus /etc/hosts festlegen."
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
-+
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Nach dem Start diese Benutzerrechte annehmen (%s voreingestellt)."
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr "DHCP-\"vendor class\" auf Marke abbilden."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "dnsmasq-Version und Urheberrecht anzeigen."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "IPv4-Adressen von vorgelagerten Servern übersetzen."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "SRV-Eintrag festlegen."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Diese Hilfe anzeigen. Benutzen Sie --help dhcp für bekannte DHCP-Optionen."
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Dateipfad für Prozesskennung (PID) festlegen (Voreinstellung: %s)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Höchstzahl der DHCP-Leases festlegen (%s voreingestellt)."
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "DNS-Anfragen abhängig der Emfpangsschnittstelle beantworten."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "DNS-TXT-Eintrag festlegen."
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr "DNS-PTR-Eintrag festlegen."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Schnittstellennamen zur IPv4-Adresse des Interfaces auflösen."
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Nur an verwendete Schnittstellen binden."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Statische DHCP-Host-Information aus %s lesen."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "DBus-Schnittstelle zum Festlegen vorgelagerter Server usw. festlegen."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Auf dieser Schnittstelle kein DHCP anbieten, sondern nur DNS."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Dynamische Adressbelegung für bootp einschalten."
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "MAC-Adresse (mit Jokerzeichen) auf Netzmarke abbilden."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "DHCP-Anfragen von Alias-Schnittstellen für die Hauptschnittstelle beantworten."
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "ICMP-Echo-Adressprüfung im DHCP-Server abschalten."
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Skript, das bei Erzeugung/Löschung einer DHCP-Lease laufen soll."
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Lua-Skript, welches bei Erzeugung/Löschung eines DHCP-Leases laufen soll."
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr "Lease-Änderungs-Skript mit den Rechten dieses Nutzers ausführen."
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr "Konfiguration aus allen Dateien in diesem Verzeichnis lesen."
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Für diese Syslog-Anlage oder in Datei loggen (Voreinstellung DAEMON)."
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr "Keine Lease-Datei benützen."
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Höchstzahl nebenläufiger DNS-Anfragen (%s voreingestellt)."
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "DNS-Cache beim Neuladen von %s löschen."
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Von DHCP-Clients gelieferte Hostnamen ignorieren."
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Dateinamen und Server-Datenfehler für zusätzliche DHCP-Optionen NICHT wiederverwenden."
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr "Eingebauten Nur-Lese-TFTP-Server einschalten."
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Nur vom festgelegten Unterbaum Dateien per TFTP exportieren."
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr "IP-Adresse des Klienten an tftp-root anhängen."
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Zugriff nur auf Dateien gestatten, die dem dnsmasq aufrufenden Benutzer gehören."
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Höchstzahl nebenläufiger TFTP-Übertragungen (%s voreingestellt)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr "TFTP-Blockgrößen-Erweiterung abschalten."
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Konvertiere TFTP Dateinamen in Kleinschreibung"
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Bereich für vorübergehende Ports für TFTP-Übertragungen."
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr "Erweiterte DHCP-Protokollierung."
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Asynchrone Protokollierung einschalten, opt. Warteschlangenlänge festlegen."
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "DNS-Rebinding unterbinden, private IP-Bereiche bei der Auflösung ausfiltern."
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Auflösung zu 127.0.0.0/8 erlauben, für RBL-Server."
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "DNS-Rebind-Schutz für diese Domäne sperren."
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr "DNS-Anfragen immer an alle Server weiterleiten."
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr "Marke setzen, wenn Klient eine entsprechende Option anfragt."
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr "Alternative Ports für DHCP verwenden."
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr "DNS-NAPTR-Eintrag festlegen."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Niedrigsten verfügbaren Port für Übertragung von DNS-Anfragen festlegen."
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Für DHCP-Klienten nur vollständig bestimmte Domänennamen benutzen."
- # FIXME: probably typo in original message. -- MA
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generiere Hostnamen auf Basis der MAC-Adresse für namenlose Klienten."
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr "Diese DHCP-Relais als vollwertige Proxies verwenden."
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr "Leute DHCP Anfragen an entfernten Server weiter"
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Alias für LOKALEN DNS-Namen festlegen."
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr "Aufforderung, die an PXE-Klienten geschickt wird."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr "Boot-Dienst für PXE-Menü."
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr "Konfigurationssyntax prüfen."
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Anfragende MAC-Adresse in die weiterleitende DNS-Anfrage einfügen"
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Füge das IP-Subnetz des Anfragenden in die weitergeleiteten DNS-Anfragen hinzu."
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Proxy-DNSSEC-Validierung-Ergebnisse von Upstream-Namensservern."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Versuche sequenzielle IP-Adressen an DHCP-Klienten zu vergeben."
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Kopiere \"connection-track mark\" von Anfragen nach Upstream-Verbindungen."
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Erlaube DHCP-Klienten ihre eigenen DDNS-Updates durchzuführen."
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Sende \"Router-Advertisments\" für Netzwerkschnittstellen, welche DHCPv6 nutzen"
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Spezifiziere DUID_EN-type DHCPv6 Server DUID"
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spezifiziere Host (A/AAAA und PTR) Einträge"
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr "Spezifiziere einen beliebiegen DNS Eintrag"
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Bindung zu Schnittstellen in Benutzung - prüfe auf neue Schnittstellen"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr "Exportiere lokale Namen in das globale DNS"
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr "Domain für das Exportieren des globalen DNS"
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr "Setzte TTL für autoritative Antworten"
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr "Setze autoritative Zoneninformationen"
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Sekundärer autoritativer Nameserver für weitergeleitete Domains"
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Peers welche einen Zonentransfer durchführen dürfen"
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Spezifiziere IPSets zu welcher passende Domains hinzugefügt werden sollen"
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Spezifiziere eine Domain und Adressbereich für synthetisierte Namen"
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr "Aktiviere DNSSEC-Validierung"
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr "Spezifiziere Vertrauensursprung (Trust Anchor) der Schlüssel-Prüfdaten (Key Digest)."
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr "Deaktiviere die Überprüfung vorgelagerter Server für DNSSEC-Debugging"
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr "Stellt sicher, dass Antworten ohne DNSSEC sich in einer unsignierten Zone befinden."
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr "DNSSEC Signatur-Zeitstempel nicht prüfen, bis erstmalig der Cache neugeladen wird"
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr "Spezifiziere DHCPv6 Prefix Klasse"
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr "Setze Priorität, Intervall des erneuten Sendens und Router Lebenszeit"
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr "Protokolliere kein DHCP."
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr "Protokolliere kein DHCPv6."
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr "RA nicht protokollieren."
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr "Akzeptiere nur Anfragen von direkt verbundenen Netzwerken"
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr "Erkennen und Entfernen von DNS-Weiterleitungsschleifen"
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -710,312 +743,312 @@ msgstr ""
- "Verwendung: dnsmasq [Optionen]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Auf der Befehlszeile nur kurze Optionen verwenden!\n"
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Gültige Optionen sind:\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "unzulässiger Port"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr "Schnittstellenbindung nicht unterstützt"
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr "unzulässiger Schnittestellenname"
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr "Fehlerhafte Adresse"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "Nicht unterstützte Verkapselung für eine IPv6-Option"
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "Fehlerhafte DHCP-Option"
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr "Fehlerhafte IP-Adresse"
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr "Fehlerhafte IPv6-Adresse"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "Fehlerhafte Domäne in DHCP-Option"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "DHCP-Option zu lang"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr "Unzulässige dhcp-match-Option"
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr "unzulässig wiederholte Markierung"
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr "unzulässig wiederholtes Schlüsselwort"
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "Kann auf Verzeichnis %s nicht zugreifen: %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "Kann auf %s nicht zugreifen: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr "Die Einstellung Protokolliereinrichtung kann unter Android nicht gesetzt werden"
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr "Falsche Protokolliereinrichtung"
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "unzulässige MX-Präferenz-Angabe"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "unzulässiger MX-Name"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "unzulässiges MX-Ziel"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr "unter uClinux ist die Skriptausführung nicht möglich"
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "Neuübersetzung mit HAVE_SCRIPT nötig, um Lease-Änderungs-Skripte auszuführen"
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "Um Benutzerdefinierte Lua-Scripte zu ermöglichen, muss mit HAVE_LUASCRIPT neu kompiliert werden"
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr "unzulässiger Präfix"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "Um IPSet-Direktiven zu aktivieren, muss mit HAVE_IPSET neu übersetzt werden"
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr "unzulässiger Portbereich"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr "unzulässige Brücken-Schnittstelle"
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr "nur eine Marke zulässig"
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "unzulässiger DHCP-Bereich"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "inkonsistenter DHCP-Bereich"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "Die Präfixlenge muss genau 64 für RA Subnetze sein"
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "Die Präfixlenge muss genau 64 für Subnet Konstruktoren sein"
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr "Die Präfixlänge muss mindestens 64 sein"
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr "Inkonsistenter DHCPv6-Bereich"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "Prefix muss mit dem \"constructor:\" Argument Null sein"
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr "Falscher Hexwert"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr "Kann die Tags in --dhcp-host nicht abgleichen"
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "doppelte dhcp-host IP-Adresse %s"
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr "unzulässiger DHCP-Hostname"
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr "unzulässige bedingte Marke (tag-if)"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "unzulässige Portnummer"
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr "Fehlerhafte DHCP-Proxy-Adresse"
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr "unzulässiger dhcp-relay"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr "unzulässige RA-Parameter"
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr "unzulässige DUID"
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr "unzulässiger Alias-Bereich"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr "unzulässiger CNAME"
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr "doppelter CNAME"
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr "unzulässiger PTR-Eintrag"
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr "unzulässiger NAPTR-Eintrag"
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr "unzulässiger RR-Eintrag"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "unzulässiger TXT-Eintrag"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "unzulässiger SRV-Eintrag"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "unzulässiges SRV-Ziel"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "unzulässige Priorität"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "unzulässige Wichtung"
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr "unzulässiger host-record"
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr "Unzulässiger Name in host-record"
--#: option.c:3826
-+#: option.c:3906
- msgid "bad trust anchor"
- msgstr "unzulässiger Vertrauensursprung (Trust Anchor)"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr "unzulässiger Hexwert in Vertrauensursprung (Trust Anchor)"
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "Nicht unterstützte Option (prüfen Sie, ob DNSMasq mit DHCP/TFTP/DNSSEC/DBus-Unterstützung übersetzt wurde)"
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "fehlende \\\""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "unzulässige Option"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "überschüssiger Parameter"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "fehler Parameter"
--#: option.c:3972
-+#: option.c:4052
- msgid "illegal option"
- msgstr "unzulässige Option"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "Fehler"
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr " in Zeile %d von %s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "kann %s nicht lesen: %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
- msgid "read %s"
- msgstr "%s gelesen"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "kann %s nicht lesen: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr "Mist in der Kommandozeile gefunden"
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq Version %s  %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1024,90 +1057,90 @@ msgstr ""
- "Kompilierungs-Optionen %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Für diese Software wird ABSOLUT KEINE GARANTIE gewährt.\n"
- # FIXME: this must be one long string! -- MA
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq ist freie Software, und du bist willkommen es weiter zu verteilen\n"
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "unter den Bedingungen der GNU General Public Lizenz, Version 2 oder 3.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr "versuchen Sie --help"
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr "versuchen Sie -w"
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr "unzulässige Optionen auf der Befehlszeile: %s"
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "kann Hostnamen nicht ermitteln: %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "mit -n/--no-poll ist nur eine resolv.conf-Datei zulässig."
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "Um die Domäne zu lesen, muss genau eine resolv.conf-Datei verwendet werden."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "konnte %s nicht lesen: %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "keine \"search\"-Anweisung in %s gefunden"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "Es muss eine standard Domain gesetzt sein, wenn --dhcp-fqdn gesetzt ist"
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr "Syntaxprüfung OK"
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr "Fehlgeschlagen, folgendes Paket zu senden: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr "Verwerfe DNS Antwort: Subnetoption stimmt nicht überrein"
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "Namensserver %s hat eine rekursive Anfrage verweigert"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s"
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr "Ignoriere Anfragen vom nicht lokalen Netzwerk"
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Maximale Anzahl an nebenläufiger DNS-Anfragen erreicht (Max: %d)"
-@@ -1198,265 +1231,284 @@ msgstr "Benutze Namensserver %s#%d(via %s)"
- msgid "using nameserver %s#%d"
- msgstr "Benutze Namensserver %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
-+msgstr ""
-+
-+#: dnsmasq.c:156
-+#, fuzzy
-+msgid "no trust anchors provided for DNSSEC"
- msgstr "Keine Vertrauensursprünge (Trust Anchor) für DNSSEC verfügbar"
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:159
-+#, fuzzy
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr "Kann die Standard Cachegröße nicht verkleinern, wenn DNSSEC aktiviert ist"
--#: dnsmasq.c:159
-+#: dnsmasq.c:161
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DNSSEC nicht verfügbar: setzen Sie HAVE_DNSSEC in src/config.h"
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "TFTP-Server nicht verfügbar, setzen Sie HAVE_TFTP in src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+#, fuzzy
-+msgid "cannot use --conntrack AND --query-port"
- msgstr "Kann nicht --conntrack UND --query-port einsetzen"
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+#, fuzzy
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Conntrack-Unterstützung nicht verfügbar: setze HAVE_CONNTRACK in src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr "asynchrone Protokollierung unter Solaris nicht verfügbar"
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr "Asynchrone Protokollierung unter Android nicht verfügbar"
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "Authoritatives DNS nicht verfügbar: Es muss HAVE_AUTH in src/config.h gesetzt sein"
--#: dnsmasq.c:193
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+#: dnsmasq.c:195
-+#, fuzzy
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "Loop-Erkennung nicht verfügbar, setzen Sie HAVE_LOOP in src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr "Zonen Seriennummer muss mit --auth-soa konfiguriert werden"
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr "dhcp-range Konstruktor ist auf dieser Plattform nicht verfübar"
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "Kann nicht --bind-interfaces und --bind-dynamic setzen"
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "konnte Schnitstellenliste nicht beziehen: %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "unbekannte Schnittstelle %s"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus-Fehler: %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus nicht verfügbar: setzen Sie HAVE_DBUS in src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "Unbekannter Benutzer oder Gruppe: %s"
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "kann nicht ins Wurzelverzeichnis des Dateisystems wechseln: %s"
- # FIXME: this and the next would need commas after the version
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "gestartet, Version %s, DNS abgeschaltet"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "gestartet, Version %s, Cachegröße %d"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "Gestartet, Version %s Cache deaktiviert"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "Übersetzungsoptionen: %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "DBus-Unterstützung eingeschaltet: mit Systembus verbunden"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr "DNS-Dienst auf lokale Subnetze eingeschränkt"
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr "DNSSEC-Validierung aktiviert"
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+#, fuzzy
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "Warnung: konnte den Besitzer von %s nicht ändern: %s"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "Aktiviere --bind-interfaces wegen Einschränkungen des Betriebssystems"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "Warnung: Schnittstelle %s existiert derzeit nicht"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "Warnung: Ignoriere \"resolv-file\", weil \"no-resolv\" aktiv ist"
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr "Warnung: keine vorgelagerten (Upstream) Server konfiguriert"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "asynchrone Protokollierung eingeschaltet, Warteschlange fasst %d Nachrichten"
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr "IPv6-Router-Advertisement aktiviert"
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr "DHCP, Sockets exklusiv an das Interface %s gebunden"
- # FIXME: this and the next few must be full strings to be translatable - do not assemble in code"
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr "Wurzel ist "
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr "Aktiviert"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr "sicherer Modus"
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "Begrenze gleichzeitige TFTP-Übertragungen auf maximal %d"
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "Mit System-DBus verbunden"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "kann nicht in den Hintergrund abspalten: %s"
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "kann Helfer nicht erzeugen: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "kann \"capabilities\" nicht setzen: %s"
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "Kann nicht Benutzerrechte %s annehmen: %s"
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "Kann nicht Gruppenrechte %s annehmen: %s"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "Kann Logdatei %s nicht öffnen: %s"
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "Konnte Lua-Script nicht laden: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "kann Lease-Datei %s nicht öffnen: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr "Prüfe jetzt DNSSEC Signatur-Zeitstempel"
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "Scriptprozess durch Signal %d getötet"
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr "Scriptprozess hat sich mit Status %d beendet"
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "konnte %s nicht ausführen: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "beende nach Empfang von SIGTERM"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "konnte auf %s nicht zugreifen: %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "lese %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "keine Server in %s gefunden, werde es später neu versuchen"
-@@ -1496,27 +1548,27 @@ msgstr "unbekannte Schnittstelle %s in bridge-interface"
- msgid "DHCP packet received on %s which has no address"
- msgstr "DHCP-Paket ohne Adresse an Schnittstelle %s empfangen"
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr "APR-Cache Injektion fehlgeschlagen: %s"
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "DHCP-Bereich %s - %s passt nicht zur Netzmaske %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "ungültige Zeile %2$d in Datei %1$s"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignoriere %s Zeile %d, doppelter Name oder doppelte IP-Adresse"
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "DHCP Weiterleitung %s -> %s"
-@@ -1591,12 +1643,12 @@ msgstr "%u Benutzerklasse: %s"
- msgid "disabled"
- msgstr "deaktiviert"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "ignoriert"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "Adresse in Nutzung"
-@@ -1616,7 +1668,7 @@ msgstr "Keine Adresse konfiguriert"
- msgid "no leases left"
- msgstr "Keine Leases übrig"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "%u Klient stellt Name bereit: %s"
-@@ -1625,7 +1677,7 @@ msgstr "%u Klient stellt Name bereit: %s"
- msgid "PXE BIS not supported"
- msgstr "PXE BIS nicht unterstützt"
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "schalte statische DHCP-Adresse %s für %s ab"
-@@ -1663,7 +1715,7 @@ msgstr "Falsche Server-ID"
- msgid "wrong address"
- msgstr "Falsche Adresse"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "Lease nicht gefunden"
-@@ -1713,7 +1765,7 @@ msgstr "kann DHCP/BOOTP-Opition %d nicht setzen: kein Platz mehr im Paket"
- msgid "PXE menu too large"
- msgstr "PXE-Menüeintrag zu groß"
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u angeforderte Optionen: %s"
-@@ -1728,7 +1780,7 @@ msgstr "Kann RFC3925-Option nicht senden: zu viele Optionen für Unternehmen Nr.
- msgid "cannot create netlink socket: %s"
- msgstr "kann Netlink-Socket nicht erzeugen: %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr "Netlink liefert Fehler %s"
-@@ -1846,63 +1898,63 @@ msgstr "Kein Adressbereich verfügbar für die DHCPv6-Anfrage via %s"
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "%u verfügbare(s) DHCPv6-Subnetz: %s/%d"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr "%u Herstellerklasse: %u"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr "%u Klient MAC-Adresse: %s"
- # FIXME: do not assemble
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr "unbekannte Präfixklasse %d"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
-+msgstr "Adresse nicht verfügbar"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr "Erfolg"
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- msgid "no addresses available"
- msgstr "Keine Adressen verfügbar"
--#: rfc3315.c:865
--msgid "address unavailable"
--msgstr "Adresse nicht verfügbar"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr "nicht on link"
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr "Keine Bindung gefunden"
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr "veraltet"
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr "Adresse ungültig"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr "Bestätigung fehlgeschlagen"
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr "Alle Adressen immer noch on link"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr "Freigabe empfangen"
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Kann nicht zum DHCPv6 Server multicasten ohne korrekte Schnittstelle"
-@@ -1995,7 +2047,7 @@ msgstr "DHCP Weiterleitung von %s nach %s"
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "Kann ICMPv6-Socket nicht erzeugen: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "ignoriere Zonentransfer-Anfrage von %s"
-@@ -2010,54 +2062,89 @@ msgstr "konnte Kernelversion nicht finden: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "konnte IPset-Kontroll-Socket nicht erzeugen: %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr "DNSSEC Speicher in Benutzung %u, Max %u, zugewiesen %u"
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr "Fehler: fill_addr falsch verwendet"
--#: tables.c:105
-+#: tables.c:109
- #, c-format
- msgid "failed to access pf devices: %s"
- msgstr "konnte auf pf Geräte nicht zugreifen: %s"
--#: tables.c:119
-+#: tables.c:123
- #, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "Warnung: Keine geöffneten pf Geräte %s"
--#: tables.c:127
-+#: tables.c:131
- #, c-format
- msgid "error: cannot use table name %s"
- msgstr "Fehler: Kann Tabellenname %s nicht benutzen"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr "Fehler: Kann den Tabellennamen %s nicht strlcpy"
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr "Warnung: pfr_add_tables: %s(%d)"
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr "Info: Tabelle erstellt"
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr "Warnung: DIOCR%sADDRS: %s"
--#: tables.c:162
-+#: tables.c:166
- #, c-format
- msgid "%d addresses %s"
- msgstr "%d Adressen %s"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "kann Helfer nicht erzeugen: %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "kann Lease-Datei %s nicht öffnen: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "Konnte Empfangs-Socket für %s: %s nicht erzeugen"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "Kann auf Verzeichnis %s nicht zugreifen: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "no interface with address %s"
- #~ msgstr "keine Schnittstelle mit Adresse %s"
-diff --git a/po/es.po b/po/es.po
-index 0bdff67f720b..b85696072661 100644
---- a/po/es.po
-+++ b/po/es.po
-@@ -16,70 +16,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, fuzzy, c-format
- msgid "failed to load names from %s: %s"
- msgstr "no se pudo cargar nombres desde %s: %s"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, fuzzy, c-format
- msgid "bad address at %s line %d"
- msgstr "dirección errónea en %s línea %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "nombre erróneo en %s línea %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "direcciónes %s - %d leídas"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "el caché fue liberado"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr "%s es un CNAME, no se le está dando concesión DHCP de %s"
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "no otorgando nombre %s a concesión DHCP de %s porque el nombre existe en %s con dirección %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr "tiempo %lu"
--#: cache.c:1367
-+#: cache.c:1422
- #, fuzzy, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "tamaño de caché %d, %d/%d inserciónes de caché reutilizaron objetos no vencidos."
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr "búsquedas reenviadas %u, búsquedas respondidas localmente %u"
--#: cache.c:1372
-+#: cache.c:1427
- #, fuzzy, c-format
- msgid "queries for authoritative zones %u"
- msgstr "Fijar TTL para respuestas autoritarias"
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr "servidor %s#%d: búsquedas enviadas %u, reintentadas o fallidas %u"
-@@ -94,7 +94,7 @@ msgstr "no se pudo crear valor semilla para el generador de n
- msgid "failed to allocate memory"
- msgstr "no se pudo asignar memoria"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "no se pudo adquirir memoria"
-@@ -108,617 +108,650 @@ msgstr "no se puede crear pipe: %s"
- msgid "failed to allocate %d bytes"
- msgstr "no se pudo asignar %d bytes"
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "infinito"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Especificar dirección(es) locales dónde escuchar."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Retornar ipaddr (dirección IP) para todos los hosts en los dominios especificados."
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Falsificar búsquedas reversas para rangos de dirección privados RFC1918."
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Tratar ipaddr (dirección IP) como NXDOMAIN (derrota comodín Verisign)."
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Especificar tamaño de caché en cuanto a cantidad de objetos (%s por predeterminado)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Especificar archivo de configuración (%s por predeterminado)."
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NO hacer un fork hacia el fondo: correr en modo debug."
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "NO reenviar búsquedas sin parte de dominio."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Retornar expedientes MX auto-señaladores para hosts locales."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Expandir nombres simples en /etc/hosts con domain-suffix (sufijo de dominio)."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "No reenviar pedidos DNS falsos desde máquinas Windows."
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Habilitar DHCP dentro del rango brindado con duración de concesión."
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Cambiar a este grupo después del inicio (%s por predeterminado)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Fijar dirección o nombre de host para una máquina especificada."
--#: option.c:332
-+#: option.c:344
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "Leer especificaciones DHCP de host desde archivo"
--#: option.c:333
-+#: option.c:345
- #, fuzzy
- msgid "Read DHCP option specs from file."
- msgstr "Leer opciones DHCP de host desde archivo"
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "Leer especificaciones DHCP de host desde archivo"
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "Leer opciones DHCP de host desde archivo"
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr "Evaluar expresión condicional de etiqueta."
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "NO cargar archivo %s."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Especificar un archivo de hosts para ser leído adicionalmente a %s."
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "Leer especificaciones DHCP de host desde archivo"
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Especificar interfase(s) donde escuchar."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Especificar interfase(s) donde NO escuchar."
--#: option.c:339
-+#: option.c:354
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Trazar clase de usuario DHCP a etiqueta."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Trazar circuit-id (identificación de circuito) RFC3046 a etiqueta."
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Trazar remote-id (identificación remota) RFC3046 a etiqueta."
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Trazar subscriber-id (identificación de suscritor) RFC3993 a etiqueta."
--#: option.c:343
-+#: option.c:358
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "No hacer DHCP para hosts con etiqueta fijada."
--#: option.c:344
-+#: option.c:359
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Forzar respuestas broadcast para hosts con etiqueta fijada."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NO hacer un fork hacia el fondo, NO correr en modo debug."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Asumir que somos el único servidor DHCP en la red local."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Especificar donde almacenar concesión DHCP (%s por predeterminado)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Retornar expedientes MX para hosts locales."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Especificar un expediente MX."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Especificar opciones BOOTP a servidor DHCP."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "NO revisar archivo %s periódicamente, recargar solo con SIGHUP."
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "NO almacenar en caché resultados de búsquedas fallidas."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Usar servidores DNS estrictamente en el órden brindado en %s."
--#: option.c:354
-+#: option.c:369
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Especificar opciones para ser enviadas a clientes DHCP."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Opción DHCP enviada aún si el cliente no la pide."
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Especificar puerto donde escuchar por búsquedas DNS (53 por predeterminado)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Tamaño máximo de paquetes UDP soportado para EDNS.0 (%s por predeterminado)."
--#: option.c:358
-+#: option.c:373
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Bitacorear búsquedas DNS."
--#: option.c:359
-+#: option.c:374
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Enforzar el puerto original para búsquedas DNS subida."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "NO leer resolv.conf."
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Especificar el path hacia resolv.conf (%s por predeterminado)."
--#: option.c:362
-+#: option.c:377
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Especificar path de archivo PID (%s por predeterminado)."
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Especificar dirección(es) de servidores subida con dominios opcionales."
--#: option.c:364
-+#: option.c:379
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Especificar dirección(es) de servidores subida con dominios opcionales."
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Nunca reenviar búsquedas a dominios especificados."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Especificar el dominio para ser asignado en concesión DHCP."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Especificar destino predeterminado en un expediente MX."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Especificar tiempo de vida en segundos para respuestas desde /etc/hosts."
--#: option.c:369
-+#: option.c:384
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Especificar tiempo de vida en segundos para caché negativo."
--#: option.c:370
-+#: option.c:385
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Especificar tiempo de vida en segundos para respuestas desde /etc/hosts."
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Especificar tiempo de vida en segundos para caché negativo."
-+
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Especificar tiempo de vida en segundos para caché negativo."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Cambiar a este usuario despues del inicio (%s por predeterminado)."
--#: option.c:372
-+#: option.c:389
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Trazar clase de vendedor DHCP a etiqueta."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Mostrar información sobre la versión y copyright de dnsmasq."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traducir direcciones IPv4 desde servidores subida."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Especificar un expediente SRV."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Mostrar este mensaje. Usar --help dhcp para opciones DHCP conocidas."
--#: option.c:377
-+#: option.c:394
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Especificar path de archivo PID (%s por predeterminado)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Especificar número máximo de concesión DHCP (%s por predeterminado)."
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Responder a búsquedas DNS en base a la interfase a la cuál fueron enviadas."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Especificar expediente DNS TXT."
--#: option.c:381
-+#: option.c:398
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Especificar expediente DNS PTR."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Otorgar nombre DNS a dirección IPv4 de interfase."
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Acoplar solo a interfases en uso."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Leer información sobre hosts DHCP estáticos desde %s."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Habilitar la interfase DBus para fijar servidores subida, etc."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "No proveer DHCP en esta interfase, sólo proveer DNS."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Habilitar alocación dinámica de direcciónes para BOOTP."
--#: option.c:388
-+#: option.c:405
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Trazar dirección MAC (con comodínes) a opción fijada."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Tratar pedidos DHCP en alias como si llegaran de la interfase."
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Deshabilitar verificación de direcciónes para echo ICMP en el servidor DHCP."
--#: option.c:391
-+#: option.c:408
- #, fuzzy
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Archivo guión para ejecutar cuando se crea o destruye una concesión DHCP."
--#: option.c:392
-+#: option.c:409
- #, fuzzy
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Archivo guión para ejecutar cuando se crea o destruye una concesión DHCP."
--#: option.c:393
-+#: option.c:410
- #, fuzzy
- msgid "Run lease-change scripts as this user."
- msgstr "Correr archivo guión de cambio de concesión como este usuario."
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr "Leer configuración desde todos los archivos en este directorio."
--#: option.c:395
-+#: option.c:412
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Bitacorear a esta facilidad syslog o archivo. (DAEMON por predeterminado)"
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr "No usar archivo de concesión."
--#: option.c:397
-+#: option.c:414
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Número máximo de búsquedas DNS simultáneas. (%s por predeterminado)"
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Liberar caché DNS al recargar %s."
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Ignorar nombres de host brindados por clientes DHCP."
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "NO reutilizar campos de nombre de archivo y servidor para opciones DHCP extra."
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr "Habilitar servidor integrado TFTP solo-lectura."
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Exportar archivos vía TFTP solo del sub-árbol especificado."
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr "Agregar IP de cliente a tftp-root."
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Permitir acceso solo a archivos pertenecientes al usuario que corre dnsmasq."
--#: option.c:405
-+#: option.c:422
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Número máximo de transferencias TFTP simultáneas (%s por predeterminado)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr "Deshabilitar la extensión TFTP blocksize (tamaño de bloque)."
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Convertir a minúsculas los nombres de archivos TFTP"
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Rango de puertos efímeros para ser usados en transferencias TFTP."
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr "Log extra para DHCP."
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Habilitar registro asíncrono; opcionalmente fijar tamaño de cola."
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Detener revinculación DNS. Filtrar rangos de IP privados al resolver."
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Permitir revinculación de 127.0.0.0/8, para servidores RBL."
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Inhibir protección de revinculación DNS en este dominio."
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr "Siempre realizar búsquedas DNS a todos los servidores."
--#: option.c:415
-+#: option.c:432
- #, fuzzy
- msgid "Set tag if client includes matching option in request."
- msgstr "Fijar etiqueta si cliente incluye opción coincidente en pedido."
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr "Usar puertos alternativos para DHCP."
--#: option.c:417
-+#: option.c:434
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Especificar expediente DNS NAPTR."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Especificar puerto más bajo disponible para transmisión de búsquedas DNS."
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Usar solo nombres de dominio completamente calificados para clientes DHCP."
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generar hostnames basados en direcciones MAC para clientes sin nombre."
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr "Usar estos relays DHCP como proxies completos."
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Especificar nombre alias para nombre DNS LOCAL."
--#: option.c:424
-+#: option.c:441
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Aviso a ser enviado a clientes PXE."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr "Servicio de arranque para menú PXE."
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr "Revisar sintaxis de configuración."
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Añadir direcciones MAC de los peticionarios a los filtros DNS enviados"
--#: option.c:428
-+#: option.c:445
- #, fuzzy
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Añadir direcciones MAC de los peticionarios a los filtros DNS enviados"
--#: option.c:429
-+#: option.c:446
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Traducir direcciones IPv4 desde servidores subida."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Intento de instaurar direcciones IP secuenciales a cliente DHCP"
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Copiar la marca de connection-track desde los filtros a las conexiones salientes"
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Permite a clientes DHCP realizar sus propias actualizaciones DDNS"
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Enviar anuncios del router a los interfases realizando DHCPv6"
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Especificar un expediente MX."
--#: option.c:436
-+#: option.c:453
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Especificar expediente DNS TXT."
--#: option.c:437
-+#: option.c:454
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "interfase desconocida %s en bridge-interfase"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr "Exportar nombres DNS locales a globales"
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr "Dominio a exportar a DNS global"
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr "Fijar TTL para respuestas autoritarias"
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr "Fijar información de zona autoritaria"
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Nombres de servidor secundario autoritatorios para dominios enviados"
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Colegas autorizados a la zona de transferencia (transfer)"
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Especificar los ipsets coincidentes en dominio que debrían ser añadidos"
--#: option.c:445
-+#: option.c:462
- #, fuzzy
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Especificar dominio y rango de direcciones para los nombres acrónimos"
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr "Especificar prefijo de clase DHCPv6"
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -727,335 +760,335 @@ msgstr ""
- "Modo de uso: dnsmasq [opciones]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Usar opciones cortas solo en la línea de comandos.\n"
--#: option.c:665
-+#: option.c:684
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Opciones válidas son :\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "puerto erróneo"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr "vinculación de interfase no está soportado"
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- #, fuzzy
- msgid "bad interface name"
- msgstr "nombre de interfase erróneo"
--#: option.c:792
-+#: option.c:811
- #, fuzzy
- msgid "bad address"
- msgstr "dirección IP errónea"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "Encapsulación no soportada para opción IPv6"
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "opción dhcp-option errónea"
--#: option.c:1056
-+#: option.c:1075
- #, fuzzy
- msgid "bad IP address"
- msgstr "dirección IP errónea"
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "dirección IP errónea"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "dominio erróneo en dhcp-option"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "opción dhcp-option demasiado larga"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr "dhcp-match ilegal"
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr "opción repetida ilegal"
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr "palabra clave repetida ilegal"
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "no se puede acceder a directorio %s: %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "no se puede acceder %s: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr "la creación de un registro no es posible en Android"
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr "ubicación del registro errónea"
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "preferencia MX errónea"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "nombre MX erróneo"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "destino MX erróneo"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr "no se pueden correr archivos 'script' bajo uClinux"
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar guiónes de cambio de concesión"
--#: option.c:1687
-+#: option.c:1714
- #, fuzzy
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar 'scripts' en Lua"
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- #, fuzzy
- msgid "bad prefix"
- msgstr "prefijo erróneo"
--#: option.c:2289
-+#: option.c:2352
- #, fuzzy
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar directivas ipset"
--#: option.c:2469
-+#: option.c:2545
- #, fuzzy
- msgid "bad port range"
- msgstr "rango de puertos erróneo"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr "opción bridge-interface (interfase puente) errónea"
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr "solo una etiqueta permitida"
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "opción dhcp-range (rango DHCP) errónea"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "rango DHCP inconsistente"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "la longitud del prefijo debe ser 64 exacto para subredes RA"
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "la longitud del prefijo debe ser 64 exacto para subredes constructoras"
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr "la longitud del prefijo debe ser al menos 64"
--#: option.c:2660
-+#: option.c:2736
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "rango DHCP inconsistente"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "prefijo debe ser cero con argumento \"constructor:\""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- #, fuzzy
- msgid "bad hex constant"
- msgstr "constante hexadecimal errónea"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr "no coinciden etiquetas en --dhcp-host"
--#: option.c:2852
-+#: option.c:2928
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "dirección IP duplicada %s en %s."
--#: option.c:2910
-+#: option.c:2986
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nombre de host DHCP erróneo"
--#: option.c:2992
-+#: option.c:3068
- #, fuzzy
- msgid "bad tag-if"
- msgstr "etiqueta tag-if errónea"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "número de puerto inválido"
--#: option.c:3378
-+#: option.c:3454
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "dirección IP errónea"
--#: option.c:3404
-+#: option.c:3480
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "opción dhcp-range (rango DHCP) errónea"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr "DUID erróneo"
--#: option.c:3481
-+#: option.c:3557
- #, fuzzy
- msgid "invalid alias range"
- msgstr "rango alias inválido"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr "CNAME erróneo"
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr "CNAME duplicado"
--#: option.c:3560
-+#: option.c:3636
- #, fuzzy
- msgid "bad PTR record"
- msgstr "registro PTR erróneo"
--#: option.c:3591
-+#: option.c:3667
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "registro NAPTR erróneo"
--#: option.c:3625
-+#: option.c:3701
- #, fuzzy
- msgid "bad RR record"
- msgstr "registro PTR erróneo"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "registro TXT erróneo"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "registro SRV erróneo"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "destino SRV erróneo"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "prioridad inválida"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "peso inválido"
--#: option.c:3748
-+#: option.c:3824
- #, fuzzy
- msgid "Bad host-record"
- msgstr "registro PTR erróneo"
--#: option.c:3765
-+#: option.c:3841
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "nombre erróneo en %s"
--#: option.c:3826
-+#: option.c:3906
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "rango de puertos erróneo"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- #, fuzzy
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "opción no soportada (verificar que dnsmasq fue compilado con soporte para DHCP/TFTP/DBus)"
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "falta \""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "opción errónea"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "parámetro extraño"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "parámetro ausente"
--#: option.c:3972
-+#: option.c:4052
- #, fuzzy
- msgid "illegal option"
- msgstr "opción errónea"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "error"
--#: option.c:3981
-+#: option.c:4061
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s en línea %d de %%s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "no se puede leer %s: %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "lee %s"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "no se puede leer %s: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr "basura encontrada en linea de comando"
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Versión dnsmasq %s  %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1064,90 +1097,90 @@ msgstr ""
- "Opciones de compilación %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Este software viene SIN NINGUNA GARANTIA.\n"
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq es software libre, y usted está autorizado a redistribuirlo\n"
--#: option.c:4370
-+#: option.c:4464
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "bajo los términos de la GNU General Public License, versión 2 o 3.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr "pruebe --help"
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr "pruebe -w"
--#: option.c:4385
-+#: option.c:4479
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "opciones de línea de comandos erróneas: %s"
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "no se puede obtener host-name (nombre de host): %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "solo un archivo resolv.conf está permitido en modo no-poll."
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "debe haber exáctamente un resolv.conf desde donde leer dominio."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "no se pudo leer %s: %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "ninguna directiva de búsqueda encontrada en %s"
--#: option.c:4513
-+#: option.c:4614
- #, fuzzy
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "debe haber un dominio predeterminado cuando --dhcp-fqdn está fijado"
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr "revisión de sintaxis OK"
--#: forward.c:114
-+#: forward.c:111
- #, fuzzy, c-format
- msgid "failed to send packet: %s"
- msgstr "no se pudo escuchar en socket: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "servidor DNS %s rechazó realizar una búsqueda recursiva"
--#: forward.c:629
-+#: forward.c:627
- #, fuzzy, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "posible ataque de revinculación DNS detectado"
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Número máximo de búsquedas DNS simultáneas alcanzado. (%s por predeterminado)"
-@@ -1237,272 +1270,286 @@ msgstr "usando nombre de servidor %s#%d(v
- msgid "using nameserver %s#%d"
- msgstr "usando nombre de servidor %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+#, fuzzy
-+msgid "cannot use --conntrack AND --query-port"
- msgstr "No puede usar --conntrack AND --query-port"
--#: dnsmasq.c:173
-+#: dnsmasq.c:175
- #, fuzzy
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- #, fuzzy
- msgid "asychronous logging is not available under Solaris"
- msgstr "registro asíncrono no está disponible bajo Solaris"
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- #, fuzzy
- msgid "asychronous logging is not available under Android"
- msgstr "registro asíncrono no está disponible bajo Solaris"
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:193
-+#: dnsmasq.c:195
- #, fuzzy
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr "zona serie debe ser configurada en --auth-soa"
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr "constructor rango dhcp no disponible en esta plataforma"
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "no puede usar --bind-interfases y --bind-dynamic"
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "no se pudo encontrar lista de interfases: %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "interfase desconocida %s"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "error DBus: %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "usuario o grupo desconocido: %s"
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "no se puede cambiar directorio a raíz de sistema de archivos: %s"
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "iniciado, versión %s DNS deshabilitado"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "iniciado, versión %s tamaño de caché %d"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "iniciado, versión %s caché deshabilitado"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "opciones de compilación: %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "soporte DBus habilitado: conectado a bus de sistema"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "soporte DBus habilitado: conexión a bus pendiente"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "advertencia: no se pudo cambiar propietario de %s: %s"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "fijando opción --bind-interfases debido a limitaciones de sistema operativo"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "advertencia: interfase %s no existe actualmente"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "advertencia: ignorando opción resolv-file porque no-resolv está fijado"
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "advertencia: ningún servidor de subida configurado"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "registro asíncrono habilitado, el límite de la cola es %d mensajes"
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr "Anuncio de router IPv6 habilitado"
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr "root está "
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- #, fuzzy
- msgid "enabled"
- msgstr "habilitado"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr "modo seguro"
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "limitando número máximo de transferencias TFTP simultáneas a %d"
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "conectado a DBus de sistema"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "no se puede hacer fork en background: %s"
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "no se pudo crear ayudante: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, fuzzy, c-format
- msgid "setting capabilities failed: %s"
- msgstr "configuración de capacidades ha fallado: %s"
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "no se pudo cambiar user-id a %s: %s"
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "no se pudo cambiar group-id a %s: %s"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "no se pudo abrir archivo PID %s: %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "no se puede abrir registro %s: %s"
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "no se pudo cargar script Lua %s: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "directorio TFTP % inaccesible: %s"
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "no se puede abrir o crear archivo de concesión %s: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, fuzzy, c-format
- msgid "script process killed by signal %d"
- msgstr "proceso script eliminado por señal %d"
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, fuzzy, c-format
- msgid "script process exited with status %d"
- msgstr "proceso script salió con con estado %d"
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "no se pudo ejecutar %s: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "saliendo al recibir SIGTERM"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "no se pudo acceder %s: %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "leyendo %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "ningún servidor encontrado en %s, se reintentará"
-@@ -1542,27 +1589,27 @@ msgstr "interfase desconocida %s en bridge-interface"
- msgid "DHCP packet received on %s which has no address"
- msgstr "Paquete DHCP recibido en %s que no tiene dirección"
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "rango DHCP %s -- %s no coincide con máscara de subred %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, fuzzy, c-format
- msgid "bad line at %s line %d"
- msgstr "línea errónea en %s línea %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignorando %s línea %d, nombre o dirección IP duplicada"
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "DHCP relay %s -> %s"
-@@ -1633,12 +1680,12 @@ msgstr "%u Clase de usuario: %s"
- msgid "disabled"
- msgstr "deshabilitado"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "ignorado"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "dirección en uso"
-@@ -1658,7 +1705,7 @@ msgstr "ninguna direcci
- msgid "no leases left"
- msgstr "no sobra ninguna concesión"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, fuzzy, c-format
- msgid "%u client provides name: %s"
- msgstr "%u cliente provee nombre: %s"
-@@ -1667,7 +1714,7 @@ msgstr "%u cliente provee nombre: %s"
- msgid "PXE BIS not supported"
- msgstr "no hay soporte para BIS PXE"
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "deshabilitando dirección DHCP estática %s para %s"
-@@ -1703,7 +1750,7 @@ msgstr "ID de servidor equivocada"
- msgid "wrong address"
- msgstr "dirección equivocada"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "concesión no encontrada"
-@@ -1753,7 +1800,7 @@ msgstr "no se puede enviar opci
- msgid "PXE menu too large"
- msgstr "menú PXE demasiado largo"
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "%u opciones solicitadas: %s"
-@@ -1768,7 +1815,7 @@ msgstr "no se puede enviar opci
- msgid "cannot create netlink socket: %s"
- msgstr "no se puede crear zócalo netlink: %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, fuzzy, c-format
- msgid "netlink returns error: %s"
- msgstr "netlink retorna error: %s"
-@@ -1886,66 +1933,66 @@ msgstr "ning
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "%u Subred DHCP disponible: %s/%s"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, fuzzy, c-format
- msgid "%u vendor class: %u"
- msgstr "%u Clase de vendedor: %s"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, fuzzy, c-format
- msgid "%u client MAC address: %s"
- msgstr "%u cliente provee nombre: %s"
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, fuzzy, c-format
- msgid "unknown prefix-class %d"
- msgstr "clase de prefijo desconocida"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+#, fuzzy
-+msgid "address unavailable"
-+msgstr "dirección no disponible"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- #, fuzzy
- msgid "no addresses available"
- msgstr "ninguna dirección disponible"
--#: rfc3315.c:865
--#, fuzzy
--msgid "address unavailable"
--msgstr "dirección no disponible"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr "no en el enlace"
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr "uniones no encontradas"
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr "descartado"
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- #, fuzzy
- msgid "address invalid"
- msgstr "dirección en uso"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr "confirmación falló"
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "dirección errónea en %s línea %d"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr "concesión recibida"
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "No puede hacer multicast DHCPv6 sin el interfase correcto"
-@@ -2038,7 +2085,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "no se puede crear socket DHCP: %s"
--#: auth.c:429
-+#: auth.c:436
- #, fuzzy, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "pedido no-soportado desde %s"
-@@ -2053,54 +2100,89 @@ msgstr "no se pudo acoplar socket de servidor DHCP: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "no se pudo crear socket TFTP: %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "no se pudo abrir archivo PID %s: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, fuzzy, c-format
- msgid "failed to access pf devices: %s"
- msgstr "no se pudo acceder %s: %s"
--#: tables.c:119
-+#: tables.c:123
- #, fuzzy, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "usando direcciones locales solo para %s %s"
--#: tables.c:127
-+#: tables.c:131
- #, fuzzy, c-format
- msgid "error: cannot use table name %s"
- msgstr "no se puede obtener host-name (nombre de host): %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, fuzzy, c-format
- msgid "%d addresses %s"
- msgstr "dirección IP errónea"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "no se pudo crear ayudante: %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "no se puede abrir o crear archivo de concesión %s: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "no se pudo crear un zócalo de escucha: %s"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "no se puede acceder a directorio %s: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "no interface with address %s"
- #~ msgstr "ninguna interfase con dirección %s"
-diff --git a/po/fi.po b/po/fi.po
-index 36f430986e79..760b08107510 100644
---- a/po/fi.po
-+++ b/po/fi.po
-@@ -16,70 +16,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr ""
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr ""
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr ""
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -93,7 +93,7 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr ""
-@@ -107,990 +107,1018 @@ msgstr ""
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+#: option.c:346
-+msgid "Read DHCP host specs from a directory."
-+msgstr ""
-+
-+#: option.c:347
-+msgid "Read DHCP options from a directory."
-+msgstr ""
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:337
-+#: option.c:351
-+msgid "Read hosts files from a directory."
-+msgstr ""
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:362
-+#: option.c:377
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:364
-+#: option.c:379
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:371
-+#: option.c:386
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr ""
-+
-+#: option.c:387
-+msgid "Specify time-to-live floor for cache."
-+msgstr ""
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr ""
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr ""
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr ""
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr ""
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr ""
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr ""
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr ""
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr ""
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr ""
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr ""
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr ""
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr ""
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3826
-+#: option.c:3906
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr ""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr ""
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr ""
--#: option.c:3972
-+#: option.c:4052
- msgid "illegal option"
- msgstr ""
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr ""
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4045 option.c:4168 tftp.c:667
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
--msgid "cannot read %s: %s"
-+msgid "read %s"
- msgstr ""
--#: option.c:4229 option.c:4265
-+#: option.c:4139 option.c:4262 tftp.c:667
- #, c-format
--msgid "read %s"
-+msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4331
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1180,263 +1208,276 @@ msgstr ""
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:193
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+#: dnsmasq.c:195
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr ""
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1476,27 +1517,27 @@ msgstr ""
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1567,12 +1608,12 @@ msgstr ""
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr ""
-@@ -1592,7 +1633,7 @@ msgstr ""
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1601,7 +1642,7 @@ msgstr ""
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
-@@ -1637,7 +1678,7 @@ msgstr ""
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr ""
-@@ -1687,7 +1728,7 @@ msgstr ""
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
-@@ -1702,7 +1743,7 @@ msgstr ""
- msgid "cannot create netlink socket: %s"
- msgstr ""
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr ""
-@@ -1820,62 +1861,62 @@ msgstr ""
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr ""
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr ""
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr ""
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:791 rfc3315.c:913
--msgid "success"
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
--msgid "no addresses available"
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+msgid "success"
- msgstr ""
--#: rfc3315.c:865
--msgid "address unavailable"
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -1968,7 +2009,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -1983,50 +2024,85 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
-+#: dnssec.c:425 dnssec.c:469
-+#, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr ""
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, c-format
- msgid "failed to access pf devices: %s"
- msgstr ""
--#: tables.c:119
-+#: tables.c:123
- #, c-format
- msgid "warning: no opened pf devices %s"
- msgstr ""
--#: tables.c:127
-+#: tables.c:131
- #, c-format
- msgid "error: cannot use table name %s"
- msgstr ""
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, c-format
- msgid "%d addresses %s"
- msgstr ""
-+
-+#: inotify.c:46
-+#, c-format
-+msgid "failed to create inotify: %s"
-+msgstr ""
-+
-+#: inotify.c:60
-+#, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr ""
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr ""
-+
-+#: inotify.c:97
-+#, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr ""
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-diff --git a/po/fr.po b/po/fr.po
-index 1ac4848b9fa9..fbddad73887a 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -14,70 +14,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr "Impossible de charger les noms à partir de %s : %s"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "mauvaise adresse dans %s ligne %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "mauvais nom dans %s ligne %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "lecture %s - %d adresses"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "cache vidé"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr "Aucune adresse IPv4 trouvée pour %s"
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr "%s est un CNAME, il ne sera pas donné au bail DHCP de %s"
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "ne donne pas de nom %s au bail DHCP de %s parce-que le nom existe dans %s avec l'adresse %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr "horodatage %lu"
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "taille de cache %d, %d/%d insertions dans le cache entrées non-expirées réutilisées"
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr "requêtes transmises %u, requêtes résolues localement %u"
--#: cache.c:1372
-+#: cache.c:1427
- #, fuzzy, c-format
- msgid "queries for authoritative zones %u"
- msgstr "Configure la durée de vie (Time To Live) pour les réponses faisant autorité"
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr "serveur %s#%d: requêtes envoyées %u, requêtes réessayées ou échouées %u"
-@@ -91,7 +91,7 @@ msgstr "impossible d'initialiser le g
- msgid "failed to allocate memory"
- msgstr "impossible d'allouer la mémoire"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "impossible d'allouer de la mémoire"
-@@ -105,607 +105,642 @@ msgstr "Ne peut pas cr
- msgid "failed to allocate %d bytes"
- msgstr "impossible d'allouer %d octets"
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "illimité(e)"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Spécifie la ou les adresse(s) locales où le démon doit se mettre à l'écoute."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Retourne les adresses IP pour toutes les machines présentes dans les domaines spécifiés"
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Traduction inverse truquée pour la plage d'adresse privée RFC1918"
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Traite l'adresse IP comme un domaine inexistant NXDOMAIN (contourne le systeme de redirection de Verisign)"
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Spécifie le nombre d'entrées que contiendra le cache (par défaut : %s)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Spécifie le nom du fichier de configuration (par défaut : %s)"
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "Ne passe pas en tâche de fond : démarre en mode debug"
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "Ne retransmet pas les requêtes qui n'ont pas de domaine."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Retourne les champs MX pour les machines locales."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Etend les noms uniques des machines dans /etc/hosts avec le suffixe du domaine."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Ne retransmet pas les fausses requêtes DNS en provenance des machines Windows."
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Autorise DHCP dans la plage d'adresses donnée sur la durée de validité du bail."
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "On change pour ce groupe après le démarrage (par défaut : %s)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "On assigne une adresse ou un nom pour une machine spécifiée."
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr "Lecture des options DHCP à partir du fichier"
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "Lecture des options DHCP à partir du fichier"
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr "Expression d'évaluation conditionnelle d'étiquette"
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "Ne charge PAS le fichier %s."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Spécifie un nom de fichier hosts à lire en complément de %s"
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Spécifie la ou les interface(s) où le démon doit se mettre à l'écoute."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Spécifie la ou les interface(s) que le démon ne doit PAS traiter."
- #
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr "Associe les classes d'utilisateurs ('user class') DHCP aux options."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Associe les identifiants de circuits RFC3046 ('circuit-id') aux options"
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Associe les identifiants distants RFC3046 ('remote-id') aux options"
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Associe les identifiants de souscripteurs RFC3993 ('subscriber-id') aux options"
- #
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Ne pas autoriser DHCP pour les machines énumerées dans les options."
- #
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Forcer les réponses par 'broadcast' pour les machines énumerées dans les options."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "Ne passe pas en tâche de fond, ne pas s'exécuter en mode debug."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "On considère que l'on est le seul serveur DHCP sur le réseau local."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Spécifie où il faut sauvegarder les baux DHCP (par défaut : %s)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Retourne les champs MX pour les machines locales."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Spécifie un champ MX."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Spécifie les options BOOTP pour le serveur DHCP."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Ne pas scruter le fichier %s, ne recharger les modifications que sur réception du signal SIGHUP."
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "Ne place pas en cache le résultat des requêtes qui ont échouées."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Utilise les serveurs de noms dans l'ordre donné dans %s."
- #
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Options supplémentaires à associer aux clients DHCP."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Option DHCP envoyée même si le client de la demande pas."
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Spécifie le port où il faut écouter les requêtes DNS (par défaut : 53)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Taille maximale des paquets UDP supportés pour EDNS.0 (par défaut : %s)."
- #
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr "Enregistre les requêtes DNS dans un journal d'activité."
- #
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Force le port d'origine pour les requêtes vers les serveurs amonts."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "Ne pas lire le fichier resolv.conf."
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Spécifie le chemin pour le fichier resolv.conf (par défaut : %s)."
--#: option.c:362
-+#: option.c:377
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Spécifie un chemin pour le fichier PID (par défaut : %s)."
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Spécifie la ou les adresses des serveurs amonts avec des domaines optionels."
--#: option.c:364
-+#: option.c:379
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Spécifie la ou les adresses des serveurs amonts avec des domaines optionels."
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Ne jamais retransmettre les requêtes pour les domaines spécifiés."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Spécifie le domaine qui doit etre assigné aux baux DHCP."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Spécifie la cible par défaut dans un champ MX."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
- #
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Spécifie, en secondes, la valeur maximum de TTL à renvoyer aux clients."
--#: option.c:371
-+#
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
-+
-+#
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Change pour cet utilisateur après le démarrage (par défaut : %s)."
- #
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr "Associe les classes de fournisseurs ('vendor class') DHCP aux options."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Affiche la version de Dnsmasq et les informations liées au copyright."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traduit les adresses IPV4 des serveurs amonts."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Spécifie un champ SRV."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Afficher ce message. Utiliser --help dhcp pour obtenir la liste des options DHCP connues."
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Spécifie un chemin pour le fichier PID (par défaut : %s)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Spécifie le nombre maximum de baux DHCP (par défaut : %s)."
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Repond aux requêtes DNS en se basant sur l'interface ou a été envoyée la requête."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Spécifie un champ DNS TXT"
- #
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr "Spécifie un champ DNS PTR"
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Donne le nom DNS pour l'adresse IPv4 de l'interface."
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Association uniquement aux interfaces réseau actuellement actives."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Lecture des informations de DHCP statique à partir de %s."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Autorise l'interface DBus pour la configuration des serveurs amonts, etc."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Ne pas assurer de fonction DHCP sur cette interface, mais seulement la fonction DNS."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Autorise l'allocation dynamique d'adresse pour bootp."
- #
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Associe l'adresse MAC (avec les jokers) aux options."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Traiter les requêtes DHCP sur les alias comme arrivant de l'interface."
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Supprime la vérification d'adresse sur le serveur au moyen de paquets ICMP echo"
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Script shell à exécuter lors de la création ou destruction de bail DHCP."
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Script Lua à exécuter lors de la création ou destruction de bail DHCP."
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr "Lancer le script 'lease-change' avec cet utilisateur."
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr "Lecture de la configuration dans tous les fichiers de ce répertoire."
- #
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Enregistrer les journaux d'activité dans cette facilité syslog. (défaut : DAEMON)"
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr "Ne pas utiliser de fichier de baux."
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Spécifie le nombre maximum de requêtes DHCP concurrentes (par défaut : %s)."
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Vider le cache DNS lors du rechargement de %s."
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Ignorer les noms d'hôtes fournis par les clients DHCP"
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Ne pas réutiliser les champs nom de fichier et serveur dans les options DHCP supplémentaires."
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr "Activer le server TFTP intégré (fonctionnant en lecture seulement)"
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "N'exporter par TFTP que les fichiers de l'arborescence de fichier spécifiée"
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr "Ajouter les adresses IP clientes à la racine tftp ('tftp-root')."
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Accès aux seuls fichiers appartenants à l'utilisateur sous lequel tourne dnsmasq"
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Spécifie le nombre maximum de transfert TFTP concurrents (défaut : %s)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr "Désactivation de l'extension TFTP « taille de bloc »"
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Convertis les noms de fichiers TFTP en minuscule"
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Gamme de ports dans laquelle seront choisis les ports temporaires utilisés dans les transferts TFTP."
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr "Traces supplémentaires pour le DHCP."
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Active l'écriture de traces en mode asynchrone. Peut prendre en option la valeur de la longueur de la queue."
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Stopper la réassociation DNS ('DNS rebinding'). Filtre les gammes d'adresses IP privées lors de la résolution."
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Autorise la réassociation de 127.0.0/8, pour les serveurs RBL (Realtime Blackhole List)"
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Désactive la protection contre les réassociation DNS pour ce domaine"
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr "Toujours effectuer les requêtes DNS à tous les serveurs."
- #
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr "Spécifie le label si le client inclus l'option dans la requête."
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr "Utiliser des ports alternatifs pour le DHCP."
- #
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr "Spécifie un champ DNS NAPTR."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Définie le plus petit port utilisé pour la transmission d'une requête DNS."
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Utilise seulement les noms de domaine pleinement qualifiés pour les clients DHCP."
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Génère les noms d'hôtes à partir de l'adresse MAC pour les clients sans nom."
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr "Utilise ces relais DHCP en temps que proxy complets."
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr "Requêtes de relais DHCP à un serveur distant"
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Spécifie un alias pour un nom DNS local."
- #
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr "Invite à envoyer aux clients PXE."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr "Service de démarrage pour menu PXE."
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr "vérification de la syntaxe de la configuration."
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises"
--#: option.c:428
-+#: option.c:445
- #, fuzzy
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises"
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Copie dans la réponse DNS le résultat de la validation DNSSEC effectuée par les serveurs DNS amonts."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Essaie d'allouer des adresses IP séquentielles aux clients DHCP."
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Copie les marques de suivi de connexion pour les requêtes amont."
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Autoriser les clients DHCP à faire leurs propres mises à jour DDNS (Dynamic DNS)"
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Envoyer des annonces de routeurs pour toutes les interfaces faisant du DHCPv6"
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Spécifie pour le serveur DHCPv6 un identifiant unique DHCP (DUID) basé sur un numéro unique de vendeur (DUID_EN)"
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spécifie les enregistrements (A/AAAA et PTR) d'un hôte."
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr "Définie une resource DNS d'un type spécifique"
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Se lie aux interfaces préexistantes - vérifie l'apparition de nouvelles interfaces"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr "Exporte les noms locaux dans le DNS global"
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr "Domaine à exporter dans le DNS global"
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr "Configure la durée de vie (Time To Live) pour les réponses faisant autorité"
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr "Configure les informations pour une zone de nom faisant autorité"
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Serveurs de noms secondaires faisant autorité pour les domaines délégués"
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Pairs autorisés à faire des transferts de zone"
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Spécifie les ipsets auxquels les domaines correspondants doivent-être ajoutés"
--#: option.c:445
-+#: option.c:462
- #, fuzzy
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Spécifie un domaine et une plage d'adresses pour les noms auto-générés"
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr "Spécifie le préfixe de classe DHCPv6"
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -714,328 +749,328 @@ msgstr ""
- "Usage : dnsmasq [options]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Utilisez les options courtes uniquement sur la ligne de commande.\n"
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Les options valides sont :\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "numéro de port incorrect"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr "association d'interface non supportée"
- #
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr "nom d'interface invalide"
- #
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr "mauvaise adresse"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "encapsulation d'option non supportée pour IPv6"
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "mauvaise valeur de 'dhcp-option'"
- #
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr "mauvaise adresse IP"
- #
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr "mauvaise adresse IPv6"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "mauvais domaine dans dhcp-option"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "dhcp-option trop long"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr "valeur illégale pour 'dhcp-match'"
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr "Une option ne pouvant être spécifié qu'une seule fois à été donnée plusieurs fois"
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr "Mot-clef ne pouvant être répété"
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "Ne peut pas lire le répertoire %s : %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "Ne peut pas lire %s : %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr "Sous android, impossible de positionner la cible (facility) pour les traces (logs)."
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr "Mauvaise cible (facility) pour les traces."
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "préference MX incorrecte"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "nom MX incorrect"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "valeur MX cible incorrecte"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr "ne peut exécuter de script sous uClinux"
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "recompiler en définissant HAVE_SCRIPT pour permettre l'exécution de scripts shell au changement de bail (lease-change)"
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "recompiler en définissant HAVE_LUASCRIPT pour permettre l'exécution de scripts LUA au changement de bail (lease-change)"
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr "mauvais préfixe"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "recompiler en définissant HAVE_IPSET pour permettre l'utilisation de directives de groupes d'IP (IPset)"
- #
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr "gamme de ports incorrecte"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr "interface-pont incorrecte"
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr "une seule étiquette est autorisée"
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "plage d'adresses DHCP (dhcp-range) incorrecte"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "plage d'adresses DHCP incohérente"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "la taille du préfixe doit être exactement 64 pour les sous-réseaux d'annonces de routeurs (RA)"
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "la taille du préfixe doit être exactement 64 pour le constructeur de sous-réseaux"
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr "la taille de préfixe doit être au minimum 64"
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr "plage d'adresses DHCPv6 incohérente"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "le préfixe doit avoir une taille de 0 lorsque l'argument \"constructor:\" est utilisé"
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr "mauvaise constante hexadecimale"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr "L'utilisation de labels est prohibée dans --dhcp-host"
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "adresse IP dhcp-host dupliquée dans %s."
- #
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr "nom d'hôte DHCP incorrect"
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr "mauvaise étiquette tag-if"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "numéro de port invalide"
- #
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr "adresse dhcp-proxy incorrecte"
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr "valeur incorrecte pour le relais DHCP (dhcp-relay)"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr "mauvais identifiant unique DHCP (DUID)"
- #
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr "poids invalide"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr "mauvais CNAME"
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr "ce CNAME existe déja"
- #
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr "mauvais champ PTR"
- #
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr "mauvais champ NAPTR"
- #
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr "mauvais enregistrement RR"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "champ TXT invalide"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "champ SRV invalide"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "cible SRV invalide"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "priorité invalide"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "poids invalide"
- #
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr "mauvais champ host-record"
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr "mauvais nom dans le champ host-record"
- #
--#: option.c:3826
-+#: option.c:3906
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "gamme de ports incorrecte"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- #, fuzzy
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "option non supportée (vérifier que Dnsmasq a été compilé avec le support DHCP/TFTP/DBus)"
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "il manque \""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "mauvaise option"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "paramètre en trop"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "paramètre manquant"
--#: option.c:3972
-+#: option.c:4052
- #, fuzzy
- msgid "illegal option"
- msgstr "mauvaise option"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "erreur"
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr "à la ligne %d de %s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "Ne peut pas lire %s : %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
- msgid "read %s"
- msgstr "Lecture de %s"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "Ne peut pas lire %s : %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr "la ligne de commande contient des éléments indésirables ou incompréhensibles"
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Version de Dnsmasq %s  %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1044,89 +1079,89 @@ msgstr ""
- "Options à la compilation %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Ce logiciel est fourni sans AUCUNE GARANTIE.\n"
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq est un logiciel libre, il vous est permis de le redistribuer\n"
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "sous les termes de la licence GPL (GNU General Public License), version 2 ou 3.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr "essayez avec --help"
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr "essayez avec -w"
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr "mauvaises options en ligne de commande : %s."
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "ne peut pas obtenir le nom de la machine : %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "seul un fichier resolv.conf est autorisé dans le mode no-poll"
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "un fichier resolv.conf (et un seul) est nécessaire pour y récuperer le nom de domaine."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "impossible de lire %s : %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "pas de directive de recherche trouvée dans %s"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "un domaine par défaut doit être spécifié lorsque l'option --dhcp-fqdn est utilisée"
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr "vérification de syntaxe OK"
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr "impossible d'envoyer le paquet : %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "le serveur de nom %s a refusé de faire une recherche récursive"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "détection d'une possible attaque de type DNS-rebind: %s"
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Nombre maximum de requêtes DNS concurrentes atteint (maximum : %d)."
-@@ -1216,271 +1251,286 @@ msgstr "utilise le serveur de nom %s#%d (via %s)"
- msgid "using nameserver %s#%d"
- msgstr "utilise le serveur de nom %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h"
- #
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+#, fuzzy
-+msgid "cannot use --conntrack AND --query-port"
- msgstr "impossible d'utiliser conjointement --conntrack et --query-port"
- #
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+#, fuzzy
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Support de suivi de connexion non disponible : activez HAVE_CONNTRACK dans src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Solaris."
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Android."
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "le mode « autorité DNS » n'est pas disponible : activez HAVE_AUTH dans src/config.h"
- #
--#: dnsmasq.c:193
-+#: dnsmasq.c:195
- #, fuzzy
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr "le numéro de série de la zone doit être configuré dans --auth-soa"
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr "le constructeur de plage dhcp n'est pas disponible sur cette plate-forme"
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "--bind-interfaces et --bind-dynamic sont mutuellement exclusives"
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "impossible de trouver la liste des interfaces : %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "interface %s inconnue"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "Erreur DBus : %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "utilisateur ou groupe inconnu : %s"
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "Ne peut effectuer un 'chdir' à la racine du système de fichier : %s"
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "démarrage avec le DNS désactivé (version %s)"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "demarré, version %s (taille de cache %d)"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "démarrage avec le cache désactivé (version %s)"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "options à la compilation : %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "Support DBus autorisé : connecté au bus système"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "Support DBus autorisé : connexion au bus en attente"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "Impossible de changer pour l'utilisateur %s : %s"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "active l'option --bind-interfaces à cause de limitations dans le système d'exploitation"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "attention : l'interface %s n'existe pas actuellement"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "attention : l'option « resolv-file » sera ignorée car « no-resolv » a été spécifié"
- #
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr "attention : aucun serveur amont n'est configuré"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "mode asynchrone d'écriture de traces, la taille maximum de la queue est de %d messages."
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr "annonces de routeur IPv6 activées"
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr "root est"
- #
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr "activé"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr "mode sécurisé"
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "le nombre maximum de transferts TFTP simultanés sera restreint à %d"
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "connecté au systeme DBus"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "Ne peut se lancer en tâche de fond : %s"
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "impossible de créer le 'helper' : %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "impossible de configurer la capacité %s"
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s"
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "Impossible de changer l'identifiant de groupe pour %s : %s"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "impossible de lire le fichier de PID %s : %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "Ne peut ouvrir le fichier de log %s : %s"
- #
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "impossible de charger le script Lua : %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "répertoire TFTP %s inaccessible : %s"
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "ne peut ouvrir ou créer le fichiers de baux %s : %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "Le script a été terminé par le signal %d"
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr "Le script s'est terminé avec le statut %d"
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "impossible d'exécuter à %s : %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "sortie sur réception du signal SIGTERM"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "impossible d'accéder à %s : %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "Lecture de %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "aucun serveur trouvé dans %s, va réessayer"
-@@ -1520,27 +1570,27 @@ msgstr "interface %s inconnue sp
- msgid "DHCP packet received on %s which has no address"
- msgstr "Paquet DHCP reçu sur %s qui n'a pas d'adresse"
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "La plage d'adresses DHCP %s -- %s n'est pas cohérente avec le masque de réseau %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "mauvaise ligne dans %s ligne %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignore %s à la ligne %d : duplication de nom ou d'adresse IP"
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "Relais DHCP %s -> %s"
-@@ -1611,12 +1661,12 @@ msgstr "%u Classe d'utilisateur : %s"
- msgid "disabled"
- msgstr "désactivé"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "ignoré"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "adresse déjà utilisée"
-@@ -1636,7 +1686,7 @@ msgstr "pas d'adresse configur
- msgid "no leases left"
- msgstr "plus aucun bail disponible"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "le client %u fourni le nom : %s"
-@@ -1645,7 +1695,7 @@ msgstr "le client %u fourni le nom : %s"
- msgid "PXE BIS not supported"
- msgstr "Service PXE BIS (Boot Integrity Services) non supporté"
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "désactive l'adresse statique DHCP %s pour %s"
-@@ -1681,7 +1731,7 @@ msgstr "mauvais identifiant de serveur"
- msgid "wrong address"
- msgstr "mauvaise adresse"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "bail non trouvé"
-@@ -1731,7 +1781,7 @@ msgstr "Impossible d'envoyer l'option DHCP/BOOTP %d : pas assez d'espace dans le
- msgid "PXE menu too large"
- msgstr "menu PXE trop grand"
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u options demandées : %s"
-@@ -1746,7 +1796,7 @@ msgstr "ne peux envoyer l'option RFC3925 : trop d'options pour le num
- msgid "cannot create netlink socket: %s"
- msgstr "ne peux lier une socket netlink : %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr "Erreur netlink : %s"
-@@ -1864,62 +1914,62 @@ msgstr "pas de plage d'adresse disponible pour la requ
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "%u sous-réseaux DHCPv6 disponibles : %s/%d"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr "%u Classe de vendeur ('Vendor Class') : %u"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr "%u MAC adresse du client : %s"
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr "préfixe de classe inconnu %d"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
-+msgstr "adresse non disponible"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr "réussi"
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- msgid "no addresses available"
- msgstr "pas d'adresse disponible"
--#: rfc3315.c:865
--msgid "address unavailable"
--msgstr "adresse non disponible"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr "pas sur ce lien"
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr "aucune liaison trouvée"
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr "obsolète"
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr "adresse non valide"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr "confirmation d'échec"
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr "toutes les adresses sont toujours sur le lien"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr "libération reçue"
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Impossible de faire du multicast au server DHCPv6 sans interface valide"
-@@ -2012,7 +2062,7 @@ msgstr "Relais DHCP de %s 
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "ne peut créer la socket ICMPv6: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "la requête de transfert de zone en provenance de %s est ignorée"
-@@ -2027,55 +2077,90 @@ msgstr "impossible de trouver la version de noyau : %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "impossible de créer une socket de contrôle IPset : %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "impossible de lire le fichier de PID %s : %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, fuzzy, c-format
- msgid "failed to access pf devices: %s"
- msgstr "impossible d'accéder à %s : %s"
--#: tables.c:119
-+#: tables.c:123
- #, fuzzy, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "utilise les adresses locales seulement pour %s %s"
--#: tables.c:127
-+#: tables.c:131
- #, fuzzy, c-format
- msgid "error: cannot use table name %s"
- msgstr "ne peut pas obtenir le nom de la machine : %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
- #
--#: tables.c:162
-+#: tables.c:166
- #, fuzzy, c-format
- msgid "%d addresses %s"
- msgstr "mauvaise adresse"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "impossible de créer le 'helper' : %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "ne peut ouvrir ou créer le fichiers de baux %s : %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "impossible de créer une socket d'écoute pour %s : %s"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "Ne peut pas lire le répertoire %s : %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "Always send frequent router-advertisements"
- #~ msgstr "Envoyer des annonces de routeurs fréquentes"
-diff --git a/po/id.po b/po/id.po
-index b1809b695168..a0ff0f062e8b 100644
---- a/po/id.po
-+++ b/po/id.po
-@@ -15,77 +15,77 @@ msgstr ""
- "Content-Type: text/plain; charset=ASCII\n"
- "Content-Transfer-Encoding: 8bit\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
- # OK
--#: cache.c:908
-+#: cache.c:941
- #, fuzzy, c-format
- msgid "failed to load names from %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, fuzzy, c-format
- msgid "bad address at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
- # OK
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
- # OK
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "membaca %s - %d alamat"
- # OK
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "cache telah dihapus"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
- # OK
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "tidak memberikan nama %s kepada lease DHCP %s karena nama telah ada dalam %sdengan alamat %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
- # OK
--#: cache.c:1367
-+#: cache.c:1422
- #, fuzzy, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "ukuran cache %d, %d/%d penyisipan cache menimpa cache yang belum kadaluwarsa"
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -103,7 +103,7 @@ msgid "failed to allocate memory"
- msgstr "gagal memuat %S: %m"
- # OK
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "tidak bisa mendapatkan memory"
-@@ -120,682 +120,720 @@ msgid "failed to allocate %d bytes"
- msgstr "gagal memuat %S: %m"
- # OK
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "tak terbatas"
- # OK
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Tentukan alamat lokal untuk mendengarkan."
- # OK
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Menghasilkan ipaddr untuk semua host dalam domain yang dipilih."
- # OK
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Fake pencarian balik untuk alamat private sesuai dengan RFC1918."
- # OK
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Perlakukan ipaddr sebagai NXDOMAIN (mengalahkan wildcard Verisign)."
- # OK
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Tentukan ukuran cache, dalam jumlah isian (default %s)."
- # OK
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Tentukan file konfigurasi (default %s)."
- # OK
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "JANGAN berjalan di background: berjalan dalam modus debug."
- # OK
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "JANGAN teruskan permintaan tanpa bagian domain."
- # OK
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Mengembalikan record MX untuk diri sendiri host-host lokal."
- # OK
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Melengkapi nama-nama di /etc/hosts dengan akhiran domain."
- # OK
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Jangan meneruskan permintaan DNS spurious dari host-host Windows."
- # OK
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Bolehkan DHCP dalam jangkauan yang diberikan dengan durasi lease."
- # OK
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Ubah ke group ini setelah mulai (default %s)."
- # OK
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Setel alamat atau nama host untuk mesin yang disebutkan."
- # OK
--#: option.c:332
-+#: option.c:344
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "nama MX salah"
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+# OK
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "nama MX salah"
-+
-+# OK
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "nama MX salah"
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
- # OK
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "JANGAN muat file %s."
- # OK
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Sebutkan sebuah file hosts yang harus dibaca sebagai tambahan untuk %s."
- # OK
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "nama MX salah"
-+
-+# OK
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Sebutkan antarmuka untuk mendengarkan."
- # OK
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Sebutkan antarmuka untuk TIDAK mendengarkan."
- # OK
--#: option.c:339
-+#: option.c:354
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Petakan kelas user DHCP ke setelan yang dipilih."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
- # OK
--#: option.c:343
-+#: option.c:358
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih."
- # OK
--#: option.c:344
-+#: option.c:359
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih."
- # OK
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "JANGAN berjalan di background, jangan berjalan dalam modus debug."
- # OK
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Berpikir bahwa kita satu-satunya DHCP server dalam jaringan."
- # OK
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Sebutkan lokasi untuk menyimpan lease DHCP (default %s)."
- # OK
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Kembalikan rekord MX untuk host-host lokal."
- # OK
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Sebutkan sebuah rekord MX."
- # OK
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Sebutkan pilihan-pilihan BOOTP untuk DHCP server."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Jangan kumpulkan file %s, muat kembali saat SIGHUP."
- # OK
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "JANGAN menyimpan hasil pencarian yang gagal."
- # OK
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Gunakan secara ketat namaserver yang disebutkan sesuai urutan di %s."
- # OK
--#: option.c:354
-+#: option.c:369
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
- # OK
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Sebutkan port untuk mendengarkan permintaan DNS (default port 53)."
- # OK
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Ukuran maksimum paket UDP yang didukung untuk EDNS.0 (default %s)."
- # OK
--#: option.c:358
-+#: option.c:373
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Permintaan log."
- # OK
--#: option.c:359
-+#: option.c:374
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Paksa port asal untuk permintaan ke atas."
- # OK
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "JANGAN baca resolv.conf."
- # OK
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Sebutkan path ke resolv.conf (default %s)."
- # OK
--#: option.c:362
-+#: option.c:377
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Sebutkan path file PID. (default %s)."
- # OK
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Sebutkan alamat-alamat server di atas, boleh dilengkapi dengan nama domain."
- # OK
--#: option.c:364
-+#: option.c:379
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Sebutkan alamat-alamat server di atas, boleh dilengkapi dengan nama domain."
- # OK
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "JANGAN pernah meneruskan permintaan ke domain yang disebutkan."
- # OK
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Sebutkan domain yang digunakan dalam lease DHCP."
- # OK
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Sebutkan tujuan default dalam rekord MX."
- # OK
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:369
-+#: option.c:384
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:370
-+#: option.c:385
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
-+
-+# OK
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
-+
-+# OK
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Ubah ke user ini setelah mulai. (default %s)."
- # OK
--#: option.c:372
-+#: option.c:389
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Memetakan kelas vendor DHCP ke daftar pilihan."
- # OK
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Menampilkan versi dan informasi hak cipta dnsmasq."
- # OK
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas."
- # OK
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Sebutkan rekord SRV."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
- # OK
--#: option.c:377
-+#: option.c:394
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Sebutkan path file PID. (default %s)."
- # OK
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
- # OK
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Jawab permintaan DNS berdasarkan antarmuka dimana permintaan dikirimkan."
- # OK
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Sebutkan rekord TXT DNS."
- # OK
--#: option.c:381
-+#: option.c:398
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Sebutkan rekord TXT DNS."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
- # OK
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Hanya kaitkan ke antarmuka yang sedang digunakan saja."
- # OK
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Baca informasi statik host DHCP dari %s."
- # OK
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Mungkinkan antar muka DBus untuk menyetel server-server di atas, dsb."
- # OK
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "JANGAN menyediakan DHCP pada antarmuka ini, hanya menyediakan DNS."
- # OK
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Mungkinkan alokasi alamat dinamis untuk bootp."
- # OK
--#: option.c:388
-+#: option.c:405
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Memetakan kelas vendor DHCP ke daftar pilihan."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
- # OK
--#: option.c:395
-+#: option.c:412
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Ubah ke user ini setelah mulai. (default %s)."
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
- # OK
--#: option.c:397
-+#: option.c:414
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
- # OK
--#: option.c:405
-+#: option.c:422
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
- # OK
--#: option.c:417
-+#: option.c:434
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Sebutkan rekord TXT DNS."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
- # OK
--#: option.c:424
-+#: option.c:441
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
- # OK
--#: option.c:429
-+#: option.c:446
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
- # OK
--#: option.c:435
-+#: option.c:452
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Sebutkan sebuah rekord MX."
- # OK
--#: option.c:436
-+#: option.c:453
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Sebutkan rekord TXT DNS."
- # OK
--#: option.c:437
-+#: option.c:454
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "antarmuka tidak dikenal %s"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
- # OK
--#: option.c:661
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -805,381 +843,381 @@ msgstr ""
- "\n"
- # OK
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Gunakan pilihan pendek saja pada perintah baris.\n"
- # OK
--#: option.c:665
-+#: option.c:684
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Pilihan yang boleh adalah:\n"
- # OK
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "port salah"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
- # OK
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- #, fuzzy
- msgid "bad interface name"
- msgstr "nama MX salah"
- # OK
--#: option.c:792
-+#: option.c:811
- #, fuzzy
- msgid "bad address"
- msgstr "membaca %s - %d alamat"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
- # OK
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "dhcp-option salah"
- # OK
--#: option.c:1056
-+#: option.c:1075
- #, fuzzy
- msgid "bad IP address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "domain dalam dhcp-option salah"
- # OK
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "dhcp-option terlalu panjang"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
- # OK
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "tidak bisa membaca %s: %s"
- # OK
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "tidak bisa membaca %s: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
- # OK
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "kesukaan MX salah"
- # OK
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "nama MX salah"
- # OK
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "target MX salah"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
- # OK
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- #, fuzzy
- msgid "bad prefix"
- msgstr "port salah"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
- # OK
--#: option.c:2469
-+#: option.c:2545
- #, fuzzy
- msgid "bad port range"
- msgstr "port salah"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
- # OK
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "dhcp-range salah"
- # OK
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "jangkauan DHCP tidak konsisten"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
- # OK
--#: option.c:2660
-+#: option.c:2736
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "jangkauan DHCP tidak konsisten"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
- # OK
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dhcp-host salah"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
- # OK
--#: option.c:2852
-+#: option.c:2928
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "alamat IP kembar %s dalam direktif dhcp-config"
- # OK
--#: option.c:2910
-+#: option.c:2986
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nama MX salah"
- # OK
--#: option.c:2992
-+#: option.c:3068
- #, fuzzy
- msgid "bad tag-if"
- msgstr "target MX salah"
- # OK
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "nomor port tidak benar"
- # OK
--#: option.c:3378
-+#: option.c:3454
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:3404
-+#: option.c:3480
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dhcp-range salah"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
- # OK
--#: option.c:3481
-+#: option.c:3557
- #, fuzzy
- msgid "invalid alias range"
- msgstr "weight tidak benar"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
- # OK
--#: option.c:3560
-+#: option.c:3636
- #, fuzzy
- msgid "bad PTR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3591
-+#: option.c:3667
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3625
-+#: option.c:3701
- #, fuzzy
- msgid "bad RR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "rekord TXT salah"
- # OK
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "target SRV salah"
- # OK
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "prioritas tidak benar"
- # OK
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "weight tidak benar"
- # OK
--#: option.c:3748
-+#: option.c:3824
- #, fuzzy
- msgid "Bad host-record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3765
-+#: option.c:3841
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "kesalahan nama di %s"
- # OK
--#: option.c:3826
-+#: option.c:3906
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "port salah"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
- # OK
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "kurang \""
- # OK
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "pilihan salah"
- # OK
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "parameter berlebihan"
- # OK
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "parameter kurang"
- # OK
--#: option.c:3972
-+#: option.c:4052
- #, fuzzy
- msgid "illegal option"
- msgstr "pilihan salah"
- # OK
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "kesalahan"
- # OK
--#: option.c:3981
-+#: option.c:4061
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s pada baris %d dari %%s"
- # OK
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "tidak bisa membaca %s: %s"
--
--# OK
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "membaca %s"
--#: option.c:4331
-+# OK
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "tidak bisa membaca %s: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
- # OK
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq versi %s  %s\n"
- # OK
--#: option.c:4367
-+#: option.c:4461
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1189,100 +1227,100 @@ msgstr ""
- "\n"
- # OK
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n"
- # OK
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsdmasq adalah perangkat lunak bebas, dan Anda dipersilahkan untuk membagikannya\n"
- # OK
--#: option.c:4370
-+#: option.c:4464
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "dengan aturan GNU General Public License, versi 2.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
- # OK
--#: option.c:4385
-+#: option.c:4479
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "pilihan baris perintah salah: %s."
- # OK
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "tidak bisa mendapatkan host-name: %s"
- # OK
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "hanya satu file resolv.conf yang diperbolehkan dalam modus no-poll."
- # OK
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "harus mempunyai tepat satu resolv.conf untuk mendapatkan nama domain."
- # OK
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "gagal membaca %s: %s"
- # OK
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "tidak ditemukan direktif search di %s"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
- # OK
--#: forward.c:114
-+#: forward.c:111
- #, fuzzy, c-format
- msgid "failed to send packet: %s"
- msgstr "gagal mendengarkan di socket: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
- # OK
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "nameserver %s menolak melakukan resolusi rekursif"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
- # OK
--#: forward.c:2101
-+#: forward.c:2178
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
-@@ -1385,301 +1423,315 @@ msgstr "menggunakan nameserver %s#%d"
- msgid "using nameserver %s#%d"
- msgstr "menggunakan nameserver %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--# OK
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+# OK
-+#: dnsmasq.c:161
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
- # OK
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
- # OK
--#: dnsmasq.c:173
-+#: dnsmasq.c:175
- #, fuzzy
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
- # OK
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
- # OK
--#: dnsmasq.c:193
-+#: dnsmasq.c:195
- #, fuzzy
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
- # OK
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "gagal mendapatkan daftar antarmuka: %s"
- # OK
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "antarmuka tidak dikenal %s"
- # OK
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus error: %s"
- # OK
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "dimulai, cache versi %s di disable"
- # OK
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "dimulai, versi %s ukuran cache %d"
- # OK
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "dimulai, cache versi %s di disable"
- # OK
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "pilihan-pilihan saat kompilasi: %s"
- # OK
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "dukungan DBus dimungkinkan: terkoneksi pada bus sistem"
- # OK
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "dukungan DBus dimungkinkan: koneksi bus ditunda"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
- # OK
--#: dnsmasq.c:684
-+#: dnsmasq.c:713
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS"
- # OK
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "peringatan: antarmuka %s tidak ada"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
- # OK
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "menyetel server-server di atas dengan DBus"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
- # OK
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- #, fuzzy
- msgid "enabled"
- msgstr "di disable"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
- # OK
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "terhubung ke sistem DBus"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "gagal membaca %s: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "gagal membaca %s: %s"
- # OK
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "tidak bisa membuka %s:%s"
- # OK
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "gagal memuat %S: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+# OK
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "tidak dapat membuka atau membuat file lease: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
- # OK
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "gagal mengakses %s: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "keluar karena menerima SIGTERM"
- # OK
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "gagal mengakses %s: %s"
- # OK
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "membaca %s"
- # OK
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "tidak ditemukan direktif search di %s"
-@@ -1725,29 +1777,29 @@ msgstr "antarmuka tidak dikenal %s"
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
- # OK
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "jangkauan DHCP %s -- %s tidak konsisten dengan netmask %s"
- # OK
--#: dhcp.c:807
-+#: dhcp.c:812
- #, fuzzy, c-format
- msgid "bad line at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1830,13 +1882,13 @@ msgid "disabled"
- msgstr "di disable"
- # OK
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "diabaikan"
- # OK
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "alamat telah digunakan"
-@@ -1860,7 +1912,7 @@ msgstr "tak ada alamat yang disetel"
- msgid "no leases left"
- msgstr "tak ada lease yang tersisa"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1870,7 +1922,7 @@ msgid "PXE BIS not supported"
- msgstr ""
- # OK
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "men-disable alamat statik DHCP %s"
-@@ -1909,7 +1961,7 @@ msgid "wrong address"
- msgstr "alamat salah"
- # OK
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "lease tak ditemukan"
-@@ -1965,7 +2017,7 @@ msgid "PXE menu too large"
- msgstr ""
- # OK
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "pilihan-pilihan saat kompilasi: %s"
-@@ -1982,7 +2034,7 @@ msgid "cannot create netlink socket: %s"
- msgstr "tidak bisa mem-bind netlink socket: %s"
- # OK
--#: netlink.c:347
-+#: netlink.c:348
- #, fuzzy, c-format
- msgid "netlink returns error: %s"
- msgstr "DBus error: %s"
-@@ -2116,72 +2168,72 @@ msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
- # OK
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, fuzzy, c-format
- msgid "%u vendor class: %u"
- msgstr "DBus error: %s"
- # OK
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, fuzzy, c-format
- msgid "%u client MAC address: %s"
- msgstr "tidak ada antarmuka dengan alamat %s"
- # OK
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, fuzzy, c-format
- msgid "unknown prefix-class %d"
- msgstr "lease tidak diketahui"
--#: rfc3315.c:791 rfc3315.c:913
-+# OK
-+#: rfc3315.c:803 rfc3315.c:902
-+#, fuzzy
-+msgid "address unavailable"
-+msgstr "alamat tak tersedia"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr ""
- # OK
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- #, fuzzy
- msgid "no addresses available"
- msgstr "tak ada alamat yang tersedia"
--# OK
--#: rfc3315.c:865
--#, fuzzy
--msgid "address unavailable"
--msgstr "alamat tak tersedia"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
- # OK
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- #, fuzzy
- msgid "address invalid"
- msgstr "alamat telah digunakan"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
- # OK
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "kesalahan nama pada %s baris %d"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2280,7 +2332,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "tidak bisa membuat socket DHCP: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2297,59 +2349,99 @@ msgstr "gagal mem-bind socket server DHCP: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "gagal membuat socket: %s "
-+# OK
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "gagal membaca %s: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
- # OK
--#: tables.c:105
-+#: tables.c:109
- #, fuzzy, c-format
- msgid "failed to access pf devices: %s"
- msgstr "gagal mengakses %s: %s"
- # OK
--#: tables.c:119
-+#: tables.c:123
- #, fuzzy, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "menggunakan alamat lokal saja untuk %s %s"
- # OK
--#: tables.c:127
-+#: tables.c:131
- #, fuzzy, c-format
- msgid "error: cannot use table name %s"
- msgstr "tidak bisa mendapatkan host-name: %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
- # OK
--#: tables.c:162
-+#: tables.c:166
- #, fuzzy, c-format
- msgid "%d addresses %s"
- msgstr "membaca %s - %d alamat"
- # OK
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "gagal membaca %s: %s"
-+
-+# OK
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "tidak dapat membuka atau membuat file lease: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+# OK
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "gagal membuat socket: %s "
-+
-+# OK
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "tidak bisa membaca %s: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
-+# OK
- #~ msgid "duplicate IP address %s in dhcp-config directive."
- #~ msgstr "alamat IP kembar %s dalam direktif dhcp-config"
-diff --git a/po/it.po b/po/it.po
-index f3b547576ba4..64342c9804ba 100644
---- a/po/it.po
-+++ b/po/it.po
-@@ -16,70 +16,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr ""
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr ""
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr ""
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -93,7 +93,7 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr ""
-@@ -107,990 +107,1018 @@ msgstr ""
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+#: option.c:346
-+msgid "Read DHCP host specs from a directory."
-+msgstr ""
-+
-+#: option.c:347
-+msgid "Read DHCP options from a directory."
-+msgstr ""
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:337
-+#: option.c:351
-+msgid "Read hosts files from a directory."
-+msgstr ""
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:362
-+#: option.c:377
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:364
-+#: option.c:379
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:371
-+#: option.c:386
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr ""
-+
-+#: option.c:387
-+msgid "Specify time-to-live floor for cache."
-+msgstr ""
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr ""
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr ""
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr ""
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr ""
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr ""
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr ""
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr ""
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr ""
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr ""
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr ""
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr ""
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr ""
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3826
-+#: option.c:3906
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr ""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr ""
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr ""
--#: option.c:3972
-+#: option.c:4052
- msgid "illegal option"
- msgstr ""
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr ""
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4045 option.c:4168 tftp.c:667
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
--msgid "cannot read %s: %s"
-+msgid "read %s"
- msgstr ""
--#: option.c:4229 option.c:4265
-+#: option.c:4139 option.c:4262 tftp.c:667
- #, c-format
--msgid "read %s"
-+msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4331
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1180,263 +1208,276 @@ msgstr ""
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:193
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+#: dnsmasq.c:195
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr ""
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1476,27 +1517,27 @@ msgstr ""
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1567,12 +1608,12 @@ msgstr ""
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr ""
-@@ -1592,7 +1633,7 @@ msgstr ""
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1601,7 +1642,7 @@ msgstr ""
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
-@@ -1637,7 +1678,7 @@ msgstr ""
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr ""
-@@ -1687,7 +1728,7 @@ msgstr ""
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
-@@ -1702,7 +1743,7 @@ msgstr ""
- msgid "cannot create netlink socket: %s"
- msgstr ""
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr ""
-@@ -1820,62 +1861,62 @@ msgstr ""
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr ""
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr ""
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr ""
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:791 rfc3315.c:913
--msgid "success"
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
--msgid "no addresses available"
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+msgid "success"
- msgstr ""
--#: rfc3315.c:865
--msgid "address unavailable"
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -1968,7 +2009,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -1983,50 +2024,85 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
-+#: dnssec.c:425 dnssec.c:469
-+#, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr ""
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, c-format
- msgid "failed to access pf devices: %s"
- msgstr ""
--#: tables.c:119
-+#: tables.c:123
- #, c-format
- msgid "warning: no opened pf devices %s"
- msgstr ""
--#: tables.c:127
-+#: tables.c:131
- #, c-format
- msgid "error: cannot use table name %s"
- msgstr ""
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, c-format
- msgid "%d addresses %s"
- msgstr ""
-+
-+#: inotify.c:46
-+#, c-format
-+msgid "failed to create inotify: %s"
-+msgstr ""
-+
-+#: inotify.c:60
-+#, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr ""
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr ""
-+
-+#: inotify.c:97
-+#, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr ""
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-diff --git a/po/no.po b/po/no.po
-index ff7eaad9cad1..c2e7067d2304 100644
---- a/po/no.po
-+++ b/po/no.po
-@@ -18,70 +18,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, fuzzy, c-format
- msgid "failed to load names from %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "dårlig adresse ved %s linje %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "dårlig navn ved %s linje %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "les %s - %d adresser"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "mellomlager tømt"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "gir ikke navnet %s til DHCP leien for %s fordi navnet eksisterer i %s med adressen %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
--#: cache.c:1367
-+#: cache.c:1422
- #, fuzzy, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "mellomlager størrelse %d, %d/%d mellomlager innsettinger re-bruker mellomlager plasser som ikke er utløpt"
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -96,7 +96,7 @@ msgstr "feilet 
- msgid "failed to allocate memory"
- msgstr "feilet å laste %d bytes"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "kunne ikke få minne"
-@@ -110,610 +110,643 @@ msgstr "kan ikke lese %s: %s"
- msgid "failed to allocate %d bytes"
- msgstr "feilet å laste %d bytes"
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "uendelig"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Spesifiser lokal(e) adresse(r) å lytte på."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Returner ipaddr for alle verter i det spesifiserte domenet."
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Forfalsk revers oppslag for RFC1918 private adresse områder."
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Behandle ipaddr som NXDOMAIN (omgår Verisign wildcard)."
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Spesifiser størrelsen på mellomlager plassene (standard er %s)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Spesifiser konfigurasjonsfil (standard er %s)."
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "IKKE legg (fork) som bakgrunnsprosess: kjør i debug modus."
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "IKKE videresend oppslag som mangler domene del."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Returner selv-pekende MX post for lokale verter."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Utvid enkle navn i /etc/hosts med domene-suffiks."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Ikke videresend falske/uekte DNS forespørsler fra Windows verter."
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Aktiver DHCP i det gitte området med leie varighet"
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Skift til denne gruppen etter oppstart (standard er %s)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Sett adresse eller vertsnavn for en spesifikk maskin."
--#: option.c:332
-+#: option.c:344
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "dårlig MX navn"
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "dårlig MX navn"
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "dårlig MX navn"
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "IKKE last %s filen."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Spesifiser en verts (hosts) fil som skal leses i tilleg til %s."
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "dårlig MX navn"
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Spesifiser nettverkskort det skal lyttes på."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Spesifiser nettverkskort det IKKE skal lyttes på."
--#: option.c:339
-+#: option.c:354
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Map DHCP bruker klasse til opsjon sett."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:343
-+#: option.c:358
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Ikke utfør DHCP for klienter i opsjon sett."
--#: option.c:344
-+#: option.c:359
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Ikke utfør DHCP for klienter i opsjon sett."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "IKKE last (fork) som bakgrunnsprosess, IKKE kjør i debug modus."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Anta at vi er den eneste DHCP tjeneren på det lokale nettverket."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Spesifiser hvor DHCP leiene skal lagres (standard er %s)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Returner MX records for lokale verter."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Spesifiser en MX post."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Spesifiser BOOTP opsjoner til DHCP tjener."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "IKKE spør (poll) %s fil, les på nytt kun ved SIGHUP"
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "IKKE mellomlagre søkeresultater som feiler."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Bruk navnetjenere kun som bestemt i rekkefølgen gitt i %s."
--#: option.c:354
-+#: option.c:369
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Spesifiser lytteport for DNS oppslag (standard er 53)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maksimal støttet UDP pakkestørrelse for EDNS.0 (standard er %s)."
--#: option.c:358
-+#: option.c:373
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Logg oppslag."
--#: option.c:359
-+#: option.c:374
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Tving bruk av opprinnelig port for oppstrøms oppslag."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "IKKE les resolv.conf."
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Spesifiser stien til resolv.conf (standard er %s)."
--#: option.c:362
-+#: option.c:377
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Spesifiser stien til PID fil. (standard er %s)."
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener."
--#: option.c:364
-+#: option.c:379
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener."
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Aldri videresend oppslag til spesifiserte domener."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Spesifiser domenet som skal tildeles i DHCP leien."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Spesifiser default mål i en MX post."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:369
-+#: option.c:384
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:370
-+#: option.c:385
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
-+
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Skift til denne bruker etter oppstart (standard er %s)."
--#: option.c:372
-+#: option.c:389
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Map DHCP produsent klasse til opsjon sett."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Vis dnsmasq versjon og copyright informasjon."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Oversett IPv4 adresser fra oppstrøms tjenere."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Spesifiser en SRV post."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:377
-+#: option.c:394
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Spesifiser stien til PID fil. (standard er %s)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Svar DNS oppslag basert på nettverkskortet oppslaget ble sendt til."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:381
-+#: option.c:398
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Bind kun til nettverkskort som er i bruk."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Les DHCP statisk vert informasjon fra %s."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Aktiver DBus interface for å sette oppstrøms tjenere, osv."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Ikke lever DHCP på dette nettverkskortet, kun lever DNS."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Aktiver dynamisk adresse allokering for bootp."
--#: option.c:388
-+#: option.c:405
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Map DHCP produsent klasse til opsjon sett."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:395
-+#: option.c:412
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Skift til denne bruker etter oppstart (standard er %s)."
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:397
-+#: option.c:414
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:405
-+#: option.c:422
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:417
-+#: option.c:434
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:424
-+#: option.c:441
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:429
-+#: option.c:446
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Oversett IPv4 adresser fra oppstrøms tjenere."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spesifiser en MX post."
--#: option.c:436
-+#: option.c:453
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Spesifiser TXT DNS post."
--#: option.c:437
-+#: option.c:454
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "ukjent tilknytning (interface) %s"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -722,332 +755,332 @@ msgstr ""
- "Bruk: dnsmasq [opsjoner]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Bruk korte opsjoner kun på kommandolinjen.\n"
--#: option.c:665
-+#: option.c:684
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Gyldige opsjoner er :\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "dårlig port"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- #, fuzzy
- msgid "bad interface name"
- msgstr "dårlig MX navn"
--#: option.c:792
-+#: option.c:811
- #, fuzzy
- msgid "bad address"
- msgstr "les %s - %d adresser"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "dårlig dhcp-opsjon"
--#: option.c:1056
-+#: option.c:1075
- #, fuzzy
- msgid "bad IP address"
- msgstr "les %s - %d adresser"
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "les %s - %d adresser"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "dårlig domene i dhcp-opsjon"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "dhcp-opsjon for lang"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "kan ikke lese %s: %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "kan ikke lese %s: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "dårlig MX preferanse"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "dårlig MX navn"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "dårlig MX mål"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- #, fuzzy
- msgid "bad prefix"
- msgstr "dårlig port"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2469
-+#: option.c:2545
- #, fuzzy
- msgid "bad port range"
- msgstr "dårlig port"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "dårlig dhcp-område"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "ikke konsistent DHCP område"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2660
-+#: option.c:2736
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "ikke konsistent DHCP område"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dårlig dhcp-vert"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2852
-+#: option.c:2928
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
--#: option.c:2910
-+#: option.c:2986
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "dårlig MX navn"
--#: option.c:2992
-+#: option.c:3068
- #, fuzzy
- msgid "bad tag-if"
- msgstr "dårlig MX mål"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "ugyldig portnummer"
--#: option.c:3378
-+#: option.c:3454
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "les %s - %d adresser"
--#: option.c:3404
-+#: option.c:3480
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dårlig dhcp-område"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
--#: option.c:3481
-+#: option.c:3557
- #, fuzzy
- msgid "invalid alias range"
- msgstr "ugyldig vekt"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3560
-+#: option.c:3636
- #, fuzzy
- msgid "bad PTR record"
- msgstr "dårlig SRV post"
--#: option.c:3591
-+#: option.c:3667
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "dårlig SRV post"
--#: option.c:3625
-+#: option.c:3701
- #, fuzzy
- msgid "bad RR record"
- msgstr "dårlig SRV post"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "dårlig TXT post"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "dårlig SRV post"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "dårlig SRV mål"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "ugyldig prioritet"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "ugyldig vekt"
--#: option.c:3748
-+#: option.c:3824
- #, fuzzy
- msgid "Bad host-record"
- msgstr "dårlig SRV post"
--#: option.c:3765
-+#: option.c:3841
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "dårlig navn i %s"
--#: option.c:3826
-+#: option.c:3906
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "dårlig port"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "mangler \""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "dårlig opsjon"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "overflødig parameter"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "mangler parameter"
--#: option.c:3972
-+#: option.c:4052
- #, fuzzy
- msgid "illegal option"
- msgstr "dårlig opsjon"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "feil"
--#: option.c:3981
-+#: option.c:4061
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s på linje %d av %%s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "kan ikke lese %s: %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "leser %s"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "kan ikke lese %s: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq versjon %s %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1056,89 +1089,89 @@ msgstr ""
- "Kompileringsopsjoner %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n"
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "DNsmasq er fri programvare, du er velkommen til å redistribuere den\n"
--#: option.c:4370
-+#: option.c:4464
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "under vilkårene gitt i GNU General Public License, versjon 2.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
--#: option.c:4385
-+#: option.c:4479
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "dårlige kommandlinje opsjoner: %s."
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "klarer ikke å få vertsnavn: %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "kun en resolv.conf fil tillat i no-poll modus."
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "må ha nøyaktig en resolv.conf å lese domene fra."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "feilet å lese %s: %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "intet søke direktiv funnet i %s"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
--#: forward.c:114
-+#: forward.c:111
- #, fuzzy, c-format
- msgid "failed to send packet: %s"
- msgstr "feilet å lytte på socket: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "navnetjener %s nektet å gjøre et rekursivt oppslag"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
-@@ -1228,270 +1261,283 @@ msgstr "benytter navnetjener %s#%d"
- msgid "using nameserver %s#%d"
- msgstr "benytter navnetjener %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:173
-+#: dnsmasq.c:175
- #, fuzzy
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:193
-+#: dnsmasq.c:195
- #, fuzzy
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "feilet å finne liste av tilknytninger (interfaces): %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "ukjent tilknytning (interface) %s"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus feil: %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "startet, versjon %s mellomlager deaktivert"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "startet, versjon %s mellomlager størrelse %d"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "startet, versjon %s mellomlager deaktivert"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "kompilerings opsjoner: %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "DBus støtte aktivert: koblet til system buss"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "DBus støtte aktivert: avventer buss tilkobling"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "setter oppstrøms tjener fra DBus"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- #, fuzzy
- msgid "enabled"
- msgstr "deaktivert"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "tilkoblet til system DBus"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "feilet å lese %s: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "feilet å lese %s: %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "kan ikke åpne %s:%s"
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "feilet å laste %s: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "kan ikke åpne eller lage leie fil: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "feilet å få tilgang til %s: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "avslutter etter mottak av SIGTERM"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "feilet å få tilgang til %s: %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "leser %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "intet søke direktiv funnet i %s"
-@@ -1531,27 +1577,27 @@ msgstr "ukjent tilknytning (interface) %s"
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "DHCP område %s -- %s er ikke konsistent med nettmaske %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "dårlig linje ved %s linje %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1622,12 +1668,12 @@ msgstr "DBus feil: %s"
- msgid "disabled"
- msgstr "deaktivert"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "oversett"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "adresse i bruk"
-@@ -1647,7 +1693,7 @@ msgstr "ingen adresse konfigurert"
- msgid "no leases left"
- msgstr "ingen leier igjen"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1656,7 +1702,7 @@ msgstr ""
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "deaktiverer DHCP statisk adresse %s"
-@@ -1692,7 +1738,7 @@ msgstr ""
- msgid "wrong address"
- msgstr "gal adresse"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "leie ikke funnet"
-@@ -1742,7 +1788,7 @@ msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken"
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "kompilerings opsjoner: %s"
-@@ -1757,7 +1803,7 @@ msgstr ""
- msgid "cannot create netlink socket: %s"
- msgstr "kan ikke binde netlink socket: %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, fuzzy, c-format
- msgid "netlink returns error: %s"
- msgstr "DBus feil: %s"
-@@ -1875,66 +1921,66 @@ msgstr "ingen adresse omr
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, fuzzy, c-format
- msgid "%u vendor class: %u"
- msgstr "DBus feil: %s"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, fuzzy, c-format
- msgid "%u client MAC address: %s"
- msgstr "ingen tilknytning (interface) med adresse %s"
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, fuzzy, c-format
- msgid "unknown prefix-class %d"
- msgstr "ukjent leie"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+#, fuzzy
-+msgid "address unavailable"
-+msgstr "adresse ikke tilgjengelig"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- #, fuzzy
- msgid "no addresses available"
- msgstr "ingen adresse tilgjengelig"
--#: rfc3315.c:865
--#, fuzzy
--msgid "address unavailable"
--msgstr "adresse ikke tilgjengelig"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- #, fuzzy
- msgid "address invalid"
- msgstr "adresse i bruk"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "dårlig adresse ved %s linje %d"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2027,7 +2073,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "kan ikke lage DHCP socket: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2042,54 +2088,89 @@ msgstr "feilet 
- msgid "failed to create IPset control socket: %s"
- msgstr "feilet å lage lytte socket: %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "feilet å lese %s: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, fuzzy, c-format
- msgid "failed to access pf devices: %s"
- msgstr "feilet å få tilgang til %s: %s"
--#: tables.c:119
-+#: tables.c:123
- #, fuzzy, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "benytter lokale adresser kun for %s %s"
--#: tables.c:127
-+#: tables.c:131
- #, fuzzy, c-format
- msgid "error: cannot use table name %s"
- msgstr "klarer ikke å få vertsnavn: %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, fuzzy, c-format
- msgid "%d addresses %s"
- msgstr "les %s - %d adresser"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "feilet å lese %s: %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "kan ikke åpne eller lage leie fil: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "feilet å lage lytte socket: %s"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "kan ikke lese %s: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "duplicate IP address %s in dhcp-config directive."
- #~ msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
-diff --git a/po/pl.po b/po/pl.po
-index 705f1779390f..362e41226644 100644
---- a/po/pl.po
-+++ b/po/pl.po
-@@ -21,70 +21,70 @@ msgstr ""
- "X-Generator: Poedit 1.6.9\n"
- "X-Language: pl_PL\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr "Wewnętrzny błąd w pamięci podręcznej."
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr "nie potrafię wczytać nazw z %s: %s"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "błędny adres w pliku %s, w linii %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "błędna nazwa w pliku %s, w linii %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "wczytałem %s - %d adresów"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "wyczyszczono pamięć podręczną"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr "Nie znalazłem adresu IPv4 komputera %s"
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr "%s to nazwa CNAME, nie przypisuję jej dzierżawie DHCP %s"
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "nazwa %s nie została nadana dzierżawie DHCP %s, ponieważ nazwa istnieje w %s i ma już adres %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr "czas %lu"
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "wielkość pamięci podręcznej: %d; %d z %d miejsc aktualnych wpisów użyto ponownie."
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr "%u zapytań przesłanych dalej, %u odpowiedzi udzielonych samodzielnie"
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr "zapytań do stref autorytatywnych %u"
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr "serwer %s#%d: %u zapytań wysłanych, %u ponowionych lub nieudanych"
-@@ -98,7 +98,7 @@ msgstr "brak możliwości użycia generatora liczb losowych: %s"
- msgid "failed to allocate memory"
- msgstr "nie udało się przydzielić pamięci"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "nie można dostać pamięci"
-@@ -112,589 +112,622 @@ msgstr "błąd podczas próby utworzenia potoku: %s"
- msgid "failed to allocate %d bytes"
- msgstr "niemożliwość przydzielenia %d bajtów pamięci"
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "nieskończona"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Wskazanie adresów, na których należy nasłuchiwać."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Zwracanie adresu IP dla wszystkich hostów we wskazanych domenach."
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Wyłączenie przekazywania zapytań odwrotnych dla prywatnych zakresów IP."
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Traktowanie adresu IP jako NXDOMAIN (unieważnia ,,Verisign wildcard'')."
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Wskazanie wielkości pamięci podręcznej (domyślnie: %s miejsc)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Wskazanie pliku konfiguracyjnego (domyślnie: %s)."
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NIE twórz procesu potomnego w tle: działanie w trybie debugowania."
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "Wyłączenie przekazywania zapytań bez podanej części domenowej."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Zwracanie samowskazującego rekordu MX dla lokalnych hostów."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Rozwijanie prostych nazw z /etc/hosts przyrostkiem domenowym."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Wyłączenie przekazywania pozornych zapytań DNS z komputerów działających pod Windows."
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Włączenie serwera DHCP dla wskazanego zakresu adresów."
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Po uruchomieniu zmiana grupy procesu na podaną (domyślnie: %s)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Ustawienie adresu lub nazwy dla wskazanego komputera."
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr "Warunkowe ustawianie znaczników."
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "NIE wczytywanie pliku %s."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Wskazanie dodatkowego pliku 'hosts' oprócz %s."
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Interfejsy, na których nasłuchiwać."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Interfejsy, na których NIE nasłuchiwać."
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr "Przyporządkowanie znacznika w zależności od klasy użytkownika DHCP."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru obwodu (w rozumieniu RFC3046)."
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru agenta (w rozumieniu RFC3046)."
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru subskrybenta (w rozumieniu RFC3993)."
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Wyłączenie DHCP dla hostów z określonym znacznikiem."
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Wymuszenie odpowiedzi w trybie rozgłoszeniowym dla hostów z określonym znacznikiem."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NIE twórz procesu potomnego w tle i NIE włączaj trybu debugowania."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Zakładanie, że jesteśmy jedynym serwerem DHCP w sieci lokalnej."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Ścieżka przechowywania pliku dzierżaw DHCP (domyślnie: %s)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Włączenie zwracania rekordu MX dla hostów lokalnych."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Specyfikacja rekordu MX."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Określenie opcji BOOTP serwera DHCP."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Wyłączenie obserwowania pliku %s; ponowne odczytywanie tylko po odebraniu sygnału SIGHUP."
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "Wyłączenie przechowywania w pamięci podręcznej wyników nieudanych wyszukiwań."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Odpytywanie serwerów nazw w kolejności ich wystąpienia w %s."
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Specyfikacja opcji wysyłanej do klientów DHCP."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Opcja DHCP wysyłana nawet jeżeli klient o nią nie prosi."
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Wskazanie portu do nasłuchiwania zapytań DNS (domyślnie: 53)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maksymalna obsługiwana wielkość pakietu EDNS.0 (domyślnie: %s)."
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr "Włączenie spisywania zapytań DNS do logu."
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Wymuszenie użycia wskazanego portu UDP do odpytywania nadrzędnych serwerów DNS i odbierania od nich odpowiedzi."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "Wyłączenie czytania pliku resolv.conf."
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Wskazanie położenia pliku resolv.conf (domyślnie: %s)."
--#: option.c:362
-+#: option.c:377
- msgid "Specify path to file with server= options"
- msgstr "Wskazanie położenia pliku z opcjami server="
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Wskazywanie adresów serwerów nazw, opcjonalnie z przypisaniem do domeny."
--#: option.c:364
-+#: option.c:379
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Wskazanie serwerów nazw do odwrotnej translacji adresów."
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Wyłączenie przekazywania zapytań do wskazanych domen."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Wskazanie domeny dla serwera DHCP."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Określenie domyślnego celu w rekordzie MX."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Określenie (w sekundach) czasu ważności odpowiedzi udzielonych na podstawie /etc/hosts (domyślnie 0)."
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Ograniczenie maksymalnego czasu ważności odpowiedzi (TTL) podawanego klientom [w sekundach]."
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
-+
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Zmiana użytkownika procesu na wskazanego (po uruchomieniu, domyślnie: %s)."
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr "Przyporządkowanie znacznika w zależności od typu klienta DHCP."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Wydrukowanie informacji o programie i ochronie praw autorskich."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Tłumaczenie adresów IPv4 z serwerów nadrzędnych."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Określenie rekordu SRV."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Wyświetla ten komunikat. Użyj '--help dhcp' chcąc przejrzeć listę opcji DHCP (dhcp-option=xxx,...)."
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Określenie ścieżki do pliku PID (domyślnie: %s)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Maksymalna liczba dzierżaw DHCP (domyślnie: %s)."
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Uzależnienie odpowiedzi DNS od interfejsu, na którym odebrano zapytanie (wygodne dla serwerów kilku podsieci z różnymi adresami w /etc/hosts)."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Specyfikacja rekordu DNS TXT."
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr "Specyfikacja rekordu DNS PTR."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Zwraca nazwę domenową powiązaną z adresem interfejsu sieciowego."
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Nasłuchiwanie tylko na wykorzystywanych interfejsach (umożliwia uruchomienie osobnych serwerów dla różnych kart)."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Wczytanie przyporządkowań adresów z %s."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Włączenie używania interfejsu DBus do informowania o zmianach konfiguracji."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Uruchomienie na wskazanym interfejsie tylko DNS-a, bez usług DHCP i TFTP."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Włączenie dynamicznego przydzielania adresów dla klientów BOOTP."
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Przyporządkowanie znacznika w zależności od adresu MAC (można używać uogólnień: *)."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Traktowanie żądań DHCP odebranych na interfejsach alias, ..., jako odebranych na iface."
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Pominięcie sprawdzania za pomocą ICMP niezajętości adresu przed jego wydzierżawieniem."
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Skrypt powłoki uruchamiany po przyznaniu lub zwolnieniu adresu."
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Skrypt Lua uruchamiany po przyznaniu lub zwolnieniu adresu."
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr "Wskazanie użytkownika z którego uprawnieniami będą uruchamiane skrypty."
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr "Wczytanie wszystkich plików ze wskazanego katalogu jako konfiguracyjnych."
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Wskazanie kanału syslog-a do którego mają trafiać komunikaty (domyślnie: DAEMON)"
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr "Nieużywanie bazy dzierżaw."
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Maksymalna liczba jednocześnie obsługiwanych zapytań DNS (domyślnie: %s)"
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Czyszczenie pamięci podręcznej serwera nazw w przypadku ponownego odczytu %s."
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Nie zwracanie uwagi na nazwę podawaną przez klienta w przypadku dopasowania wszystkich wymienionych znaczników."
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Wyłączenie oszczędzania miejsca w pakiecie DHCP przez przesuwanie pól servername i filename do opcji DHCP. Wymusza prostszy tryb budowy pakietu rozwiązując problemy z nieprzystosowanymi klientami DHCP."
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr "Włączenie wbudowanego serwera TFTP (tylko do wysyłania)."
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Ograniczenie działania serwera TFTP do wskazanego katalogu i podkatalogów. Nazwy z .. są odrzucane, / odnosi się do wskazanego katalogu."
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr "Doklejanie adresu IP klienta do głównego katalogu TFTP. Jeżeli wynikowy katalog nie istnieje, nadal wykorzystuje się tftp-root."
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Ograniczenie dostępu do plików przez TFTP do tych, których właścicielem jest użytkownik uruchamiający dnsmasq-a."
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Maksymalna liczba jednocześnie obsługiwanych połączeń TFTP (domyślnie %s)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr "Wyłączenie możliwości negocjowania wielkości bloku dla przesyłów przez TFTP."
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Konwertowanie nazw plików żądanych przez TFTP do małych liter"
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Wskazanie zakresu portów do użytku TFTP."
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr "Włączenie spisywania w logu operacji DHCP."
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Włączenie asynchronicznego zapisywania do logu z ewentualnym wskazaniem długości kolejki."
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Odfiltrowywanie adresów wskazujących na komputery w sieciach wewnętrznych spośród odpowiedzi od zewnętrznych serwerów DNS."
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Zezwolenie na przekazywanie odpowiedzi w klasie 127.0.0.0/8. Dla serwerów RBL."
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Dezaktywacja zabezpieczenia przed atakami DNS-rebind dla wskazanych domen."
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr "Jednoczesne odpytywanie wszystkich serwerów nadrzędnych; klientowi przekazywana jest pierwsza odpowiedź."
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr "Ustawienie znacznika jeżeli w żądaniu DHCP pojawi się wskazana opcja, ewentualnie o konkretnej wartości."
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr "Użycie alternatywnych portów dla usługi DHCP."
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr "Specyfikacja rekordu DNS NAPTR."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Ustawienie dolnej granicy numerów portów do przesyłania zapytań DNS."
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Przechowywanie w serwerze DNS dnsmasq-a tylko w pełni kwalifikowanych nazw zgłaszanych przez klientów DHCP."
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generowanie nazw na podstawie MAC-adresów dla klientów bez nazwy."
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr "Traktowanie wskazanych serwerów pośredniczących DHCP jako działających w trybie \"pełnomocnika\" (full-proxy)."
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr "Przekazywanie żądań DHCP do zdalnego serwera"
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Wskazanie synonimu nazwy komputera lokalnego - znanego z /etc/hosts albo z DHCP."
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr "Zgłoszenie wysyłane klientom PXE."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr "Składnik menu PXE (--> man)."
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr "Sprawdzenie składni."
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Przekazywanie MAC-adresu komputera pytającego w ruchu wychodzącym DNS."
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Zamieszczanie adresu IP pytającego w przekazywanych zapytaniach DNS."
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Przekazywanie wyników weryfikacji DNSSEC z serwerów nadrzędnych."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Zmiana sposobu przydzielania adresów IP na sekwencyjny."
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Zachowanie znacznika połączenia z odebranego zapytania DNS w ruchu zewnętrznym."
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Zezwolenie klientom DHCP na uaktualnianie DDNS-ów."
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Załączenie anonsowania (RA) na interfejsach serwujących DHCPv6"
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Określenie DHCPv6 DUID"
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Określenie rekordów A/AAAA i PTR"
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr "Określenie rekordu TXT"
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Dynamiczne podpinanie do interfejsów sieciowych"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr "Eksportowanie lokalnych nazw hostów do globalnego DNS-a"
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr "Domena pod którą będą eksportowane lokalne nazwy"
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr "Określenie TTL dla odpowiedzi autorytatywnych"
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr "Określenie danych strefy autorytatywnej (SOA)"
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Pomocnicze serwery autorytatywne dla forwardowanych domen"
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Wskazanie serwerów uprawnionych do transferu stref"
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Wyszczególnienie ipset-ów, do których będą dopisywane adresy IP leżące we wskazanych domenach"
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Wskazanie domeny i zakresu adresów dla generowanych nazw"
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr "Uaktywnienie walidacji DNSSEC"
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr "Wskazanie punktu zaufania dla uwierzytelniania DNSSEC."
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr "Akceptowanie nieuwiarygodnionych odpowiedzi DNSSEC (ustawienie bitu CD w zapytaniach)."
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr "Upewnianie się, że odpowiedzi bez DNSSEC pochodzą ze stref niepodpisanych."
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr "Wyłączenie sprawdzania sygnatur czasowych DNSSEC do pierwszego przeładowania pamięci podręcznej."
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr "Określenie prefiksu klasy DHCPv6"
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr "Ustawianie priorytetu, okresu rozsyłania oraz czasu życia rutera (RA)."
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr "Wyłączenie logowania zwyczajnego DHCP."
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr "Wyłączenie logowania zwyczajnego DHCPv6."
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr "Wyłączenie logowania RA."
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr "Akceptowanie zapytań wyłącznie z sieci podpiętych bezpośrednio."
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr "Wykrywanie i usuwanie pętli zapytań DNS."
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -703,312 +736,312 @@ msgstr ""
- "Użycie: dnsmasq [opcje]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "W tym systemie w linii poleceń można używać wyłącznie jednoliterowych opcji.\n"
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Dostępne opcje:\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "nieprawidłowy numer portu"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr "nie ma możliwości dowiązywania do interfejsu"
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr "nieprawidłowa nazwa interfejsu"
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr "zły adres"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "nieobsługiwany rodzaj enkapsulacji opcji IPv6"
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "błąd w dhcp-option"
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr "zły adres IP"
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr "zły adres IPv6"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "nieprawidłowa nazwa domeny w dhcp-option"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "zbyt długa dhcp-option (>255 znaków)"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr "niedopuszczalne dhcp-match"
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wcześniej w linii poleceń)"
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wsześniej w pliku konfiguracyjnym)"
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "brak dostępu do katalogu %s: %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "brak dostępu do %s: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr "zmiana log-facility w systemie Android nie jest możliwa"
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr "nierozpoznany znacznik logów"
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "nieprawidłowa wartość preferencji MX"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "nieprawidłowa nazwa MX"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "nieprawidłowa wartość celu MX"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr "w uClinuksie nie ma możliwości uruchamiania skryptów"
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "żeby mieć możliwość używania skryptów wywoływanych przy zmianie dzierżawy, przekompiluj dnsmasq-a z włączoną flagą HAVE_SCRIPT"
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "używanie skryptów Lua, wymaga skompilowania dnsmasq-a z flagą HAVE_LUASCRIPT"
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr "zła maska"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "chcąc korzystać z ipsets przekompiluj dnsmasq-a z HAVE_IPSET"
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr "nieprawidłowy zakres numerów portów"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr "nieprawidłowa nazwa urządzenia w bridge-interface"
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr "można wskazać tylko jeden znacznik sieci"
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "nieprawidłowy zakres dhcp-range"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "niespójny zakres adresów DHCP"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "długość prefiksu musi wynosić dokładnie 64 dla podsieci RA"
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "długość prefiksu musi wynosić dokładnie 64 dla konstruktorów podsieci"
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr "długość prefiksu musi wynosić co najmniej 64"
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr "niespójny zakres adresów DHCPv6"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "prefiks musi wynosić zero z argumentem \"constructor:\""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr "zapis niezgodny z formatem szesnastkowym"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr "--dhcp-host nie dopuszcza dopasowywania na podstawie znaczników"
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "powtórzony adres IP %s w specyfikacji dhcp-host"
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr "niedopuszczalna nazwa komputera w dhcp-host"
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr "nieprawidłowa składnia 'tag-if'"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "nieprawidłowy numer portu"
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr "zły adres dhcp-proxy"
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr "zły dhcp-relay"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr "nieprawidłowe argumenty RA"
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr "zły DUID"
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr "nieprawidłowy zakres adresów w --alias"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr "zła CNAME"
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr "powtórzona CNAME"
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr "nieprawidłowy zapis rekordu PTR"
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr "nieprawidłowy zapis rekordu NAPTR"
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr "nieprawidłowy zapis rekordu RR"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "nieprawidłowy zapis rekordu TXT"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "nieprawidłowy zapis rekordu SRV"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "nieprawidłowa wartość celu SRV"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "nieprawidłowy priorytet"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "nieprawidłowa waga"
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr "nieprawidłowy zapis host-record"
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr "niedopuszczalna nazwa w host-record"
--#: option.c:3826
-+#: option.c:3906
- msgid "bad trust anchor"
- msgstr "nieprawidłowa specyfikacja punktu zaufania"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr "zły zapis szesnastkowy"
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "nieobsługiwana opcja (sprawdź, czy obsługa DHCP/TFTP/DNSSEC/DBus została wkompilowana)"
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "brakuje \""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "nieprawidłowa opcja"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "nadwyżkowy parametr"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "brak parametru"
--#: option.c:3972
-+#: option.c:4052
- msgid "illegal option"
- msgstr "niedopuszczalna opcja"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "błąd"
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr " w linii %d pliku %s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "błąd odczytu z pliku %s: %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
- msgid "read %s"
- msgstr "przeczytałem %s"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "błąd odczytu z pliku %s: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr "jakieś śmieci w linii poleceń"
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq, wersja %s  %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1017,89 +1050,89 @@ msgstr ""
- "Wkompilowane opcje %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Autor nie daje ŻADNYCH GWARANCJI egzekwowalnych prawnie.\n"
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq jest wolnym oprogramowaniem, możesz go rozprowadzać\n"
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "na warunkach określonych w GNU General Public Licence, w wersji 2 lub 3.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr "spróbuj: --help"
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr "spróbuj: -w"
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr "nieprawidłowa opcja w linii poleceń %s"
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "nie można pobrać nazwy hosta: %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "w trybie no-poll można wskazać najwyżej jeden plik resolv.conf."
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "musisz mieć dokładnie jeden plik resolv.conf do odczytu domen."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "nie udało się odczytać %s: %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "brak wytycznych wyszukiwania w %s"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "w przypadku używania --dhcp-fqdn trzeba wskazać domyślną domenę"
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr "składnia sprawdzona, jest prawidłowa"
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr "wysyłanie pakietu nie powiodło się: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr "odrzucam odpowiedź DNS: nie zgadza się specyfikacja podsieci"
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "serwer nazw %s odmawia wykonania zapytania rekurencyjnego"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "prawdopodobnie wykryto atak DNS-rebind: %s"
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr "Ignorowanie zapytań z sieci pozalokalnych."
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Osiągnięto graniczną ilość jednocześnie obsługiwanych zapytań DNS (maks: %d)"
-@@ -1189,263 +1222,282 @@ msgstr "używam serwera nazw %s#%d (przez %s)"
- msgid "using nameserver %s#%d"
- msgstr "używam serwera nazw %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
-+msgstr ""
-+
-+#: dnsmasq.c:156
-+#, fuzzy
-+msgid "no trust anchors provided for DNSSEC"
- msgstr "Nie wskazano punktów zaufania dla DNSSEC."
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:159
-+#, fuzzy
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr "Brak możliwości zmniejszenia pamięci podręcznej poniżej wielkości domyślnej w przypadku używania DNSSEC."
--#: dnsmasq.c:159
-+#: dnsmasq.c:161
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "obsługa DNSSEC niedostępna - ustaw HAVE_DNSSEC w src/config.h"
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "Serwer TFTP nie został wkompilowany -- ustaw HAVE_TFTP w src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+#, fuzzy
-+msgid "cannot use --conntrack AND --query-port"
- msgstr "--conntrack i --query-port wykluczają się wzajemnie"
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+#, fuzzy
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Wsparcie dla przekazywania znaczników połączeń (conntrack) nie zostało wkompilowane - ustaw HAVE_CONNTRACK w src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr "zapis do logów w trybie asynchronicznym nie jest dostępny w Solarisie"
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr "zapis do logów w trybie asynchronicznym nie jest dostępny w Androidzie"
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "tryb autorytatywny DNS-a niedostępny - ustaw HAVE_AUTH w src/config.h"
--#: dnsmasq.c:193
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+#: dnsmasq.c:195
-+#, fuzzy
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "Wykrywanie pętli zapytań nie zostało wkompilowane - ustaw HAVE_LOOP w src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr "za pomocą --auth-soa musi zostać ustawiony numer seryjny strefy"
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr "konstrukcja dhcp-range nie jest dostępna w tym systemie"
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "--bind-interfaces i --bind-dynamic wzajemnie się wykluczają"
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "błąd podczas tworzenia listy interfejsów sieciowych: %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "nieznany interfejs %s"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "błąd DBus: %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "Obsługa DBus nie została wkompilowana -- ustaw HAVE_DBUS w src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "nieznany użytkownik lub grupa: %s"
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "nie potrafię wejść do głównego katalogu: %s"
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "uruchomiony, wersja %s, DNS wyłączony"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "uruchomiony, wersja %s, %d miejsc w pamięci podręcznej"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "uruchomiony, wersja %s, pamięć podręczna wyłączona"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "opcje kompilacji: %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "obsługa DBus włączona, podłączono do serwera DBus"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "obsługa DBus włączona, trwa podłączanie do serwera DBus"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr "usługa DNS ograniczona do lokalnych podsieci"
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr "walidacja DNSSEC włączona"
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu przeładowania pamięci podręcznej"
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+#, fuzzy
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu przeładowania pamięci podręcznej"
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "UWAGA! Nie udało się zmienić użytkownika pliku %s: %s"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "ustawiam --bind-interfaces z powodu ograniczeń systemu operacyjnego"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "uwaga: interfejs %s nie jest włączony"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "uwaga: ignoruję opcję resolv-file, ponieważ wybrano tryb no-resolv"
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr "uwaga: nie wskazano nadrzędnych serwerów DNS"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "włączono asynchroniczny tryb zapisu do logów z kolejką na %d komunikatów"
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr "anonsowanie rutera IPv6 włączone"
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr "DHCP, gniazda dowiązane na wyłączność interfejsowi %s"
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr "z głównym katalogiem w "
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr "włączony"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr "w trybie bezpiecznym"
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "ograniczam ilość jednoczesnych przesłań TFTP do %d"
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "podłączono do DBus-a"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "nie potrafię przełączyć się do pracy w tle: %s"
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "nie udało się utworzyć procesu pomocniczego: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "nie powiodło się ustawianie ograniczeń (capabilities): %s"
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "nie udało się zmienić użytkownika procesu na %s: %s"
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "nie udało się zmienić grupy procesu na %s: %s"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "nie udało się otworzyć logu %s: %s"
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "nie udało się wczytać skryptu Lua: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "katalog TFTP %s nie jest dostępny: %s"
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "nie potrafię otworzyć albo utworzyć pliku dzierżaw %s: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr "trwa sprawdzanie sygnatur czasowych podpisów DNSSEC"
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "skrypt został zabity sygnałem %d"
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr "skrypt zakończył się z kodem powrotu %d"
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "nie udało się uruchomić %s: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "zakończyłem działanie z powodu odebrania SIGTERM"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "brak dostępu do %s: %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "czytanie %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "w %s nie znalazłem serwerów, spróbuję ponownie później"
-@@ -1485,27 +1537,27 @@ msgstr "nieznany interfejs %s w bridge-u"
- msgid "DHCP packet received on %s which has no address"
- msgstr "żądanie DHCP odebrano na interfejsie %s, który nie ma adresu"
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr "uzupełnienie pamięci podręcznej ARP nie powiodło się: %s"
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "zakres adresów DHCP %s -- %s jest niespójny z maską sieci %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "zła zawartość pliku %s, w linii %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "w %s pomijam linię %d -- powtórzona nazwa lub adres IP"
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "przekazywanie DHCP %s -> %s"
-@@ -1576,12 +1628,12 @@ msgstr "%u klasa użytkownika: %s"
- msgid "disabled"
- msgstr "wyłączony(a)"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "ignoruję"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "adres jest w użyciu"
-@@ -1601,7 +1653,7 @@ msgstr "brak skonfigurowanego adresu"
- msgid "no leases left"
- msgstr "brak wolnych dzierżaw"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "klient %u przedstawia się jako %s"
-@@ -1610,7 +1662,7 @@ msgstr "klient %u przedstawia się jako %s"
- msgid "PXE BIS not supported"
- msgstr "PXE BIS nie jest obsługiwane"
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "wyłączam statyczne przypisanie adresu %s dla %s"
-@@ -1646,7 +1698,7 @@ msgstr "nieprawidłowy identyfikator serwera (server-ID)"
- msgid "wrong address"
- msgstr "błędny adres"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "dzierżawa nieznaleziona"
-@@ -1696,7 +1748,7 @@ msgstr "nie mam możliwości wysłania opcji %d DHCP/BOOTP: niedostateczna iloś
- msgid "PXE menu too large"
- msgstr "menu PXE zbyt duże"
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u zażądano: %s"
-@@ -1711,7 +1763,7 @@ msgstr "nie mogę wysłać opcji RFC3925: za długi łańcuch opcji przy numerze
- msgid "cannot create netlink socket: %s"
- msgstr "nie potrafię utworzyć połączenia netlink %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr "wystąpił błąd w połączeniu netlink %s"
-@@ -1829,62 +1881,62 @@ msgstr "nie zdefiniowano zakresu adresów odpowiedniego dla żądania DHCPv6 od
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "%u dostępna podsieć DHCPv6: %s/%d"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr "%u klasa dostawcy: %u"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr "adres MAC klienta %u: %s"
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr "nieznana klasa sieci %d"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
-+msgstr "adres niedostępny"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr "udane"
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- msgid "no addresses available"
- msgstr "brak wolnych adresów"
--#: rfc3315.c:865
--msgid "address unavailable"
--msgstr "adres niedostępny"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr "poza zasięgiem"
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr "brak powiązania"
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr "przestarzały"
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr "niepoprawny adres"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr "brak potwierdzenia"
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr "wszystkie adresy ciągle w użyciu"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr "adres został zwolniony"
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Nie mogę rozesłać do serwerów DHCPv6 nie mając prawidłowego interfejsu"
-@@ -1977,7 +2029,7 @@ msgstr "przekazywanie DHCP z %s do %s"
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "nie udało się utworzyć gniazda dla ICMPv6: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "ignoruję żądanie transferu strefy od %s"
-@@ -1992,54 +2044,89 @@ msgstr "niezgodna wersja jądra: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "nie powiodło się otwieranie gniazda sterującego IPset: %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr "DNSSEC: zużycie pamięci %u, maks. %u, przydzielona %u"
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr "błąd: niepoprawnie użyty fill_addr"
--#: tables.c:105
-+#: tables.c:109
- #, c-format
- msgid "failed to access pf devices: %s"
- msgstr "brak dostępu do /dev/pf (filtra pakietów): %s"
--#: tables.c:119
-+#: tables.c:123
- #, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "uwaga: brak otwartych filtrów pakietów %s"
--#: tables.c:127
-+#: tables.c:131
- #, c-format
- msgid "error: cannot use table name %s"
- msgstr "błąd: nie potrafię użyć nazwy tablicy %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr "błąd: nie potrafię strlcpy nazwy tablicy %s"
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr "uwaga: pfr_add_tables: %s(%d)"
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr "info: tablica utworzona"
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr "uwaga: DIOCR%sADDRS: %s"
--#: tables.c:162
-+#: tables.c:166
- #, c-format
- msgid "%d addresses %s"
- msgstr "%d adresów %s"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "nie udało się utworzyć procesu pomocniczego: %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "nie potrafię otworzyć albo utworzyć pliku dzierżaw %s: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "nie udało się otworzyć gniazda %s: %s"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "brak dostępu do katalogu %s: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "Always send frequent router-advertisements"
- #~ msgstr "Rozsyłanie wielokrotne anonsów rutera (RA)"
-diff --git a/po/pt_BR.po b/po/pt_BR.po
-index b91cf6ce53b4..ef6e4cbf529b 100644
---- a/po/pt_BR.po
-+++ b/po/pt_BR.po
-@@ -16,70 +16,70 @@ msgstr ""
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
--#: cache.c:908
-+#: cache.c:941
- #, c-format
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr ""
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr ""
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
--#: cache.c:1367
-+#: cache.c:1422
- #, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr ""
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -93,7 +93,7 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr ""
-@@ -107,990 +107,1018 @@ msgstr ""
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:332
-+#: option.c:344
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+#: option.c:346
-+msgid "Read DHCP host specs from a directory."
-+msgstr ""
-+
-+#: option.c:347
-+msgid "Read DHCP options from a directory."
-+msgstr ""
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:337
-+#: option.c:351
-+msgid "Read hosts files from a directory."
-+msgstr ""
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:339
-+#: option.c:354
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:343
-+#: option.c:358
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:344
-+#: option.c:359
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:354
-+#: option.c:369
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:358
-+#: option.c:373
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:359
-+#: option.c:374
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:362
-+#: option.c:377
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:364
-+#: option.c:379
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:369
-+#: option.c:384
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:370
-+#: option.c:385
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:371
-+#: option.c:386
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr ""
-+
-+#: option.c:387
-+msgid "Specify time-to-live floor for cache."
-+msgstr ""
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:372
-+#: option.c:389
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:377
-+#: option.c:394
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:381
-+#: option.c:398
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:388
-+#: option.c:405
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:395
-+#: option.c:412
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:397
-+#: option.c:414
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:405
-+#: option.c:422
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:417
-+#: option.c:434
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:424
-+#: option.c:441
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:429
-+#: option.c:446
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:436
-+#: option.c:453
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:437
-+#: option.c:454
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:665
-+#: option.c:684
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr ""
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- msgid "bad interface name"
- msgstr ""
--#: option.c:792
-+#: option.c:811
- msgid "bad address"
- msgstr ""
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1056
-+#: option.c:1075
- msgid "bad IP address"
- msgstr ""
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr ""
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr ""
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- msgid "bad prefix"
- msgstr ""
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2469
-+#: option.c:2545
- msgid "bad port range"
- msgstr ""
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2660
-+#: option.c:2736
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2852
-+#: option.c:2928
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2910
-+#: option.c:2986
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:2992
-+#: option.c:3068
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr ""
--#: option.c:3378
-+#: option.c:3454
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3404
-+#: option.c:3480
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
--#: option.c:3481
-+#: option.c:3557
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3560
-+#: option.c:3636
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3591
-+#: option.c:3667
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3625
-+#: option.c:3701
- msgid "bad RR record"
- msgstr ""
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr ""
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr ""
--#: option.c:3748
-+#: option.c:3824
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3765
-+#: option.c:3841
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3826
-+#: option.c:3906
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr ""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr ""
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr ""
--#: option.c:3972
-+#: option.c:4052
- msgid "illegal option"
- msgstr ""
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr ""
--#: option.c:3981
-+#: option.c:4061
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4045 option.c:4168 tftp.c:667
-+#: option.c:4076 option.c:4323 option.c:4359
- #, c-format
--msgid "cannot read %s: %s"
-+msgid "read %s"
- msgstr ""
--#: option.c:4229 option.c:4265
-+#: option.c:4139 option.c:4262 tftp.c:667
- #, c-format
--msgid "read %s"
-+msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4331
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4367
-+#: option.c:4461
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4370
-+#: option.c:4464
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
--#: option.c:4385
-+#: option.c:4479
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
--#: forward.c:114
-+#: forward.c:111
- #, c-format
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1180,263 +1208,276 @@ msgstr ""
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:173
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+#: dnsmasq.c:175
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:193
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+#: dnsmasq.c:195
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:684
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
-+#: dnsmasq.c:713
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr ""
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1476,27 +1517,27 @@ msgstr ""
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1567,12 +1608,12 @@ msgstr ""
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr ""
-@@ -1592,7 +1633,7 @@ msgstr ""
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1601,7 +1642,7 @@ msgstr ""
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
-@@ -1637,7 +1678,7 @@ msgstr ""
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr ""
-@@ -1687,7 +1728,7 @@ msgstr ""
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
-@@ -1702,7 +1743,7 @@ msgstr ""
- msgid "cannot create netlink socket: %s"
- msgstr ""
--#: netlink.c:347
-+#: netlink.c:348
- #, c-format
- msgid "netlink returns error: %s"
- msgstr ""
-@@ -1820,62 +1861,62 @@ msgstr ""
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr ""
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, c-format
- msgid "%u vendor class: %u"
- msgstr ""
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, c-format
- msgid "%u client MAC address: %s"
- msgstr ""
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, c-format
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:791 rfc3315.c:913
--msgid "success"
-+#: rfc3315.c:803 rfc3315.c:902
-+msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
--msgid "no addresses available"
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+msgid "success"
- msgstr ""
--#: rfc3315.c:865
--msgid "address unavailable"
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -1968,7 +2009,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -1983,50 +2024,85 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
-+#: dnssec.c:425 dnssec.c:469
-+#, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr ""
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, c-format
- msgid "failed to access pf devices: %s"
- msgstr ""
--#: tables.c:119
-+#: tables.c:123
- #, c-format
- msgid "warning: no opened pf devices %s"
- msgstr ""
--#: tables.c:127
-+#: tables.c:131
- #, c-format
- msgid "error: cannot use table name %s"
- msgstr ""
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, c-format
- msgid "%d addresses %s"
- msgstr ""
-+
-+#: inotify.c:46
-+#, c-format
-+msgid "failed to create inotify: %s"
-+msgstr ""
-+
-+#: inotify.c:60
-+#, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr ""
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr ""
-+
-+#: inotify.c:97
-+#, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr ""
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-diff --git a/po/ro.po b/po/ro.po
-index 6887fcb62636..0ac8bd63e25f 100644
---- a/po/ro.po
-+++ b/po/ro.po
-@@ -15,71 +15,71 @@ msgstr ""
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
--#: cache.c:505
-+#: cache.c:523
- msgid "Internal error in cache."
- msgstr ""
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: cache.c:908
-+#: cache.c:941
- #, fuzzy, c-format
- msgid "failed to load names from %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: cache.c:934 dhcp.c:820
-+#: cache.c:967 dhcp.c:825
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "adresă greşită în %s, linia %d"
--#: cache.c:985 dhcp.c:836
-+#: cache.c:1018 dhcp.c:841
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "nume greşit în %s linia %d"
--#: cache.c:992 dhcp.c:911
-+#: cache.c:1027 dhcp.c:916
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "citesc %s - %d adrese"
--#: cache.c:1100
-+#: cache.c:1135
- msgid "cleared cache"
- msgstr "memoria temporară a fost ştearsă"
--#: cache.c:1123
-+#: cache.c:1164
- #, c-format
- msgid "No IPv4 address found for %s"
- msgstr ""
--#: cache.c:1201
-+#: cache.c:1242
- #, c-format
- msgid "%s is a CNAME, not giving it to the DHCP lease of %s"
- msgstr ""
--#: cache.c:1225
-+#: cache.c:1266
- #, c-format
- msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s"
- msgstr "nu pot da numele %s împrumutului de adresă DHCP a lui %s deoarece numeleexistă în %s cu adresa %s"
--#: cache.c:1366
-+#: cache.c:1421
- #, c-format
- msgid "time %lu"
- msgstr ""
--#: cache.c:1367
-+#: cache.c:1422
- #, fuzzy, c-format
- msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries."
- msgstr "cantitate de memorie temporară %d, %d/%d stocări temporare aureutilizat locaţii neexpirate."
--#: cache.c:1369
-+#: cache.c:1424
- #, c-format
- msgid "queries forwarded %u, queries answered locally %u"
- msgstr ""
--#: cache.c:1372
-+#: cache.c:1427
- #, c-format
- msgid "queries for authoritative zones %u"
- msgstr ""
--#: cache.c:1398
-+#: cache.c:1453
- #, c-format
- msgid "server %s#%d: queries sent %u, retried or failed %u"
- msgstr ""
-@@ -94,7 +94,7 @@ msgstr "ascultarea pe socket a eşuat: %s"
- msgid "failed to allocate memory"
- msgstr "nu pot încărca %d bytes"
--#: util.c:243 option.c:579
-+#: util.c:243 option.c:598
- msgid "could not get memory"
- msgstr "nu am putut aloca memorie"
-@@ -108,610 +108,643 @@ msgstr "nu pot citi %s: %s"
- msgid "failed to allocate %d bytes"
- msgstr "nu pot încărca %d bytes"
--#: util.c:429
-+#: util.c:430
- #, c-format
- msgid "infinite"
- msgstr "infinit"
--#: option.c:318
-+#: option.c:330
- msgid "Specify local address(es) to listen on."
- msgstr "Specificaţi adresele locale deservite."
--#: option.c:319
-+#: option.c:331
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Afişează adresele IP ale maşinilor în domeniul dat."
--#: option.c:320
-+#: option.c:332
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Simulează căutări după adresă pentru domenii de adresă private (RFC1918)."
--#: option.c:321
-+#: option.c:333
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Interpretează adresa IP ca NXDOMAIN (împotriva manipulărilor Verisign)"
--#: option.c:322
-+#: option.c:334
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Specifică mărimea înregistrărilor temporare (implicit e %s)."
--#: option.c:323
-+#: option.c:335
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Specifică fişier de configurare (implicit e %s)."
--#: option.c:324
-+#: option.c:336
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NU porneşte în fundal: rulează în modul depanare."
--#: option.c:325
-+#: option.c:337
- msgid "Do NOT forward queries with no domain part."
- msgstr "NU înainta cererile ce nu conţin domeniu DNS."
--#: option.c:326
-+#: option.c:338
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Răspunde cu înregistrări MX spre el însuşi pentru maşini locale."
--#: option.c:327
-+#: option.c:339
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Adaugă numelor simple din /etc/hosts numele domeniului ca sufix."
--#: option.c:328
-+#: option.c:340
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Nu inainta cereri DNS defecte provenite de la maşini Windows."
--#: option.c:329
-+#: option.c:341
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Activează DHCP în domeniul dat cu durată limitată de împrumut."
--#: option.c:330
-+#: option.c:342
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Rulează sub acest grup după pornire (implicit e %s)."
--#: option.c:331
-+#: option.c:343
- msgid "Set address or hostname for a specified machine."
- msgstr "Schimbă adresa sau numele maşinii specificate."
--#: option.c:332
-+#: option.c:344
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "nume MX invalid"
--#: option.c:333
-+#: option.c:345
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:334
-+#: option.c:346
-+#, fuzzy
-+msgid "Read DHCP host specs from a directory."
-+msgstr "nume MX invalid"
-+
-+#: option.c:347
-+#, fuzzy
-+msgid "Read DHCP options from a directory."
-+msgstr "nume MX invalid"
-+
-+#: option.c:348
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:335
-+#: option.c:349
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "Nu încarcă fişierul %s."
--#: option.c:336
-+#: option.c:350
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Specifică spre citire un fişier hosts adiţional la %s."
--#: option.c:337
-+#: option.c:351
-+#, fuzzy
-+msgid "Read hosts files from a directory."
-+msgstr "nume MX invalid"
-+
-+#: option.c:352
- msgid "Specify interface(s) to listen on."
- msgstr "Specifică interfeţele deservite."
--#: option.c:338
-+#: option.c:353
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Specifică interfeţele NE-deservite."
--#: option.c:339
-+#: option.c:354
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Leagă clasa de utilizator DHCP cu grup de opţiuni."
--#: option.c:340
-+#: option.c:355
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:341
-+#: option.c:356
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:342
-+#: option.c:357
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:343
-+#: option.c:358
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Nu furniza DHCP maşinilor din grupul de opţiuni."
--#: option.c:344
-+#: option.c:359
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Nu furniza DHCP maşinilor din grupul de opţiuni."
--#: option.c:345
-+#: option.c:360
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NU porneşte în fundal, NU rulează în modul depanare."
--#: option.c:346
-+#: option.c:361
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Presupune că suntem singurul server DHCP din reţeaua locală."
--#: option.c:347
-+#: option.c:362
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Specifică fişierul de stocare a împrumuturilor DHCP (implicit e %s)."
--#: option.c:348
-+#: option.c:363
- msgid "Return MX records for local hosts."
- msgstr "Răspunde cu întregistrări MX pentru maşini locale."
--#: option.c:349
-+#: option.c:364
- msgid "Specify an MX record."
- msgstr "Specifică o înregistrare MX."
--#: option.c:350
-+#: option.c:365
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Specifică opţiuni BOOTP serverului DHCP."
--#: option.c:351
-+#: option.c:366
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Nu încărca fişierul %s, citeşte-l doar la SIGHUP."
--#: option.c:352
-+#: option.c:367
- msgid "Do NOT cache failed search results."
- msgstr "NU memora rezultatele de căutare DNS eşuatată."
--#: option.c:353
-+#: option.c:368
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Foloseşte servere DNS strict în ordinea dată în %s."
--#: option.c:354
-+#: option.c:369
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Configurează opţiuni în plusce trebuie trimise clienţilor DHCP."
--#: option.c:355
-+#: option.c:370
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:356
-+#: option.c:371
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Specifică numărul portului pentru cereri DNS (implicit e 53)."
--#: option.c:357
-+#: option.c:372
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Marimea maximă a pachetului UDP pentru EDNS.0 (implicit e %s)."
--#: option.c:358
-+#: option.c:373
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Înregistrează tranzacţiile."
--#: option.c:359
-+#: option.c:374
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Forţează acest port pentru datele ce pleacă."
--#: option.c:360
-+#: option.c:375
- msgid "Do NOT read resolv.conf."
- msgstr "NU citi fişierul resolv.conf"
--#: option.c:361
-+#: option.c:376
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Specifică calea către resolv.conf (implicit e %s)."
--#: option.c:362
-+#: option.c:377
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Specifică o cale pentru fişierul PID. (implicit %s)."
--#: option.c:363
-+#: option.c:378
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Specifică adresele server(elor) superioare cu domenii opţionale."
--#: option.c:364
-+#: option.c:379
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Specifică adresele server(elor) superioare cu domenii opţionale."
--#: option.c:365
-+#: option.c:380
- msgid "Never forward queries to specified domains."
- msgstr "Nu înaintează cererile spre domeniile specificate."
--#: option.c:366
-+#: option.c:381
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Specifică domeniul de transmis prin DHCP."
--#: option.c:367
-+#: option.c:382
- msgid "Specify default target in an MX record."
- msgstr "Specifică o ţintă într-o înregistrare MX."
--#: option.c:368
-+#: option.c:383
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:369
-+#: option.c:384
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:370
-+#: option.c:385
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:371
-+#: option.c:386
-+#, fuzzy
-+msgid "Specify time-to-live ceiling for cache."
-+msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
-+
-+#: option.c:387
-+#, fuzzy
-+msgid "Specify time-to-live floor for cache."
-+msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
-+
-+#: option.c:388
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)."
--#: option.c:372
-+#: option.c:389
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
--#: option.c:373
-+#: option.c:390
- msgid "Display dnsmasq version and copyright information."
- msgstr "Afişează versiunea dnsmasq şi drepturile de autor."
--#: option.c:374
-+#: option.c:391
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traduce adresele IPv4 de la serverele DNS superioare."
--#: option.c:375
-+#: option.c:392
- msgid "Specify a SRV record."
- msgstr "Specifică o înregistrare SRV."
--#: option.c:376
-+#: option.c:393
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:377
-+#: option.c:394
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Specifică o cale pentru fişierul PID. (implicit %s)."
--#: option.c:378
-+#: option.c:395
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:379
-+#: option.c:396
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Răspunde cererilor DNS în funcţie de interfaţa pe care a venit cererea."
--#: option.c:380
-+#: option.c:397
- msgid "Specify TXT DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:381
-+#: option.c:398
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:382
-+#: option.c:399
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:383
-+#: option.c:400
- msgid "Bind only to interfaces in use."
- msgstr "Ascultă doar pe interfeţele active."
--#: option.c:384
-+#: option.c:401
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Citeşte informaţii DHCP statice despre maşină din %s."
--#: option.c:385
-+#: option.c:402
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Activeaza interfaţa DBus pentru configurarea serverelor superioare."
--#: option.c:386
-+#: option.c:403
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Nu activează DHCP ci doar DNS pe această interfaţă."
--#: option.c:387
-+#: option.c:404
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Activează alocarea dinamică a adreselor pentru BOOTP."
--#: option.c:388
-+#: option.c:405
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
--#: option.c:389
-+#: option.c:406
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:390
-+#: option.c:407
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:391
-+#: option.c:408
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:392
-+#: option.c:409
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:393
-+#: option.c:410
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:394
-+#: option.c:411
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:395
-+#: option.c:412
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)."
--#: option.c:396
-+#: option.c:413
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:397
-+#: option.c:414
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:398
-+#: option.c:415
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:399
-+#: option.c:416
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:400
-+#: option.c:417
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:401
-+#: option.c:418
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:402
-+#: option.c:419
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:403
-+#: option.c:420
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:404
-+#: option.c:421
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:405
-+#: option.c:422
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:406
-+#: option.c:423
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:407
-+#: option.c:424
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:408
-+#: option.c:425
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:409
-+#: option.c:426
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:410
-+#: option.c:427
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:411
-+#: option.c:428
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:412
-+#: option.c:429
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:413
-+#: option.c:430
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:414
-+#: option.c:431
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:415
-+#: option.c:432
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:416
-+#: option.c:433
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:417
-+#: option.c:434
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:418
-+#: option.c:435
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:419
-+#: option.c:436
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:420
-+#: option.c:437
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:421
-+#: option.c:438
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:422
-+#: option.c:439
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:423
-+#: option.c:440
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:424
-+#: option.c:441
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Configurează opţiuni în plusce trebuie trimise clienţilor DHCP."
--#: option.c:425
-+#: option.c:442
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:426
-+#: option.c:443
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:427
-+#: option.c:444
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:428
-+#: option.c:445
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:429
-+#: option.c:446
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Traduce adresele IPv4 de la serverele DNS superioare."
--#: option.c:430
-+#: option.c:447
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:431
-+#: option.c:448
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:432
-+#: option.c:449
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:433
-+#: option.c:450
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:434
-+#: option.c:451
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:435
-+#: option.c:452
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Specifică o înregistrare MX."
--#: option.c:436
-+#: option.c:453
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Specifică o înregistrare TXT."
--#: option.c:437
-+#: option.c:454
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "interfaţă necunoscută %s"
--#: option.c:438
-+#: option.c:455
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:439
-+#: option.c:456
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:440
-+#: option.c:457
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:441
-+#: option.c:458
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:442
-+#: option.c:459
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:443
-+#: option.c:460
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:444
-+#: option.c:461
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:445
-+#: option.c:462
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:446
-+#: option.c:463
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:447
-+#: option.c:464
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:448
-+#: option.c:465
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:449
-+#: option.c:466
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:450
-+#: option.c:467
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:452
-+#: option.c:468
-+msgid "Timestamp file to verify system clock for DNSSEC"
-+msgstr ""
-+
-+#: option.c:470
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:454
-+#: option.c:472
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:455
-+#: option.c:473
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:456
-+#: option.c:474
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:457
-+#: option.c:475
- msgid "Do not log RA."
- msgstr ""
--#: option.c:458
-+#: option.c:476
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:459
-+#: option.c:477
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:661
-+#: option.c:478
-+msgid "Ignore DNS responses containing ipaddr."
-+msgstr ""
-+
-+#: option.c:680
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -720,332 +753,332 @@ msgstr ""
- "Utilizare: dnsmasq [opţiuni]\n"
- "\n"
--#: option.c:663
-+#: option.c:682
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Folosiţi opţiunile prescurtate doar în linie de comandă.\n"
--#: option.c:665
-+#: option.c:684
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Opţiunile valide sunt:\n"
--#: option.c:722 option.c:726
-+#: option.c:741 option.c:745
- msgid "bad port"
- msgstr "port invalid"
--#: option.c:753 option.c:785
-+#: option.c:772 option.c:804
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:762 option.c:3494
-+#: option.c:781 option.c:3570
- #, fuzzy
- msgid "bad interface name"
- msgstr "nume MX invalid"
--#: option.c:792
-+#: option.c:811
- #, fuzzy
- msgid "bad address"
- msgstr "citesc %s - %d adrese"
--#: option.c:974
-+#: option.c:993
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:988
-+#: option.c:1007
- msgid "bad dhcp-option"
- msgstr "dhcp-option invalid"
--#: option.c:1056
-+#: option.c:1075
- #, fuzzy
- msgid "bad IP address"
- msgstr "citesc %s - %d adrese"
--#: option.c:1059 option.c:1197 option.c:2812
-+#: option.c:1078 option.c:1216 option.c:2888
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "citesc %s - %d adrese"
--#: option.c:1224 option.c:1318
-+#: option.c:1243 option.c:1337
- msgid "bad domain in dhcp-option"
- msgstr "domeniu DNS invalid în declaraţia dhcp-option"
--#: option.c:1356
-+#: option.c:1375
- msgid "dhcp-option too long"
- msgstr "declararea dhcp-option este prea lungă"
--#: option.c:1363
-+#: option.c:1382
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1425
-+#: option.c:1444
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1433
-+#: option.c:1452
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1495 option.c:4092
-+#: option.c:1517 option.c:4186
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:1541 tftp.c:493
-+#: option.c:1563 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:1588
-+#: option.c:1615
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1597
-+#: option.c:1624
- msgid "bad log facility"
- msgstr ""
--#: option.c:1650
-+#: option.c:1677
- msgid "bad MX preference"
- msgstr "preferinţă MX invalidă"
--#: option.c:1655
-+#: option.c:1682
- msgid "bad MX name"
- msgstr "nume MX invalid"
--#: option.c:1669
-+#: option.c:1696
- msgid "bad MX target"
- msgstr "ţintă MX invalidă"
--#: option.c:1681
-+#: option.c:1708
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1683
-+#: option.c:1710
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1687
-+#: option.c:1714
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1928 option.c:1966 option.c:2015
-+#: option.c:1970 option.c:2015 option.c:2071
- #, fuzzy
- msgid "bad prefix"
- msgstr "port invalid"
--#: option.c:2289
-+#: option.c:2352
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2469
-+#: option.c:2545
- #, fuzzy
- msgid "bad port range"
- msgstr "port invalid"
--#: option.c:2485
-+#: option.c:2561
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2545
-+#: option.c:2621
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2565 option.c:2577 option.c:2683 option.c:2724
-+#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
- msgid "bad dhcp-range"
- msgstr "dhcp-range invalid"
--#: option.c:2592
-+#: option.c:2668
- msgid "inconsistent DHCP range"
- msgstr "domeniu DHCP inconsistent"
--#: option.c:2651
-+#: option.c:2727
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2653
-+#: option.c:2729
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2657
-+#: option.c:2733
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2660
-+#: option.c:2736
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "domeniu DHCP inconsistent"
--#: option.c:2671
-+#: option.c:2747
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2782 option.c:2830
-+#: option.c:2858 option.c:2906
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dhcp-host invalid"
--#: option.c:2804
-+#: option.c:2880
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2852
-+#: option.c:2928
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
--#: option.c:2910
-+#: option.c:2986
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nume MX invalid"
--#: option.c:2992
-+#: option.c:3068
- #, fuzzy
- msgid "bad tag-if"
- msgstr "ţintă MX invalidă"
--#: option.c:3316 option.c:3710
-+#: option.c:3392 option.c:3786
- msgid "invalid port number"
- msgstr "număr de port invalid"
--#: option.c:3378
-+#: option.c:3454
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "citesc %s - %d adrese"
--#: option.c:3404
-+#: option.c:3480
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dhcp-range invalid"
--#: option.c:3430
-+#: option.c:3506
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3439
-+#: option.c:3515
- msgid "bad DUID"
- msgstr ""
--#: option.c:3481
-+#: option.c:3557
- #, fuzzy
- msgid "invalid alias range"
- msgstr "pondere invalidă"
--#: option.c:3535
-+#: option.c:3611
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3540
-+#: option.c:3616
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3560
-+#: option.c:3636
- #, fuzzy
- msgid "bad PTR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3591
-+#: option.c:3667
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3625
-+#: option.c:3701
- #, fuzzy
- msgid "bad RR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3655
-+#: option.c:3731
- msgid "bad TXT record"
- msgstr "înregistrare TXT invalidă"
--#: option.c:3696
-+#: option.c:3772
- msgid "bad SRV record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3703
-+#: option.c:3779
- msgid "bad SRV target"
- msgstr "ţintă SRV invalidă"
--#: option.c:3717
-+#: option.c:3793
- msgid "invalid priority"
- msgstr "prioritate invalidă"
--#: option.c:3724
-+#: option.c:3800
- msgid "invalid weight"
- msgstr "pondere invalidă"
--#: option.c:3748
-+#: option.c:3824
- #, fuzzy
- msgid "Bad host-record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3765
-+#: option.c:3841
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "nume invalid în %s"
--#: option.c:3826
-+#: option.c:3906
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "port invalid"
--#: option.c:3840
-+#: option.c:3920
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3850
-+#: option.c:3930
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3909
-+#: option.c:3989
- msgid "missing \""
- msgstr "lipseşte \""
--#: option.c:3966
-+#: option.c:4046
- msgid "bad option"
- msgstr "opţiune invalidă"
--#: option.c:3968
-+#: option.c:4048
- msgid "extraneous parameter"
- msgstr "parametru nerecunoscut"
--#: option.c:3970
-+#: option.c:4050
- msgid "missing parameter"
- msgstr "parametru lipsa"
--#: option.c:3972
-+#: option.c:4052
- #, fuzzy
- msgid "illegal option"
- msgstr "opţiune invalidă"
--#: option.c:3979
-+#: option.c:4059
- msgid "error"
- msgstr "eroare"
--#: option.c:3981
-+#: option.c:4061
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s la linia %d din %%s"
--#: option.c:4045 option.c:4168 tftp.c:667
--#, c-format
--msgid "cannot read %s: %s"
--msgstr "nu pot citi %s: %s"
--
--#: option.c:4229 option.c:4265
-+#: option.c:4076 option.c:4323 option.c:4359
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "citesc %s"
--#: option.c:4331
-+#: option.c:4139 option.c:4262 tftp.c:667
-+#, c-format
-+msgid "cannot read %s: %s"
-+msgstr "nu pot citi %s: %s"
-+
-+#: option.c:4425
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4366
-+#: option.c:4460
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "dnsmasq versiunea %s  %s\n"
--#: option.c:4367
-+#: option.c:4461
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1054,89 +1087,89 @@ msgstr ""
- "Opţiuni cu care a fost compilat %s\n"
- "\n"
--#: option.c:4368
-+#: option.c:4462
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Acest program vine FĂRĂ NICI O GARANŢIE.\n"
--#: option.c:4369
-+#: option.c:4463
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq este un program gratuit, sunteţi invitaţi să-l redistribuiţi\n"
--#: option.c:4370
-+#: option.c:4464
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "în termenii Licenţei publice generale GNU, versiunea 2.\n"
--#: option.c:4381
-+#: option.c:4475
- msgid "try --help"
- msgstr ""
--#: option.c:4383
-+#: option.c:4477
- msgid "try -w"
- msgstr ""
--#: option.c:4385
-+#: option.c:4479
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "opţiuni în linie de comandă invalide: %s."
--#: option.c:4434
-+#: option.c:4535
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "nu pot citi numele maşinii: %s"
--#: option.c:4462
-+#: option.c:4563
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "se permite un singur fişier resolv.conf în modul no-poll"
--#: option.c:4472
-+#: option.c:4573
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "am nevoie de un singur resolv.conf din care să citesc numele domeniului."
--#: option.c:4475 network.c:1506 dhcp.c:769
-+#: option.c:4576 network.c:1506 dhcp.c:774
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:4492
-+#: option.c:4593
- #, c-format
- msgid "no search directive found in %s"
- msgstr "nu s-a găsit nici un criteriu de căutare în %s"
--#: option.c:4513
-+#: option.c:4614
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4522
-+#: option.c:4623
- msgid "syntax check OK"
- msgstr ""
--#: forward.c:114
-+#: forward.c:111
- #, fuzzy, c-format
- msgid "failed to send packet: %s"
- msgstr "ascultarea pe socket a eşuat: %s"
--#: forward.c:574
-+#: forward.c:572
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:597
-+#: forward.c:595
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "serverul DNS %s refuză interogările recursive"
--#: forward.c:629
-+#: forward.c:627
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1132 forward.c:1663
-+#: forward.c:1156 forward.c:1722
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2101
-+#: forward.c:2178
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
-@@ -1226,273 +1259,286 @@ msgstr "folosim serverul DNS %s#%d"
- msgid "using nameserver %s#%d"
- msgstr "folosim serverul DNS %s#%d"
--#: dnsmasq.c:154
--msgid "No trust anchors provided for DNSSEC"
-+#: dnsmasq.c:149
-+msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:157
--msgid "Cannot reduce cache size from default when DNSSEC enabled"
-+#: dnsmasq.c:156
-+msgid "no trust anchors provided for DNSSEC"
- msgstr ""
- #: dnsmasq.c:159
-+msgid "cannot reduce cache size from default when DNSSEC enabled"
-+msgstr ""
-+
-+#: dnsmasq.c:161
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:165
-+#: dnsmasq.c:167
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:170
--msgid "Cannot use --conntrack AND --query-port"
-+#: dnsmasq.c:172
-+msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:173
-+#: dnsmasq.c:175
- #, fuzzy
--msgid "Conntrack support not available: set HAVE_CONNTRACK in src/config.h"
-+msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:178
-+#: dnsmasq.c:180
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:183
-+#: dnsmasq.c:185
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:188
-+#: dnsmasq.c:190
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:193
-+#: dnsmasq.c:195
- #, fuzzy
--msgid "Loop detection not available: set HAVE_LOOP in src/config.h"
-+msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:201
-+#: dnsmasq.c:203
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:219
-+#: dnsmasq.c:221
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:262
-+#: dnsmasq.c:264
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:265
-+#: dnsmasq.c:267
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "enumerarea interfeţelor a eşuat: %s"
--#: dnsmasq.c:274
-+#: dnsmasq.c:276
- #, c-format
- msgid "unknown interface %s"
- msgstr "interfaţă necunoscută %s"
--#: dnsmasq.c:330 dnsmasq.c:954
-+#: dnsmasq.c:340 dnsmasq.c:1004
- #, c-format
- msgid "DBus error: %s"
- msgstr "eroare DBus: %s"
--#: dnsmasq.c:333
-+#: dnsmasq.c:343
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:361
-+#: dnsmasq.c:371
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:416
-+#: dnsmasq.c:426
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:653
-+#: dnsmasq.c:667
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "am pornit, versiunea %s memorie temporară dezactivată"
--#: dnsmasq.c:655
-+#: dnsmasq.c:669
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "am ponit, versiunea %s memorie temporară %d"
--#: dnsmasq.c:657
-+#: dnsmasq.c:671
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "am pornit, versiunea %s memorie temporară dezactivată"
--#: dnsmasq.c:659
-+#: dnsmasq.c:673
- #, c-format
- msgid "compile time options: %s"
- msgstr "compilat cu opţiunile: %s"
--#: dnsmasq.c:665
-+#: dnsmasq.c:679
- msgid "DBus support enabled: connected to system bus"
- msgstr "suportul DBus activ: sunt conectat la magistrala sistem"
--#: dnsmasq.c:667
-+#: dnsmasq.c:681
- msgid "DBus support enabled: bus connection pending"
- msgstr "suportul DBus activ: aştept conexiunea la magistrală"
--#: dnsmasq.c:672
-+#: dnsmasq.c:686
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:677
-+#: dnsmasq.c:702
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:705
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
-+#: dnsmasq.c:708
-+msgid "DNSSEC signature timestamps not checked until system time valid"
-+msgstr ""
-+
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:684
-+#: dnsmasq.c:713
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: dnsmasq.c:688
-+#: dnsmasq.c:717
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "specific opţiunea --bind-interfaces din cauza limitărilor SO"
--#: dnsmasq.c:698
-+#: dnsmasq.c:727
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "atenţie: interfaţa %s nu există momentan"
--#: dnsmasq.c:703
-+#: dnsmasq.c:732
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:706
-+#: dnsmasq.c:735
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "configurăm serverele superioare prin Dbus"
--#: dnsmasq.c:710
-+#: dnsmasq.c:739
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:731
-+#: dnsmasq.c:760
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:736
-+#: dnsmasq.c:765
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:753
-+#: dnsmasq.c:782
- #, fuzzy
- msgid "enabled"
- msgstr "dezactivat"
--#: dnsmasq.c:755
-+#: dnsmasq.c:784
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:781
-+#: dnsmasq.c:810
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:956
-+#: dnsmasq.c:1006
- msgid "connected to system DBus"
- msgstr "magistrala sistem Dbus conectată"
--#: dnsmasq.c:1106
-+#: dnsmasq.c:1156
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1109
-+#: dnsmasq.c:1159
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "nu pot citi %s: %s"
--#: dnsmasq.c:1112
-+#: dnsmasq.c:1162
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:1115
-+#: dnsmasq.c:1165
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:1118
-+#: dnsmasq.c:1168
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: dnsmasq.c:1121
-+#: dnsmasq.c:1171
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "nu pot citi %s: %s"
--#: dnsmasq.c:1124
-+#: dnsmasq.c:1174
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "nu pot deschide %s:%s"
--#: dnsmasq.c:1127
-+#: dnsmasq.c:1177
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "nu pot încărca %s: %s"
--#: dnsmasq.c:1130
-+#: dnsmasq.c:1180
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1151
-+#: dnsmasq.c:1183
-+#, fuzzy, c-format
-+msgid "cannot create timestamp file %s: %s"
-+msgstr "nu pot creea sau deschide fişierul cu împrumuturi: %s"
-+
-+#: dnsmasq.c:1204
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1218
-+#: dnsmasq.c:1271
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1222
-+#: dnsmasq.c:1275
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1226
-+#: dnsmasq.c:1279
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "accesarea serverului %s a eşuat: %s"
--#: dnsmasq.c:1281
-+#: dnsmasq.c:1334
- msgid "exiting on receipt of SIGTERM"
- msgstr "am primit SIGTERM, am terminat"
--#: dnsmasq.c:1309
-+#: dnsmasq.c:1362
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "accesarea serverului %s a eşuat: %s"
--#: dnsmasq.c:1339
-+#: dnsmasq.c:1392
- #, c-format
- msgid "reading %s"
- msgstr "citesc %s"
--#: dnsmasq.c:1350
-+#: dnsmasq.c:1403
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "nu s-a găsit nici un criteriu de căutare în %s"
-@@ -1532,27 +1578,27 @@ msgstr "interfaţă necunoscută %s"
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:408
-+#: dhcp.c:412
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:506
-+#: dhcp.c:511
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "domeniu DHCP %s -- %s nu este consistent cu masca de reţea %s"
--#: dhcp.c:807
-+#: dhcp.c:812
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "linie invalidă în %s rândul %d"
--#: dhcp.c:850
-+#: dhcp.c:855
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:994 rfc3315.c:2089
-+#: dhcp.c:999 rfc3315.c:2139
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1623,12 +1669,12 @@ msgstr "eroare DBus: %s"
- msgid "disabled"
- msgstr "dezactivat"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:602 rfc3315.c:823
--#: rfc3315.c:1095
-+#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
-+#: rfc3315.c:1139
- msgid "ignored"
- msgstr "ignorat"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:873
-+#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
- msgid "address in use"
- msgstr "adresa este folosită"
-@@ -1648,7 +1694,7 @@ msgstr "adresă lipsă"
- msgid "no leases left"
- msgstr "nu mai am de unde să împrumut"
--#: rfc2131.c:691 rfc3315.c:475
-+#: rfc2131.c:691 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
-@@ -1657,7 +1703,7 @@ msgstr ""
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1189
-+#: rfc2131.c:935 rfc3315.c:1233
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "dezactivăm adresele DHCP statice %s"
-@@ -1693,7 +1739,7 @@ msgstr ""
- msgid "wrong address"
- msgstr "adresă greşită"
--#: rfc2131.c:1143 rfc3315.c:969
-+#: rfc2131.c:1143 rfc3315.c:1006
- msgid "lease not found"
- msgstr "împrumutul nu a fost găsit"
-@@ -1743,7 +1789,7 @@ msgstr "nu pot trimite opţiunea DHCP %d: nu mai este loc în pachet"
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1456
-+#: rfc2131.c:2173 rfc3315.c:1506
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "compilat cu opţiunile: %s"
-@@ -1758,7 +1804,7 @@ msgstr ""
- msgid "cannot create netlink socket: %s"
- msgstr "nu pot să activez socket-ul netlink: %s"
--#: netlink.c:347
-+#: netlink.c:348
- #, fuzzy, c-format
- msgid "netlink returns error: %s"
- msgstr "eroare DBus: %s"
-@@ -1876,66 +1922,66 @@ msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
- msgid "%u available DHCPv6 subnet: %s/%d"
- msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
--#: rfc3315.c:379
-+#: rfc3315.c:380
- #, fuzzy, c-format
- msgid "%u vendor class: %u"
- msgstr "eroare DBus: %s"
--#: rfc3315.c:427
-+#: rfc3315.c:428
- #, fuzzy, c-format
- msgid "%u client MAC address: %s"
- msgstr "nu exista interfaţă pentru adresa %s"
--#: rfc3315.c:659
-+#: rfc3315.c:660
- #, fuzzy, c-format
- msgid "unknown prefix-class %d"
- msgstr "împrumut necunoscut"
--#: rfc3315.c:791 rfc3315.c:913
-+#: rfc3315.c:803 rfc3315.c:902
-+#, fuzzy
-+msgid "address unavailable"
-+msgstr "adresă indisponibilă"
-+
-+#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
- msgid "success"
- msgstr ""
--#: rfc3315.c:806 rfc3315.c:808 rfc3315.c:921 rfc3315.c:923
-+#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
- #, fuzzy
- msgid "no addresses available"
- msgstr "nici o adresă disponibilă"
--#: rfc3315.c:865
--#, fuzzy
--msgid "address unavailable"
--msgstr "adresă indisponibilă"
--
--#: rfc3315.c:900
-+#: rfc3315.c:937
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:973 rfc3315.c:1151 rfc3315.c:1228
-+#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1011
-+#: rfc3315.c:1048
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1016
-+#: rfc3315.c:1053
- #, fuzzy
- msgid "address invalid"
- msgstr "adresa este folosită"
--#: rfc3315.c:1061
-+#: rfc3315.c:1100
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1072
-+#: rfc3315.c:1116
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "adresă greşită în %s, linia %d"
--#: rfc3315.c:1160
-+#: rfc3315.c:1204
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2080
-+#: rfc3315.c:2130
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2028,7 +2074,7 @@ msgstr ""
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "nu pot creea socket DHCP: %s"
--#: auth.c:429
-+#: auth.c:436
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2043,54 +2089,89 @@ msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "creearea socket-ului de ascultare a eşuat: %s"
-+#: dnssec.c:425 dnssec.c:469
-+#, fuzzy, c-format
-+msgid "failed to update mtime on %s: %s"
-+msgstr "nu pot citi %s: %s"
-+
- #: blockdata.c:58
- #, c-format
- msgid "DNSSEC memory in use %u, max %u, allocated %u"
- msgstr ""
--#: tables.c:76
-+#: tables.c:80
- msgid "error: fill_addr missused"
- msgstr ""
--#: tables.c:105
-+#: tables.c:109
- #, fuzzy, c-format
- msgid "failed to access pf devices: %s"
- msgstr "accesarea serverului %s a eşuat: %s"
--#: tables.c:119
-+#: tables.c:123
- #, fuzzy, c-format
- msgid "warning: no opened pf devices %s"
- msgstr "folosim adresele locale doar pentru %S %s"
--#: tables.c:127
-+#: tables.c:131
- #, fuzzy, c-format
- msgid "error: cannot use table name %s"
- msgstr "nu pot citi numele maşinii: %s"
--#: tables.c:135
-+#: tables.c:139
- #, c-format
- msgid "error: cannot strlcpy table name %s"
- msgstr ""
--#: tables.c:141
-+#: tables.c:145
- #, c-format
- msgid "warning: pfr_add_tables: %s(%d)"
- msgstr ""
--#: tables.c:147
-+#: tables.c:151
- msgid "info: table created"
- msgstr ""
--#: tables.c:158
-+#: tables.c:162
- #, c-format
- msgid "warning: DIOCR%sADDRS: %s"
- msgstr ""
--#: tables.c:162
-+#: tables.c:166
- #, fuzzy, c-format
- msgid "%d addresses %s"
- msgstr "citesc %s - %d adrese"
-+#: inotify.c:46
-+#, fuzzy, c-format
-+msgid "failed to create inotify: %s"
-+msgstr "nu pot citi %s: %s"
-+
-+#: inotify.c:60
-+#, fuzzy, c-format
-+msgid "cannot cannonicalise resolv-file %s: %s"
-+msgstr "nu pot creea sau deschide fişierul cu împrumuturi: %s"
-+
-+#: inotify.c:72
-+#, c-format
-+msgid "directory %s for resolv-file is missing, cannot poll"
-+msgstr ""
-+
-+#: inotify.c:75 inotify.c:112
-+#, fuzzy, c-format
-+msgid "failed to create inotify for %s: %s"
-+msgstr "creearea socket-ului de ascultare a eşuat: %s"
-+
-+#: inotify.c:97
-+#, fuzzy, c-format
-+msgid "bad dynamic directory %s: %s"
-+msgstr "nu pot citi %s: %s"
-+
-+#: inotify.c:197
-+#, c-format
-+msgid "inotify, new or changed file %s"
-+msgstr ""
-+
- #~ msgid "duplicate IP address %s in dhcp-config directive."
- #~ msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch b/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch
deleted file mode 100644 (file)
index e8f796e..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-From 30d0879ed55cb67b1b735beab3d93f3bb3ef1dd2 Mon Sep 17 00:00:00 2001
-From: Stefan Tomanek <stefan.tomanek+dnsmasq@wertarbyte.de>
-Date: Tue, 31 Mar 2015 22:32:11 +0100
-Subject: [PATCH 068/113] add --tftp-no-fail to ignore missing tftp root
-
----
- CHANGELOG            |  3 +++
- dnsmasq.conf.example |  3 +++
- man/dnsmasq.8        |  3 +++
- src/dnsmasq.c        | 40 ++++++++++++++++++++++++++++++----------
- src/dnsmasq.h        |  4 +++-
- src/option.c         |  3 +++
- 6 files changed, 45 insertions(+), 11 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 4f4fa305deaa..34432ae4807f 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -72,6 +72,9 @@ version 2.73
-           on systems without an RTC, whilst allowing DNS queries before the
-           clock is valid so that NTP can run. Thanks to
-           Kevin Darbyshire-Bryant for developing this idea.
-+
-+          Add --tftp-no-fail option. Thanks to Stefan Tomanek for
-+          the patch.
-       
-       
- version 2.72
-diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
-index 1bd305dbdbad..67be99acb028 100644
---- a/dnsmasq.conf.example
-+++ b/dnsmasq.conf.example
-@@ -486,6 +486,9 @@
- # Set the root directory for files available via FTP.
- #tftp-root=/var/ftpd
-+# Do not abort if the tftp-root is unavailable
-+#tftp-no-fail
-+
- # Make the TFTP server more secure: with this set, only files owned by
- # the user dnsmasq is running as will be send over the net.
- #tftp-secure
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 1f1dd7b69c53..6b4626cc0aad 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -1711,6 +1711,9 @@ Absolute paths (starting with /) are allowed, but they must be within
- the tftp-root. If the optional interface argument is given, the
- directory is only used for TFTP requests via that interface.
- .TP
-+.B --tftp-no-fail
-+Do not abort startup if specified tftp root directories are inaccessible.
-+.TP
- .B --tftp-unique-root
- Add the IP address of the TFTP client as a path component on the end
- of the TFTP-root (in standard dotted-quad format). Only valid if a
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index b784951950d4..0d4d4558a2e2 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -58,6 +58,9 @@ int main (int argc, char **argv)
-   struct dhcp_context *context;
-   struct dhcp_relay *relay;
- #endif
-+#ifdef HAVE_TFTP
-+  int tftp_prefix_missing = 0;
-+#endif
- #ifdef LOCALEDIR
-   setlocale(LC_ALL, "");
-@@ -636,7 +639,7 @@ int main (int argc, char **argv)
- #endif
- #ifdef HAVE_TFTP
--      if (option_bool(OPT_TFTP))
-+  if (option_bool(OPT_TFTP))
-     {
-       DIR *dir;
-       struct tftp_prefix *p;
-@@ -645,24 +648,33 @@ int main (int argc, char **argv)
-       {
-         if (!((dir = opendir(daemon->tftp_prefix))))
-           {
--            send_event(err_pipe[1], EVENT_TFTP_ERR, errno, daemon->tftp_prefix);
--            _exit(0);
-+            tftp_prefix_missing = 1;
-+            if (!option_bool(OPT_TFTP_NO_FAIL))
-+              {
-+                send_event(err_pipe[1], EVENT_TFTP_ERR, errno, daemon->tftp_prefix);
-+                _exit(0);
-+              }
-           }
-         closedir(dir);
-       }
--
-+      
-       for (p = daemon->if_prefix; p; p = p->next)
-       {
-+        p->missing = 0;
-         if (!((dir = opendir(p->prefix))))
--         {
--           send_event(err_pipe[1], EVENT_TFTP_ERR, errno, p->prefix);
--           _exit(0);
--         } 
-+          {
-+            p->missing = 1;
-+            if (!option_bool(OPT_TFTP_NO_FAIL))
-+              {
-+                send_event(err_pipe[1], EVENT_TFTP_ERR, errno, p->prefix);
-+                _exit(0);
-+              }
-+          } 
-         closedir(dir);
-       }
-     }
- #endif
--
-+  
-   if (daemon->port == 0)
-     my_syslog(LOG_INFO, _("started, version %s DNS disabled"), VERSION);
-   else if (daemon->cachesize != 0)
-@@ -772,7 +784,8 @@ int main (int argc, char **argv)
- #ifdef HAVE_TFTP
-   if (option_bool(OPT_TFTP))
--    {
-+    { 
-+      struct tftp_prefix *p;
- #ifdef FD_SETSIZE
-       if (FD_SETSIZE < (unsigned)max_fd)
-       max_fd = FD_SETSIZE;
-@@ -782,7 +795,14 @@ int main (int argc, char **argv)
-               daemon->tftp_prefix ? _("root is ") : _("enabled"),
-               daemon->tftp_prefix ? daemon->tftp_prefix: "",
-               option_bool(OPT_TFTP_SECURE) ? _("secure mode") : "");
-+       
-+      if (tftp_prefix_missing)
-+      my_syslog(MS_TFTP | LOG_WARNING, _("warning: %s inaccessible"), daemon->tftp_prefix);
-       
-+      for (p = daemon->if_prefix; p; p = p->next)
-+      if (p->missing)
-+         my_syslog(MS_TFTP | LOG_WARNING, _("warning: TFTP directory %s inaccessible"), p->prefix);
-+
-       /* This is a guess, it assumes that for small limits, 
-        disjoint files might be served, but for large limits, 
-        a single file will be sent to may clients (the file only needs
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index de95d0e875e3..42952fc76c7a 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -240,7 +240,8 @@ struct event_desc {
- #define OPT_LOCAL_SERVICE  49
- #define OPT_LOOP_DETECT    50
- #define OPT_EXTRALOG       51
--#define OPT_LAST           52
-+#define OPT_TFTP_NO_FAIL   52
-+#define OPT_LAST           53
- /* extra flags for my_syslog, we use a couple of facilities since they are known 
-    not to occupy the same bits as priorities, no matter how syslog.h is set up. */
-@@ -901,6 +902,7 @@ struct addr_list {
- struct tftp_prefix {
-   char *interface;
-   char *prefix;
-+  int missing;
-   struct tftp_prefix *next;
- };
-diff --git a/src/option.c b/src/option.c
-index 3009eb545fde..f91cfbb1aa54 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -153,6 +153,7 @@ struct myoption {
- #define LOPT_DHOPT_INOTIFY 341
- #define LOPT_HOST_INOTIFY  342
- #define LOPT_DNSSEC_STAMP  343
-+#define LOPT_TFTP_NO_FAIL  344
- #ifdef HAVE_GETOPT_LONG
- static const struct option opts[] =  
-@@ -235,6 +236,7 @@ static const struct myoption opts[] =
-     { "dhcp-ignore-names", 2, 0, LOPT_NO_NAMES },
-     { "enable-tftp", 2, 0, LOPT_TFTP },
-     { "tftp-secure", 0, 0, LOPT_SECURE },
-+    { "tftp-no-fail", 0, 0, LOPT_TFTP_NO_FAIL },
-     { "tftp-unique-root", 0, 0, LOPT_APREF },
-     { "tftp-root", 1, 0, LOPT_PREFIX },
-     { "tftp-max", 1, 0, LOPT_TFTP_MAX },
-@@ -419,6 +421,7 @@ static struct {
-   { LOPT_PREFIX, ARG_DUP, "<dir>[,<iface>]", gettext_noop("Export files by TFTP only from the specified subtree."), NULL },
-   { LOPT_APREF, OPT_TFTP_APREF, NULL, gettext_noop("Add client IP address to tftp-root."), NULL },
-   { LOPT_SECURE, OPT_TFTP_SECURE, NULL, gettext_noop("Allow access only to files owned by the user running dnsmasq."), NULL },
-+  { LOPT_TFTP_NO_FAIL, OPT_TFTP_NO_FAIL, NULL, gettext_noop("Do not terminate the service if TFTP directories are inaccessible."), NULL },
-   { LOPT_TFTP_MAX, ARG_ONE, "<integer>", gettext_noop("Maximum number of conncurrent TFTP transfers (defaults to %s)."), "#" },
-   { LOPT_NOBLOCK, OPT_TFTP_NOBLOCK, NULL, gettext_noop("Disable the TFTP blocksize extension."), NULL },
-   { LOPT_TFTP_LC, OPT_TFTP_LC, NULL, gettext_noop("Convert TFTP filenames to lowercase"), NULL },
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0069-Whitespace-fixes.patch b/src/patches/dnsmasq/0069-Whitespace-fixes.patch
deleted file mode 100644 (file)
index 49dca71..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 7aa970e2c7043201663d86a4b5d8cd5c592cef39 Mon Sep 17 00:00:00 2001
-From: Stefan Tomanek <stefan.tomanek+dnsmasq@wertarbyte.de>
-Date: Wed, 1 Apr 2015 17:55:07 +0100
-Subject: [PATCH 069/113] Whitespace fixes.
-
----
- src/dnsmasq.c | 14 +++++++-------
- src/tftp.c    |  2 +-
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 0d4d4558a2e2..a7c5da8fbd01 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -345,7 +345,7 @@ int main (int argc, char **argv)
- #else
-   die(_("DBus not available: set HAVE_DBUS in src/config.h"), NULL, EC_BADCONF);
- #endif
--  
-+
-   if (daemon->port != 0)
-     pre_allocate_sfds();
-@@ -657,7 +657,7 @@ int main (int argc, char **argv)
-           }
-         closedir(dir);
-       }
--      
-+
-       for (p = daemon->if_prefix; p; p = p->next)
-       {
-         p->missing = 0;
-@@ -669,12 +669,12 @@ int main (int argc, char **argv)
-                 send_event(err_pipe[1], EVENT_TFTP_ERR, errno, p->prefix);
-                 _exit(0);
-               }
--          } 
-+          }
-         closedir(dir);
-       }
-     }
- #endif
--  
-+
-   if (daemon->port == 0)
-     my_syslog(LOG_INFO, _("started, version %s DNS disabled"), VERSION);
-   else if (daemon->cachesize != 0)
-@@ -784,7 +784,7 @@ int main (int argc, char **argv)
- #ifdef HAVE_TFTP
-   if (option_bool(OPT_TFTP))
--    { 
-+    {
-       struct tftp_prefix *p;
- #ifdef FD_SETSIZE
-       if (FD_SETSIZE < (unsigned)max_fd)
-@@ -795,10 +795,10 @@ int main (int argc, char **argv)
-               daemon->tftp_prefix ? _("root is ") : _("enabled"),
-               daemon->tftp_prefix ? daemon->tftp_prefix: "",
-               option_bool(OPT_TFTP_SECURE) ? _("secure mode") : "");
--       
-+
-       if (tftp_prefix_missing)
-       my_syslog(MS_TFTP | LOG_WARNING, _("warning: %s inaccessible"), daemon->tftp_prefix);
--      
-+
-       for (p = daemon->if_prefix; p; p = p->next)
-       if (p->missing)
-          my_syslog(MS_TFTP | LOG_WARNING, _("warning: TFTP directory %s inaccessible"), p->prefix);
-diff --git a/src/tftp.c b/src/tftp.c
-index a57a31514f44..d3fb6d7492e4 100644
---- a/src/tftp.c
-+++ b/src/tftp.c
-@@ -236,7 +236,7 @@ void tftp_request(struct listener *listen, time_t now)
-       if (ioctl(listen->tftpfd, SIOCGIFMTU, &ifr) != -1)
-       mtu = ifr.ifr_mtu;      
-     }
--  
-+
-   if (name)
-     {
-       /* check for per-interface prefix */ 
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch b/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch
deleted file mode 100644 (file)
index 142f4c9..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-From fe3992f9fa69fa975ea31919c53933b5f6a63527 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 3 Apr 2015 21:25:05 +0100
-Subject: [PATCH 070/113] Return INSECURE, rather than BOGUS when DS proved not
- to exist.
-
-Return INSECURE when validating DNS replies which have RRSIGs, but
-when a needed DS record in the trust chain is proved not to exist.
-It's allowed for a zone to set up DNSKEY and RRSIG records first, then
-add a DS later, completing the chain of trust.
-
-Also, since we don't have the infrastructure to track that these
-non-validated replies have RRSIGS, don't cache them, so we don't
-provide answers with missing RRSIGS from the cache.
----
- src/dnsmasq.h |  1 +
- src/dnssec.c  |  2 +-
- src/forward.c | 87 +++++++++++++++++++++++++++++++++++++++++++++--------------
- 3 files changed, 69 insertions(+), 21 deletions(-)
-
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 42952fc76c7a..6fe4a4189188 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -583,6 +583,7 @@ struct hostsfile {
- #define STAT_NO_NS             10
- #define STAT_NEED_DS_NEG       11
- #define STAT_CHASE_CNAME       12
-+#define STAT_INSECURE_DS       13
- #define FREC_NOREBIND           1
- #define FREC_CHECKING_DISABLED  2
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 14bae7e9bf75..05e0983cb251 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -981,7 +981,7 @@ int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t plen, ch
-   
-   /* If we've cached that DS provably doesn't exist, result must be INSECURE */
-   if (crecp->flags & F_NEG)
--    return STAT_INSECURE;
-+    return STAT_INSECURE_DS;
-   
-   /* NOTE, we need to find ONE DNSKEY which matches the DS */
-   for (valid = 0, j = ntohs(header->ancount); j != 0 && !valid; j--) 
-diff --git a/src/forward.c b/src/forward.c
-index 985814c3aec5..e8cf615aa939 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -521,7 +521,8 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
- }
- static size_t process_reply(struct dns_header *header, time_t now, struct server *server, size_t n, int check_rebind, 
--                          int no_cache, int cache_secure, int ad_reqd, int do_bit, int added_pheader, int check_subnet, union mysockaddr *query_source)
-+                          int no_cache, int cache_secure, int bogusanswer, int ad_reqd, int do_bit, int added_pheader, 
-+                          int check_subnet, union mysockaddr *query_source)
- {
-   unsigned char *pheader, *sizep;
-   char **sets = 0;
-@@ -634,7 +635,7 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
-     }
-   
- #ifdef HAVE_DNSSEC
--  if (no_cache && !(header->hb4 & HB4_CD)) 
-+  if (bogusanswer && !(header->hb4 & HB4_CD)) 
-     {
-       if (!option_bool(OPT_DNSSEC_DEBUG))
-       {
-@@ -786,7 +787,7 @@ void reply_query(int fd, int family, time_t now)
-      everything is broken */
-   if (forward->forwardall == 0 || --forward->forwardall == 1 || RCODE(header) != SERVFAIL)
-     {
--      int check_rebind = 0, no_cache_dnssec = 0, cache_secure = 0;
-+      int check_rebind = 0, no_cache_dnssec = 0, cache_secure = 0, bogusanswer = 0;
-       if (option_bool(OPT_NO_REBIND))
-       check_rebind = !(forward->flags & FREC_NOREBIND);
-@@ -819,7 +820,13 @@ void reply_query(int fd, int family, time_t now)
-         else if (forward->flags & FREC_DS_QUERY)
-           {
-             status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
--            if (status == STAT_NO_DS || status == STAT_NO_NS)
-+            /* Provably no DS, everything below is insecure, even if signatures are offered */
-+            if (status == STAT_NO_DS)
-+              /* We only cache sigs when we've validated a reply.
-+                 Avoid caching a reply with sigs if there's a vaildated break in the 
-+                 DS chain, so we don't return replies from cache missing sigs. */
-+              status = STAT_INSECURE_DS;
-+            else if (status == STAT_NO_NS)
-               status = STAT_BOGUS;
-           }
-         else if (forward->flags & FREC_CHECK_NOSIGN)
-@@ -959,8 +966,14 @@ void reply_query(int fd, int family, time_t now)
-                 else if (forward->flags & FREC_DS_QUERY)
-                   {
-                     status = dnssec_validate_ds(now, header, n, daemon->namebuff, daemon->keyname, forward->class);
--                    if (status == STAT_NO_DS || status == STAT_NO_NS)
--                      status = STAT_BOGUS;
-+                     /* Provably no DS, everything below is insecure, even if signatures are offered */
-+                    if (status == STAT_NO_DS)
-+                      /* We only cache sigs when we've validated a reply.
-+                         Avoid caching a reply with sigs if there's a vaildated break in the 
-+                         DS chain, so we don't return replies from cache missing sigs. */
-+                      status = STAT_INSECURE_DS;
-+                    else if (status == STAT_NO_NS)
-+                      status = STAT_BOGUS; 
-                   }
-                 else if (forward->flags & FREC_CHECK_NOSIGN)
-                   {
-@@ -985,6 +998,17 @@ void reply_query(int fd, int family, time_t now)
-               }
-           }
-         
-+        no_cache_dnssec = 0;
-+
-+        if (status == STAT_INSECURE_DS)
-+          {
-+            /* We only cache sigs when we've validated a reply.
-+               Avoid caching a reply with sigs if there's a vaildated break in the 
-+               DS chain, so we don't return replies from cache missing sigs. */
-+            status = STAT_INSECURE;
-+            no_cache_dnssec = 1;
-+          }
-+        
-         if (status == STAT_TRUNCATED)
-           header->hb3 |= HB3_TC;
-         else
-@@ -1002,12 +1026,13 @@ void reply_query(int fd, int family, time_t now)
-             log_query(F_KEYTAG | F_SECSTAT, "result", NULL, result);
-           }
-         
--        no_cache_dnssec = 0;
--        
-         if (status == STAT_SECURE)
-           cache_secure = 1;
-         else if (status == STAT_BOGUS)
--          no_cache_dnssec = 1;
-+          {
-+            no_cache_dnssec = 1;
-+            bogusanswer = 1;
-+          }
-       }
- #endif     
-       
-@@ -1017,7 +1042,7 @@ void reply_query(int fd, int family, time_t now)
-       else
-       header->hb4 &= ~HB4_CD;
-       
--      if ((nn = process_reply(header, now, server, (size_t)n, check_rebind, no_cache_dnssec, cache_secure,
-+      if ((nn = process_reply(header, now, server, (size_t)n, check_rebind, no_cache_dnssec, cache_secure, bogusanswer, 
-                             forward->flags & FREC_AD_QUESTION, forward->flags & FREC_DO_QUESTION, 
-                             forward->flags & FREC_ADDED_PHEADER, forward->flags & FREC_HAS_SUBNET, &forward->source)))
-       {
-@@ -1420,7 +1445,7 @@ static int do_check_sign(struct frec *forward, int status, time_t now, char *nam
-     }
- }
--/* Move toward the root, until we find a signed non-existance of a DS, in which case
-+/* Move down from the root, until we find a signed non-existance of a DS, in which case
-    an unsigned answer is OK, or we find a signed DS, in which case there should be 
-    a signature, and the answer is BOGUS */
- static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, size_t plen, int class, char *name, 
-@@ -1570,8 +1595,13 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-   else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG)
-     {
-       new_status = dnssec_validate_ds(now, header, n, name, keyname, class);
--      if (status == STAT_NEED_DS && (new_status == STAT_NO_DS || new_status == STAT_NO_NS))
--      new_status = STAT_BOGUS;
-+      if (status == STAT_NEED_DS)
-+      {
-+        if (new_status == STAT_NO_DS)
-+          new_status = STAT_INSECURE_DS;
-+        else if (new_status == STAT_NO_NS)
-+          new_status = STAT_BOGUS;
-+      }
-     }
-   else if (status == STAT_CHASE_CNAME)
-     new_status = dnssec_chase_cname(now, header, n, name, keyname);
-@@ -1630,8 +1660,13 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-             else if (status == STAT_NEED_DS || status == STAT_NEED_DS_NEG)
-               {
-                 new_status = dnssec_validate_ds(now, header, n, name, keyname, class);
--                if (status == STAT_NEED_DS  && (new_status == STAT_NO_DS || new_status == STAT_NO_NS))
--                  new_status = STAT_BOGUS; /* Validated no DS */
-+                if (status == STAT_NEED_DS)
-+                  {
-+                    if (new_status == STAT_NO_DS)
-+                      new_status = STAT_INSECURE_DS;
-+                    else if (new_status == STAT_NO_NS)
-+                      new_status = STAT_BOGUS; /* Validated no DS */
-+                  }
-               }
-             else if (status == STAT_CHASE_CNAME)
-               new_status = dnssec_chase_cname(now, header, n, name, keyname);
-@@ -1652,7 +1687,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-               goto another_tcp_key;
-           }
-       }
--
-+      
-       free(packet);
-     }
-   return new_status;
-@@ -1673,7 +1708,7 @@ unsigned char *tcp_request(int confd, time_t now,
-   int local_auth = 0;
- #endif
-   int checking_disabled, ad_question, do_bit, added_pheader = 0;
--  int check_subnet, no_cache_dnssec = 0, cache_secure = 0;
-+  int check_subnet, no_cache_dnssec = 0, cache_secure = 0, bogusanswer = 0;
-   size_t m;
-   unsigned short qtype;
-   unsigned int gotname;
-@@ -1941,6 +1976,15 @@ unsigned char *tcp_request(int confd, time_t now,
-                         int status = tcp_key_recurse(now, STAT_TRUNCATED, header, m, 0, daemon->namebuff, daemon->keyname, last_server, &keycount);
-                         char *result;
-+                        if (status == STAT_INSECURE_DS)
-+                          {
-+                            /* We only cache sigs when we've validated a reply.
-+                               Avoid caching a reply with sigs if there's a vaildated break in the 
-+                               DS chain, so we don't return replies from cache missing sigs. */
-+                            status = STAT_INSECURE;
-+                            no_cache_dnssec = 1;
-+                          }
-+                        
-                         if (keycount == 0)
-                           {
-                             result = "ABANDONED";
-@@ -1952,8 +1996,11 @@ unsigned char *tcp_request(int confd, time_t now,
-                         log_query(F_KEYTAG | F_SECSTAT, "result", NULL, result);
-                         
-                         if (status == STAT_BOGUS)
--                          no_cache_dnssec = 1;
--                        
-+                          {
-+                            no_cache_dnssec = 1;
-+                            bogusanswer = 1;
-+                          }
-+
-                         if (status == STAT_SECURE)
-                           cache_secure = 1;
-                       }
-@@ -1987,7 +2034,7 @@ unsigned char *tcp_request(int confd, time_t now,
- #endif
-                     m = process_reply(header, now, last_server, (unsigned int)m, 
--                                      option_bool(OPT_NO_REBIND) && !norebind, no_cache_dnssec,
-+                                      option_bool(OPT_NO_REBIND) && !norebind, no_cache_dnssec, bogusanswer,
-                                       cache_secure, ad_question, do_bit, added_pheader, check_subnet, &peer_addr); 
-                     
-                     break;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch b/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch
deleted file mode 100644 (file)
index 37f09d7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 982faf402487e265ed11ac03524531d42b03c966 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 3 Apr 2015 21:42:30 +0100
-Subject: [PATCH 071/113] Fix compiler warning when not including DNSSEC.
-
----
- src/forward.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index e8cf615aa939..3f6b9a23b6ab 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -530,7 +530,8 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
-   size_t plen; 
-   (void)ad_reqd;
--  (void) do_bit;
-+  (void)do_bit;
-+  (void)bogusanswer;
- #ifdef HAVE_IPSET
-   if (daemon->ipsets && extract_request(header, n, daemon->namebuff, NULL))
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch b/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch
deleted file mode 100644 (file)
index 7baedf0..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From 04b0ac05377936d121a36873bb63d492cde292c9 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 6 Apr 2015 17:19:13 +0100
-Subject: [PATCH 072/113] Fix crash caused by looking up servers.bind when many
- servers defined.
-
----
- CHANGELOG   | 7 ++++++-
- src/cache.c | 4 ++--
- 2 files changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 34432ae4807f..6aa3d851a297 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -75,7 +75,12 @@ version 2.73
-           Add --tftp-no-fail option. Thanks to Stefan Tomanek for
-           the patch.
--      
-+
-+          Fix crash caused by looking up servers.bind, CHAOS text record,
-+          when more than about five --servers= lines are in the dnsmasq
-+          config. This causes memory corruption which causes a crash later.
-+          Thanks to Matt Coddington for sterling work chasing this down.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/cache.c b/src/cache.c
-index d7bea574c0d8..178d654ca92e 100644
---- a/src/cache.c
-+++ b/src/cache.c
-@@ -1367,7 +1367,7 @@ int cache_make_stat(struct txt_record *t)
-               }
-           port = prettyprint_addr(&serv->addr, daemon->addrbuff);
-           lenp = p++; /* length */
--          bytes_avail = (p - buff) + bufflen;
-+          bytes_avail = bufflen - (p - buff );
-           bytes_needed = snprintf(p, bytes_avail, "%s#%d %u %u", daemon->addrbuff, port, queries, failed_queries);
-           if (bytes_needed >= bytes_avail)
-             {
-@@ -1381,7 +1381,7 @@ int cache_make_stat(struct txt_record *t)
-               lenp = p - 1;
-               buff = new;
-               bufflen = newlen;
--              bytes_avail = (p - buff) + bufflen;
-+              bytes_avail =  bufflen - (p - buff );
-               bytes_needed = snprintf(p, bytes_avail, "%s#%d %u %u", daemon->addrbuff, port, queries, failed_queries);
-             }
-           *lenp = bytes_needed;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch b/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch
deleted file mode 100644 (file)
index cc7ed4b..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From ad4a8ff7d9097008d7623df8543df435bfddeac8 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 9 Apr 2015 21:48:00 +0100
-Subject: [PATCH 073/113] Fix crash on receipt of certain malformed DNS
- requests.
-
----
- CHANGELOG     | 3 +++
- src/rfc1035.c | 9 ++++++---
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 6aa3d851a297..9af617056f1f 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -125,6 +125,9 @@ version 2.72
-             Fix problem with --local-service option on big-endian platforms
-           Thanks to Richard Genoud for the patch.
-+          Fix crash on receipt of certain malformed DNS requests. Thanks
-+          to Nick Sampanis for spotting the problem.
-+      
- version 2.71
-             Subtle change to error handling to help DNSSEC validation 
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 7a07b0cee906..a995ab50d74a 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1198,7 +1198,10 @@ unsigned int extract_request(struct dns_header *header, size_t qlen, char *name,
- size_t setup_reply(struct dns_header *header, size_t qlen,
-               struct all_addr *addrp, unsigned int flags, unsigned long ttl)
- {
--  unsigned char *p = skip_questions(header, qlen);
-+  unsigned char *p;
-+
-+  if (!(p = skip_questions(header, qlen)))
-+    return 0;
-   
-   /* clear authoritative and truncated flags, set QR flag */
-   header->hb3 = (header->hb3 & ~(HB3_AA | HB3_TC)) | HB3_QR;
-@@ -1214,7 +1217,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen,
-     SET_RCODE(header, NOERROR); /* empty domain */
-   else if (flags == F_NXDOMAIN)
-     SET_RCODE(header, NXDOMAIN);
--  else if (p && flags == F_IPV4)
-+  else if (flags == F_IPV4)
-     { /* we know the address */
-       SET_RCODE(header, NOERROR);
-       header->ancount = htons(1);
-@@ -1222,7 +1225,7 @@ size_t setup_reply(struct dns_header *header, size_t qlen,
-       add_resource_record(header, NULL, NULL, sizeof(struct dns_header), &p, ttl, NULL, T_A, C_IN, "4", addrp);
-     }
- #ifdef HAVE_IPV6
--  else if (p && flags == F_IPV6)
-+  else if (flags == F_IPV6)
-     {
-       SET_RCODE(header, NOERROR);
-       header->ancount = htons(1);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch b/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch
deleted file mode 100644 (file)
index 4b4ff32..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-From 38440b204db65f9be16c4c3daa7e991e4356f6ed Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 12 Apr 2015 21:52:47 +0100
-Subject: [PATCH 074/113] Fix crash in auth code with odd configuration.
-
----
- CHANGELOG  | 32 +++++++++++++++++++++-----------
- src/auth.c | 13 ++++++++-----
- 2 files changed, 29 insertions(+), 16 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 9af617056f1f..f2142c71cbdc 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -68,18 +68,31 @@ version 2.73
-           Fix broken DNSSEC validation of ECDSA signatures.
-           Add --dnssec-timestamp option, which provides an automatic
--          way to detect when the system time becomes valid after boot
--          on systems without an RTC, whilst allowing DNS queries before the
--          clock is valid so that NTP can run. Thanks to
--          Kevin Darbyshire-Bryant for developing this idea.
-+          way to detect when the system time becomes valid after 
-+          boot on systems without an RTC, whilst allowing DNS 
-+          queries before the clock is valid so that NTP can run. 
-+          Thanks to Kevin Darbyshire-Bryant for developing this idea.
-           Add --tftp-no-fail option. Thanks to Stefan Tomanek for
-           the patch.
--          Fix crash caused by looking up servers.bind, CHAOS text record,
--          when more than about five --servers= lines are in the dnsmasq
--          config. This causes memory corruption which causes a crash later.
--          Thanks to Matt Coddington for sterling work chasing this down.
-+          Fix crash caused by looking up servers.bind, CHAOS text 
-+          record, when more than about five --servers= lines are 
-+          in the dnsmasq config. This causes memory corruption 
-+          which causes a crash later. Thanks to Matt Coddington for 
-+          sterling work chasing this down.
-+
-+          Fix crash on receipt of certain malformed DNS requests.
-+          Thanks to Nick Sampanis for spotting the problem.
-+
-+            Fix crash in authoritative DNS code, if a .arpa zone 
-+          is declared as authoritative, and then a PTR query which
-+          is not to be treated as authoritative arrived. Normally, 
-+          directly declaring .arpa zone as authoritative is not 
-+          done, so this crash wouldn't be seen. Instead the 
-+          relevant .arpa zone should be specified as a subnet
-+          in the auth-zone declaration. Thanks to Johnny S. Lee
-+          for the bugreport and initial patch.
-       
- version 2.72
-@@ -125,10 +138,7 @@ version 2.72
-             Fix problem with --local-service option on big-endian platforms
-           Thanks to Richard Genoud for the patch.
--          Fix crash on receipt of certain malformed DNS requests. Thanks
--          to Nick Sampanis for spotting the problem.
-       
--
- version 2.71
-             Subtle change to error handling to help DNSSEC validation 
-           when servers fail to provide NODATA answers for 
-diff --git a/src/auth.c b/src/auth.c
-index 15721e52793f..4a5c39fc5c07 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -141,7 +141,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-             for (zone = daemon->auth_zones; zone; zone = zone->next)
-               if ((subnet = find_subnet(zone, flag, &addr)))
-                 break;
--            
-+                      
-             if (!zone)
-               {
-                 auth = 0;
-@@ -186,7 +186,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-         
-         if (intr)
-           {
--            if (in_zone(zone, intr->name, NULL))
-+            if (local_query || in_zone(zone, intr->name, NULL))
-               {       
-                 found = 1;
-                 log_query(flag | F_REVERSE | F_CONFIG, intr->name, &addr, NULL);
-@@ -208,8 +208,11 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-                   *p = 0; /* must be bare name */
-                 
-                 /* add  external domain */
--                strcat(name, ".");
--                strcat(name, zone->domain);
-+                if (zone)
-+                  {
-+                    strcat(name, ".");
-+                    strcat(name, zone->domain);
-+                  }
-                 log_query(flag | F_DHCP | F_REVERSE, name, &addr, record_source(crecp->uid));
-                 found = 1;
-                 if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, 
-@@ -217,7 +220,7 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-                                         T_PTR, C_IN, "d", name))
-                   anscount++;
-               }
--            else if (crecp->flags & (F_DHCP | F_HOSTS) && in_zone(zone, name, NULL))
-+            else if (crecp->flags & (F_DHCP | F_HOSTS) && (local_query || in_zone(zone, name, NULL)))
-               {
-                 log_query(crecp->flags & ~F_FORWARD, name, &addr, record_source(crecp->uid));
-                 found = 1;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch b/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch
deleted file mode 100644 (file)
index b125a92..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-From 78c6184752dce27849e36cce4360abc27b8d76d2 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 16 Apr 2015 15:05:30 +0100
-Subject: [PATCH 075/113] Auth: correct replies to NS and SOA in .arpa zones.
-
----
- CHANGELOG  |  8 ++++++++
- src/auth.c | 51 ++++++++++++++++++++++++++++++---------------------
- 2 files changed, 38 insertions(+), 21 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index f2142c71cbdc..0619788e9cef 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -94,6 +94,14 @@ version 2.73
-           in the auth-zone declaration. Thanks to Johnny S. Lee
-           for the bugreport and initial patch.
-+          Fix authoritative DNS code to correctly reply to NS 
-+          and SOA queries for .arpa zones for which we are 
-+          declared authoritative by means of a subnet in auth-zone.
-+          Previously we provided correct answers to PTR queries
-+          in such zones (including NS and SOA) but not direct
-+          NS and SOA queries. Thanks to Johnny S. Lee for 
-+          pointing out the problem.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/auth.c b/src/auth.c
-index 4a5c39fc5c07..2b0b7d6b052d 100644
---- a/src/auth.c
-+++ b/src/auth.c
-@@ -131,24 +131,27 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-         continue;
-       }
--      if (qtype == T_PTR)
-+      if ((qtype == T_PTR || qtype == T_SOA || qtype == T_NS) &&
-+        (flag = in_arpa_name_2_addr(name, &addr)) &&
-+        !local_query)
-       {
--        if (!(flag = in_arpa_name_2_addr(name, &addr)))
--          continue;
--
--        if (!local_query)
-+        for (zone = daemon->auth_zones; zone; zone = zone->next)
-+          if ((subnet = find_subnet(zone, flag, &addr)))
-+            break;
-+        
-+        if (!zone)
-           {
--            for (zone = daemon->auth_zones; zone; zone = zone->next)
--              if ((subnet = find_subnet(zone, flag, &addr)))
--                break;
--                      
--            if (!zone)
--              {
--                auth = 0;
--                continue;
--              }
-+            auth = 0;
-+            continue;
-           }
-+        else if (qtype == T_SOA)
-+          soa = 1, found = 1;
-+        else if (qtype == T_NS)
-+          ns = 1, found = 1;
-+      }
-+      if (qtype == T_PTR && flag)
-+      {
-         intr = NULL;
-         if (flag == F_IPV4)
-@@ -243,14 +246,20 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
-       }
-       
-     cname_restart:
--      for (zone = daemon->auth_zones; zone; zone = zone->next)
--      if (in_zone(zone, name, &cut))
--        break;
--      
--      if (!zone)
-+      if (found)
-+      /* NS and SOA .arpa requests have set found above. */
-+      cut = NULL;
-+      else
-       {
--        auth = 0;
--        continue;
-+        for (zone = daemon->auth_zones; zone; zone = zone->next)
-+          if (in_zone(zone, name, &cut))
-+            break;
-+        
-+        if (!zone)
-+          {
-+            auth = 0;
-+            continue;
-+          }
-       }
-       for (rec = daemon->mxnames; rec; rec = rec->next)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch b/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch
deleted file mode 100644 (file)
index 8702f53..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-From b4c0f092d8ce63ea4763c0ac17aa8d24318ad301 Mon Sep 17 00:00:00 2001
-From: Stefan Tomanek <stefan.tomanek+dnsmasq@wertarbyte.de>
-Date: Thu, 16 Apr 2015 15:20:59 +0100
-Subject: [PATCH 076/113] Fix (srk induced) crash in new tftp_no_fail code.
-
----
- src/dnsmasq.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index a7c5da8fbd01..20b15c05103a 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -655,7 +655,8 @@ int main (int argc, char **argv)
-                 _exit(0);
-               }
-           }
--        closedir(dir);
-+        else
-+          closedir(dir);
-       }
-       for (p = daemon->if_prefix; p; p = p->next)
-@@ -670,7 +671,8 @@ int main (int argc, char **argv)
-                 _exit(0);
-               }
-           }
--        closedir(dir);
-+        else
-+          closedir(dir);
-       }
-     }
- #endif
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch b/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch
deleted file mode 100644 (file)
index 9f2c6d8..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0df29f5e23fd2f16181847db1fcf3a8b392d869a Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 16 Apr 2015 15:24:52 +0100
-Subject: [PATCH 077/113] Note CVE-2015-3294
-
----
- CHANGELOG | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 0619788e9cef..7f2b1e002e9e 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -84,6 +84,9 @@ version 2.73
-           Fix crash on receipt of certain malformed DNS requests.
-           Thanks to Nick Sampanis for spotting the problem.
-+          Note that this is could allow the dnsmasq process's
-+          memory to be read by an attacker under certain
-+          circumstances, so it has a CVE, CVE-2015-3294 
-             Fix crash in authoritative DNS code, if a .arpa zone 
-           is declared as authoritative, and then a PTR query which
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch b/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch
deleted file mode 100644 (file)
index f833b93..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From 554b580e970275d5a869cb4fbfb2716f92b2f664 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 17 Apr 2015 22:50:20 +0100
-Subject: [PATCH 078/113] Log domain when reporting DNSSEC validation failure.
-
----
- src/forward.c | 15 ++++++++++-----
- 1 file changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 3f6b9a23b6ab..1c7da3f5655c 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -1014,7 +1014,7 @@ void reply_query(int fd, int family, time_t now)
-           header->hb3 |= HB3_TC;
-         else
-           {
--            char *result;
-+            char *result, *domain = "result";
-             
-             if (forward->work_counter == 0)
-               {
-@@ -1024,7 +1024,10 @@ void reply_query(int fd, int family, time_t now)
-             else
-               result = (status == STAT_SECURE ? "SECURE" : (status == STAT_INSECURE ? "INSECURE" : "BOGUS"));
-             
--            log_query(F_KEYTAG | F_SECSTAT, "result", NULL, result);
-+            if (status == STAT_BOGUS && extract_request(header, n, daemon->namebuff, NULL))
-+              domain = daemon->namebuff;
-+
-+            log_query(F_KEYTAG | F_SECSTAT, domain, NULL, result);
-           }
-         
-         if (status == STAT_SECURE)
-@@ -1975,7 +1978,7 @@ unsigned char *tcp_request(int confd, time_t now,
-                       {
-                         int keycount = DNSSEC_WORK; /* Limit to number of DNSSEC questions, to catch loops and avoid filling cache. */
-                         int status = tcp_key_recurse(now, STAT_TRUNCATED, header, m, 0, daemon->namebuff, daemon->keyname, last_server, &keycount);
--                        char *result;
-+                        char *result, *domain = "result";
-                         if (status == STAT_INSECURE_DS)
-                           {
-@@ -1993,8 +1996,10 @@ unsigned char *tcp_request(int confd, time_t now,
-                           }
-                         else
-                           result = (status == STAT_SECURE ? "SECURE" : (status == STAT_INSECURE ? "INSECURE" : "BOGUS"));
--                        
--                        log_query(F_KEYTAG | F_SECSTAT, "result", NULL, result);
-+                         if (status == STAT_BOGUS && extract_request(header, m, daemon->namebuff, NULL))
-+                           domain = daemon->namebuff;
-+
-+                        log_query(F_KEYTAG | F_SECSTAT, domain, NULL, result);
-                         
-                         if (status == STAT_BOGUS)
-                           {
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch b/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch
deleted file mode 100644 (file)
index 9916cb7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From a006eb7e1486023480ea40244720ef7aab51de71 Mon Sep 17 00:00:00 2001
-From: Moshe Levi <moshele@mellanox.com>
-Date: Sun, 19 Apr 2015 22:10:40 +0100
-Subject: [PATCH 079/113] Check IP address command line arg in dhcp_release.c
-
----
- contrib/wrt/dhcp_release.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/contrib/wrt/dhcp_release.c b/contrib/wrt/dhcp_release.c
-index 53f47dda3aec..a51f04b30cab 100644
---- a/contrib/wrt/dhcp_release.c
-+++ b/contrib/wrt/dhcp_release.c
-@@ -277,6 +277,11 @@ int main(int argc, char **argv)
-       exit(1);
-     }
-   
-+  if (inet_addr(argv[2]) == INADDR_NONE)
-+    {
-+      perror("invalid ip address");
-+      exit(1);
-+    }
-   
-   lease.s_addr = inet_addr(argv[2]);
-   server = find_interface(lease, nl, if_nametoindex(argv[1]));
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch b/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch
deleted file mode 100644 (file)
index c4e2103..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 338b340be9e7198f5c0f68133d070d6598a0814c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Mon, 20 Apr 2015 21:34:05 +0100
-Subject: [PATCH 080/113] Revert 61b838dd574c51d96fef100285a0d225824534f9 and
- just quieten log instead.
-
----
- src/rfc3315.c | 24 ++++++++++--------------
- 1 file changed, 10 insertions(+), 14 deletions(-)
-
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index c1ddc805988d..c45116a40a09 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -824,25 +824,21 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-         }
-       else
-         { 
--          /* Windows 8 always requests an address even if the Managed bit
--             in RA is 0 and it keeps retrying if it receives a reply
--             stating that no addresses are available. We solve this 
--             by not replying at all if we're not configured to give any 
--             addresses by DHCPv6. RFC 3315 17.2.1. appears to allow this. */
--          
--          for (c = state->context; c; c = c->current)
--            if (!(c->flags & CONTEXT_RA_STATELESS))
--              break;
--          
--          if (!c)
--            return 0;
--          
-           /* no address, return error */
-           o1 = new_opt6(OPTION6_STATUS_CODE);
-           put_opt6_short(DHCP6NOADDRS);
-           put_opt6_string(_("no addresses available"));
-           end_opt6(o1);
--          log6_packet(state, state->lease_allocate ? "DHCPREPLY" : "DHCPADVERTISE", NULL, _("no addresses available"));
-+
-+          /* Some clients will ask repeatedly when we're not giving
-+             out addresses because we're in stateless mode. Avoid spamming
-+             the log in that case. */
-+          for (c = state->context; c; c = c->current)
-+            if (!(c->flags & CONTEXT_RA_STATELESS))
-+              {
-+                log6_packet(state, state->lease_allocate ? "DHCPREPLY" : "DHCPADVERTISE", NULL, _("no addresses available"));
-+                break;
-+              }
-         }
-       break;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch b/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch
deleted file mode 100644 (file)
index a2f10fe..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-From cbe379ad6b52a538a4416a7cd992817e5637ccf9 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 21 Apr 2015 22:57:06 +0100
-Subject: [PATCH 081/113] Handle domain names with '.' or /000 within labels.
-
-Only in DNSSEC mode, where we might need to validate or store
-such names. In none-DNSSEC mode, simply don't cache these, as before.
----
- src/dns-protocol.h |  4 ++++
- src/dnsmasq.c      | 15 +++++++++++++--
- src/dnssec.c       | 40 +++++++++++++++++++++++++++++++---------
- src/rfc1035.c      | 16 +++++++++++++++-
- src/util.c         |  9 ++++++++-
- 5 files changed, 71 insertions(+), 13 deletions(-)
-
-diff --git a/src/dns-protocol.h b/src/dns-protocol.h
-index 16fade33d98c..7f5d686bb150 100644
---- a/src/dns-protocol.h
-+++ b/src/dns-protocol.h
-@@ -142,3 +142,7 @@ struct dns_header {
- #define ADD_RDLEN(header, pp, plen, len) \
-   (!CHECK_LEN(header, pp, plen, len) ? 0 : (((pp) += (len)), 1))
-+
-+/* Escape character in our presentation format for names.
-+   Cannot be '.' or /000 and must be !isprint() */
-+#define NAME_ESCAPE 1
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
-index 20b15c05103a..19a6428b09e8 100644
---- a/src/dnsmasq.c
-+++ b/src/dnsmasq.c
-@@ -102,8 +102,19 @@ int main (int argc, char **argv)
- #ifdef HAVE_DNSSEC
-   if (option_bool(OPT_DNSSEC_VALID))
-     {
--      daemon->keyname = safe_malloc(MAXDNAME);
--      daemon->workspacename = safe_malloc(MAXDNAME);
-+      /* Note that both /000 and '.' are allowed within labels. These get
-+       represented in presentation format using NAME_ESCAPE as an escape
-+       character when in DNSSEC mode. 
-+       In theory, if all the characters in a name were /000 or
-+       '.' or NAME_ESCAPE then all would have to be escaped, so the 
-+       presentation format would be twice as long as the spec.
-+
-+       daemon->namebuff was previously allocated by the option-reading
-+       code before we knew if we're in DNSSEC mode, so reallocate here. */
-+      free(daemon->namebuff);
-+      daemon->namebuff = safe_malloc(MAXDNAME * 2);
-+      daemon->keyname = safe_malloc(MAXDNAME * 2);
-+      daemon->workspacename = safe_malloc(MAXDNAME * 2);
-     }
- #endif
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 05e0983cb251..c116a7b5f6f4 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -321,10 +321,18 @@ static int verify(struct blockdata *key_data, unsigned int key_len, unsigned cha
-    thus generating names in canonical form.
-    Calling to_wire followed by from_wire is almost an identity,
-    except that the UC remains mapped to LC. 
-+
-+   Note that both /000 and '.' are allowed within labels. These get
-+   represented in presentation format using NAME_ESCAPE as an escape
-+   character. In theory, if all the characters in a name were /000 or
-+   '.' or NAME_ESCAPE then all would have to be escaped, so the 
-+   presentation format would be twice as long as the spec (1024). 
-+   The buffers are all delcared as 2049 (allowing for the trailing zero) 
-+   for this reason.
- */
- static int to_wire(char *name)
- {
--  unsigned char *l, *p, term;
-+  unsigned char *l, *p, *q, term;
-   int len;
-   for (l = (unsigned char*)name; *l != 0; l = p)
-@@ -332,7 +340,10 @@ static int to_wire(char *name)
-       for (p = l; *p != '.' && *p != 0; p++)
-       if (*p >= 'A' && *p <= 'Z')
-         *p = *p - 'A' + 'a';
--      
-+      else if (*p == NAME_ESCAPE)
-+        for (q = p; *q; q++)
-+            *q = *(q+1);
-+             
-       term = *p;
-       
-       if ((len = p - l) != 0)
-@@ -351,13 +362,23 @@ static int to_wire(char *name)
- /* Note: no compression  allowed in input. */
- static void from_wire(char *name)
- {
--  unsigned char *l;
-+  unsigned char *l, *p, *last;
-   int len;
--
-+  
-+  for (last = (unsigned char *)name; *last != 0; last += *last+1);
-+  
-   for (l = (unsigned char *)name; *l != 0; l += len+1)
-     {
-       len = *l;
-       memmove(l, l+1, len);
-+      for (p = l; p < l + len; p++)
-+      if (*p == '.' || *p == 0 || *p == NAME_ESCAPE)
-+        {
-+          memmove(p+1, p, 1 + last - p);
-+          len++;
-+          *p++ = NAME_ESCAPE;
-+        }
-+      
-       l[len] = '.';
-     }
-@@ -645,7 +666,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-             if (left1 != 0)
-               memmove(buff1, buff1 + len1 - left1, left1);
-             
--            if ((len1 = get_rdata(header, plen, end1, buff1 + left1, MAXDNAME - left1, &p1, &dp1)) == 0)
-+            if ((len1 = get_rdata(header, plen, end1, buff1 + left1, (MAXDNAME * 2) - left1, &p1, &dp1)) == 0)
-               {
-                 quit = 1;
-                 len1 = end1 - p1;
-@@ -656,7 +677,7 @@ static void sort_rrset(struct dns_header *header, size_t plen, u16 *rr_desc, int
-             if (left2 != 0)
-               memmove(buff2, buff2 + len2 - left2, left2);
-             
--            if ((len2 = get_rdata(header, plen, end2, buff2 + left2, MAXDNAME - left2, &p2, &dp2)) == 0)
-+            if ((len2 = get_rdata(header, plen, end2, buff2 + left2, (MAXDNAME *2) - left2, &p2, &dp2)) == 0)
-               {
-                 quit = 1;
-                 len2 = end2 - p2;
-@@ -902,10 +923,11 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         
-         end = p + rdlen;
-         
--        /* canonicalise rdata and calculate length of same, use name buffer as workspace */
-+        /* canonicalise rdata and calculate length of same, use name buffer as workspace.
-+           Note that name buffer is twice MAXDNAME long in DNSSEC mode. */
-         cp = p;
-         dp = rr_desc;
--        for (len = 0; (seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)) != 0; len += seg);
-+        for (len = 0; (seg = get_rdata(header, plen, end, name, MAXDNAME * 2, &cp, &dp)) != 0; len += seg);
-         len += end - cp;
-         len = htons(len);
-         hash->update(ctx, 2, (unsigned char *)&len); 
-@@ -913,7 +935,7 @@ static int validate_rrset(time_t now, struct dns_header *header, size_t plen, in
-         /* Now canonicalise again and digest. */
-         cp = p;
-         dp = rr_desc;
--        while ((seg = get_rdata(header, plen, end, name, MAXDNAME, &cp, &dp)))
-+        while ((seg = get_rdata(header, plen, end, name, MAXDNAME * 2, &cp, &dp)))
-           hash->update(ctx, seg, (unsigned char *)name);
-         if (cp != end)
-           hash->update(ctx, end - cp, cp);
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index a995ab50d74a..19fecc818c06 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -128,6 +128,15 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           if (isExtract)
-             {
-               unsigned char c = *p;
-+#ifdef HAVE_DNSSEC
-+              if (option_bool(OPT_DNSSEC_VALID))
-+                {
-+                  if (c == 0 || c == '.' || c == NAME_ESCAPE)
-+                    *cp++ = NAME_ESCAPE;
-+                  *cp++ = c;
-+                }
-+              else
-+#endif
-               if (c != 0 && c != '.')
-                 *cp++ = c;
-               else
-@@ -144,9 +153,14 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-                   cp++;
-                   if (c1 >= 'A' && c1 <= 'Z')
-                     c1 += 'a' - 'A';
-+#ifdef HAVE_DNSSEC
-+                  if (option_bool(OPT_DNSSEC_VALID) && c1 == NAME_ESCAPE)
-+                    c1 = *cp++;
-+#endif
-+                  
-                   if (c2 >= 'A' && c2 <= 'Z')
-                     c2 += 'a' - 'A';
--                  
-+                   
-                   if (c1 != c2)
-                     retvalue =  2;
-                 }
-diff --git a/src/util.c b/src/util.c
-index 648bc4d4b428..0c1a48b4700a 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -226,7 +226,14 @@ unsigned char *do_rfc1035_name(unsigned char *p, char *sval)
-     {
-       unsigned char *cp = p++;
-       for (j = 0; *sval && (*sval != '.'); sval++, j++)
--      *p++ = *sval;
-+      {
-+#ifdef HAVE_DNSSEC
-+        if (option_bool(OPT_DNSSEC_VALID) && *sval == NAME_ESCAPE)
-+          *p++ = *(++sval);
-+        else
-+#endif                
-+          *p++ = *sval;
-+      }
-       *cp  = j;
-       if (*sval)
-       sval++;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch b/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch
deleted file mode 100644 (file)
index 1b2b73b..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-From b8f16556d36924cd8dc7663cb4129d7b1f3fc2be Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 22 Apr 2015 21:14:31 +0100
-Subject: [PATCH 082/113] Tweaks to previous, DNS label charset commit.
-
----
- src/dns-protocol.h |  6 +++++-
- src/dnssec.c       |  9 ++++++---
- src/rfc1035.c      | 25 ++++++++++++++++++-------
- src/util.c         |  2 +-
- 4 files changed, 30 insertions(+), 12 deletions(-)
-
-diff --git a/src/dns-protocol.h b/src/dns-protocol.h
-index 7f5d686bb150..4b71746f8d26 100644
---- a/src/dns-protocol.h
-+++ b/src/dns-protocol.h
-@@ -144,5 +144,9 @@ struct dns_header {
-   (!CHECK_LEN(header, pp, plen, len) ? 0 : (((pp) += (len)), 1))
- /* Escape character in our presentation format for names.
--   Cannot be '.' or /000 and must be !isprint() */
-+   Cannot be '.' or /000 and must be !isprint().
-+   Note that escaped chars are stored as
-+   <NAME_ESCAPE> <orig-char+1>
-+   to ensure that the escaped form of /000 doesn't include /000
-+*/
- #define NAME_ESCAPE 1
-diff --git a/src/dnssec.c b/src/dnssec.c
-index c116a7b5f6f4..a9e12153ccf2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -341,9 +341,11 @@ static int to_wire(char *name)
-       if (*p >= 'A' && *p <= 'Z')
-         *p = *p - 'A' + 'a';
-       else if (*p == NAME_ESCAPE)
--        for (q = p; *q; q++)
-+        {
-+          for (q = p; *q; q++)
-             *q = *(q+1);
--             
-+          (*p)--;
-+        }
-       term = *p;
-       
-       if ((len = p - l) != 0)
-@@ -376,7 +378,8 @@ static void from_wire(char *name)
-         {
-           memmove(p+1, p, 1 + last - p);
-           len++;
--          *p++ = NAME_ESCAPE;
-+          *p++ = NAME_ESCAPE; 
-+          (*p)++;
-         }
-       
-       l[len] = '.';
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 19fecc818c06..32df31ad603c 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -20,7 +20,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-                char *name, int isExtract, int extrabytes)
- {
-   unsigned char *cp = (unsigned char *)name, *p = *pp, *p1 = NULL;
--  unsigned int j, l, hops = 0;
-+  unsigned int j, l, namelen = 0, hops = 0;
-   int retvalue = 1;
-   
-   if (isExtract)
-@@ -94,9 +94,15 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           count = 256;
-         digs = ((count-1)>>2)+1;
-         
--        /* output is \[x<hex>/siz]. which is digs+9 chars */
--        if (cp - (unsigned char *)name + digs + 9 >= MAXDNAME)
-+        /* output is \[x<hex>/siz]. which is digs+6/7/8 chars */
-+        namelen += digs+6;
-+        if (count > 9)
-+          namelen++;
-+        if (count > 99)
-+          namelen++;
-+        if (namelen+1 >= MAXDNAME)
-           return 0;
-+
-         if (!CHECK_LEN(header, p, plen, (count-1)>>3))
-           return 0;
-@@ -119,7 +125,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-       }
-       else 
-       { /* label_type = 0 -> label. */
--        if (cp - (unsigned char *)name + l + 1 >= MAXDNAME)
-+        namelen += l;
-+        if (namelen+1 >= MAXDNAME)
-           return 0;
-         if (!CHECK_LEN(header, p, plen, l))
-           return 0;
-@@ -132,8 +139,12 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-               if (option_bool(OPT_DNSSEC_VALID))
-                 {
-                   if (c == 0 || c == '.' || c == NAME_ESCAPE)
--                    *cp++ = NAME_ESCAPE;
--                  *cp++ = c;
-+                    {
-+                      *cp++ = NAME_ESCAPE;
-+                      *cp++ = c+1;
-+                    }
-+                  else
-+                    *cp++ = c; 
-                 }
-               else
- #endif
-@@ -155,7 +166,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-                     c1 += 'a' - 'A';
- #ifdef HAVE_DNSSEC
-                   if (option_bool(OPT_DNSSEC_VALID) && c1 == NAME_ESCAPE)
--                    c1 = *cp++;
-+                    c1 = (*cp++)-1;
- #endif
-                   
-                   if (c2 >= 'A' && c2 <= 'Z')
-diff --git a/src/util.c b/src/util.c
-index 0c1a48b4700a..9299703c6d30 100644
---- a/src/util.c
-+++ b/src/util.c
-@@ -229,7 +229,7 @@ unsigned char *do_rfc1035_name(unsigned char *p, char *sval)
-       {
- #ifdef HAVE_DNSSEC
-         if (option_bool(OPT_DNSSEC_VALID) && *sval == NAME_ESCAPE)
--          *p++ = *(++sval);
-+          *p++ = (*(++sval))-1;
-         else
- #endif                
-           *p++ = *sval;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch b/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch
deleted file mode 100644 (file)
index bd800c7..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-From a5ae1f85873829efe473075ad77806cc02792622 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 25 Apr 2015 21:46:10 +0100
-Subject: [PATCH 083/113] Logs in DHCPv6 not suppressed by dhcp6-quiet.
-
----
- CHANGELOG     | 6 +++++-
- src/rfc3315.c | 4 ++--
- 2 files changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 7f2b1e002e9e..af2b22cf8f73 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -103,7 +103,11 @@ version 2.73
-           Previously we provided correct answers to PTR queries
-           in such zones (including NS and SOA) but not direct
-           NS and SOA queries. Thanks to Johnny S. Lee for 
--          pointing out the problem.
-+          pointing out the problem.
-+
-+          Fix logging of DHCPREPLY which should be suppressed 
-+          by quiet-dhcp6. Thanks to J. Pablo Abonia for 
-+          spotting the problem.
-       
- version 2.72
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index c45116a40a09..b4f5dd2db61f 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -1047,9 +1047,9 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-                 {
-                   preferred_time = valid_time = 0;
-                   message = _("address invalid");
--                }
-+                } 
--              if (message)
-+              if (message && (message != state->hostname))
-                 log6_packet(state, "DHCPREPLY", req_addr, message);   
-               else
-                 log6_quiet(state, "DHCPREPLY", req_addr, message);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch b/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch
deleted file mode 100644 (file)
index bafdeb2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8efd731cc4ed2baa42aa69d0a9d336392e9987cb Mon Sep 17 00:00:00 2001
-From: "Johnny S. Lee" <_@jsl.io>
-Date: Sun, 26 Apr 2015 22:23:57 +0100
-Subject: [PATCH 084/113] Make get-version work when repo is a git submodule.
-
----
- bld/get-version | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/bld/get-version b/bld/get-version
-index 7ab75db729ac..5372869c0852 100755
---- a/bld/get-version
-+++ b/bld/get-version
-@@ -11,8 +11,9 @@
- # If there is more than one v[0-9].* tag, sort them and use the
- # first. This favours, eg v2.63 over 2.63rc6.
--if which git >/dev/null 2>&1 && [ -d $1/.git ]; then
--     cd $1; git describe | sed 's/^v//'
-+if which git >/dev/null 2>&1 && \
-+    ([ -d $1/.git ] || grep '^gitdir:' $1/.git >/dev/null 2>&1); then 
-+    cd $1; git describe | sed 's/^v//'
- elif grep '\$Format:%d\$' $1/VERSION >/dev/null 2>&1; then
- # unsubstituted VERSION, but no git available.
-     echo UNKNOWN
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch b/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch
deleted file mode 100644 (file)
index 0b5a6cf..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From e66b4dff3c562c7836d5be4c26972d665ad783f1 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 28 Apr 2015 20:45:57 +0100
-Subject: [PATCH 085/113] Fix argument-order botch which broke DNSSEC for TCP
- queries.
-
----
- src/forward.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 1c7da3f5655c..a8e403c4b25e 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -1996,8 +1996,9 @@ unsigned char *tcp_request(int confd, time_t now,
-                           }
-                         else
-                           result = (status == STAT_SECURE ? "SECURE" : (status == STAT_INSECURE ? "INSECURE" : "BOGUS"));
--                         if (status == STAT_BOGUS && extract_request(header, m, daemon->namebuff, NULL))
--                           domain = daemon->namebuff;
-+                        
-+                        if (status == STAT_BOGUS && extract_request(header, m, daemon->namebuff, NULL))
-+                          domain = daemon->namebuff;
-                         log_query(F_KEYTAG | F_SECSTAT, domain, NULL, result);
-                         
-@@ -2040,8 +2041,8 @@ unsigned char *tcp_request(int confd, time_t now,
- #endif
-                     m = process_reply(header, now, last_server, (unsigned int)m, 
--                                      option_bool(OPT_NO_REBIND) && !norebind, no_cache_dnssec, bogusanswer,
--                                      cache_secure, ad_question, do_bit, added_pheader, check_subnet, &peer_addr); 
-+                                      option_bool(OPT_NO_REBIND) && !norebind, no_cache_dnssec, cache_secure, bogusanswer,
-+                                      ad_question, do_bit, added_pheader, check_subnet, &peer_addr); 
-                     
-                     break;
-                   }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch b/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch
deleted file mode 100644 (file)
index afa4831..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 2ed162ac204f3609fe4d9f9a0430baeaa352d88f Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 28 Apr 2015 21:26:35 +0100
-Subject: [PATCH 086/113] Don't remove RRSIG RR from answers to ANY queries
- when the do bit is not set.
-
----
- src/rfc1035.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 32df31ad603c..5828055caa5d 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1608,6 +1608,11 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-       GETSHORT(qtype, p); 
-       GETSHORT(qclass, p);
-+      /* Don't filter RRSIGS from answers to ANY queries, even if do-bit
-+       not set. */
-+      if (qtype == T_ANY)
-+      *do_bit = 1;
-+
-       ans = 0; /* have we answered this question */
-       
-       if (qtype == T_TXT || qtype == T_ANY)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch b/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch
deleted file mode 100644 (file)
index 0023ab5..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 64bcff1c7c72eecda8750bc2dca8b4c5dc38a837 Mon Sep 17 00:00:00 2001
-From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
-Date: Tue, 28 Apr 2015 21:55:18 +0100
-Subject: [PATCH 087/113] Constify some DHCP lease management functions.
-
----
- src/dnsmasq.h | 7 ++++---
- src/lease.c   | 8 ++++----
- 2 files changed, 8 insertions(+), 7 deletions(-)
-
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 6fe4a4189188..824a86009439 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -1304,9 +1304,10 @@ void lease_update_slaac(time_t now);
- void lease_set_iaid(struct dhcp_lease *lease, int iaid);
- void lease_make_duid(time_t now);
- #endif
--void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
--                    unsigned char *clid, int hw_len, int hw_type, int clid_len, time_t now, int force);
--void lease_set_hostname(struct dhcp_lease *lease, char *name, int auth, char *domain, char *config_domain);
-+void lease_set_hwaddr(struct dhcp_lease *lease, const unsigned char *hwaddr,
-+                    const unsigned char *clid, int hw_len, int hw_type,
-+                    int clid_len, time_t now, int force);
-+void lease_set_hostname(struct dhcp_lease *lease, const char *name, int auth, char *domain, char *config_domain);
- void lease_set_expires(struct dhcp_lease *lease, unsigned int len, time_t now);
- void lease_set_interface(struct dhcp_lease *lease, int interface, time_t now);
- struct dhcp_lease *lease_find_by_client(unsigned char *hwaddr, int hw_len, int hw_type,  
-diff --git a/src/lease.c b/src/lease.c
-index 545bbb7fd09c..8adb60588671 100644
---- a/src/lease.c
-+++ b/src/lease.c
-@@ -813,9 +813,9 @@ void lease_set_iaid(struct dhcp_lease *lease, int iaid)
- }
- #endif
--void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
--                    unsigned char *clid, int hw_len, int hw_type, int clid_len, 
--                    time_t now, int force)
-+void lease_set_hwaddr(struct dhcp_lease *lease, const unsigned char *hwaddr,
-+                    const unsigned char *clid, int hw_len, int hw_type,
-+                    int clid_len, time_t now, int force)
- {
- #ifdef HAVE_DHCP6
-   int change = force;
-@@ -897,7 +897,7 @@ static void kill_name(struct dhcp_lease *lease)
-   lease->hostname = lease->fqdn = NULL;
- }
--void lease_set_hostname(struct dhcp_lease *lease, char *name, int auth, char *domain, char *config_domain)
-+void lease_set_hostname(struct dhcp_lease *lease, const char *name, int auth, char *domain, char *config_domain)
- {
-   struct dhcp_lease *lease_tmp;
-   char *new_name = NULL, *new_fqdn = NULL;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch
deleted file mode 100644 (file)
index af86776..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-From a77cec8d58231d71cbc26615f0c0f0292c09ef54 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 8 May 2015 16:25:38 +0100
-Subject: [PATCH 088/113] Handle UDP packet loss when fragmentation of large
- packets is broken.
-
----
- CHANGELOG     |  6 ++++++
- src/config.h  |  1 +
- src/dnsmasq.h |  5 +++--
- src/dnssec.c  | 11 +++++++++--
- src/forward.c | 37 +++++++++++++++++++++++++++++--------
- src/network.c |  1 +
- src/option.c  | 18 +++++++++++-------
- src/rfc1035.c | 22 ++++++----------------
- 8 files changed, 66 insertions(+), 35 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index af2b22cf8f73..d8fc57a418bb 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -109,6 +109,12 @@ version 2.73
-           by quiet-dhcp6. Thanks to J. Pablo Abonia for 
-           spotting the problem.
-+          Try and handle net connections with broken fragmentation 
-+          that lose large UDP packets. If a server times out, 
-+            reduce the maximum UDP packet size field in the EDNS0
-+          header to 1280 bytes. If it then answers, make that
-+          change permanent.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/config.h b/src/config.h
-index 8def6f200461..f75fe9db7081 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -19,6 +19,7 @@
- #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
- #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */
- #define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */
-+#define SAFE_PKTSZ 1280 /* "go anywhere" UDP packet size */
- #define KEYBLOCK_LEN 40 /* choose to mininise fragmentation when storing DNSSEC keys */
- #define DNSSEC_WORK 50 /* Max number of queries to validate one question */
- #define TIMEOUT 10 /* drop UDP queries after TIMEOUT seconds */
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 824a86009439..ab16f79b3ec9 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -504,7 +504,7 @@ struct server {
-   char interface[IF_NAMESIZE+1];
-   struct serverfd *sfd; 
-   char *domain; /* set if this server only handles a domain. */ 
--  int flags, tcpfd;
-+  int flags, tcpfd, edns_pktsz;
-   unsigned int queries, failed_queries;
- #ifdef HAVE_LOOP
-   u32 uid;
-@@ -594,6 +594,7 @@ struct hostsfile {
- #define FREC_DO_QUESTION       64
- #define FREC_ADDED_PHEADER    128
- #define FREC_CHECK_NOSIGN     256
-+#define FREC_TEST_PKTSZ       512
- #ifdef HAVE_DNSSEC
- #define HASH_SIZE 20 /* SHA-1 digest size */
-@@ -1148,7 +1149,7 @@ int in_zone(struct auth_zone *zone, char *name, char **cut);
- #endif
- /* dnssec.c */
--size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr);
-+size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr, int edns_pktsz);
- int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class);
- int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
- int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer, int *nons);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index a9e12153ccf2..e91d7c2cf040 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -2162,10 +2162,12 @@ int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen)
-     }
- }
--size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr)
-+size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, 
-+                           int type, union mysockaddr *addr, int edns_pktsz)
- {
-   unsigned char *p;
-   char *types = querystr("dnssec-query", type);
-+  size_t ret;
-   if (addr->sa.sa_family == AF_INET) 
-     log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types);
-@@ -2194,7 +2196,12 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i
-   PUTSHORT(type, p);
-   PUTSHORT(class, p);
--  return add_do_bit(header, p - (unsigned char *)header, end);
-+  ret = add_do_bit(header, p - (unsigned char *)header, end);
-+
-+  if (find_pseudoheader(header, ret, NULL, &p, NULL))
-+    PUTSHORT(edns_pktsz, p);
-+
-+  return ret;
- }
- /* Go through a domain name, find "pointers" and fix them up based on how many bytes
-diff --git a/src/forward.c b/src/forward.c
-index a8e403c4b25e..592243fd4d35 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -253,6 +253,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-   void *hash = &crc;
- #endif
-  unsigned int gotname = extract_request(header, plen, daemon->namebuff, NULL);
-+ unsigned char *pheader;
-  (void)do_bit;
-@@ -261,19 +262,32 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-     forward = NULL;
-   else if (forward || (hash && (forward = lookup_frec_by_sender(ntohs(header->id), udpaddr, hash))))
-     {
-+      /* If we didn't get an answer advertising a maximal packet in EDNS,
-+       fall back to 1280, which should work everywhere on IPv6.
-+       If that generates an answer, it will become the new default
-+       for this server */
-+      forward->flags |= FREC_TEST_PKTSZ;
-+      
- #ifdef HAVE_DNSSEC
-       /* If we've already got an answer to this query, but we're awaiting keys for validation,
-        there's no point retrying the query, retry the key query instead...... */
-       if (forward->blocking_query)
-       {
-         int fd;
--
-+        
-+        forward->flags &= ~FREC_TEST_PKTSZ;
-+        
-         while (forward->blocking_query)
-           forward = forward->blocking_query;
-+         
-+        forward->flags |= FREC_TEST_PKTSZ;
-         
-         blockdata_retrieve(forward->stash, forward->stash_len, (void *)header);
-         plen = forward->stash_len;
-         
-+        if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
-+          PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : forward->sentto->edns_pktsz, pheader);
-+
-         if (forward->sentto->addr.sa.sa_family == AF_INET) 
-           log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec");
- #ifdef HAVE_IPV6
-@@ -417,7 +431,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-         plen = new_plen;
-       }
- #endif
--
-+      
-       while (1)
-       { 
-         /* only send to servers dealing with our domain.
-@@ -464,6 +478,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-                   }
- #endif
-               }
-+
-+            if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
-+              PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : start->edns_pktsz, pheader);
-             
-             if (retry_send(sendto(fd, (char *)header, plen, 0,
-                                   &start->addr.sa,
-@@ -760,7 +777,6 @@ void reply_query(int fd, int family, time_t now)
-     }   
-    
-   server = forward->sentto;
--  
-   if ((forward->sentto->flags & SERV_TYPE) == 0)
-     {
-       if (RCODE(header) == REFUSED)
-@@ -781,7 +797,12 @@ void reply_query(int fd, int family, time_t now)
-       if (!option_bool(OPT_ALL_SERVERS))
-       daemon->last_server = server;
-     }
--
-+ 
-+  /* We tried resending to this server with a smaller maximum size and got an answer.
-+     Make that permanent. */
-+  if (server && (forward->flags & FREC_TEST_PKTSZ))
-+    server->edns_pktsz = SAFE_PKTSZ;
-+  
-   /* If the answer is an error, keep the forward record in place in case
-      we get a good reply from another server. Kill it when we've
-      had replies from all to avoid filling the forwarding table when
-@@ -890,7 +911,7 @@ void reply_query(int fd, int family, time_t now)
-                   {
-                     new->flags |= FREC_DNSKEY_QUERY; 
-                     nn = dnssec_generate_query(header, ((char *) header) + daemon->packet_buff_sz,
--                                               daemon->keyname, forward->class, T_DNSKEY, &server->addr);
-+                                               daemon->keyname, forward->class, T_DNSKEY, &server->addr, server->edns_pktsz);
-                   }
-                 else 
-                   {
-@@ -899,7 +920,7 @@ void reply_query(int fd, int family, time_t now)
-                     else
-                       new->flags |= FREC_DS_QUERY;
-                     nn = dnssec_generate_query(header,((char *) header) + daemon->packet_buff_sz,
--                                               daemon->keyname, forward->class, T_DS, &server->addr);
-+                                               daemon->keyname, forward->class, T_DS, &server->addr, server->edns_pktsz);
-                   }
-                 if ((hash = hash_questions(header, nn, daemon->namebuff)))
-                   memcpy(new->hash, hash, HASH_SIZE);
-@@ -1526,7 +1547,7 @@ static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s
-       
-       /* Can't find it in the cache, have to send a query */
--      m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr);
-+      m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr, server->edns_pktsz);
-       
-       *length = htons(m);
-       
-@@ -1638,7 +1659,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-     another_tcp_key:
-       m = dnssec_generate_query(new_header, ((char *) new_header) + 65536, keyname, class, 
--                              new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr);
-+                              new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr, server->edns_pktsz);
-       
-       *length = htons(m);
-       
-diff --git a/src/network.c b/src/network.c
-index 992f023c31de..a1d90c876fc1 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1396,6 +1396,7 @@ void add_update_server(int flags,
-       serv->domain = domain_str;
-       serv->next = next;
-       serv->queries = serv->failed_queries = 0;
-+      serv->edns_pktsz = daemon->edns_pktsz;
- #ifdef HAVE_LOOP
-       serv->uid = rand32();
- #endif      
-diff --git a/src/option.c b/src/option.c
-index f91cfbb1aa54..c7add88de7ac 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -4498,15 +4498,19 @@ void read_opts(int argc, char **argv, char *compile_opts)
-     {
-       struct server *tmp;
-       for (tmp = daemon->servers; tmp; tmp = tmp->next)
--      if (!(tmp->flags & SERV_HAS_SOURCE))
--        {
--          if (tmp->source_addr.sa.sa_family == AF_INET)
--            tmp->source_addr.in.sin_port = htons(daemon->query_port);
-+      {
-+        tmp->edns_pktsz = daemon->edns_pktsz;
-+       
-+        if (!(tmp->flags & SERV_HAS_SOURCE))
-+          {
-+            if (tmp->source_addr.sa.sa_family == AF_INET)
-+              tmp->source_addr.in.sin_port = htons(daemon->query_port);
- #ifdef HAVE_IPV6
--          else if (tmp->source_addr.sa.sa_family == AF_INET6)
--            tmp->source_addr.in6.sin6_port = htons(daemon->query_port);
-+            else if (tmp->source_addr.sa.sa_family == AF_INET6)
-+              tmp->source_addr.in6.sin6_port = htons(daemon->query_port);
- #endif 
--        } 
-+          }
-+      } 
-     }
-   
-   if (daemon->if_addrs)
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 5828055caa5d..8b1709dd3495 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -552,7 +552,7 @@ static size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned
-       return plen;
-       *p++ = 0; /* empty name */
-       PUTSHORT(T_OPT, p);
--      PUTSHORT(daemon->edns_pktsz, p); /* max packet length */
-+      PUTSHORT(SAFE_PKTSZ, p); /* max packet length, this will be overwritten */
-       PUTSHORT(0, p);    /* extended RCODE and version */
-       PUTSHORT(set_do ? 0x8000 : 0, p); /* DO flag */
-       lenp = p;
-@@ -1537,7 +1537,6 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-   unsigned short flag;
-   int q, ans, anscount = 0, addncount = 0;
-   int dryrun = 0, sec_reqd = 0, have_pseudoheader = 0;
--  int is_sign;
-   struct crec *crecp;
-   int nxdomain = 0, auth = 1, trunc = 0, sec_data = 1;
-   struct mx_srv_record *rec;
-@@ -1557,28 +1556,19 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-      forward rather than answering from the cache, which doesn't include
-      security information, unless we're in DNSSEC validation mode. */
--  if (find_pseudoheader(header, qlen, NULL, &pheader, &is_sign))
-+  if (find_pseudoheader(header, qlen, NULL, &pheader, NULL))
-     { 
--      unsigned short udpsz, flags;
--      unsigned char *psave = pheader;
--
-+      unsigned short flags;
-+      
-       have_pseudoheader = 1;
--      GETSHORT(udpsz, pheader);
--      pheader += 2; /* ext_rcode */
-+      pheader += 4; /* udp size, ext_rcode */
-       GETSHORT(flags, pheader);
-       
-       if ((sec_reqd = flags & 0x8000))
-       *do_bit = 1;/* do bit */ 
--      *ad_reqd = 1;
--
--      /* If our client is advertising a larger UDP packet size
--       than we allow, trim it so that we don't get an overlarge
--       response from upstream */
--
--      if (!is_sign && (udpsz > daemon->edns_pktsz))
--      PUTSHORT(daemon->edns_pktsz, psave); 
-+      *ad_reqd = 1;
-       dryrun = 1;
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch
deleted file mode 100644 (file)
index 0b12cb8..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-From a77cec8d58231d71cbc26615f0c0f0292c09ef54 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 8 May 2015 16:25:38 +0100
-Subject: [PATCH] Handle UDP packet loss when fragmentation of large packets
- is broken.
-
----
- CHANGELOG     |    6 ++++++
- src/config.h  |    1 +
- src/dnsmasq.h |    5 +++--
- src/dnssec.c  |   11 +++++++++--
- src/forward.c |   37 +++++++++++++++++++++++++++++--------
- src/network.c |    1 +
- src/option.c  |   18 +++++++++++-------
- src/rfc1035.c |   22 ++++++----------------
- 8 files changed, 66 insertions(+), 35 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index af2b22c..d8fc57a 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -109,6 +109,12 @@ version 2.73
-           by quiet-dhcp6. Thanks to J. Pablo Abonia for 
-           spotting the problem.
-+          Try and handle net connections with broken fragmentation 
-+          that lose large UDP packets. If a server times out, 
-+            reduce the maximum UDP packet size field in the EDNS0
-+          header to 1280 bytes. If it then answers, make that
-+          change permanent.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/config.h b/src/config.h
-index 8def6f2..f75fe9d 100644
---- a/src/config.h
-+++ b/src/config.h
-@@ -19,6 +19,7 @@
- #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
- #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */
- #define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */
-+#define SAFE_PKTSZ 1280 /* "go anywhere" UDP packet size */
- #define KEYBLOCK_LEN 40 /* choose to mininise fragmentation when storing DNSSEC keys */
- #define DNSSEC_WORK 50 /* Max number of queries to validate one question */
- #define TIMEOUT 10 /* drop UDP queries after TIMEOUT seconds */
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index 824a860..ab16f79 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -504,7 +504,7 @@ struct server {
-   char interface[IF_NAMESIZE+1];
-   struct serverfd *sfd; 
-   char *domain; /* set if this server only handles a domain. */ 
--  int flags, tcpfd;
-+  int flags, tcpfd, edns_pktsz;
-   unsigned int queries, failed_queries;
- #ifdef HAVE_LOOP
-   u32 uid;
-@@ -594,6 +594,7 @@ struct hostsfile {
- #define FREC_DO_QUESTION       64
- #define FREC_ADDED_PHEADER    128
- #define FREC_CHECK_NOSIGN     256
-+#define FREC_TEST_PKTSZ       512
- #ifdef HAVE_DNSSEC
- #define HASH_SIZE 20 /* SHA-1 digest size */
-@@ -1148,7 +1149,7 @@ int in_zone(struct auth_zone *zone, char *name, char **cut);
- #endif
- /* dnssec.c */
--size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr);
-+size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr, int edns_pktsz);
- int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class);
- int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class);
- int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer, int *nons);
-diff --git a/src/dnssec.c b/src/dnssec.c
-index a9e1215..e91d7c2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -2162,10 +2162,12 @@ int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen)
-     }
- }
--size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr)
-+size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, 
-+                           int type, union mysockaddr *addr, int edns_pktsz)
- {
-   unsigned char *p;
-   char *types = querystr("dnssec-query", type);
-+  size_t ret;
-   if (addr->sa.sa_family == AF_INET) 
-     log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types);
-@@ -2194,7 +2196,12 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i
-   PUTSHORT(type, p);
-   PUTSHORT(class, p);
--  return add_do_bit(header, p - (unsigned char *)header, end);
-+  ret = add_do_bit(header, p - (unsigned char *)header, end);
-+
-+  if (find_pseudoheader(header, ret, NULL, &p, NULL))
-+    PUTSHORT(edns_pktsz, p);
-+
-+  return ret;
- }
- /* Go through a domain name, find "pointers" and fix them up based on how many bytes
-diff --git a/src/forward.c b/src/forward.c
-index a8e403c..592243f 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -253,6 +253,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-   void *hash = &crc;
- #endif
-  unsigned int gotname = extract_request(header, plen, daemon->namebuff, NULL);
-+ unsigned char *pheader;
-  (void)do_bit;
-@@ -261,19 +262,32 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-     forward = NULL;
-   else if (forward || (hash && (forward = lookup_frec_by_sender(ntohs(header->id), udpaddr, hash))))
-     {
-+      /* If we didn't get an answer advertising a maximal packet in EDNS,
-+       fall back to 1280, which should work everywhere on IPv6.
-+       If that generates an answer, it will become the new default
-+       for this server */
-+      forward->flags |= FREC_TEST_PKTSZ;
-+      
- #ifdef HAVE_DNSSEC
-       /* If we've already got an answer to this query, but we're awaiting keys for validation,
-        there's no point retrying the query, retry the key query instead...... */
-       if (forward->blocking_query)
-       {
-         int fd;
--
-+        
-+        forward->flags &= ~FREC_TEST_PKTSZ;
-+        
-         while (forward->blocking_query)
-           forward = forward->blocking_query;
-+         
-+        forward->flags |= FREC_TEST_PKTSZ;
-         
-         blockdata_retrieve(forward->stash, forward->stash_len, (void *)header);
-         plen = forward->stash_len;
-         
-+        if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
-+          PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : forward->sentto->edns_pktsz, pheader);
-+
-         if (forward->sentto->addr.sa.sa_family == AF_INET) 
-           log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec");
- #ifdef HAVE_IPV6
-@@ -417,7 +431,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-         plen = new_plen;
-       }
- #endif
--
-+      
-       while (1)
-       { 
-         /* only send to servers dealing with our domain.
-@@ -464,6 +478,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
-                   }
- #endif
-               }
-+
-+            if (find_pseudoheader(header, plen, NULL, &pheader, NULL))
-+              PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : start->edns_pktsz, pheader);
-             
-             if (retry_send(sendto(fd, (char *)header, plen, 0,
-                                   &start->addr.sa,
-@@ -760,7 +777,6 @@ void reply_query(int fd, int family, time_t now)
-     }   
-    
-   server = forward->sentto;
--  
-   if ((forward->sentto->flags & SERV_TYPE) == 0)
-     {
-       if (RCODE(header) == REFUSED)
-@@ -781,7 +797,12 @@ void reply_query(int fd, int family, time_t now)
-       if (!option_bool(OPT_ALL_SERVERS))
-       daemon->last_server = server;
-     }
--
-+ 
-+  /* We tried resending to this server with a smaller maximum size and got an answer.
-+     Make that permanent. */
-+  if (server && (forward->flags & FREC_TEST_PKTSZ))
-+    server->edns_pktsz = SAFE_PKTSZ;
-+  
-   /* If the answer is an error, keep the forward record in place in case
-      we get a good reply from another server. Kill it when we've
-      had replies from all to avoid filling the forwarding table when
-@@ -890,7 +911,7 @@ void reply_query(int fd, int family, time_t now)
-                   {
-                     new->flags |= FREC_DNSKEY_QUERY; 
-                     nn = dnssec_generate_query(header, ((char *) header) + daemon->packet_buff_sz,
--                                               daemon->keyname, forward->class, T_DNSKEY, &server->addr);
-+                                               daemon->keyname, forward->class, T_DNSKEY, &server->addr, server->edns_pktsz);
-                   }
-                 else 
-                   {
-@@ -899,7 +920,7 @@ void reply_query(int fd, int family, time_t now)
-                     else
-                       new->flags |= FREC_DS_QUERY;
-                     nn = dnssec_generate_query(header,((char *) header) + daemon->packet_buff_sz,
--                                               daemon->keyname, forward->class, T_DS, &server->addr);
-+                                               daemon->keyname, forward->class, T_DS, &server->addr, server->edns_pktsz);
-                   }
-                 if ((hash = hash_questions(header, nn, daemon->namebuff)))
-                   memcpy(new->hash, hash, HASH_SIZE);
-@@ -1526,7 +1547,7 @@ static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s
-       
-       /* Can't find it in the cache, have to send a query */
--      m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr);
-+      m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr, server->edns_pktsz);
-       
-       *length = htons(m);
-       
-@@ -1638,7 +1659,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-     another_tcp_key:
-       m = dnssec_generate_query(new_header, ((char *) new_header) + 65536, keyname, class, 
--                              new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr);
-+                              new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr, server->edns_pktsz);
-       
-       *length = htons(m);
-       
-diff --git a/src/network.c b/src/network.c
-index 992f023..a1d90c8 100644
---- a/src/network.c
-+++ b/src/network.c
-@@ -1396,6 +1396,7 @@ void add_update_server(int flags,
-       serv->domain = domain_str;
-       serv->next = next;
-       serv->queries = serv->failed_queries = 0;
-+      serv->edns_pktsz = daemon->edns_pktsz;
- #ifdef HAVE_LOOP
-       serv->uid = rand32();
- #endif      
-diff --git a/src/option.c b/src/option.c
-index f91cfbb..c7add88 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -4498,15 +4498,19 @@ void read_opts(int argc, char **argv, char *compile_opts)
-     {
-       struct server *tmp;
-       for (tmp = daemon->servers; tmp; tmp = tmp->next)
--      if (!(tmp->flags & SERV_HAS_SOURCE))
--        {
--          if (tmp->source_addr.sa.sa_family == AF_INET)
--            tmp->source_addr.in.sin_port = htons(daemon->query_port);
-+      {
-+        tmp->edns_pktsz = daemon->edns_pktsz;
-+       
-+        if (!(tmp->flags & SERV_HAS_SOURCE))
-+          {
-+            if (tmp->source_addr.sa.sa_family == AF_INET)
-+              tmp->source_addr.in.sin_port = htons(daemon->query_port);
- #ifdef HAVE_IPV6
--          else if (tmp->source_addr.sa.sa_family == AF_INET6)
--            tmp->source_addr.in6.sin6_port = htons(daemon->query_port);
-+            else if (tmp->source_addr.sa.sa_family == AF_INET6)
-+              tmp->source_addr.in6.sin6_port = htons(daemon->query_port);
- #endif 
--        } 
-+          }
-+      } 
-     }
-   
-   if (daemon->if_addrs)
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 5828055..8b1709d 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -552,7 +552,7 @@ static size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned
-       return plen;
-       *p++ = 0; /* empty name */
-       PUTSHORT(T_OPT, p);
--      PUTSHORT(daemon->edns_pktsz, p); /* max packet length */
-+      PUTSHORT(SAFE_PKTSZ, p); /* max packet length, this will be overwritten */
-       PUTSHORT(0, p);    /* extended RCODE and version */
-       PUTSHORT(set_do ? 0x8000 : 0, p); /* DO flag */
-       lenp = p;
-@@ -1537,7 +1537,6 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-   unsigned short flag;
-   int q, ans, anscount = 0, addncount = 0;
-   int dryrun = 0, sec_reqd = 0, have_pseudoheader = 0;
--  int is_sign;
-   struct crec *crecp;
-   int nxdomain = 0, auth = 1, trunc = 0, sec_data = 1;
-   struct mx_srv_record *rec;
-@@ -1557,28 +1556,19 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
-      forward rather than answering from the cache, which doesn't include
-      security information, unless we're in DNSSEC validation mode. */
--  if (find_pseudoheader(header, qlen, NULL, &pheader, &is_sign))
-+  if (find_pseudoheader(header, qlen, NULL, &pheader, NULL))
-     { 
--      unsigned short udpsz, flags;
--      unsigned char *psave = pheader;
--
-+      unsigned short flags;
-+      
-       have_pseudoheader = 1;
--      GETSHORT(udpsz, pheader);
--      pheader += 2; /* ext_rcode */
-+      pheader += 4; /* udp size, ext_rcode */
-       GETSHORT(flags, pheader);
-       
-       if ((sec_reqd = flags & 0x8000))
-       *do_bit = 1;/* do bit */ 
--      *ad_reqd = 1;
--
--      /* If our client is advertising a larger UDP packet size
--       than we allow, trim it so that we don't get an overlarge
--       response from upstream */
--
--      if (!is_sign && (udpsz > daemon->edns_pktsz))
--      PUTSHORT(daemon->edns_pktsz, psave); 
-+      *ad_reqd = 1;
-       dryrun = 1;
-     }
--- 
-1.7.10.4
diff --git a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch
deleted file mode 100644 (file)
index 33463b6..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From b059c96dc69dfe3055c5b32b078a05c53b11ebb3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 8 May 2015 20:25:51 +0100
-Subject: [PATCH] Check IPv4-mapped IPv6 addresses with --stop-rebind.
-
----
- CHANGELOG     |    3 +++
- src/rfc1035.c |   21 +++++++++++++++++----
- 2 files changed, 20 insertions(+), 4 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index d8fc57a..94a521f 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -115,6 +115,9 @@ version 2.73
-           header to 1280 bytes. If it then answers, make that
-           change permanent.
-+          Check IPv4-mapped IPv6 addresses when --stop-rebind
-+          is active. Thanks to Jordan Milne for spotting this.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 8b1709d..5e3f566 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1117,10 +1117,23 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
-                     memcpy(&addr, p1, addrlen);
-                     
-                     /* check for returned address in private space */
--                    if (check_rebind &&
--                        (flags & F_IPV4) &&
--                        private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND)))
--                      return 1;
-+                    if (check_rebind)
-+                      {
-+                        if ((flags & F_IPV4) &&
-+                            private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND)))
-+                          return 1;
-+                        
-+#ifdef HAVE_IPV6
-+                        if ((flags & F_IPV6) &&
-+                            IN6_IS_ADDR_V4MAPPED(&addr.addr.addr6))
-+                          {
-+                            struct in_addr v4;
-+                            v4.s_addr = ((const uint32_t *) (&addr.addr.addr6))[3];
-+                            if (private_net(v4, !option_bool(OPT_LOCAL_REBIND)))
-+                              return 1;
-+                          }
-+#endif
-+                      }
-                     
- #ifdef HAVE_IPSET
-                     if (ipsets && (flags & (F_IPV4 | F_IPV6)))
--- 
-1.7.10.4
diff --git a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch
deleted file mode 100644 (file)
index a1011b0..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From b059c96dc69dfe3055c5b32b078a05c53b11ebb3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 8 May 2015 20:25:51 +0100
-Subject: [PATCH 089/113] Check IPv4-mapped IPv6 addresses with --stop-rebind.
-
----
- CHANGELOG     |  3 +++
- src/rfc1035.c | 21 +++++++++++++++++----
- 2 files changed, 20 insertions(+), 4 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index d8fc57a418bb..94a521f996e2 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -115,6 +115,9 @@ version 2.73
-           header to 1280 bytes. If it then answers, make that
-           change permanent.
-+          Check IPv4-mapped IPv6 addresses when --stop-rebind
-+          is active. Thanks to Jordan Milne for spotting this.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 8b1709dd3495..5e3f566fdbc5 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -1117,10 +1117,23 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t
-                     memcpy(&addr, p1, addrlen);
-                     
-                     /* check for returned address in private space */
--                    if (check_rebind &&
--                        (flags & F_IPV4) &&
--                        private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND)))
--                      return 1;
-+                    if (check_rebind)
-+                      {
-+                        if ((flags & F_IPV4) &&
-+                            private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND)))
-+                          return 1;
-+                        
-+#ifdef HAVE_IPV6
-+                        if ((flags & F_IPV6) &&
-+                            IN6_IS_ADDR_V4MAPPED(&addr.addr.addr6))
-+                          {
-+                            struct in_addr v4;
-+                            v4.s_addr = ((const uint32_t *) (&addr.addr.addr6))[3];
-+                            if (private_net(v4, !option_bool(OPT_LOCAL_REBIND)))
-+                              return 1;
-+                          }
-+#endif
-+                      }
-                     
- #ifdef HAVE_IPSET
-                     if (ipsets && (flags & (F_IPV4 | F_IPV6)))
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch
deleted file mode 100644 (file)
index ab98b44..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 86fa1046920dedc8134136a6244ca96e8a37e9d8 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sun, 10 May 2015 13:50:59 +0100
-Subject: [PATCH 090/113] Tweak EDNS timeout code.
-
----
- src/forward.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/forward.c b/src/forward.c
-index 592243fd4d35..74e5ab66c423 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -799,8 +799,10 @@ void reply_query(int fd, int family, time_t now)
-     }
-  
-   /* We tried resending to this server with a smaller maximum size and got an answer.
--     Make that permanent. */
--  if (server && (forward->flags & FREC_TEST_PKTSZ))
-+     Make that permanent. To avoid reduxing the packet size for an single dropped packet,
-+     only do this when we get a truncated answer, or one larger than the safe size. */
-+  if (server && (forward->flags & FREC_TEST_PKTSZ) && 
-+      ((header->hb3 & HB3_TC) || n >= SAFE_PKTSZ))
-     server->edns_pktsz = SAFE_PKTSZ;
-   
-   /* If the answer is an error, keep the forward record in place in case
--- 
-2.1.0
diff --git a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch
deleted file mode 100644 (file)
index 6ebfa81..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 585840b03365372679907f175b07a01c9d621ae0 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 13 May 2015 12:35:57 +0100
-Subject: [PATCH] Pointer to mail-archive mailing list mirror in doc.html.
-
----
- doc.html |    4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/doc.html b/doc.html
-index 92c9d0d..54f59bb 100644
---- a/doc.html
-+++ b/doc.html
-@@ -74,7 +74,9 @@ for details.
- There is a dnsmasq mailing list at <A
- HREF="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss">
- http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</A> which should be the
--first location for queries, bugreports, suggestions etc.
-+first location for queries, bugreports, suggestions etc. The list is mirrored, with a
-+search facility, at <A HREF="https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/">
-+https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/</A>.
- You can contact me at <A
- HREF="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</A>.
--- 
-1.7.10.4
-
diff --git a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch
deleted file mode 100644 (file)
index abfea9c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 585840b03365372679907f175b07a01c9d621ae0 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 13 May 2015 12:35:57 +0100
-Subject: [PATCH 091/113] Pointer to mail-archive mailing list mirror in
- doc.html.
-
----
- doc.html | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/doc.html b/doc.html
-index 92c9d0d6f34c..54f59bbbd4d0 100644
---- a/doc.html
-+++ b/doc.html
-@@ -74,7 +74,9 @@ for details.
- There is a dnsmasq mailing list at <A
- HREF="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss">
- http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</A> which should be the
--first location for queries, bugreports, suggestions etc.
-+first location for queries, bugreports, suggestions etc. The list is mirrored, with a
-+search facility, at <A HREF="https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/">
-+https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/</A>.
- You can contact me at <A
- HREF="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</A>.
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch
deleted file mode 100644 (file)
index a5178cb..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-From ca85a28241ef87919d68d52c843b6964b7070e11 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 13 May 2015 22:33:04 +0100
-Subject: [PATCH 092/113] Allow T1 and T2 DHCPv4 options to be set.
-
----
- CHANGELOG            |  3 +++
- dnsmasq.conf.example |  8 ++++++
- src/dhcp-common.c    |  4 +--
- src/rfc2131.c        | 71 ++++++++++++++++++++++++++++++++++++----------------
- 4 files changed, 63 insertions(+), 23 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 94a521f996e2..ef39a415788b 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -118,6 +118,9 @@ version 2.73
-           Check IPv4-mapped IPv6 addresses when --stop-rebind
-           is active. Thanks to Jordan Milne for spotting this.
-+          Allow DHCPv4 options T1 and T2 to be set using --dhcp-option.
-+          Thanks to Kevin Benton for patches and work on this.
-+
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
-index 67be99acb028..1ae11dfb5358 100644
---- a/dnsmasq.conf.example
-+++ b/dnsmasq.conf.example
-@@ -345,6 +345,14 @@
- # Ask client to poll for option changes every six hours. (RFC4242)
- #dhcp-option=option6:information-refresh-time,6h
-+# Set option 58 client renewal time (T1). Defaults to half of the
-+# lease time if not specified. (RFC2132)
-+#dhcp-option=option:T1:1m
-+
-+# Set option 59 rebinding time (T2). Defaults to 7/8 of the
-+# lease time if not specified. (RFC2132)
-+#dhcp-option=option:T2:2m
-+
- # Set the NTP time server address to be the same machine as
- # is running dnsmasq
- #dhcp-option=42,0.0.0.0
-diff --git a/src/dhcp-common.c b/src/dhcp-common.c
-index ce115202a646..bc48f41a14d7 100644
---- a/src/dhcp-common.c
-+++ b/src/dhcp-common.c
-@@ -545,8 +545,8 @@ static const struct opttab_t {
-   { "parameter-request", 55, OT_INTERNAL },
-   { "message", 56, OT_INTERNAL },
-   { "max-message-size", 57, OT_INTERNAL },
--  { "T1", 58, OT_INTERNAL | OT_TIME},
--  { "T2", 59, OT_INTERNAL | OT_TIME},
-+  { "T1", 58, OT_TIME},
-+  { "T2", 59, OT_TIME},
-   { "vendor-class", 60, 0 },
-   { "client-id", 61, OT_INTERNAL },
-   { "nis+-domain", 64, OT_NAME },
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index 55526443dc84..a10e499ef768 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -52,7 +52,9 @@ static void do_options(struct dhcp_context *context,
-                      int null_term, int pxearch,
-                      unsigned char *uuid,
-                      int vendor_class_len,
--                     time_t now);
-+                     time_t now,
-+                     unsigned int lease_time,
-+                     unsigned short fuzz);
- static void match_vendor_opts(unsigned char *opt, struct dhcp_opt *dopt); 
-@@ -610,7 +612,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-             
-             clear_packet(mess, end);
-             do_options(context, mess, end, NULL, hostname, get_domain(mess->yiaddr), 
--                       netid, subnet_addr, 0, 0, -1, NULL, vendor_class_len, now);
-+                       netid, subnet_addr, 0, 0, -1, NULL, vendor_class_len, now, 0xffffffff, 0);
-           }
-       }
-       
-@@ -1042,13 +1044,8 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-       option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
-       option_put(mess, end, OPTION_LEASE_TIME, 4, time);
-       /* T1 and T2 are required in DHCPOFFER by HP's wacky Jetdirect client. */
--      if (time != 0xffffffff)
--      {
--        option_put(mess, end, OPTION_T1, 4, (time/2));
--        option_put(mess, end, OPTION_T2, 4, (time*7)/8);
--      }
-       do_options(context, mess, end, req_options, offer_hostname, get_domain(mess->yiaddr), 
--               netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now);
-+               netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, time, fuzz);
-       
-       return dhcp_packet_size(mess, agent_id, real_end);
-       
-@@ -1367,15 +1364,8 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-         option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK);
-         option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr));
-         option_put(mess, end, OPTION_LEASE_TIME, 4, time);
--        if (time != 0xffffffff)
--          {
--            while (fuzz > (time/16))
--              fuzz = fuzz/2; 
--            option_put(mess, end, OPTION_T1, 4, (time/2) - fuzz);
--            option_put(mess, end, OPTION_T2, 4, ((time/8)*7) - fuzz);
--          }
-         do_options(context, mess, end, req_options, hostname, get_domain(mess->yiaddr), 
--                   netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now);
-+                   netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, time, fuzz);
-       }
-       return dhcp_packet_size(mess, agent_id, real_end); 
-@@ -1440,7 +1430,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-       }
-       do_options(context, mess, end, req_options, hostname, get_domain(mess->ciaddr),
--               netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now);
-+               netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, 0xffffffff, 0);
-       
-       *is_inform = 1; /* handle reply differently */
-       return dhcp_packet_size(mess, agent_id, real_end); 
-@@ -2137,7 +2127,9 @@ static void do_options(struct dhcp_context *context,
-                      int null_term, int pxe_arch,
-                      unsigned char *uuid,
-                      int vendor_class_len,
--                     time_t now)
-+                     time_t now,
-+                     unsigned int lease_time,
-+                     unsigned short fuzz)
- {
-   struct dhcp_opt *opt, *config_opts = daemon->dhcp_opts;
-   struct dhcp_boot *boot;
-@@ -2261,7 +2253,42 @@ static void do_options(struct dhcp_context *context,
-   /* rfc3011 says this doesn't need to be in the requested options list. */
-   if (subnet_addr.s_addr)
-     option_put(mess, end, OPTION_SUBNET_SELECT, INADDRSZ, ntohl(subnet_addr.s_addr));
--  
-+   
-+  if (lease_time != 0xffffffff)
-+    { 
-+      unsigned int t1val = lease_time/2; 
-+      unsigned int t2val = (lease_time*7)/8;
-+      unsigned int hval;
-+      
-+      /* If set by user, sanity check, so not longer than lease. */
-+      if ((opt = option_find2(OPTION_T1)))
-+      {
-+        hval = ntohl(*((unsigned int *)opt->val));
-+        if (hval < lease_time && hval > 2)
-+          t1val = hval;
-+      }
-+
-+       if ((opt = option_find2(OPTION_T2)))
-+      {
-+        hval = ntohl(*((unsigned int *)opt->val));
-+        if (hval < lease_time && hval > 2)
-+          t2val = hval;
-+      }
-+                
-+       while (fuzz > (t1val/8))
-+       fuzz = fuzz/2;
-+       
-+       t1val -= fuzz;
-+       t2val -= fuzz;
-+       
-+       /* ensure T1 is still < T2 */
-+       if (t2val <= t1val)
-+       t1val = t2val - 1; 
-+
-+       option_put(mess, end, OPTION_T1, 4, t1val);
-+       option_put(mess, end, OPTION_T2, 4, t2val);
-+    }
-+
-   /* replies to DHCPINFORM may not have a valid context */
-   if (context)
-     {
-@@ -2356,12 +2383,14 @@ static void do_options(struct dhcp_context *context,
-       if (!(opt->flags & DHOPT_FORCE) && !in_list(req_options, optno))
-       continue;
-       
--      /* prohibit some used-internally options */
-+      /* prohibit some used-internally options. T1 and T2 already handled. */
-       if (optno == OPTION_CLIENT_FQDN ||
-         optno == OPTION_MAXMESSAGE ||
-         optno == OPTION_OVERLOAD ||
-         optno == OPTION_PAD ||
--        optno == OPTION_END)
-+        optno == OPTION_END ||
-+        optno == OPTION_T1 ||
-+        optno == OPTION_T2)
-       continue;
-       if (optno == OPTION_SNAME && done_server)
--- 
-2.1.0
diff --git a/src/patches/dnsmasq/0093-Tweak-last-commit.patch b/src/patches/dnsmasq/0093-Tweak-last-commit.patch
deleted file mode 100644 (file)
index 5192bbc..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 7c0f2543a7e761d1ec82738374556beeb8a35bef Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 14 May 2015 21:16:18 +0100
-Subject: [PATCH 093/113] Tweak last commit.
-
----
- src/rfc2131.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index a10e499ef768..b95f9beadf59 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -2275,16 +2275,16 @@ static void do_options(struct dhcp_context *context,
-           t2val = hval;
-       }
-                 
-+       /* ensure T1 is still < T2 */
-+       if (t2val <= t1val)
-+       t1val = t2val - 1; 
-+
-        while (fuzz > (t1val/8))
-        fuzz = fuzz/2;
-        
-        t1val -= fuzz;
-        t2val -= fuzz;
-        
--       /* ensure T1 is still < T2 */
--       if (t2val <= t1val)
--       t1val = t2val - 1; 
--
-        option_put(mess, end, OPTION_T1, 4, t1val);
-        option_put(mess, end, OPTION_T2, 4, t2val);
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch b/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch
deleted file mode 100644 (file)
index 64efd4f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 62018e1f720fa11e83879111a4b1b3753b5c25bb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 14 May 2015 21:30:00 +0100
-Subject: [PATCH] Use correct DHCP context for PXE-proxy server-id.
-
----
- src/rfc2131.c |    4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index b95f9be..70d1e59 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -888,10 +888,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-                 
-                 option_put(mess, end, OPTION_MESSAGE_TYPE, 1, 
-                            mess_type == DHCPDISCOVER ? DHCPOFFER : DHCPACK);
--                option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr));
-+                option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(tmp->local.s_addr));
-                 pxe_misc(mess, end, uuid);
-                 prune_vendor_opts(tagif_netid);
--                do_encap_opts(pxe_opts(pxearch, tagif_netid, context->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
-+                do_encap_opts(pxe_opts(pxearch, tagif_netid, tmp->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
-                 
-                 log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy-ignored" : "proxy", NULL, mess->xid);
-                 log_tags(tagif_netid, ntohl(mess->xid));
--- 
-1.7.10.4
-
diff --git a/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch b/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch
deleted file mode 100644 (file)
index cb56c79..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 5d07d77e75e0f02bc0a8f6029ffbc8b371fa804e Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 15 May 2015 18:13:06 +0100
-Subject: [PATCH] Fix buffer overflow introduced in 2.73rc6.
-
-Fix off-by-one in code which checks for over-long domain names
-in received DNS packets. This enables buffer overflow attacks
-which can certainly crash dnsmasq and may allow for arbitrary
-code execution. The problem was introduced in commit b8f16556d,
-release 2.73rc6, so has not escaped into any stable release.
-Note that the off-by-one was in the label length determination,
-so the buffer can be overflowed by as many bytes as there are
-labels in the name - ie, many.
-
-Thanks to Ron Bowes, who used lcmatuf's afl-fuzz tool to find
-the problem.
----
- src/rfc1035.c |    8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 5e3f566..a95241f 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -94,8 +94,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           count = 256;
-         digs = ((count-1)>>2)+1;
-         
--        /* output is \[x<hex>/siz]. which is digs+6/7/8 chars */
--        namelen += digs+6;
-+        /* output is \[x<hex>/siz]. which is digs+7/8/9 chars */
-+        namelen += digs+7;
-         if (count > 9)
-           namelen++;
-         if (count > 99)
-@@ -125,8 +125,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-       }
-       else 
-       { /* label_type = 0 -> label. */
--        namelen += l;
--        if (namelen+1 >= MAXDNAME)
-+        namelen += l + 1; /* include period */
-+        if (namelen >= MAXDNAME)
-           return 0;
-         if (!CHECK_LEN(header, p, plen, l))
-           return 0;
--- 
-1.7.10.4
-
diff --git a/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch b/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch
deleted file mode 100644 (file)
index ad18401..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 62018e1f720fa11e83879111a4b1b3753b5c25bb Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Thu, 14 May 2015 21:30:00 +0100
-Subject: [PATCH 094/113] Use correct DHCP context for PXE-proxy server-id.
-
----
- src/rfc2131.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index b95f9beadf59..70d1e59530ad 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -888,10 +888,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-                 
-                 option_put(mess, end, OPTION_MESSAGE_TYPE, 1, 
-                            mess_type == DHCPDISCOVER ? DHCPOFFER : DHCPACK);
--                option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr));
-+                option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(tmp->local.s_addr));
-                 pxe_misc(mess, end, uuid);
-                 prune_vendor_opts(tagif_netid);
--                do_encap_opts(pxe_opts(pxearch, tagif_netid, context->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
-+                do_encap_opts(pxe_opts(pxearch, tagif_netid, tmp->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
-                 
-                 log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy-ignored" : "proxy", NULL, mess->xid);
-                 log_tags(tagif_netid, ntohl(mess->xid));
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch b/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch
deleted file mode 100644 (file)
index a6a788f..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From 5d07d77e75e0f02bc0a8f6029ffbc8b371fa804e Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 15 May 2015 18:13:06 +0100
-Subject: [PATCH 095/113] Fix buffer overflow introduced in 2.73rc6.
-
-Fix off-by-one in code which checks for over-long domain names
-in received DNS packets. This enables buffer overflow attacks
-which can certainly crash dnsmasq and may allow for arbitrary
-code execution. The problem was introduced in commit b8f16556d,
-release 2.73rc6, so has not escaped into any stable release.
-Note that the off-by-one was in the label length determination,
-so the buffer can be overflowed by as many bytes as there are
-labels in the name - ie, many.
-
-Thanks to Ron Bowes, who used lcmatuf's afl-fuzz tool to find
-the problem.
----
- src/rfc1035.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index 5e3f566fdbc5..a95241f83523 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -94,8 +94,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-           count = 256;
-         digs = ((count-1)>>2)+1;
-         
--        /* output is \[x<hex>/siz]. which is digs+6/7/8 chars */
--        namelen += digs+6;
-+        /* output is \[x<hex>/siz]. which is digs+7/8/9 chars */
-+        namelen += digs+7;
-         if (count > 9)
-           namelen++;
-         if (count > 99)
-@@ -125,8 +125,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-       }
-       else 
-       { /* label_type = 0 -> label. */
--        namelen += l;
--        if (namelen+1 >= MAXDNAME)
-+        namelen += l + 1; /* include period */
-+        if (namelen >= MAXDNAME)
-           return 0;
-         if (!CHECK_LEN(header, p, plen, l))
-           return 0;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch b/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch
deleted file mode 100644 (file)
index 763a43d..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-From 06568c663643b9ed1577d95efee69d734f427cf5 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 15 May 2015 20:43:48 +0100
-Subject: [PATCH 096/113] Remove support for DNS Extended Label Types.
-
-The support was only partial, and the whole concept is
-now deprecated in the standards.
----
- src/rfc1035.c | 52 ++++------------------------------------------------
- 1 file changed, 4 insertions(+), 48 deletions(-)
-
-diff --git a/src/rfc1035.c b/src/rfc1035.c
-index a95241f83523..56647b02ab4d 100644
---- a/src/rfc1035.c
-+++ b/src/rfc1035.c
-@@ -77,53 +77,7 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-         
-         p = l + (unsigned char *)header;
-       }
--      else if (label_type == 0x80)
--      return 0; /* reserved */
--      else if (label_type == 0x40)
--      { /* ELT */
--        unsigned int count, digs;
--        
--        if ((l & 0x3f) != 1)
--          return 0; /* we only understand bitstrings */
--
--        if (!isExtract)
--          return 0; /* Cannot compare bitsrings */
--        
--        count = *p++;
--        if (count == 0)
--          count = 256;
--        digs = ((count-1)>>2)+1;
--        
--        /* output is \[x<hex>/siz]. which is digs+7/8/9 chars */
--        namelen += digs+7;
--        if (count > 9)
--          namelen++;
--        if (count > 99)
--          namelen++;
--        if (namelen+1 >= MAXDNAME)
--          return 0;
--
--        if (!CHECK_LEN(header, p, plen, (count-1)>>3))
--          return 0;
--
--        *cp++ = '\\';
--        *cp++ = '[';
--        *cp++ = 'x';
--        for (j=0; j<digs; j++)
--          {
--            unsigned int dig;
--            if (j%2 == 0)
--              dig = *p >> 4;
--            else
--              dig = *p++ & 0x0f;
--            
--            *cp++ = dig < 10 ? dig + '0' : dig + 'A' - 10;
--          } 
--        cp += sprintf((char *)cp, "/%d]", count);
--        /* do this here to overwrite the zero char from sprintf */
--        *cp++ = '.';
--      }
--      else 
-+      else if (label_type == 0x00)
-       { /* label_type = 0 -> label. */
-         namelen += l + 1; /* include period */
-         if (namelen >= MAXDNAME)
-@@ -176,12 +130,14 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
-                     retvalue =  2;
-                 }
-             }
--        
-+          
-         if (isExtract)
-           *cp++ = '.';
-         else if (*cp != 0 && *cp++ != '.')
-           retvalue = 2;
-       }
-+      else
-+      return 0; /* label types 0x40 and 0x80 not supported */
-     }
- }
-  
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch b/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch
deleted file mode 100644 (file)
index 896ba6d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 7f8565b94ca52dde31f7688a9f9a0cc611d9dae3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 19 May 2015 23:01:27 +0100
-Subject: [PATCH 097/113] Select correct DHCP context when in PXE bootserver
- mode.
-
----
- src/rfc2131.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index 70d1e59530ad..e602a21585c9 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -805,7 +805,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-           if (service->type == type)
-             break;
-         
--        if (!service || !service->basename)
-+        if (!service || !service->basename || !(context = narrow_context(context, mess->ciaddr, tagif_netid)))
-           return 0;
-         
-         clear_packet(mess, end);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch b/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch
deleted file mode 100644 (file)
index a478e77..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From 549b1a478c5eee9dbd3a0709913a26ec29d30f2c Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 20 May 2015 20:20:24 +0100
-Subject: [PATCH 098/113] Tweak immediately previous patch.
-
----
- src/rfc2131.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/src/rfc2131.c b/src/rfc2131.c
-index e602a21585c9..9f69ed595903 100644
---- a/src/rfc2131.c
-+++ b/src/rfc2131.c
-@@ -805,9 +805,14 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
-           if (service->type == type)
-             break;
-         
--        if (!service || !service->basename || !(context = narrow_context(context, mess->ciaddr, tagif_netid)))
--          return 0;
-+        for (; context; context = context->current)
-+          if (match_netid(context->filter, tagif_netid, 1) &&
-+              is_same_net(mess->ciaddr, context->start, context->netmask))
-+            break;
-         
-+        if (!service || !service->basename || !context)
-+          return 0;
-+                
-         clear_packet(mess, end);
-         
-         mess->yiaddr = mess->ciaddr;
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0099-Man-page-typo.patch b/src/patches/dnsmasq/0099-Man-page-typo.patch
deleted file mode 100644 (file)
index 51831ad..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 23facf0d7752b048521f0d900336bda89348ae67 Mon Sep 17 00:00:00 2001
-From: Christian Demsar <vixsomnis@fastmail.com>
-Date: Wed, 20 May 2015 20:26:23 +0100
-Subject: [PATCH 099/113] Man page typo.
-
----
- man/dnsmasq.8 | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index 6b4626cc0aad..f811dc326e9f 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -1388,7 +1388,7 @@ enables dynamic allocation. With tags, only when the tags are all
- set. It may be repeated with different tag sets. 
- .TP
- .B \-5, --no-ping
--(IPv4 only) By default, the DHCP server will attempt to ensure that an address in
-+(IPv4 only) By default, the DHCP server will attempt to ensure that an address is
- not in use before allocating it to a host. It does this by sending an
- ICMP echo request (aka "ping") to the address in question. If it gets
- a reply, then the address must already be in use, and another is
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch b/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch
deleted file mode 100644 (file)
index 74c6800..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From 46c89f2bd0e0734889e4707202a5aaed24f74daa Mon Sep 17 00:00:00 2001
-From: John Hanks <griznog@gmail.com>
-Date: Tue, 26 May 2015 22:07:57 +0100
-Subject: [PATCH 100/113] Add infiniband to example config file.
-
----
- dnsmasq.conf.example | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
-index 67be99acb028..250a79204e8d 100644
---- a/dnsmasq.conf.example
-+++ b/dnsmasq.conf.example
-@@ -251,6 +251,13 @@
- # the IP address 192.168.0.60
- #dhcp-host=id:01:02:02:04,192.168.0.60
-+# Always give the Infiniband interface with hardware address
-+# 80:00:00:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:28:05:81 the
-+# ip address 192.168.0.61. The client id is derived from the prefix
-+# ff:00:00:00:00:00:02:00:00:02:c9:00 and the last 8 pairs of
-+# hex digits of the hardware address.
-+#dhcp-host=id:ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:05:81,192.168.0.61
-+
- # Always give the host with client identifier "marjorie"
- # the IP address 192.168.0.60
- #dhcp-host=id:marjorie,192.168.0.60
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch b/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch
deleted file mode 100644 (file)
index e97e5f7..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From bd7bfa21c4500fca8b18bc7f68890bf51cd737e3 Mon Sep 17 00:00:00 2001
-From: swigger <swigger@gmail.com>
-Date: Mon, 1 Jun 2015 20:54:59 +0100
-Subject: [PATCH 101/113] Correctly sanitise DNS header bits in answer when
- recreating query for retry.
-
----
- src/dns-protocol.h | 14 +++++++-------
- src/forward.c      |  3 ++-
- 2 files changed, 9 insertions(+), 8 deletions(-)
-
-diff --git a/src/dns-protocol.h b/src/dns-protocol.h
-index 4b71746f8d26..6cf515881c17 100644
---- a/src/dns-protocol.h
-+++ b/src/dns-protocol.h
-@@ -84,15 +84,15 @@ struct dns_header {
-   u16 qdcount,ancount,nscount,arcount;
- };
--#define HB3_QR       0x80
-+#define HB3_QR       0x80 /* Query */
- #define HB3_OPCODE   0x78
--#define HB3_AA       0x04
--#define HB3_TC       0x02
--#define HB3_RD       0x01
-+#define HB3_AA       0x04 /* Authoritative Answer */
-+#define HB3_TC       0x02 /* TrunCated */
-+#define HB3_RD       0x01 /* Recursion Desired */
--#define HB4_RA       0x80
--#define HB4_AD       0x20
--#define HB4_CD       0x10
-+#define HB4_RA       0x80 /* Recursion Available */
-+#define HB4_AD       0x20 /* Authenticated Data */
-+#define HB4_CD       0x10 /* Checking Disabled */
- #define HB4_RCODE    0x0f
- #define OPCODE(x)          (((x)->hb3 & HB3_OPCODE) >> 3)
-diff --git a/src/forward.c b/src/forward.c
-index 74e5ab66c423..8c3e71cebe87 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -769,7 +769,8 @@ void reply_query(int fd, int family, time_t now)
-         header->arcount = htons(0);
-         if ((nn = resize_packet(header, (size_t)n, pheader, plen)))
-           {
--            header->hb3 &= ~(HB3_QR | HB3_TC);
-+            header->hb3 &= ~(HB3_QR | HB3_AA | HB3_TC);
-+            header->hb4 &= ~(HB4_RA | HB4_RCODE);
-             forward_query(-1, NULL, NULL, 0, header, nn, now, forward, 0, 0);
-             return;
-           }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch b/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch
deleted file mode 100644 (file)
index 22b24cd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 89130d91d684faa88cb244f46c85eb26a8c06d7a Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 3 Jun 2015 22:30:59 +0100
-Subject: [PATCH 102/113] DHCPv6: DHCPCONFIRM should be OK for any address on
- link, not just dynamic addresses.
-
----
- CHANGELOG     | 5 +++++
- src/rfc3315.c | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index ef39a415788b..9e1b5a5ab0b8 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -121,6 +121,11 @@ version 2.73
-           Allow DHCPv4 options T1 and T2 to be set using --dhcp-option.
-           Thanks to Kevin Benton for patches and work on this.
-+            Fix code for DHCPCONFIRM DHCPv6 messages to confirm addresses
-+          in the correct subnet, even of not in dynamic address 
-+          allocation range. Thanks to Steve Hirsch for spotting
-+          the problem.
-+      
-       
- version 2.72
-             Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
-diff --git a/src/rfc3315.c b/src/rfc3315.c
-index b4f5dd2db61f..2665d0d3294a 100644
---- a/src/rfc3315.c
-+++ b/src/rfc3315.c
-@@ -1089,7 +1089,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
-             {
-               struct in6_addr *req_addr = opt6_ptr(ia_option, 0);
-               
--              if (!address6_available(state->context, req_addr, tagif, 1))
-+              if (!address6_valid(state->context, req_addr, tagif, 1))
-                 {
-                   o1 = new_opt6(OPTION6_STATUS_CODE);
-                   put_opt6_short(DHCP6NOTONLINK);
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch b/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch
deleted file mode 100644 (file)
index c7cde8d..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From 4d25cf89d51c635af0a23c0ca3425c7aadbc0b55 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Sat, 6 Jun 2015 23:13:57 +0100
-Subject: [PATCH 103/113] Handle corner cases in NSEC coverage checks.
-
----
- src/dnssec.c | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index e91d7c2cf040..93217b05a846 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1493,13 +1493,13 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi
-       {
-         /* Normal case, name falls between NSEC name and next domain name,
-            wrap around case, name falls between NSEC name (rc == -1) and end */
--        if (hostname_cmp(workspace2, name) == 1 || hostname_cmp(workspace1, workspace2) == 1)
-+        if (hostname_cmp(workspace2, name) >= 0 || hostname_cmp(workspace1, workspace2) >= 0)
-           return STAT_SECURE;
-       }
-       else 
-       {
-         /* wrap around case, name falls between start and next domain name */
--        if (hostname_cmp(workspace1, workspace2) == 1 && hostname_cmp(workspace2, name) == 1)
-+        if (hostname_cmp(workspace1, workspace2) >= 0 && hostname_cmp(workspace2, name) >=0 )
-           return STAT_SECURE;
-       }
-     }
-@@ -1632,17 +1632,17 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige
-               return 1;
-             }
--          else if (rc <= 0)
-+          else if (rc < 0)
-             {
-               /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash,
-                  wrap around case, name-hash falls between NSEC3 name-hash and end */
--              if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0)
-+              if (memcmp(p, digest, digest_len) >= 0 || memcmp(workspace2, p, digest_len) >= 0)
-                 return 1;
-             }
-           else 
-             {
-               /* wrap around case, name falls between start and next domain name */
--              if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0)
-+              if (memcmp(workspace2, p, digest_len) >= 0 && memcmp(p, digest, digest_len) >= 0)
-                 return 1;
-             }
-         }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch b/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch
deleted file mode 100644 (file)
index 684ffbb..0000000
+++ /dev/null
@@ -1,329 +0,0 @@
-From c6d82c9ba64cdd50f76c9079dd06c48cca4fc39b Mon Sep 17 00:00:00 2001
-From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
-Date: Tue, 9 Jun 2015 20:42:20 +0100
-Subject: [PATCH 104/113] Add Dbus methods to create and delete DHCP leases.
-
----
- CHANGELOG           |   3 +
- dbus/DBus-interface |  74 ++++++++++++++++++++
- src/dbus.c          | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 268 insertions(+)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index 9e1b5a5ab0b8..a5bd4dc02701 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -125,6 +125,9 @@ version 2.73
-           in the correct subnet, even of not in dynamic address 
-           allocation range. Thanks to Steve Hirsch for spotting
-           the problem.
-+
-+          Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks
-+          to Nicolas Cavallari for the patch.
-       
-       
- version 2.72
-diff --git a/dbus/DBus-interface b/dbus/DBus-interface
-index 9a895eb24a61..2db5c30b2eaa 100644
---- a/dbus/DBus-interface
-+++ b/dbus/DBus-interface
-@@ -169,6 +169,80 @@ Return an array of strings, each string is the IP address of an upstream
- server which has been found to loop queries back to this dnsmasq instance, and 
- it therefore not being used.
-+AddDhcpLease
-+------------
-+
-+Returns nothing. Adds or updates a DHCP or DHCPv6 lease to the internal lease
-+database, as if a client requested and obtained a lease.
-+
-+If a lease for the IPv4 or IPv6 address already exist, it is overwritten.
-+
-+Note that this function will trigger the DhcpLeaseAdded or DhcpLeaseUpdated
-+D-Bus signal and will run the configured DHCP lease script accordingly.
-+
-+This function takes many arguments which are the lease parameters:
-+- A string with the textual representation of the IPv4 or IPv6 address of the
-+  client.
-+
-+  Examples:
-+  "192.168.1.115"
-+  "1003:1234:abcd::1%eth0"
-+  "2001:db8:abcd::1"
-+
-+- A string representing the hardware address of the client, using the same
-+  format as the one used in the lease database.
-+
-+  Examples:
-+
-+  "00:23:45:67:89:ab"
-+  "06-00:20:e0:3b:13:af" (token ring)
-+
-+- The hostname of the client, as an array of bytes (so there is no problem
-+  with non-ASCII character encoding). May be empty.
-+
-+  Example (for "hostname.or.fqdn"):
-+  [104, 111, 115, 116, 110, 97, 109, 101, 46, 111, 114, 46, 102, 113, 100, 110]
-+
-+- The client identifier (IPv4) or DUID (IPv6) as an array of bytes. May be
-+  empty.
-+
-+  Examples:
-+
-+  DHCPv6 DUID:
-+  [0, 3, 0, 1, 0, 35, 69, 103, 137, 171]
-+  DHCPv4 client identifier:
-+  [255, 12, 34, 56, 78, 0, 1, 0, 1, 29, 9, 99, 190, 35, 69, 103, 137, 171]
-+
-+- The duration of the lease, in seconds. If the lease is updated, then
-+  the duration replaces the previous duration.
-+
-+  Example:
-+
-+  7200
-+
-+- The IAID (Identity association identifier) of the DHCPv6 lease, as a network
-+  byte-order unsigned integer. For DHCPv4 leases, this must be set to 0.
-+
-+  Example (for IPv6):
-+
-+  203569230
-+
-+- A boolean which, if true, indicates that the DHCPv6 lease is for a temporary
-+  address (IA_TA). If false, the DHCPv6 lease is for a non-temporary address
-+  (IA_NA). For DHCPv4 leases, this must be set to false.
-+
-+RemoveDhcpLease
-+---------------
-+
-+Returns nothing. Removes a DHCP or DHCPv6 lease to the internal lease
-+database, as if a client sent a release message to abandon a lease.
-+
-+This function takes only one parameter: the text representation of the
-+IPv4 or IPv6 address of the lease to remove.
-+
-+Note that this function will trigger the DhcpLeaseRemoved signal and the
-+configured DHCP lease script will be run with the "del" action.
-+
- 2. SIGNALS
-diff --git a/src/dbus.c b/src/dbus.c
-index 5b69de518beb..801d4825001b 100644
---- a/src/dbus.c
-+++ b/src/dbus.c
-@@ -70,6 +70,21 @@ const char* introspection_xml_template =
- "      <arg name=\"hwaddr\" type=\"s\"/>\n"
- "      <arg name=\"hostname\" type=\"s\"/>\n"
- "    </signal>\n"
-+#ifdef HAVE_DHCP
-+"    <method name=\"AddDhcpLease\">\n"
-+"       <arg name=\"ipaddr\" type=\"s\"/>\n"
-+"       <arg name=\"hwaddr\" type=\"s\"/>\n"
-+"       <arg name=\"hostname\" type=\"ay\"/>\n"
-+"       <arg name=\"clid\" type=\"ay\"/>\n"
-+"       <arg name=\"lease_duration\" type=\"u\"/>\n"
-+"       <arg name=\"ia_id\" type=\"u\"/>\n"
-+"       <arg name=\"is_temporary\" type=\"b\"/>\n"
-+"    </method>\n"
-+"    <method name=\"DeleteDhcpLease\">\n"
-+"       <arg name=\"ipaddr\" type=\"s\"/>\n"
-+"       <arg name=\"success\" type=\"b\" direction=\"out\"/>\n"
-+"    </method>\n"
-+#endif
- "  </interface>\n"
- "</node>\n";
-@@ -433,6 +448,172 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name)
-   return NULL;
- }
-+#ifdef HAVE_DHCP
-+static DBusMessage *dbus_add_lease(DBusMessage* message)
-+{
-+  struct dhcp_lease *lease;
-+  const char *ipaddr, *hwaddr, *hostname, *tmp;
-+  const unsigned char* clid;
-+  int clid_len, hostname_len, hw_len, hw_type;
-+  dbus_uint32_t expires, ia_id;
-+  dbus_bool_t is_temporary;
-+  struct all_addr addr;
-+  time_t now = dnsmasq_time();
-+  unsigned char dhcp_chaddr[DHCP_CHADDR_MAX];
-+
-+  DBusMessageIter iter, array_iter;
-+  if (!dbus_message_iter_init(message, &iter))
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Failed to initialize dbus message iter");
-+
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected string as first argument");
-+
-+  dbus_message_iter_get_basic(&iter, &ipaddr);
-+  dbus_message_iter_next(&iter);
-+
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected string as second argument");
-+    
-+  dbus_message_iter_get_basic(&iter, &hwaddr);
-+  dbus_message_iter_next(&iter);
-+
-+  if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) ||
-+      (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE))
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected byte array as third argument");
-+    
-+  dbus_message_iter_recurse(&iter, &array_iter);
-+  dbus_message_iter_get_fixed_array(&array_iter, &hostname, &hostname_len);
-+  tmp = memchr(hostname, '\0', hostname_len);
-+  if (tmp)
-+    {
-+      if (tmp == &hostname[hostname_len - 1])
-+      hostname_len--;
-+      else
-+      return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                    "Hostname contains an embedded NUL character");
-+    }
-+  dbus_message_iter_next(&iter);
-+
-+  if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) ||
-+      (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE))
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected byte array as fourth argument");
-+
-+  dbus_message_iter_recurse(&iter, &array_iter);
-+  dbus_message_iter_get_fixed_array(&array_iter, &clid, &clid_len);
-+  dbus_message_iter_next(&iter);
-+
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected uint32 as fifth argument");
-+    
-+  dbus_message_iter_get_basic(&iter, &expires);
-+  dbus_message_iter_next(&iter);
-+
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                    "Expected uint32 as sixth argument");
-+  
-+  dbus_message_iter_get_basic(&iter, &ia_id);
-+  dbus_message_iter_next(&iter);
-+
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected uint32 as sixth argument");
-+
-+  dbus_message_iter_get_basic(&iter, &is_temporary);
-+
-+  if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4))
-+    {
-+      if (ia_id != 0 || is_temporary)
-+      return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                    "ia_id and is_temporary must be zero for IPv4 lease");
-+      
-+      if (!(lease = lease_find_by_addr(addr.addr.addr4)))
-+      lease = lease4_allocate(addr.addr.addr4);
-+    }
-+#ifdef HAVE_DHCP6
-+  else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6))
-+    {
-+      if (!(lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0)))
-+      lease = lease6_allocate(&addr.addr.addr6,
-+                              is_temporary ? LEASE_TA : LEASE_NA);
-+      lease_set_iaid(lease, ia_id);
-+    }
-+#endif
-+  else
-+    return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS,
-+                                       "Invalid IP address '%s'", ipaddr);
-+   
-+  hw_len = parse_hex((char*)hwaddr, dhcp_chaddr, DHCP_CHADDR_MAX, NULL,
-+                   &hw_type);
-+  if (hw_type == 0 && hw_len != 0)
-+    hw_type = ARPHRD_ETHER;
-+
-+    lease_set_hwaddr(lease, dhcp_chaddr, clid, hw_len, hw_type,
-+                   clid_len, now, 0);
-+  lease_set_expires(lease, expires, now);
-+  if (hostname_len != 0)
-+    lease_set_hostname(lease, hostname, 0, get_domain(lease->addr), NULL);
-+    
-+  lease_update_file(now);
-+  lease_update_dns(0);
-+
-+  return NULL;
-+}
-+
-+static DBusMessage *dbus_del_lease(DBusMessage* message)
-+{
-+  struct dhcp_lease *lease;
-+  DBusMessageIter iter;
-+  const char *ipaddr;
-+  DBusMessage *reply;
-+  struct all_addr addr;
-+  dbus_bool_t ret = 1;
-+  time_t now = dnsmasq_time();
-+
-+  if (!dbus_message_iter_init(message, &iter))
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Failed to initialize dbus message iter");
-+   
-+  if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
-+    return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS,
-+                                "Expected string as first argument");
-+   
-+  dbus_message_iter_get_basic(&iter, &ipaddr);
-+
-+  if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4))
-+    lease = lease_find_by_addr(addr.addr.addr4);
-+#ifdef HAVE_DHCP6
-+  else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6))
-+    lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0);
-+#endif
-+  else
-+    return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS,
-+                                       "Invalid IP address '%s'", ipaddr);
-+    
-+  if (lease)
-+    {
-+      lease_prune(lease, now);
-+      lease_update_file(now);
-+      lease_update_dns(0);
-+    }
-+  else
-+    ret = 0;
-+  
-+  if ((reply = dbus_message_new_method_return(message)))
-+    dbus_message_append_args(reply, DBUS_TYPE_BOOLEAN, &ret,
-+                           DBUS_TYPE_INVALID);
-+  
-+    
-+  return reply;
-+}
-+#endif
-+
- DBusHandlerResult message_handler(DBusConnection *connection, 
-                                 DBusMessage *message, 
-                                 void *user_data)
-@@ -490,6 +671,16 @@ DBusHandlerResult message_handler(DBusConnection *connection,
-     {
-       reply = dbus_set_bool(message, OPT_BOGUSPRIV, "bogus-priv");
-     }
-+#ifdef HAVE_DHCP
-+  else if (strcmp(method, "AddDhcpLease") == 0)
-+    {
-+      reply = dbus_add_lease(message);
-+    }
-+  else if (strcmp(method, "DeleteDhcpLease") == 0)
-+    {
-+      reply = dbus_del_lease(message);
-+    }
-+#endif
-   else if (strcmp(method, "ClearCache") == 0)
-     clear_cache = 1;
-   else
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch b/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch
deleted file mode 100644 (file)
index 804a337..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From d91b1fd402d8de127921dc4cca01007d9da23f92 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Tue, 9 Jun 2015 20:45:07 +0100
-Subject: [PATCH 105/113] Add a couple of missed logging strings to the
- catalogue.
-
----
- src/dbus.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/dbus.c b/src/dbus.c
-index 801d4825001b..3d686e86f41e 100644
---- a/src/dbus.c
-+++ b/src/dbus.c
-@@ -436,12 +436,12 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name)
-   if (enabled)
-     { 
--      my_syslog(LOG_INFO, "Enabling --%s option from D-Bus", name);
-+      my_syslog(LOG_INFO, _("Enabling --%s option from D-Bus"), name);
-       set_option_bool(flag);
-     }
-   else
-     {
--      my_syslog(LOG_INFO, "Disabling --%s option from D-Bus", name);
-+      my_syslog(LOG_INFO, _("Disabling --%s option from D-Bus"), name);
-       reset_option_bool(flag);
-     }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch b/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch
deleted file mode 100644 (file)
index f08516c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 654f59e7620c857279843e50588ac76e88040b0f Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:06:33 +0100
-Subject: [PATCH 106/113] Fix logging of unknown interface in
- --bridge-interface, DHPCv4.
-
----
- src/dhcp.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/dhcp.c b/src/dhcp.c
-index f1f43f8d8f90..eb1ea810b573 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -236,7 +236,9 @@ void dhcp_packet(time_t now, int pxe_fd)
-         {
-           if (!(iface_index = if_nametoindex(bridge->iface)))
-             {
--              my_syslog(LOG_WARNING, _("unknown interface %s in bridge-interface"), ifr.ifr_name);
-+              my_syslog(MS_DHCP | LOG_WARNING,
-+                        _("unknown interface %s in bridge-interface"),
-+                        bridge->iface);
-               return;
-             }
-           else 
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch b/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch
deleted file mode 100644 (file)
index 8ae75d3..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From 0ddb8769bb809cd118840553e12be86297cdf246 Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:11:06 +0100
-Subject: [PATCH 107/113] Extend --bridge-interface aliasing to DHCPv6.
-
----
- src/dhcp6.c | 28 +++++++++++++++++++++++++++-
- 1 file changed, 27 insertions(+), 1 deletion(-)
-
-diff --git a/src/dhcp6.c b/src/dhcp6.c
-index ee2aa5d3bf3c..4c60c6e86c0c 100644
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -144,6 +144,8 @@ void dhcp6_packet(time_t now)
-   if ((port = relay_reply6(&from, sz, ifr.ifr_name)) == 0)
-     {
-+      struct dhcp_bridge *bridge, *alias;
-+
-       for (tmp = daemon->if_except; tmp; tmp = tmp->next)
-       if (tmp->name && wildcard_match(tmp->name, ifr.ifr_name))
-         return;
-@@ -160,6 +162,30 @@ void dhcp6_packet(time_t now)
-       memset(&parm.fallback, 0, IN6ADDRSZ);
-       memset(&parm.ll_addr, 0, IN6ADDRSZ);
-       memset(&parm.ula_addr, 0, IN6ADDRSZ);
-+
-+      /* If the interface on which the DHCPv6 request was received is
-+         an alias of some other interface (as specified by the
-+         --bridge-interfaces option), change parm.ind so that we look
-+         for DHCPv6 contexts associated with the aliased interface
-+         instead of with the aliasing one. */
-+      for (bridge = daemon->bridges; bridge; bridge = bridge->next)
-+      {
-+        for (alias = bridge->alias; alias; alias = alias->next)
-+          if (wildcard_matchn(alias->iface, ifr.ifr_name, IF_NAMESIZE))
-+            {
-+              parm.ind = if_nametoindex(bridge->iface);
-+              if (!parm.ind)
-+                {
-+                  my_syslog(MS_DHCP | LOG_WARNING,
-+                            _("unknown interface %s in bridge-interface"),
-+                            bridge->iface);
-+                  return;
-+                }
-+              break;
-+            }
-+        if (alias)
-+          break;
-+      }
-       
-       for (context = daemon->dhcp6; context; context = context->next)
-       if (IN6_IS_ADDR_UNSPECIFIED(&context->start6) && context->prefix == 0)
-@@ -208,7 +234,7 @@ void dhcp6_packet(time_t now)
-       /* May have configured relay, but not DHCP server */
-       if (!daemon->doing_dhcp6)
-       return;
--      
-+
-       lease_prune(NULL, now); /* lose any expired leases */
-       
-       port = dhcp6_reply(parm.current, if_index, ifr.ifr_name, &parm.fallback, 
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch b/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch
deleted file mode 100644 (file)
index 576945d..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 2fd5bc952dc802433ffebc90eacb78da3d30b80e Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:13:06 +0100
-Subject: [PATCH 108/113] Allow router advertisements to have the "off-link"
- bit set.
-
----
- src/dnsmasq.h |  1 +
- src/option.c  |  2 ++
- src/radv.c    | 13 +++++++++----
- 3 files changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
-index ab16f79b3ec9..8d005d732e72 100644
---- a/src/dnsmasq.h
-+++ b/src/dnsmasq.h
-@@ -868,6 +868,7 @@ struct dhcp_context {
- #define CONTEXT_USED           (1u<<15)
- #define CONTEXT_OLD            (1u<<16)
- #define CONTEXT_V6             (1u<<17)
-+#define CONTEXT_RA_OFF_LINK    (1u<<18)
- struct ping_result {
-   struct in_addr addr;
-diff --git a/src/option.c b/src/option.c
-index c7add88de7ac..f99c3f59e9d3 100644
---- a/src/option.c
-+++ b/src/option.c
-@@ -2699,6 +2699,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
-                 new->flags |= CONTEXT_RA_ROUTER | CONTEXT_RA;
-               else if (strcmp(a[leasepos], "ra-stateless") == 0)
-                 new->flags |= CONTEXT_RA_STATELESS | CONTEXT_DHCP | CONTEXT_RA;
-+              else if (strcmp(a[leasepos], "off-link") == 0)
-+                new->flags |= CONTEXT_RA_OFF_LINK;
-               else if (leasepos == 1 && inet_pton(AF_INET6, a[leasepos], &new->end6))
-                 new->flags |= CONTEXT_DHCP; 
-               else if (strstr(a[leasepos], "constructor:") == a[leasepos])
-diff --git a/src/radv.c b/src/radv.c
-index d0faddf8684a..ec22464b78b9 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -313,8 +313,10 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de
-                 opt->type = ICMP6_OPT_PREFIX;
-                 opt->len = 4;
-                 opt->prefix_len = context->prefix;
--                /* autonomous only if we're not doing dhcp, always set "on-link" */
--                opt->flags = do_slaac ? 0xC0 : 0x80;
-+                /* autonomous only if we're not doing dhcp, set
-+                     "on-link" unless "off-link" was specified */
-+                opt->flags = (do_slaac ? 0x40 : 0) |
-+                    ((context->flags & CONTEXT_RA_OFF_LINK) ? 0 : 0x80);
-                 opt->valid_lifetime = htonl(context->saved_valid - old);
-                 opt->preferred_lifetime = htonl(0);
-                 opt->reserved = 0; 
-@@ -514,6 +516,7 @@ static int add_prefixes(struct in6_addr *local,  int prefix,
-         int deprecate  = 0;
-         int constructed = 0;
-         int adv_router = 0;
-+        int off_link = 0;
-         unsigned int time = 0xffffffff;
-         struct dhcp_context *context;
-         
-@@ -586,6 +589,7 @@ static int add_prefixes(struct in6_addr *local,  int prefix,
-                     context->ra_time = 0;
-                   context->flags |= CONTEXT_RA_DONE;
-                   real_prefix = context->prefix;
-+                    off_link = (context->flags & CONTEXT_RA_OFF_LINK);
-                 }
-               param->first = 0;       
-@@ -636,8 +640,9 @@ static int add_prefixes(struct in6_addr *local,  int prefix,
-                 opt->type = ICMP6_OPT_PREFIX;
-                 opt->len = 4;
-                 opt->prefix_len = real_prefix;
--                /* autonomous only if we're not doing dhcp, always set "on-link" */
--                opt->flags = 0x80;
-+                /* autonomous only if we're not doing dhcp, set
-+                     "on-link" unless "off-link" was specified */
-+                opt->flags = (off_link ? 0 : 0x80);
-                 if (do_slaac)
-                   opt->flags |= 0x40;
-                 if (adv_router)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch b/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch
deleted file mode 100644 (file)
index 6518771..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-From ba4fc0f99619014438621ccd2bc473657ab4c51c Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:14:49 +0100
-Subject: [PATCH 109/113] Upply --bridge-interface aliasing to solicited router
- advertisements.
-
----
- src/radv.c | 45 ++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 40 insertions(+), 5 deletions(-)
-
-diff --git a/src/radv.c b/src/radv.c
-index ec22464b78b9..54784967df57 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -41,6 +41,8 @@ struct search_param {
- };
- static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest);
-+static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest,
-+                    int send_iface);
- static int add_prefixes(struct in6_addr *local,  int prefix,
-                       int scope, int if_index, int flags, 
-                       unsigned int preferred, unsigned int valid, void *vparam);
-@@ -181,6 +183,7 @@ void icmp6_packet(time_t now)
-   else if (packet[0] == ND_ROUTER_SOLICIT)
-     {
-       char *mac = "";
-+      struct dhcp_bridge *bridge, *alias;
-       
-       /* look for link-layer address option for logging */
-       if (sz >= 16 && packet[8] == ICMP6_OPT_SOURCE_MAC && (packet[9] * 8) + 8 <= sz)
-@@ -191,12 +194,37 @@ void icmp6_packet(time_t now)
-          
-       if (!option_bool(OPT_QUIET_RA))
-       my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac);
--      /* source address may not be valid in solicit request. */
--      send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL);
-+
-+      /* If the incoming interface is an alias of some other one (as
-+         specified by the --bridge-interfaces option), send an RA
-+         using the context of the aliased interface. */
-+      for (bridge = daemon->bridges; bridge; bridge = bridge->next)
-+        {
-+          int bridge_index = if_nametoindex(bridge->iface);
-+          if (bridge_index)
-+          {
-+            for (alias = bridge->alias; alias; alias = alias->next)
-+              if (wildcard_matchn(alias->iface, interface, IF_NAMESIZE))
-+                {
-+                  /* Send an RA on if_index with information from
-+                     bridge_index. */
-+                  send_ra_alias(now, bridge_index, bridge->iface, NULL, if_index);
-+                  break;
-+                }
-+            if (alias)
-+              break;
-+          }
-+        }
-+
-+      /* If the incoming interface wasn't an alias, send an RA using
-+       the context of the incoming interface. */
-+      if (!bridge)
-+      /* source address may not be valid in solicit request. */
-+      send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL);
-     }
- }
--static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest)
-+static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, int send_iface)
- {
-   struct ra_packet *ra;
-   struct ra_param parm;
-@@ -370,7 +398,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de
-     }
- #endif
-      
--  iface_enumerate(AF_LOCAL, &iface, add_lla);
-+  iface_enumerate(AF_LOCAL, &send_iface, add_lla);
-  
-   /* RDNSS, RFC 6106, use relevant DHCP6 options */
-   (void)option_filter(parm.tags, NULL, daemon->dhcp_opts6);
-@@ -478,7 +506,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de
-   else
-     {
-       inet_pton(AF_INET6, ALL_NODES, &addr.sin6_addr); 
--      setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &iface, sizeof(iface));
-+      setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &send_iface, sizeof(send_iface));
-     }
-   
-   while (retry_send(sendto(daemon->icmp6fd, daemon->outpacket.iov_base, 
-@@ -487,6 +515,13 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de
-   
- }
-+static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest)
-+{
-+  /* Send an RA on the same interface that the RA content is based
-+     on. */
-+  send_ra_alias(now, iface, iface_name, dest, iface);
-+}
-+
- static int add_prefixes(struct in6_addr *local,  int prefix,
-                       int scope, int if_index, int flags, 
-                       unsigned int preferred, unsigned int valid, void *vparam)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch b/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch
deleted file mode 100644 (file)
index 3097211..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-From 9bad339af848fc30bab4ea2759f022820f474e17 Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:16:35 +0100
-Subject: [PATCH 110/113] Apply --bridge-interfaces to unsolicited router
- advertisements.
-
----
- src/radv.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 84 insertions(+), 2 deletions(-)
-
-diff --git a/src/radv.c b/src/radv.c
-index 54784967df57..300c31c83c78 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -40,9 +40,18 @@ struct search_param {
-   char name[IF_NAMESIZE+1];
- };
-+struct alias_param {
-+  int iface;
-+  struct dhcp_bridge *bridge;
-+  int num_alias_ifs;
-+  int max_alias_ifs;
-+  int *alias_ifs;
-+};
-+
- static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest);
- static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest,
-                     int send_iface);
-+static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm);
- static int add_prefixes(struct in6_addr *local,  int prefix,
-                       int scope, int if_index, int flags, 
-                       unsigned int preferred, unsigned int valid, void *vparam);
-@@ -723,6 +732,7 @@ time_t periodic_ra(time_t now)
-   struct search_param param;
-   struct dhcp_context *context;
-   time_t next_event;
-+  struct alias_param aparam;
-     
-   param.now = now;
-   param.iface = 0;
-@@ -770,12 +780,84 @@ time_t periodic_ra(time_t now)
-           if (tmp->name && wildcard_match(tmp->name, param.name))
-             break;
-         if (!tmp)
--          send_ra(now, param.iface, param.name, NULL); 
-+            {
-+              send_ra(now, param.iface, param.name, NULL); 
-+
-+              /* Also send on all interfaces that are aliases of this
-+                 one. */
-+              for (aparam.bridge = daemon->bridges;
-+                   aparam.bridge;
-+                   aparam.bridge = aparam.bridge->next)
-+                if ((int)if_nametoindex(aparam.bridge->iface) == param.iface)
-+                  {
-+                    /* Count the number of alias interfaces for this
-+                       'bridge', by calling iface_enumerate with
-+                       send_ra_to_aliases and NULL alias_ifs. */
-+                    aparam.iface = param.iface;
-+                    aparam.alias_ifs = NULL;
-+                    aparam.num_alias_ifs = 0;
-+                    iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases);
-+                    my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => %d alias(es)",
-+                              param.name, daemon->addrbuff, aparam.num_alias_ifs);
-+
-+                    /* Allocate memory to store the alias interface
-+                       indices. */
-+                    aparam.alias_ifs = (int *)whine_malloc(aparam.num_alias_ifs *
-+                                                           sizeof(int));
-+                    if (aparam.alias_ifs)
-+                      {
-+                        /* Use iface_enumerate again to get the alias
-+                           interface indices, then send on each of
-+                           those. */
-+                        aparam.max_alias_ifs = aparam.num_alias_ifs;
-+                        aparam.num_alias_ifs = 0;
-+                        iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases);
-+                        for (; aparam.num_alias_ifs; aparam.num_alias_ifs--)
-+                          {
-+                            my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => i/f %d",
-+                                      param.name, daemon->addrbuff,
-+                                      aparam.alias_ifs[aparam.num_alias_ifs - 1]);
-+                            send_ra_alias(now,
-+                                          param.iface,
-+                                          param.name,
-+                                          NULL,
-+                                          aparam.alias_ifs[aparam.num_alias_ifs - 1]);
-+                          }
-+                        free(aparam.alias_ifs);
-+                      }
-+
-+                    /* The source interface can only appear in at most
-+                       one --bridge-interfaces. */
-+                    break;
-+                  }
-+            }
-       }
-     }      
-   return next_event;
- }
--  
-+
-+static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm)
-+{
-+  struct alias_param *aparam = (struct alias_param *)parm;
-+  char ifrn_name[IFNAMSIZ];
-+  struct dhcp_bridge *alias;
-+
-+  (void)type;
-+  (void)mac;
-+  (void)maclen;
-+
-+  if (if_indextoname(index, ifrn_name))
-+    for (alias = aparam->bridge->alias; alias; alias = alias->next)
-+      if (wildcard_matchn(alias->iface, ifrn_name, IFNAMSIZ))
-+        {
-+          if (aparam->alias_ifs && (aparam->num_alias_ifs < aparam->max_alias_ifs))
-+            aparam->alias_ifs[aparam->num_alias_ifs] = index;
-+          aparam->num_alias_ifs++;
-+        }
-+
-+  return 1;
-+}
-+
- static int iface_search(struct in6_addr *local,  int prefix,
-                       int scope, int if_index, int flags, 
-                       int preferred, int valid, void *vparam)
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch b/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch
deleted file mode 100644 (file)
index b2b8bcb..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-From 4918bd550573844441a287a67202a6a3f0f6126a Mon Sep 17 00:00:00 2001
-From: Neil Jerram <Neil.Jerram@metaswitch.com>
-Date: Wed, 10 Jun 2015 22:23:20 +0100
-Subject: [PATCH 111/113] Documenation updates for --bridge-interface and
- "off-link".
-
----
- CHANGELOG        |  6 ++++++
- man/dnsmasq.8    | 17 +++++++++++------
- man/es/dnsmasq.8 | 12 ++++++++----
- man/fr/dnsmasq.8 | 18 ++++++++++++------
- src/dhcp.c       |  9 +++++----
- src/dhcp6.c      |  2 +-
- src/radv.c       |  6 +++---
- 7 files changed, 46 insertions(+), 24 deletions(-)
-
-diff --git a/CHANGELOG b/CHANGELOG
-index a5bd4dc02701..7d8f73ffa61c 100644
---- a/CHANGELOG
-+++ b/CHANGELOG
-@@ -128,6 +128,12 @@ version 2.73
-           Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks
-           to Nicolas Cavallari for the patch.
-+
-+          Allow configuration of router advertisements without the 
-+          "on-link" bit set. Thanks to Neil Jerram for the patch.
-+
-+          Extend --bridge-interface to DHCPv6 and router 
-+          advertisements. Thanks to Neil Jerram for the patch.
-       
-       
- version 2.72
-diff --git a/man/dnsmasq.8 b/man/dnsmasq.8
-index f811dc326e9f..ffa0c7b1f436 100644
---- a/man/dnsmasq.8
-+++ b/man/dnsmasq.8
-@@ -833,7 +833,7 @@ and
- for details.)
- For IPv6, the mode may be some combination of
--.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter.
-+.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter, off-link.
- .B ra-only
- tells dnsmasq to offer Router Advertisement only on this subnet,
-@@ -873,6 +873,9 @@ enables a mode where router address(es) rather than prefix(es) are included in t
- This is described in RFC-3775 section 7.2 and is used in mobile IPv6. In this mode the interval option
- is also included, as described in RFC-3775 section 7.3.
-+.B off-link
-+tells dnsmasq to advertise the prefix without the on-link (aka L) bit set.
-+
- .TP
- .B \-G, --dhcp-host=[<hwaddr>][,id:<client_id>|*][,set:<tag>][,<ipaddr>][,<hostname>][,<lease_time>][,ignore]
- Specify per host parameters for the DHCP server. This allows a machine
-@@ -1597,11 +1600,13 @@ option also forces the leasechange script to be called on changes
- to the client-id and lease length and expiry time.
- .TP
- .B --bridge-interface=<interface>,<alias>[,<alias>]
--Treat DHCP request packets arriving at any of the <alias> interfaces
--as if they had arrived at <interface>. This option is necessary when
--using "old style" bridging on BSD platforms, since
--packets arrive at tap interfaces which don't have an IP address.
--A trailing '*' wildcard can be used in each <alias>.
-+Treat DHCP (v4 and v6) request and IPv6 Router Solicit packets
-+arriving at any of the <alias> interfaces as if they had arrived at
-+<interface>.  This option allows dnsmasq to provide DHCP and RA
-+service over unaddressed and unbridged Ethernet interfaces, e.g. on an
-+OpenStack compute host where each such interface is a TAP interface to
-+a VM, or as in "old style bridging" on BSD platforms.  A trailing '*'
-+wildcard can be used in each <alias>.
- .TP
- .B \-s, --domain=<domain>[,<address range>[,local]]
- Specifies DNS domains for the DHCP server. Domains may be be given 
-diff --git a/man/es/dnsmasq.8 b/man/es/dnsmasq.8
-index 65e4b7277a6b..81c745a48b6e 100644
---- a/man/es/dnsmasq.8
-+++ b/man/es/dnsmasq.8
-@@ -1062,10 +1062,14 @@ esta opci
- cuando hay cambios hechos a el client-id y tiempos de arriendo y vencimiento.
- .TP
- .B --bridge-interface=<nombre de interface>,<alias>[,<alias>]
--Tratar paquetes de pedidos DHCP que llegan a cualquiera de las interfaces <alias>
--como si hubieran llegado a la interface <nombre de interface>. Esta opción
--es necesaria al usar bridging estilo viejo en plataformas BSD, dado a que
--los paquetes llegan a interfaces tap que no tienen una dirección IP.
-+Tratar paquetes de pedidos DHCP (v4 y v6) y de IPv6 Router Solicit que
-+llegan a cualquiera de las interfaces <alias> como si hubieran llegado
-+a la interface <nombre de interface>.  Esta opción permite que dnsmasq
-+puede proporcionar los servicios DHCP y RA a través de interfaces
-+ethernet sin dirección y sin puente; por ejemplo en un nodo de cálculo
-+de OpenStack, donde cada una de esas interfaces es una interfaz TAP
-+para una máquina virtual, o al usar bridging estilo viejo en
-+plataformas BSD.
- .TP
- .B \-s, --domain=<dominio>[,<rango de IPs>]
- Especifica los dominios DNS para el servidor DHCP. Dominios pueden ser
-diff --git a/man/fr/dnsmasq.8 b/man/fr/dnsmasq.8
-index e0d1e9ad92e5..b4cc16dd3786 100644
---- a/man/fr/dnsmasq.8
-+++ b/man/fr/dnsmasq.8
-@@ -852,7 +852,7 @@ et
- pour plus de détails).
- Pour IPv6, le mode peut-être une combinaison des valeurs
--.B ra-only, slaac, ra-names, ra-stateless.
-+.B ra-only, slaac, ra-names, ra-stateless, off-link.
- .B ra-only
- indique à dnsmasq de n'effectuer que des annonces de routeur (Router
-@@ -888,6 +888,9 @@ peut-être combiné avec
- et
- .B slaac.
-+.B off-link
-+indique à dnsmasq d'annoncer le préfixe sans le bit L (sur lien).
-+
- .TP
- .B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,set:<label>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore]
- Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine
-@@ -1655,11 +1658,14 @@ changement d'état de bail à chaque changement de l'identifiant de client, de
- longueur de bail ou de date d'expiration.
- .TP
- .B --bridge-interface=<interface>,<alias>[,<alias>]
--Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias>
--comme si elles arrivaient de l'interface <interface>. Cette option est
--nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme
--BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont
--pas d'adresse IP.  Chaque <alias> peut finir avec un simple '*' joker.
-+Traiter les requêtes DHCP (v4 et v6) et IPv6 Router Solicit arrivant
-+sur n'importe laquelle des interfaces <alias> comme si elles
-+arrivaient de l'interface <interface>. Cette option permet à dnsmasq
-+de fournir les service DHCP et RA sur les interfaces ethernet non
-+adressés et non pontés; par exemple sur un hôte de calcul d'OpenStack
-+où chaque telle interface est une interface TAP à une machine
-+virtuelle, ou lors de l'utilisation de pont ethernet "ancien mode" sur
-+plate-forme BSD.  Chaque <alias> peut finir avec un simple '*' joker.
- .TP
- .B \-s, --domain=<domaine>[,<gamme d'adresses>[,local]]
- Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière
-diff --git a/src/dhcp.c b/src/dhcp.c
-index eb1ea810b573..e6fceb13a3e1 100644
---- a/src/dhcp.c
-+++ b/src/dhcp.c
-@@ -225,10 +225,11 @@ void dhcp_packet(time_t now, int pxe_fd)
-   strncpy(arp_req.arp_dev, ifr.ifr_name, 16);
- #endif 
--   /* One form of bridging on BSD has the property that packets
--      can be recieved on bridge interfaces which do not have an IP address.
--      We allow these to be treated as aliases of another interface which does have
--      an IP address with --dhcp-bridge=interface,alias,alias */
-+  /* If the interface on which the DHCP request was received is an
-+     alias of some other interface (as specified by the
-+     --bridge-interface option), change ifr.ifr_name so that we look
-+     for DHCP contexts associated with the aliased interface instead
-+     of with the aliasing one. */
-   for (bridge = daemon->bridges; bridge; bridge = bridge->next)
-     {
-       for (alias = bridge->alias; alias; alias = alias->next)
-diff --git a/src/dhcp6.c b/src/dhcp6.c
-index 4c60c6e86c0c..8286ff400217 100644
---- a/src/dhcp6.c
-+++ b/src/dhcp6.c
-@@ -165,7 +165,7 @@ void dhcp6_packet(time_t now)
-       /* If the interface on which the DHCPv6 request was received is
-          an alias of some other interface (as specified by the
--         --bridge-interfaces option), change parm.ind so that we look
-+         --bridge-interface option), change parm.ind so that we look
-          for DHCPv6 contexts associated with the aliased interface
-          instead of with the aliasing one. */
-       for (bridge = daemon->bridges; bridge; bridge = bridge->next)
-diff --git a/src/radv.c b/src/radv.c
-index 300c31c83c78..39f1e92ae75f 100644
---- a/src/radv.c
-+++ b/src/radv.c
-@@ -205,8 +205,8 @@ void icmp6_packet(time_t now)
-       my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac);
-       /* If the incoming interface is an alias of some other one (as
--         specified by the --bridge-interfaces option), send an RA
--         using the context of the aliased interface. */
-+         specified by the --bridge-interface option), send an RA using
-+         the context of the aliased interface. */
-       for (bridge = daemon->bridges; bridge; bridge = bridge->next)
-         {
-           int bridge_index = if_nametoindex(bridge->iface);
-@@ -827,7 +827,7 @@ time_t periodic_ra(time_t now)
-                       }
-                     /* The source interface can only appear in at most
--                       one --bridge-interfaces. */
-+                       one --bridge-interface. */
-                     break;
-                   }
-             }
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch b/src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch
deleted file mode 100644 (file)
index 46acdd8..0000000
+++ /dev/null
@@ -1,21460 +0,0 @@
-From f7bfbdc8727b4ba0a231ed2f8daffbd493a8dbb5 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Wed, 10 Jun 2015 22:31:02 +0100
-Subject: [PATCH 112/113] Merge messages and fix makefile process to do this.
-
----
- Makefile    |   2 +-
- po/de.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/es.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/fi.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/fr.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/id.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/it.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/no.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/pl.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/pt_BR.po | 790 +++++++++++++++++++++++++++++++-----------------------------
- po/ro.po    | 790 +++++++++++++++++++++++++++++++-----------------------------
- 11 files changed, 4071 insertions(+), 3831 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 2910320b6452..59750bcb7442 100644
---- a/Makefile
-+++ b/Makefile
-@@ -117,7 +117,7 @@ install-i18n : all-i18n install-common
-       cd $(MAN); ../bld/install-man $(DESTDIR)$(MANDIR) $(INSTALL)
- merge : 
--      @cd $(BUILDDIR) && $(MAKE) -f $(top)/Makefile dnsmasq.pot
-+      @cd $(BUILDDIR) && $(MAKE) top="$(top)" -f $(top)/Makefile dnsmasq.pot
-       for f in `cd $(PO); echo *.po`; do \
-               echo -n msgmerge $(PO)/$$f && $(MSGMERGE) --no-wrap -U $(PO)/$$f $(BUILDDIR)/dnsmasq.pot; \
-       done
-diff --git a/po/de.po b/po/de.po
-index a03173845b35..ced02c8bb13b 100644
---- a/po/de.po
-+++ b/po/de.po
-@@ -32,17 +32,17 @@ msgstr "Interner Fehler im Cache."
- msgid "failed to load names from %s: %s"
- msgstr "Fehler beim Laden der Namen von %s: %s"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "Fehlerhafte Adresse in %s Zeile %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "Fehlerhafter Name in %s Zeile %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "%s gelesen - %d Adressen"
-@@ -100,641 +100,645 @@ msgstr "Konnte den Zufallszahlengenerator nicht initialisieren: %s"
- msgid "failed to allocate memory"
- msgstr "Konnte Speicher nicht belegen"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "Speicher nicht verfügbar"
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr "Konnte Pipe nicht erzeugen: %s"
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr "Konnte %d Bytes nicht belegen"
- # @Simon: not perfect but I cannot get nearer right now.
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "unendlich"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Lokale abzuhörende Adresse(n) angeben."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "IP-Adresse für alle Hosts in angegebenen Domänen festlegen."
- # FIXME: the English test is not to the point. Just use a shortened description
- # from the manpage instead. -- MA
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Für private Adressbereiche nach RFC1918 \"keine solche Domain\" liefern."
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Diese IP-Adresse als NXDOMAIN interpretieren (wehrt \"Suchhilfen\" ab)."
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Größe des Caches (Zahl der Einträge) festlegen (Voreinstellung: %s)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Konfigurationsdatei festlegen (Voreinstellung: %s)."
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NICHT in den Hintergrund gehen: Betrieb im Debug-Modus"
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "Anfragen ohne Domänen-Teil NICHT weiterschicken."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Für lokale Einträge MX-Einträge liefern, die auf sich selbst zeigen."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Erweitere einfache Namen in /etc/hosts mit der Domänen-Endung."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "'unechte' DNS-Anfragen von Windows-Rechnern nicht weiterleiten"
- # @Simon: I'm a bit unsure about "spurious"
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "DHCP für angegebenen Bereich und Dauer einschalten"
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Nach dem Start in diese Benutzergruppe wechseln (Voreinstellung %s)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Adresse oder Hostnamen für einen angegebenen Computer setzen."
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr "DHCP-Host-Angaben aus Datei lesen."
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr "DHCP-Optionen aus Datei lesen."
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "DHCP-Host-Angaben aus Datei lesen."
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "DHCP-Optionen aus Datei lesen."
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr "Auswertung eines Ausdrucks bedingter Marken."
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "%s-Datei NICHT laden."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Hosts-Datei festlegen, die zusätzlich zu %s gelesen wird."
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "DHCP-Host-Angaben aus Datei lesen."
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Schnittstelle(n) zum Empfang festlegen."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Schnittstelle(n) festlegen, die NICHT empfangen sollen."
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr "DHCP-Benutzerklasse auf Marke abbilden."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "RFC3046 \"circuit-id\" auf Marke abbilden."
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr "RFC3046 \"remote-id\" auf Marke abbilden."
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "RFC3993 \"subscriber-id\" auf Marke abbilden."
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Kein DHCP für Hosts mit gesetzter Marke verwenden."
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Rundsendung für Hosts mit gesetzter Marke erzwingen."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NICHT in den Hintergrund wechseln, NICHT im Debug-Modus laufen."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Voraussetzen, dass wir der einzige DHCP-Server im lokalen Netz sind."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Festlegen, wo DHCP-Leases gespeichert werden (Voreinstellung %s)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "MX-Einträge für lokale Hosts liefern."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Einen MX-Eintrag festlegen."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "BOOTP-Optionen für DHCP-Server festlegen."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "%s-Datei NICHT abfragen, nur bei SIGHUP neu laden."
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "Fehlerhafte Suchergebnisse NICHT zwischenspeichern."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Namensserver streng in der in %s angegebenen Reihenfolge verwenden."
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Optionen festlegen, die an DHCP-Klienten gesendet werden."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr "DHCP-Option, die selbst ohne Klientenanfrage gesendet wird."
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Port zum Abhören der DNS-Anfragen festlegen (53 voreingestellt)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maximale unterstützte UDP-Paketgröße für EDNS.0 (Voreinstellung %s)."
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr "DNS-Anfragen protokollieren."
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Ausgehenden Port erzwingen für DNS-Anfragen an vorgelagerte Server."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "resolv.conf NICHT lesen."
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Pfad zu resolv.conf festlegen (%s voreingestellt)."
--#: option.c:377
-+#: option.c:379
- msgid "Specify path to file with server= options"
- msgstr " Dateipfad mit der Option server= angeben"
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Adresse(n) vorgelagerter Server festlegen, optional mit Domänen."
--#: option.c:379
-+#: option.c:381
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Adresse(n) vorgelagerter Server festlegen, für reverse Adressanfragen"
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Anfragen für angegebene Domänen niemals weiterleiten."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Domäne festlegen, die für DHCP-Leases zugewiesen wird."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Voreingestelltes Ziel für MX-Einträge festlegen."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Gültigkeitsdauer für Antworten aus /etc/hosts festlegen."
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Nach dem Start diese Benutzerrechte annehmen (%s voreingestellt)."
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr "DHCP-\"vendor class\" auf Marke abbilden."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "dnsmasq-Version und Urheberrecht anzeigen."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "IPv4-Adressen von vorgelagerten Servern übersetzen."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "SRV-Eintrag festlegen."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Diese Hilfe anzeigen. Benutzen Sie --help dhcp für bekannte DHCP-Optionen."
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Dateipfad für Prozesskennung (PID) festlegen (Voreinstellung: %s)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Höchstzahl der DHCP-Leases festlegen (%s voreingestellt)."
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "DNS-Anfragen abhängig der Emfpangsschnittstelle beantworten."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "DNS-TXT-Eintrag festlegen."
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr "DNS-PTR-Eintrag festlegen."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Schnittstellennamen zur IPv4-Adresse des Interfaces auflösen."
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Nur an verwendete Schnittstellen binden."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Statische DHCP-Host-Information aus %s lesen."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "DBus-Schnittstelle zum Festlegen vorgelagerter Server usw. festlegen."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Auf dieser Schnittstelle kein DHCP anbieten, sondern nur DNS."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Dynamische Adressbelegung für bootp einschalten."
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "MAC-Adresse (mit Jokerzeichen) auf Netzmarke abbilden."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "DHCP-Anfragen von Alias-Schnittstellen für die Hauptschnittstelle beantworten."
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "ICMP-Echo-Adressprüfung im DHCP-Server abschalten."
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Skript, das bei Erzeugung/Löschung einer DHCP-Lease laufen soll."
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Lua-Skript, welches bei Erzeugung/Löschung eines DHCP-Leases laufen soll."
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr "Lease-Änderungs-Skript mit den Rechten dieses Nutzers ausführen."
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr "Konfiguration aus allen Dateien in diesem Verzeichnis lesen."
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Für diese Syslog-Anlage oder in Datei loggen (Voreinstellung DAEMON)."
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr "Keine Lease-Datei benützen."
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Höchstzahl nebenläufiger DNS-Anfragen (%s voreingestellt)."
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "DNS-Cache beim Neuladen von %s löschen."
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Von DHCP-Clients gelieferte Hostnamen ignorieren."
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Dateinamen und Server-Datenfehler für zusätzliche DHCP-Optionen NICHT wiederverwenden."
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr "Eingebauten Nur-Lese-TFTP-Server einschalten."
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Nur vom festgelegten Unterbaum Dateien per TFTP exportieren."
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr "IP-Adresse des Klienten an tftp-root anhängen."
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Zugriff nur auf Dateien gestatten, die dem dnsmasq aufrufenden Benutzer gehören."
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Höchstzahl nebenläufiger TFTP-Übertragungen (%s voreingestellt)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr "TFTP-Blockgrößen-Erweiterung abschalten."
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Konvertiere TFTP Dateinamen in Kleinschreibung"
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Bereich für vorübergehende Ports für TFTP-Übertragungen."
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr "Erweiterte DHCP-Protokollierung."
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Asynchrone Protokollierung einschalten, opt. Warteschlangenlänge festlegen."
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "DNS-Rebinding unterbinden, private IP-Bereiche bei der Auflösung ausfiltern."
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Auflösung zu 127.0.0.0/8 erlauben, für RBL-Server."
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "DNS-Rebind-Schutz für diese Domäne sperren."
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr "DNS-Anfragen immer an alle Server weiterleiten."
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr "Marke setzen, wenn Klient eine entsprechende Option anfragt."
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr "Alternative Ports für DHCP verwenden."
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr "DNS-NAPTR-Eintrag festlegen."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Niedrigsten verfügbaren Port für Übertragung von DNS-Anfragen festlegen."
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Für DHCP-Klienten nur vollständig bestimmte Domänennamen benutzen."
- # FIXME: probably typo in original message. -- MA
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generiere Hostnamen auf Basis der MAC-Adresse für namenlose Klienten."
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr "Diese DHCP-Relais als vollwertige Proxies verwenden."
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr "Leute DHCP Anfragen an entfernten Server weiter"
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Alias für LOKALEN DNS-Namen festlegen."
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr "Aufforderung, die an PXE-Klienten geschickt wird."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr "Boot-Dienst für PXE-Menü."
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr "Konfigurationssyntax prüfen."
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Anfragende MAC-Adresse in die weiterleitende DNS-Anfrage einfügen"
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Füge das IP-Subnetz des Anfragenden in die weitergeleiteten DNS-Anfragen hinzu."
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Proxy-DNSSEC-Validierung-Ergebnisse von Upstream-Namensservern."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Versuche sequenzielle IP-Adressen an DHCP-Klienten zu vergeben."
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Kopiere \"connection-track mark\" von Anfragen nach Upstream-Verbindungen."
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Erlaube DHCP-Klienten ihre eigenen DDNS-Updates durchzuführen."
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Sende \"Router-Advertisments\" für Netzwerkschnittstellen, welche DHCPv6 nutzen"
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Spezifiziere DUID_EN-type DHCPv6 Server DUID"
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spezifiziere Host (A/AAAA und PTR) Einträge"
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr "Spezifiziere einen beliebiegen DNS Eintrag"
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Bindung zu Schnittstellen in Benutzung - prüfe auf neue Schnittstellen"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr "Exportiere lokale Namen in das globale DNS"
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr "Domain für das Exportieren des globalen DNS"
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr "Setzte TTL für autoritative Antworten"
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr "Setze autoritative Zoneninformationen"
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Sekundärer autoritativer Nameserver für weitergeleitete Domains"
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Peers welche einen Zonentransfer durchführen dürfen"
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Spezifiziere IPSets zu welcher passende Domains hinzugefügt werden sollen"
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Spezifiziere eine Domain und Adressbereich für synthetisierte Namen"
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr "Aktiviere DNSSEC-Validierung"
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr "Spezifiziere Vertrauensursprung (Trust Anchor) der Schlüssel-Prüfdaten (Key Digest)."
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr "Deaktiviere die Überprüfung vorgelagerter Server für DNSSEC-Debugging"
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr "Stellt sicher, dass Antworten ohne DNSSEC sich in einer unsignierten Zone befinden."
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr "DNSSEC Signatur-Zeitstempel nicht prüfen, bis erstmalig der Cache neugeladen wird"
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr "Spezifiziere DHCPv6 Prefix Klasse"
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr "Setze Priorität, Intervall des erneuten Sendens und Router Lebenszeit"
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr "Protokolliere kein DHCP."
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr "Protokolliere kein DHCPv6."
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr "RA nicht protokollieren."
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr "Akzeptiere nur Anfragen von direkt verbundenen Netzwerken"
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr "Erkennen und Entfernen von DNS-Weiterleitungsschleifen"
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -743,312 +747,312 @@ msgstr ""
- "Verwendung: dnsmasq [Optionen]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Auf der Befehlszeile nur kurze Optionen verwenden!\n"
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Gültige Optionen sind:\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "unzulässiger Port"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr "Schnittstellenbindung nicht unterstützt"
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr "unzulässiger Schnittestellenname"
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr "Fehlerhafte Adresse"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "Nicht unterstützte Verkapselung für eine IPv6-Option"
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "Fehlerhafte DHCP-Option"
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr "Fehlerhafte IP-Adresse"
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr "Fehlerhafte IPv6-Adresse"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "Fehlerhafte Domäne in DHCP-Option"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "DHCP-Option zu lang"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr "Unzulässige dhcp-match-Option"
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr "unzulässig wiederholte Markierung"
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr "unzulässig wiederholtes Schlüsselwort"
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "Kann auf Verzeichnis %s nicht zugreifen: %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "Kann auf %s nicht zugreifen: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr "Die Einstellung Protokolliereinrichtung kann unter Android nicht gesetzt werden"
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr "Falsche Protokolliereinrichtung"
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "unzulässige MX-Präferenz-Angabe"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "unzulässiger MX-Name"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "unzulässiges MX-Ziel"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr "unter uClinux ist die Skriptausführung nicht möglich"
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "Neuübersetzung mit HAVE_SCRIPT nötig, um Lease-Änderungs-Skripte auszuführen"
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "Um Benutzerdefinierte Lua-Scripte zu ermöglichen, muss mit HAVE_LUASCRIPT neu kompiliert werden"
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr "unzulässiger Präfix"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "Um IPSet-Direktiven zu aktivieren, muss mit HAVE_IPSET neu übersetzt werden"
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr "unzulässiger Portbereich"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr "unzulässige Brücken-Schnittstelle"
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr "nur eine Marke zulässig"
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "unzulässiger DHCP-Bereich"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "inkonsistenter DHCP-Bereich"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "Die Präfixlenge muss genau 64 für RA Subnetze sein"
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "Die Präfixlenge muss genau 64 für Subnet Konstruktoren sein"
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr "Die Präfixlänge muss mindestens 64 sein"
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr "Inkonsistenter DHCPv6-Bereich"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "Prefix muss mit dem \"constructor:\" Argument Null sein"
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr "Falscher Hexwert"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr "Kann die Tags in --dhcp-host nicht abgleichen"
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "doppelte dhcp-host IP-Adresse %s"
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr "unzulässiger DHCP-Hostname"
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr "unzulässige bedingte Marke (tag-if)"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "unzulässige Portnummer"
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr "Fehlerhafte DHCP-Proxy-Adresse"
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr "unzulässiger dhcp-relay"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr "unzulässige RA-Parameter"
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr "unzulässige DUID"
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr "unzulässiger Alias-Bereich"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr "unzulässiger CNAME"
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr "doppelter CNAME"
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr "unzulässiger PTR-Eintrag"
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr "unzulässiger NAPTR-Eintrag"
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr "unzulässiger RR-Eintrag"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "unzulässiger TXT-Eintrag"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "unzulässiger SRV-Eintrag"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "unzulässiges SRV-Ziel"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "unzulässige Priorität"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "unzulässige Wichtung"
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr "unzulässiger host-record"
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr "Unzulässiger Name in host-record"
--#: option.c:3906
-+#: option.c:3911
- msgid "bad trust anchor"
- msgstr "unzulässiger Vertrauensursprung (Trust Anchor)"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr "unzulässiger Hexwert in Vertrauensursprung (Trust Anchor)"
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "Nicht unterstützte Option (prüfen Sie, ob DNSMasq mit DHCP/TFTP/DNSSEC/DBus-Unterstützung übersetzt wurde)"
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "fehlende \\\""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "unzulässige Option"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "überschüssiger Parameter"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "fehler Parameter"
--#: option.c:4052
-+#: option.c:4057
- msgid "illegal option"
- msgstr "unzulässige Option"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "Fehler"
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr " in Zeile %d von %s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr "%s gelesen"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "kann %s nicht lesen: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr "Mist in der Kommandozeile gefunden"
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq Version %s  %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1057,63 +1061,63 @@ msgstr ""
- "Kompilierungs-Optionen %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Für diese Software wird ABSOLUT KEINE GARANTIE gewährt.\n"
- # FIXME: this must be one long string! -- MA
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq ist freie Software, und du bist willkommen es weiter zu verteilen\n"
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "unter den Bedingungen der GNU General Public Lizenz, Version 2 oder 3.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr "versuchen Sie --help"
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr "versuchen Sie -w"
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr "unzulässige Optionen auf der Befehlszeile: %s"
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "kann Hostnamen nicht ermitteln: %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "mit -n/--no-poll ist nur eine resolv.conf-Datei zulässig."
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "Um die Domäne zu lesen, muss genau eine resolv.conf-Datei verwendet werden."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "konnte %s nicht lesen: %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "keine \"search\"-Anweisung in %s gefunden"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "Es muss eine standard Domain gesetzt sein, wenn --dhcp-fqdn gesetzt ist"
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr "Syntaxprüfung OK"
-@@ -1122,25 +1126,25 @@ msgstr "Syntaxprüfung OK"
- msgid "failed to send packet: %s"
- msgstr "Fehlgeschlagen, folgendes Paket zu senden: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr "Verwerfe DNS Antwort: Subnetoption stimmt nicht überrein"
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "Namensserver %s hat eine rekursive Anfrage verweigert"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s"
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr "Ignoriere Anfragen vom nicht lokalen Netzwerk"
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Maximale Anzahl an nebenläufiger DNS-Anfragen erreicht (Max: %d)"
-@@ -1174,341 +1178,351 @@ msgstr "Schnittstelle %s konnte DHCPv6-Multicast-Gruppe nicht beitreten: %s"
- msgid "failed to bind server socket for %s: %s"
- msgstr "konnte nicht an Server-Socket für %s binden: %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignoriere Namensserver %s - lokale Schnittstelle"
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignoriere Namensserver %s - kann Socket nicht erzeugen/binden: %s"
- # FIXME: this isn't translatable - always provide full strings, do not assemble yourself! -- MA
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "unqualifiziert"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr "Namen"
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr "Standard"
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "Domain"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "Benutze lokale Adressen nur für %s %s"
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "Benutze standard Namensserver für %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "Benutze Namensserver %s#%d für %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "Benutze Namensserver %s#%d NICHT - Anfragenschleife festgetellt"
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "Benutze Namensserver %s#%d(via %s)"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "Benutze Namensserver %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- #, fuzzy
- msgid "no trust anchors provided for DNSSEC"
- msgstr "Keine Vertrauensursprünge (Trust Anchor) für DNSSEC verfügbar"
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- #, fuzzy
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr "Kann die Standard Cachegröße nicht verkleinern, wenn DNSSEC aktiviert ist"
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DNSSEC nicht verfügbar: setzen Sie HAVE_DNSSEC in src/config.h"
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "TFTP-Server nicht verfügbar, setzen Sie HAVE_TFTP in src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- #, fuzzy
- msgid "cannot use --conntrack AND --query-port"
- msgstr "Kann nicht --conntrack UND --query-port einsetzen"
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Conntrack-Unterstützung nicht verfügbar: setze HAVE_CONNTRACK in src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr "asynchrone Protokollierung unter Solaris nicht verfügbar"
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr "Asynchrone Protokollierung unter Android nicht verfügbar"
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "Authoritatives DNS nicht verfügbar: Es muss HAVE_AUTH in src/config.h gesetzt sein"
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "Loop-Erkennung nicht verfügbar, setzen Sie HAVE_LOOP in src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr "Zonen Seriennummer muss mit --auth-soa konfiguriert werden"
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr "dhcp-range Konstruktor ist auf dieser Plattform nicht verfübar"
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "Kann nicht --bind-interfaces und --bind-dynamic setzen"
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "konnte Schnitstellenliste nicht beziehen: %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "unbekannte Schnittstelle %s"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus-Fehler: %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus nicht verfügbar: setzen Sie HAVE_DBUS in src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "Unbekannter Benutzer oder Gruppe: %s"
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "kann nicht ins Wurzelverzeichnis des Dateisystems wechseln: %s"
- # FIXME: this and the next would need commas after the version
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "gestartet, Version %s, DNS abgeschaltet"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "gestartet, Version %s, Cachegröße %d"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "Gestartet, Version %s Cache deaktiviert"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "Übersetzungsoptionen: %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "DBus-Unterstützung eingeschaltet: mit Systembus verbunden"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr "DNS-Dienst auf lokale Subnetze eingeschränkt"
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr "DNSSEC-Validierung aktiviert"
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- #, fuzzy
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "Warnung: konnte den Besitzer von %s nicht ändern: %s"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "Aktiviere --bind-interfaces wegen Einschränkungen des Betriebssystems"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "Warnung: Schnittstelle %s existiert derzeit nicht"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "Warnung: Ignoriere \"resolv-file\", weil \"no-resolv\" aktiv ist"
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr "Warnung: keine vorgelagerten (Upstream) Server konfiguriert"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "asynchrone Protokollierung eingeschaltet, Warteschlange fasst %d Nachrichten"
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr "IPv6-Router-Advertisement aktiviert"
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr "DHCP, Sockets exklusiv an das Interface %s gebunden"
- # FIXME: this and the next few must be full strings to be translatable - do not assemble in code"
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr "Wurzel ist "
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr "Aktiviert"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr "sicherer Modus"
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, fuzzy, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "Begrenze gleichzeitige TFTP-Übertragungen auf maximal %d"
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "Mit System-DBus verbunden"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "kann nicht in den Hintergrund abspalten: %s"
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "kann Helfer nicht erzeugen: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "kann \"capabilities\" nicht setzen: %s"
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "Kann nicht Benutzerrechte %s annehmen: %s"
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "Kann nicht Gruppenrechte %s annehmen: %s"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "Kann Logdatei %s nicht öffnen: %s"
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "Konnte Lua-Script nicht laden: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "kann Lease-Datei %s nicht öffnen: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr "Prüfe jetzt DNSSEC Signatur-Zeitstempel"
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "Scriptprozess durch Signal %d getötet"
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr "Scriptprozess hat sich mit Status %d beendet"
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "konnte %s nicht ausführen: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "beende nach Empfang von SIGTERM"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "konnte auf %s nicht zugreifen: %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "lese %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "keine Server in %s gefunden, werde es später neu versuchen"
-@@ -1538,37 +1552,37 @@ msgstr "kann nicht an DHCP-Server-Socket binden: %s"
- msgid "cannot create ICMP raw socket: %s."
- msgstr "kann ICMP-Rohdaten-Socket nicht erzeugen: %s."
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "unbekannte Schnittstelle %s in bridge-interface"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr "DHCP-Paket ohne Adresse an Schnittstelle %s empfangen"
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr "APR-Cache Injektion fehlgeschlagen: %s"
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "DHCP-Bereich %s - %s passt nicht zur Netzmaske %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "ungültige Zeile %2$d in Datei %1$s"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignoriere %s Zeile %d, doppelter Name oder doppelte IP-Adresse"
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "DHCP Weiterleitung %s -> %s"
-@@ -1605,172 +1619,172 @@ msgstr "Ignoriere Domäne %s für DHCP-Hostnamen %s"
- # FIXME: this and the next few are not translatable. Please provide full
- # strings, do not programmatically assemble them.
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "Kein verfügbarer DHCP-Bereich für Anfrage %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "mit Subnetz-Wähler"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "via"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "%u verfügbare(s) DHCP-Subnetz: %s/%s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr "%u verfügbare(r) DHCP-Bereich: %s - %s"
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr "%u \"Vendor class\": %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr "%u Benutzerklasse: %s"
- # FIXME: do not programmatically assemble strings - untranslatable
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "deaktiviert"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "ignoriert"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "Adresse in Nutzung"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "Keine Adresse verfügbar"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "Falsches Netzwerk"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "Keine Adresse konfiguriert"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "Keine Leases übrig"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "%u Klient stellt Name bereit: %s"
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr "PXE BIS nicht unterstützt"
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "schalte statische DHCP-Adresse %s für %s ab"
- # FIXME: do not assemble
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "Unbekannter Lease"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr "benutze konfigurierte Adresse %s nicht, weil sie an %s verleast ist"
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr "benutze konfigurierte Adresse %s nicht, weil sie von Server/Relais verwendet wird"
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr "benutze konfigurierte Adresse %s nicht, weil sie zuvor abgelehnt wurde"
- # FIXME: do not assemble
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr "Keine eindeutige ID"
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr "Falsche Server-ID"
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "Falsche Adresse"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "Lease nicht gefunden"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "Adresse nicht verfügbar"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "Statischer Lease verfügbar"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "Adresse reserviert"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr "Gebe Lease von %2$s an %1$s auf"
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr "%u Name der Bootdatei: %s"
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr "%u Servername: %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr "%u nächster Server: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr "%u Antwort per Rundsendung"
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "kann DHCP/BOOTP-Opition %d nicht setzen: kein Platz mehr im Paket"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr "PXE-Menüeintrag zu groß"
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u angeforderte Optionen: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr "Kann RFC3925-Option nicht senden: zu viele Optionen für Unternehmen Nr. %d"
-@@ -1785,15 +1799,25 @@ msgstr "kann Netlink-Socket nicht erzeugen: %s"
- msgid "netlink returns error: %s"
- msgstr "Netlink liefert Fehler %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "Versuch, via DBus eine IPv6-Serveradresse zu setzen: keine IPv6-Unterstützung"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "vorgelagerte Server von DBus gesetzt"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "konnte Steuerungsprogramm für DBus-Nachrichten nicht anmelden"
-@@ -1914,47 +1938,47 @@ msgstr "%u Klient MAC-Adresse: %s"
- msgid "unknown prefix-class %d"
- msgstr "unbekannte Präfixklasse %d"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr "Adresse nicht verfügbar"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr "Erfolg"
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr "Keine Adressen verfügbar"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr "nicht on link"
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr "Keine Bindung gefunden"
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr "veraltet"
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr "Adresse ungültig"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr "Bestätigung fehlgeschlagen"
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr "Alle Adressen immer noch on link"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr "Freigabe empfangen"
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Kann nicht zum DHCPv6 Server multicasten ohne korrekte Schnittstelle"
-@@ -2042,12 +2066,12 @@ msgstr "DHCP Weiterleitung von %s nach %s über %s"
- msgid "DHCP relay from %s to %s"
- msgstr "DHCP Weiterleitung von %s nach %s"
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "Kann ICMPv6-Socket nicht erzeugen: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "ignoriere Zonentransfer-Anfrage von %s"
-@@ -2062,7 +2086,7 @@ msgstr "konnte Kernelversion nicht finden: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "konnte IPset-Kontroll-Socket nicht erzeugen: %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
-diff --git a/po/es.po b/po/es.po
-index b85696072661..d9d2fb4dbf2c 100644
---- a/po/es.po
-+++ b/po/es.po
-@@ -25,17 +25,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr "no se pudo cargar nombres desde %s: %s"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, fuzzy, c-format
- msgid "bad address at %s line %d"
- msgstr "dirección errónea en %s línea %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "nombre erróneo en %s línea %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "direcciónes %s - %d leídas"
-@@ -94,664 +94,668 @@ msgstr "no se pudo crear valor semilla para el generador de n
- msgid "failed to allocate memory"
- msgstr "no se pudo asignar memoria"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "no se pudo adquirir memoria"
--#: util.c:253
-+#: util.c:260
- #, fuzzy, c-format
- msgid "cannot create pipe: %s"
- msgstr "no se puede crear pipe: %s"
--#: util.c:261
-+#: util.c:268
- #, fuzzy, c-format
- msgid "failed to allocate %d bytes"
- msgstr "no se pudo asignar %d bytes"
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "infinito"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Especificar dirección(es) locales dónde escuchar."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Retornar ipaddr (dirección IP) para todos los hosts en los dominios especificados."
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Falsificar búsquedas reversas para rangos de dirección privados RFC1918."
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Tratar ipaddr (dirección IP) como NXDOMAIN (derrota comodín Verisign)."
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Especificar tamaño de caché en cuanto a cantidad de objetos (%s por predeterminado)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Especificar archivo de configuración (%s por predeterminado)."
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NO hacer un fork hacia el fondo: correr en modo debug."
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "NO reenviar búsquedas sin parte de dominio."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Retornar expedientes MX auto-señaladores para hosts locales."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Expandir nombres simples en /etc/hosts con domain-suffix (sufijo de dominio)."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "No reenviar pedidos DNS falsos desde máquinas Windows."
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Habilitar DHCP dentro del rango brindado con duración de concesión."
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Cambiar a este grupo después del inicio (%s por predeterminado)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Fijar dirección o nombre de host para una máquina especificada."
--#: option.c:344
-+#: option.c:346
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "Leer especificaciones DHCP de host desde archivo"
--#: option.c:345
-+#: option.c:347
- #, fuzzy
- msgid "Read DHCP option specs from file."
- msgstr "Leer opciones DHCP de host desde archivo"
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "Leer especificaciones DHCP de host desde archivo"
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "Leer opciones DHCP de host desde archivo"
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr "Evaluar expresión condicional de etiqueta."
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "NO cargar archivo %s."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Especificar un archivo de hosts para ser leído adicionalmente a %s."
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "Leer especificaciones DHCP de host desde archivo"
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Especificar interfase(s) donde escuchar."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Especificar interfase(s) donde NO escuchar."
--#: option.c:354
-+#: option.c:356
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Trazar clase de usuario DHCP a etiqueta."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Trazar circuit-id (identificación de circuito) RFC3046 a etiqueta."
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Trazar remote-id (identificación remota) RFC3046 a etiqueta."
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Trazar subscriber-id (identificación de suscritor) RFC3993 a etiqueta."
--#: option.c:358
-+#: option.c:360
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "No hacer DHCP para hosts con etiqueta fijada."
--#: option.c:359
-+#: option.c:361
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Forzar respuestas broadcast para hosts con etiqueta fijada."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NO hacer un fork hacia el fondo, NO correr en modo debug."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Asumir que somos el único servidor DHCP en la red local."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Especificar donde almacenar concesión DHCP (%s por predeterminado)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Retornar expedientes MX para hosts locales."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Especificar un expediente MX."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Especificar opciones BOOTP a servidor DHCP."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "NO revisar archivo %s periódicamente, recargar solo con SIGHUP."
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "NO almacenar en caché resultados de búsquedas fallidas."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Usar servidores DNS estrictamente en el órden brindado en %s."
--#: option.c:369
-+#: option.c:371
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Especificar opciones para ser enviadas a clientes DHCP."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Opción DHCP enviada aún si el cliente no la pide."
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Especificar puerto donde escuchar por búsquedas DNS (53 por predeterminado)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Tamaño máximo de paquetes UDP soportado para EDNS.0 (%s por predeterminado)."
--#: option.c:373
-+#: option.c:375
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Bitacorear búsquedas DNS."
--#: option.c:374
-+#: option.c:376
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Enforzar el puerto original para búsquedas DNS subida."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "NO leer resolv.conf."
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Especificar el path hacia resolv.conf (%s por predeterminado)."
--#: option.c:377
-+#: option.c:379
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Especificar path de archivo PID (%s por predeterminado)."
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Especificar dirección(es) de servidores subida con dominios opcionales."
--#: option.c:379
-+#: option.c:381
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Especificar dirección(es) de servidores subida con dominios opcionales."
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Nunca reenviar búsquedas a dominios especificados."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Especificar el dominio para ser asignado en concesión DHCP."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Especificar destino predeterminado en un expediente MX."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Especificar tiempo de vida en segundos para respuestas desde /etc/hosts."
--#: option.c:384
-+#: option.c:386
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Especificar tiempo de vida en segundos para caché negativo."
--#: option.c:385
-+#: option.c:387
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Especificar tiempo de vida en segundos para respuestas desde /etc/hosts."
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Especificar tiempo de vida en segundos para caché negativo."
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Especificar tiempo de vida en segundos para caché negativo."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Cambiar a este usuario despues del inicio (%s por predeterminado)."
--#: option.c:389
-+#: option.c:391
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Trazar clase de vendedor DHCP a etiqueta."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Mostrar información sobre la versión y copyright de dnsmasq."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traducir direcciones IPv4 desde servidores subida."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Especificar un expediente SRV."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Mostrar este mensaje. Usar --help dhcp para opciones DHCP conocidas."
--#: option.c:394
-+#: option.c:396
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Especificar path de archivo PID (%s por predeterminado)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Especificar número máximo de concesión DHCP (%s por predeterminado)."
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Responder a búsquedas DNS en base a la interfase a la cuál fueron enviadas."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Especificar expediente DNS TXT."
--#: option.c:398
-+#: option.c:400
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Especificar expediente DNS PTR."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Otorgar nombre DNS a dirección IPv4 de interfase."
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Acoplar solo a interfases en uso."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Leer información sobre hosts DHCP estáticos desde %s."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Habilitar la interfase DBus para fijar servidores subida, etc."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "No proveer DHCP en esta interfase, sólo proveer DNS."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Habilitar alocación dinámica de direcciónes para BOOTP."
--#: option.c:405
-+#: option.c:407
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Trazar dirección MAC (con comodínes) a opción fijada."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Tratar pedidos DHCP en alias como si llegaran de la interfase."
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Deshabilitar verificación de direcciónes para echo ICMP en el servidor DHCP."
--#: option.c:408
-+#: option.c:410
- #, fuzzy
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Archivo guión para ejecutar cuando se crea o destruye una concesión DHCP."
--#: option.c:409
-+#: option.c:411
- #, fuzzy
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Archivo guión para ejecutar cuando se crea o destruye una concesión DHCP."
--#: option.c:410
-+#: option.c:412
- #, fuzzy
- msgid "Run lease-change scripts as this user."
- msgstr "Correr archivo guión de cambio de concesión como este usuario."
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr "Leer configuración desde todos los archivos en este directorio."
--#: option.c:412
-+#: option.c:414
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Bitacorear a esta facilidad syslog o archivo. (DAEMON por predeterminado)"
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr "No usar archivo de concesión."
--#: option.c:414
-+#: option.c:416
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Número máximo de búsquedas DNS simultáneas. (%s por predeterminado)"
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Liberar caché DNS al recargar %s."
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Ignorar nombres de host brindados por clientes DHCP."
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "NO reutilizar campos de nombre de archivo y servidor para opciones DHCP extra."
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr "Habilitar servidor integrado TFTP solo-lectura."
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Exportar archivos vía TFTP solo del sub-árbol especificado."
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr "Agregar IP de cliente a tftp-root."
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Permitir acceso solo a archivos pertenecientes al usuario que corre dnsmasq."
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Número máximo de transferencias TFTP simultáneas (%s por predeterminado)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr "Deshabilitar la extensión TFTP blocksize (tamaño de bloque)."
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Convertir a minúsculas los nombres de archivos TFTP"
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Rango de puertos efímeros para ser usados en transferencias TFTP."
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr "Log extra para DHCP."
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Habilitar registro asíncrono; opcionalmente fijar tamaño de cola."
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Detener revinculación DNS. Filtrar rangos de IP privados al resolver."
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Permitir revinculación de 127.0.0.0/8, para servidores RBL."
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Inhibir protección de revinculación DNS en este dominio."
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr "Siempre realizar búsquedas DNS a todos los servidores."
--#: option.c:432
-+#: option.c:435
- #, fuzzy
- msgid "Set tag if client includes matching option in request."
- msgstr "Fijar etiqueta si cliente incluye opción coincidente en pedido."
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr "Usar puertos alternativos para DHCP."
--#: option.c:434
-+#: option.c:437
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Especificar expediente DNS NAPTR."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Especificar puerto más bajo disponible para transmisión de búsquedas DNS."
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Usar solo nombres de dominio completamente calificados para clientes DHCP."
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generar hostnames basados en direcciones MAC para clientes sin nombre."
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr "Usar estos relays DHCP como proxies completos."
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Especificar nombre alias para nombre DNS LOCAL."
--#: option.c:441
-+#: option.c:444
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Aviso a ser enviado a clientes PXE."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr "Servicio de arranque para menú PXE."
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr "Revisar sintaxis de configuración."
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Añadir direcciones MAC de los peticionarios a los filtros DNS enviados"
--#: option.c:445
-+#: option.c:448
- #, fuzzy
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Añadir direcciones MAC de los peticionarios a los filtros DNS enviados"
--#: option.c:446
-+#: option.c:449
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Traducir direcciones IPv4 desde servidores subida."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Intento de instaurar direcciones IP secuenciales a cliente DHCP"
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Copiar la marca de connection-track desde los filtros a las conexiones salientes"
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Permite a clientes DHCP realizar sus propias actualizaciones DDNS"
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Enviar anuncios del router a los interfases realizando DHCPv6"
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Especificar un expediente MX."
--#: option.c:453
-+#: option.c:456
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Especificar expediente DNS TXT."
--#: option.c:454
-+#: option.c:457
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "interfase desconocida %s en bridge-interfase"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr "Exportar nombres DNS locales a globales"
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr "Dominio a exportar a DNS global"
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr "Fijar TTL para respuestas autoritarias"
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr "Fijar información de zona autoritaria"
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Nombres de servidor secundario autoritatorios para dominios enviados"
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Colegas autorizados a la zona de transferencia (transfer)"
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Especificar los ipsets coincidentes en dominio que debrían ser añadidos"
--#: option.c:462
-+#: option.c:465
- #, fuzzy
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Especificar dominio y rango de direcciones para los nombres acrónimos"
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr "Especificar prefijo de clase DHCPv6"
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -760,335 +764,335 @@ msgstr ""
- "Modo de uso: dnsmasq [opciones]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Usar opciones cortas solo en la línea de comandos.\n"
--#: option.c:684
-+#: option.c:687
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Opciones válidas son :\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "puerto erróneo"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr "vinculación de interfase no está soportado"
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- #, fuzzy
- msgid "bad interface name"
- msgstr "nombre de interfase erróneo"
--#: option.c:811
-+#: option.c:814
- #, fuzzy
- msgid "bad address"
- msgstr "dirección IP errónea"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "Encapsulación no soportada para opción IPv6"
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "opción dhcp-option errónea"
--#: option.c:1075
-+#: option.c:1078
- #, fuzzy
- msgid "bad IP address"
- msgstr "dirección IP errónea"
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "dirección IP errónea"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "dominio erróneo en dhcp-option"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "opción dhcp-option demasiado larga"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr "dhcp-match ilegal"
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr "opción repetida ilegal"
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr "palabra clave repetida ilegal"
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "no se puede acceder a directorio %s: %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "no se puede acceder %s: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr "la creación de un registro no es posible en Android"
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr "ubicación del registro errónea"
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "preferencia MX errónea"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "nombre MX erróneo"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "destino MX erróneo"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr "no se pueden correr archivos 'script' bajo uClinux"
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar guiónes de cambio de concesión"
--#: option.c:1714
-+#: option.c:1717
- #, fuzzy
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar 'scripts' en Lua"
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- #, fuzzy
- msgid "bad prefix"
- msgstr "prefijo erróneo"
--#: option.c:2352
-+#: option.c:2355
- #, fuzzy
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "recompilar con HAVE_SCRIPT definido para habilitar directivas ipset"
--#: option.c:2545
-+#: option.c:2548
- #, fuzzy
- msgid "bad port range"
- msgstr "rango de puertos erróneo"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr "opción bridge-interface (interfase puente) errónea"
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr "solo una etiqueta permitida"
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "opción dhcp-range (rango DHCP) errónea"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "rango DHCP inconsistente"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "la longitud del prefijo debe ser 64 exacto para subredes RA"
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "la longitud del prefijo debe ser 64 exacto para subredes constructoras"
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr "la longitud del prefijo debe ser al menos 64"
--#: option.c:2736
-+#: option.c:2741
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "rango DHCP inconsistente"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "prefijo debe ser cero con argumento \"constructor:\""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- #, fuzzy
- msgid "bad hex constant"
- msgstr "constante hexadecimal errónea"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr "no coinciden etiquetas en --dhcp-host"
--#: option.c:2928
-+#: option.c:2933
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "dirección IP duplicada %s en %s."
--#: option.c:2986
-+#: option.c:2991
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nombre de host DHCP erróneo"
--#: option.c:3068
-+#: option.c:3073
- #, fuzzy
- msgid "bad tag-if"
- msgstr "etiqueta tag-if errónea"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "número de puerto inválido"
--#: option.c:3454
-+#: option.c:3459
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "dirección IP errónea"
--#: option.c:3480
-+#: option.c:3485
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "opción dhcp-range (rango DHCP) errónea"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr "DUID erróneo"
--#: option.c:3557
-+#: option.c:3562
- #, fuzzy
- msgid "invalid alias range"
- msgstr "rango alias inválido"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr "CNAME erróneo"
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr "CNAME duplicado"
--#: option.c:3636
-+#: option.c:3641
- #, fuzzy
- msgid "bad PTR record"
- msgstr "registro PTR erróneo"
--#: option.c:3667
-+#: option.c:3672
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "registro NAPTR erróneo"
--#: option.c:3701
-+#: option.c:3706
- #, fuzzy
- msgid "bad RR record"
- msgstr "registro PTR erróneo"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "registro TXT erróneo"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "registro SRV erróneo"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "destino SRV erróneo"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "prioridad inválida"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "peso inválido"
--#: option.c:3824
-+#: option.c:3829
- #, fuzzy
- msgid "Bad host-record"
- msgstr "registro PTR erróneo"
--#: option.c:3841
-+#: option.c:3846
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "nombre erróneo en %s"
--#: option.c:3906
-+#: option.c:3911
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "rango de puertos erróneo"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- #, fuzzy
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "opción no soportada (verificar que dnsmasq fue compilado con soporte para DHCP/TFTP/DBus)"
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "falta \""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "opción errónea"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "parámetro extraño"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "parámetro ausente"
--#: option.c:4052
-+#: option.c:4057
- #, fuzzy
- msgid "illegal option"
- msgstr "opción errónea"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "error"
--#: option.c:4061
-+#: option.c:4066
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s en línea %d de %%s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "lee %s"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "no se puede leer %s: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr "basura encontrada en linea de comando"
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Versión dnsmasq %s  %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1097,63 +1101,63 @@ msgstr ""
- "Opciones de compilación %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Este software viene SIN NINGUNA GARANTIA.\n"
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq es software libre, y usted está autorizado a redistribuirlo\n"
--#: option.c:4464
-+#: option.c:4469
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "bajo los términos de la GNU General Public License, versión 2 o 3.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr "pruebe --help"
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr "pruebe -w"
--#: option.c:4479
-+#: option.c:4484
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "opciones de línea de comandos erróneas: %s"
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "no se puede obtener host-name (nombre de host): %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "solo un archivo resolv.conf está permitido en modo no-poll."
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "debe haber exáctamente un resolv.conf desde donde leer dominio."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "no se pudo leer %s: %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "ninguna directiva de búsqueda encontrada en %s"
--#: option.c:4614
-+#: option.c:4623
- #, fuzzy
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "debe haber un dominio predeterminado cuando --dhcp-fqdn está fijado"
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr "revisión de sintaxis OK"
-@@ -1162,25 +1166,25 @@ msgstr "revisi
- msgid "failed to send packet: %s"
- msgstr "no se pudo escuchar en socket: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "servidor DNS %s rechazó realizar una búsqueda recursiva"
--#: forward.c:627
-+#: forward.c:646
- #, fuzzy, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "posible ataque de revinculación DNS detectado"
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Número máximo de búsquedas DNS simultáneas alcanzado. (%s por predeterminado)"
-@@ -1214,342 +1218,352 @@ msgstr "el interfase % fall
- msgid "failed to bind server socket for %s: %s"
- msgstr "no se pudo acoplar al zócalo del servidor para %s: %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignorando servidor DNS %s - interfase local"
--#: network.c:1455
-+#: network.c:1456
- #, fuzzy, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignorando servidor DNS %s - no se puede crear/acoplar zócalo: %s"
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "no cualificado"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr "nombres"
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr "predeterminado"
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "dominio"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "usando direcciones locales solo para %s %s"
--#: network.c:1477
-+#: network.c:1478
- #, fuzzy, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "usando nombres estándar %s#%d para %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "usando nombre de servidor %s#%d para %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, fuzzy, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "usando nombre de servidor %s#%d para %s %s"
--#: network.c:1486
-+#: network.c:1487
- #, fuzzy, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "usando nombre de servidor %s#%d(vía %s)"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "usando nombre de servidor %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- #, fuzzy
- msgid "cannot use --conntrack AND --query-port"
- msgstr "No puede usar --conntrack AND --query-port"
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- #, fuzzy
- msgid "asychronous logging is not available under Solaris"
- msgstr "registro asíncrono no está disponible bajo Solaris"
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- #, fuzzy
- msgid "asychronous logging is not available under Android"
- msgstr "registro asíncrono no está disponible bajo Solaris"
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr "zona serie debe ser configurada en --auth-soa"
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr "constructor rango dhcp no disponible en esta plataforma"
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "no puede usar --bind-interfases y --bind-dynamic"
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "no se pudo encontrar lista de interfases: %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "interfase desconocida %s"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "error DBus: %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "usuario o grupo desconocido: %s"
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "no se puede cambiar directorio a raíz de sistema de archivos: %s"
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "iniciado, versión %s DNS deshabilitado"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "iniciado, versión %s tamaño de caché %d"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "iniciado, versión %s caché deshabilitado"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "opciones de compilación: %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "soporte DBus habilitado: conectado a bus de sistema"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "soporte DBus habilitado: conexión a bus pendiente"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "advertencia: no se pudo cambiar propietario de %s: %s"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "fijando opción --bind-interfases debido a limitaciones de sistema operativo"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "advertencia: interfase %s no existe actualmente"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "advertencia: ignorando opción resolv-file porque no-resolv está fijado"
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "advertencia: ningún servidor de subida configurado"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "registro asíncrono habilitado, el límite de la cola es %d mensajes"
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr "Anuncio de router IPv6 habilitado"
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr "root está "
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- #, fuzzy
- msgid "enabled"
- msgstr "habilitado"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr "modo seguro"
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, fuzzy, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr "directorio TFTP % inaccesible: %s"
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "limitando número máximo de transferencias TFTP simultáneas a %d"
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "conectado a DBus de sistema"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "no se puede hacer fork en background: %s"
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "no se pudo crear ayudante: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, fuzzy, c-format
- msgid "setting capabilities failed: %s"
- msgstr "configuración de capacidades ha fallado: %s"
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "no se pudo cambiar user-id a %s: %s"
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "no se pudo cambiar group-id a %s: %s"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "no se pudo abrir archivo PID %s: %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "no se puede abrir registro %s: %s"
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "no se pudo cargar script Lua %s: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "directorio TFTP % inaccesible: %s"
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "no se puede abrir o crear archivo de concesión %s: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, fuzzy, c-format
- msgid "script process killed by signal %d"
- msgstr "proceso script eliminado por señal %d"
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, fuzzy, c-format
- msgid "script process exited with status %d"
- msgstr "proceso script salió con con estado %d"
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "no se pudo ejecutar %s: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "saliendo al recibir SIGTERM"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "no se pudo acceder %s: %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "leyendo %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "ningún servidor encontrado en %s, se reintentará"
-@@ -1579,37 +1593,37 @@ msgstr "no se pudo acoplar z
- msgid "cannot create ICMP raw socket: %s."
- msgstr "no se puede crear zócalo puro ICMP: %s."
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, fuzzy, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "interfase desconocida %s en bridge-interface"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr "Paquete DHCP recibido en %s que no tiene dirección"
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "rango DHCP %s -- %s no coincide con máscara de subred %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, fuzzy, c-format
- msgid "bad line at %s line %d"
- msgstr "línea errónea en %s línea %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignorando %s línea %d, nombre o dirección IP duplicada"
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "DHCP relay %s -> %s"
-@@ -1643,169 +1657,169 @@ msgstr "error al escribir %s: %s (reintentar en %us)"
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr "Ignorando dominio %s para nombre de host DHCP %s"
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "ningún rango de direcciónes disponible para pedido DHCP %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "con selector de subred"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "vía"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, fuzzy, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "%u Subred DHCP disponible: %s/%s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, fuzzy, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr "%u Rango DHCP disponible: %s -- %s"
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, fuzzy, c-format
- msgid "%u vendor class: %s"
- msgstr "%u Clase de vendedor: %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, fuzzy, c-format
- msgid "%u user class: %s"
- msgstr "%u Clase de usuario: %s"
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "deshabilitado"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "ignorado"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "dirección en uso"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "ninguna dirección disponible"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "red equivocada"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "ninguna dirección configurada"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "no sobra ninguna concesión"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, fuzzy, c-format
- msgid "%u client provides name: %s"
- msgstr "%u cliente provee nombre: %s"
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr "no hay soporte para BIS PXE"
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "deshabilitando dirección DHCP estática %s para %s"
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "concesión desconocida"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr "no usando dirección configurada %s porque está concedida a %s"
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, fuzzy, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr "no usando dirección configurada %s porque está en uso por el servidor o relay"
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, fuzzy, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr "no usando dirección configurada %s porque fué previamente denegada"
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr "ningún unique-id (identificación única)"
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr "ID de servidor equivocada"
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "dirección equivocada"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "concesión no encontrada"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "dirección no disponible"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "concesión estática disponible"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "dirección reservada"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr "abandonando concesión a %s de %s"
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr "%u nombre de bootfile: %s"
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr "%u nombre de servidor: %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, fuzzy, c-format
- msgid "%u next server: %s"
- msgstr "%u siguiente servidor: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr "%u respuesta broadcast"
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, fuzzy, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "no se puede enviar opción DHCP/BOOTP %d: no queda espacio en el paquete"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr "menú PXE demasiado largo"
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "%u opciones solicitadas: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr "no se puede enviar opción RFC3925: demasiadas opciones para número enterprise %d"
-@@ -1820,15 +1834,25 @@ msgstr "no se puede crear z
- msgid "netlink returns error: %s"
- msgstr "netlink retorna error: %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "intento de fijar dirección de servidor IPv6 vía DBus - no hay soporte IPv6"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "fijando servidores subida desde DBus"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "no se pudo registrar un manejador de mensajes DBus"
-@@ -1948,51 +1972,51 @@ msgstr "%u cliente provee nombre: %s"
- msgid "unknown prefix-class %d"
- msgstr "clase de prefijo desconocida"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- #, fuzzy
- msgid "address unavailable"
- msgstr "dirección no disponible"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- #, fuzzy
- msgid "no addresses available"
- msgstr "ninguna dirección disponible"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr "no en el enlace"
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr "uniones no encontradas"
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr "descartado"
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- #, fuzzy
- msgid "address invalid"
- msgstr "dirección en uso"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr "confirmación falló"
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "dirección errónea en %s línea %d"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr "concesión recibida"
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "No puede hacer multicast DHCPv6 sin el interfase correcto"
-@@ -2080,12 +2104,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, fuzzy, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "no se puede crear socket DHCP: %s"
--#: auth.c:436
-+#: auth.c:448
- #, fuzzy, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "pedido no-soportado desde %s"
-@@ -2100,7 +2124,7 @@ msgstr "no se pudo acoplar socket de servidor DHCP: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "no se pudo crear socket TFTP: %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "no se pudo abrir archivo PID %s: %s"
-diff --git a/po/fi.po b/po/fi.po
-index 760b08107510..0d80994b357c 100644
---- a/po/fi.po
-+++ b/po/fi.po
-@@ -25,17 +25,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
-@@ -93,1005 +93,1009 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr ""
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr ""
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:346
-+#: option.c:348
- msgid "Read DHCP host specs from a directory."
- msgstr ""
--#: option.c:347
-+#: option.c:349
- msgid "Read DHCP options from a directory."
- msgstr ""
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:351
-+#: option.c:353
- msgid "Read hosts files from a directory."
- msgstr ""
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:377
-+#: option.c:379
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:379
-+#: option.c:381
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:386
-+#: option.c:388
- msgid "Specify time-to-live ceiling for cache."
- msgstr ""
--#: option.c:387
-+#: option.c:389
- msgid "Specify time-to-live floor for cache."
- msgstr ""
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr ""
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr ""
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr ""
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr ""
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr ""
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr ""
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr ""
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr ""
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr ""
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr ""
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr ""
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr ""
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3906
-+#: option.c:3911
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr ""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr ""
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr ""
--#: option.c:4052
-+#: option.c:4057
- msgid "illegal option"
- msgstr ""
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr ""
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr ""
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1100,25 +1104,25 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1152,332 +1156,342 @@ msgstr ""
- msgid "failed to bind server socket for %s: %s"
- msgstr ""
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr ""
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr ""
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr ""
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr ""
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr ""
--#: network.c:1483
-+#: network.c:1484
- #, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr ""
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr ""
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr ""
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1507,37 +1521,37 @@ msgstr ""
- msgid "cannot create ICMP raw socket: %s."
- msgstr ""
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr ""
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1571,169 +1585,169 @@ msgstr ""
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr ""
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr ""
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr ""
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr ""
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr ""
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr ""
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr ""
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr ""
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr ""
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr ""
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr ""
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr ""
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr ""
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr ""
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr ""
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr ""
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -1748,15 +1762,25 @@ msgstr ""
- msgid "netlink returns error: %s"
- msgstr ""
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr ""
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr ""
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr ""
-@@ -1876,47 +1900,47 @@ msgstr ""
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2004,12 +2028,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2024,7 +2048,7 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr ""
-diff --git a/po/fr.po b/po/fr.po
-index fbddad73887a..04675117fc85 100644
---- a/po/fr.po
-+++ b/po/fr.po
-@@ -23,17 +23,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr "Impossible de charger les noms à partir de %s : %s"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "mauvaise adresse dans %s ligne %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "mauvais nom dans %s ligne %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "lecture %s - %d adresses"
-@@ -91,656 +91,660 @@ msgstr "impossible d'initialiser le g
- msgid "failed to allocate memory"
- msgstr "impossible d'allouer la mémoire"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "impossible d'allouer de la mémoire"
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr "Ne peut pas créer le tube %s : %s"
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr "impossible d'allouer %d octets"
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "illimité(e)"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Spécifie la ou les adresse(s) locales où le démon doit se mettre à l'écoute."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Retourne les adresses IP pour toutes les machines présentes dans les domaines spécifiés"
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Traduction inverse truquée pour la plage d'adresse privée RFC1918"
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Traite l'adresse IP comme un domaine inexistant NXDOMAIN (contourne le systeme de redirection de Verisign)"
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Spécifie le nombre d'entrées que contiendra le cache (par défaut : %s)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Spécifie le nom du fichier de configuration (par défaut : %s)"
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "Ne passe pas en tâche de fond : démarre en mode debug"
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "Ne retransmet pas les requêtes qui n'ont pas de domaine."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Retourne les champs MX pour les machines locales."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Etend les noms uniques des machines dans /etc/hosts avec le suffixe du domaine."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Ne retransmet pas les fausses requêtes DNS en provenance des machines Windows."
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Autorise DHCP dans la plage d'adresses donnée sur la durée de validité du bail."
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "On change pour ce groupe après le démarrage (par défaut : %s)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "On assigne une adresse ou un nom pour une machine spécifiée."
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr "Lecture des options DHCP à partir du fichier"
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "Lecture des options DHCP à partir du fichier"
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr "Expression d'évaluation conditionnelle d'étiquette"
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "Ne charge PAS le fichier %s."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Spécifie un nom de fichier hosts à lire en complément de %s"
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier"
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Spécifie la ou les interface(s) où le démon doit se mettre à l'écoute."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Spécifie la ou les interface(s) que le démon ne doit PAS traiter."
- #
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr "Associe les classes d'utilisateurs ('user class') DHCP aux options."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Associe les identifiants de circuits RFC3046 ('circuit-id') aux options"
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Associe les identifiants distants RFC3046 ('remote-id') aux options"
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Associe les identifiants de souscripteurs RFC3993 ('subscriber-id') aux options"
- #
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Ne pas autoriser DHCP pour les machines énumerées dans les options."
- #
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Forcer les réponses par 'broadcast' pour les machines énumerées dans les options."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "Ne passe pas en tâche de fond, ne pas s'exécuter en mode debug."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "On considère que l'on est le seul serveur DHCP sur le réseau local."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Spécifie où il faut sauvegarder les baux DHCP (par défaut : %s)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Retourne les champs MX pour les machines locales."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Spécifie un champ MX."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Spécifie les options BOOTP pour le serveur DHCP."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Ne pas scruter le fichier %s, ne recharger les modifications que sur réception du signal SIGHUP."
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "Ne place pas en cache le résultat des requêtes qui ont échouées."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Utilise les serveurs de noms dans l'ordre donné dans %s."
- #
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Options supplémentaires à associer aux clients DHCP."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Option DHCP envoyée même si le client de la demande pas."
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Spécifie le port où il faut écouter les requêtes DNS (par défaut : 53)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Taille maximale des paquets UDP supportés pour EDNS.0 (par défaut : %s)."
- #
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr "Enregistre les requêtes DNS dans un journal d'activité."
- #
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Force le port d'origine pour les requêtes vers les serveurs amonts."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "Ne pas lire le fichier resolv.conf."
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Spécifie le chemin pour le fichier resolv.conf (par défaut : %s)."
--#: option.c:377
-+#: option.c:379
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Spécifie un chemin pour le fichier PID (par défaut : %s)."
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Spécifie la ou les adresses des serveurs amonts avec des domaines optionels."
--#: option.c:379
-+#: option.c:381
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Spécifie la ou les adresses des serveurs amonts avec des domaines optionels."
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Ne jamais retransmettre les requêtes pour les domaines spécifiés."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Spécifie le domaine qui doit etre assigné aux baux DHCP."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Spécifie la cible par défaut dans un champ MX."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
- #
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Spécifie, en secondes, la valeur maximum de TTL à renvoyer aux clients."
- #
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
- #
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Change pour cet utilisateur après le démarrage (par défaut : %s)."
- #
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr "Associe les classes de fournisseurs ('vendor class') DHCP aux options."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Affiche la version de Dnsmasq et les informations liées au copyright."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traduit les adresses IPV4 des serveurs amonts."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Spécifie un champ SRV."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Afficher ce message. Utiliser --help dhcp pour obtenir la liste des options DHCP connues."
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Spécifie un chemin pour le fichier PID (par défaut : %s)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Spécifie le nombre maximum de baux DHCP (par défaut : %s)."
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Repond aux requêtes DNS en se basant sur l'interface ou a été envoyée la requête."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Spécifie un champ DNS TXT"
- #
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr "Spécifie un champ DNS PTR"
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Donne le nom DNS pour l'adresse IPv4 de l'interface."
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Association uniquement aux interfaces réseau actuellement actives."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Lecture des informations de DHCP statique à partir de %s."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Autorise l'interface DBus pour la configuration des serveurs amonts, etc."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Ne pas assurer de fonction DHCP sur cette interface, mais seulement la fonction DNS."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Autorise l'allocation dynamique d'adresse pour bootp."
- #
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Associe l'adresse MAC (avec les jokers) aux options."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Traiter les requêtes DHCP sur les alias comme arrivant de l'interface."
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Supprime la vérification d'adresse sur le serveur au moyen de paquets ICMP echo"
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Script shell à exécuter lors de la création ou destruction de bail DHCP."
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Script Lua à exécuter lors de la création ou destruction de bail DHCP."
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr "Lancer le script 'lease-change' avec cet utilisateur."
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr "Lecture de la configuration dans tous les fichiers de ce répertoire."
- #
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Enregistrer les journaux d'activité dans cette facilité syslog. (défaut : DAEMON)"
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr "Ne pas utiliser de fichier de baux."
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Spécifie le nombre maximum de requêtes DHCP concurrentes (par défaut : %s)."
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Vider le cache DNS lors du rechargement de %s."
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Ignorer les noms d'hôtes fournis par les clients DHCP"
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Ne pas réutiliser les champs nom de fichier et serveur dans les options DHCP supplémentaires."
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr "Activer le server TFTP intégré (fonctionnant en lecture seulement)"
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "N'exporter par TFTP que les fichiers de l'arborescence de fichier spécifiée"
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr "Ajouter les adresses IP clientes à la racine tftp ('tftp-root')."
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Accès aux seuls fichiers appartenants à l'utilisateur sous lequel tourne dnsmasq"
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Spécifie le nombre maximum de transfert TFTP concurrents (défaut : %s)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr "Désactivation de l'extension TFTP « taille de bloc »"
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Convertis les noms de fichiers TFTP en minuscule"
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Gamme de ports dans laquelle seront choisis les ports temporaires utilisés dans les transferts TFTP."
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr "Traces supplémentaires pour le DHCP."
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Active l'écriture de traces en mode asynchrone. Peut prendre en option la valeur de la longueur de la queue."
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Stopper la réassociation DNS ('DNS rebinding'). Filtre les gammes d'adresses IP privées lors de la résolution."
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Autorise la réassociation de 127.0.0/8, pour les serveurs RBL (Realtime Blackhole List)"
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Désactive la protection contre les réassociation DNS pour ce domaine"
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr "Toujours effectuer les requêtes DNS à tous les serveurs."
- #
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr "Spécifie le label si le client inclus l'option dans la requête."
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr "Utiliser des ports alternatifs pour le DHCP."
- #
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr "Spécifie un champ DNS NAPTR."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Définie le plus petit port utilisé pour la transmission d'une requête DNS."
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Utilise seulement les noms de domaine pleinement qualifiés pour les clients DHCP."
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Génère les noms d'hôtes à partir de l'adresse MAC pour les clients sans nom."
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr "Utilise ces relais DHCP en temps que proxy complets."
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr "Requêtes de relais DHCP à un serveur distant"
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Spécifie un alias pour un nom DNS local."
- #
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr "Invite à envoyer aux clients PXE."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr "Service de démarrage pour menu PXE."
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr "vérification de la syntaxe de la configuration."
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises"
--#: option.c:445
-+#: option.c:448
- #, fuzzy
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Ajoute l'adresse MAC du requêteur aux requêtes DNS transmises"
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Copie dans la réponse DNS le résultat de la validation DNSSEC effectuée par les serveurs DNS amonts."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Essaie d'allouer des adresses IP séquentielles aux clients DHCP."
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Copie les marques de suivi de connexion pour les requêtes amont."
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Autoriser les clients DHCP à faire leurs propres mises à jour DDNS (Dynamic DNS)"
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Envoyer des annonces de routeurs pour toutes les interfaces faisant du DHCPv6"
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Spécifie pour le serveur DHCPv6 un identifiant unique DHCP (DUID) basé sur un numéro unique de vendeur (DUID_EN)"
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spécifie les enregistrements (A/AAAA et PTR) d'un hôte."
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr "Définie une resource DNS d'un type spécifique"
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Se lie aux interfaces préexistantes - vérifie l'apparition de nouvelles interfaces"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr "Exporte les noms locaux dans le DNS global"
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr "Domaine à exporter dans le DNS global"
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr "Configure la durée de vie (Time To Live) pour les réponses faisant autorité"
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr "Configure les informations pour une zone de nom faisant autorité"
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Serveurs de noms secondaires faisant autorité pour les domaines délégués"
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Pairs autorisés à faire des transferts de zone"
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Spécifie les ipsets auxquels les domaines correspondants doivent-être ajoutés"
--#: option.c:462
-+#: option.c:465
- #, fuzzy
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Spécifie un domaine et une plage d'adresses pour les noms auto-générés"
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr "Spécifie le préfixe de classe DHCPv6"
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -749,328 +753,328 @@ msgstr ""
- "Usage : dnsmasq [options]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Utilisez les options courtes uniquement sur la ligne de commande.\n"
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Les options valides sont :\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "numéro de port incorrect"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr "association d'interface non supportée"
- #
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr "nom d'interface invalide"
- #
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr "mauvaise adresse"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "encapsulation d'option non supportée pour IPv6"
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "mauvaise valeur de 'dhcp-option'"
- #
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr "mauvaise adresse IP"
- #
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr "mauvaise adresse IPv6"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "mauvais domaine dans dhcp-option"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "dhcp-option trop long"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr "valeur illégale pour 'dhcp-match'"
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr "Une option ne pouvant être spécifié qu'une seule fois à été donnée plusieurs fois"
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr "Mot-clef ne pouvant être répété"
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "Ne peut pas lire le répertoire %s : %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "Ne peut pas lire %s : %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr "Sous android, impossible de positionner la cible (facility) pour les traces (logs)."
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr "Mauvaise cible (facility) pour les traces."
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "préference MX incorrecte"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "nom MX incorrect"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "valeur MX cible incorrecte"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr "ne peut exécuter de script sous uClinux"
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "recompiler en définissant HAVE_SCRIPT pour permettre l'exécution de scripts shell au changement de bail (lease-change)"
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "recompiler en définissant HAVE_LUASCRIPT pour permettre l'exécution de scripts LUA au changement de bail (lease-change)"
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr "mauvais préfixe"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "recompiler en définissant HAVE_IPSET pour permettre l'utilisation de directives de groupes d'IP (IPset)"
- #
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr "gamme de ports incorrecte"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr "interface-pont incorrecte"
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr "une seule étiquette est autorisée"
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "plage d'adresses DHCP (dhcp-range) incorrecte"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "plage d'adresses DHCP incohérente"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "la taille du préfixe doit être exactement 64 pour les sous-réseaux d'annonces de routeurs (RA)"
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "la taille du préfixe doit être exactement 64 pour le constructeur de sous-réseaux"
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr "la taille de préfixe doit être au minimum 64"
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr "plage d'adresses DHCPv6 incohérente"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "le préfixe doit avoir une taille de 0 lorsque l'argument \"constructor:\" est utilisé"
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr "mauvaise constante hexadecimale"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr "L'utilisation de labels est prohibée dans --dhcp-host"
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "adresse IP dhcp-host dupliquée dans %s."
- #
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr "nom d'hôte DHCP incorrect"
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr "mauvaise étiquette tag-if"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "numéro de port invalide"
- #
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr "adresse dhcp-proxy incorrecte"
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr "valeur incorrecte pour le relais DHCP (dhcp-relay)"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr "mauvais identifiant unique DHCP (DUID)"
- #
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr "poids invalide"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr "mauvais CNAME"
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr "ce CNAME existe déja"
- #
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr "mauvais champ PTR"
- #
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr "mauvais champ NAPTR"
- #
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr "mauvais enregistrement RR"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "champ TXT invalide"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "champ SRV invalide"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "cible SRV invalide"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "priorité invalide"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "poids invalide"
- #
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr "mauvais champ host-record"
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr "mauvais nom dans le champ host-record"
- #
--#: option.c:3906
-+#: option.c:3911
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "gamme de ports incorrecte"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- #, fuzzy
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "option non supportée (vérifier que Dnsmasq a été compilé avec le support DHCP/TFTP/DBus)"
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "il manque \""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "mauvaise option"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "paramètre en trop"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "paramètre manquant"
--#: option.c:4052
-+#: option.c:4057
- #, fuzzy
- msgid "illegal option"
- msgstr "mauvaise option"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "erreur"
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr "à la ligne %d de %s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr "Lecture de %s"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "Ne peut pas lire %s : %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr "la ligne de commande contient des éléments indésirables ou incompréhensibles"
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Version de Dnsmasq %s  %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1079,62 +1083,62 @@ msgstr ""
- "Options à la compilation %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Ce logiciel est fourni sans AUCUNE GARANTIE.\n"
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq est un logiciel libre, il vous est permis de le redistribuer\n"
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "sous les termes de la licence GPL (GNU General Public License), version 2 ou 3.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr "essayez avec --help"
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr "essayez avec -w"
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr "mauvaises options en ligne de commande : %s."
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "ne peut pas obtenir le nom de la machine : %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "seul un fichier resolv.conf est autorisé dans le mode no-poll"
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "un fichier resolv.conf (et un seul) est nécessaire pour y récuperer le nom de domaine."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "impossible de lire %s : %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "pas de directive de recherche trouvée dans %s"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "un domaine par défaut doit être spécifié lorsque l'option --dhcp-fqdn est utilisée"
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr "vérification de syntaxe OK"
-@@ -1143,25 +1147,25 @@ msgstr "v
- msgid "failed to send packet: %s"
- msgstr "impossible d'envoyer le paquet : %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "le serveur de nom %s a refusé de faire une recherche récursive"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "détection d'une possible attaque de type DNS-rebind: %s"
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Nombre maximum de requêtes DNS concurrentes atteint (maximum : %d)."
-@@ -1195,342 +1199,352 @@ msgstr "impossible de faire rejoindre l'interface %s dans le groupe multicast DH
- msgid "failed to bind server socket for %s: %s"
- msgstr "impossible de lier la socket de serveur pour %s : %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignore le serveur de nom %s - interface locale"
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignore le serveur de nom %s - ne peut construire/lier la socket : %m"
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "non-qualifié(e)"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr "noms"
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr "défaut"
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "domaine"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "utilise les adresses locales seulement pour %s %s"
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "utilisation des serveurs de nom standards pour %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "utilise le serveur de nom %s#%d pour %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, fuzzy, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "utilise le serveur de nom %s#%d pour %s %s"
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "utilise le serveur de nom %s#%d (via %s)"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "utilise le serveur de nom %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h"
- #
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- #, fuzzy
- msgid "cannot use --conntrack AND --query-port"
- msgstr "impossible d'utiliser conjointement --conntrack et --query-port"
- #
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Support de suivi de connexion non disponible : activez HAVE_CONNTRACK dans src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Solaris."
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Android."
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "le mode « autorité DNS » n'est pas disponible : activez HAVE_AUTH dans src/config.h"
- #
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr "le numéro de série de la zone doit être configuré dans --auth-soa"
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr "le constructeur de plage dhcp n'est pas disponible sur cette plate-forme"
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "--bind-interfaces et --bind-dynamic sont mutuellement exclusives"
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "impossible de trouver la liste des interfaces : %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "interface %s inconnue"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "Erreur DBus : %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "utilisateur ou groupe inconnu : %s"
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "Ne peut effectuer un 'chdir' à la racine du système de fichier : %s"
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "démarrage avec le DNS désactivé (version %s)"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "demarré, version %s (taille de cache %d)"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "démarrage avec le cache désactivé (version %s)"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "options à la compilation : %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "Support DBus autorisé : connecté au bus système"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "Support DBus autorisé : connexion au bus en attente"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "Impossible de changer pour l'utilisateur %s : %s"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "active l'option --bind-interfaces à cause de limitations dans le système d'exploitation"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "attention : l'interface %s n'existe pas actuellement"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "attention : l'option « resolv-file » sera ignorée car « no-resolv » a été spécifié"
- #
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr "attention : aucun serveur amont n'est configuré"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "mode asynchrone d'écriture de traces, la taille maximum de la queue est de %d messages."
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr "annonces de routeur IPv6 activées"
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr "root est"
- #
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr "activé"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr "mode sécurisé"
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, fuzzy, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr "répertoire TFTP %s inaccessible : %s"
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "le nombre maximum de transferts TFTP simultanés sera restreint à %d"
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "connecté au systeme DBus"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "Ne peut se lancer en tâche de fond : %s"
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "impossible de créer le 'helper' : %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "impossible de configurer la capacité %s"
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s"
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "Impossible de changer l'identifiant de groupe pour %s : %s"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "impossible de lire le fichier de PID %s : %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "Ne peut ouvrir le fichier de log %s : %s"
- #
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "impossible de charger le script Lua : %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "répertoire TFTP %s inaccessible : %s"
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "ne peut ouvrir ou créer le fichiers de baux %s : %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "Le script a été terminé par le signal %d"
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr "Le script s'est terminé avec le statut %d"
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "impossible d'exécuter à %s : %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "sortie sur réception du signal SIGTERM"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "impossible d'accéder à %s : %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "Lecture de %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "aucun serveur trouvé dans %s, va réessayer"
-@@ -1560,37 +1574,37 @@ msgstr "impossible de lier la socket serveur DHCP : %s"
- msgid "cannot create ICMP raw socket: %s."
- msgstr "ne peut créer de socket en mode raw pour ICMP : %s."
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "interface %s inconnue spécifiée comme interface de pont"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr "Paquet DHCP reçu sur %s qui n'a pas d'adresse"
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "La plage d'adresses DHCP %s -- %s n'est pas cohérente avec le masque de réseau %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "mauvaise ligne dans %s ligne %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "ignore %s à la ligne %d : duplication de nom ou d'adresse IP"
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "Relais DHCP %s -> %s"
-@@ -1624,169 +1638,169 @@ msgstr "impossible de lire %s : %s (prochain essai dans %us)"
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr "Le domaine %s est ignoré pour l'hôte DHCP %s"
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "pas de plage d'adresse disponible pour la requête DHCP %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "avec sélecteur de sous-reseau"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "par l'intermédiaire de"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "%u sous-réseaux DHCP disponibles : %s/%s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr "%u la gamme DHCP disponible est : %s -- %s"
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr "%u Classe de vendeur ('Vendor Class') : %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr "%u Classe d'utilisateur : %s"
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "désactivé"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "ignoré"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "adresse déjà utilisée"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "pas d'adresse disponible"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "mauvais réseau"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "pas d'adresse configurée"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "plus aucun bail disponible"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "le client %u fourni le nom : %s"
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr "Service PXE BIS (Boot Integrity Services) non supporté"
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "désactive l'adresse statique DHCP %s pour %s"
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "bail inconnu"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr "L'adresse statique %s ne sera pas utilisée car un bail est déjà attribué à %s"
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr "L'adresse statique %s ne sera pas utilisée car elle est utilisée par le serveur ou un relai"
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr "L'adresse statique %s ne sera pas utilisée car elle a préalablement été refusée"
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr "pas d'identifiant unique"
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr "mauvais identifiant de serveur"
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "mauvaise adresse"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "bail non trouvé"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "adresse non disponible"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "bail statique disponible"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "adresse reservée"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr "abandon du bail de %s pour %s"
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr "%u nom de fichier 'bootfile' : %s"
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr "%u nom du serveur : %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr "%u serveur suivant : %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr "%u réponse broadcast"
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "Impossible d'envoyer l'option DHCP/BOOTP %d : pas assez d'espace dans le paquet"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr "menu PXE trop grand"
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u options demandées : %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr "ne peux envoyer l'option RFC3925 : trop d'options pour le numéro d'entreprise %d"
-@@ -1801,15 +1815,25 @@ msgstr "ne peux lier une socket netlink : %s"
- msgid "netlink returns error: %s"
- msgstr "Erreur netlink : %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "tentative de lier une adresse serveur IPV6 via DBus - pas de support IPV6"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "configuration des serveurs amonts à partir de DBus"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "ne peut enregistrer une routine de traitement des messages DBus"
-@@ -1929,47 +1953,47 @@ msgstr "%u MAC adresse du client : %s"
- msgid "unknown prefix-class %d"
- msgstr "préfixe de classe inconnu %d"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr "adresse non disponible"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr "réussi"
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr "pas d'adresse disponible"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr "pas sur ce lien"
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr "aucune liaison trouvée"
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr "obsolète"
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr "adresse non valide"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr "confirmation d'échec"
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr "toutes les adresses sont toujours sur le lien"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr "libération reçue"
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Impossible de faire du multicast au server DHCPv6 sans interface valide"
-@@ -2057,12 +2081,12 @@ msgstr "Relais DHCP de %s 
- msgid "DHCP relay from %s to %s"
- msgstr "Relais DHCP de %s à %s"
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "ne peut créer la socket ICMPv6: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "la requête de transfert de zone en provenance de %s est ignorée"
-@@ -2077,7 +2101,7 @@ msgstr "impossible de trouver la version de noyau : %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "impossible de créer une socket de contrôle IPset : %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "impossible de lire le fichier de PID %s : %s"
-diff --git a/po/id.po b/po/id.po
-index a0ff0f062e8b..5414414756b6 100644
---- a/po/id.po
-+++ b/po/id.po
-@@ -26,19 +26,19 @@ msgid "failed to load names from %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, fuzzy, c-format
- msgid "bad address at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
- # OK
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
- # OK
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "membaca %s - %d alamat"
-@@ -103,737 +103,741 @@ msgid "failed to allocate memory"
- msgstr "gagal memuat %S: %m"
- # OK
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "tidak bisa mendapatkan memory"
- # OK
--#: util.c:253
-+#: util.c:260
- #, fuzzy, c-format
- msgid "cannot create pipe: %s"
- msgstr "tidak bisa membaca %s: %s"
- # OK
--#: util.c:261
-+#: util.c:268
- #, fuzzy, c-format
- msgid "failed to allocate %d bytes"
- msgstr "gagal memuat %S: %m"
- # OK
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "tak terbatas"
- # OK
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Tentukan alamat lokal untuk mendengarkan."
- # OK
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Menghasilkan ipaddr untuk semua host dalam domain yang dipilih."
- # OK
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Fake pencarian balik untuk alamat private sesuai dengan RFC1918."
- # OK
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Perlakukan ipaddr sebagai NXDOMAIN (mengalahkan wildcard Verisign)."
- # OK
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Tentukan ukuran cache, dalam jumlah isian (default %s)."
- # OK
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Tentukan file konfigurasi (default %s)."
- # OK
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "JANGAN berjalan di background: berjalan dalam modus debug."
- # OK
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "JANGAN teruskan permintaan tanpa bagian domain."
- # OK
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Mengembalikan record MX untuk diri sendiri host-host lokal."
- # OK
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Melengkapi nama-nama di /etc/hosts dengan akhiran domain."
- # OK
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Jangan meneruskan permintaan DNS spurious dari host-host Windows."
- # OK
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Bolehkan DHCP dalam jangkauan yang diberikan dengan durasi lease."
- # OK
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Ubah ke group ini setelah mulai (default %s)."
- # OK
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Setel alamat atau nama host untuk mesin yang disebutkan."
- # OK
--#: option.c:344
-+#: option.c:346
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "nama MX salah"
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
- # OK
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "nama MX salah"
- # OK
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "nama MX salah"
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
- # OK
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "JANGAN muat file %s."
- # OK
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Sebutkan sebuah file hosts yang harus dibaca sebagai tambahan untuk %s."
- # OK
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "nama MX salah"
- # OK
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Sebutkan antarmuka untuk mendengarkan."
- # OK
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Sebutkan antarmuka untuk TIDAK mendengarkan."
- # OK
--#: option.c:354
-+#: option.c:356
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Petakan kelas user DHCP ke setelan yang dipilih."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
- # OK
--#: option.c:358
-+#: option.c:360
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih."
- # OK
--#: option.c:359
-+#: option.c:361
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih."
- # OK
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "JANGAN berjalan di background, jangan berjalan dalam modus debug."
- # OK
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Berpikir bahwa kita satu-satunya DHCP server dalam jaringan."
- # OK
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Sebutkan lokasi untuk menyimpan lease DHCP (default %s)."
- # OK
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Kembalikan rekord MX untuk host-host lokal."
- # OK
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Sebutkan sebuah rekord MX."
- # OK
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Sebutkan pilihan-pilihan BOOTP untuk DHCP server."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Jangan kumpulkan file %s, muat kembali saat SIGHUP."
- # OK
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "JANGAN menyimpan hasil pencarian yang gagal."
- # OK
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Gunakan secara ketat namaserver yang disebutkan sesuai urutan di %s."
- # OK
--#: option.c:369
-+#: option.c:371
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
- # OK
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Sebutkan port untuk mendengarkan permintaan DNS (default port 53)."
- # OK
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Ukuran maksimum paket UDP yang didukung untuk EDNS.0 (default %s)."
- # OK
--#: option.c:373
-+#: option.c:375
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Permintaan log."
- # OK
--#: option.c:374
-+#: option.c:376
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Paksa port asal untuk permintaan ke atas."
- # OK
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "JANGAN baca resolv.conf."
- # OK
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Sebutkan path ke resolv.conf (default %s)."
- # OK
--#: option.c:377
-+#: option.c:379
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Sebutkan path file PID. (default %s)."
- # OK
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Sebutkan alamat-alamat server di atas, boleh dilengkapi dengan nama domain."
- # OK
--#: option.c:379
-+#: option.c:381
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Sebutkan alamat-alamat server di atas, boleh dilengkapi dengan nama domain."
- # OK
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "JANGAN pernah meneruskan permintaan ke domain yang disebutkan."
- # OK
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Sebutkan domain yang digunakan dalam lease DHCP."
- # OK
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Sebutkan tujuan default dalam rekord MX."
- # OK
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:384
-+#: option.c:386
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:385
-+#: option.c:387
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts."
- # OK
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Ubah ke user ini setelah mulai. (default %s)."
- # OK
--#: option.c:389
-+#: option.c:391
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Memetakan kelas vendor DHCP ke daftar pilihan."
- # OK
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Menampilkan versi dan informasi hak cipta dnsmasq."
- # OK
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas."
- # OK
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Sebutkan rekord SRV."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
- # OK
--#: option.c:394
-+#: option.c:396
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Sebutkan path file PID. (default %s)."
- # OK
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
- # OK
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Jawab permintaan DNS berdasarkan antarmuka dimana permintaan dikirimkan."
- # OK
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Sebutkan rekord TXT DNS."
- # OK
--#: option.c:398
-+#: option.c:400
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Sebutkan rekord TXT DNS."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
- # OK
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Hanya kaitkan ke antarmuka yang sedang digunakan saja."
- # OK
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Baca informasi statik host DHCP dari %s."
- # OK
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Mungkinkan antar muka DBus untuk menyetel server-server di atas, dsb."
- # OK
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "JANGAN menyediakan DHCP pada antarmuka ini, hanya menyediakan DNS."
- # OK
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Mungkinkan alokasi alamat dinamis untuk bootp."
- # OK
--#: option.c:405
-+#: option.c:407
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Memetakan kelas vendor DHCP ke daftar pilihan."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
- # OK
--#: option.c:412
-+#: option.c:414
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Ubah ke user ini setelah mulai. (default %s)."
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
- # OK
--#: option.c:414
-+#: option.c:416
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
- # OK
--#: option.c:422
-+#: option.c:425
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
- # OK
--#: option.c:434
-+#: option.c:437
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Sebutkan rekord TXT DNS."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
- # OK
--#: option.c:441
-+#: option.c:444
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
- # OK
--#: option.c:446
-+#: option.c:449
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
- # OK
--#: option.c:452
-+#: option.c:455
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Sebutkan sebuah rekord MX."
- # OK
--#: option.c:453
-+#: option.c:456
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Sebutkan rekord TXT DNS."
- # OK
--#: option.c:454
-+#: option.c:457
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "antarmuka tidak dikenal %s"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
- # OK
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -843,381 +847,381 @@ msgstr ""
- "\n"
- # OK
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Gunakan pilihan pendek saja pada perintah baris.\n"
- # OK
--#: option.c:684
-+#: option.c:687
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Pilihan yang boleh adalah:\n"
- # OK
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "port salah"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
- # OK
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- #, fuzzy
- msgid "bad interface name"
- msgstr "nama MX salah"
- # OK
--#: option.c:811
-+#: option.c:814
- #, fuzzy
- msgid "bad address"
- msgstr "membaca %s - %d alamat"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
- # OK
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "dhcp-option salah"
- # OK
--#: option.c:1075
-+#: option.c:1078
- #, fuzzy
- msgid "bad IP address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "domain dalam dhcp-option salah"
- # OK
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "dhcp-option terlalu panjang"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
- # OK
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "tidak bisa membaca %s: %s"
- # OK
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "tidak bisa membaca %s: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
- # OK
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "kesukaan MX salah"
- # OK
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "nama MX salah"
- # OK
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "target MX salah"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
- # OK
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- #, fuzzy
- msgid "bad prefix"
- msgstr "port salah"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
- # OK
--#: option.c:2545
-+#: option.c:2548
- #, fuzzy
- msgid "bad port range"
- msgstr "port salah"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
- # OK
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "dhcp-range salah"
- # OK
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "jangkauan DHCP tidak konsisten"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
- # OK
--#: option.c:2736
-+#: option.c:2741
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "jangkauan DHCP tidak konsisten"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
- # OK
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dhcp-host salah"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
- # OK
--#: option.c:2928
-+#: option.c:2933
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "alamat IP kembar %s dalam direktif dhcp-config"
- # OK
--#: option.c:2986
-+#: option.c:2991
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nama MX salah"
- # OK
--#: option.c:3068
-+#: option.c:3073
- #, fuzzy
- msgid "bad tag-if"
- msgstr "target MX salah"
- # OK
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "nomor port tidak benar"
- # OK
--#: option.c:3454
-+#: option.c:3459
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "membaca %s - %d alamat"
- # OK
--#: option.c:3480
-+#: option.c:3485
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dhcp-range salah"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
- # OK
--#: option.c:3557
-+#: option.c:3562
- #, fuzzy
- msgid "invalid alias range"
- msgstr "weight tidak benar"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
- # OK
--#: option.c:3636
-+#: option.c:3641
- #, fuzzy
- msgid "bad PTR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3667
-+#: option.c:3672
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3701
-+#: option.c:3706
- #, fuzzy
- msgid "bad RR record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "rekord TXT salah"
- # OK
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "target SRV salah"
- # OK
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "prioritas tidak benar"
- # OK
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "weight tidak benar"
- # OK
--#: option.c:3824
-+#: option.c:3829
- #, fuzzy
- msgid "Bad host-record"
- msgstr "rekord SRV salah"
- # OK
--#: option.c:3841
-+#: option.c:3846
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "kesalahan nama di %s"
- # OK
--#: option.c:3906
-+#: option.c:3911
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "port salah"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
- # OK
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "kurang \""
- # OK
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "pilihan salah"
- # OK
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "parameter berlebihan"
- # OK
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "parameter kurang"
- # OK
--#: option.c:4052
-+#: option.c:4057
- #, fuzzy
- msgid "illegal option"
- msgstr "pilihan salah"
- # OK
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "kesalahan"
- # OK
--#: option.c:4061
-+#: option.c:4066
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s pada baris %d dari %%s"
- # OK
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "membaca %s"
- # OK
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "tidak bisa membaca %s: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
- # OK
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq versi %s  %s\n"
- # OK
--#: option.c:4461
-+#: option.c:4466
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1227,70 +1231,70 @@ msgstr ""
- "\n"
- # OK
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n"
- # OK
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsdmasq adalah perangkat lunak bebas, dan Anda dipersilahkan untuk membagikannya\n"
- # OK
--#: option.c:4464
-+#: option.c:4469
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "dengan aturan GNU General Public License, versi 2.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
- # OK
--#: option.c:4479
-+#: option.c:4484
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "pilihan baris perintah salah: %s."
- # OK
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "tidak bisa mendapatkan host-name: %s"
- # OK
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "hanya satu file resolv.conf yang diperbolehkan dalam modus no-poll."
- # OK
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "harus mempunyai tepat satu resolv.conf untuk mendapatkan nama domain."
- # OK
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "gagal membaca %s: %s"
- # OK
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "tidak ditemukan direktif search di %s"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1300,27 +1304,27 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr "gagal mendengarkan di socket: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
- # OK
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "nameserver %s menolak melakukan resolusi rekursif"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
- # OK
--#: forward.c:2178
-+#: forward.c:2256
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)."
-@@ -1358,380 +1362,390 @@ msgid "failed to bind server socket for %s: %s"
- msgstr "gagal mem-bind socket untuk mendengarkan %s: %s"
- # OK
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "mengabaikan nameserver %s - antarmuka lokal"
- # OK
--#: network.c:1455
-+#: network.c:1456
- #, fuzzy, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "mengabaikan nameserver %s - tak dapat membuat/mem-bind socket: %s"
- # OK
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "tidak memenuhi syarat"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
- # OK
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "domain"
- # OK
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "menggunakan alamat lokal saja untuk %s %s"
- # OK
--#: network.c:1477
-+#: network.c:1478
- #, fuzzy, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "menggunakan nameserver %s#%d untuk %s %s"
- # OK
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "menggunakan nameserver %s#%d untuk %s %s"
- # OK
--#: network.c:1483
-+#: network.c:1484
- #, fuzzy, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "menggunakan nameserver %s#%d untuk %s %s"
- # OK
--#: network.c:1486
-+#: network.c:1487
- #, fuzzy, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "menggunakan nameserver %s#%d"
- # OK
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "menggunakan nameserver %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
- # OK
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
- # OK
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
- # OK
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
- # OK
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
- # OK
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
- # OK
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "gagal mendapatkan daftar antarmuka: %s"
- # OK
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "antarmuka tidak dikenal %s"
- # OK
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus error: %s"
- # OK
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "dimulai, cache versi %s di disable"
- # OK
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "dimulai, versi %s ukuran cache %d"
- # OK
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "dimulai, cache versi %s di disable"
- # OK
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "pilihan-pilihan saat kompilasi: %s"
- # OK
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "dukungan DBus dimungkinkan: terkoneksi pada bus sistem"
- # OK
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "dukungan DBus dimungkinkan: koneksi bus ditunda"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
- # OK
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS"
- # OK
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "peringatan: antarmuka %s tidak ada"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
- # OK
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "menyetel server-server di atas dengan DBus"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
- # OK
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- #, fuzzy
- msgid "enabled"
- msgstr "di disable"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
- # OK
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "terhubung ke sistem DBus"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "gagal membaca %s: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "gagal memuat nama-nama dari %s: %s"
- # OK
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "gagal membaca %s: %s"
- # OK
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "tidak bisa membuka %s:%s"
- # OK
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "gagal memuat %S: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
- # OK
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "tidak dapat membuka atau membuat file lease: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
- # OK
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "gagal mengakses %s: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "keluar karena menerima SIGTERM"
- # OK
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "gagal mengakses %s: %s"
- # OK
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "membaca %s"
- # OK
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "tidak ditemukan direktif search di %s"
-@@ -1767,39 +1781,39 @@ msgid "cannot create ICMP raw socket: %s."
- msgstr "tidak dapat membuat socket ICMP raw: %s"
- # OK
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, fuzzy, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "antarmuka tidak dikenal %s"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
- # OK
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "jangkauan DHCP %s -- %s tidak konsisten dengan netmask %s"
- # OK
--#: dhcp.c:812
-+#: dhcp.c:815
- #, fuzzy, c-format
- msgid "bad line at %s line %d"
- msgstr "kesalahan nama pada %s baris %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1838,191 +1852,191 @@ msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
- # OK
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
- # OK
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "dengan pemilih subnet"
- # OK
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "lewat"
- # OK
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, fuzzy, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
- # OK
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, fuzzy, c-format
- msgid "%u vendor class: %s"
- msgstr "DBus error: %s"
- # OK
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, fuzzy, c-format
- msgid "%u user class: %s"
- msgstr "DBus error: %s"
- # OK
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "di disable"
- # OK
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "diabaikan"
- # OK
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "alamat telah digunakan"
- # OK
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "tak ada alamat yang tersedia"
- # OK
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "jaringan yang salah"
- # OK
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "tak ada alamat yang disetel"
- # OK
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "tak ada lease yang tersisa"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
- # OK
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "men-disable alamat statik DHCP %s"
- # OK
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "lease tidak diketahui"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
- # OK
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "alamat salah"
- # OK
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "lease tak ditemukan"
- # OK
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "alamat tak tersedia"
- # OK
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "lease statik tak tersedia"
- # OK
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "alamat telah dipesan"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
- # OK
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, fuzzy, c-format
- msgid "%u server name: %s"
- msgstr "DBus error: %s"
- # OK
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, fuzzy, c-format
- msgid "%u next server: %s"
- msgstr "DBus error: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr ""
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
- # OK
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "pilihan-pilihan saat kompilasi: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -2040,17 +2054,27 @@ msgid "netlink returns error: %s"
- msgstr "DBus error: %s"
- # OK
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "mencoba menyetel sebuah alamat IPv6 server lewat DBus - tidak ada dukungan untuk IPv6"
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
- # OK
--#: dbus.c:500
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "menyetel server-server di atas dengan DBus"
- # OK
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "tidak bisa mendaftar sebuah DBus message handler"
-@@ -2186,54 +2210,54 @@ msgid "unknown prefix-class %d"
- msgstr "lease tidak diketahui"
- # OK
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- #, fuzzy
- msgid "address unavailable"
- msgstr "alamat tak tersedia"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
- # OK
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- #, fuzzy
- msgid "no addresses available"
- msgstr "tak ada alamat yang tersedia"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
- # OK
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- #, fuzzy
- msgid "address invalid"
- msgstr "alamat telah digunakan"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
- # OK
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "kesalahan nama pada %s baris %d"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2327,12 +2351,12 @@ msgid "DHCP relay from %s to %s"
- msgstr ""
- # OK
--#: radv.c:98
-+#: radv.c:109
- #, fuzzy, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "tidak bisa membuat socket DHCP: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2350,7 +2374,7 @@ msgid "failed to create IPset control socket: %s"
- msgstr "gagal membuat socket: %s "
- # OK
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "gagal membaca %s: %s"
-diff --git a/po/it.po b/po/it.po
-index 64342c9804ba..ed9376b41695 100644
---- a/po/it.po
-+++ b/po/it.po
-@@ -25,17 +25,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
-@@ -93,1005 +93,1009 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr ""
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr ""
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:346
-+#: option.c:348
- msgid "Read DHCP host specs from a directory."
- msgstr ""
--#: option.c:347
-+#: option.c:349
- msgid "Read DHCP options from a directory."
- msgstr ""
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:351
-+#: option.c:353
- msgid "Read hosts files from a directory."
- msgstr ""
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:377
-+#: option.c:379
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:379
-+#: option.c:381
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:386
-+#: option.c:388
- msgid "Specify time-to-live ceiling for cache."
- msgstr ""
--#: option.c:387
-+#: option.c:389
- msgid "Specify time-to-live floor for cache."
- msgstr ""
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr ""
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr ""
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr ""
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr ""
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr ""
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr ""
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr ""
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr ""
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr ""
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr ""
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr ""
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr ""
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3906
-+#: option.c:3911
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr ""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr ""
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr ""
--#: option.c:4052
-+#: option.c:4057
- msgid "illegal option"
- msgstr ""
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr ""
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr ""
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1100,25 +1104,25 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1152,332 +1156,342 @@ msgstr ""
- msgid "failed to bind server socket for %s: %s"
- msgstr ""
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr ""
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr ""
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr ""
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr ""
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr ""
--#: network.c:1483
-+#: network.c:1484
- #, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr ""
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr ""
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr ""
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1507,37 +1521,37 @@ msgstr ""
- msgid "cannot create ICMP raw socket: %s."
- msgstr ""
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr ""
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1571,169 +1585,169 @@ msgstr ""
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr ""
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr ""
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr ""
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr ""
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr ""
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr ""
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr ""
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr ""
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr ""
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr ""
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr ""
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr ""
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr ""
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr ""
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr ""
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr ""
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -1748,15 +1762,25 @@ msgstr ""
- msgid "netlink returns error: %s"
- msgstr ""
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr ""
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr ""
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr ""
-@@ -1876,47 +1900,47 @@ msgstr ""
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2004,12 +2028,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2024,7 +2048,7 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr ""
-diff --git a/po/no.po b/po/no.po
-index c2e7067d2304..1681e06908a7 100644
---- a/po/no.po
-+++ b/po/no.po
-@@ -27,17 +27,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "dårlig adresse ved %s linje %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "dårlig navn ved %s linje %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "les %s - %d adresser"
-@@ -96,657 +96,661 @@ msgstr "feilet 
- msgid "failed to allocate memory"
- msgstr "feilet å laste %d bytes"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "kunne ikke få minne"
--#: util.c:253
-+#: util.c:260
- #, fuzzy, c-format
- msgid "cannot create pipe: %s"
- msgstr "kan ikke lese %s: %s"
--#: util.c:261
-+#: util.c:268
- #, fuzzy, c-format
- msgid "failed to allocate %d bytes"
- msgstr "feilet å laste %d bytes"
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "uendelig"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Spesifiser lokal(e) adresse(r) å lytte på."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Returner ipaddr for alle verter i det spesifiserte domenet."
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Forfalsk revers oppslag for RFC1918 private adresse områder."
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Behandle ipaddr som NXDOMAIN (omgår Verisign wildcard)."
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Spesifiser størrelsen på mellomlager plassene (standard er %s)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Spesifiser konfigurasjonsfil (standard er %s)."
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "IKKE legg (fork) som bakgrunnsprosess: kjør i debug modus."
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "IKKE videresend oppslag som mangler domene del."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Returner selv-pekende MX post for lokale verter."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Utvid enkle navn i /etc/hosts med domene-suffiks."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Ikke videresend falske/uekte DNS forespørsler fra Windows verter."
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Aktiver DHCP i det gitte området med leie varighet"
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Skift til denne gruppen etter oppstart (standard er %s)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Sett adresse eller vertsnavn for en spesifikk maskin."
--#: option.c:344
-+#: option.c:346
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "dårlig MX navn"
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "dårlig MX navn"
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "dårlig MX navn"
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "IKKE last %s filen."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Spesifiser en verts (hosts) fil som skal leses i tilleg til %s."
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "dårlig MX navn"
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Spesifiser nettverkskort det skal lyttes på."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Spesifiser nettverkskort det IKKE skal lyttes på."
--#: option.c:354
-+#: option.c:356
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Map DHCP bruker klasse til opsjon sett."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:358
-+#: option.c:360
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Ikke utfør DHCP for klienter i opsjon sett."
--#: option.c:359
-+#: option.c:361
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Ikke utfør DHCP for klienter i opsjon sett."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "IKKE last (fork) som bakgrunnsprosess, IKKE kjør i debug modus."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Anta at vi er den eneste DHCP tjeneren på det lokale nettverket."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Spesifiser hvor DHCP leiene skal lagres (standard er %s)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Returner MX records for lokale verter."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Spesifiser en MX post."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Spesifiser BOOTP opsjoner til DHCP tjener."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "IKKE spør (poll) %s fil, les på nytt kun ved SIGHUP"
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "IKKE mellomlagre søkeresultater som feiler."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Bruk navnetjenere kun som bestemt i rekkefølgen gitt i %s."
--#: option.c:369
-+#: option.c:371
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Spesifiser lytteport for DNS oppslag (standard er 53)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maksimal støttet UDP pakkestørrelse for EDNS.0 (standard er %s)."
--#: option.c:373
-+#: option.c:375
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Logg oppslag."
--#: option.c:374
-+#: option.c:376
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Tving bruk av opprinnelig port for oppstrøms oppslag."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "IKKE les resolv.conf."
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Spesifiser stien til resolv.conf (standard er %s)."
--#: option.c:377
-+#: option.c:379
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Spesifiser stien til PID fil. (standard er %s)."
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener."
--#: option.c:379
-+#: option.c:381
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener."
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Aldri videresend oppslag til spesifiserte domener."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Spesifiser domenet som skal tildeles i DHCP leien."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Spesifiser default mål i en MX post."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:384
-+#: option.c:386
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:385
-+#: option.c:387
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Skift til denne bruker etter oppstart (standard er %s)."
--#: option.c:389
-+#: option.c:391
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Map DHCP produsent klasse til opsjon sett."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Vis dnsmasq versjon og copyright informasjon."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Oversett IPv4 adresser fra oppstrøms tjenere."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Spesifiser en SRV post."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:394
-+#: option.c:396
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Spesifiser stien til PID fil. (standard er %s)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Svar DNS oppslag basert på nettverkskortet oppslaget ble sendt til."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:398
-+#: option.c:400
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Bind kun til nettverkskort som er i bruk."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Les DHCP statisk vert informasjon fra %s."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Aktiver DBus interface for å sette oppstrøms tjenere, osv."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Ikke lever DHCP på dette nettverkskortet, kun lever DNS."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Aktiver dynamisk adresse allokering for bootp."
--#: option.c:405
-+#: option.c:407
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Map DHCP produsent klasse til opsjon sett."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:412
-+#: option.c:414
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Skift til denne bruker etter oppstart (standard er %s)."
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:414
-+#: option.c:416
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:434
-+#: option.c:437
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Spesifiser TXT DNS post."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:441
-+#: option.c:444
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:446
-+#: option.c:449
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Oversett IPv4 adresser fra oppstrøms tjenere."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Spesifiser en MX post."
--#: option.c:453
-+#: option.c:456
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Spesifiser TXT DNS post."
--#: option.c:454
-+#: option.c:457
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "ukjent tilknytning (interface) %s"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -755,332 +759,332 @@ msgstr ""
- "Bruk: dnsmasq [opsjoner]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Bruk korte opsjoner kun på kommandolinjen.\n"
--#: option.c:684
-+#: option.c:687
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Gyldige opsjoner er :\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "dårlig port"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- #, fuzzy
- msgid "bad interface name"
- msgstr "dårlig MX navn"
--#: option.c:811
-+#: option.c:814
- #, fuzzy
- msgid "bad address"
- msgstr "les %s - %d adresser"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "dårlig dhcp-opsjon"
--#: option.c:1075
-+#: option.c:1078
- #, fuzzy
- msgid "bad IP address"
- msgstr "les %s - %d adresser"
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "les %s - %d adresser"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "dårlig domene i dhcp-opsjon"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "dhcp-opsjon for lang"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "kan ikke lese %s: %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "kan ikke lese %s: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "dårlig MX preferanse"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "dårlig MX navn"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "dårlig MX mål"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- #, fuzzy
- msgid "bad prefix"
- msgstr "dårlig port"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2545
-+#: option.c:2548
- #, fuzzy
- msgid "bad port range"
- msgstr "dårlig port"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "dårlig dhcp-område"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "ikke konsistent DHCP område"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2736
-+#: option.c:2741
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "ikke konsistent DHCP område"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dårlig dhcp-vert"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2928
-+#: option.c:2933
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
--#: option.c:2986
-+#: option.c:2991
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "dårlig MX navn"
--#: option.c:3068
-+#: option.c:3073
- #, fuzzy
- msgid "bad tag-if"
- msgstr "dårlig MX mål"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "ugyldig portnummer"
--#: option.c:3454
-+#: option.c:3459
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "les %s - %d adresser"
--#: option.c:3480
-+#: option.c:3485
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dårlig dhcp-område"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
--#: option.c:3557
-+#: option.c:3562
- #, fuzzy
- msgid "invalid alias range"
- msgstr "ugyldig vekt"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3636
-+#: option.c:3641
- #, fuzzy
- msgid "bad PTR record"
- msgstr "dårlig SRV post"
--#: option.c:3667
-+#: option.c:3672
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "dårlig SRV post"
--#: option.c:3701
-+#: option.c:3706
- #, fuzzy
- msgid "bad RR record"
- msgstr "dårlig SRV post"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "dårlig TXT post"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "dårlig SRV post"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "dårlig SRV mål"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "ugyldig prioritet"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "ugyldig vekt"
--#: option.c:3824
-+#: option.c:3829
- #, fuzzy
- msgid "Bad host-record"
- msgstr "dårlig SRV post"
--#: option.c:3841
-+#: option.c:3846
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "dårlig navn i %s"
--#: option.c:3906
-+#: option.c:3911
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "dårlig port"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "mangler \""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "dårlig opsjon"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "overflødig parameter"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "mangler parameter"
--#: option.c:4052
-+#: option.c:4057
- #, fuzzy
- msgid "illegal option"
- msgstr "dårlig opsjon"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "feil"
--#: option.c:4061
-+#: option.c:4066
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s på linje %d av %%s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "leser %s"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "kan ikke lese %s: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq versjon %s %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1089,62 +1093,62 @@ msgstr ""
- "Kompileringsopsjoner %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n"
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "DNsmasq er fri programvare, du er velkommen til å redistribuere den\n"
--#: option.c:4464
-+#: option.c:4469
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "under vilkårene gitt i GNU General Public License, versjon 2.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
--#: option.c:4479
-+#: option.c:4484
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "dårlige kommandlinje opsjoner: %s."
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "klarer ikke å få vertsnavn: %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "kun en resolv.conf fil tillat i no-poll modus."
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "må ha nøyaktig en resolv.conf å lese domene fra."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "feilet å lese %s: %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "intet søke direktiv funnet i %s"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1153,25 +1157,25 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr "feilet å lytte på socket: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "navnetjener %s nektet å gjøre et rekursivt oppslag"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
-@@ -1205,339 +1209,349 @@ msgstr "feilet 
- msgid "failed to bind server socket for %s: %s"
- msgstr "feilet å binde lytte socket for %s: %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignorerer navnetjener %s - lokal tilknytning"
--#: network.c:1455
-+#: network.c:1456
- #, fuzzy, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignorerer navnetjener %s - kan ikke lage/dinde socket: %s"
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "ikke kvalifisert"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "domene"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "benytter lokale adresser kun for %s %s"
--#: network.c:1477
-+#: network.c:1478
- #, fuzzy, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "benytter navnetjener %s#%d for %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "benytter navnetjener %s#%d for %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, fuzzy, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "benytter navnetjener %s#%d for %s %s"
--#: network.c:1486
-+#: network.c:1487
- #, fuzzy, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "benytter navnetjener %s#%d"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "benytter navnetjener %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "feilet å finne liste av tilknytninger (interfaces): %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "ukjent tilknytning (interface) %s"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "DBus feil: %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "startet, versjon %s mellomlager deaktivert"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "startet, versjon %s mellomlager størrelse %d"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "startet, versjon %s mellomlager deaktivert"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "kompilerings opsjoner: %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "DBus støtte aktivert: koblet til system buss"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "DBus støtte aktivert: avventer buss tilkobling"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "setter oppstrøms tjener fra DBus"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- #, fuzzy
- msgid "enabled"
- msgstr "deaktivert"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "tilkoblet til system DBus"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "feilet å lese %s: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "feilet å laste navn fra %s: %s"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "feilet å lese %s: %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "kan ikke åpne %s:%s"
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "feilet å laste %s: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "kan ikke åpne eller lage leie fil: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "feilet å få tilgang til %s: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "avslutter etter mottak av SIGTERM"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "feilet å få tilgang til %s: %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "leser %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "intet søke direktiv funnet i %s"
-@@ -1567,37 +1581,37 @@ msgstr "feilet 
- msgid "cannot create ICMP raw socket: %s."
- msgstr "kan ikke lage ICMP raw socket: %s"
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, fuzzy, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "ukjent tilknytning (interface) %s"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "DHCP område %s -- %s er ikke konsistent med nettmaske %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "dårlig linje ved %s linje %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1631,169 +1645,169 @@ msgstr "feilet 
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "med subnet velger"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "via"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, fuzzy, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, fuzzy, c-format
- msgid "%u vendor class: %s"
- msgstr "DBus feil: %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, fuzzy, c-format
- msgid "%u user class: %s"
- msgstr "DBus feil: %s"
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "deaktivert"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "oversett"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "adresse i bruk"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "ingen adresse tilgjengelig"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "galt nettverk"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "ingen adresse konfigurert"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "ingen leier igjen"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "deaktiverer DHCP statisk adresse %s"
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "ukjent leie"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "gal adresse"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "leie ikke funnet"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "adresse ikke tilgjengelig"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "statisk leie tilgjengelig"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "adresse reservert"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, fuzzy, c-format
- msgid "%u server name: %s"
- msgstr "DBus feil: %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, fuzzy, c-format
- msgid "%u next server: %s"
- msgstr "DBus feil: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, fuzzy, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "kompilerings opsjoner: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -1808,15 +1822,25 @@ msgstr "kan ikke binde netlink socket: %s"
- msgid "netlink returns error: %s"
- msgstr "DBus feil: %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "forsøk på å sette en IPv6 tjener adresse via DBus - ingen IPv6 støtte"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "setter oppstrøms tjener fra DBus"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "kunne ikke registrere en DBus meldingshåndterer"
-@@ -1936,51 +1960,51 @@ msgstr "ingen tilknytning (interface) med adresse %s"
- msgid "unknown prefix-class %d"
- msgstr "ukjent leie"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- #, fuzzy
- msgid "address unavailable"
- msgstr "adresse ikke tilgjengelig"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- #, fuzzy
- msgid "no addresses available"
- msgstr "ingen adresse tilgjengelig"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- #, fuzzy
- msgid "address invalid"
- msgstr "adresse i bruk"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "dårlig adresse ved %s linje %d"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2068,12 +2092,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, fuzzy, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "kan ikke lage DHCP socket: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2088,7 +2112,7 @@ msgstr "feilet 
- msgid "failed to create IPset control socket: %s"
- msgstr "feilet å lage lytte socket: %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "feilet å lese %s: %s"
-diff --git a/po/pl.po b/po/pl.po
-index 362e41226644..9b0386e57bb3 100644
---- a/po/pl.po
-+++ b/po/pl.po
-@@ -30,17 +30,17 @@ msgstr "Wewnętrzny błąd w pamięci podręcznej."
- msgid "failed to load names from %s: %s"
- msgstr "nie potrafię wczytać nazw z %s: %s"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "błędny adres w pliku %s, w linii %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "błędna nazwa w pliku %s, w linii %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "wczytałem %s - %d adresów"
-@@ -98,636 +98,640 @@ msgstr "brak możliwości użycia generatora liczb losowych: %s"
- msgid "failed to allocate memory"
- msgstr "nie udało się przydzielić pamięci"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "nie można dostać pamięci"
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr "błąd podczas próby utworzenia potoku: %s"
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr "niemożliwość przydzielenia %d bajtów pamięci"
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "nieskończona"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Wskazanie adresów, na których należy nasłuchiwać."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Zwracanie adresu IP dla wszystkich hostów we wskazanych domenach."
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Wyłączenie przekazywania zapytań odwrotnych dla prywatnych zakresów IP."
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Traktowanie adresu IP jako NXDOMAIN (unieważnia ,,Verisign wildcard'')."
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Wskazanie wielkości pamięci podręcznej (domyślnie: %s miejsc)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Wskazanie pliku konfiguracyjnego (domyślnie: %s)."
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NIE twórz procesu potomnego w tle: działanie w trybie debugowania."
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "Wyłączenie przekazywania zapytań bez podanej części domenowej."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Zwracanie samowskazującego rekordu MX dla lokalnych hostów."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Rozwijanie prostych nazw z /etc/hosts przyrostkiem domenowym."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Wyłączenie przekazywania pozornych zapytań DNS z komputerów działających pod Windows."
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Włączenie serwera DHCP dla wskazanego zakresu adresów."
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Po uruchomieniu zmiana grupy procesu na podaną (domyślnie: %s)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Ustawienie adresu lub nazwy dla wskazanego komputera."
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr "Warunkowe ustawianie znaczników."
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "NIE wczytywanie pliku %s."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Wskazanie dodatkowego pliku 'hosts' oprócz %s."
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Interfejsy, na których nasłuchiwać."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Interfejsy, na których NIE nasłuchiwać."
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr "Przyporządkowanie znacznika w zależności od klasy użytkownika DHCP."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru obwodu (w rozumieniu RFC3046)."
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru agenta (w rozumieniu RFC3046)."
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr "Przyporządkowanie znacznika w zależności od numeru subskrybenta (w rozumieniu RFC3993)."
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Wyłączenie DHCP dla hostów z określonym znacznikiem."
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Wymuszenie odpowiedzi w trybie rozgłoszeniowym dla hostów z określonym znacznikiem."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NIE twórz procesu potomnego w tle i NIE włączaj trybu debugowania."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Zakładanie, że jesteśmy jedynym serwerem DHCP w sieci lokalnej."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Ścieżka przechowywania pliku dzierżaw DHCP (domyślnie: %s)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Włączenie zwracania rekordu MX dla hostów lokalnych."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Specyfikacja rekordu MX."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Określenie opcji BOOTP serwera DHCP."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Wyłączenie obserwowania pliku %s; ponowne odczytywanie tylko po odebraniu sygnału SIGHUP."
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "Wyłączenie przechowywania w pamięci podręcznej wyników nieudanych wyszukiwań."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Odpytywanie serwerów nazw w kolejności ich wystąpienia w %s."
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Specyfikacja opcji wysyłanej do klientów DHCP."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr "Opcja DHCP wysyłana nawet jeżeli klient o nią nie prosi."
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Wskazanie portu do nasłuchiwania zapytań DNS (domyślnie: 53)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Maksymalna obsługiwana wielkość pakietu EDNS.0 (domyślnie: %s)."
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr "Włączenie spisywania zapytań DNS do logu."
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Wymuszenie użycia wskazanego portu UDP do odpytywania nadrzędnych serwerów DNS i odbierania od nich odpowiedzi."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "Wyłączenie czytania pliku resolv.conf."
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Wskazanie położenia pliku resolv.conf (domyślnie: %s)."
--#: option.c:377
-+#: option.c:379
- msgid "Specify path to file with server= options"
- msgstr "Wskazanie położenia pliku z opcjami server="
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Wskazywanie adresów serwerów nazw, opcjonalnie z przypisaniem do domeny."
--#: option.c:379
-+#: option.c:381
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Wskazanie serwerów nazw do odwrotnej translacji adresów."
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Wyłączenie przekazywania zapytań do wskazanych domen."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Wskazanie domeny dla serwera DHCP."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Określenie domyślnego celu w rekordzie MX."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Określenie (w sekundach) czasu ważności odpowiedzi udzielonych na podstawie /etc/hosts (domyślnie 0)."
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Ograniczenie maksymalnego czasu ważności odpowiedzi (TTL) podawanego klientom [w sekundach]."
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Zmiana użytkownika procesu na wskazanego (po uruchomieniu, domyślnie: %s)."
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr "Przyporządkowanie znacznika w zależności od typu klienta DHCP."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Wydrukowanie informacji o programie i ochronie praw autorskich."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Tłumaczenie adresów IPv4 z serwerów nadrzędnych."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Określenie rekordu SRV."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr "Wyświetla ten komunikat. Użyj '--help dhcp' chcąc przejrzeć listę opcji DHCP (dhcp-option=xxx,...)."
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Określenie ścieżki do pliku PID (domyślnie: %s)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Maksymalna liczba dzierżaw DHCP (domyślnie: %s)."
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Uzależnienie odpowiedzi DNS od interfejsu, na którym odebrano zapytanie (wygodne dla serwerów kilku podsieci z różnymi adresami w /etc/hosts)."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Specyfikacja rekordu DNS TXT."
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr "Specyfikacja rekordu DNS PTR."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr "Zwraca nazwę domenową powiązaną z adresem interfejsu sieciowego."
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Nasłuchiwanie tylko na wykorzystywanych interfejsach (umożliwia uruchomienie osobnych serwerów dla różnych kart)."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Wczytanie przyporządkowań adresów z %s."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Włączenie używania interfejsu DBus do informowania o zmianach konfiguracji."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Uruchomienie na wskazanym interfejsie tylko DNS-a, bez usług DHCP i TFTP."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Włączenie dynamicznego przydzielania adresów dla klientów BOOTP."
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Przyporządkowanie znacznika w zależności od adresu MAC (można używać uogólnień: *)."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr "Traktowanie żądań DHCP odebranych na interfejsach alias, ..., jako odebranych na iface."
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr "Pominięcie sprawdzania za pomocą ICMP niezajętości adresu przed jego wydzierżawieniem."
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr "Skrypt powłoki uruchamiany po przyznaniu lub zwolnieniu adresu."
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr "Skrypt Lua uruchamiany po przyznaniu lub zwolnieniu adresu."
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr "Wskazanie użytkownika z którego uprawnieniami będą uruchamiane skrypty."
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr "Wczytanie wszystkich plików ze wskazanego katalogu jako konfiguracyjnych."
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Wskazanie kanału syslog-a do którego mają trafiać komunikaty (domyślnie: DAEMON)"
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr "Nieużywanie bazy dzierżaw."
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Maksymalna liczba jednocześnie obsługiwanych zapytań DNS (domyślnie: %s)"
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr "Czyszczenie pamięci podręcznej serwera nazw w przypadku ponownego odczytu %s."
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr "Nie zwracanie uwagi na nazwę podawaną przez klienta w przypadku dopasowania wszystkich wymienionych znaczników."
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr "Wyłączenie oszczędzania miejsca w pakiecie DHCP przez przesuwanie pól servername i filename do opcji DHCP. Wymusza prostszy tryb budowy pakietu rozwiązując problemy z nieprzystosowanymi klientami DHCP."
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr "Włączenie wbudowanego serwera TFTP (tylko do wysyłania)."
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr "Ograniczenie działania serwera TFTP do wskazanego katalogu i podkatalogów. Nazwy z .. są odrzucane, / odnosi się do wskazanego katalogu."
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr "Doklejanie adresu IP klienta do głównego katalogu TFTP. Jeżeli wynikowy katalog nie istnieje, nadal wykorzystuje się tftp-root."
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr "Ograniczenie dostępu do plików przez TFTP do tych, których właścicielem jest użytkownik uruchamiający dnsmasq-a."
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Maksymalna liczba jednocześnie obsługiwanych połączeń TFTP (domyślnie %s)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr "Wyłączenie możliwości negocjowania wielkości bloku dla przesyłów przez TFTP."
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr "Konwertowanie nazw plików żądanych przez TFTP do małych liter"
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr "Wskazanie zakresu portów do użytku TFTP."
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr "Włączenie spisywania w logu operacji DHCP."
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr "Włączenie asynchronicznego zapisywania do logu z ewentualnym wskazaniem długości kolejki."
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr "Odfiltrowywanie adresów wskazujących na komputery w sieciach wewnętrznych spośród odpowiedzi od zewnętrznych serwerów DNS."
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr "Zezwolenie na przekazywanie odpowiedzi w klasie 127.0.0.0/8. Dla serwerów RBL."
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr "Dezaktywacja zabezpieczenia przed atakami DNS-rebind dla wskazanych domen."
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr "Jednoczesne odpytywanie wszystkich serwerów nadrzędnych; klientowi przekazywana jest pierwsza odpowiedź."
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr "Ustawienie znacznika jeżeli w żądaniu DHCP pojawi się wskazana opcja, ewentualnie o konkretnej wartości."
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr "Użycie alternatywnych portów dla usługi DHCP."
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr "Specyfikacja rekordu DNS NAPTR."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr "Ustawienie dolnej granicy numerów portów do przesyłania zapytań DNS."
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr "Przechowywanie w serwerze DNS dnsmasq-a tylko w pełni kwalifikowanych nazw zgłaszanych przez klientów DHCP."
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr "Generowanie nazw na podstawie MAC-adresów dla klientów bez nazwy."
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr "Traktowanie wskazanych serwerów pośredniczących DHCP jako działających w trybie \"pełnomocnika\" (full-proxy)."
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr "Przekazywanie żądań DHCP do zdalnego serwera"
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr "Wskazanie synonimu nazwy komputera lokalnego - znanego z /etc/hosts albo z DHCP."
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr "Zgłoszenie wysyłane klientom PXE."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr "Składnik menu PXE (--> man)."
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr "Sprawdzenie składni."
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr "Przekazywanie MAC-adresu komputera pytającego w ruchu wychodzącym DNS."
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr "Zamieszczanie adresu IP pytającego w przekazywanych zapytaniach DNS."
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Przekazywanie wyników weryfikacji DNSSEC z serwerów nadrzędnych."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr "Zmiana sposobu przydzielania adresów IP na sekwencyjny."
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr "Zachowanie znacznika połączenia z odebranego zapytania DNS w ruchu zewnętrznym."
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr "Zezwolenie klientom DHCP na uaktualnianie DDNS-ów."
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr "Załączenie anonsowania (RA) na interfejsach serwujących DHCPv6"
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr "Określenie DHCPv6 DUID"
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Określenie rekordów A/AAAA i PTR"
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr "Określenie rekordu TXT"
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "Dynamiczne podpinanie do interfejsów sieciowych"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr "Eksportowanie lokalnych nazw hostów do globalnego DNS-a"
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr "Domena pod którą będą eksportowane lokalne nazwy"
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr "Określenie TTL dla odpowiedzi autorytatywnych"
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr "Określenie danych strefy autorytatywnej (SOA)"
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr "Pomocnicze serwery autorytatywne dla forwardowanych domen"
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr "Wskazanie serwerów uprawnionych do transferu stref"
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr "Wyszczególnienie ipset-ów, do których będą dopisywane adresy IP leżące we wskazanych domenach"
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr "Wskazanie domeny i zakresu adresów dla generowanych nazw"
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr "Uaktywnienie walidacji DNSSEC"
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr "Wskazanie punktu zaufania dla uwierzytelniania DNSSEC."
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr "Akceptowanie nieuwiarygodnionych odpowiedzi DNSSEC (ustawienie bitu CD w zapytaniach)."
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr "Upewnianie się, że odpowiedzi bez DNSSEC pochodzą ze stref niepodpisanych."
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr "Wyłączenie sprawdzania sygnatur czasowych DNSSEC do pierwszego przeładowania pamięci podręcznej."
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr "Określenie prefiksu klasy DHCPv6"
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr "Ustawianie priorytetu, okresu rozsyłania oraz czasu życia rutera (RA)."
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr "Wyłączenie logowania zwyczajnego DHCP."
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr "Wyłączenie logowania zwyczajnego DHCPv6."
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr "Wyłączenie logowania RA."
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr "Akceptowanie zapytań wyłącznie z sieci podpiętych bezpośrednio."
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr "Wykrywanie i usuwanie pętli zapytań DNS."
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -736,312 +740,312 @@ msgstr ""
- "Użycie: dnsmasq [opcje]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "W tym systemie w linii poleceń można używać wyłącznie jednoliterowych opcji.\n"
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr "Dostępne opcje:\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "nieprawidłowy numer portu"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr "nie ma możliwości dowiązywania do interfejsu"
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr "nieprawidłowa nazwa interfejsu"
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr "zły adres"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr "nieobsługiwany rodzaj enkapsulacji opcji IPv6"
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "błąd w dhcp-option"
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr "zły adres IP"
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr "zły adres IPv6"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "nieprawidłowa nazwa domeny w dhcp-option"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "zbyt długa dhcp-option (>255 znaków)"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr "niedopuszczalne dhcp-match"
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wcześniej w linii poleceń)"
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wsześniej w pliku konfiguracyjnym)"
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr "brak dostępu do katalogu %s: %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr "brak dostępu do %s: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr "zmiana log-facility w systemie Android nie jest możliwa"
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr "nierozpoznany znacznik logów"
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "nieprawidłowa wartość preferencji MX"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "nieprawidłowa nazwa MX"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "nieprawidłowa wartość celu MX"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr "w uClinuksie nie ma możliwości uruchamiania skryptów"
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr "żeby mieć możliwość używania skryptów wywoływanych przy zmianie dzierżawy, przekompiluj dnsmasq-a z włączoną flagą HAVE_SCRIPT"
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr "używanie skryptów Lua, wymaga skompilowania dnsmasq-a z flagą HAVE_LUASCRIPT"
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr "zła maska"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr "chcąc korzystać z ipsets przekompiluj dnsmasq-a z HAVE_IPSET"
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr "nieprawidłowy zakres numerów portów"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr "nieprawidłowa nazwa urządzenia w bridge-interface"
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr "można wskazać tylko jeden znacznik sieci"
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "nieprawidłowy zakres dhcp-range"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "niespójny zakres adresów DHCP"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr "długość prefiksu musi wynosić dokładnie 64 dla podsieci RA"
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr "długość prefiksu musi wynosić dokładnie 64 dla konstruktorów podsieci"
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr "długość prefiksu musi wynosić co najmniej 64"
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr "niespójny zakres adresów DHCPv6"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr "prefiks musi wynosić zero z argumentem \"constructor:\""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr "zapis niezgodny z formatem szesnastkowym"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr "--dhcp-host nie dopuszcza dopasowywania na podstawie znaczników"
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "powtórzony adres IP %s w specyfikacji dhcp-host"
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr "niedopuszczalna nazwa komputera w dhcp-host"
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr "nieprawidłowa składnia 'tag-if'"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "nieprawidłowy numer portu"
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr "zły adres dhcp-proxy"
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr "zły dhcp-relay"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr "nieprawidłowe argumenty RA"
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr "zły DUID"
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr "nieprawidłowy zakres adresów w --alias"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr "zła CNAME"
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr "powtórzona CNAME"
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr "nieprawidłowy zapis rekordu PTR"
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr "nieprawidłowy zapis rekordu NAPTR"
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr "nieprawidłowy zapis rekordu RR"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "nieprawidłowy zapis rekordu TXT"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "nieprawidłowy zapis rekordu SRV"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "nieprawidłowa wartość celu SRV"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "nieprawidłowy priorytet"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "nieprawidłowa waga"
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr "nieprawidłowy zapis host-record"
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr "niedopuszczalna nazwa w host-record"
--#: option.c:3906
-+#: option.c:3911
- msgid "bad trust anchor"
- msgstr "nieprawidłowa specyfikacja punktu zaufania"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr "zły zapis szesnastkowy"
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr "nieobsługiwana opcja (sprawdź, czy obsługa DHCP/TFTP/DNSSEC/DBus została wkompilowana)"
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "brakuje \""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "nieprawidłowa opcja"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "nadwyżkowy parametr"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "brak parametru"
--#: option.c:4052
-+#: option.c:4057
- msgid "illegal option"
- msgstr "niedopuszczalna opcja"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "błąd"
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr " w linii %d pliku %s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr "przeczytałem %s"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "błąd odczytu z pliku %s: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr "jakieś śmieci w linii poleceń"
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "Dnsmasq, wersja %s  %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1050,62 +1054,62 @@ msgstr ""
- "Wkompilowane opcje %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Autor nie daje ŻADNYCH GWARANCJI egzekwowalnych prawnie.\n"
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq jest wolnym oprogramowaniem, możesz go rozprowadzać\n"
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "na warunkach określonych w GNU General Public Licence, w wersji 2 lub 3.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr "spróbuj: --help"
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr "spróbuj: -w"
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr "nieprawidłowa opcja w linii poleceń %s"
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "nie można pobrać nazwy hosta: %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "w trybie no-poll można wskazać najwyżej jeden plik resolv.conf."
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "musisz mieć dokładnie jeden plik resolv.conf do odczytu domen."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr "nie udało się odczytać %s: %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "brak wytycznych wyszukiwania w %s"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr "w przypadku używania --dhcp-fqdn trzeba wskazać domyślną domenę"
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr "składnia sprawdzona, jest prawidłowa"
-@@ -1114,25 +1118,25 @@ msgstr "składnia sprawdzona, jest prawidłowa"
- msgid "failed to send packet: %s"
- msgstr "wysyłanie pakietu nie powiodło się: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr "odrzucam odpowiedź DNS: nie zgadza się specyfikacja podsieci"
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "serwer nazw %s odmawia wykonania zapytania rekurencyjnego"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr "prawdopodobnie wykryto atak DNS-rebind: %s"
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr "Ignorowanie zapytań z sieci pozalokalnych."
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Osiągnięto graniczną ilość jednocześnie obsługiwanych zapytań DNS (maks: %d)"
-@@ -1166,338 +1170,348 @@ msgstr "interfejs %s nie pozwolił się przyłączyć do grupy rozgłoszeniowej
- msgid "failed to bind server socket for %s: %s"
- msgstr "błąd przy przyznawaniu nazwy gniazdu serwera %s: %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignorowanie serwera nazw %s - interfejs lokalny"
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignorowanie serwera nazw %s - nie można utworzyć/dowiązać gniazda: %s"
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "niekwalifikowane(-a)"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr "nazwy"
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr "domyślne"
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "domeny"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "używam adresów lokalnych tylko dla %s %s"
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "używam standardowych serwerów nazw dla %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "używam serwera nazw %s#%d dla %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "NIE używam serwera nazw %s#%d - wykryto pętlę zapytań"
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "używam serwera nazw %s#%d (przez %s)"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "używam serwera nazw %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- #, fuzzy
- msgid "no trust anchors provided for DNSSEC"
- msgstr "Nie wskazano punktów zaufania dla DNSSEC."
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- #, fuzzy
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr "Brak możliwości zmniejszenia pamięci podręcznej poniżej wielkości domyślnej w przypadku używania DNSSEC."
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "obsługa DNSSEC niedostępna - ustaw HAVE_DNSSEC w src/config.h"
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "Serwer TFTP nie został wkompilowany -- ustaw HAVE_TFTP w src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- #, fuzzy
- msgid "cannot use --conntrack AND --query-port"
- msgstr "--conntrack i --query-port wykluczają się wzajemnie"
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "Wsparcie dla przekazywania znaczników połączeń (conntrack) nie zostało wkompilowane - ustaw HAVE_CONNTRACK w src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr "zapis do logów w trybie asynchronicznym nie jest dostępny w Solarisie"
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr "zapis do logów w trybie asynchronicznym nie jest dostępny w Androidzie"
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "tryb autorytatywny DNS-a niedostępny - ustaw HAVE_AUTH w src/config.h"
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "Wykrywanie pętli zapytań nie zostało wkompilowane - ustaw HAVE_LOOP w src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr "za pomocą --auth-soa musi zostać ustawiony numer seryjny strefy"
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr "konstrukcja dhcp-range nie jest dostępna w tym systemie"
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr "--bind-interfaces i --bind-dynamic wzajemnie się wykluczają"
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "błąd podczas tworzenia listy interfejsów sieciowych: %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "nieznany interfejs %s"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "błąd DBus: %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "Obsługa DBus nie została wkompilowana -- ustaw HAVE_DBUS w src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr "nieznany użytkownik lub grupa: %s"
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr "nie potrafię wejść do głównego katalogu: %s"
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr "uruchomiony, wersja %s, DNS wyłączony"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "uruchomiony, wersja %s, %d miejsc w pamięci podręcznej"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "uruchomiony, wersja %s, pamięć podręczna wyłączona"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "opcje kompilacji: %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "obsługa DBus włączona, podłączono do serwera DBus"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "obsługa DBus włączona, trwa podłączanie do serwera DBus"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr "usługa DNS ograniczona do lokalnych podsieci"
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr "walidacja DNSSEC włączona"
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu przeładowania pamięci podręcznej"
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- #, fuzzy
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu przeładowania pamięci podręcznej"
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "UWAGA! Nie udało się zmienić użytkownika pliku %s: %s"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "ustawiam --bind-interfaces z powodu ograniczeń systemu operacyjnego"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "uwaga: interfejs %s nie jest włączony"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr "uwaga: ignoruję opcję resolv-file, ponieważ wybrano tryb no-resolv"
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr "uwaga: nie wskazano nadrzędnych serwerów DNS"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr "włączono asynchroniczny tryb zapisu do logów z kolejką na %d komunikatów"
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr "anonsowanie rutera IPv6 włączone"
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr "DHCP, gniazda dowiązane na wyłączność interfejsowi %s"
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr "z głównym katalogiem w "
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr "włączony"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr "w trybie bezpiecznym"
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, fuzzy, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr "katalog TFTP %s nie jest dostępny: %s"
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr "ograniczam ilość jednoczesnych przesłań TFTP do %d"
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "podłączono do DBus-a"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr "nie potrafię przełączyć się do pracy w tle: %s"
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr "nie udało się utworzyć procesu pomocniczego: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr "nie powiodło się ustawianie ograniczeń (capabilities): %s"
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "nie udało się zmienić użytkownika procesu na %s: %s"
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "nie udało się zmienić grupy procesu na %s: %s"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr "nie udało się otworzyć logu %s: %s"
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr "nie udało się wczytać skryptu Lua: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr "katalog TFTP %s nie jest dostępny: %s"
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "nie potrafię otworzyć albo utworzyć pliku dzierżaw %s: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr "trwa sprawdzanie sygnatur czasowych podpisów DNSSEC"
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr "skrypt został zabity sygnałem %d"
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr "skrypt zakończył się z kodem powrotu %d"
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr "nie udało się uruchomić %s: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "zakończyłem działanie z powodu odebrania SIGTERM"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr "brak dostępu do %s: %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "czytanie %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr "w %s nie znalazłem serwerów, spróbuję ponownie później"
-@@ -1527,37 +1541,37 @@ msgstr "błąd przy przyznawaniu nazwy gniazdu serwera DHCP: %s"
- msgid "cannot create ICMP raw socket: %s."
- msgstr "nie udało się utworzyć surowego gniazda ICMP: %s."
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "nieznany interfejs %s w bridge-u"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr "żądanie DHCP odebrano na interfejsie %s, który nie ma adresu"
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr "uzupełnienie pamięci podręcznej ARP nie powiodło się: %s"
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "zakres adresów DHCP %s -- %s jest niespójny z maską sieci %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "zła zawartość pliku %s, w linii %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr "w %s pomijam linię %d -- powtórzona nazwa lub adres IP"
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr "przekazywanie DHCP %s -> %s"
-@@ -1591,169 +1605,169 @@ msgstr "błąd zapisu do %s: %s (spróbuję ponownie za %us)"
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr "Nie uwzględniam części domenowej (%s) dla komputera %s"
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "nie zdefiniowano zakresu adresów odpowiedniego dla żądania %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "z wyborem podsieci"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "przez"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "%u dostępna podsieć DHCP: %s/%s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr "%u dostępny zakres adresów DHCP: %s -- %s"
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr "%u klasa dostawcy: %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr "%u klasa użytkownika: %s"
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "wyłączony(a)"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "ignoruję"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "adres jest w użyciu"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "brak dostępnego adresu"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "nieprawidłowa sieć"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "brak skonfigurowanego adresu"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "brak wolnych dzierżaw"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr "klient %u przedstawia się jako %s"
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr "PXE BIS nie jest obsługiwane"
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "wyłączam statyczne przypisanie adresu %s dla %s"
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "nieznana dzierżawa"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr "nie proponuję zakładanego w konfiguracji adresu %s, bo jest on już wydzierżawiony komputerowi %s"
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr "nie proponuję zakładanego w konfiguracji adresu %s, bo używa go któryś z serwerów"
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr "nie proponuję zakładanego w konfiguracji adresu %s, bo już poprzednio został odrzucony"
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr "brak unikalnego id"
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr "nieprawidłowy identyfikator serwera (server-ID)"
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "błędny adres"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "dzierżawa nieznaleziona"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "adres niedostępny"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "dostępna statyczna dzierżawa"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "adres zarezerwowany"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr "porzucam przypisanie do %s nazwy %s"
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr "%u nazwa pliku bootowania: %s"
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr "%u nazwa serwera: %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr "%u następny serwer: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr "%u odpowiedź rozgłoszeniowa"
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "nie mam możliwości wysłania opcji %d DHCP/BOOTP: niedostateczna ilość miejsca w pakiecie"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr "menu PXE zbyt duże"
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr "%u zażądano: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr "nie mogę wysłać opcji RFC3925: za długi łańcuch opcji przy numerze %d"
-@@ -1768,15 +1782,25 @@ msgstr "nie potrafię utworzyć połączenia netlink %s"
- msgid "netlink returns error: %s"
- msgstr "wystąpił błąd w połączeniu netlink %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "próba ustawienia adresu IPv6 serwera przez DBus, ale brak obsługi IPv6"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "ustawiam adresy serwerów nadrzędnych na podstawie informacji odebranych z DBus"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "nie można zarejestrować uchwytu DBus"
-@@ -1896,47 +1920,47 @@ msgstr "adres MAC klienta %u: %s"
- msgid "unknown prefix-class %d"
- msgstr "nieznana klasa sieci %d"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr "adres niedostępny"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr "udane"
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr "brak wolnych adresów"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr "poza zasięgiem"
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr "brak powiązania"
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr "przestarzały"
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr "niepoprawny adres"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr "brak potwierdzenia"
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr "wszystkie adresy ciągle w użyciu"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr "adres został zwolniony"
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr "Nie mogę rozesłać do serwerów DHCPv6 nie mając prawidłowego interfejsu"
-@@ -2024,12 +2048,12 @@ msgstr "przekazywanie DHCP z %s do %s za pomocą %s"
- msgid "DHCP relay from %s to %s"
- msgstr "przekazywanie DHCP z %s do %s"
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "nie udało się utworzyć gniazda dla ICMPv6: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr "ignoruję żądanie transferu strefy od %s"
-@@ -2044,7 +2068,7 @@ msgstr "niezgodna wersja jądra: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "nie powiodło się otwieranie gniazda sterującego IPset: %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
-diff --git a/po/pt_BR.po b/po/pt_BR.po
-index ef6e4cbf529b..9849aaf2e91f 100644
---- a/po/pt_BR.po
-+++ b/po/pt_BR.po
-@@ -25,17 +25,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr ""
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr ""
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr ""
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr ""
-@@ -93,1005 +93,1009 @@ msgstr ""
- msgid "failed to allocate memory"
- msgstr ""
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr ""
--#: util.c:253
-+#: util.c:260
- #, c-format
- msgid "cannot create pipe: %s"
- msgstr ""
--#: util.c:261
-+#: util.c:268
- #, c-format
- msgid "failed to allocate %d bytes"
- msgstr ""
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr ""
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr ""
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr ""
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr ""
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr ""
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr ""
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr ""
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr ""
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr ""
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr ""
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr ""
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr ""
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr ""
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr ""
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr ""
--#: option.c:344
-+#: option.c:346
- msgid "Read DHCP host specs from file."
- msgstr ""
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:346
-+#: option.c:348
- msgid "Read DHCP host specs from a directory."
- msgstr ""
--#: option.c:347
-+#: option.c:349
- msgid "Read DHCP options from a directory."
- msgstr ""
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr ""
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr ""
--#: option.c:351
-+#: option.c:353
- msgid "Read hosts files from a directory."
- msgstr ""
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr ""
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr ""
--#: option.c:354
-+#: option.c:356
- msgid "Map DHCP user class to tag."
- msgstr ""
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:358
-+#: option.c:360
- msgid "Don't do DHCP for hosts with tag set."
- msgstr ""
--#: option.c:359
-+#: option.c:361
- msgid "Force broadcast replies for hosts with tag set."
- msgstr ""
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr ""
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr ""
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr ""
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr ""
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr ""
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr ""
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr ""
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr ""
--#: option.c:369
-+#: option.c:371
- msgid "Specify options to be sent to DHCP clients."
- msgstr ""
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr ""
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr ""
--#: option.c:373
-+#: option.c:375
- msgid "Log DNS queries."
- msgstr ""
--#: option.c:374
-+#: option.c:376
- msgid "Force the originating port for upstream DNS queries."
- msgstr ""
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr ""
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr ""
--#: option.c:377
-+#: option.c:379
- msgid "Specify path to file with server= options"
- msgstr ""
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr ""
--#: option.c:379
-+#: option.c:381
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr ""
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr ""
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr ""
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr ""
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr ""
--#: option.c:384
-+#: option.c:386
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr ""
--#: option.c:385
-+#: option.c:387
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr ""
--#: option.c:386
-+#: option.c:388
- msgid "Specify time-to-live ceiling for cache."
- msgstr ""
--#: option.c:387
-+#: option.c:389
- msgid "Specify time-to-live floor for cache."
- msgstr ""
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr ""
--#: option.c:389
-+#: option.c:391
- msgid "Map DHCP vendor class to tag."
- msgstr ""
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr ""
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr ""
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr ""
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:394
-+#: option.c:396
- #, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr ""
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr ""
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr ""
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr ""
--#: option.c:398
-+#: option.c:400
- msgid "Specify PTR DNS record."
- msgstr ""
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr ""
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr ""
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr ""
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr ""
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr ""
--#: option.c:405
-+#: option.c:407
- msgid "Map MAC address (with wildcards) to option set."
- msgstr ""
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:412
-+#: option.c:414
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr ""
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:414
-+#: option.c:416
- #, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr ""
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr ""
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:434
-+#: option.c:437
- msgid "Specify NAPTR DNS record."
- msgstr ""
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:441
-+#: option.c:444
- msgid "Prompt to send to PXE clients."
- msgstr ""
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:446
-+#: option.c:449
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr ""
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr ""
--#: option.c:453
-+#: option.c:456
- msgid "Specify arbitrary DNS resource record"
- msgstr ""
--#: option.c:454
-+#: option.c:457
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr ""
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
- "\n"
- msgstr ""
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr ""
--#: option.c:684
-+#: option.c:687
- #, c-format
- msgid "Valid options are:\n"
- msgstr ""
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr ""
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- msgid "bad interface name"
- msgstr ""
--#: option.c:811
-+#: option.c:814
- msgid "bad address"
- msgstr ""
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr ""
--#: option.c:1075
-+#: option.c:1078
- msgid "bad IP address"
- msgstr ""
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- msgid "bad IPv6 address"
- msgstr ""
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr ""
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr ""
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, c-format
- msgid "cannot access directory %s: %s"
- msgstr ""
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, c-format
- msgid "cannot access %s: %s"
- msgstr ""
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr ""
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr ""
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr ""
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- msgid "bad prefix"
- msgstr ""
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2545
-+#: option.c:2548
- msgid "bad port range"
- msgstr ""
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr ""
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr ""
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2736
-+#: option.c:2741
- msgid "inconsistent DHCPv6 range"
- msgstr ""
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- msgid "bad hex constant"
- msgstr ""
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2928
-+#: option.c:2933
- #, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr ""
--#: option.c:2986
-+#: option.c:2991
- msgid "bad DHCP host name"
- msgstr ""
--#: option.c:3068
-+#: option.c:3073
- msgid "bad tag-if"
- msgstr ""
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr ""
--#: option.c:3454
-+#: option.c:3459
- msgid "bad dhcp-proxy address"
- msgstr ""
--#: option.c:3480
-+#: option.c:3485
- msgid "Bad dhcp-relay"
- msgstr ""
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
--#: option.c:3557
-+#: option.c:3562
- msgid "invalid alias range"
- msgstr ""
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3636
-+#: option.c:3641
- msgid "bad PTR record"
- msgstr ""
--#: option.c:3667
-+#: option.c:3672
- msgid "bad NAPTR record"
- msgstr ""
--#: option.c:3701
-+#: option.c:3706
- msgid "bad RR record"
- msgstr ""
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr ""
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr ""
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr ""
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr ""
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr ""
--#: option.c:3824
-+#: option.c:3829
- msgid "Bad host-record"
- msgstr ""
--#: option.c:3841
-+#: option.c:3846
- msgid "Bad name in host-record"
- msgstr ""
--#: option.c:3906
-+#: option.c:3911
- msgid "bad trust anchor"
- msgstr ""
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr ""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr ""
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr ""
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr ""
--#: option.c:4052
-+#: option.c:4057
- msgid "illegal option"
- msgstr ""
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr ""
--#: option.c:4061
-+#: option.c:4066
- #, c-format
- msgid " at line %d of %s"
- msgstr ""
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, c-format
- msgid "read %s"
- msgstr ""
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr ""
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr ""
--#: option.c:4461
-+#: option.c:4466
- #, c-format
- msgid ""
- "Compile time options: %s\n"
- "\n"
- msgstr ""
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr ""
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr ""
--#: option.c:4464
-+#: option.c:4469
- #, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr ""
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
--#: option.c:4479
-+#: option.c:4484
- #, c-format
- msgid "bad command line options: %s"
- msgstr ""
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr ""
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr ""
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr ""
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, c-format
- msgid "failed to read %s: %s"
- msgstr ""
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr ""
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1100,25 +1104,25 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr ""
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr ""
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr ""
-@@ -1152,332 +1156,342 @@ msgstr ""
- msgid "failed to bind server socket for %s: %s"
- msgstr ""
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr ""
--#: network.c:1455
-+#: network.c:1456
- #, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr ""
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr ""
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr ""
--#: network.c:1477
-+#: network.c:1478
- #, c-format
- msgid "using standard nameservers for %s %s"
- msgstr ""
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr ""
--#: network.c:1483
-+#: network.c:1484
- #, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr ""
--#: network.c:1486
-+#: network.c:1487
- #, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr ""
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr ""
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr ""
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr ""
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr ""
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr ""
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr ""
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr ""
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr ""
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr ""
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr ""
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, c-format
- msgid "started, version %s DNS disabled"
- msgstr ""
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr ""
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr ""
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr ""
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr ""
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr ""
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr ""
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr ""
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr ""
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- msgid "warning: no upstream servers configured"
- msgstr ""
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "enabled"
- msgstr ""
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr ""
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, c-format
- msgid "failed to create helper: %s"
- msgstr ""
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr ""
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr ""
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, c-format
- msgid "cannot open log %s: %s"
- msgstr ""
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, c-format
- msgid "failed to load Lua script: %s"
- msgstr ""
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr ""
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, c-format
- msgid "failed to execute %s: %s"
- msgstr ""
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr ""
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, c-format
- msgid "failed to access %s: %s"
- msgstr ""
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr ""
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, c-format
- msgid "no servers found in %s, will retry"
- msgstr ""
-@@ -1507,37 +1521,37 @@ msgstr ""
- msgid "cannot create ICMP raw socket: %s."
- msgstr ""
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr ""
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr ""
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr ""
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1571,169 +1585,169 @@ msgstr ""
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr ""
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr ""
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr ""
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, c-format
- msgid "%u vendor class: %s"
- msgstr ""
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, c-format
- msgid "%u user class: %s"
- msgstr ""
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr ""
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr ""
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr ""
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr ""
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr ""
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr ""
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr ""
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr ""
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr ""
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr ""
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr ""
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr ""
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr ""
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr ""
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, c-format
- msgid "%u server name: %s"
- msgstr ""
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, c-format
- msgid "%u next server: %s"
- msgstr ""
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr ""
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, c-format
- msgid "%u requested options: %s"
- msgstr ""
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -1748,15 +1762,25 @@ msgstr ""
- msgid "netlink returns error: %s"
- msgstr ""
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr ""
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr ""
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr ""
-@@ -1876,47 +1900,47 @@ msgstr ""
- msgid "unknown prefix-class %d"
- msgstr ""
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- msgid "address unavailable"
- msgstr ""
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- msgid "no addresses available"
- msgstr ""
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- msgid "address invalid"
- msgstr ""
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- msgid "all addresses still on link"
- msgstr ""
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2004,12 +2028,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr ""
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2024,7 +2048,7 @@ msgstr ""
- msgid "failed to create IPset control socket: %s"
- msgstr ""
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr ""
-diff --git a/po/ro.po b/po/ro.po
-index 0ac8bd63e25f..7bb9448be767 100644
---- a/po/ro.po
-+++ b/po/ro.po
-@@ -25,17 +25,17 @@ msgstr ""
- msgid "failed to load names from %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: cache.c:967 dhcp.c:825
-+#: cache.c:967 dhcp.c:828
- #, c-format
- msgid "bad address at %s line %d"
- msgstr "adresă greşită în %s, linia %d"
--#: cache.c:1018 dhcp.c:841
-+#: cache.c:1018 dhcp.c:844
- #, c-format
- msgid "bad name at %s line %d"
- msgstr "nume greşit în %s linia %d"
--#: cache.c:1027 dhcp.c:916
-+#: cache.c:1027 dhcp.c:919
- #, c-format
- msgid "read %s - %d addresses"
- msgstr "citesc %s - %d adrese"
-@@ -94,657 +94,661 @@ msgstr "ascultarea pe socket a eşuat: %s"
- msgid "failed to allocate memory"
- msgstr "nu pot încărca %d bytes"
--#: util.c:243 option.c:598
-+#: util.c:250 option.c:601
- msgid "could not get memory"
- msgstr "nu am putut aloca memorie"
--#: util.c:253
-+#: util.c:260
- #, fuzzy, c-format
- msgid "cannot create pipe: %s"
- msgstr "nu pot citi %s: %s"
--#: util.c:261
-+#: util.c:268
- #, fuzzy, c-format
- msgid "failed to allocate %d bytes"
- msgstr "nu pot încărca %d bytes"
--#: util.c:430
-+#: util.c:437
- #, c-format
- msgid "infinite"
- msgstr "infinit"
--#: option.c:330
-+#: option.c:332
- msgid "Specify local address(es) to listen on."
- msgstr "Specificaţi adresele locale deservite."
--#: option.c:331
-+#: option.c:333
- msgid "Return ipaddr for all hosts in specified domains."
- msgstr "Afişează adresele IP ale maşinilor în domeniul dat."
--#: option.c:332
-+#: option.c:334
- msgid "Fake reverse lookups for RFC1918 private address ranges."
- msgstr "Simulează căutări după adresă pentru domenii de adresă private (RFC1918)."
--#: option.c:333
-+#: option.c:335
- msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
- msgstr "Interpretează adresa IP ca NXDOMAIN (împotriva manipulărilor Verisign)"
--#: option.c:334
-+#: option.c:336
- #, c-format
- msgid "Specify the size of the cache in entries (defaults to %s)."
- msgstr "Specifică mărimea înregistrărilor temporare (implicit e %s)."
--#: option.c:335
-+#: option.c:337
- #, c-format
- msgid "Specify configuration file (defaults to %s)."
- msgstr "Specifică fişier de configurare (implicit e %s)."
--#: option.c:336
-+#: option.c:338
- msgid "Do NOT fork into the background: run in debug mode."
- msgstr "NU porneşte în fundal: rulează în modul depanare."
--#: option.c:337
-+#: option.c:339
- msgid "Do NOT forward queries with no domain part."
- msgstr "NU înainta cererile ce nu conţin domeniu DNS."
--#: option.c:338
-+#: option.c:340
- msgid "Return self-pointing MX records for local hosts."
- msgstr "Răspunde cu înregistrări MX spre el însuşi pentru maşini locale."
--#: option.c:339
-+#: option.c:341
- msgid "Expand simple names in /etc/hosts with domain-suffix."
- msgstr "Adaugă numelor simple din /etc/hosts numele domeniului ca sufix."
--#: option.c:340
-+#: option.c:342
- msgid "Don't forward spurious DNS requests from Windows hosts."
- msgstr "Nu inainta cereri DNS defecte provenite de la maşini Windows."
--#: option.c:341
-+#: option.c:343
- msgid "Enable DHCP in the range given with lease duration."
- msgstr "Activează DHCP în domeniul dat cu durată limitată de împrumut."
--#: option.c:342
-+#: option.c:344
- #, c-format
- msgid "Change to this group after startup (defaults to %s)."
- msgstr "Rulează sub acest grup după pornire (implicit e %s)."
--#: option.c:343
-+#: option.c:345
- msgid "Set address or hostname for a specified machine."
- msgstr "Schimbă adresa sau numele maşinii specificate."
--#: option.c:344
-+#: option.c:346
- #, fuzzy
- msgid "Read DHCP host specs from file."
- msgstr "nume MX invalid"
--#: option.c:345
-+#: option.c:347
- msgid "Read DHCP option specs from file."
- msgstr ""
--#: option.c:346
-+#: option.c:348
- #, fuzzy
- msgid "Read DHCP host specs from a directory."
- msgstr "nume MX invalid"
--#: option.c:347
-+#: option.c:349
- #, fuzzy
- msgid "Read DHCP options from a directory."
- msgstr "nume MX invalid"
--#: option.c:348
-+#: option.c:350
- msgid "Evaluate conditional tag expression."
- msgstr ""
--#: option.c:349
-+#: option.c:351
- #, c-format
- msgid "Do NOT load %s file."
- msgstr "Nu încarcă fişierul %s."
--#: option.c:350
-+#: option.c:352
- #, c-format
- msgid "Specify a hosts file to be read in addition to %s."
- msgstr "Specifică spre citire un fişier hosts adiţional la %s."
--#: option.c:351
-+#: option.c:353
- #, fuzzy
- msgid "Read hosts files from a directory."
- msgstr "nume MX invalid"
--#: option.c:352
-+#: option.c:354
- msgid "Specify interface(s) to listen on."
- msgstr "Specifică interfeţele deservite."
--#: option.c:353
-+#: option.c:355
- msgid "Specify interface(s) NOT to listen on."
- msgstr "Specifică interfeţele NE-deservite."
--#: option.c:354
-+#: option.c:356
- #, fuzzy
- msgid "Map DHCP user class to tag."
- msgstr "Leagă clasa de utilizator DHCP cu grup de opţiuni."
--#: option.c:355
-+#: option.c:357
- msgid "Map RFC3046 circuit-id to tag."
- msgstr ""
--#: option.c:356
-+#: option.c:358
- msgid "Map RFC3046 remote-id to tag."
- msgstr ""
--#: option.c:357
-+#: option.c:359
- msgid "Map RFC3993 subscriber-id to tag."
- msgstr ""
--#: option.c:358
-+#: option.c:360
- #, fuzzy
- msgid "Don't do DHCP for hosts with tag set."
- msgstr "Nu furniza DHCP maşinilor din grupul de opţiuni."
--#: option.c:359
-+#: option.c:361
- #, fuzzy
- msgid "Force broadcast replies for hosts with tag set."
- msgstr "Nu furniza DHCP maşinilor din grupul de opţiuni."
--#: option.c:360
-+#: option.c:362
- msgid "Do NOT fork into the background, do NOT run in debug mode."
- msgstr "NU porneşte în fundal, NU rulează în modul depanare."
--#: option.c:361
-+#: option.c:363
- msgid "Assume we are the only DHCP server on the local network."
- msgstr "Presupune că suntem singurul server DHCP din reţeaua locală."
--#: option.c:362
-+#: option.c:364
- #, c-format
- msgid "Specify where to store DHCP leases (defaults to %s)."
- msgstr "Specifică fişierul de stocare a împrumuturilor DHCP (implicit e %s)."
--#: option.c:363
-+#: option.c:365
- msgid "Return MX records for local hosts."
- msgstr "Răspunde cu întregistrări MX pentru maşini locale."
--#: option.c:364
-+#: option.c:366
- msgid "Specify an MX record."
- msgstr "Specifică o înregistrare MX."
--#: option.c:365
-+#: option.c:367
- msgid "Specify BOOTP options to DHCP server."
- msgstr "Specifică opţiuni BOOTP serverului DHCP."
--#: option.c:366
-+#: option.c:368
- #, c-format
- msgid "Do NOT poll %s file, reload only on SIGHUP."
- msgstr "Nu încărca fişierul %s, citeşte-l doar la SIGHUP."
--#: option.c:367
-+#: option.c:369
- msgid "Do NOT cache failed search results."
- msgstr "NU memora rezultatele de căutare DNS eşuatată."
--#: option.c:368
-+#: option.c:370
- #, c-format
- msgid "Use nameservers strictly in the order given in %s."
- msgstr "Foloseşte servere DNS strict în ordinea dată în %s."
--#: option.c:369
-+#: option.c:371
- #, fuzzy
- msgid "Specify options to be sent to DHCP clients."
- msgstr "Configurează opţiuni în plusce trebuie trimise clienţilor DHCP."
--#: option.c:370
-+#: option.c:372
- msgid "DHCP option sent even if the client does not request it."
- msgstr ""
--#: option.c:371
-+#: option.c:373
- msgid "Specify port to listen for DNS requests on (defaults to 53)."
- msgstr "Specifică numărul portului pentru cereri DNS (implicit e 53)."
--#: option.c:372
-+#: option.c:374
- #, c-format
- msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
- msgstr "Marimea maximă a pachetului UDP pentru EDNS.0 (implicit e %s)."
--#: option.c:373
-+#: option.c:375
- #, fuzzy
- msgid "Log DNS queries."
- msgstr "Înregistrează tranzacţiile."
--#: option.c:374
-+#: option.c:376
- #, fuzzy
- msgid "Force the originating port for upstream DNS queries."
- msgstr "Forţează acest port pentru datele ce pleacă."
--#: option.c:375
-+#: option.c:377
- msgid "Do NOT read resolv.conf."
- msgstr "NU citi fişierul resolv.conf"
--#: option.c:376
-+#: option.c:378
- #, c-format
- msgid "Specify path to resolv.conf (defaults to %s)."
- msgstr "Specifică calea către resolv.conf (implicit e %s)."
--#: option.c:377
-+#: option.c:379
- #, fuzzy
- msgid "Specify path to file with server= options"
- msgstr "Specifică o cale pentru fişierul PID. (implicit %s)."
--#: option.c:378
-+#: option.c:380
- msgid "Specify address(es) of upstream servers with optional domains."
- msgstr "Specifică adresele server(elor) superioare cu domenii opţionale."
--#: option.c:379
-+#: option.c:381
- #, fuzzy
- msgid "Specify address of upstream servers for reverse address queries"
- msgstr "Specifică adresele server(elor) superioare cu domenii opţionale."
--#: option.c:380
-+#: option.c:382
- msgid "Never forward queries to specified domains."
- msgstr "Nu înaintează cererile spre domeniile specificate."
--#: option.c:381
-+#: option.c:383
- msgid "Specify the domain to be assigned in DHCP leases."
- msgstr "Specifică domeniul de transmis prin DHCP."
--#: option.c:382
-+#: option.c:384
- msgid "Specify default target in an MX record."
- msgstr "Specifică o ţintă într-o înregistrare MX."
--#: option.c:383
-+#: option.c:385
- msgid "Specify time-to-live in seconds for replies from /etc/hosts."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:384
-+#: option.c:386
- #, fuzzy
- msgid "Specify time-to-live in seconds for negative caching."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:385
-+#: option.c:387
- #, fuzzy
- msgid "Specify time-to-live in seconds for maximum TTL to send to clients."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:386
-+#: option.c:388
- #, fuzzy
- msgid "Specify time-to-live ceiling for cache."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:387
-+#: option.c:389
- #, fuzzy
- msgid "Specify time-to-live floor for cache."
- msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
--#: option.c:388
-+#: option.c:390
- #, c-format
- msgid "Change to this user after startup. (defaults to %s)."
- msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)."
--#: option.c:389
-+#: option.c:391
- #, fuzzy
- msgid "Map DHCP vendor class to tag."
- msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
--#: option.c:390
-+#: option.c:392
- msgid "Display dnsmasq version and copyright information."
- msgstr "Afişează versiunea dnsmasq şi drepturile de autor."
--#: option.c:391
-+#: option.c:393
- msgid "Translate IPv4 addresses from upstream servers."
- msgstr "Traduce adresele IPv4 de la serverele DNS superioare."
--#: option.c:392
-+#: option.c:394
- msgid "Specify a SRV record."
- msgstr "Specifică o înregistrare SRV."
--#: option.c:393
-+#: option.c:395
- msgid "Display this message. Use --help dhcp for known DHCP options."
- msgstr ""
--#: option.c:394
-+#: option.c:396
- #, fuzzy, c-format
- msgid "Specify path of PID file (defaults to %s)."
- msgstr "Specifică o cale pentru fişierul PID. (implicit %s)."
--#: option.c:395
-+#: option.c:397
- #, c-format
- msgid "Specify maximum number of DHCP leases (defaults to %s)."
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:396
-+#: option.c:398
- msgid "Answer DNS queries based on the interface a query was sent to."
- msgstr "Răspunde cererilor DNS în funcţie de interfaţa pe care a venit cererea."
--#: option.c:397
-+#: option.c:399
- msgid "Specify TXT DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:398
-+#: option.c:400
- #, fuzzy
- msgid "Specify PTR DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:399
-+#: option.c:401
- msgid "Give DNS name to IPv4 address of interface."
- msgstr ""
--#: option.c:400
-+#: option.c:402
- msgid "Bind only to interfaces in use."
- msgstr "Ascultă doar pe interfeţele active."
--#: option.c:401
-+#: option.c:403
- #, c-format
- msgid "Read DHCP static host information from %s."
- msgstr "Citeşte informaţii DHCP statice despre maşină din %s."
--#: option.c:402
-+#: option.c:404
- msgid "Enable the DBus interface for setting upstream servers, etc."
- msgstr "Activeaza interfaţa DBus pentru configurarea serverelor superioare."
--#: option.c:403
-+#: option.c:405
- msgid "Do not provide DHCP on this interface, only provide DNS."
- msgstr "Nu activează DHCP ci doar DNS pe această interfaţă."
--#: option.c:404
-+#: option.c:406
- msgid "Enable dynamic address allocation for bootp."
- msgstr "Activează alocarea dinamică a adreselor pentru BOOTP."
--#: option.c:405
-+#: option.c:407
- #, fuzzy
- msgid "Map MAC address (with wildcards) to option set."
- msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
--#: option.c:406
-+#: option.c:408
- msgid "Treat DHCP requests on aliases as arriving from interface."
- msgstr ""
--#: option.c:407
-+#: option.c:409
- msgid "Disable ICMP echo address checking in the DHCP server."
- msgstr ""
--#: option.c:408
-+#: option.c:410
- msgid "Shell script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:409
-+#: option.c:411
- msgid "Lua script to run on DHCP lease creation and destruction."
- msgstr ""
--#: option.c:410
-+#: option.c:412
- msgid "Run lease-change scripts as this user."
- msgstr ""
--#: option.c:411
-+#: option.c:413
- msgid "Read configuration from all the files in this directory."
- msgstr ""
--#: option.c:412
-+#: option.c:414
- #, fuzzy
- msgid "Log to this syslog facility or file. (defaults to DAEMON)"
- msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)."
--#: option.c:413
-+#: option.c:415
- msgid "Do not use leasefile."
- msgstr ""
--#: option.c:414
-+#: option.c:416
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries. (defaults to %s)"
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:415
-+#: option.c:417
- #, c-format
- msgid "Clear DNS cache when reloading %s."
- msgstr ""
--#: option.c:416
-+#: option.c:418
- msgid "Ignore hostnames provided by DHCP clients."
- msgstr ""
--#: option.c:417
-+#: option.c:419
- msgid "Do NOT reuse filename and server fields for extra DHCP options."
- msgstr ""
--#: option.c:418
-+#: option.c:420
- msgid "Enable integrated read-only TFTP server."
- msgstr ""
--#: option.c:419
-+#: option.c:421
- msgid "Export files by TFTP only from the specified subtree."
- msgstr ""
--#: option.c:420
-+#: option.c:422
- msgid "Add client IP address to tftp-root."
- msgstr ""
--#: option.c:421
-+#: option.c:423
- msgid "Allow access only to files owned by the user running dnsmasq."
- msgstr ""
--#: option.c:422
-+#: option.c:424
-+msgid "Do not terminate the service if TFTP directories are inaccessible."
-+msgstr ""
-+
-+#: option.c:425
- #, fuzzy, c-format
- msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)."
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
--#: option.c:423
-+#: option.c:426
- msgid "Disable the TFTP blocksize extension."
- msgstr ""
--#: option.c:424
-+#: option.c:427
- msgid "Convert TFTP filenames to lowercase"
- msgstr ""
--#: option.c:425
-+#: option.c:428
- msgid "Ephemeral port range for use by TFTP transfers."
- msgstr ""
--#: option.c:426
-+#: option.c:429
- msgid "Extra logging for DHCP."
- msgstr ""
--#: option.c:427
-+#: option.c:430
- msgid "Enable async. logging; optionally set queue length."
- msgstr ""
--#: option.c:428
-+#: option.c:431
- msgid "Stop DNS rebinding. Filter private IP ranges when resolving."
- msgstr ""
--#: option.c:429
-+#: option.c:432
- msgid "Allow rebinding of 127.0.0.0/8, for RBL servers."
- msgstr ""
--#: option.c:430
-+#: option.c:433
- msgid "Inhibit DNS-rebind protection on this domain."
- msgstr ""
--#: option.c:431
-+#: option.c:434
- msgid "Always perform DNS queries to all servers."
- msgstr ""
--#: option.c:432
-+#: option.c:435
- msgid "Set tag if client includes matching option in request."
- msgstr ""
--#: option.c:433
-+#: option.c:436
- msgid "Use alternative ports for DHCP."
- msgstr ""
--#: option.c:434
-+#: option.c:437
- #, fuzzy
- msgid "Specify NAPTR DNS record."
- msgstr "Specifică o înregistrare TXT."
--#: option.c:435
-+#: option.c:438
- msgid "Specify lowest port available for DNS query transmission."
- msgstr ""
--#: option.c:436
-+#: option.c:439
- msgid "Use only fully qualified domain names for DHCP clients."
- msgstr ""
--#: option.c:437
-+#: option.c:440
- msgid "Generate hostnames based on MAC address for nameless clients."
- msgstr ""
--#: option.c:438
-+#: option.c:441
- msgid "Use these DHCP relays as full proxies."
- msgstr ""
--#: option.c:439
-+#: option.c:442
- msgid "Relay DHCP requests to a remote server"
- msgstr ""
--#: option.c:440
-+#: option.c:443
- msgid "Specify alias name for LOCAL DNS name."
- msgstr ""
--#: option.c:441
-+#: option.c:444
- #, fuzzy
- msgid "Prompt to send to PXE clients."
- msgstr "Configurează opţiuni în plusce trebuie trimise clienţilor DHCP."
--#: option.c:442
-+#: option.c:445
- msgid "Boot service for PXE menu."
- msgstr ""
--#: option.c:443
-+#: option.c:446
- msgid "Check configuration syntax."
- msgstr ""
--#: option.c:444
-+#: option.c:447
- msgid "Add requestor's MAC address to forwarded DNS queries."
- msgstr ""
--#: option.c:445
-+#: option.c:448
- msgid "Add requestor's IP subnet to forwarded DNS queries."
- msgstr ""
--#: option.c:446
-+#: option.c:449
- #, fuzzy
- msgid "Proxy DNSSEC validation results from upstream nameservers."
- msgstr "Traduce adresele IPv4 de la serverele DNS superioare."
--#: option.c:447
-+#: option.c:450
- msgid "Attempt to allocate sequential IP addresses to DHCP clients."
- msgstr ""
--#: option.c:448
-+#: option.c:451
- msgid "Copy connection-track mark from queries to upstream connections."
- msgstr ""
--#: option.c:449
-+#: option.c:452
- msgid "Allow DHCP clients to do their own DDNS updates."
- msgstr ""
--#: option.c:450
-+#: option.c:453
- msgid "Send router-advertisements for interfaces doing DHCPv6"
- msgstr ""
--#: option.c:451
-+#: option.c:454
- msgid "Specify DUID_EN-type DHCPv6 server DUID"
- msgstr ""
--#: option.c:452
-+#: option.c:455
- #, fuzzy
- msgid "Specify host (A/AAAA and PTR) records"
- msgstr "Specifică o înregistrare MX."
--#: option.c:453
-+#: option.c:456
- #, fuzzy
- msgid "Specify arbitrary DNS resource record"
- msgstr "Specifică o înregistrare TXT."
--#: option.c:454
-+#: option.c:457
- #, fuzzy
- msgid "Bind to interfaces in use - check for new interfaces"
- msgstr "interfaţă necunoscută %s"
--#: option.c:455
-+#: option.c:458
- msgid "Export local names to global DNS"
- msgstr ""
--#: option.c:456
-+#: option.c:459
- msgid "Domain to export to global DNS"
- msgstr ""
--#: option.c:457
-+#: option.c:460
- msgid "Set TTL for authoritative replies"
- msgstr ""
--#: option.c:458
-+#: option.c:461
- msgid "Set authoritive zone information"
- msgstr ""
--#: option.c:459
-+#: option.c:462
- msgid "Secondary authoritative nameservers for forward domains"
- msgstr ""
--#: option.c:460
-+#: option.c:463
- msgid "Peers which are allowed to do zone transfer"
- msgstr ""
--#: option.c:461
-+#: option.c:464
- msgid "Specify ipsets to which matching domains should be added"
- msgstr ""
--#: option.c:462
-+#: option.c:465
- msgid "Specify a domain and address range for synthesised names"
- msgstr ""
--#: option.c:463
-+#: option.c:466
- msgid "Activate DNSSEC validation"
- msgstr ""
--#: option.c:464
-+#: option.c:467
- msgid "Specify trust anchor key digest."
- msgstr ""
--#: option.c:465
-+#: option.c:468
- msgid "Disable upstream checking for DNSSEC debugging."
- msgstr ""
--#: option.c:466
-+#: option.c:469
- msgid "Ensure answers without DNSSEC are in unsigned zones."
- msgstr ""
--#: option.c:467
-+#: option.c:470
- msgid "Don't check DNSSEC signature timestamps until first cache-reload"
- msgstr ""
--#: option.c:468
-+#: option.c:471
- msgid "Timestamp file to verify system clock for DNSSEC"
- msgstr ""
--#: option.c:470
-+#: option.c:473
- msgid "Specify DHCPv6 prefix class"
- msgstr ""
--#: option.c:472
-+#: option.c:475
- msgid "Set priority, resend-interval and router-lifetime"
- msgstr ""
--#: option.c:473
-+#: option.c:476
- msgid "Do not log routine DHCP."
- msgstr ""
--#: option.c:474
-+#: option.c:477
- msgid "Do not log routine DHCPv6."
- msgstr ""
--#: option.c:475
-+#: option.c:478
- msgid "Do not log RA."
- msgstr ""
--#: option.c:476
-+#: option.c:479
- msgid "Accept queries only from directly-connected networks"
- msgstr ""
--#: option.c:477
-+#: option.c:480
- msgid "Detect and remove DNS forwarding loops"
- msgstr ""
--#: option.c:478
-+#: option.c:481
- msgid "Ignore DNS responses containing ipaddr."
- msgstr ""
--#: option.c:680
-+#: option.c:683
- #, c-format
- msgid ""
- "Usage: dnsmasq [options]\n"
-@@ -753,332 +757,332 @@ msgstr ""
- "Utilizare: dnsmasq [opţiuni]\n"
- "\n"
--#: option.c:682
-+#: option.c:685
- #, c-format
- msgid "Use short options only on the command line.\n"
- msgstr "Folosiţi opţiunile prescurtate doar în linie de comandă.\n"
--#: option.c:684
-+#: option.c:687
- #, fuzzy, c-format
- msgid "Valid options are:\n"
- msgstr "Opţiunile valide sunt:\n"
--#: option.c:741 option.c:745
-+#: option.c:744 option.c:748
- msgid "bad port"
- msgstr "port invalid"
--#: option.c:772 option.c:804
-+#: option.c:775 option.c:807
- msgid "interface binding not supported"
- msgstr ""
--#: option.c:781 option.c:3570
-+#: option.c:784 option.c:3575
- #, fuzzy
- msgid "bad interface name"
- msgstr "nume MX invalid"
--#: option.c:811
-+#: option.c:814
- #, fuzzy
- msgid "bad address"
- msgstr "citesc %s - %d adrese"
--#: option.c:993
-+#: option.c:996
- msgid "unsupported encapsulation for IPv6 option"
- msgstr ""
--#: option.c:1007
-+#: option.c:1010
- msgid "bad dhcp-option"
- msgstr "dhcp-option invalid"
--#: option.c:1075
-+#: option.c:1078
- #, fuzzy
- msgid "bad IP address"
- msgstr "citesc %s - %d adrese"
--#: option.c:1078 option.c:1216 option.c:2888
-+#: option.c:1081 option.c:1219 option.c:2893
- #, fuzzy
- msgid "bad IPv6 address"
- msgstr "citesc %s - %d adrese"
--#: option.c:1243 option.c:1337
-+#: option.c:1246 option.c:1340
- msgid "bad domain in dhcp-option"
- msgstr "domeniu DNS invalid în declaraţia dhcp-option"
--#: option.c:1375
-+#: option.c:1378
- msgid "dhcp-option too long"
- msgstr "declararea dhcp-option este prea lungă"
--#: option.c:1382
-+#: option.c:1385
- msgid "illegal dhcp-match"
- msgstr ""
--#: option.c:1444
-+#: option.c:1447
- msgid "illegal repeated flag"
- msgstr ""
--#: option.c:1452
-+#: option.c:1455
- msgid "illegal repeated keyword"
- msgstr ""
--#: option.c:1517 option.c:4186
-+#: option.c:1520 option.c:4191
- #, fuzzy, c-format
- msgid "cannot access directory %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:1563 tftp.c:493
-+#: option.c:1566 tftp.c:493
- #, fuzzy, c-format
- msgid "cannot access %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:1615
-+#: option.c:1618
- msgid "setting log facility is not possible under Android"
- msgstr ""
--#: option.c:1624
-+#: option.c:1627
- msgid "bad log facility"
- msgstr ""
--#: option.c:1677
-+#: option.c:1680
- msgid "bad MX preference"
- msgstr "preferinţă MX invalidă"
--#: option.c:1682
-+#: option.c:1685
- msgid "bad MX name"
- msgstr "nume MX invalid"
--#: option.c:1696
-+#: option.c:1699
- msgid "bad MX target"
- msgstr "ţintă MX invalidă"
--#: option.c:1708
-+#: option.c:1711
- msgid "cannot run scripts under uClinux"
- msgstr ""
--#: option.c:1710
-+#: option.c:1713
- msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
- msgstr ""
--#: option.c:1714
-+#: option.c:1717
- msgid "recompile with HAVE_LUASCRIPT defined to enable Lua scripts"
- msgstr ""
--#: option.c:1970 option.c:2015 option.c:2071
-+#: option.c:1973 option.c:2018 option.c:2074
- #, fuzzy
- msgid "bad prefix"
- msgstr "port invalid"
--#: option.c:2352
-+#: option.c:2355
- msgid "recompile with HAVE_IPSET defined to enable ipset directives"
- msgstr ""
--#: option.c:2545
-+#: option.c:2548
- #, fuzzy
- msgid "bad port range"
- msgstr "port invalid"
--#: option.c:2561
-+#: option.c:2564
- msgid "bad bridge-interface"
- msgstr ""
--#: option.c:2621
-+#: option.c:2624
- msgid "only one tag allowed"
- msgstr ""
--#: option.c:2641 option.c:2653 option.c:2759 option.c:2800
-+#: option.c:2644 option.c:2656 option.c:2764 option.c:2805
- msgid "bad dhcp-range"
- msgstr "dhcp-range invalid"
--#: option.c:2668
-+#: option.c:2671
- msgid "inconsistent DHCP range"
- msgstr "domeniu DHCP inconsistent"
--#: option.c:2727
-+#: option.c:2732
- msgid "prefix length must be exactly 64 for RA subnets"
- msgstr ""
--#: option.c:2729
-+#: option.c:2734
- msgid "prefix length must be exactly 64 for subnet constructors"
- msgstr ""
--#: option.c:2733
-+#: option.c:2738
- msgid "prefix length must be at least 64"
- msgstr ""
--#: option.c:2736
-+#: option.c:2741
- #, fuzzy
- msgid "inconsistent DHCPv6 range"
- msgstr "domeniu DHCP inconsistent"
--#: option.c:2747
-+#: option.c:2752
- msgid "prefix must be zero with \"constructor:\" argument"
- msgstr ""
--#: option.c:2858 option.c:2906
-+#: option.c:2863 option.c:2911
- #, fuzzy
- msgid "bad hex constant"
- msgstr "dhcp-host invalid"
--#: option.c:2880
-+#: option.c:2885
- msgid "cannot match tags in --dhcp-host"
- msgstr ""
--#: option.c:2928
-+#: option.c:2933
- #, fuzzy, c-format
- msgid "duplicate dhcp-host IP address %s"
- msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
--#: option.c:2986
-+#: option.c:2991
- #, fuzzy
- msgid "bad DHCP host name"
- msgstr "nume MX invalid"
--#: option.c:3068
-+#: option.c:3073
- #, fuzzy
- msgid "bad tag-if"
- msgstr "ţintă MX invalidă"
--#: option.c:3392 option.c:3786
-+#: option.c:3397 option.c:3791
- msgid "invalid port number"
- msgstr "număr de port invalid"
--#: option.c:3454
-+#: option.c:3459
- #, fuzzy
- msgid "bad dhcp-proxy address"
- msgstr "citesc %s - %d adrese"
--#: option.c:3480
-+#: option.c:3485
- #, fuzzy
- msgid "Bad dhcp-relay"
- msgstr "dhcp-range invalid"
--#: option.c:3506
-+#: option.c:3511
- msgid "bad RA-params"
- msgstr ""
--#: option.c:3515
-+#: option.c:3520
- msgid "bad DUID"
- msgstr ""
--#: option.c:3557
-+#: option.c:3562
- #, fuzzy
- msgid "invalid alias range"
- msgstr "pondere invalidă"
--#: option.c:3611
-+#: option.c:3616
- msgid "bad CNAME"
- msgstr ""
--#: option.c:3616
-+#: option.c:3621
- msgid "duplicate CNAME"
- msgstr ""
--#: option.c:3636
-+#: option.c:3641
- #, fuzzy
- msgid "bad PTR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3667
-+#: option.c:3672
- #, fuzzy
- msgid "bad NAPTR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3701
-+#: option.c:3706
- #, fuzzy
- msgid "bad RR record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3731
-+#: option.c:3736
- msgid "bad TXT record"
- msgstr "înregistrare TXT invalidă"
--#: option.c:3772
-+#: option.c:3777
- msgid "bad SRV record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3779
-+#: option.c:3784
- msgid "bad SRV target"
- msgstr "ţintă SRV invalidă"
--#: option.c:3793
-+#: option.c:3798
- msgid "invalid priority"
- msgstr "prioritate invalidă"
--#: option.c:3800
-+#: option.c:3805
- msgid "invalid weight"
- msgstr "pondere invalidă"
--#: option.c:3824
-+#: option.c:3829
- #, fuzzy
- msgid "Bad host-record"
- msgstr "înregistrare SRV invalidă"
--#: option.c:3841
-+#: option.c:3846
- #, fuzzy
- msgid "Bad name in host-record"
- msgstr "nume invalid în %s"
--#: option.c:3906
-+#: option.c:3911
- #, fuzzy
- msgid "bad trust anchor"
- msgstr "port invalid"
--#: option.c:3920
-+#: option.c:3925
- msgid "bad HEX in trust anchor"
- msgstr ""
--#: option.c:3930
-+#: option.c:3935
- msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DNSSEC/DBus support)"
- msgstr ""
--#: option.c:3989
-+#: option.c:3994
- msgid "missing \""
- msgstr "lipseşte \""
--#: option.c:4046
-+#: option.c:4051
- msgid "bad option"
- msgstr "opţiune invalidă"
--#: option.c:4048
-+#: option.c:4053
- msgid "extraneous parameter"
- msgstr "parametru nerecunoscut"
--#: option.c:4050
-+#: option.c:4055
- msgid "missing parameter"
- msgstr "parametru lipsa"
--#: option.c:4052
-+#: option.c:4057
- #, fuzzy
- msgid "illegal option"
- msgstr "opţiune invalidă"
--#: option.c:4059
-+#: option.c:4064
- msgid "error"
- msgstr "eroare"
--#: option.c:4061
-+#: option.c:4066
- #, fuzzy, c-format
- msgid " at line %d of %s"
- msgstr "%s la linia %d din %%s"
--#: option.c:4076 option.c:4323 option.c:4359
-+#: option.c:4081 option.c:4328 option.c:4364
- #, fuzzy, c-format
- msgid "read %s"
- msgstr "citesc %s"
--#: option.c:4139 option.c:4262 tftp.c:667
-+#: option.c:4144 option.c:4267 tftp.c:667
- #, c-format
- msgid "cannot read %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:4425
-+#: option.c:4430
- msgid "junk found in command line"
- msgstr ""
--#: option.c:4460
-+#: option.c:4465
- #, c-format
- msgid "Dnsmasq version %s  %s\n"
- msgstr "dnsmasq versiunea %s  %s\n"
--#: option.c:4461
-+#: option.c:4466
- #, fuzzy, c-format
- msgid ""
- "Compile time options: %s\n"
-@@ -1087,62 +1091,62 @@ msgstr ""
- "Opţiuni cu care a fost compilat %s\n"
- "\n"
--#: option.c:4462
-+#: option.c:4467
- #, c-format
- msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
- msgstr "Acest program vine FĂRĂ NICI O GARANŢIE.\n"
--#: option.c:4463
-+#: option.c:4468
- #, c-format
- msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
- msgstr "Dnsmasq este un program gratuit, sunteţi invitaţi să-l redistribuiţi\n"
--#: option.c:4464
-+#: option.c:4469
- #, fuzzy, c-format
- msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
- msgstr "în termenii Licenţei publice generale GNU, versiunea 2.\n"
--#: option.c:4475
-+#: option.c:4480
- msgid "try --help"
- msgstr ""
--#: option.c:4477
-+#: option.c:4482
- msgid "try -w"
- msgstr ""
--#: option.c:4479
-+#: option.c:4484
- #, fuzzy, c-format
- msgid "bad command line options: %s"
- msgstr "opţiuni în linie de comandă invalide: %s."
--#: option.c:4535
-+#: option.c:4544
- #, c-format
- msgid "cannot get host-name: %s"
- msgstr "nu pot citi numele maşinii: %s"
--#: option.c:4563
-+#: option.c:4572
- msgid "only one resolv.conf file allowed in no-poll mode."
- msgstr "se permite un singur fişier resolv.conf în modul no-poll"
--#: option.c:4573
-+#: option.c:4582
- msgid "must have exactly one resolv.conf to read domain from."
- msgstr "am nevoie de un singur resolv.conf din care să citesc numele domeniului."
--#: option.c:4576 network.c:1506 dhcp.c:774
-+#: option.c:4585 network.c:1507 dhcp.c:777
- #, fuzzy, c-format
- msgid "failed to read %s: %s"
- msgstr "nu pot citi %s: %s"
--#: option.c:4593
-+#: option.c:4602
- #, c-format
- msgid "no search directive found in %s"
- msgstr "nu s-a găsit nici un criteriu de căutare în %s"
--#: option.c:4614
-+#: option.c:4623
- msgid "there must be a default domain when --dhcp-fqdn is set"
- msgstr ""
--#: option.c:4623
-+#: option.c:4632
- msgid "syntax check OK"
- msgstr ""
-@@ -1151,25 +1155,25 @@ msgstr ""
- msgid "failed to send packet: %s"
- msgstr "ascultarea pe socket a eşuat: %s"
--#: forward.c:572
-+#: forward.c:591
- msgid "discarding DNS reply: subnet option mismatch"
- msgstr ""
--#: forward.c:595
-+#: forward.c:614
- #, c-format
- msgid "nameserver %s refused to do a recursive query"
- msgstr "serverul DNS %s refuză interogările recursive"
--#: forward.c:627
-+#: forward.c:646
- #, c-format
- msgid "possible DNS-rebind attack detected: %s"
- msgstr ""
--#: forward.c:1156 forward.c:1722
-+#: forward.c:1209 forward.c:1785
- msgid "Ignoring query from non-local network"
- msgstr ""
--#: forward.c:2178
-+#: forward.c:2256
- #, fuzzy, c-format
- msgid "Maximum number of concurrent DNS queries reached (max: %d)"
- msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
-@@ -1203,342 +1207,352 @@ msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
- msgid "failed to bind server socket for %s: %s"
- msgstr "activarea socket-ului de ascultare pentru %s a eşuat: %s"
--#: network.c:1444
-+#: network.c:1445
- #, c-format
- msgid "ignoring nameserver %s - local interface"
- msgstr "ignorăm serverul DNS %s - interfaţă locală"
--#: network.c:1455
-+#: network.c:1456
- #, fuzzy, c-format
- msgid "ignoring nameserver %s - cannot make/bind socket: %s"
- msgstr "ignorăm serverul DNS %s - nu pot creea/activa socket-ul: %s"
--#: network.c:1468
-+#: network.c:1469
- msgid "unqualified"
- msgstr "invalid"
--#: network.c:1468
-+#: network.c:1469
- msgid "names"
- msgstr ""
--#: network.c:1470
-+#: network.c:1471
- msgid "default"
- msgstr ""
--#: network.c:1472
-+#: network.c:1473
- msgid "domain"
- msgstr "domeniu"
--#: network.c:1475
-+#: network.c:1476
- #, c-format
- msgid "using local addresses only for %s %s"
- msgstr "folosim adresele locale doar pentru %S %s"
--#: network.c:1477
-+#: network.c:1478
- #, fuzzy, c-format
- msgid "using standard nameservers for %s %s"
- msgstr "folosim serverul DNS %s#%d pentru %s %s"
--#: network.c:1479
-+#: network.c:1480
- #, c-format
- msgid "using nameserver %s#%d for %s %s"
- msgstr "folosim serverul DNS %s#%d pentru %s %s"
--#: network.c:1483
-+#: network.c:1484
- #, fuzzy, c-format
- msgid "NOT using nameserver %s#%d - query loop detected"
- msgstr "folosim serverul DNS %s#%d pentru %s %s"
--#: network.c:1486
-+#: network.c:1487
- #, fuzzy, c-format
- msgid "using nameserver %s#%d(via %s)"
- msgstr "folosim serverul DNS %s#%d"
--#: network.c:1488
-+#: network.c:1489
- #, c-format
- msgid "using nameserver %s#%d"
- msgstr "folosim serverul DNS %s#%d"
--#: dnsmasq.c:149
-+#: dnsmasq.c:163
- msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
- msgstr ""
--#: dnsmasq.c:156
-+#: dnsmasq.c:170
- msgid "no trust anchors provided for DNSSEC"
- msgstr ""
--#: dnsmasq.c:159
-+#: dnsmasq.c:173
- msgid "cannot reduce cache size from default when DNSSEC enabled"
- msgstr ""
--#: dnsmasq.c:161
-+#: dnsmasq.c:175
- #, fuzzy
- msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:167
-+#: dnsmasq.c:181
- #, fuzzy
- msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:172
-+#: dnsmasq.c:186
- msgid "cannot use --conntrack AND --query-port"
- msgstr ""
--#: dnsmasq.c:175
-+#: dnsmasq.c:189
- #, fuzzy
- msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:180
-+#: dnsmasq.c:194
- msgid "asychronous logging is not available under Solaris"
- msgstr ""
--#: dnsmasq.c:185
-+#: dnsmasq.c:199
- msgid "asychronous logging is not available under Android"
- msgstr ""
--#: dnsmasq.c:190
-+#: dnsmasq.c:204
- #, fuzzy
- msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:195
-+#: dnsmasq.c:209
- #, fuzzy
- msgid "loop detection not available: set HAVE_LOOP in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:203
-+#: dnsmasq.c:217
- msgid "zone serial must be configured in --auth-soa"
- msgstr ""
--#: dnsmasq.c:221
-+#: dnsmasq.c:235
- msgid "dhcp-range constructor not available on this platform"
- msgstr ""
--#: dnsmasq.c:264
-+#: dnsmasq.c:278
- msgid "cannot set --bind-interfaces and --bind-dynamic"
- msgstr ""
--#: dnsmasq.c:267
-+#: dnsmasq.c:281
- #, c-format
- msgid "failed to find list of interfaces: %s"
- msgstr "enumerarea interfeţelor a eşuat: %s"
--#: dnsmasq.c:276
-+#: dnsmasq.c:290
- #, c-format
- msgid "unknown interface %s"
- msgstr "interfaţă necunoscută %s"
--#: dnsmasq.c:340 dnsmasq.c:1004
-+#: dnsmasq.c:354 dnsmasq.c:1037
- #, c-format
- msgid "DBus error: %s"
- msgstr "eroare DBus: %s"
--#: dnsmasq.c:343
-+#: dnsmasq.c:357
- msgid "DBus not available: set HAVE_DBUS in src/config.h"
- msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
--#: dnsmasq.c:371
-+#: dnsmasq.c:385
- #, c-format
- msgid "unknown user or group: %s"
- msgstr ""
--#: dnsmasq.c:426
-+#: dnsmasq.c:440
- #, c-format
- msgid "cannot chdir to filesystem root: %s"
- msgstr ""
--#: dnsmasq.c:667
-+#: dnsmasq.c:692
- #, fuzzy, c-format
- msgid "started, version %s DNS disabled"
- msgstr "am pornit, versiunea %s memorie temporară dezactivată"
--#: dnsmasq.c:669
-+#: dnsmasq.c:694
- #, c-format
- msgid "started, version %s cachesize %d"
- msgstr "am ponit, versiunea %s memorie temporară %d"
--#: dnsmasq.c:671
-+#: dnsmasq.c:696
- #, c-format
- msgid "started, version %s cache disabled"
- msgstr "am pornit, versiunea %s memorie temporară dezactivată"
--#: dnsmasq.c:673
-+#: dnsmasq.c:698
- #, c-format
- msgid "compile time options: %s"
- msgstr "compilat cu opţiunile: %s"
--#: dnsmasq.c:679
-+#: dnsmasq.c:704
- msgid "DBus support enabled: connected to system bus"
- msgstr "suportul DBus activ: sunt conectat la magistrala sistem"
--#: dnsmasq.c:681
-+#: dnsmasq.c:706
- msgid "DBus support enabled: bus connection pending"
- msgstr "suportul DBus activ: aştept conexiunea la magistrală"
--#: dnsmasq.c:686
-+#: dnsmasq.c:711
- msgid "DNS service limited to local subnets"
- msgstr ""
--#: dnsmasq.c:702
-+#: dnsmasq.c:727
- msgid "DNSSEC validation enabled"
- msgstr ""
--#: dnsmasq.c:705
-+#: dnsmasq.c:730
- msgid "DNSSEC signature timestamps not checked until first cache reload"
- msgstr ""
--#: dnsmasq.c:708
-+#: dnsmasq.c:733
- msgid "DNSSEC signature timestamps not checked until system time valid"
- msgstr ""
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:713
-+#: dnsmasq.c:738
- #, fuzzy, c-format
- msgid "warning: failed to change owner of %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: dnsmasq.c:717
-+#: dnsmasq.c:742
- msgid "setting --bind-interfaces option because of OS limitations"
- msgstr "specific opţiunea --bind-interfaces din cauza limitărilor SO"
--#: dnsmasq.c:727
-+#: dnsmasq.c:752
- #, c-format
- msgid "warning: interface %s does not currently exist"
- msgstr "atenţie: interfaţa %s nu există momentan"
--#: dnsmasq.c:732
-+#: dnsmasq.c:757
- msgid "warning: ignoring resolv-file flag because no-resolv is set"
- msgstr ""
--#: dnsmasq.c:735
-+#: dnsmasq.c:760
- #, fuzzy
- msgid "warning: no upstream servers configured"
- msgstr "configurăm serverele superioare prin Dbus"
--#: dnsmasq.c:739
-+#: dnsmasq.c:764
- #, c-format
- msgid "asynchronous logging enabled, queue limit is %d messages"
- msgstr ""
--#: dnsmasq.c:760
-+#: dnsmasq.c:785
- msgid "IPv6 router advertisement enabled"
- msgstr ""
--#: dnsmasq.c:765
-+#: dnsmasq.c:790
- #, c-format
- msgid "DHCP, sockets bound exclusively to interface %s"
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- msgid "root is "
- msgstr ""
--#: dnsmasq.c:782
-+#: dnsmasq.c:808
- #, fuzzy
- msgid "enabled"
- msgstr "dezactivat"
--#: dnsmasq.c:784
-+#: dnsmasq.c:810
- msgid "secure mode"
- msgstr ""
--#: dnsmasq.c:810
-+#: dnsmasq.c:813
-+#, c-format
-+msgid "warning: %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:817
-+#, c-format
-+msgid "warning: TFTP directory %s inaccessible"
-+msgstr ""
-+
-+#: dnsmasq.c:843
- #, c-format
- msgid "restricting maximum simultaneous TFTP transfers to %d"
- msgstr ""
--#: dnsmasq.c:1006
-+#: dnsmasq.c:1039
- msgid "connected to system DBus"
- msgstr "magistrala sistem Dbus conectată"
--#: dnsmasq.c:1156
-+#: dnsmasq.c:1189
- #, c-format
- msgid "cannot fork into background: %s"
- msgstr ""
--#: dnsmasq.c:1159
-+#: dnsmasq.c:1192
- #, fuzzy, c-format
- msgid "failed to create helper: %s"
- msgstr "nu pot citi %s: %s"
--#: dnsmasq.c:1162
-+#: dnsmasq.c:1195
- #, c-format
- msgid "setting capabilities failed: %s"
- msgstr ""
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:1165
-+#: dnsmasq.c:1198
- #, fuzzy, c-format
- msgid "failed to change user-id to %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
- # for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
--#: dnsmasq.c:1168
-+#: dnsmasq.c:1201
- #, fuzzy, c-format
- msgid "failed to change group-id to %s: %s"
- msgstr "încărcarea numelor din %s: %s a eşuat"
--#: dnsmasq.c:1171
-+#: dnsmasq.c:1204
- #, fuzzy, c-format
- msgid "failed to open pidfile %s: %s"
- msgstr "nu pot citi %s: %s"
--#: dnsmasq.c:1174
-+#: dnsmasq.c:1207
- #, fuzzy, c-format
- msgid "cannot open log %s: %s"
- msgstr "nu pot deschide %s:%s"
--#: dnsmasq.c:1177
-+#: dnsmasq.c:1210
- #, fuzzy, c-format
- msgid "failed to load Lua script: %s"
- msgstr "nu pot încărca %s: %s"
--#: dnsmasq.c:1180
-+#: dnsmasq.c:1213
- #, c-format
- msgid "TFTP directory %s inaccessible: %s"
- msgstr ""
--#: dnsmasq.c:1183
-+#: dnsmasq.c:1216
- #, fuzzy, c-format
- msgid "cannot create timestamp file %s: %s"
- msgstr "nu pot creea sau deschide fişierul cu împrumuturi: %s"
--#: dnsmasq.c:1204
-+#: dnsmasq.c:1237
- msgid "now checking DNSSEC signature timestamps"
- msgstr ""
--#: dnsmasq.c:1271
-+#: dnsmasq.c:1304
- #, c-format
- msgid "script process killed by signal %d"
- msgstr ""
--#: dnsmasq.c:1275
-+#: dnsmasq.c:1308
- #, c-format
- msgid "script process exited with status %d"
- msgstr ""
--#: dnsmasq.c:1279
-+#: dnsmasq.c:1312
- #, fuzzy, c-format
- msgid "failed to execute %s: %s"
- msgstr "accesarea serverului %s a eşuat: %s"
--#: dnsmasq.c:1334
-+#: dnsmasq.c:1367
- msgid "exiting on receipt of SIGTERM"
- msgstr "am primit SIGTERM, am terminat"
--#: dnsmasq.c:1362
-+#: dnsmasq.c:1395
- #, fuzzy, c-format
- msgid "failed to access %s: %s"
- msgstr "accesarea serverului %s a eşuat: %s"
--#: dnsmasq.c:1392
-+#: dnsmasq.c:1425
- #, c-format
- msgid "reading %s"
- msgstr "citesc %s"
--#: dnsmasq.c:1403
-+#: dnsmasq.c:1436
- #, fuzzy, c-format
- msgid "no servers found in %s, will retry"
- msgstr "nu s-a găsit nici un criteriu de căutare în %s"
-@@ -1568,37 +1582,37 @@ msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
- msgid "cannot create ICMP raw socket: %s."
- msgstr "nu pot creea socket ICMP raw: %s."
--#: dhcp.c:239
-+#: dhcp.c:241 dhcp6.c:180
- #, fuzzy, c-format
- msgid "unknown interface %s in bridge-interface"
- msgstr "interfaţă necunoscută %s"
--#: dhcp.c:278
-+#: dhcp.c:281
- #, c-format
- msgid "DHCP packet received on %s which has no address"
- msgstr ""
--#: dhcp.c:412
-+#: dhcp.c:415
- #, c-format
- msgid "ARP-cache injection failed: %s"
- msgstr ""
--#: dhcp.c:511
-+#: dhcp.c:514
- #, c-format
- msgid "DHCP range %s -- %s is not consistent with netmask %s"
- msgstr "domeniu DHCP %s -- %s nu este consistent cu masca de reţea %s"
--#: dhcp.c:812
-+#: dhcp.c:815
- #, c-format
- msgid "bad line at %s line %d"
- msgstr "linie invalidă în %s rândul %d"
--#: dhcp.c:855
-+#: dhcp.c:858
- #, c-format
- msgid "ignoring %s line %d, duplicate name or IP address"
- msgstr ""
--#: dhcp.c:999 rfc3315.c:2139
-+#: dhcp.c:1002 rfc3315.c:2135
- #, c-format
- msgid "DHCP relay %s -> %s"
- msgstr ""
-@@ -1632,169 +1646,169 @@ msgstr "nu pot citi %s: %s"
- msgid "Ignoring domain %s for DHCP host name %s"
- msgstr ""
--#: rfc2131.c:342
-+#: rfc2131.c:344
- #, c-format
- msgid "no address range available for DHCP request %s %s"
- msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "with subnet selector"
- msgstr "cu selectorul de subreţea"
--#: rfc2131.c:343
-+#: rfc2131.c:345
- msgid "via"
- msgstr "prin"
--#: rfc2131.c:355
-+#: rfc2131.c:357
- #, fuzzy, c-format
- msgid "%u available DHCP subnet: %s/%s"
- msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
--#: rfc2131.c:358 rfc3315.c:300
-+#: rfc2131.c:360 rfc3315.c:300
- #, c-format
- msgid "%u available DHCP range: %s -- %s"
- msgstr ""
--#: rfc2131.c:469
-+#: rfc2131.c:471
- #, fuzzy, c-format
- msgid "%u vendor class: %s"
- msgstr "eroare DBus: %s"
--#: rfc2131.c:471
-+#: rfc2131.c:473
- #, fuzzy, c-format
- msgid "%u user class: %s"
- msgstr "eroare DBus: %s"
--#: rfc2131.c:498
-+#: rfc2131.c:500
- msgid "disabled"
- msgstr "dezactivat"
--#: rfc2131.c:539 rfc2131.c:967 rfc2131.c:1385 rfc3315.c:603 rfc3315.c:860
--#: rfc3315.c:1139
-+#: rfc2131.c:541 rfc2131.c:974 rfc2131.c:1380 rfc3315.c:603 rfc3315.c:856
-+#: rfc3315.c:1135
- msgid "ignored"
- msgstr "ignorat"
--#: rfc2131.c:554 rfc2131.c:1205 rfc3315.c:910
-+#: rfc2131.c:556 rfc2131.c:1207 rfc3315.c:906
- msgid "address in use"
- msgstr "adresa este folosită"
--#: rfc2131.c:568 rfc2131.c:1021
-+#: rfc2131.c:570 rfc2131.c:1028
- msgid "no address available"
- msgstr "nici o adresă disponibilă"
--#: rfc2131.c:575 rfc2131.c:1168
-+#: rfc2131.c:577 rfc2131.c:1170
- msgid "wrong network"
- msgstr "reţea greşită"
--#: rfc2131.c:590
-+#: rfc2131.c:592
- msgid "no address configured"
- msgstr "adresă lipsă"
--#: rfc2131.c:596 rfc2131.c:1218
-+#: rfc2131.c:598 rfc2131.c:1220
- msgid "no leases left"
- msgstr "nu mai am de unde să împrumut"
--#: rfc2131.c:691 rfc3315.c:476
-+#: rfc2131.c:693 rfc3315.c:476
- #, c-format
- msgid "%u client provides name: %s"
- msgstr ""
--#: rfc2131.c:796
-+#: rfc2131.c:798
- msgid "PXE BIS not supported"
- msgstr ""
--#: rfc2131.c:935 rfc3315.c:1233
-+#: rfc2131.c:942 rfc3315.c:1229
- #, fuzzy, c-format
- msgid "disabling DHCP static address %s for %s"
- msgstr "dezactivăm adresele DHCP statice %s"
--#: rfc2131.c:956
-+#: rfc2131.c:963
- msgid "unknown lease"
- msgstr "împrumut necunoscut"
--#: rfc2131.c:990
-+#: rfc2131.c:997
- #, c-format
- msgid "not using configured address %s because it is leased to %s"
- msgstr ""
--#: rfc2131.c:1000
-+#: rfc2131.c:1007
- #, c-format
- msgid "not using configured address %s because it is in use by the server or relay"
- msgstr ""
--#: rfc2131.c:1003
-+#: rfc2131.c:1010
- #, c-format
- msgid "not using configured address %s because it was previously declined"
- msgstr ""
--#: rfc2131.c:1019 rfc2131.c:1211
-+#: rfc2131.c:1026 rfc2131.c:1213
- msgid "no unique-id"
- msgstr ""
--#: rfc2131.c:1106
-+#: rfc2131.c:1108
- msgid "wrong server-ID"
- msgstr ""
--#: rfc2131.c:1125
-+#: rfc2131.c:1127
- msgid "wrong address"
- msgstr "adresă greşită"
--#: rfc2131.c:1143 rfc3315.c:1006
-+#: rfc2131.c:1145 rfc3315.c:1002
- msgid "lease not found"
- msgstr "împrumutul nu a fost găsit"
--#: rfc2131.c:1176
-+#: rfc2131.c:1178
- msgid "address not available"
- msgstr "adresă indisponibilă"
--#: rfc2131.c:1187
-+#: rfc2131.c:1189
- msgid "static lease available"
- msgstr "împrumut static este disponibil"
--#: rfc2131.c:1191
-+#: rfc2131.c:1193
- msgid "address reserved"
- msgstr "adresă rezervată"
--#: rfc2131.c:1199
-+#: rfc2131.c:1201
- #, c-format
- msgid "abandoning lease to %s of %s"
- msgstr ""
--#: rfc2131.c:1712
-+#: rfc2131.c:1707
- #, c-format
- msgid "%u bootfile name: %s"
- msgstr ""
--#: rfc2131.c:1721
-+#: rfc2131.c:1716
- #, fuzzy, c-format
- msgid "%u server name: %s"
- msgstr "eroare DBus: %s"
--#: rfc2131.c:1729
-+#: rfc2131.c:1724
- #, fuzzy, c-format
- msgid "%u next server: %s"
- msgstr "eroare DBus: %s"
--#: rfc2131.c:1732
-+#: rfc2131.c:1727
- #, c-format
- msgid "%u broadcast response"
- msgstr ""
--#: rfc2131.c:1795
-+#: rfc2131.c:1790
- #, fuzzy, c-format
- msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
- msgstr "nu pot trimite opţiunea DHCP %d: nu mai este loc în pachet"
--#: rfc2131.c:2036
-+#: rfc2131.c:2031
- msgid "PXE menu too large"
- msgstr ""
--#: rfc2131.c:2173 rfc3315.c:1506
-+#: rfc2131.c:2170 rfc3315.c:1502
- #, fuzzy, c-format
- msgid "%u requested options: %s"
- msgstr "compilat cu opţiunile: %s"
--#: rfc2131.c:2453
-+#: rfc2131.c:2487
- #, c-format
- msgid "cannot send RFC3925 option: too many options for enterprise number %d"
- msgstr ""
-@@ -1809,15 +1823,25 @@ msgstr "nu pot să activez socket-ul netlink: %s"
- msgid "netlink returns error: %s"
- msgstr "eroare DBus: %s"
--#: dbus.c:171
-+#: dbus.c:186
- msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
- msgstr "incerc să configurez un server IPv6 prin Dbus - nu este suport IPv6"
--#: dbus.c:500
-+#: dbus.c:439
-+#, c-format
-+msgid "Enabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:444
-+#, c-format
-+msgid "Disabling --%s option from D-Bus"
-+msgstr ""
-+
-+#: dbus.c:691
- msgid "setting upstream servers from DBus"
- msgstr "configurăm serverele superioare prin Dbus"
--#: dbus.c:547
-+#: dbus.c:738
- msgid "could not register a DBus message handler"
- msgstr "nu pot activa o interfaţă de mesaje DBus"
-@@ -1937,51 +1961,51 @@ msgstr "nu exista interfaţă pentru adresa %s"
- msgid "unknown prefix-class %d"
- msgstr "împrumut necunoscut"
--#: rfc3315.c:803 rfc3315.c:902
-+#: rfc3315.c:803 rfc3315.c:898
- #, fuzzy
- msgid "address unavailable"
- msgstr "adresă indisponibilă"
--#: rfc3315.c:815 rfc3315.c:950 rfc3315.c:1283
-+#: rfc3315.c:815 rfc3315.c:946 rfc3315.c:1279
- msgid "success"
- msgstr ""
--#: rfc3315.c:843 rfc3315.c:845 rfc3315.c:958 rfc3315.c:960
-+#: rfc3315.c:830 rfc3315.c:839 rfc3315.c:954 rfc3315.c:956
- #, fuzzy
- msgid "no addresses available"
- msgstr "nici o adresă disponibilă"
--#: rfc3315.c:937
-+#: rfc3315.c:933
- msgid "not on link"
- msgstr ""
--#: rfc3315.c:1010 rfc3315.c:1195 rfc3315.c:1272
-+#: rfc3315.c:1006 rfc3315.c:1191 rfc3315.c:1268
- msgid "no binding found"
- msgstr ""
--#: rfc3315.c:1048
-+#: rfc3315.c:1044
- msgid "deprecated"
- msgstr ""
--#: rfc3315.c:1053
-+#: rfc3315.c:1049
- #, fuzzy
- msgid "address invalid"
- msgstr "adresa este folosită"
--#: rfc3315.c:1100
-+#: rfc3315.c:1096
- msgid "confirm failed"
- msgstr ""
--#: rfc3315.c:1116
-+#: rfc3315.c:1112
- #, fuzzy
- msgid "all addresses still on link"
- msgstr "adresă greşită în %s, linia %d"
--#: rfc3315.c:1204
-+#: rfc3315.c:1200
- msgid "release received"
- msgstr ""
--#: rfc3315.c:2130
-+#: rfc3315.c:2126
- msgid "Cannot multicast to DHCPv6 server without correct interface"
- msgstr ""
-@@ -2069,12 +2093,12 @@ msgstr ""
- msgid "DHCP relay from %s to %s"
- msgstr ""
--#: radv.c:98
-+#: radv.c:109
- #, fuzzy, c-format
- msgid "cannot create ICMPv6 socket: %s"
- msgstr "nu pot creea socket DHCP: %s"
--#: auth.c:436
-+#: auth.c:448
- #, c-format
- msgid "ignoring zone transfer request from %s"
- msgstr ""
-@@ -2089,7 +2113,7 @@ msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
- msgid "failed to create IPset control socket: %s"
- msgstr "creearea socket-ului de ascultare a eşuat: %s"
--#: dnssec.c:425 dnssec.c:469
-+#: dnssec.c:449 dnssec.c:493
- #, fuzzy, c-format
- msgid "failed to update mtime on %s: %s"
- msgstr "nu pot citi %s: %s"
--- 
-2.1.0
-
diff --git a/src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch b/src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch
deleted file mode 100644 (file)
index 751e188..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-From e3ec6f0bd7323b043faa9dffa20f0c9151fae1e3 Mon Sep 17 00:00:00 2001
-From: Simon Kelley <simon@thekelleys.org.uk>
-Date: Fri, 12 Jun 2015 21:39:11 +0100
-Subject: [PATCH 113/113] Handle CNAMEs to DS records when confirming absence
- of DS for DNSSEC.
-
----
- src/dnssec.c  | 40 ++++++++++++++++++++++++++++++++++------
- src/forward.c | 38 ++++++++++++++++++++++++++++++++++----
- 2 files changed, 68 insertions(+), 10 deletions(-)
-
-diff --git a/src/dnssec.c b/src/dnssec.c
-index 93217b05a846..52d14548b8e2 100644
---- a/src/dnssec.c
-+++ b/src/dnssec.c
-@@ -1223,8 +1223,11 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
-     val = dnssec_validate_reply(now, header, plen, name, keyname, NULL, &neganswer, &nons);
-   /* Note dnssec_validate_reply() will have cached positive answers */
-   
--  if (val == STAT_NO_SIG || val == STAT_INSECURE)
-+  if (val == STAT_INSECURE)
-     val = STAT_BOGUS;
-+
-+  if (val == STAT_NO_SIG)
-+    return val;
-   
-   p = (unsigned char *)(header+1);
-   extract_name(header, plen, &p, name, 1, 4);
-@@ -1875,11 +1878,14 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-    
-   if (neganswer && !have_answer)
-     *neganswer = 1;
--
-+  
-   /* No data, therefore no sigs */
-   if (ntohs(header->ancount) + ntohs(header->nscount) == 0)
--    return STAT_NO_SIG;
--  
-+    {
-+      *keyname = 0;
-+      return STAT_NO_SIG;
-+    }
-+
-   for (p1 = ans_start, i = 0; i < ntohs(header->ancount) + ntohs(header->nscount); i++)
-     {
-       if (!extract_name(header, plen, &p1, name, 1, 10))
-@@ -1948,6 +1954,19 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-               {
-                 if (class)
-                   *class = class1; /* Class for DS or DNSKEY */
-+
-+                if (rc == STAT_NO_SIG)
-+                  {
-+                    /* If we dropped off the end of a CNAME chain, return
-+                       STAT_NO_SIG and the last name is keyname. This is used for proving non-existence
-+                       if DS records in CNAME chains. */
-+                    if (cname_count == CNAME_CHAIN || i < ntohs(header->ancount)) 
-+                      /* No CNAME chain, or no sig in answer section, return empty name. */
-+                      *keyname = 0;
-+                    else if (!extract_name(header, plen, &qname, keyname, 1, 0))
-+                      return STAT_BOGUS;
-+                  }
-+ 
-                 return rc;
-               }
-             
-@@ -2060,8 +2079,17 @@ int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, ch
-   /* NXDOMAIN or NODATA reply, prove that (name, class1, type1) can't exist */
-   /* First marshall the NSEC records, if we've not done it previously */
-   if (!nsec_type && !(nsec_type = find_nsec_records(header, plen, &nsecs, &nsec_count, qclass)))
--    return STAT_NO_SIG; /* No NSECs, this is probably a dangling CNAME pointing into
--                         an unsigned zone. Return STAT_NO_SIG to cause this to be proved. */
-+    {
-+      /* No NSEC records. If we dropped off the end of a CNAME chain, return
-+       STAT_NO_SIG and the last name is keyname. This is used for proving non-existence
-+       if DS records in CNAME chains. */
-+      if (cname_count == CNAME_CHAIN) /* No CNAME chain, return empty name. */
-+      *keyname = 0;
-+      else if (!extract_name(header, plen, &qname, keyname, 1, 0))
-+      return STAT_BOGUS;
-+      return STAT_NO_SIG; /* No NSECs, this is probably a dangling CNAME pointing into
-+                           an unsigned zone. Return STAT_NO_SIG to cause this to be proved. */
-+    }
-    
-   /* Get name of missing answer */
-   if (!extract_name(header, plen, &qname, name, 1, 0))
-diff --git a/src/forward.c b/src/forward.c
-index 8c3e71cebe87..b40dda37eca2 100644
---- a/src/forward.c
-+++ b/src/forward.c
-@@ -851,7 +851,7 @@ void reply_query(int fd, int family, time_t now)
-                  Avoid caching a reply with sigs if there's a vaildated break in the 
-                  DS chain, so we don't return replies from cache missing sigs. */
-               status = STAT_INSECURE_DS;
--            else if (status == STAT_NO_NS)
-+            else if (status == STAT_NO_NS || status == STAT_NO_SIG)
-               status = STAT_BOGUS;
-           }
-         else if (forward->flags & FREC_CHECK_NOSIGN)
-@@ -997,7 +997,7 @@ void reply_query(int fd, int family, time_t now)
-                          Avoid caching a reply with sigs if there's a vaildated break in the 
-                          DS chain, so we don't return replies from cache missing sigs. */
-                       status = STAT_INSECURE_DS;
--                    else if (status == STAT_NO_NS)
-+                    else if (status == STAT_NO_NS || status == STAT_NO_SIG)
-                       status = STAT_BOGUS; 
-                   }
-                 else if (forward->flags & FREC_CHECK_NOSIGN)
-@@ -1456,6 +1456,21 @@ static int do_check_sign(struct frec *forward, int status, time_t now, char *nam
-       if (status == STAT_BOGUS)
-       return STAT_BOGUS;
-+      if (status == STAT_NO_SIG && *keyname != 0)
-+      {
-+        /* There is a validated CNAME chain that doesn't end in a DS record. Start 
-+           the search again in that domain. */
-+        blockdata_free(forward->orig_domain);
-+        forward->name_start = strlen(keyname);
-+        forward->name_len = forward->name_start + 1;
-+        if (!(forward->orig_domain = blockdata_alloc(keyname, forward->name_len)))
-+          return STAT_BOGUS;
-+        
-+        strcpy(name, keyname);
-+        status = 0; /* force to cache when we iterate. */
-+        continue;
-+      }
-+      
-       /* There's a proven DS record, or we're within a zone, where there doesn't need
-        to be a DS record. Add a name and try again. 
-        If we've already tried the whole name, then fail */
-@@ -1572,6 +1587,21 @@ static int  tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s
-             return STAT_INSECURE;
-           }
-         
-+        if (status == STAT_NO_SIG && *keyname != 0)
-+          {
-+            /* There is a validated CNAME chain that doesn't end in a DS record. Start 
-+               the search again in that domain. */
-+            blockdata_free(block);
-+            name_len = strlen(keyname) + 1;
-+            name_start = name + name_len - 1;
-+            
-+            if (!(block = blockdata_alloc(keyname, name_len)))
-+              return STAT_BOGUS;
-+            
-+            strcpy(name, keyname);
-+            continue;
-+          }
-+        
-         if (status == STAT_BOGUS)
-           {
-             free(packet);
-@@ -1627,7 +1657,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-       {
-         if (new_status == STAT_NO_DS)
-           new_status = STAT_INSECURE_DS;
--        else if (new_status == STAT_NO_NS)
-+        else if (new_status == STAT_NO_NS || new_status == STAT_NO_SIG)
-           new_status = STAT_BOGUS;
-       }
-     }
-@@ -1692,7 +1722,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
-                   {
-                     if (new_status == STAT_NO_DS)
-                       new_status = STAT_INSECURE_DS;
--                    else if (new_status == STAT_NO_NS)
-+                    else if (new_status == STAT_NO_NS || new_status == STAT_NO_SIG)
-                       new_status = STAT_BOGUS; /* Validated no DS */
-                   }
-               }
--- 
-2.1.0
-