]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
dnsmasq: Import latest patches from upstream
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 4 Apr 2015 13:23:17 +0000 (15:23 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 9 Apr 2015 12:35:47 +0000 (14:35 +0200)
72 files changed:
lfs/dnsmasq
src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch
src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch
src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch
src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch
src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch
src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch
src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch
src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch
src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch
src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch
src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch
src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch
src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch
src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch
src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch
src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch
src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch
src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch
src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch
src/patches/dnsmasq/0020-Initialise-return-value.patch
src/patches/dnsmasq/0021-Add-ignore-address-option.patch
src/patches/dnsmasq/0022-Bad-packet-protection.patch
src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch
src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch
src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch
src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch
src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch
src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch
src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch
src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch
src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch
src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch
src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch
src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch
src/patches/dnsmasq/0035-Update-German-translation.patch
src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch
src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch
src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch
src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch
src/patches/dnsmasq/0040-inotify-documentation-updates.patch
src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch
src/patches/dnsmasq/0042-BSD-make-support.patch
src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch
src/patches/dnsmasq/0044-Manpage-typo-fix.patch
src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch
src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch
src/patches/dnsmasq/0047-man-page-typo.patch
src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch
src/patches/dnsmasq/0049-Typos.patch
src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch
src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch
src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch
src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch
src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch
src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch
src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch
src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch
src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch [new file with mode: 0644]
src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch [new file with mode: 0644]
src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch [new file with mode: 0644]
src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch [new file with mode: 0644]
src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch [new file with mode: 0644]
src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch [new file with mode: 0644]
src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch [new file with mode: 0644]
src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch [new file with mode: 0644]
src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch [new file with mode: 0644]
src/patches/dnsmasq/0067-Merge-message-translations.patch [new file with mode: 0644]
src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch [new file with mode: 0644]
src/patches/dnsmasq/0069-Whitespace-fixes.patch [new file with mode: 0644]
src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch [new file with mode: 0644]
src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch [new file with mode: 0644]

index 4bb7f9f0d116d8dfad9e58e37c4919f90c2565f6..15a86a57d7a6acd073ef5e305329545615caecdd 100644 (file)
@@ -130,6 +130,20 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0067-Merge-message-translations.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0069-Whitespace-fixes.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch
        cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch
        cd $(DIR_APP) && sed -i src/config.h \
                -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \
index adcb44fff7cf657f781fd8360403c819eab7406f..09e385878b7fcc126ae94ed3dab17c486d1673d6 100644 (file)
@@ -1,7 +1,7 @@
 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 01/55] Add newline at the end of example config file.
+Subject: [PATCH 01/71] Add newline at the end of example config file.
 
 ---
  dnsmasq.conf.example | 2 +-
index b84440baf1592dab43184b55b5cc3d8fa0423c1c..bcaac85dbc7044aa07883a2e7d74459c6358fdee 100644 (file)
@@ -1,7 +1,7 @@
 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 02/55] crash at startup when an empty suffix is supplied to
+Subject: [PATCH 02/71] crash at startup when an empty suffix is supplied to
  --conf-dir
 
 ---
index fe73acd641f4b37469623e28fcc76ac3c739ddc7..a7ef6118786d731be3441c7c91113388b5fdc8ee 100644 (file)
@@ -1,7 +1,7 @@
 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 03/55] Debian build fixes for kFreeBSD
+Subject: [PATCH 03/71] Debian build fixes for kFreeBSD
 
 ---
  src/tables.c | 6 +++++-
index 5d7c3c4e88c23f92fb9a052095fb963fbf1b7c9c..e64e31484a7a50550f5aa150fdf1e57ecf732c4b 100644 (file)
@@ -1,7 +1,7 @@
 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 04/55] Set conntrack mark before connect() call.
+Subject: [PATCH 04/71] Set conntrack mark before connect() call.
 
 SO_MARK has to be done before issuing the connect() call on the
 TCP socket.
