mirror of
http://thekelleys.org.uk/git/dnsmasq.git
synced 2026-11-04 13:48:30 +00:00
Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
63ec5d1264 | ||
|
|
f6381cf482 | ||
|
|
34b5d19488 | ||
|
|
d6cb7e4815 | ||
|
|
d389e0191b | ||
|
|
d3699bb6bc | ||
|
|
13480e8c2a | ||
|
|
5b3b93f80a | ||
|
|
b69e845b1c |
No files matched your search
@@ -1,3 +1,9 @@
|
||||
version 2.75
|
||||
Fix reversion on 2.74 which caused 100% CPU use when a
|
||||
dhcp-script is configured. Thanks to Adrian Davey for
|
||||
reporting the bug and testing the fix.
|
||||
|
||||
|
||||
version 2.74
|
||||
Fix reversion in 2.73 where --conf-file would attempt to
|
||||
read the default file, rather than no file.
|
||||
@@ -5,6 +11,10 @@ version 2.74
|
||||
Fix inotify code to handle dangling symlinks better and
|
||||
not SEGV in some circumstances.
|
||||
|
||||
DNSSEC fix. In the case of a signed CNAME generated by a
|
||||
wildcard which pointed to an unsigned domain, the wrong
|
||||
status would be logged, and some necessary checks omitted.
|
||||
|
||||
|
||||
version 2.73
|
||||
Fix crash at startup when an empty suffix is supplied to
|
||||
|
||||
Vendored
+8
-2
@@ -1,8 +1,14 @@
|
||||
dnsmasq (2.75-1) unstable; urgency=low
|
||||
|
||||
* New upstream. (closes: #794095)
|
||||
|
||||
-- Simon Kelley <simon@thekelleys.org.uk> Thur, 30 Jul 2015 20:58:31 +0000
|
||||
|
||||
dnsmasq (2.74-1) unstable; urgency=low
|
||||
|
||||
* New upstream.
|
||||
* New upstream. (LP: #1468611)
|
||||
|
||||
-- Simon Kelley <simon@thekelleys.org.uk> Thu, 7 Jul 2015 21:54:11 +0000
|
||||
-- Simon Kelley <simon@thekelleys.org.uk> Wed, 15 Jul 2015 21:54:11 +0000
|
||||
|
||||
dnsmasq (2.73-2) unstable; urgency=low
|
||||
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
# Simon Kelley <simon@thekelleys.org.uk>, 2005.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: dnsmasq 2.73\n"
|
||||
"Project-Id-Version: dnsmasq 2.74\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-06-18 12:24+0100\n"
|
||||
"PO-Revision-Date: 2015-01-19 15:43+0100\n"
|
||||
"PO-Revision-Date: 2015-07-22 23:07+0200\n"
|
||||
"Last-Translator: Conrad Kostecki <ck@conrad-kostecki.de>\n"
|
||||
"Language-Team: German <de@li.org>\n"
|
||||
"Language: de\n"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.7.3\n"
|
||||
"X-Generator: Poedit 1.8.3\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
#: cache.c:523
|
||||
@@ -191,14 +191,12 @@ msgid "Read DHCP option specs from file."
|
||||
msgstr "DHCP-Optionen aus Datei lesen."
|
||||
|
||||
#: option.c:348
|
||||
#, fuzzy
|
||||
msgid "Read DHCP host specs from a directory."
|
||||
msgstr "DHCP-Host-Angaben aus Datei lesen."
|
||||
msgstr "DHCP-Host-Angaben aus einem Verzeichnis lesen."
|
||||
|
||||
#: option.c:349
|
||||
#, fuzzy
|
||||
msgid "Read DHCP options from a directory."
|
||||
msgstr "DHCP-Optionen aus Datei lesen."
|
||||
msgstr "DHCP-Optionen aus einem Verzeichnis lesen."
|
||||
|
||||
#: option.c:350
|
||||
msgid "Evaluate conditional tag expression."
|
||||
@@ -215,9 +213,8 @@ 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:353
|
||||
#, fuzzy
|
||||
msgid "Read hosts files from a directory."
|
||||
msgstr "DHCP-Host-Angaben aus Datei lesen."
|
||||
msgstr "DHCP-Host-Dateien aus einem Verzeichnis lesen."
|
||||
|
||||
#: option.c:354
|
||||
msgid "Specify interface(s) to listen on."
|
||||
@@ -361,14 +358,12 @@ 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:388
|
||||
#, fuzzy
|
||||
msgid "Specify time-to-live ceiling for cache."
|
||||
msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
|
||||
msgstr "Spezifiziere time-to-live ceiling für Cache."
|
||||
|
||||
#: option.c:389
|
||||
#, fuzzy
|
||||
msgid "Specify time-to-live floor for cache."
|
||||
msgstr "Gültigkeitsdauer in Sekunden für Caching negativer Ergebnisse festlegen."
|
||||
msgstr "Spezifiziere time-to-live floor für Cache."
|
||||
|
||||
#: option.c:390
|
||||
#, c-format
|
||||
@@ -514,7 +509,7 @@ msgstr "Zugriff nur auf Dateien gestatten, die dem dnsmasq aufrufenden Benutzer
|
||||
|
||||
#: option.c:424
|
||||
msgid "Do not terminate the service if TFTP directories are inaccessible."
|
||||
msgstr ""
|
||||
msgstr "Der Dienst sollte nicht beendet werden, wenn die TFTP-Verzeichnisse nicht zugreifbar sind."
|
||||
|
||||
#: option.c:425
|
||||
#, c-format
|
||||
@@ -704,7 +699,7 @@ msgstr "DNSSEC Signatur-Zeitstempel nicht prüfen, bis erstmalig der Cache neuge
|
||||
|
||||
#: option.c:471
|
||||
msgid "Timestamp file to verify system clock for DNSSEC"
|
||||
msgstr ""
|
||||
msgstr "Zeitstempel-Datei für die Verifizierung der Systemuhrzeit für DNSSEC"
|
||||
|
||||
#: option.c:473
|
||||
msgid "Specify DHCPv6 prefix class"
|
||||
@@ -736,7 +731,7 @@ msgstr "Erkennen und Entfernen von DNS-Weiterleitungsschleifen"
|
||||
|
||||
#: option.c:481
|
||||
msgid "Ignore DNS responses containing ipaddr."
|
||||
msgstr ""
|
||||
msgstr "Ignoriere DNS-Antworten, welche ipaddr enthalten."
|
||||
|
||||
#: option.c:683
|
||||
#, c-format
|
||||
@@ -1090,34 +1085,34 @@ msgstr "versuchen Sie -w"
|
||||
msgid "bad command line options: %s"
|
||||
msgstr "unzulässige Optionen auf der Befehlszeile: %s"
|
||||
|
||||
#: option.c:4541
|
||||
#: option.c:4544
|
||||
#, c-format
|
||||
msgid "cannot get host-name: %s"
|
||||
msgstr "kann Hostnamen nicht ermitteln: %s"
|
||||
|
||||
#: option.c:4569
|
||||
#: option.c:4572
|
||||
msgid "only one resolv.conf file allowed in no-poll mode."
|
||||
msgstr "mit -n/--no-poll ist nur eine resolv.conf-Datei zulässig."
|
||||
|
||||
#: option.c:4579
|
||||
#: option.c:4582
|
||||
msgid "must have exactly one resolv.conf to read domain from."
|
||||
msgstr "Um die Domäne zu lesen, muss genau eine resolv.conf-Datei verwendet werden."
|
||||
|
||||
#: option.c:4582 network.c:1507 dhcp.c:777
|
||||
#: option.c:4585 network.c:1507 dhcp.c:777
|
||||
#, c-format
|
||||
msgid "failed to read %s: %s"
|
||||
msgstr "konnte %s nicht lesen: %s"
|
||||
|
||||
#: option.c:4599
|
||||
#: option.c:4602
|
||||
#, c-format
|
||||
msgid "no search directive found in %s"
|
||||
msgstr "keine \"search\"-Anweisung in %s gefunden"
|
||||
|
||||
#: option.c:4620
|
||||
#: option.c:4623
|
||||
msgid "there must be a default domain when --dhcp-fqdn is set"
|
||||
msgstr "Es muss eine standard Domain gesetzt sein, wenn --dhcp-fqdn gesetzt ist"
|
||||
|
||||
#: option.c:4629
|
||||
#: option.c:4632
|
||||
msgid "syntax check OK"
|
||||
msgstr "Syntaxprüfung OK"
|
||||
|
||||
@@ -1140,11 +1135,11 @@ msgstr "Namensserver %s hat eine rekursive Anfrage verweigert"
|
||||
msgid "possible DNS-rebind attack detected: %s"
|
||||
msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s"
|
||||
|
||||
#: forward.c:1209 forward.c:1815
|
||||
#: forward.c:1209 forward.c:1785
|
||||
msgid "Ignoring query from non-local network"
|
||||
msgstr "Ignoriere Anfragen vom nicht lokalen Netzwerk"
|
||||
|
||||
#: forward.c:2286
|
||||
#: forward.c:2256
|
||||
#, c-format
|
||||
msgid "Maximum number of concurrent DNS queries reached (max: %d)"
|
||||
msgstr "Maximale Anzahl an nebenläufiger DNS-Anfragen erreicht (Max: %d)"
|
||||
@@ -1237,15 +1232,13 @@ msgstr "Benutze Namensserver %s#%d"
|
||||
|
||||
#: dnsmasq.c:163
|
||||
msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
|
||||
msgstr ""
|
||||
msgstr "dhcp-hostsdir, dhcp-optsdir und hostsdir sind auf dieser Plattform nicht unterstüzt"
|
||||
|
||||
#: dnsmasq.c:170
|
||||
#, fuzzy
|
||||
msgid "no trust anchors provided for DNSSEC"
|
||||
msgstr "Keine Vertrauensursprünge (Trust Anchor) für DNSSEC verfügbar"
|
||||
|
||||
#: dnsmasq.c:173
|
||||
#, fuzzy
|
||||
msgid "cannot reduce cache size from default when DNSSEC enabled"
|
||||
msgstr "Kann die Standard Cachegröße nicht verkleinern, wenn DNSSEC aktiviert ist"
|
||||
|
||||
@@ -1258,14 +1251,12 @@ 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:186
|
||||
#, fuzzy
|
||||
msgid "cannot use --conntrack AND --query-port"
|
||||
msgstr "Kann nicht --conntrack UND --query-port einsetzen"
|
||||
|
||||
#: dnsmasq.c:189
|
||||
#, fuzzy
|
||||
msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
|
||||
msgstr "Conntrack-Unterstützung nicht verfügbar: setze HAVE_CONNTRACK in src/config.h"
|
||||
msgstr "Conntrack-Unterstützung nicht verfügbar: Aktiviere HAVE_CONNTRACK in src/config.h"
|
||||
|
||||
#: dnsmasq.c:194
|
||||
msgid "asychronous logging is not available under Solaris"
|
||||
@@ -1280,9 +1271,8 @@ msgid "authoritative DNS not available: set HAVE_AUTH in src/config.h"
|
||||
msgstr "Authoritatives DNS nicht verfügbar: Es muss HAVE_AUTH in src/config.h gesetzt sein"
|
||||
|
||||
#: dnsmasq.c:209
|
||||
#, fuzzy
|
||||
msgid "loop detection not available: set HAVE_LOOP in src/config.h"
|
||||
msgstr "Loop-Erkennung nicht verfügbar, setzen Sie HAVE_LOOP in src/config.h"
|
||||
msgstr "Loop-Erkennung nicht verfügbar, Aktiviere HAVE_LOOP in src/config.h"
|
||||
|
||||
#: dnsmasq.c:217
|
||||
msgid "zone serial must be configured in --auth-soa"
|
||||
@@ -1306,7 +1296,7 @@ msgstr "konnte Schnitstellenliste nicht beziehen: %s"
|
||||
msgid "unknown interface %s"
|
||||
msgstr "unbekannte Schnittstelle %s"
|
||||
|
||||
#: dnsmasq.c:354 dnsmasq.c:997
|
||||
#: dnsmasq.c:354 dnsmasq.c:1037
|
||||
#, c-format
|
||||
msgid "DBus error: %s"
|
||||
msgstr "DBus-Fehler: %s"
|
||||
@@ -1367,9 +1357,8 @@ 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:733
|
||||
#, fuzzy
|
||||
msgid "DNSSEC signature timestamps not checked until system time valid"
|
||||
msgstr "DNSSEC Signatur-Zeitstempel werden erst ab dem ersten Neuladen des Caches überprüft"
|
||||
msgstr "DNSSEC Signatur-Zeitstempel werden erst überprüft, sobald die Systemuhrzeit gültig ist"
|
||||
|
||||
#: dnsmasq.c:738
|
||||
#, c-format
|
||||
@@ -1408,121 +1397,121 @@ 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:804
|
||||
#: dnsmasq.c:808
|
||||
msgid "root is "
|
||||
msgstr "Wurzel ist "
|
||||
|
||||
#: dnsmasq.c:804
|
||||
#: dnsmasq.c:808
|
||||
msgid "enabled"
|
||||
msgstr "Aktiviert"
|
||||
|
||||
#: dnsmasq.c:806
|
||||
#: dnsmasq.c:810
|
||||
msgid "secure mode"
|
||||
msgstr "sicherer Modus"
|
||||
|
||||
#: dnsmasq.c:809
|
||||
#: dnsmasq.c:813
|
||||
#, c-format
|
||||
msgid "warning: %s inaccessible"
|
||||
msgstr ""
|
||||
msgstr "Warnung: %s nicht zugreifbar"
|
||||
|
||||
#: dnsmasq.c:813
|
||||
#, fuzzy, c-format
|
||||
#: dnsmasq.c:817
|
||||
#, c-format
|
||||
msgid "warning: TFTP directory %s inaccessible"
|
||||
msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
|
||||
msgstr "Warnung: Das TFTP-Verzeichnis %s ist nicht zugreifbar"
|
||||
|
||||
#: dnsmasq.c:839
|
||||
#: dnsmasq.c:843
|
||||
#, c-format
|
||||
msgid "restricting maximum simultaneous TFTP transfers to %d"
|
||||
msgstr "Begrenze gleichzeitige TFTP-Übertragungen auf maximal %d"
|
||||
|
||||
#: dnsmasq.c:999
|
||||
#: dnsmasq.c:1039
|
||||
msgid "connected to system DBus"
|
||||
msgstr "Mit System-DBus verbunden"
|
||||
|
||||
#: dnsmasq.c:1149
|
||||
#: dnsmasq.c:1189
|
||||
#, c-format
|
||||
msgid "cannot fork into background: %s"
|
||||
msgstr "kann nicht in den Hintergrund abspalten: %s"
|
||||
|
||||
#: dnsmasq.c:1152
|
||||
#: dnsmasq.c:1192
|
||||
#, c-format
|
||||
msgid "failed to create helper: %s"
|
||||
msgstr "kann Helfer nicht erzeugen: %s"
|
||||
|
||||
#: dnsmasq.c:1155
|
||||
#: dnsmasq.c:1195
|
||||
#, c-format
|
||||
msgid "setting capabilities failed: %s"
|
||||
msgstr "kann \"capabilities\" nicht setzen: %s"
|
||||
|
||||
#: dnsmasq.c:1158
|
||||
#: dnsmasq.c:1198
|
||||
#, c-format
|
||||
msgid "failed to change user-id to %s: %s"
|
||||
msgstr "Kann nicht Benutzerrechte %s annehmen: %s"
|
||||
|
||||
#: dnsmasq.c:1161
|
||||
#: dnsmasq.c:1201
|
||||
#, c-format
|
||||
msgid "failed to change group-id to %s: %s"
|
||||
msgstr "Kann nicht Gruppenrechte %s annehmen: %s"
|
||||
|
||||
#: dnsmasq.c:1164
|
||||
#: dnsmasq.c:1204
|
||||
#, c-format
|
||||
msgid "failed to open pidfile %s: %s"
|
||||
msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
|
||||
|
||||
#: dnsmasq.c:1167
|
||||
#: dnsmasq.c:1207
|
||||
#, c-format
|
||||
msgid "cannot open log %s: %s"
|
||||
msgstr "Kann Logdatei %s nicht öffnen: %s"
|
||||
|
||||
#: dnsmasq.c:1170
|
||||
#: dnsmasq.c:1210
|
||||
#, c-format
|
||||
msgid "failed to load Lua script: %s"
|
||||
msgstr "Konnte Lua-Script nicht laden: %s"
|
||||
|
||||
#: dnsmasq.c:1173
|
||||
#: dnsmasq.c:1213
|
||||
#, c-format
|
||||
msgid "TFTP directory %s inaccessible: %s"
|
||||
msgstr "Das TFTP-Verzeichnis %s ist nicht zugreifbar: %s"
|
||||
|
||||
#: dnsmasq.c:1176
|
||||
#, fuzzy, c-format
|
||||
#: dnsmasq.c:1216
|
||||
#, c-format
|
||||
msgid "cannot create timestamp file %s: %s"
|
||||
msgstr "kann Lease-Datei %s nicht öffnen: %s"
|
||||
msgstr "Kann keine timestamp-Datei %s erzeugen: %s "
|
||||
|
||||
#: dnsmasq.c:1197
|
||||
#: dnsmasq.c:1237
|
||||
msgid "now checking DNSSEC signature timestamps"
|
||||
msgstr "Prüfe jetzt DNSSEC Signatur-Zeitstempel"
|
||||
|
||||
#: dnsmasq.c:1264
|
||||
#: dnsmasq.c:1304
|
||||
#, c-format
|
||||
msgid "script process killed by signal %d"
|
||||
msgstr "Scriptprozess durch Signal %d getötet"
|
||||
|
||||
#: dnsmasq.c:1268
|
||||
#: dnsmasq.c:1308
|
||||
#, c-format
|
||||
msgid "script process exited with status %d"
|
||||
msgstr "Scriptprozess hat sich mit Status %d beendet"
|
||||
|
||||
#: dnsmasq.c:1272
|
||||
#: dnsmasq.c:1312
|
||||
#, c-format
|
||||
msgid "failed to execute %s: %s"
|
||||
msgstr "konnte %s nicht ausführen: %s"
|
||||
|
||||
#: dnsmasq.c:1327
|
||||
#: dnsmasq.c:1367
|
||||
msgid "exiting on receipt of SIGTERM"
|
||||
msgstr "beende nach Empfang von SIGTERM"
|
||||
|
||||
#: dnsmasq.c:1355
|
||||
#: dnsmasq.c:1395
|
||||
#, c-format
|
||||
msgid "failed to access %s: %s"
|
||||
msgstr "konnte auf %s nicht zugreifen: %s"
|
||||
|
||||
#: dnsmasq.c:1385
|
||||
#: dnsmasq.c:1425
|
||||
#, c-format
|
||||
msgid "reading %s"
|
||||
msgstr "lese %s"
|
||||
|
||||
#: dnsmasq.c:1396
|
||||
#: dnsmasq.c:1436
|
||||
#, c-format
|
||||
msgid "no servers found in %s, will retry"
|
||||
msgstr "keine Server in %s gefunden, werde es später neu versuchen"
|
||||
@@ -1806,12 +1795,12 @@ msgstr "Versuch, via DBus eine IPv6-Serveradresse zu setzen: keine IPv6-Unterst
|
||||
#: dbus.c:439
|
||||
#, c-format
|
||||
msgid "Enabling --%s option from D-Bus"
|
||||
msgstr ""
|
||||
msgstr "Aktiviere --%s Option von D-Bus"
|
||||
|
||||
#: dbus.c:444
|
||||
#, c-format
|
||||
msgid "Disabling --%s option from D-Bus"
|
||||
msgstr ""
|
||||
msgstr "Deaktiviere --%s Option von D-Bus"
|
||||
|
||||
#: dbus.c:691
|
||||
msgid "setting upstream servers from DBus"
|
||||
@@ -1883,7 +1872,7 @@ msgstr "Überlauf: %d Protokolleinträge verloren"
|
||||
msgid "log failed: %s"
|
||||
msgstr "Protokollierung fehlgeschlagen: %s"
|
||||
|
||||
#: log.c:469
|
||||
#: log.c:472
|
||||
msgid "FAILED to start up"
|
||||
msgstr "Start fehlgeschlagen"
|
||||
|
||||
@@ -2087,9 +2076,9 @@ msgid "failed to create IPset control socket: %s"
|
||||
msgstr "konnte IPset-Kontroll-Socket nicht erzeugen: %s"
|
||||
|
||||
#: dnssec.c:449 dnssec.c:493
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "failed to update mtime on %s: %s"
|
||||
msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
|
||||
msgstr "kann die mtime nicht auf %s aktualisieren: %s"
|
||||
|
||||
#: blockdata.c:58
|
||||
#, c-format
|
||||
@@ -2139,44 +2128,35 @@ msgstr "Warnung: DIOCR%sADDRS: %s"
|
||||
msgid "%d addresses %s"
|
||||
msgstr "%d Adressen %s"
|
||||
|
||||
#: inotify.c:59
|
||||
#, fuzzy, c-format
|
||||
msgid "cannot access path %s: %s"
|
||||
msgstr "Kann auf %s nicht zugreifen: %s"
|
||||
|
||||
#: inotify.c:92
|
||||
#, fuzzy, c-format
|
||||
msgid "failed to create inotify: %s"
|
||||
msgstr "kann Helfer nicht erzeugen: %s"
|
||||
|
||||
#: inotify.c:105
|
||||
#: inotify.c:46
|
||||
#, c-format
|
||||
msgid "too many symlinks following %s"
|
||||
msgstr ""
|
||||
msgid "failed to create inotify: %s"
|
||||
msgstr "Kann kein inotify erzeugen: %s"
|
||||
|
||||
#: inotify.c:121
|
||||
#: inotify.c:60
|
||||
#, c-format
|
||||
msgid "cannot cannonicalise resolv-file %s: %s"
|
||||
msgstr "Kann die resolv-file %s nicht kanonisieren: %s"
|
||||
|
||||
#: inotify.c:72
|
||||
#, c-format
|
||||
msgid "directory %s for resolv-file is missing, cannot poll"
|
||||
msgstr ""
|
||||
msgstr "Verzeichnis %s für resolv-file fehlt, kann nicht pollen"
|
||||
|
||||
#: inotify.c:125 inotify.c:162
|
||||
#, fuzzy, c-format
|
||||
#: inotify.c:75 inotify.c:112
|
||||
#, c-format
|
||||
msgid "failed to create inotify for %s: %s"
|
||||
msgstr "Konnte Empfangs-Socket für %s: %s nicht erzeugen"
|
||||
msgstr "Konnte inotify für %s: %s nicht erzeugen"
|
||||
|
||||
#: inotify.c:147
|
||||
#, fuzzy, c-format
|
||||
#: inotify.c:97
|
||||
#, c-format
|
||||
msgid "bad dynamic directory %s: %s"
|
||||
msgstr "Kann auf Verzeichnis %s nicht zugreifen: %s"
|
||||
msgstr "fehlerhaftes dynamisches Verzeichnis %s: %s"
|
||||
|
||||
#: inotify.c:247
|
||||
#: inotify.c:197
|
||||
#, c-format
|
||||
msgid "inotify, new or changed file %s"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "cannot cannonicalise resolv-file %s: %s"
|
||||
#~ msgstr "kann Lease-Datei %s nicht öffnen: %s"
|
||||
msgstr "inotify, neue oder geänderte Datei %s"
|
||||
|
||||
#~ msgid "no interface with address %s"
|
||||
#~ msgstr "keine Schnittstelle mit Adresse %s"
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
# This file is put in the public domain.
|
||||
#
|
||||
# Tomasz Sochański <nerdhero@gmail.com>, 2005.
|
||||
# Jan Psota <jasiupsota@gmail.com>, 2008, 2009, 2010, 2011, 2013.
|
||||
# Jan Psota <jasiupsota@gmail.com>, 2008-2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: pl\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2009-06-10 20:57+0100\n"
|
||||
"PO-Revision-Date: 2014-09-23 12:45+0100\n"
|
||||
"PO-Revision-Date: 2015-07-15 02:08+0100\n"
|
||||
"Last-Translator: Jan Psota <jasiupsota@gmail.com>\n"
|
||||
"Language-Team: polski <>\n"
|
||||
"Language: pl\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"X-Generator: Poedit 1.6.9\n"
|
||||
"X-Generator: Poedit 1.5.5\n"
|
||||
"X-Language: pl_PL\n"
|
||||
|
||||
#: cache.c:523
|
||||
@@ -185,14 +185,12 @@ msgid "Read DHCP option specs from file."
|
||||
msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
|
||||
|
||||
#: option.c:348
|
||||
#, fuzzy
|
||||
msgid "Read DHCP host specs from a directory."
|
||||
msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
|
||||
msgstr "Odczyt specyfikacji hostów dla DHCP z katalogu."
|
||||
|
||||
#: option.c:349
|
||||
#, fuzzy
|
||||
msgid "Read DHCP options from a directory."
|
||||
msgstr "Wskazanie pliku z wartościami 'dhcp-option='."
|
||||
msgstr "Odczyt opcji DHCP z katalogu."
|
||||
|
||||
#: option.c:350
|
||||
msgid "Evaluate conditional tag expression."
|
||||
@@ -209,9 +207,8 @@ msgid "Specify a hosts file to be read in addition to %s."
|
||||
msgstr "Wskazanie dodatkowego pliku 'hosts' oprócz %s."
|
||||
|
||||
#: option.c:353
|
||||
#, fuzzy
|
||||
msgid "Read hosts files from a directory."
|
||||
msgstr "Wskazanie pliku z wartościami 'dhcp-host='."
|
||||
msgstr "Odczyt pliku hostów z katalogu."
|
||||
|
||||
#: option.c:354
|
||||
msgid "Specify interface(s) to listen on."
|
||||
@@ -355,14 +352,12 @@ 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:388
|
||||
#, fuzzy
|
||||
msgid "Specify time-to-live ceiling for cache."
|
||||
msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
|
||||
msgstr "Określenie górnej granicy czasu ważności dla wpisów w pamięci podręcznej."
|
||||
|
||||
#: option.c:389
|
||||
#, fuzzy
|
||||
msgid "Specify time-to-live floor for cache."
|
||||
msgstr "Określenie (w sekundach) czasu ważności negatywnych odpowiedzi."
|
||||
msgstr "Określenie dolnej granicy czasu ważności dla wpisów w pamięci podręcznej."
|
||||
|
||||
#: option.c:390
|
||||
#, c-format
|
||||
@@ -508,7 +503,7 @@ msgstr "Ograniczenie dostępu do plików przez TFTP do tych, których właścici
|
||||
|
||||
#: option.c:424
|
||||
msgid "Do not terminate the service if TFTP directories are inaccessible."
|
||||
msgstr ""
|
||||
msgstr "Nieprzerywanie działania serwisu mimo braku dostępu do katalogów TFTP."
|
||||
|
||||
#: option.c:425
|
||||
#, c-format
|
||||
@@ -697,7 +692,7 @@ msgstr "Wyłączenie sprawdzania sygnatur czasowych DNSSEC do pierwszego przeła
|
||||
|
||||
#: option.c:471
|
||||
msgid "Timestamp file to verify system clock for DNSSEC"
|
||||
msgstr ""
|
||||
msgstr "Plik znacznika czasu do weryfikacji zegara systemowego dla potrzeb DNSSEC."
|
||||
|
||||
#: option.c:473
|
||||
msgid "Specify DHCPv6 prefix class"
|
||||
@@ -729,7 +724,7 @@ msgstr "Wykrywanie i usuwanie pętli zapytań DNS."
|
||||
|
||||
#: option.c:481
|
||||
msgid "Ignore DNS responses containing ipaddr."
|
||||
msgstr ""
|
||||
msgstr "Ignorowanie odpowiedzi DNS zawierających ipaddr."
|
||||
|
||||
#: option.c:683
|
||||
#, c-format
|
||||
@@ -1228,17 +1223,15 @@ msgstr "używam serwera nazw %s#%d"
|
||||
|
||||
#: dnsmasq.c:163
|
||||
msgid "dhcp-hostsdir, dhcp-optsdir and hostsdir are not supported on this platform"
|
||||
msgstr ""
|
||||
msgstr "dhcp-hostsdir, dhcp-optsdir i hostsdir nie znajdują zastosowania na tej platformie"
|
||||
|
||||
#: dnsmasq.c:170
|
||||
#, fuzzy
|
||||
msgid "no trust anchors provided for DNSSEC"
|
||||
msgstr "Nie wskazano punktów zaufania dla DNSSEC."
|
||||
msgstr "nie wskazano punktów zaufania dla DNSSEC"
|
||||
|
||||
#: dnsmasq.c:173
|
||||
#, fuzzy
|
||||
msgid "cannot reduce cache size from default when DNSSEC enabled"
|
||||
msgstr "Brak możliwości zmniejszenia pamięci podręcznej poniżej wielkości domyślnej w przypadku używania DNSSEC."
|
||||
msgstr "brak możliwości zmniejszenia pamięci podręcznej poniżej wielkości domyślnej w przypadku używania DNSSEC"
|
||||
|
||||
#: dnsmasq.c:175
|
||||
msgid "DNSSEC not available: set HAVE_DNSSEC in src/config.h"
|
||||
@@ -1249,14 +1242,12 @@ 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:186
|
||||
#, fuzzy
|
||||
msgid "cannot use --conntrack AND --query-port"
|
||||
msgstr "--conntrack i --query-port wykluczają się wzajemnie"
|
||||
msgstr "--conntrack i --query-port wzajemnie się wykluczają"
|
||||
|
||||
#: dnsmasq.c:189
|
||||
#, fuzzy
|
||||
msgid "conntrack support not available: set HAVE_CONNTRACK in src/config.h"
|
||||
msgstr "Wsparcie dla przekazywania znaczników połączeń (conntrack) nie zostało wkompilowane - ustaw HAVE_CONNTRACK w src/config.h"
|
||||
msgstr "wsparcie przekazywania znaczników połączeń (conntrack) nie zostało wkompilowane - ustaw HAVE_CONNTRACK w src/config.h"
|
||||
|
||||
#: dnsmasq.c:194
|
||||
msgid "asychronous logging is not available under Solaris"
|
||||
@@ -1271,9 +1262,8 @@ 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:209
|
||||
#, fuzzy
|
||||
msgid "loop detection not available: set HAVE_LOOP in src/config.h"
|
||||
msgstr "Wykrywanie pętli zapytań nie zostało wkompilowane - ustaw HAVE_LOOP w src/config.h"
|
||||
msgstr "wykrywanie pętli zapytań nie zostało wkompilowane - ustaw HAVE_LOOP w src/config.h"
|
||||
|
||||
#: dnsmasq.c:217
|
||||
msgid "zone serial must be configured in --auth-soa"
|
||||
@@ -1357,14 +1347,13 @@ 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:733
|
||||
#, fuzzy
|
||||
msgid "DNSSEC signature timestamps not checked until system time valid"
|
||||
msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu przeładowania pamięci podręcznej"
|
||||
msgstr "sprawdzanie sygnatur czasowych DNSSEC wyłączone do czasu zsynchronizowania się zegara systemowego"
|
||||
|
||||
#: dnsmasq.c:738
|
||||
#, c-format
|
||||
msgid "warning: failed to change owner of %s: %s"
|
||||
msgstr "UWAGA! Nie udało się zmienić użytkownika pliku %s: %s"
|
||||
msgstr "uwaga: nie udało się zmienić użytkownika pliku %s: %s"
|
||||
|
||||
#: dnsmasq.c:742
|
||||
msgid "setting --bind-interfaces option because of OS limitations"
|
||||
@@ -1412,12 +1401,12 @@ msgstr "w trybie bezpiecznym"
|
||||
#: dnsmasq.c:809
|
||||
#, c-format
|
||||
msgid "warning: %s inaccessible"
|
||||
msgstr ""
|
||||
msgstr "uwaga: %s niedostępny"
|
||||
|
||||
#: dnsmasq.c:813
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "warning: TFTP directory %s inaccessible"
|
||||
msgstr "katalog TFTP %s nie jest dostępny: %s"
|
||||
msgstr "uwaga: katalog TFTP %s nie jest dostępny"
|
||||
|
||||
#: dnsmasq.c:839
|
||||
#, c-format
|
||||
@@ -1474,9 +1463,9 @@ msgid "TFTP directory %s inaccessible: %s"
|
||||
msgstr "katalog TFTP %s nie jest dostępny: %s"
|
||||
|
||||
#: dnsmasq.c:1176
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "cannot create timestamp file %s: %s"
|
||||
msgstr "nie potrafię otworzyć albo utworzyć pliku dzierżaw %s: %s"
|
||||
msgstr "nie potrafię utworzyć pliku znacznika czasu %s: %s"
|
||||
|
||||
#: dnsmasq.c:1197
|
||||
msgid "now checking DNSSEC signature timestamps"
|
||||
@@ -1789,12 +1778,12 @@ msgstr "próba ustawienia adresu IPv6 serwera przez DBus, ale brak obsługi IPv6
|
||||
#: dbus.c:439
|
||||
#, c-format
|
||||
msgid "Enabling --%s option from D-Bus"
|
||||
msgstr ""
|
||||
msgstr "opcja --%s została właśnie aktywowana za pomocą D-Bus"
|
||||
|
||||
#: dbus.c:444
|
||||
#, c-format
|
||||
msgid "Disabling --%s option from D-Bus"
|
||||
msgstr ""
|
||||
msgstr "opcja --%s została właśnie dezaktywowana za pomocą D-Bus"
|
||||
|
||||
#: dbus.c:691
|
||||
msgid "setting upstream servers from DBus"
|
||||
@@ -2069,9 +2058,9 @@ msgid "failed to create IPset control socket: %s"
|
||||
msgstr "nie powiodło się otwieranie gniazda sterującego IPset: %s"
|
||||
|
||||
#: dnssec.c:449 dnssec.c:493
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "failed to update mtime on %s: %s"
|
||||
msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
|
||||
msgstr "nie udało się uaktualnić znacznika czasu pliku %s: %s"
|
||||
|
||||
#: blockdata.c:58
|
||||
#, c-format
|
||||
@@ -2122,39 +2111,39 @@ msgid "%d addresses %s"
|
||||
msgstr "%d adresów %s"
|
||||
|
||||
#: inotify.c:59
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "cannot access path %s: %s"
|
||||
msgstr "brak dostępu do %s: %s"
|
||||
msgstr "brak dostępu do katalogu %s: %s"
|
||||
|
||||
#: inotify.c:92
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "failed to create inotify: %s"
|
||||
msgstr "nie udało się utworzyć procesu pomocniczego: %s"
|
||||
msgstr "nie udało się uruchomić powiadamiania inotify: %s"
|
||||
|
||||
#: inotify.c:105
|
||||
#, c-format
|
||||
msgid "too many symlinks following %s"
|
||||
msgstr ""
|
||||
msgstr "zbyt wiele odniesień począwszy od %s"
|
||||
|
||||
#: inotify.c:121
|
||||
#, c-format
|
||||
msgid "directory %s for resolv-file is missing, cannot poll"
|
||||
msgstr ""
|
||||
msgstr "katalog %s z resolv-file nie istnieje - nie ma czego odpytywać"
|
||||
|
||||
#: inotify.c:125 inotify.c:162
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "failed to create inotify for %s: %s"
|
||||
msgstr "nie udało się otworzyć gniazda %s: %s"
|
||||
msgstr "nie udało się utworzyć powiadamiania dla %s: %s"
|
||||
|
||||
#: inotify.c:147
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "bad dynamic directory %s: %s"
|
||||
msgstr "brak dostępu do katalogu %s: %s"
|
||||
msgstr "zły katalog dynamiczny %s: %s"
|
||||
|
||||
#: inotify.c:247
|
||||
#, c-format
|
||||
msgid "inotify, new or changed file %s"
|
||||
msgstr ""
|
||||
msgstr "inotify: pojawił się lub uległ zmianie plik %s"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "cannot cannonicalise resolv-file %s: %s"
|
||||
|
||||
+10
-1
@@ -1025,7 +1025,7 @@ int main (int argc, char **argv)
|
||||
#endif
|
||||
|
||||
# ifdef HAVE_SCRIPT
|
||||
if (daemon->helperfd != -1 && poll_check(daemon->helperfd, POLLIN))
|
||||
if (daemon->helperfd != -1 && poll_check(daemon->helperfd, POLLOUT))
|
||||
helper_write();
|
||||
# endif
|
||||
#endif
|
||||
@@ -1321,6 +1321,15 @@ static void async_event(int pipe, time_t now)
|
||||
if (daemon->lease_stream)
|
||||
fclose(daemon->lease_stream);
|
||||
|
||||
#ifdef HAVE_DNSSEC
|
||||
/* update timestamp file on TERM if time is considered valid */
|
||||
if (daemon->back_to_the_future)
|
||||
{
|
||||
if (utime(daemon->timestamp_file, NULL) == -1)
|
||||
my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (daemon->runfile)
|
||||
unlink(daemon->runfile);
|
||||
|
||||
|
||||
@@ -117,6 +117,7 @@ typedef unsigned long long u64;
|
||||
#include <sys/uio.h>
|
||||
#include <syslog.h>
|
||||
#include <dirent.h>
|
||||
#include <utime.h>
|
||||
#ifndef HAVE_LINUX_NETWORK
|
||||
# include <net/if_dl.h>
|
||||
#endif
|
||||
@@ -992,6 +993,7 @@ extern struct daemon {
|
||||
#endif
|
||||
#ifdef HAVE_DNSSEC
|
||||
struct ds_config *ds;
|
||||
int back_to_the_future;
|
||||
char *timestamp_file;
|
||||
#endif
|
||||
|
||||
|
||||
+58
-13
@@ -34,8 +34,6 @@
|
||||
#include <nettle/dsa-compat.h>
|
||||
#endif
|
||||
|
||||
#include <utime.h>
|
||||
|
||||
#define SERIAL_UNDEF -100
|
||||
#define SERIAL_EQ 0
|
||||
#define SERIAL_LT -1
|
||||
@@ -427,13 +425,12 @@ static int serial_compare_32(unsigned long s1, unsigned long s2)
|
||||
*/
|
||||
|
||||
static time_t timestamp_time;
|
||||
static int back_to_the_future;
|
||||
|
||||
int setup_timestamp(void)
|
||||
{
|
||||
struct stat statbuf;
|
||||
|
||||
back_to_the_future = 0;
|
||||
daemon->back_to_the_future = 0;
|
||||
|
||||
if (!daemon->timestamp_file)
|
||||
return 0;
|
||||
@@ -447,7 +444,7 @@ int setup_timestamp(void)
|
||||
/* time already OK, update timestamp, and do key checking from the start. */
|
||||
if (utime(daemon->timestamp_file, NULL) == -1)
|
||||
my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno));
|
||||
back_to_the_future = 1;
|
||||
daemon->back_to_the_future = 1;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
@@ -487,17 +484,17 @@ static int check_date_range(unsigned long date_start, unsigned long date_end)
|
||||
and start checking keys */
|
||||
if (daemon->timestamp_file)
|
||||
{
|
||||
if (back_to_the_future == 0 && difftime(timestamp_time, curtime) <= 0)
|
||||
if (daemon->back_to_the_future == 0 && difftime(timestamp_time, curtime) <= 0)
|
||||
{
|
||||
if (utime(daemon->timestamp_file, NULL) != 0)
|
||||
my_syslog(LOG_ERR, _("failed to update mtime on %s: %s"), daemon->timestamp_file, strerror(errno));
|
||||
|
||||
back_to_the_future = 1;
|
||||
daemon->back_to_the_future = 1;
|
||||
set_option_bool(OPT_DNSSEC_TIME);
|
||||
queue_event(EVENT_RELOAD); /* purge cache */
|
||||
}
|
||||
|
||||
if (back_to_the_future == 0)
|
||||
if (daemon->back_to_the_future == 0)
|
||||
return 1;
|
||||
}
|
||||
else if (option_bool(OPT_DNSSEC_TIME))
|
||||
@@ -1226,16 +1223,20 @@ int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char
|
||||
if (val == STAT_INSECURE)
|
||||
val = STAT_BOGUS;
|
||||
|
||||
if (val == STAT_NO_SIG)
|
||||
return val;
|
||||
|
||||
p = (unsigned char *)(header+1);
|
||||
extract_name(header, plen, &p, name, 1, 4);
|
||||
p += 4; /* qtype, qclass */
|
||||
|
||||
if (!(p = skip_section(p, ntohs(header->ancount), header, plen)))
|
||||
val = STAT_BOGUS;
|
||||
|
||||
|
||||
/* If we return STAT_NO_SIG, name contains the name of the DS query */
|
||||
if (val == STAT_NO_SIG)
|
||||
{
|
||||
*keyname = 0;
|
||||
return val;
|
||||
}
|
||||
|
||||
/* 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. */
|
||||
@@ -2112,6 +2113,7 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
|
||||
unsigned char *p = (unsigned char *)(header+1);
|
||||
int type, class, qclass, rdlen, j, rc;
|
||||
int cname_count = CNAME_CHAIN;
|
||||
char *wildname;
|
||||
|
||||
/* Get question */
|
||||
if (!extract_name(header, plen, &p, name, 1, 4))
|
||||
@@ -2145,7 +2147,50 @@ int dnssec_chase_cname(time_t now, struct dns_header *header, size_t plen, char
|
||||
return STAT_INSECURE;
|
||||
|
||||
/* validate CNAME chain, return if insecure or need more data */
|
||||
rc = validate_rrset(now, header, plen, class, type, name, keyname, NULL, NULL, 0, 0, 0);
|
||||
rc = validate_rrset(now, header, plen, class, type, name, keyname, &wildname, NULL, 0, 0, 0);
|
||||
|
||||
if (rc == STAT_SECURE_WILDCARD)
|
||||
{
|
||||
int nsec_type, nsec_count, i;
|
||||
unsigned char **nsecs;
|
||||
|
||||
/* An attacker can replay a wildcard answer with a different
|
||||
answer and overlay a genuine RR. To prove this
|
||||
hasn't happened, the answer must prove that
|
||||
the genuine record doesn't exist. Check that here. */
|
||||
if (!(nsec_type = find_nsec_records(header, plen, &nsecs, &nsec_count, class)))
|
||||
return STAT_BOGUS; /* No NSECs or bad packet */
|
||||
|
||||
/* Note that we're called here because something didn't validate in validate_reply,
|
||||
so we can't assume that any NSEC records have been validated. We do them by steam here */
|
||||
|
||||
for (i = 0; i < nsec_count; i++)
|
||||
{
|
||||
unsigned char *p1 = nsecs[i];
|
||||
|
||||
if (!extract_name(header, plen, &p1, daemon->workspacename, 1, 0))
|
||||
return STAT_BOGUS;
|
||||
|
||||
rc = validate_rrset(now, header, plen, class, nsec_type, daemon->workspacename, keyname, NULL, NULL, 0, 0, 0);
|
||||
|
||||
/* NSECs can't be wildcards. */
|
||||
if (rc == STAT_SECURE_WILDCARD)
|
||||
rc = STAT_BOGUS;
|
||||
|
||||
if (rc != STAT_SECURE)
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (nsec_type == T_NSEC)
|
||||
rc = prove_non_existence_nsec(header, plen, nsecs, nsec_count, daemon->workspacename, keyname, name, type, NULL);
|
||||
else
|
||||
rc = prove_non_existence_nsec3(header, plen, nsecs, nsec_count, daemon->workspacename,
|
||||
keyname, name, type, wildname, NULL);
|
||||
|
||||
if (rc != STAT_SECURE)
|
||||
return rc;
|
||||
}
|
||||
|
||||
if (rc != STAT_SECURE)
|
||||
{
|
||||
if (rc == STAT_NO_SIG)
|
||||
|
||||
+53
-9
@@ -850,8 +850,19 @@ void reply_query(int fd, int family, time_t now)
|
||||
/* 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_NO_SIG)
|
||||
status = STAT_INSECURE_DS;
|
||||
else if (status == STAT_NO_SIG)
|
||||
{
|
||||
if (option_bool(OPT_DNSSEC_NO_SIGN))
|
||||
{
|
||||
status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname);
|
||||
if (status == STAT_INSECURE)
|
||||
status = STAT_INSECURE_DS;
|
||||
}
|
||||
else
|
||||
status = STAT_INSECURE_DS;
|
||||
}
|
||||
else if (status == STAT_NO_NS)
|
||||
status = STAT_BOGUS;
|
||||
}
|
||||
else if (forward->flags & FREC_CHECK_NOSIGN)
|
||||
@@ -997,8 +1008,19 @@ void reply_query(int fd, int family, time_t now)
|
||||
Avoid caching a reply with sigs if there's a vaildated break in the
|
||||
DS chain, so we don't return replies from cache missing sigs. */
|
||||
status = STAT_INSECURE_DS;
|
||||
else if (status == STAT_NO_NS || status == STAT_NO_SIG)
|
||||
status = STAT_BOGUS;
|
||||
else if (status == STAT_NO_SIG)
|
||||
{
|
||||
if (option_bool(OPT_DNSSEC_NO_SIGN))
|
||||
{
|
||||
status = send_check_sign(forward, now, header, n, daemon->namebuff, daemon->keyname);
|
||||
if (status == STAT_INSECURE)
|
||||
status = STAT_INSECURE_DS;
|
||||
}
|
||||
else
|
||||
status = STAT_INSECURE_DS;
|
||||
}
|
||||
else if (status == STAT_NO_NS)
|
||||
status = STAT_BOGUS;
|
||||
}
|
||||
else if (forward->flags & FREC_CHECK_NOSIGN)
|
||||
{
|
||||
@@ -1418,7 +1440,7 @@ static int send_check_sign(struct frec *forward, time_t now, struct dns_header *
|
||||
static int do_check_sign(struct frec *forward, int status, time_t now, char *name, char *keyname)
|
||||
{
|
||||
/* get domain we're checking back from blockdata store, it's stored on the original query. */
|
||||
while (forward->dependent)
|
||||
while (forward->dependent && !forward->orig_domain)
|
||||
forward = forward->dependent;
|
||||
|
||||
blockdata_retrieve(forward->orig_domain, forward->name_len, name);
|
||||
@@ -1451,7 +1473,7 @@ static int do_check_sign(struct frec *forward, int status, time_t now, char *nam
|
||||
|
||||
/* Have entered non-signed part of DNS tree. */
|
||||
if (status == STAT_NO_DS)
|
||||
return STAT_INSECURE;
|
||||
return forward->dependent ? STAT_INSECURE_DS : STAT_INSECURE;
|
||||
|
||||
if (status == STAT_BOGUS)
|
||||
return STAT_BOGUS;
|
||||
@@ -1657,7 +1679,18 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
|
||||
{
|
||||
if (new_status == STAT_NO_DS)
|
||||
new_status = STAT_INSECURE_DS;
|
||||
else if (new_status == STAT_NO_NS || new_status == STAT_NO_SIG)
|
||||
if (new_status == STAT_NO_SIG)
|
||||
{
|
||||
if (option_bool(OPT_DNSSEC_NO_SIGN))
|
||||
{
|
||||
new_status = tcp_check_for_unsigned_zone(now, header, n, class, name, keyname, server, keycount);
|
||||
if (new_status == STAT_INSECURE)
|
||||
new_status = STAT_INSECURE_DS;
|
||||
}
|
||||
else
|
||||
new_status = STAT_INSECURE_DS;
|
||||
}
|
||||
else if (new_status == STAT_NO_NS)
|
||||
new_status = STAT_BOGUS;
|
||||
}
|
||||
}
|
||||
@@ -1722,8 +1755,19 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si
|
||||
{
|
||||
if (new_status == STAT_NO_DS)
|
||||
new_status = STAT_INSECURE_DS;
|
||||
else if (new_status == STAT_NO_NS || new_status == STAT_NO_SIG)
|
||||
new_status = STAT_BOGUS; /* Validated no DS */
|
||||
else if (new_status == STAT_NO_SIG)
|
||||
{
|
||||
if (option_bool(OPT_DNSSEC_NO_SIGN))
|
||||
{
|
||||
new_status = tcp_check_for_unsigned_zone(now, header, n, class, name, keyname, server, keycount);
|
||||
if (new_status == STAT_INSECURE)
|
||||
new_status = STAT_INSECURE_DS;
|
||||
}
|
||||
else
|
||||
new_status = STAT_INSECURE_DS;
|
||||
}
|
||||
else if (new_status == STAT_NO_NS)
|
||||
new_status = STAT_BOGUS;
|
||||
}
|
||||
}
|
||||
else if (status == STAT_CHASE_CNAME)
|
||||
|
||||
Reference in new issue
Block a user