summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG17
-rw-r--r--po/de.po100
-rw-r--r--po/es.po100
-rw-r--r--po/fi.po100
-rw-r--r--po/fr.po100
-rw-r--r--po/id.po100
-rw-r--r--po/it.po100
-rw-r--r--po/no.po100
-rw-r--r--po/pl.po161
-rw-r--r--po/pt_BR.po100
-rw-r--r--po/ro.po100
-rw-r--r--src/bpf.c2
-rw-r--r--src/config.h3
-rw-r--r--src/dnsmasq.c42
-rw-r--r--src/dnsmasq.h7
-rw-r--r--src/netlink.c3
-rw-r--r--src/network.c105
17 files changed, 629 insertions, 611 deletions
diff --git a/CHANGELOG b/CHANGELOG
index abf07eb..872dc60 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,20 @@
+version 2.59
+ Fix regression in 2.58 which caused failure to start up
+ with some combinations of dnsmasq config and IPv6 kernel
+ network config. Thanks to Brielle Bruns for the bug
+ report.
+
+ Improve dnsmasq's behaviour when network interfaces are
+ still doing duplicate address detection (DAD). Previously,
+ dnsmasq would wait up to 20 seconds at start-up for the
+ DAD state to terminate. This is broken for bridge
+ interfaces on recent Linux kernels, which don't start DAD
+ until the bridge comes up, and so can take arbitrary
+ time. The new behaviour lets dnsmasq poll for an arbitrary
+ time whilst providing service on other interfaces. Thanks
+ to Stephen Hemminger for pointing out the problem.
+
+
version 2.58
Provide a definition of the SA_SIZE macro where it's
missing. Fixes build failure on openBSD.
diff --git a/po/de.po b/po/de.po
index b958d8a..d93beff 100644
--- a/po/de.po
+++ b/po/de.po
@@ -853,7 +853,7 @@ msgstr "mit -n/--no-poll ist nur eine resolv.conf-Datei zulässig."
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:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr "konnte %s nicht lesen: %s"
@@ -887,64 +887,64 @@ msgstr "möglichen DNS-Rebind-Angriff entdeckt: %s"
msgid "unknown interface %s in bridge-interface"
msgstr "unbekannte Schnittstelle %s in bridge-interface"
-#: network.c:380
+#: network.c:384
#, fuzzy, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "Konnte Empfangs-Socket nicht erzeugen: %s"
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "konnte nicht an Server-Socket für %s binden: %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignoriere Namensserver %s - lokale Schnittstelle"
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignoriere Namensserver %s - kann Socket nicht erzeugen/binden: %s"
# FIXME: this isn't translatable - always provide full strings, do not assemble yourself! -- MA
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr ""
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr ""
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -986,7 +986,7 @@ msgstr "unbekannte Schnittstelle %s"
msgid "no interface with address %s"
msgstr "keine Schnittstelle mit Adresse %s"
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "DBus-Fehler: %s"
@@ -1006,162 +1006,162 @@ 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:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr "gestartet, Version %s, DNS abgeschaltet"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "gestartet, Version %s, Cachegröße %d"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "Ãœbersetzungsoptionen: %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "DBus-Unterstützung eingeschaltet: mit Systembus verbunden"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung"
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "Warnung: konnte den Besitzer von %s nicht ändern: %s"
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "Aktiviere --bind-interfaces wegen Einschränkungen des Betriebssystems"
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "Warnung: Schnittstelle %s existiert derzeit nicht"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr "Warnung: Ignoriere \"resolv-file\", weil \"no-resolv\" aktiv ist"
-#: dnsmasq.c:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr "Warnung: keine vorgelagerten (Upstream) Server konfiguriert"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr "asynchrone Protokollierung eingeschaltet, Warteschlange fasst %d Nachrichten"
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, nur statische Leases auf %.0s%s, Lease-Zeit %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, Proxy im Subnetz %.0s%s%.0s"
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, IP-Bereich %s - %s, Lease-Zeit %s "
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr "FIXME: this and the next few must be full strings to be translatable - do not assemble in code"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr ""
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "Begrenze gleichzeitige TFTP-Ãœbertragungen auf maximal %d"
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "Mit System-DBus verbunden"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr "kann nicht in den Hintergrund abspalten: %s"
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr "kann Helfer nicht erzeugen: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr "kann \"capabilities\" nicht setzen: %s"
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "Kann nicht Benutzerrechte %s annehmen: %s"
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "Kann nicht Gruppenrechte %s annehmen: %s"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr "kann %s nicht öffnen: %s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr "Tochterprozess durch Signal %d zerstört"
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr "Tochterprozess beendete sich mit Status %d"
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr "konnte %s nicht ausführen: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "beende nach Empfang von SIGTERM"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr "konnte auf %s nicht zugreifen: %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "lese %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr "keine Server in %s gefunden, werde es später neu versuchen"
@@ -1447,7 +1447,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:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr "Netlink liefert Fehler %s"
diff --git a/po/es.po b/po/es.po
index 9a28ba1..ee3469a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -864,7 +864,7 @@ msgstr "solo un archivo resolv.conf permitido en modo no-poll."
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:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "no se pudo leer %s: %s"
@@ -898,63 +898,63 @@ msgstr "posible ataque de revinculación DNS detectado"
msgid "unknown interface %s in bridge-interface"
msgstr "interface desconocida %s en bridge-interface"
-#: network.c:380
+#: network.c:384
#, fuzzy, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "no se pudo crear un socket escuchador: %s"
-#: network.c:746
+#: network.c:743
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "no se pudo acoplar socket escuchador para %s: %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorando servidor DNS %s - interface local"
-#: network.c:794
+#: network.c:791
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorando servidor DNS %s - no se puede crear/acoplar socket: %s"
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "no calificado"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr "nombres"
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr "predeterminado"
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "dominio"
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "usando direcciones locales solo para %s %s"
-#: network.c:820
+#: network.c:817
#, fuzzy, c-format
msgid "using standard nameservers for %s %s"
msgstr "usando servidor DNS %s#%d para %s %s"
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "usando servidor DNS %s#%d para %s %s"
-#: network.c:825
+#: network.c:822
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "usando servidor DNS %s#%d(vía %s)"
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "usando servidor DNS %s#%d"
@@ -998,7 +998,7 @@ msgstr "interface desconocida %s"
msgid "no interface with address %s"
msgstr "ninguna interface con dirección %s"
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "error DBus: %s"
@@ -1017,164 +1017,164 @@ msgstr "usuario o grupo desconocido: %s"
msgid "cannot chdir to filesystem root: %s"
msgstr "no se puede cambiar directorio a raíz de sistema de archivos: %s"
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "iniciado, versión %s DNS deshabilitado"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "iniciado, versión %s tamaño de caché %d"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "iniciado, versión %s caché deshabilitado"
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "opciones de compilación: %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "soporte DBus habilitado: conectado a bus de sistema"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "soporte DBus habilitado: conección a bus pendiente"
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "advertencia: no se pudo cambiar dueño de %s: %s"
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "fijando opción --bind-interfaces debido a limitaciones de sistema operativo"
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advertencia: interface %s no existe actuálmente"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
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:503
+#: dnsmasq.c:513
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "advertencia: ningún servidor upstream configurado"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr "bitacoreo asincrónico habilitado, límite de cola es %d mensajes"
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, arriendos estáticos solo en %.0s%s, tiempo de arriendo %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, proxy en subred %.0s%s%.0s"
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, rango de IPs %s -- %s, tiempo de arriendo %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr "root es "
-#: dnsmasq.c:538
+#: dnsmasq.c:548
#, fuzzy
msgid "enabled"
msgstr "habilitado"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr "modo seguro"
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, 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:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "conectado a DBus de sistema"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr "no se puede hacer fork hacia el fondo: %s"
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "no se pudo crear ayudante: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, fuzzy, c-format
msgid "setting capabilities failed: %s"
msgstr "configuración de capacidades ha fallado: %s"
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "no se pudo cambiar user-id a %s: %s"
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "no se pudo cambiar group-id a %s: %s"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "no se pudo abrir archivo PID %s: %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "no se puede abrir %s: %s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr "proceso hijo eliminado por señal %d"
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr "proceso hijo hizo exit con estado %d"
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "no se pudo ejecutar %s: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "saliendo al recibir SIGTERM"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "no se pudo accesar %s: %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "leyendo %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "ningún servidor encontrado en %s, se reintentará"
@@ -1454,7 +1454,7 @@ msgstr "no se puede enviar opción RFC3925: demasiadas opciones para número enter
msgid "cannot create netlink socket: %s"
msgstr "no se puede crear socket netlink: %s"
-#: netlink.c:288
+#: netlink.c:289
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "netlink retorna error: %s"
diff --git a/po/fi.po b/po/fi.po
index fb07a74..9c39c70 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -831,7 +831,7 @@ msgstr ""
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr ""
@@ -864,63 +864,63 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
-#: network.c:380
+#: network.c:384
#, c-format
msgid "failed to create listening socket for %s: %s"
msgstr ""
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr ""
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr ""
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -960,7 +960,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -979,162 +979,162 @@ msgstr ""
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr ""
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1414,7 +1414,7 @@ msgstr ""
msgid "cannot create netlink socket: %s"
msgstr ""
-#: netlink.c:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index ee60ce5..c344c42 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -856,7 +856,7 @@ msgstr "seul un fichier resolv.conf est autorisé dans le mode no-poll"
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:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr "impossible de lire %s : %s"
@@ -889,63 +889,63 @@ msgstr "détection d'une possible attaque de type DNS-rebind: %s"
msgid "unknown interface %s in bridge-interface"
msgstr "interface %s inconnue spécifiée comme interface de pont"
-#: network.c:380
+#: network.c:384
#, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "impossible de créer une socket d'écoute pour %s : %s"
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "impossible de lier la socket de serveur pour %s : %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignore le serveur de nom %s - interface locale"
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignore le serveur de nom %s - ne peut construire/lier la socket : %m"
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "non-qualifié(e)"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr "noms"
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr "défaut"
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "domaine"
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "utilise les adresses locales seulement pour %s %s"
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr "utilisation des serveurs de nom standards pour %s %s"
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "utilise le serveur de nom %s#%d pour %s %s"
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "utilise le serveur de nom %s#%d (via %s)"
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "utilise le serveur de nom %s#%d"
@@ -987,7 +987,7 @@ msgstr "interface %s inconnue"
msgid "no interface with address %s"
msgstr "pas d'interface avec l'adresse %s"
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "Erreur DBus : %s"
@@ -1006,164 +1006,164 @@ msgstr "utilisateur ou groupe inconnu : %s"
msgid "cannot chdir to filesystem root: %s"
msgstr "Ne peut effectuer un 'chdir' à la racine du système de fichier : %s"
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr "démarrage avec le DNS désactivé (version %s)"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "demarré, version %s (taille de cache %d)"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "démarrage avec le cache désactivé (version %s)"
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "options à la compilation : %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "Support DBus autorisé : connecté au bus système"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "Support DBus autorisé : connexion au bus en attente"
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "Impossible de changer pour l'utilisateur %s : %s"
-#: dnsmasq.c:490
+#: dnsmasq.c:500
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:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "attention : l'interface %s n'existe pas actuellement"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
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:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr "attention : aucun serveur amont n'est configuré"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, 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:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "baux statiques DHCP seulement sur %.0s%s, durée de validité de bail %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, proxy sur le sous-réseau %.0s%s%.0s"
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, plage d'adresses %s -- %s, durée de bail %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr "root est"
#
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr "activé"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr "mode sécurisé"
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "le nombre maximum de transferts TFTP simultanés sera restreint à %d"
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "connecté au systeme DBus"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr "Ne peut se lancer en tâche de fond : %s"
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr "impossible de créer le 'helper' : %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr "impossible de configurer la capacité %s"
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s"
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "Impossible de changer l'identifiant de groupe pour %s : %s"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "impossible de lire le fichier de PID %s : %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr "Ne peut pas lire %s : %s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr "Le processus fils a été terminé par le signal %d"
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr "Le processus fils s'est terminé avec le statut %d"
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr "impossible d'exécuter à %s : %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "sortie sur réception du signal SIGTERM"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr "impossible d'accéder à %s : %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "Lecture de %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr "aucun serveur trouvé dans %s, va réessayer"
@@ -1443,7 +1443,7 @@ msgstr "ne peux envoyer l'option RFC3925 : trop d'options pour le numéro d'entre
msgid "cannot create netlink socket: %s"
msgstr "ne peux lier une socket netlink : %s"
-#: netlink.c:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr "Erreur netlink : %s"
diff --git a/po/id.po b/po/id.po
index 9622f06..683a76c 100644
--- a/po/id.po
+++ b/po/id.po
@@ -988,7 +988,7 @@ 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:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "gagal membaca %s: %s"
@@ -1025,72 +1025,72 @@ msgid "unknown interface %s in bridge-interface"
msgstr "antarmuka tidak dikenal %s"
# OK
-#: network.c:380
+#: network.c:384
#, fuzzy, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "gagal membuat socket: %s "
-#: network.c:746
+#: network.c:743
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "gagal mem-bind socket untuk mendengarkan %s: %s"
# OK
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "mengabaikan nameserver %s - antarmuka lokal"
# OK
-#: network.c:794
+#: network.c:791
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "mengabaikan nameserver %s - tak dapat membuat/mem-bind socket: %s"
# OK
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "tidak memenuhi syarat"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
# OK
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "domain"
# OK
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "menggunakan alamat lokal saja untuk %s %s"
# OK
-#: network.c:820
+#: network.c:817
#, fuzzy, c-format
msgid "using standard nameservers for %s %s"
msgstr "menggunakan nameserver %s#%d untuk %s %s"
# OK
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "menggunakan nameserver %s#%d untuk %s %s"
# OK
-#: network.c:825
+#: network.c:822
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "menggunakan nameserver %s#%d"
# OK
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "menggunakan nameserver %s#%d"
@@ -1138,7 +1138,7 @@ msgid "no interface with address %s"
msgstr "tidak ada antarmuka dengan alamat %s"
# OK
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "DBus error: %s"
@@ -1159,186 +1159,186 @@ msgid "cannot chdir to filesystem root: %s"
msgstr ""
# OK
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "dimulai, cache versi %s di disable"
# OK
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "dimulai, versi %s ukuran cache %d"
# OK
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "dimulai, cache versi %s di disable"
# OK
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "pilihan-pilihan saat kompilasi: %s"
# OK
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "dukungan DBus dimungkinkan: terkoneksi pada bus sistem"
# OK
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "dukungan DBus dimungkinkan: koneksi bus ditunda"
# OK
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS"
# OK
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "peringatan: antarmuka %s tidak ada"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
# OK
-#: dnsmasq.c:503
+#: dnsmasq.c:513
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "menyetel server-server di atas dengan DBus"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
# OK
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, lease static pada %.0s%s, waktu lease %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
# OK
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, jangkaun IP %s -- %s, waktu lease %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
# OK
-#: dnsmasq.c:538
+#: dnsmasq.c:548
#, fuzzy
msgid "enabled"
msgstr "di disable"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
# OK
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "terhubung ke sistem DBus"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
# OK
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "gagal membaca %s: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# OK
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "gagal membaca %s: %s"
# OK
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "tidak bisa membuka %s:%s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
# OK
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "gagal mengakses %s: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "keluar karena menerima SIGTERM"
# OK
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "gagal mengakses %s: %s"
# OK
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "membaca %s"
# OK
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "tidak ditemukan direktif search di %s"
@@ -1657,7 +1657,7 @@ msgid "cannot create netlink socket: %s"
msgstr "tidak bisa mem-bind netlink socket: %s"
# OK
-#: netlink.c:288
+#: netlink.c:289
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "DBus error: %s"
diff --git a/po/it.po b/po/it.po
index f516ff6..5f6675f 100644
--- a/po/it.po
+++ b/po/it.po
@@ -831,7 +831,7 @@ msgstr ""
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr ""
@@ -864,63 +864,63 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
-#: network.c:380
+#: network.c:384
#, c-format
msgid "failed to create listening socket for %s: %s"
msgstr ""
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr ""
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr ""
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -960,7 +960,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -979,162 +979,162 @@ msgstr ""
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr ""
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1414,7 +1414,7 @@ msgstr ""
msgid "cannot create netlink socket: %s"
msgstr ""
-#: netlink.c:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr ""
diff --git a/po/no.po b/po/no.po
index df61719..46640d2 100644
--- a/po/no.po
+++ b/po/no.po
@@ -864,7 +864,7 @@ msgstr "kun en resolv.conf fil tillat i no-poll modus."
msgid "must have exactly one resolv.conf to read domain from."
msgstr "må ha nøyaktig en resolv.conf å lese domene fra."
-#: option.c:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "feilet å lese %s: %s"
@@ -897,63 +897,63 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr "ukjent tilknytning (interface) %s"
-#: network.c:380
+#: network.c:384
#, fuzzy, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "feilet å lage lytte socket: %s"
-#: network.c:746
+#: network.c:743
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "feilet å binde lytte socket for %s: %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorerer navnetjener %s - lokal tilknytning"
-#: network.c:794
+#: network.c:791
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorerer navnetjener %s - kan ikke lage/dinde socket: %s"
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "ikke kvalifisert"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "domene"
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "benytter lokale adresser kun for %s %s"
-#: network.c:820
+#: network.c:817
#, fuzzy, c-format
msgid "using standard nameservers for %s %s"
msgstr "benytter navnetjener %s#%d for %s %s"
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "benytter navnetjener %s#%d for %s %s"
-#: network.c:825
+#: network.c:822
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "benytter navnetjener %s#%d"
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "benytter navnetjener %s#%d"
@@ -995,7 +995,7 @@ msgstr "ukjent tilknytning (interface) %s"
msgid "no interface with address %s"
msgstr "ingen tilknytning (interface) med adresse %s"
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "DBus feil: %s"
@@ -1014,164 +1014,164 @@ msgstr ""
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "startet, versjon %s mellomlager deaktivert"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "startet, versjon %s mellomlager størrelse %d"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "startet, versjon %s mellomlager deaktivert"
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "kompilerings opsjoner: %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "DBus støtte aktivert: koblet til system buss"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "DBus støtte aktivert: avventer buss tilkobling"
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger"
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:513
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "setter oppstrøms tjener fra DBus"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, statisk leie kun på %.0s%s, leie tid %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, IP område %s -- %s, leie tid %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
#, fuzzy
msgid "enabled"
msgstr "deaktivert"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "tilkoblet til system DBus"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "feilet å lese %s: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "feilet å lese %s: %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "kan ikke åpne %s:%s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "feilet å få tilgang til %s: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "avslutter etter mottak av SIGTERM"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "feilet å få tilgang til %s: %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "leser %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "intet søke direktiv funnet i %s"
@@ -1451,7 +1451,7 @@ msgstr ""
msgid "cannot create netlink socket: %s"
msgstr "kan ikke binde netlink socket: %s"
-#: netlink.c:288
+#: netlink.c:289
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "DBus feil: %s"
diff --git a/po/pl.po b/po/pl.po
index 3b8ac92..67b094a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -25,20 +25,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "nie potrafię wczytać nazw z %s: %s"
-#: cache.c:795
-#: dhcp.c:874
+#: cache.c:795 dhcp.c:874
#, c-format
msgid "bad address at %s line %d"
msgstr "błędny adres w pliku %s, w linii %d"
-#: cache.c:853
-#: dhcp.c:890
+#: cache.c:853 dhcp.c:890
#, c-format
msgid "bad name at %s line %d"
msgstr "błędna nazwa w pliku %s, w linii %d"
-#: cache.c:860
-#: dhcp.c:965
+#: cache.c:860 dhcp.c:965
#, c-format
msgid "read %s - %d addresses"
msgstr "wczytałem %s - %d adresów"
@@ -91,8 +88,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:227
-#: option.c:579
+#: util.c:227 option.c:579
msgid "could not get memory"
msgstr "nie można dostać pamięci"
@@ -612,14 +608,12 @@ msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wcześniej w lini
msgid "illegal repeated keyword"
msgstr "wielokrotne użycie opcji niedozwolone (pojawiła się wsześniej w pliku konfiguracyjnym)"
-#: option.c:1153
-#: option.c:3062
+#: option.c:1153 option.c:3062
#, c-format
msgid "cannot access directory %s: %s"
msgstr "brak dostępu do katalogu %s: %s"
-#: option.c:1184
-#: tftp.c:465
+#: option.c:1184 tftp.c:465
#, c-format
msgid "cannot access %s: %s"
msgstr "brak dostępu do %s: %s"
@@ -652,18 +646,15 @@ msgstr "w uClinuksie nie ma możliwości uruchamiania skryptów"
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:1607
-#: option.c:1611
+#: option.c:1607 option.c:1611
msgid "bad port"
msgstr "nieprawidłowy numer portu"
-#: option.c:1634
-#: option.c:1665
+#: option.c:1634 option.c:1665
msgid "interface binding not supported"
msgstr "nie ma możliwości dowiązywania do interfejsu"
-#: option.c:1645
-#: option.c:2614
+#: option.c:1645 option.c:2614
msgid "bad interface name"
msgstr "nieprawidłowa nazwa interfejsu"
@@ -687,8 +678,7 @@ msgstr "można wskazać tylko jeden znacznik sieci"
msgid "inconsistent DHCP range"
msgstr "niespójny zakres adresów DHCP"
-#: option.c:2039
-#: option.c:2067
+#: option.c:2039 option.c:2067
msgid "bad hex constant"
msgstr "zapis niezgodny z formatem szesnastkowym"
@@ -704,8 +694,7 @@ msgstr "niedopuszczalna nazwa komputera w dhcp-host"
msgid "bad tag-if"
msgstr "nieprawidłowa składnia 'tag-if'"
-#: option.c:2499
-#: option.c:2784
+#: option.c:2499 option.c:2784
msgid "invalid port number"
msgstr "nieprawidłowy numer portu"
@@ -782,14 +771,12 @@ msgstr "błąd"
msgid "%s at line %d of %%s"
msgstr "%s w linii %d pliku %%s"
-#: option.c:3017
-#: tftp.c:629
+#: option.c:3017 tftp.c:629
#, c-format
msgid "cannot read %s: %s"
msgstr "błąd odczytu z pliku %s: %s"
-#: option.c:3183
-#: option.c:3219
+#: option.c:3183 option.c:3219
#, c-format
msgid "read %s"
msgstr "przeczytałem %s"
@@ -853,9 +840,7 @@ msgstr "w trybie no-poll można wskazać najwyżej jeden plik resolv.conf."
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:3403
-#: network.c:848
-#: dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr "nie udało się odczytać %s: %s"
@@ -888,63 +873,63 @@ msgstr "prawdopodobnie wykryto atak DNS-rebind: %s"
msgid "unknown interface %s in bridge-interface"
msgstr "nieznany interfejs %s w bridge-u"
-#: network.c:380
+#: network.c:384
#, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "nie udało się otworzyć gniazda %s: %s"
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "błąd przy przyznawaniu nazwy gniazdu serwera %s: %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorowanie serwera nazw %s - interfejs lokalny"
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorowanie serwera nazw %s - nie można utworzyć/dowiązać gniazda: %s"
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "niekwalifikowane(-a)"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr "nazwy"
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr "domyślne"
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "domeny"
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "używam adresów lokalnych tylko dla %s %s"
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr "używam standardowych serwerów nazw dla %s %s"
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "używam serwera nazw %s#%d dla %s %s"
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "używam serwera nazw %s#%d (przez %s)"
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "używam serwera nazw %s#%d"
@@ -984,8 +969,7 @@ msgstr "nieznany interfejs %s"
msgid "no interface with address %s"
msgstr "brak interfejsu z adresem %s"
-#: dnsmasq.c:219
-#: dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "błąd DBus: %s"
@@ -1004,162 +988,162 @@ msgstr "nieznany użytkownik lub grupa: %s"
msgid "cannot chdir to filesystem root: %s"
msgstr "nie potrafię wejść do głównego katalogu: %s"
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr "uruchomiony, wersja %s, DNS wyłączony"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "uruchomiony, wersja %s, %d miejsc w pamięci podręcznej"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "uruchomiony, wersja %s, pamięć podręczna wyłączona"
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "opcje kompilacji: %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "obsługa DBus włączona, podłączono do serwera DBus"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "obsługa DBus włączona, trwa podłączanie do serwera DBus"
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, 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:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "ustawiam --bind-interfaces z powodu ograniczeń systemu operacyjnego"
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "uwaga: interfejs %s nie jest włączony"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr "uwaga: ignoruję opcję resolv-file, ponieważ wybrano tryb no-resolv"
-#: dnsmasq.c:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr "uwaga: nie wskazano nadrzędnych serwerów DNS"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, 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:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP: tylko statyczne dzierżawy na %.0s%s, czas dzierżawy %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP: pośrednik na podsieci %.0s%s%.0s"
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP: zakres IP %s -- %s, czas dzierżawy %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr "z głównym katalogiem w "
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr "włączony"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr "w trybie bezpiecznym"
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "ograniczam ilość jednoczesnych przesłań TFTP do %d"
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "podłączono do DBus-a"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr "nie potrafię przełączyć się do pracy w tle: %s"
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr "nie udało się utworzyć procesu pomocniczego: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr "nie powiodło się ustawianie ograniczeń (capabilities): %s"
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, 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:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "nie udało się zmienić grupy procesu na %s: %s"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nie udało się otworzyć pliku z PID-em %s: %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr "nie można otworzyć %s: %s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr "proces potomny zabity sygnałem %d"
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr "proces potomny zakończył się z kodem powrotu %d"
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr "nie udało się uruchomić %s: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "zakończyłem działanie z powodu odebrania SIGTERM"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr "brak dostępu do %s: %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "czytanie %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr "w %s nie znalazłem serwerów, spróbuję ponownie później"
@@ -1280,24 +1264,19 @@ msgstr "%u dostępny zakres adresów DHCP: %s -- %s"
msgid "disabled"
msgstr "wyłączony(a)"
-#: rfc2131.c:428
-#: rfc2131.c:945
-#: rfc2131.c:1337
+#: rfc2131.c:428 rfc2131.c:945 rfc2131.c:1337
msgid "ignored"
msgstr "ignorujÄ™"
-#: rfc2131.c:443
-#: rfc2131.c:1183
+#: rfc2131.c:443 rfc2131.c:1183
msgid "address in use"
msgstr "adres jest w użyciu"
-#: rfc2131.c:457
-#: rfc2131.c:999
+#: rfc2131.c:457 rfc2131.c:999
msgid "no address available"
msgstr "brak dostępnego adresu"
-#: rfc2131.c:464
-#: rfc2131.c:1146
+#: rfc2131.c:464 rfc2131.c:1146
msgid "wrong network"
msgstr "nieprawidłowa sieć"
@@ -1305,8 +1284,7 @@ msgstr "nieprawidłowa sieć"
msgid "no address configured"
msgstr "brak skonfigurowanego adresu"
-#: rfc2131.c:485
-#: rfc2131.c:1196
+#: rfc2131.c:485 rfc2131.c:1196
msgid "no leases left"
msgstr "brak wolnych dzierżaw"
@@ -1353,8 +1331,7 @@ msgstr "nie proponuję zakładanego w konfiguracji adresu %s, bo używa go któr
msgid "not using configured address %s because it was previously declined"
msgstr "nie proponuję zakładanego w konfiguracji adresu %s, bo już poprzednio został odrzucony"
-#: rfc2131.c:997
-#: rfc2131.c:1189
+#: rfc2131.c:997 rfc2131.c:1189
msgid "no unique-id"
msgstr "brak unikalnego id"
@@ -1446,7 +1423,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:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr "wystąpił błąd w połączeniu netlink %s"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index d341025..30b8c86 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -831,7 +831,7 @@ msgstr ""
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, c-format
msgid "failed to read %s: %s"
msgstr ""
@@ -864,63 +864,63 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
-#: network.c:380
+#: network.c:384
#, c-format
msgid "failed to create listening socket for %s: %s"
msgstr ""
-#: network.c:746
+#: network.c:743
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
-#: network.c:794
+#: network.c:791
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr ""
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr ""
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
-#: network.c:820
+#: network.c:817
#, c-format
msgid "using standard nameservers for %s %s"
msgstr ""
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
-#: network.c:825
+#: network.c:822
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -960,7 +960,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -979,162 +979,162 @@ msgstr ""
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:513
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "enabled"
msgstr ""
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:802
+#: dnsmasq.c:828
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1414,7 +1414,7 @@ msgstr ""
msgid "cannot create netlink socket: %s"
msgstr ""
-#: netlink.c:288
+#: netlink.c:289
#, c-format
msgid "netlink returns error: %s"
msgstr ""
diff --git a/po/ro.po b/po/ro.po
index a3b6ba4..9710152 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -862,7 +862,7 @@ msgstr "se permite un singur fişier resolv.conf în modul no-poll"
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:3403 network.c:848 dhcp.c:823
+#: option.c:3403 network.c:845 dhcp.c:823
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "nu pot citi %s: %s"
@@ -895,63 +895,63 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr "interfaţă necunoscută %s"
-#: network.c:380
+#: network.c:384
#, fuzzy, c-format
msgid "failed to create listening socket for %s: %s"
msgstr "creearea socket-ului de ascultare a eÅŸuat: %s"
-#: network.c:746
+#: network.c:743
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "activarea socket-ului de ascultare pentru %s a eÅŸuat: %s"
-#: network.c:783
+#: network.c:780
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorăm serverul DNS %s - interfaţă locală"
-#: network.c:794
+#: network.c:791
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorăm serverul DNS %s - nu pot creea/activa socket-ul: %s"
-#: network.c:811
+#: network.c:808
msgid "unqualified"
msgstr "invalid"
-#: network.c:811
+#: network.c:808
msgid "names"
msgstr ""
-#: network.c:813
+#: network.c:810
msgid "default"
msgstr ""
-#: network.c:815
+#: network.c:812
msgid "domain"
msgstr "domeniu"
-#: network.c:818
+#: network.c:815
#, c-format
msgid "using local addresses only for %s %s"
msgstr "folosim adresele locale doar pentru %S %s"
-#: network.c:820
+#: network.c:817
#, fuzzy, c-format
msgid "using standard nameservers for %s %s"
msgstr "folosim serverul DNS %s#%d pentru %s %s"
-#: network.c:822
+#: network.c:819
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "folosim serverul DNS %s#%d pentru %s %s"
-#: network.c:825
+#: network.c:822
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "folosim serverul DNS %s#%d"
-#: network.c:827
+#: network.c:824
#, c-format
msgid "using nameserver %s#%d"
msgstr "folosim serverul DNS %s#%d"
@@ -993,7 +993,7 @@ msgstr "interfaţă necunoscută %s"
msgid "no interface with address %s"
msgstr "nu exista interfaţă pentru adresa %s"
-#: dnsmasq.c:219 dnsmasq.c:690
+#: dnsmasq.c:219 dnsmasq.c:716
#, c-format
msgid "DBus error: %s"
msgstr "eroare DBus: %s"
@@ -1012,167 +1012,167 @@ msgstr ""
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:467
+#: dnsmasq.c:477
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "am pornit, versiunea %s memorie temporară dezactivată"
-#: dnsmasq.c:469
+#: dnsmasq.c:479
#, c-format
msgid "started, version %s cachesize %d"
msgstr "am ponit, versiunea %s memorie temporară %d"
-#: dnsmasq.c:471
+#: dnsmasq.c:481
#, c-format
msgid "started, version %s cache disabled"
msgstr "am pornit, versiunea %s memorie temporară dezactivată"
-#: dnsmasq.c:473
+#: dnsmasq.c:483
#, c-format
msgid "compile time options: %s"
msgstr "compilat cu opţiunile: %s"
-#: dnsmasq.c:479
+#: dnsmasq.c:489
msgid "DBus support enabled: connected to system bus"
msgstr "suportul DBus activ: sunt conectat la magistrala sistem"
-#: dnsmasq.c:481
+#: dnsmasq.c:491
msgid "DBus support enabled: bus connection pending"
msgstr "suportul DBus activ: aştept conexiunea la magistrală"
# for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
-#: dnsmasq.c:486
+#: dnsmasq.c:496
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
-#: dnsmasq.c:490
+#: dnsmasq.c:500
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "specific opţiunea --bind-interfaces din cauza limitărilor SO"
-#: dnsmasq.c:495
+#: dnsmasq.c:505
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "atenţie: interfaţa %s nu există momentan"
-#: dnsmasq.c:500
+#: dnsmasq.c:510
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:513
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "configurăm serverele superioare prin Dbus"
-#: dnsmasq.c:507
+#: dnsmasq.c:517
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:530
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, împrumuturi statice doar către %.0s%s, timpul reînoirii %s"
-#: dnsmasq.c:522
+#: dnsmasq.c:532
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:523
+#: dnsmasq.c:533
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, domeniu IP %s -- %s, timpul reînoirii %s"
-#: dnsmasq.c:538
+#: dnsmasq.c:548
msgid "root is "
msgstr ""
-#: dnsmasq.c:538
+#: dnsmasq.c:548
#, fuzzy
msgid "enabled"
msgstr "dezactivat"
-#: dnsmasq.c:540
+#: dnsmasq.c:550
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:566
+#: dnsmasq.c:576
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:692
+#: dnsmasq.c:718
msgid "connected to system DBus"
msgstr "magistrala sistem Dbus conectată"
-#: dnsmasq.c:787
+#: dnsmasq.c:813
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:790
+#: dnsmasq.c:816
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "nu pot citi %s: %s"
-#: dnsmasq.c:793
+#: dnsmasq.c:819
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
-#: dnsmasq.c:797
+#: dnsmasq.c:823
#, 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:802
+#: dnsmasq.c:828
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
-#: dnsmasq.c:805
+#: dnsmasq.c:831
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nu pot citi %s: %s"
-#: dnsmasq.c:808
+#: dnsmasq.c:834
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "nu pot deschide %s:%s"
-#: dnsmasq.c:863
+#: dnsmasq.c:889
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:867
+#: dnsmasq.c:893
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:871
+#: dnsmasq.c:897
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "accesarea serverului %s a eÅŸuat: %s"
-#: dnsmasq.c:915
+#: dnsmasq.c:941
msgid "exiting on receipt of SIGTERM"
msgstr "am primit SIGTERM, am terminat"
-#: dnsmasq.c:943
+#: dnsmasq.c:969
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "accesarea serverului %s a eÅŸuat: %s"
-#: dnsmasq.c:973
+#: dnsmasq.c:999
#, c-format
msgid "reading %s"
msgstr "citesc %s"
-#: dnsmasq.c:984
+#: dnsmasq.c:1010
#, 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"
@@ -1452,7 +1452,7 @@ msgstr ""
msgid "cannot create netlink socket: %s"
msgstr "nu pot să activez socket-ul netlink: %s"
-#: netlink.c:288
+#: netlink.c:289
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "eroare DBus: %s"
diff --git a/src/bpf.c b/src/bpf.c
index cffcf67..0a131a4 100644
--- a/src/bpf.c
+++ b/src/bpf.c
@@ -184,7 +184,7 @@ int iface_enumerate(int family, void *parm, int (*callback)())
}
if (!((*callback)(addr,
(int)((struct sockaddr_in6 *)&ifr->ifr_addr)->sin6_scope_id,
- (int)if_nametoindex(ifr->ifr_name),
+ (int)if_nametoindex(ifr->ifr_name), 0,
parm)))
goto err;
}
diff --git a/src/config.h b/src/config.h
index a988770..ec048ad 100644
--- a/src/config.h
+++ b/src/config.h
@@ -14,7 +14,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#define VERSION "2.58"
+#define VERSION "2.59"
#define FTABSIZ 150 /* max number of outstanding requests (default) */
#define MAX_PROCS 20 /* max no children for TCP requests */
@@ -74,7 +74,6 @@
#define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */
#define LOG_MAX 5 /* log-queue length */
#define RANDFILE "/dev/urandom"
-#define DAD_WAIT 20 /* retry binding IPv6 sockets for this long */
#define EDNS0_OPTION_MAC 5 /* dyndns.org temporary assignment */
/* DBUS interface specifics */
diff --git a/src/dnsmasq.c b/src/dnsmasq.c
index 821b7f0..791a0dd 100644
--- a/src/dnsmasq.c
+++ b/src/dnsmasq.c
@@ -190,7 +190,7 @@ int main (int argc, char **argv)
if (option_bool(OPT_NOWILD))
{
- daemon->listeners = create_bound_listeners();
+ create_bound_listeners(1);
for (if_tmp = daemon->if_names; if_tmp; if_tmp = if_tmp->next)
if (if_tmp->name && !if_tmp->used)
@@ -204,7 +204,7 @@ int main (int argc, char **argv)
}
}
else
- daemon->listeners = create_wildcard_listeners();
+ create_wildcard_listeners();
if (daemon->port != 0)
cache_init();
@@ -397,11 +397,17 @@ int main (int argc, char **argv)
if (ent_pw && ent_pw->pw_uid != 0)
{
-#if defined(HAVE_LINUX_NETWORK)
+#if defined(HAVE_LINUX_NETWORK)
/* On linux, we keep CAP_NETADMIN (for ARP-injection) and
- CAP_NET_RAW (for icmp) if we're doing dhcp */
- data->effective = data->permitted = data->inheritable =
- (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW) | (1 << CAP_SETUID);
+ CAP_NET_RAW (for icmp) if we're doing dhcp. If we have yet to bind
+ ports because of DAD, we need CAP_NET_BIND_SERVICE too. */
+ if (is_dad_listeners())
+ data->effective = data->permitted = data->inheritable =
+ (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW) |
+ (1 << CAP_SETUID) | (1 << CAP_NET_BIND_SERVICE);
+ else
+ data->effective = data->permitted = data->inheritable =
+ (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW) | (1 << CAP_SETUID);
/* Tell kernel to not clear capabilities when dropping root */
if (capset(hdr, data) == -1 || prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) == -1)
@@ -443,8 +449,12 @@ int main (int argc, char **argv)
}
#ifdef HAVE_LINUX_NETWORK
- data->effective = data->permitted =
- (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW);
+ if (is_dad_listeners())
+ data->effective = data->permitted =
+ (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW) | (1 << CAP_NET_BIND_SERVICE);
+ else
+ data->effective = data->permitted =
+ (1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW);
data->inheritable = 0;
/* lose the setuid and setgid capbilities */
@@ -605,6 +615,13 @@ int main (int argc, char **argv)
t.tv_usec = 250000;
tp = &t;
}
+ /* Wake every second whilst waiting for DAD to complete */
+ else if (is_dad_listeners())
+ {
+ t.tv_sec = 1;
+ t.tv_usec = 0;
+ tp = &t;
+ }
#ifdef HAVE_DBUS
set_dbus_listeners(&maxfd, &rset, &wset, &eset);
@@ -659,6 +676,15 @@ int main (int argc, char **argv)
now = dnsmasq_time();
check_log_writer(&wset);
+
+ /* Check the interfaces to see if any have exited DAD state
+ and if so, bind the address. */
+ if (is_dad_listeners())
+ {
+ enumerate_interfaces();
+ /* NB, is_dad_listeners() == 1 --> we're binding interfaces */
+ create_bound_listeners(0);
+ }
#ifdef HAVE_LINUX_NETWORK
if (FD_ISSET(daemon->netlinkfd, &rset))
diff --git a/src/dnsmasq.h b/src/dnsmasq.h
index 3bf7a44..1eba3d0 100644
--- a/src/dnsmasq.h
+++ b/src/dnsmasq.h
@@ -363,7 +363,7 @@ struct server {
struct irec {
union mysockaddr addr;
struct in_addr netmask; /* only valid for IPv4 */
- int tftp_ok, mtu;
+ int tftp_ok, mtu, done, dad;
char *name;
struct irec *next;
};
@@ -829,8 +829,9 @@ void pre_allocate_sfds(void);
int reload_servers(char *fname);
void check_servers(void);
int enumerate_interfaces();
-struct listener *create_wildcard_listeners(void);
-struct listener *create_bound_listeners(void);
+void create_wildcard_listeners(void);
+void create_bound_listeners(int die);
+int is_dad_listeners(void);
int iface_check(int family, struct all_addr *addr, char *name, int *indexp);
int fix_fd(int fd);
struct in_addr get_ifaddr(char *intr);
diff --git a/src/netlink.c b/src/netlink.c
index df3585f..6ece177 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -222,7 +222,8 @@ int iface_enumerate(int family, void *parm, int (*callback)())
}
if (addrp)
- if (!((*callback)(addrp, ifa->ifa_scope, ifa->ifa_index, parm)))
+ if (!((*callback)(addrp, ifa->ifa_index,
+ ifa->ifa_index, ifa->ifa_flags & IFA_F_TENTATIVE, parm)))
return 0;
}
#endif
diff --git a/src/network.c b/src/network.c
index fe5557a..ee590d8 100644
--- a/src/network.c
+++ b/src/network.c
@@ -187,7 +187,7 @@ int iface_check(int family, struct all_addr *addr, char *name, int *indexp)
}
static int iface_allowed(struct irec **irecp, int if_index,
- union mysockaddr *addr, struct in_addr netmask)
+ union mysockaddr *addr, struct in_addr netmask, int dad)
{
struct irec *iface;
int fd, mtu = 0, loopback;
@@ -202,8 +202,11 @@ static int iface_allowed(struct irec **irecp, int if_index,
we call this routine multiple times. */
for (iface = *irecp; iface; iface = iface->next)
if (sockaddr_isequal(&iface->addr, addr))
- return 1;
-
+ {
+ iface->dad = dad;
+ return 1;
+ }
+
if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1 ||
!indextoname(fd, if_index, ifr.ifr_name) ||
ioctl(fd, SIOCGIFFLAGS, &ifr) == -1)
@@ -283,6 +286,8 @@ static int iface_allowed(struct irec **irecp, int if_index,
iface->netmask = netmask;
iface->tftp_ok = tftp_ok;
iface->mtu = mtu;
+ iface->dad = dad;
+ iface->done = 0;
if ((iface->name = whine_malloc(strlen(ifr.ifr_name)+1)))
strcpy(iface->name, ifr.ifr_name);
iface->next = *irecp;
@@ -296,7 +301,7 @@ static int iface_allowed(struct irec **irecp, int if_index,
#ifdef HAVE_IPV6
static int iface_allowed_v6(struct in6_addr *local,
- int scope, int if_index, void *vparam)
+ int scope, int if_index, int dad, void *vparam)
{
union mysockaddr addr;
struct in_addr netmask; /* dummy */
@@ -312,7 +317,7 @@ static int iface_allowed_v6(struct in6_addr *local,
addr.in6.sin6_port = htons(daemon->port);
addr.in6.sin6_scope_id = scope;
- return iface_allowed((struct irec **)vparam, if_index, &addr, netmask);
+ return iface_allowed((struct irec **)vparam, if_index, &addr, netmask, dad);
}
#endif
@@ -330,7 +335,7 @@ static int iface_allowed_v4(struct in_addr local, int if_index,
addr.in.sin_addr = local;
addr.in.sin_port = htons(daemon->port);
- return iface_allowed((struct irec **)vparam, if_index, &addr, netmask);
+ return iface_allowed((struct irec **)vparam, if_index, &addr, netmask, 0);
}
int enumerate_interfaces(void)
@@ -355,13 +360,10 @@ int fix_fd(int fd)
return 1;
}
-static int make_sock(union mysockaddr *addr, int type)
+static int make_sock(union mysockaddr *addr, int type, int dienow)
{
int family = addr->sa.sa_family;
int fd, rc, opt = 1;
-#ifdef HAVE_IPV6
- static int dad_count = 0;
-#endif
if ((fd = socket(family, type, 0)) == -1)
{
@@ -374,11 +376,16 @@ static int make_sock(union mysockaddr *addr, int type)
return -1;
err:
- port = prettyprint_addr(addr, daemon->namebuff);
- if (!option_bool(OPT_NOWILD))
- sprintf(daemon->namebuff, "port %d", port);
- die(_("failed to create listening socket for %s: %s"),
- daemon->namebuff, EC_BADNET);
+ if (dienow)
+ {
+ port = prettyprint_addr(addr, daemon->namebuff);
+ if (!option_bool(OPT_NOWILD))
+ sprintf(daemon->namebuff, "port %d", port);
+ die(_("failed to create listening socket for %s: %s"),
+ daemon->namebuff, EC_BADNET);
+
+ }
+ return -1;
}
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 || !fix_fd(fd))
@@ -389,27 +396,7 @@ static int make_sock(union mysockaddr *addr, int type)
goto err;
#endif
- while (1)
- {
- if ((rc = bind(fd, (struct sockaddr *)addr, sa_len(addr))) != -1)
- break;
-
-#ifdef HAVE_IPV6
- /* An interface may have an IPv6 address which is still undergoing DAD.
- If so, the bind will fail until the DAD completes, so we try over 20 seconds
- before failing. */
- if (family == AF_INET6 &&
- (errno == ENODEV || errno == EADDRNOTAVAIL) &&
- dad_count++ < DAD_WAIT)
- {
- sleep(1);
- continue;
- }
-#endif
- break;
- }
-
- if (rc == -1)
+ if ((rc = bind(fd, (struct sockaddr *)addr, sa_len(addr))) == -1)
goto err;
if (type == SOCK_STREAM)
@@ -462,15 +449,15 @@ static int make_sock(union mysockaddr *addr, int type)
return fd;
}
-static struct listener *create_listeners(union mysockaddr *addr, int do_tftp)
+static struct listener *create_listeners(union mysockaddr *addr, int do_tftp, int dienow)
{
struct listener *l = NULL;
int fd = -1, tcpfd = -1, tftpfd = -1;
if (daemon->port != 0)
{
- fd = make_sock(addr, SOCK_DGRAM);
- tcpfd = make_sock(addr, SOCK_STREAM);
+ fd = make_sock(addr, SOCK_DGRAM, dienow);
+ tcpfd = make_sock(addr, SOCK_STREAM, dienow);
}
#ifdef HAVE_TFTP
@@ -481,7 +468,7 @@ static struct listener *create_listeners(union mysockaddr *addr, int do_tftp)
/* port must be restored to DNS port for TCP code */
short save = addr->in.sin_port;
addr->in.sin_port = htons(TFTP_PORT);
- tftpfd = make_sock(addr, SOCK_DGRAM);
+ tftpfd = make_sock(addr, SOCK_DGRAM, dienow);
addr->in.sin_port = save;
}
# ifdef HAVE_IPV6
@@ -489,7 +476,7 @@ static struct listener *create_listeners(union mysockaddr *addr, int do_tftp)
{
short save = addr->in6.sin6_port;
addr->in6.sin6_port = htons(TFTP_PORT);
- tftpfd = make_sock(addr, SOCK_DGRAM);
+ tftpfd = make_sock(addr, SOCK_DGRAM, dienow);
addr->in6.sin6_port = save;
}
# endif
@@ -509,7 +496,7 @@ static struct listener *create_listeners(union mysockaddr *addr, int do_tftp)
return l;
}
-struct listener *create_wildcard_listeners(void)
+void create_wildcard_listeners(void)
{
union mysockaddr addr;
struct listener *l;
@@ -523,7 +510,7 @@ struct listener *create_wildcard_listeners(void)
addr.in.sin_addr.s_addr = INADDR_ANY;
addr.in.sin_port = htons(daemon->port);
- l = create_listeners(&addr, tftp_enabled);
+ l = create_listeners(&addr, tftp_enabled, 1);
#ifdef HAVE_IPV6
memset(&addr, 0, sizeof(addr));
@@ -535,31 +522,41 @@ struct listener *create_wildcard_listeners(void)
addr.in6.sin6_port = htons(daemon->port);
if (l)
- l->next = create_listeners(&addr, tftp_enabled);
+ l->next = create_listeners(&addr, tftp_enabled, 1);
else
- l = create_listeners(&addr, tftp_enabled);
+ l = create_listeners(&addr, tftp_enabled, 1);
#endif
- return l;
+ daemon->listeners = l;
}
-struct listener *create_bound_listeners(void)
+void create_bound_listeners(int dienow)
{
- struct listener *new, *listeners = NULL;
+ struct listener *new;
struct irec *iface;
for (iface = daemon->interfaces; iface; iface = iface->next)
- if ((new = create_listeners(&iface->addr, iface->tftp_ok)))
+ if (!iface->done && !iface->dad &&
+ (new = create_listeners(&iface->addr, iface->tftp_ok, dienow)))
{
new->iface = iface;
- new->next = listeners;
- listeners = new;
+ new->next = daemon->listeners;
+ daemon->listeners = new;
+ iface->done = 1;
}
-
- return listeners;
}
-
+int is_dad_listeners(void)
+{
+ struct irec *iface;
+
+ if (option_bool(OPT_NOWILD))
+ for (iface = daemon->interfaces; iface; iface = iface->next)
+ if (iface->dad && !iface->done)
+ return 1;
+
+ return 0;
+}
/* return a UDP socket bound to a random port, have to cope with straying into
occupied port nos and reserved ones. */
int random_sock(int family)