index 80c55f684957672faa0a0385787276a3e19d24e7..48ed92eeeae86bbdadeccaa191bd3455aae31574 100644 (file)
@@ -1,7 +1,7 @@
 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 05/55] Fix typo in new Dbus code.
+Subject: [PATCH 05/71] Fix typo in new Dbus code.
 
 Simon's fault.
 ---
index 5f9f572765001b6b3e62df4c7c373d69e0eb0344..c8c51696148a3aac3f1c6122cce4a13f0490bf68 100644 (file)
@@ -1,7 +1,7 @@
 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 06/55] Fit example conf file typo.
+Subject: [PATCH 06/71] Fit example conf file typo.
 
 ---
  dnsmasq.conf.example | 2 +-
index 370d1065c03f5f60b9911d8c74af5cfba3848b1e..c21ece4f7d80a5de920d030c1d22b29bb631ccae 100644 (file)
@@ -1,7 +1,7 @@
 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 07/55] Improve RFC-compliance when unable to supply addresses
+Subject: [PATCH 07/71] Improve RFC-compliance when unable to supply addresses
  in DHCPv6
 
 While testing https://github.com/sbyx/odhcp6c client I have noticed it
index 3f8bad331bb49ed5bfc6652acb9db8898fa61f66..227cab79c68e8a91fc456d15d74e45d92437b610 100644 (file)
@@ -1,7 +1,7 @@
 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 08/55] Fix conntrack with --bind-interfaces
+Subject: [PATCH 08/71] 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
index 81939202b9221f1096aeec0de66c2c21d23cbfe5..7773e0bf4dbf4344b1d8023d5a776c0f33201322 100644 (file)
@@ -1,7 +1,7 @@
 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 09/55] Use inotify instead of polling on Linux.
+Subject: [PATCH 09/71] 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.
index 70fc5c3f854bd94283ca3182949d76a56b20cee4..f5e0ccdd7485686878904c688fe009f1a277c6f6 100644 (file)
@@ -1,7 +1,7 @@
 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 10/55] Teach the new inotify code about symlinks.
+Subject: [PATCH 10/71] Teach the new inotify code about symlinks.
 
 ---
  src/inotify.c | 43 +++++++++++++++++++++++++++----------------
index 095253b184b61c14d8db21e6de9207d1479d5d07..800cfb6bff75814c7b675b0a4fd86c8166386d06 100644 (file)
@@ -1,7 +1,7 @@
 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 11/55] Remove floor on EDNS0 packet size with DNSSEC.
+Subject: [PATCH 11/71] Remove floor on EDNS0 packet size with DNSSEC.
 
 ---
  CHANGELOG     | 6 +++++-
index b71e58b75bcc0ca3109bed0fe081f080024aaa3d..1a0925a6e69e08156ced0d42ff0946c730ce7ee5 100644 (file)
@@ -1,7 +1,7 @@
 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 12/55] CHANGELOG re. inotify.
+Subject: [PATCH 12/71] CHANGELOG re. inotify.
 
 ---
  CHANGELOG | 4 ++++
index 2ff5acd14a8c88e598cba8dfc6b3942c8392b515..d467a9e0be7896561269e4bcc7b535c74a7cb760 100644 (file)
@@ -1,7 +1,7 @@
 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 13/55] Fix breakage of --domain=<domain>,<subnet>,local
+Subject: [PATCH 13/71] Fix breakage of --domain=<domain>,<subnet>,local
 
 ---
  CHANGELOG    |  4 ++++
index a0e647f8af48dee1c7eedf0c64a6b099567214f8..b77acce78c2d390255c87153cec61274aad77e97 100644 (file)
@@ -1,7 +1,7 @@
 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 14/55] Remove redundant IN6_IS_ADDR_ULA(a) macro defn.
+Subject: [PATCH 14/71] Remove redundant IN6_IS_ADDR_ULA(a) macro defn.
 
 ---
  src/network.c | 4 ----
index 114a4f371cd14fd770bf5fb20ef2068f2473f265..06804232baa4543b663aea20637aecdc1283cead 100644 (file)
@@ -1,7 +1,7 @@
 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 15/55] Eliminate IPv6 privacy addresses from --interface-name
+Subject: [PATCH 15/71] Eliminate IPv6 privacy addresses from --interface-name
  answers.
 
 ---
index d072c0379d3add481b6b506be3e4091d73806207..6b3537877fe951d3e4de48cf33f10f4fd795cd9f 100644 (file)
@@ -1,7 +1,7 @@
 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 16/55] Tweak field width in cache dump to avoid truncating
+Subject: [PATCH 16/71] Tweak field width in cache dump to avoid truncating
  IPv6 addresses.
 
 ---
index 944afaf15d32cd1048c227cb2f86b3122c2201d0..01095a21d1be78c7cf2ff61c76043bc148cc5520 100644 (file)
@@ -1,7 +1,7 @@
 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 17/55] Fix crash in DNSSEC code when attempting to verify
+Subject: [PATCH 17/71] Fix crash in DNSSEC code when attempting to verify
  large RRs.
 
 ---
index de66adb9bc6a171b0cb6414dd4f5c68c7de28940..49adf8572e6bb488f5b749a2670fac52734232ee 100644 (file)
@@ -1,7 +1,7 @@
 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 18/55] Make caching work for CNAMEs pointing to A/AAAA records
+Subject: [PATCH 18/71] 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
index 0ee2e657b792ed8d486c1be5d8fc4ede08d2b202..33e518033754946f4a6a07f48530a4d7d104e674 100644 (file)
@@ -1,7 +1,7 @@
 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 19/55] Fix problems validating NSEC3 and wildcards.
+Subject: [PATCH 19/71] Fix problems validating NSEC3 and wildcards.
 
 ---
  src/dnssec.c | 253 ++++++++++++++++++++++++++++++-----------------------------
index 2f70ee5873b703110e5455e392c7da23bc7922ca..c0493df848704af579ec9a19c733d6fb71b7ab81 100644 (file)
@@ -1,7 +1,7 @@
 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 20/55] Initialise return value.
+Subject: [PATCH 20/71] Initialise return value.
 
 ---
  src/dnssec.c | 7 +++++--
index 6c88f2d188c76d4dcc1b49495dd8cb9ee9772f3c..e5422a11347a1ea04f6810da2e9ba1dd57937876 100644 (file)
@@ -1,7 +1,7 @@
 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 21/55] Add --ignore-address option.
+Subject: [PATCH 21/71] Add --ignore-address option.
 
 ---
  CHANGELOG     |  8 ++++++++
index 1b37202c46088edcb9ec1b69b1f58b820a809bfd..1fbe54c290d6a25392c274b75cb2a5902511a896 100644 (file)
@@ -1,7 +1,7 @@
 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 22/55] Bad packet protection.
+Subject: [PATCH 22/71] Bad packet protection.
 
 ---
  src/dnssec.c | 2 +-
index 3bc3f792676bf99fbc42d5c369bd91e735071ac3..6e57877fd63592c2501ef4a2cb0592dfcfc7864c 100644 (file)
@@ -1,7 +1,7 @@
 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 23/55] Fix build failure in new inotify code on BSD.
+Subject: [PATCH 23/71] Fix build failure in new inotify code on BSD.
 
 ---
  src/inotify.c | 4 ++--
index e3074fa3e15c1fbc07e50530071da71f9ab1d802..867a95d5aad83a6f6a8663eb64da94ca1cd6cc54 100644 (file)
@@ -1,7 +1,7 @@
 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 24/55] Implement makefile dependencies on COPTS variable.
+Subject: [PATCH 24/71] Implement makefile dependencies on COPTS variable.
 
 ---
  .gitignore |  2 +-
index b1c42aef412ab36d73633acd996cbcb3fd64f7e4..4a379c1a74f45a936c654acc89757a0b665c6c60 100644 (file)
@@ -1,7 +1,7 @@
 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 25/55] Fix race condition issue in makefile.
+Subject: [PATCH 25/71] Fix race condition issue in makefile.
 
 ---
  Makefile | 4 +++-
index 7f01ee73e9e1f79d8d6f1706ab12ccc6b06d1906..837c124f57d3d00919b22ecec523827a683edca9 100644 (file)
@@ -1,7 +1,7 @@
 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 26/55] DNSSEC: do top-down search for limit of secure
+Subject: [PATCH 26/71] DNSSEC: do top-down search for limit of secure
  delegation.
 
 ---
index e258d56da04fe23f101bae8d312d712855ffb21b..23b94711ae81fc4891454dd78bb7139712e563ae 100644 (file)
@@ -1,7 +1,7 @@
 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 27/55] Add --log-queries=extra option for more complete
+Subject: [PATCH 27/71] Add --log-queries=extra option for more complete
  logging.
 
 ---
index e8a61b7c1535e902f94e4316a36dae7a42000c9c..6f7f27cb685c242c9ee88c2e93a8f57e19bf6743 100644 (file)
@@ -1,7 +1,7 @@
 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 28/55] Add --min-cache-ttl option.
+Subject: [PATCH 28/71] Add --min-cache-ttl option.
 
 ---
  CHANGELOG     |  7 +++++++
index d3c484727eba2fafd9e256181feaf66a6bf51431..4834269e63396a06292025bed73417c38109ce65 100644 (file)
@@ -1,7 +1,7 @@
 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 29/55] Log port of requestor when doing extra logging.
+Subject: [PATCH 29/71] Log port of requestor when doing extra logging.
 
 ---
  src/cache.c | 6 +++---
index 5f489e2146a358237da6ee5089da41fff04902a5..fef0e116220530f3a3da9f60673aa6c67c1f8873 100644 (file)
@@ -1,7 +1,7 @@
 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 30/55] Don't answer from cache RRsets from wildcards, as we
+Subject: [PATCH 30/71] Don't answer from cache RRsets from wildcards, as we
  don't have NSECs.
 
 ---
index 1a2d3e4645cf4bfcc0caaf5e05a3c8e44d77bb41..8ebe4696ab6ff9186891a30bfd54c923f8867cc3 100644 (file)
@@ -1,7 +1,7 @@
 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 31/55] Logs for DS records consistent.
+Subject: [PATCH 31/71] Logs for DS records consistent.
 
 ---
  src/rfc1035.c | 2 +-
index 81b02cc4776e9fd418a8d7218910cb942f57e8f7..60a44b9a751638ff30d3001454ba32e2fa9120f6 100644 (file)
@@ -1,7 +1,7 @@
 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 32/55] Cope with multiple interfaces with the same LL address.
+Subject: [PATCH 32/71] Cope with multiple interfaces with the same LL address.
 
 ---
  CHANGELOG  | 4 ++++
index e88a94b965f95ce0c8a371c02f5c4eb87f0493ba..f426e8f0513ea31369ed144316c373b0ea43b8d0 100644 (file)
@@ -1,7 +1,7 @@
 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 33/55] Don't treat SERVFAIL as a recoverable error.....
+Subject: [PATCH 33/71] Don't treat SERVFAIL as a recoverable error.....
 
 ---
  src/forward.c | 2 +-
index c6b6703b094a5019c3046d4e1e24732e6f8e119b..53780b28c5373acf8b306fced400cabcea25e8cc 100644 (file)
@@ -1,7 +1,7 @@
 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 34/55] Add --dhcp-hostsdir config option.
+Subject: [PATCH 34/71] Add --dhcp-hostsdir config option.
 
 ---
  CHANGELOG     |   5 +++
index af45a1c3e6d6dd8ef45b76093a0a51e2b9106cc1..2d18e760de184c9e7dc921883ba8701c374ae35a 100644 (file)
@@ -1,7 +1,7 @@
 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 35/55] Update German translation.
+Subject: [PATCH 35/71] Update German translation.
 
 ---
  po/de.po | 101 +++++++++++++++++++++++++++++----------------------------------
index 25007de58b87e86722a2cd26c2e44e256903126f..ffe4cf6cb04354011f359c396f2a0573bfc8c5e6 100644 (file)
@@ -1,7 +1,7 @@
 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 36/55] Don't reply to DHCPv6 SOLICIT messages when not
+Subject: [PATCH 36/71] Don't reply to DHCPv6 SOLICIT messages when not
  configured for statefull DHCPv6.
 
 ---
index 731868871677f7be942716c4c460aed028fb37cc..3cd7999711d954847570701f76517f120533df26 100644 (file)
@@ -1,7 +1,7 @@
 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 37/55] Allow inotify to be disabled at compile time on Linux.
+Subject: [PATCH 37/71] Allow inotify to be disabled at compile time on Linux.
 
 ---
  CHANGELOG     |  4 +++-
index 75140347bd55fdcc81c47b75f570b8fcbfb2105a..08eb5b55303b7c1b912c7914eb354b5d2c77ca7d 100644 (file)
@@ -1,7 +1,7 @@
 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 38/55] Expand inotify code to dhcp-hostsdir, dhcp-optsdir and
+Subject: [PATCH 38/71] Expand inotify code to dhcp-hostsdir, dhcp-optsdir and
  hostsdir.
 
 ---
index 11bde00b0623955049e347793a6a3c04dfcc2a74..7303df4729db9a40ac4f39c6618c40ec0777fcf4 100644 (file)
@@ -1,7 +1,7 @@
 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 39/55] Update copyrights for dawn of 2015.
+Subject: [PATCH 39/71] Update copyrights for dawn of 2015.
 
 ---
  Makefile             | 2 +-
index 981e553e98f3a1bba7c034aa859901968bf67df7..9c3ac9c54207f2be1eef4019be6a64dcd59682e2 100644 (file)
@@ -1,7 +1,7 @@
 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 40/55] inotify documentation updates.
+Subject: [PATCH 40/71] inotify documentation updates.
 
 ---
  man/dnsmasq.8 | 11 +++++++++--
index 0c8aa9be304b4e16fdc11262db350cf48accfdfd..1fc1c73f0e8fe62f7f384ca81ae1adac8c04a7b8 100644 (file)
@@ -1,7 +1,7 @@
 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 41/55] Fix broken ECDSA DNSSEC signatures.
+Subject: [PATCH 41/71] Fix broken ECDSA DNSSEC signatures.
 
 ---
  CHANGELOG    | 2 ++
index 76f76ef757c9a33f8ad2cfd0bb1188f32537c765..750f113b1b3f112a6a82cd27555eefe0d9ba47a6 100644 (file)
@@ -1,7 +1,7 @@
 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 42/55] BSD make support
+Subject: [PATCH 42/71] BSD make support
 
 ---
  Makefile | 6 ++++--
index a3df61b89c54caf0110764a85c615185f061166c..aa55fe28ff53695fc7fdb6be591d579a26b25997 100644 (file)
@@ -1,7 +1,7 @@
 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 43/55] Fix build failure on openBSD.
+Subject: [PATCH 43/71] Fix build failure on openBSD.
 
 ---
  src/tables.c | 2 +-
index e0e384f54671d072d1ba031c6d24e2ec8fde20ce..bbc4d48733da45cfe7372a0563586f60e57eec84 100644 (file)
@@ -1,7 +1,7 @@
 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 44/55] Manpage typo fix.
+Subject: [PATCH 44/71] Manpage typo fix.
 
 ---
  man/dnsmasq.8 | 2 +-
index fc1b98a7055df0e895384a4291ed1eb773157899..2d43b93111423e8809ae9030bccb1ad15ba634eb 100644 (file)
@@ -1,7 +1,7 @@
 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 45/55] Fixup dhcp-configs after reading extra hostfiles with
+Subject: [PATCH 45/71] Fixup dhcp-configs after reading extra hostfiles with
  inotify.
 
 ---
index 803174af05e6dccc52e44ee1ff83dd11a45affee..8b173f275a40940a17370d41f76a8cd6cd06ce74 100644 (file)
@@ -1,7 +1,7 @@
 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 46/55] Extra logging for inotify code.
+Subject: [PATCH 46/71] Extra logging for inotify code.
 
 ---
  src/cache.c   | 9 ++++-----
index 6606a7ac41f8a79ef2b3919604d7e67b4b3b55f2..9710dfb090fe14941c76612b90f4928c40f1f8f4 100644 (file)
@@ -1,7 +1,7 @@
 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 47/55] man page typo.
+Subject: [PATCH 47/71] man page typo.
 
 ---
  man/dnsmasq.8 | 1 +
index 5633d9d00b53e9da8ef91366e238f1d9e060091b..fb7753c675b8d494ff8fb1ede91a1bbc50785682 100644 (file)
@@ -1,7 +1,7 @@
 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 48/55] Fix get-version script which returned wrong tag in some
+Subject: [PATCH 48/71] Fix get-version script which returned wrong tag in some
  situations.
 
 ---
index 8f64b39d5ab26a3f03dcddaf3a5fcf8476d3e619..c843bf25e2e3c2197eac820050afbdb6062f3782 100644 (file)
@@ -1,7 +1,7 @@
 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 49/55] Typos.
+Subject: [PATCH 49/71] Typos.
 
 ---
  src/inotify.c | 3 ++-
index af79802025299aafb2b55b44670fcdfb26c3971b..7b9a1b3d218dfc8bffac76311413e009de5c9e2b 100644 (file)
@@ -1,7 +1,7 @@
 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 50/55] Make dynamic hosts files work when --no-hosts set.
+Subject: [PATCH 50/71] Make dynamic hosts files work when --no-hosts set.
 
 ---
  src/cache.c | 21 +++++++++++----------
index 2c38cfc1a80d403efdb4f8442970e9c3c59dde69..a65ed21615c56fa9ea0e36c7f9f5618092b5c3e2 100644 (file)
@@ -1,7 +1,7 @@
 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 51/55] Fix trivial memory leaks to quieten valgrind.
+Subject: [PATCH 51/71] Fix trivial memory leaks to quieten valgrind.
 
 ---
  src/dnsmasq.c |  2 ++
index 46277fb4a644005eb8d4b55b7427c65f05594c99..69aeb92772e31520a5552115729af60e5258d94e 100644 (file)
@@ -1,7 +1,7 @@
 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 52/55] Fix uninitialized value used in get_client_mac()
+Subject: [PATCH 52/71] Fix uninitialized value used in get_client_mac()
 
 ---
  src/dhcp6.c | 4 +++-
index 95270301fc37480fcf36b34516e104451e059b7f..b37498edc376cfbb6b1e96a118ead027c19ba985 100644 (file)
@@ -1,15 +1,13 @@
 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 53/55] Log parsing utils in contrib/reverse-dns
+Subject: [PATCH 53/71] Log parsing utils in contrib/reverse-dns
 
 ---
  contrib/reverse-dns/README             | 18 ++++++++++++++++++
- contrib/reverse-dns/reverse_dns.sh     | 29 +++++++++++++++++++++++++++++
  contrib/reverse-dns/reverse_replace.sh | 28 ++++++++++++++++++++++++++++
3 files changed, 75 insertions(+)
2 files changed, 46 insertions(+)
  create mode 100644 contrib/reverse-dns/README
- create mode 100644 contrib/reverse-dns/reverse_dns.sh
  create mode 100644 contrib/reverse-dns/reverse_replace.sh
 
 diff --git a/contrib/reverse-dns/README b/contrib/reverse-dns/README
@@ -36,41 +34,6 @@ index 000000000000..f87eb77c4c22
 +Joachim\r
 +\r
 +\r
-diff --git a/contrib/reverse-dns/reverse_dns.sh b/contrib/reverse-dns/reverse_dns.sh
-new file mode 100644
-index 000000000000..c0fff300a947
---- /dev/null
-+++ b/contrib/reverse-dns/reverse_dns.sh
-@@ -0,0 +1,29 @@
-+#!/bin/bash
-+# $Id: reverse_dns.sh 4 2015-02-17 20:14:59Z jo $
-+#
-+# Usage: reverse_dns.sh IP
-+# Uses the dnsmasq query log to lookup the name 
-+# that was last queried to return the given IP.
-+#
-+
-+IP=$1
-+qmIP=`echo $IP | sed 's#\.#\\.#g'`
-+LOG=/var/log/dnsmasq.log
-+
-+IP_regex='^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$'
-+
-+if ! [[ $IP =~ $IP_regex ]]; then
-+  echo -n $IP
-+  exit
-+fi
-+
-+NAME=`tac $LOG | \
-+  grep " is $IP" | head -1 | \
-+  sed "s#.* \([^ ]*\) is $qmIP.*#\1#" `
-+
-+if [ -z "$NAME" ]; then
-+  echo -n $IP
-+else
-+  echo -n $NAME
-+fi
-+
 diff --git a/contrib/reverse-dns/reverse_replace.sh b/contrib/reverse-dns/reverse_replace.sh
 new file mode 100644
 index 000000000000..a11c164b7f19
index 2ff79d526bde3d144009ad9ef998de3b095ad277..5073440552d231095ef03ef515609e33721705fb 100644 (file)
@@ -1,7 +1,7 @@
 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 54/55] Add --dnssec-timestamp option and facility.
+Subject: [PATCH 54/71] Add --dnssec-timestamp option and facility.
 
 ---
  CHANGELOG     |  6 +++++
index 54bb5d597c3494522d8b5c3c41a68a6f07d68c0a..768e14a9c14b05e5a572abbf03726f5607eead65 100644 (file)
@@ -1,7 +1,7 @@
 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 55/55] Fix last commit to not crash if uid changing not
+Subject: [PATCH 55/71] Fix last commit to not crash if uid changing not
  configured.
 
 ---
index 9a052152c260a2786f8438c5ea03294f0b740d4b..d39a058edaa0f98b9d863adcc6f473d3b1c1a158 100644 (file)
@@ -1,7 +1,7 @@
 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 56/57] New version of contrib/reverse-dns
+Subject: [PATCH 56/71] New version of contrib/reverse-dns
 
 ---
  contrib/reverse-dns/README             |  22 +++---
index df47cd0e3a5f829b0977652d525d90db52694fb3..462d57250ac3af1ae65fa76836985ef4f979e3cd 100644 (file)
@@ -1,7 +1,7 @@
 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 57/57] Tweak DNSSEC timestamp code to create file later,
+Subject: [PATCH 57/71] Tweak DNSSEC timestamp code to create file later,
  removing need to chown it.
 
 ---
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
new file mode 100644 (file)
index 0000000..aa30241
--- /dev/null
@@ -0,0 +1,458 @@
+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 58/71] 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
new file mode 100644 (file)
index 0000000..6a2a0f4
--- /dev/null
@@ -0,0 +1,75 @@
+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 59/71] 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
new file mode 100644 (file)
index 0000000..1eb504b
--- /dev/null
@@ -0,0 +1,80 @@
+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 60/71] 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
new file mode 100644 (file)
index 0000000..b566ebf
--- /dev/null
@@ -0,0 +1,27 @@
+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 61/71] 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
new file mode 100644 (file)
index 0000000..a660450
--- /dev/null
@@ -0,0 +1,48 @@
+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 62/71] 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
new file mode 100644 (file)
index 0000000..93161d0
--- /dev/null
@@ -0,0 +1,37 @@
+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 63/71] 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
new file mode 100644 (file)
index 0000000..389beee
--- /dev/null
@@ -0,0 +1,197 @@
+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 64/71] 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
new file mode 100644 (file)
index 0000000..69f6081
--- /dev/null
@@ -0,0 +1,246 @@
+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 65/71] 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
new file mode 100644 (file)
index 0000000..04a865f
--- /dev/null
@@ -0,0 +1,30 @@
+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 66/71] 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
new file mode 100644 (file)
index 0000000..090da5c
--- /dev/null
@@ -0,0 +1,20329 @@
+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 67/71] 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
new file mode 100644 (file)
index 0000000..3439cc1
--- /dev/null
@@ -0,0 +1,199 @@
+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 68/71] 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
new file mode 100644 (file)
index 0000000..6784ee3
--- /dev/null
@@ -0,0 +1,85 @@
+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 69/71] 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
new file mode 100644 (file)
index 0000000..1350ca6
--- /dev/null
@@ -0,0 +1,254 @@
+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 70/71] 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
new file mode 100644 (file)
index 0000000..83cdb0c
--- /dev/null
@@ -0,0 +1,26 @@
+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 71/71] 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
+