summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Kelley <simon@thekelleys.org.uk>2011-02-18 18:11:18 +0000
committerSimon Kelley <simon@thekelleys.org.uk>2012-01-05 17:31:15 +0000
commit572b41eb503fd765b5a195abd799043989363791 (patch)
treefbeaa561c35e5a80bf1e3994cce2bcfc99455fe6
parent28866e9567f1ef1cb12d19e78e0e5d5a0335c059 (diff)
downloaddnsmasq-572b41eb503fd765b5a195abd799043989363791.tar.gz
import of dnsmasq-2.57.tar.gzv2.57
-rw-r--r--Android.mk3
-rw-r--r--CHANGELOG32
-rw-r--r--Makefile8
-rw-r--r--bld/Android.mk18
-rw-r--r--dnsmasq.conf.example7
-rw-r--r--po/de.po315
-rw-r--r--po/es.po315
-rw-r--r--po/fi.po314
-rw-r--r--po/fr.po315
-rw-r--r--po/id.po314
-rw-r--r--po/it.po314
-rw-r--r--po/no.po314
-rw-r--r--po/pl.po315
-rw-r--r--po/pt_BR.po314
-rw-r--r--po/ro.po314
-rw-r--r--src/config.h39
-rw-r--r--src/dhcp_protocol.h91
-rw-r--r--src/dns_protocol.h111
-rw-r--r--src/dnsmasq.c16
-rw-r--r--src/dnsmasq.h57
-rw-r--r--src/forward.c61
-rw-r--r--src/log.c30
-rw-r--r--src/option.c33
-rw-r--r--src/rfc1035.c112
-rw-r--r--src/rfc2131.c64
-rw-r--r--src/tftp.c6
-rw-r--r--src/util.c24
27 files changed, 2097 insertions, 1759 deletions
diff --git a/Android.mk b/Android.mk
new file mode 100644
index 0000000..ba187a6
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,3 @@
+ifneq ($(TARGET_SIMULATOR),true)
+include $(call all-subdir-makefiles)
+endif
diff --git a/CHANGELOG b/CHANGELOG
index f2e4977..fb15e3d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,29 @@
+version 2.57
+ Add patches to allow build under Android.
+
+ Provide our own header for the DNS protocol, rather than
+ relying on arpa/nameser.h. This has proved more or less
+ defective over the years and the final straw is that it's
+ effectively empty on Android.
+
+ Fix regression in 2.56 which caused hex constants in
+ configuration to be rejected if they contain the '*'
+ wildcard.
+
+ Correct wrong casts of arguments to ctype.h functions,
+ isdigit(), isxdigit() etc. Thanks to Matthias Andree for
+ spotting this.
+
+ Allow build with IDN support independently from i18n.
+ IDN support continues to be included automatically
+ when i18n is included.
+ 'make COPTS=-DHAVE_IDN' is the magic incantation.
+
+ Modify check on extraneous command line junk (added in
+ 2.56) so that it doesn't complain about extra _empty_
+ arguments. Otherwise this breaks libvirt.
+
+
version 2.56
Add a patch to allow dnsmasq to get interface names right in a
Solaris zone. Thanks to Dj Padzensky for this.
@@ -117,9 +143,9 @@ version 2.56
request meant for another DHCP server. NAKing this is
wrong. Thanks to Brad D'Hondt for assistance with this.
- Fix cosmetic bug which produced strange output when
- dumping cache statistics with some configurations. Thanks
- to Fedor Kozhevnikov for spotting this.
+ Fix cosmetic bug which produced strange output when
+ dumping cache statistics with some configurations. Thanks
+ to Fedor Kozhevnikov for spotting this.
version 2.55
diff --git a/Makefile b/Makefile
index 49acbc3..16c69e4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# dnsmasq is Copyright (c) 2000-2010 Simon Kelley
+# dnsmasq is Copyright (c) 2000-2011 Simon Kelley
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -34,6 +34,8 @@ MAN = man
DNSMASQ_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --cflags dbus-1`
DNSMASQ_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --libs dbus-1`
+IDN_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --cflags libidn`
+IDN_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_IDN $(PKG_CONFIG) --libs libidn`
SUNOS_LIBS= `if uname | grep SunOS 2>&1 >/dev/null; then echo -lsocket -lnsl -lposix4; fi`
OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
@@ -42,8 +44,8 @@ OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
all :
@cd $(SRC) && $(MAKE) \
- BUILD_CFLAGS="$(DNSMASQ_CFLAGS)" \
- BUILD_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS)" \
+ BUILD_CFLAGS="$(DNSMASQ_CFLAGS) $(IDN_CFLAGS)" \
+ BUILD_LIBS="$(DNSMASQ_LIBS) $(IDN_LIBS) $(SUNOS_LIBS)" \
-f ../Makefile dnsmasq
clean :
diff --git a/bld/Android.mk b/bld/Android.mk
new file mode 100644
index 0000000..373a783
--- /dev/null
+++ b/bld/Android.mk
@@ -0,0 +1,18 @@
+LOCAL_PATH := external/dnsmasq/src
+
+#########################
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := bpf.c cache.c dbus.c dhcp.c dnsmasq.c \
+ forward.c helper.c lease.c log.c \
+ netlink.c network.c option.c rfc1035.c \
+ rfc2131.c tftp.c util.c
+
+LOCAL_MODULE := dnsmasq
+
+LOCAL_C_INCLUDES := external/dnsmasq/src
+
+LOCAL_CFLAGS := -O2 -g -W -Wall -D__ANDROID__ -DNO_IPV6 -DNO_TFTP -DNO_SCRIPT
+LOCAL_SYSTEM_SHARED_LIBRARIES := libc libcutils
+
+include $(BUILD_EXECUTABLE)
diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example
index f7ea58b..719dcff 100644
--- a/dnsmasq.conf.example
+++ b/dnsmasq.conf.example
@@ -7,8 +7,8 @@
# The following two options make you a better netizen, since they
# tell dnsmasq to filter out queries which the public DNS cannot
# answer, and which load the servers (especially the root servers)
-# necessarily. If you have a dial-on-demand link they also stop
-# these requests from bringing up the link necessarily.
+# unnecessarily. If you have a dial-on-demand link they also stop
+# these requests from bringing up the link unnecessarily.
# Never forward plain names (without a dot or domain part)
#domain-needed
@@ -161,7 +161,8 @@
# of valid alternatives, so we will give examples of each. Note that
# IP addresses DO NOT have to be in the range given above, they just
# need to be on the same network. The order of the parameters in these
-# do not matter, it's permissible to give name,address and MAC in any order
+# do not matter, it's permissible to give name, address and MAC in any
+# order.
# Always allocate the host with Ethernet address 11:22:33:44:55:66
# The IP address 192.168.0.60
diff --git a/po/de.po b/po/de.po
index 430b4f8..30ecb0e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -74,31 +74,31 @@ msgstr "%u weitergeleitete Anfragen, %u lokal beantwortete Anfragen"
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr "Server %s#%d: %u Anfragen gesendet, %u erneut versucht oder fehlgeschlagen"
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr "Konnte den Zufallszahlengenerator nicht initialisieren: %s"
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr "Konnte Speicher nicht belegen"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "Speicher nicht verfügbar"
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr "Konnte Pipe nicht erzeugen: %s"
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr "Konnte %d Bytes nicht belegen"
# @Simon: not perfect but I cannot get nearer right now.
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "unendlich"
@@ -587,197 +587,205 @@ msgstr "Fehlerhafte DHCP-Option"
msgid "bad IP address"
msgstr "Fehlerhafte IP-Adresse"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "Fehlerhafte Domäne in DHCP-Option"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "DHCP-Option zu lang"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr "Unzulässige dhcp-match-Option"
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr "unzulässig wiederholte Markierung"
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr "unzulässig wiederholtes Schlüsselwort"
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr "Kann auf Verzeichnis %s nicht zugreifen: %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr "Kann auf %s nicht zugreifen: %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "unzulässige MX-Präferenz-Angabe"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "unzulässiger MX-Name"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "unzulässiges MX-Ziel"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr "unter uClinux ist die Skriptausführung nicht möglich"
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr "Neuübersetzung mit HAVE_SCRIPT nötig, um Lease-Änderungs-Skripte auszuführen"
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "unzulässiger Port"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr "Schnittstellenbindung nicht unterstützt"
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr "unzulässiger Portbereich"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr "unzulässige Brücken-Schnittstelle"
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "unzulässiger DHCP-Bereich"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr "nur eine Marke zulässig"
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "inkonsistenter DHCP-Bereich"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr ""
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr "unzulässiger DHCP-Hostname"
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr "unzulässige bedingte Marke (tag-if)"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "unzulässige Portnummer"
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr "Fehlerhafte DHCP-Proxy-Adresse"
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr "unzulässiger Alias-Bereich"
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr "unzulässiger Schnittestellenname"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr "unzulässiger CNAME"
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr "doppelter CNAME"
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr "unzulässiger PTR-Eintrag"
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr "unzulässiger NAPTR-Eintrag"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "unzulässiger TXT-Eintrag"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "unzulässiger SRV-Eintrag"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "unzulässiges SRV-Ziel"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "unzulässige Priorität"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "unzulässige Wichtung"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "unzulässige Option (prüfen Sie, ob dnsmasq mit DHCP/TFTP/DBus-Unterstützt übersetzt wurde)"
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "fehlende \\\""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "unzulässige Option"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "überschüssiger Parameter"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "fehler Parameter"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "Fehler"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s in Zeile %d von %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "kann %s nicht lesen: %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr "%s gelesen"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq Version %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -786,64 +794,64 @@ msgstr ""
"Ãœbersetzungs-Optionen %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Für diese Software wird ABSOLUT KEINE GARANTIE gewährt.\n"
# FIXME: this must be one long string! -- MA
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr "versuchen Sie --help"
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr "versuchen Sie -w"
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr "unzulässige Optionen auf der Befehlszeile: %s"
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "kann Hostnamen nicht ermitteln: %s"
-#: option.c:3347
+#: option.c:3358
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:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr "konnte %s nicht lesen: %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "keine \"search\"-Anweisung in %s gefunden"
-#: option.c:3398
+#: option.c:3409
#, fuzzy
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "für --dhcp-fqdn muss eine Domäne vorausgewählt werden"
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr "Syntaxprüfung OK"
@@ -924,205 +932,210 @@ msgstr ""
msgid "using nameserver %s#%d"
msgstr ""
-#: dnsmasq.c:145
+#: dnsmasq.c:148
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:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr "asynchrone Protokollierung unter Solaris nicht verfügbar"
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+#, fuzzy
+msgid "asychronous logging is not available under Android"
+msgstr "asynchrone Protokollierung unter Solaris nicht verfügbar"
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "konnte Schnitstellenliste nicht beziehen: %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "unbekannte Schnittstelle %s"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "keine Schnittstelle mit Adresse %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "DBus-Fehler: %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus nicht verfügbar: setzen Sie HAVE_DBUS in src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr "Unbekannter Benutzer oder Gruppe: %s"
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr "kann nicht ins Wurzelverzeichnis des Dateisystems wechseln: %s"
# FIXME: this and the next would need commas after the version
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr "gestartet, Version %s, DNS abgeschaltet"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "gestartet, Version %s, Cachegröße %d"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "Ãœbersetzungsoptionen: %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "DBus-Unterstützung eingeschaltet: mit Systembus verbunden"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "DBus-Unterstützung eingeschaltet: warte auf Systembus-Verbindung"
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "Warnung: konnte den Besitzer von %s nicht ändern: %s"
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "Aktiviere --bind-interfaces wegen Einschränkungen des Betriebssystems"
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "Warnung: Schnittstelle %s existiert derzeit nicht"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr "Warnung: Ignoriere \"resolv-file\", weil \"no-resolv\" aktiv ist"
-#: dnsmasq.c:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr "Warnung: keine vorgelagerten (Upstream) Server konfiguriert"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr "asynchrone Protokollierung eingeschaltet, Warteschlange fasst %d Nachrichten"
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, Proxy im Subnetz %.0s%s%.0s"
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, IP-Bereich %s - %s, Lease-Zeit %s "
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr "FIXME: this and the next few must be full strings to be translatable - do not assemble in code"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "Begrenze gleichzeitige TFTP-Ãœbertragungen auf maximal %d"
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "Mit System-DBus verbunden"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr "kann nicht in den Hintergrund abspalten: %s"
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr "kann Helfer nicht erzeugen: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr "kann \"capabilities\" nicht setzen: %s"
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "Kann nicht Benutzerrechte %s annehmen: %s"
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "Kann nicht Gruppenrechte %s annehmen: %s"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "kann die Prozessidentifikations-(PID)-Datei %s nicht öffnen: %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr "kann %s nicht öffnen: %s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr "Tochterprozess durch Signal %d zerstört"
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr "Tochterprozess beendete sich mit Status %d"
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr "konnte %s nicht ausführen: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "beende nach Empfang von SIGTERM"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr "konnte auf %s nicht zugreifen: %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "lese %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr "keine Server in %s gefunden, werde es später neu versuchen"
@@ -1219,181 +1232,181 @@ msgstr "Konnte %s nicht schreiben: %s (Neuversuch in %u s)"
# FIXME: this and the next few are not translatable. Please provide full
# strings, do not programmatically assemble them.
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr ""
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "%u verfügbare(s) DHCP-Subnetz: %s/%s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr "%u verfügbare(r) DHCP-Bereich: %s - %s"
# FIXME: do not programmatically assemble strings - untranslatable
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr ""
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr ""
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr ""
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr ""
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr ""
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr ""
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr ""
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr "%u Klient stellt Name bereit: %s"
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr "%u \"Vendor class\": %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr "%u Benutzerklasse: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr "PXE BIS nicht unterstützt"
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "schalte statische DHCP-Adresse %s für %s ab"
# FIXME: do not assemble
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr ""
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "benutze konfigurierte Adresse %s nicht, weil sie an %s verleast ist"
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "benutze konfigurierte Adresse %s nicht, weil sie von Server/Relais verwendet wird"
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "benutze konfigurierte Adresse %s nicht, weil sie zuvor abgelehnt wurde"
# FIXME: do not assemble
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr ""
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr ""
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr ""
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr ""
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr ""
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "Gebe Lease von %2$s an %1$s auf"
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr "%u Marken: %s"
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u Name der Bootdatei: %s"
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr "%u Servername: %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr "%u nächster Server: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr "%u Antwort per Rundsendung"
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "kann DHCP/BOOTP-Opition %d nicht setzen: kein Platz mehr im Paket"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr "PXE-Menüeintrag zu groß"
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Ignoriere Domäne %s für DHCP-Hostnamen %s"
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr "%u angeforderte Optionen: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "Kann RFC3925-Option nicht senden: zu viele Optionen für Unternehmen Nr. %d"
@@ -1459,17 +1472,17 @@ msgstr "konnte %s nicht an %s senden"
msgid "sent %s to %s"
msgstr "%s an %s verschickt"
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr "Überlauf: %d Protokolleinträge verloren"
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr "Protokollierung fehlgeschlagen: %s"
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "Start fehlgeschlagen"
diff --git a/po/es.po b/po/es.po
index aa15e55..efdd24e 100644
--- a/po/es.po
+++ b/po/es.po
@@ -69,31 +69,31 @@ msgstr "búsquedas reenviadas %u, búsquedas respondidas localmente %u"
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr "servidor %s#%d: búsquedas enviadas %u, reintentadas o fallidas %u"
-#: util.c:59
+#: util.c:57
#, fuzzy, c-format
msgid "failed to seed the random number generator: %s"
msgstr "no se pudo crear valor semilla para el generador de números aleatorios: %s"
-#: util.c:191
+#: util.c:189
#, fuzzy
msgid "failed to allocate memory"
msgstr "no se pudo asignar memoria"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "no se pudo adquirir memoria"
-#: util.c:239
+#: util.c:237
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "no se puede crear pipe: %s"
-#: util.c:247
+#: util.c:245
#, fuzzy, c-format
msgid "failed to allocate %d bytes"
msgstr "no se pudo asignar %d bytes"
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "infinito"
@@ -590,206 +590,214 @@ msgstr "opción dhcp-option errónea"
msgid "bad IP address"
msgstr "dirección IP errónea"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "dominio erróneo en dhcp-option"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "opción dhcp-option demasiado larga"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr "dhcp-match ilegal"
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr "opción repetida ilegal"
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr "palabra clave repetida ilegal"
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "no se puede accesar directorio %s: %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "no se puede accesar %s: %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "preferencia MX errónea"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "nombre MX erróneo"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "destino MX erróneo"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr "no se pueden correr archivos guiónes bajo uClinux"
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr "recompilar con HAVE_SCRIPT definido para habilitar guiónes de cambio de arriendo"
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "puerto erróneo"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr "vinculación de interface no está soportado"
-#: option.c:1785
+#: option.c:1791
#, fuzzy
msgid "bad port range"
msgstr "rango de puertos erróneo"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr "opción bridge-interface (interface puente) errónea"
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "opción dhcp-range (rango DHCP) errónea"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr "solo una etiqueta permitida"
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "rango DHCP inconsistente"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
#, fuzzy
msgid "bad hex constant"
msgstr "opción dhcp-host errónea"
-#: option.c:2101
+#: option.c:2107
#, fuzzy
msgid "bad DHCP host name"
msgstr "nombre de host DHCP erróneo"
-#: option.c:2182
+#: option.c:2188
#, fuzzy
msgid "bad tag-if"
msgstr "destino MX erróneo"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "número de puerto inválido"
-#: option.c:2523
+#: option.c:2529
#, fuzzy
msgid "bad dhcp-proxy address"
msgstr "dirección IP errónea"
-#: option.c:2563
+#: option.c:2569
#, fuzzy
msgid "invalid alias range"
msgstr "rango alias inválido"
-#: option.c:2576
+#: option.c:2582
#, fuzzy
msgid "bad interface name"
msgstr "nombre de interface erróneo"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr "CNAME erróneo"
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr "CNAME duplicado"
-#: option.c:2626
+#: option.c:2632
#, fuzzy
msgid "bad PTR record"
msgstr "expediente PTR erróneo"
-#: option.c:2657
+#: option.c:2663
#, fuzzy
msgid "bad NAPTR record"
msgstr "expediente NAPTR erróneo"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "expediente TXT erróneo"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "expediente SRV erróneo"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "destino SRV erróneo"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "prioridad inválida"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "peso inválido"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "opción no soportada (verificar que dnsmasq fue compilado con soporte para DHCP/TFTP/DBus)"
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "falta \""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "opción errónea"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "parámetro extraño"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "parámetro ausente"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "error"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s en línea %d de %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "no se puede leer %s: %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, fuzzy, c-format
msgid "read %s"
msgstr "leyendo %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versión %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -798,63 +806,63 @@ msgstr ""
"Opciones de compilación %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Este software viene SIN NINGUNA GARANTIA.\n"
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq es software libre, y usted está bienvenido a redistribuirlo\n"
-#: option.c:3262
+#: option.c:3273
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "bajo los términos de la GNU General Public License, versión 2 o 3.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr "pruebe --help"
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr "pruebe -w"
-#: option.c:3278
+#: option.c:3289
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "opciones de línea de comandos erróneas: %s"
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "no se puede obtener host-name (nombre de host): %s"
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "solo un archivo resolv.conf permitido en modo no-poll."
-#: option.c:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "no se pudo leer %s: %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "ninguna directiva de búsqueda encontrada en %s"
-#: option.c:3398
+#: option.c:3409
#, fuzzy
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "debe haber un dominio predeterminado cuando --dhcp-fqdn está fijado"
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr "revisión de sintaxis OK"
@@ -934,208 +942,213 @@ msgstr "usando servidor DNS %s#%d(vía %s)"
msgid "using nameserver %s#%d"
msgstr "usando servidor DNS %s#%d"
-#: dnsmasq.c:145
+#: dnsmasq.c:148
#, fuzzy
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h"
-#: dnsmasq.c:150
+#: dnsmasq.c:153
#, fuzzy
msgid "asychronous logging is not available under Solaris"
msgstr "bitacoreo asincrónico no está disponible bajo Solaris"
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+#, fuzzy
+msgid "asychronous logging is not available under Android"
+msgstr "bitacoreo asincrónico no está disponible bajo Solaris"
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "no se pudo encontrar lista de interfaces: %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "interface desconocida %s"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "ninguna interface con dirección %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "error DBus: %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr "usuario o grupo desconocido: %s"
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr "no se puede cambiar directorio a raíz de sistema de archivos: %s"
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "iniciado, versión %s DNS deshabilitado"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "iniciado, versión %s tamaño de caché %d"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "iniciado, versión %s caché deshabilitado"
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "opciones de compilación: %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "soporte DBus habilitado: conectado a bus de sistema"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "soporte DBus habilitado: conección a bus pendiente"
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, 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:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "fijando opción --bind-interfaces debido a limitaciones de sistema operativo"
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advertencia: interface %s no existe actuálmente"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
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:483
+#: dnsmasq.c:491
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "advertencia: ningún servidor upstream configurado"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, 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:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, proxy en subred %.0s%s%.0s"
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, rango de IPs %s -- %s, tiempo de arriendo %s"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr "root es "
-#: dnsmasq.c:518
+#: dnsmasq.c:526
#, fuzzy
msgid "enabled"
msgstr "habilitado"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr "modo seguro"
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, 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:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "conectado a DBus de sistema"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr "no se puede hacer fork hacia el fondo: %s"
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "no se pudo crear ayudante: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, fuzzy, c-format
msgid "setting capabilities failed: %s"
msgstr "configuración de capacidades ha fallado: %s"
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "no se pudo cambiar user-id a %s: %s"
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "no se pudo cambiar group-id a %s: %s"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "no se pudo abrir archivo PID %s: %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "no se puede abrir %s: %s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr "proceso hijo eliminado por señal %d"
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr "proceso hijo hizo exit con estado %d"
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "no se pudo ejecutar %s: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "saliendo al recibir SIGTERM"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "no se pudo accesar %s: %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "leyendo %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "ningún servidor encontrado en %s, se reintentará"
@@ -1229,178 +1242,178 @@ msgstr "archivo guión lease-init retornó exit code %s"
msgid "failed to write %s: %s (retry in %us)"
msgstr "error al escribir %s: %s (reintentar en %us)"
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "ningún rango de direcciónes disponible para pedido DHCP %s %s"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "con selector de subred"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "vía"
-#: rfc2131.c:393
+#: rfc2131.c:331
#, fuzzy, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "%u Subred DHCP disponible: %s/%s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, fuzzy, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr "%u Rango DHCP disponible: %s -- %s"
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "deshabilitado"
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "ignorado"
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "dirección en uso"
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "ninguna dirección disponible"
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "red equivocada"
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "ninguna dirección configurada"
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "no sobra ningún arriendo"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, fuzzy, c-format
msgid "%u client provides name: %s"
msgstr "%u cliente provee nombre: %s"
-#: rfc2131.c:762
+#: rfc2131.c:700
#, fuzzy, c-format
msgid "%u vendor class: %s"
msgstr "%u Clase de vendedor: %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, fuzzy, c-format
msgid "%u user class: %s"
msgstr "%u Clase de usuario: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr "no hay soporte para BIS PXE"
-#: rfc2131.c:948
+#: rfc2131.c:886
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "deshabilitando dirección DHCP estática %s para %s"
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "arriendo desconocido"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "no usando dirección configurada %s porque está arrendada a %s"
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, fuzzy, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "no usando dirección configurada %s porque está en uso por el servidor o relay"
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, fuzzy, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "no usando dirección configurada %s porque fué previamente denegada"
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr "ningún unique-id (identificación única)"
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr "ID de servidor equivocada"
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "dirección equivocada"
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "arriendo no encontrado"
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "dirección no disponible"
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "arriendo estático disponible"
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "dirección reservada"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "abandonando arriendo a %s de %s"
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr "%u etiquetas: %s"
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nombre de bootfile: %s"
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr "%u nombre de servidor: %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "%u siguiente servidor: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "no se puede enviar opción DHCP/BOOTP %d: no queda espacio en paquete"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr "menú PXE demasiado grande"
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Ignorando dominio %s para nombre de host DHCP %s"
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "%u opciones solicitadas: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "no se puede enviar opción RFC3925: demasiadas opciones para número enterprise %d"
@@ -1466,17 +1479,17 @@ msgstr "TFTP no pudo enviar %s a %s"
msgid "sent %s to %s"
msgstr "TFTP envió %s a %s"
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr "desbordamiento: %d entradas de bitácora perdidas"
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr "bitácora falló: %s"
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "el inicio ha FALLADO"
diff --git a/po/fi.po b/po/fi.po
index ca1d2aa..ccd0338 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -69,30 +69,30 @@ msgstr ""
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr ""
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr ""
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr ""
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr ""
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr ""
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr ""
@@ -568,259 +568,267 @@ msgstr ""
msgid "bad IP address"
msgstr ""
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr ""
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr ""
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr ""
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr ""
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr ""
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr ""
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr ""
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr ""
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr ""
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr ""
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr ""
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr ""
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr ""
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr ""
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr ""
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr ""
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr ""
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr ""
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr ""
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr ""
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr ""
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr ""
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr ""
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr ""
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr ""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr ""
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr ""
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr ""
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr ""
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr ""
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr ""
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr ""
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
-#: option.c:3357
+#: option.c:3368
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr ""
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr ""
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -900,204 +908,208 @@ msgstr ""
msgid "using nameserver %s#%d"
msgstr ""
-#: dnsmasq.c:145
+#: dnsmasq.c:148
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr ""
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr ""
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr ""
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr ""
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr ""
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1191,178 +1203,178 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr ""
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr ""
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr ""
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr ""
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr ""
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr ""
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr ""
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr ""
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr ""
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr ""
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr ""
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr ""
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr ""
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr ""
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr ""
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr ""
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr ""
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr ""
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr ""
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr ""
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1428,16 +1440,16 @@ msgstr ""
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 3a73e45..6863785 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -68,30 +68,30 @@ msgstr "requêtes transmises %u, requêtes résolues localement %u"
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr "serveur %s#%d: requêtes envoyées %u, requêtes réessayées ou échouées %u"
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr "impossible d'initialiser le générateur de nombre aléatoire : %s"
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr "impossible d'allouer la mémoire"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "impossible d'allouer de la mémoire"
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr "Ne peut pas créer le tube %s : %s"
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr "impossible d'allouer %d octets"
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "illimité(e)"
@@ -584,204 +584,212 @@ msgstr "mauvaise valeur de 'dhcp-option'"
msgid "bad IP address"
msgstr "mauvaise adresse IP"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "mauvais domaine dans dhcp-option"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "dhcp-option trop long"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr "valeur illégale pour 'dhcp-match'"
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr "Une option ne pouvant être spécifié qu'une seule fois à été donnée plusieurs fois"
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr "Mot-clef ne pouvant être répété"
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr "Ne peut pas lire le répertoire %s : %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr "Ne peut pas lire %s : %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "préference MX incorrecte"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "nom MX incorrect"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "valeur MX cible incorrecte"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr "ne peut exécuter de script sous uClinux"
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr "pour permettre l'exécution de scripts au changement de bail (lease-change), recompiler en définissant HAVE_SCRIPT"
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "numéro de port incorrect"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr "association d'interface non supportée"
#
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr "gamme de ports incorrecte"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr "interface-pont incorrecte"
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "plage d'adresses DHCP (dhcp-range) incorrecte"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr "une seule étiquette est autorisée"
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "plage d'adresses DHCP incohérente"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr "mauvaise constante hexadecimale"
#
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr "nom d'hôte DHCP incorrect"
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr "mauvaise étiquette tag-if"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "numéro de port invalide"
#
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr "adresse dhcp-proxy incorrecte"
#
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr "poids invalide"
#
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr "nom d'interface invalide"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr "mauvais CNAME"
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr "ce CNAME existe déja"
#
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr "mauvais champ PTR"
#
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr "mauvais champ NAPTR"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "champ TXT invalide"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "champ SRV invalide"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "cible SRV invalide"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "priorité invalide"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "poids invalide"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "option non supportée (vérifier que Dnsmasq a été compilé avec le support DHCP/TFTP/DBus)"
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "il manque \""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "mauvaise option"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "paramètre en trop"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "paramètre manquant"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "erreur"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s à la ligne %d de %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "Ne peut pas lire %s : %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr "Lecture de %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr "la ligne de commande contient des éléments indésirables ou incompréhensibles"
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Version de Dnsmasq %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -790,62 +798,62 @@ msgstr ""
"Options à la compilation %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Ce logiciel est fourni sans AUCUNE GARANTIE.\n"
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq est un logiciel libre, il vous est permis de le redistribuer\n"
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "sous les termes de la licence GPL (GNU General Public License), version 2 ou 3.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr "essayez avec --help"
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr "essayez avec -w"
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr "mauvaises options en ligne de commande : %s."
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "ne peut pas obtenir le nom de la machine : %s"
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "seul un fichier resolv.conf est autorisé dans le mode no-poll"
-#: option.c:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr "impossible de lire %s : %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "pas de directive de recherche trouvée dans %s"
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "un domaine par défaut doit être spécifié lorsque l'option --dhcp-fqdn est utilisée"
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr "vérification de syntaxe OK"
@@ -926,206 +934,211 @@ msgid "using nameserver %s#%d"
msgstr "utilise le serveur de nom %s#%d"
#
-#: dnsmasq.c:145
+#: dnsmasq.c:148
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h"
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Solaris."
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+#, fuzzy
+msgid "asychronous logging is not available under Android"
+msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Solaris."
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "impossible de trouver la liste des interfaces : %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "interface %s inconnue"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "pas d'interface avec l'adresse %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "Erreur DBus : %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr "utilisateur ou groupe inconnu : %s"
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr "Ne peut effectuer un 'chdir' à la racine du système de fichier : %s"
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr "démarrage avec le DNS désactivé (version %s)"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "demarré, version %s (taille de cache %d)"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "démarrage avec le cache désactivé (version %s)"
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "options à la compilation : %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "Support DBus autorisé : connecté au bus système"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "Support DBus autorisé : connexion au bus en attente"
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "Impossible de changer pour l'utilisateur %s : %s"
-#: dnsmasq.c:470
+#: dnsmasq.c:478
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:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "attention : l'interface %s n'existe pas actuellement"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
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:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr "attention : aucun serveur amont n'est configuré"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, 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:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP, proxy sur le sous-réseau %.0s%s%.0s"
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, 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:518
+#: dnsmasq.c:526
msgid "root is "
msgstr "root est"
#
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr "activé"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr "mode sécurisé"
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "le nombre maximum de transferts TFTP simultanés sera restreint à %d"
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "connecté au systeme DBus"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr "Ne peut se lancer en tâche de fond : %s"
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr "impossible de créer le 'helper' : %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr "impossible de configurer la capacité %s"
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s"
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "Impossible de changer l'identifiant de groupe pour %s : %s"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "impossible de lire le fichier de PID %s : %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr "Ne peut pas lire %s : %s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr "Le processus fils a été terminé par le signal %d"
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr "Le processus fils s'est terminé avec le statut %d"
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr "impossible d'exécuter à %s : %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "sortie sur réception du signal SIGTERM"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr "impossible d'accéder à %s : %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "Lecture de %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr "aucun serveur trouvé dans %s, va réessayer"
@@ -1219,178 +1232,178 @@ msgstr "le script lease-init a retourné le code %s"
msgid "failed to write %s: %s (retry in %us)"
msgstr "impossible de lire %s : %s (prochain essai dans %us)"
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "pas de plage d'adresse disponible pour la requête DHCP %s %s"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "avec sélecteur de sous-reseau"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "par l'intermédiaire de"
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "%u sous-réseaux DHCP disponibles : %s/%s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr "%u la gamme DHCP disponible est : %s -- %s"
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "désactivé"
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "ignoré"
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "adresse déjà utilisée"
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "pas d'adresse disponible"
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "mauvais réseau"
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "pas d'adresse configurée"
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "plus aucun bail disponible"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr "le client %u fourni le nom : %s"
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr "%u Classe de vendeur ('Vendor Class') : %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr "%u Classe d'utilisateur : %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr "Service PXE BIS (Boot Integrity Services) non supporté"
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "désactive l'adresse statique DHCP %s pour %s"
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "bail inconnu"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "L'adresse statique %s ne sera pas utilisée car un bail est déjà attribué à %s"
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "L'adresse statique %s ne sera pas utilisée car elle est utilisée par le serveur ou un relai"
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "L'adresse statique %s ne sera pas utilisée car elle a préalablement été refusée"
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr "pas d'identifiant unique"
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr "mauvais identifiant de serveur"
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "mauvaise adresse"
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "bail non trouvé"
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "adresse non disponible"
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "bail statique disponible"
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "adresse reservée"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "abandon du bail de %s pour %s"
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr "%u options: %s"
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nom de fichier 'bootfile' : %s"
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr "%u nom du serveur : %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr "%u serveur suivant : %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr "%u réponse broadcast"
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "Impossible d'envoyer l'option DHCP/BOOTP %d : pas assez d'espace dans le paquet"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr "menu PXE trop grand"
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Le domaine %s est ignoré pour l'hôte DHCP %s"
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr "%u options demandées : %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "ne peux envoyer l'option RFC3925 : trop d'options pour le numéro d'entreprise %d"
@@ -1456,17 +1469,17 @@ msgstr "impossible d'envoyer %s à %s"
msgid "sent %s to %s"
msgstr "envoyé %s à %s"
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr "débordement : %d traces perdues"
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr "trace perdue : %s"
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "IMPOSSIBLE de démarrer"
diff --git a/po/id.po b/po/id.po
index da1e9af..749da19 100644
--- a/po/id.po
+++ b/po/id.po
@@ -76,36 +76,36 @@ msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
# OK
-#: util.c:59
+#: util.c:57
#, fuzzy, c-format
msgid "failed to seed the random number generator: %s"
msgstr "gagal mendengarkan di socket: %s"
# OK
-#: util.c:191
+#: util.c:189
#, fuzzy
msgid "failed to allocate memory"
msgstr "gagal memuat %S: %m"
# OK
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "tidak bisa mendapatkan memory"
# OK
-#: util.c:239
+#: util.c:237
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "tidak bisa membaca %s: %s"
# OK
-#: util.c:247
+#: util.c:245
#, fuzzy, c-format
msgid "failed to allocate %d bytes"
msgstr "gagal memuat %S: %m"
# OK
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "tak terbatas"
@@ -672,240 +672,248 @@ msgid "bad IP address"
msgstr "membaca %s - %d alamat"
# OK
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "domain dalam dhcp-option salah"
# OK
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "dhcp-option terlalu panjang"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
# OK
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "tidak bisa membaca %s: %s"
# OK
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "tidak bisa membaca %s: %s"
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
# OK
-#: option.c:1259
+#: option.c:1265
msgid "bad MX preference"
msgstr "kesukaan MX salah"
# OK
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "nama MX salah"
# OK
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "target MX salah"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
# OK
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "port salah"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
# OK
-#: option.c:1785
+#: option.c:1791
#, fuzzy
msgid "bad port range"
msgstr "port salah"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
# OK
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "dhcp-range salah"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
# OK
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "jangkauan DHCP tidak konsisten"
# OK
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
#, fuzzy
msgid "bad hex constant"
msgstr "dhcp-host salah"
# OK
-#: option.c:2101
+#: option.c:2107
#, fuzzy
msgid "bad DHCP host name"
msgstr "nama MX salah"
# OK
-#: option.c:2182
+#: option.c:2188
#, fuzzy
msgid "bad tag-if"
msgstr "target MX salah"
# OK
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "nomor port tidak benar"
# OK
-#: option.c:2523
+#: option.c:2529
#, fuzzy
msgid "bad dhcp-proxy address"
msgstr "membaca %s - %d alamat"
# OK
-#: option.c:2563
+#: option.c:2569
#, fuzzy
msgid "invalid alias range"
msgstr "weight tidak benar"
# OK
-#: option.c:2576
+#: option.c:2582
#, fuzzy
msgid "bad interface name"
msgstr "nama MX salah"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
# OK
-#: option.c:2626
+#: option.c:2632
#, fuzzy
msgid "bad PTR record"
msgstr "rekord SRV salah"
# OK
-#: option.c:2657
+#: option.c:2663
#, fuzzy
msgid "bad NAPTR record"
msgstr "rekord SRV salah"
# OK
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "rekord TXT salah"
# OK
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "rekord SRV salah"
# OK
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "target SRV salah"
# OK
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "prioritas tidak benar"
# OK
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "weight tidak benar"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
# OK
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "kurang \""
# OK
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "pilihan salah"
# OK
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "parameter berlebihan"
# OK
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "parameter kurang"
# OK
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "kesalahan"
# OK
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s pada baris %d dari %%s"
# OK
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "tidak bisa membaca %s: %s"
# OK
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, fuzzy, c-format
msgid "read %s"
msgstr "membaca %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
# OK
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versi %s %s\n"
# OK
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -915,70 +923,70 @@ msgstr ""
"\n"
# OK
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n"
# OK
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsdmasq adalah perangkat lunak bebas, dan Anda dipersilahkan untuk membagikannya\n"
# OK
-#: option.c:3262
+#: option.c:3273
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "dengan aturan GNU General Public License, versi 2.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
# OK
-#: option.c:3278
+#: option.c:3289
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "pilihan baris perintah salah: %s."
# OK
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "tidak bisa mendapatkan host-name: %s"
# OK
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "hanya satu file resolv.conf yang diperbolehkan dalam modus no-poll."
# OK
-#: option.c:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "gagal membaca %s: %s"
# OK
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "tidak ditemukan direktif search di %s"
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -1071,235 +1079,239 @@ msgid "using nameserver %s#%d"
msgstr "menggunakan nameserver %s#%d"
# OK
-#: dnsmasq.c:145
+#: dnsmasq.c:148
#, fuzzy
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
# OK
-#: dnsmasq.c:169
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "gagal mendapatkan daftar antarmuka: %s"
# OK
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "antarmuka tidak dikenal %s"
# OK
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "tidak ada antarmuka dengan alamat %s"
# OK
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "DBus error: %s"
# OK
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
# OK
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "dimulai, cache versi %s di disable"
# OK
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "dimulai, versi %s ukuran cache %d"
# OK
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "dimulai, cache versi %s di disable"
# OK
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "pilihan-pilihan saat kompilasi: %s"
# OK
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "dukungan DBus dimungkinkan: terkoneksi pada bus sistem"
# OK
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "dukungan DBus dimungkinkan: koneksi bus ditunda"
# OK
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS"
# OK
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "peringatan: antarmuka %s tidak ada"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
# OK
-#: dnsmasq.c:483
+#: dnsmasq.c:491
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "menyetel server-server di atas dengan DBus"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
# OK
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
# OK
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, jangkaun IP %s -- %s, waktu lease %s"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
# OK
-#: dnsmasq.c:518
+#: dnsmasq.c:526
#, fuzzy
msgid "enabled"
msgstr "di disable"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
# OK
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "terhubung ke sistem DBus"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
# OK
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "gagal membaca %s: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# OK
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "gagal membaca %s: %s"
# OK
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "tidak bisa membuka %s:%s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
# OK
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "gagal mengakses %s: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "keluar karena menerima SIGTERM"
# OK
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "gagal mengakses %s: %s"
# OK
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "membaca %s"
# OK
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "tidak ditemukan direktif search di %s"
@@ -1408,200 +1420,200 @@ msgid "failed to write %s: %s (retry in %us)"
msgstr "gagal membaca %s: %s"
# OK
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
# OK
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "dengan pemilih subnet"
# OK
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "lewat"
# OK
-#: rfc2131.c:393
+#: rfc2131.c:331
#, fuzzy, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
# OK
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "di disable"
# OK
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "diabaikan"
# OK
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "alamat telah digunakan"
# OK
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "tak ada alamat yang tersedia"
# OK
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "jaringan yang salah"
# OK
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "tak ada alamat yang disetel"
# OK
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "tak ada lease yang tersisa"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
# OK
-#: rfc2131.c:762
+#: rfc2131.c:700
#, fuzzy, c-format
msgid "%u vendor class: %s"
msgstr "DBus error: %s"
# OK
-#: rfc2131.c:764
+#: rfc2131.c:702
#, fuzzy, c-format
msgid "%u user class: %s"
msgstr "DBus error: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
# OK
-#: rfc2131.c:948
+#: rfc2131.c:886
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "men-disable alamat statik DHCP %s"
# OK
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "lease tidak diketahui"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
# OK
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "alamat salah"
# OK
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "lease tak ditemukan"
# OK
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "alamat tak tersedia"
# OK
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "lease statik tak tersedia"
# OK
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "alamat telah dipesan"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
# OK
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "DBus error: %s"
# OK
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "DBus error: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
# OK
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "pilihan-pilihan saat kompilasi: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1676,18 +1688,18 @@ msgstr "gagal membaca %s: %s"
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
# OK
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "GAGAL untuk memulai"
diff --git a/po/it.po b/po/it.po
index b9ec12d..0b42ef1 100644
--- a/po/it.po
+++ b/po/it.po
@@ -69,30 +69,30 @@ msgstr ""
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr ""
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr ""
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr ""
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr ""
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr ""
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr ""
@@ -568,259 +568,267 @@ msgstr ""
msgid "bad IP address"
msgstr ""
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr ""
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr ""
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr ""
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr ""
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr ""
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr ""
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr ""
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr ""
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr ""
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr ""
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr ""
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr ""
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr ""
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr ""
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr ""
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr ""
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr ""
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr ""
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr ""
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr ""
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr ""
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr ""
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr ""
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr ""
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr ""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr ""
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr ""
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr ""
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr ""
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr ""
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr ""
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr ""
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
-#: option.c:3357
+#: option.c:3368
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr ""
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr ""
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -900,204 +908,208 @@ msgstr ""
msgid "using nameserver %s#%d"
msgstr ""
-#: dnsmasq.c:145
+#: dnsmasq.c:148
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr ""
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr ""
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr ""
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr ""
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr ""
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1191,178 +1203,178 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr ""
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr ""
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr ""
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr ""
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr ""
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr ""
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr ""
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr ""
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr ""
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr ""
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr ""
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr ""
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr ""
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr ""
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr ""
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr ""
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr ""
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr ""
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr ""
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr ""
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1428,16 +1440,16 @@ msgstr ""
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr ""
diff --git a/po/no.po b/po/no.po
index 0b31cd3..78382cf 100644
--- a/po/no.po
+++ b/po/no.po
@@ -71,31 +71,31 @@ msgstr ""
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
-#: util.c:59
+#: util.c:57
#, fuzzy, c-format
msgid "failed to seed the random number generator: %s"
msgstr "feilet å lytte på socket: %s"
-#: util.c:191
+#: util.c:189
#, fuzzy
msgid "failed to allocate memory"
msgstr "feilet å laste %d bytes"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "kunne ikke få minne"
-#: util.c:239
+#: util.c:237
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "kan ikke lese %s: %s"
-#: util.c:247
+#: util.c:245
#, fuzzy, c-format
msgid "failed to allocate %d bytes"
msgstr "feilet å laste %d bytes"
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "uendelig"
@@ -590,206 +590,214 @@ msgstr "dårlig dhcp-opsjon"
msgid "bad IP address"
msgstr "les %s - %d adresser"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "dårlig domene i dhcp-opsjon"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "dhcp-opsjon for lang"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "kan ikke lese %s: %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "kan ikke lese %s: %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "dårlig MX preferanse"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "dårlig MX navn"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "dårlig MX mål"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "dårlig port"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
-#: option.c:1785
+#: option.c:1791
#, fuzzy
msgid "bad port range"
msgstr "dårlig port"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "dårlig dhcp-område"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "ikke konsistent DHCP område"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
#, fuzzy
msgid "bad hex constant"
msgstr "dårlig dhcp-vert"
-#: option.c:2101
+#: option.c:2107
#, fuzzy
msgid "bad DHCP host name"
msgstr "dårlig MX navn"
-#: option.c:2182
+#: option.c:2188
#, fuzzy
msgid "bad tag-if"
msgstr "dårlig MX mål"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "ugyldig portnummer"
-#: option.c:2523
+#: option.c:2529
#, fuzzy
msgid "bad dhcp-proxy address"
msgstr "les %s - %d adresser"
-#: option.c:2563
+#: option.c:2569
#, fuzzy
msgid "invalid alias range"
msgstr "ugyldig vekt"
-#: option.c:2576
+#: option.c:2582
#, fuzzy
msgid "bad interface name"
msgstr "dårlig MX navn"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
-#: option.c:2626
+#: option.c:2632
#, fuzzy
msgid "bad PTR record"
msgstr "dårlig SRV post"
-#: option.c:2657
+#: option.c:2663
#, fuzzy
msgid "bad NAPTR record"
msgstr "dårlig SRV post"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "dårlig TXT post"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "dårlig SRV post"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "dårlig SRV mål"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "ugyldig prioritet"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "ugyldig vekt"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "mangler \""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "dårlig opsjon"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "overflødig parameter"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "mangler parameter"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "feil"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s på linje %d av %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "kan ikke lese %s: %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, fuzzy, c-format
msgid "read %s"
msgstr "leser %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versjon %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -798,62 +806,62 @@ msgstr ""
"Kompileringsopsjoner %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n"
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "DNsmasq er fri programvare, du er velkommen til å redistribuere den\n"
-#: option.c:3262
+#: option.c:3273
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "under vilkårene gitt i GNU General Public License, versjon 2.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
-#: option.c:3278
+#: option.c:3289
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "dårlige kommandlinje opsjoner: %s."
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "klarer ikke å få vertsnavn: %s"
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "kun en resolv.conf fil tillat i no-poll modus."
-#: option.c:3357
+#: option.c:3368
msgid "must have exactly one resolv.conf to read domain from."
msgstr "må ha nøyaktig en resolv.conf å lese domene fra."
-#: option.c:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "feilet å lese %s: %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "intet søke direktiv funnet i %s"
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -933,207 +941,211 @@ msgstr "benytter navnetjener %s#%d"
msgid "using nameserver %s#%d"
msgstr "benytter navnetjener %s#%d"
-#: dnsmasq.c:145
+#: dnsmasq.c:148
#, fuzzy
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "feilet å finne liste av tilknytninger (interfaces): %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "ukjent tilknytning (interface) %s"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "ingen tilknytning (interface) med adresse %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "DBus feil: %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "startet, versjon %s mellomlager deaktivert"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "startet, versjon %s mellomlager størrelse %d"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "startet, versjon %s mellomlager deaktivert"
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "kompilerings opsjoner: %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "DBus støtte aktivert: koblet til system buss"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "DBus støtte aktivert: avventer buss tilkobling"
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger"
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:483
+#: dnsmasq.c:491
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "setter oppstrøms tjener fra DBus"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, IP område %s -- %s, leie tid %s"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
#, fuzzy
msgid "enabled"
msgstr "deaktivert"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "tilkoblet til system DBus"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "feilet å lese %s: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "feilet å laste navn fra %s: %s"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "feilet å lese %s: %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "kan ikke åpne %s:%s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "feilet å få tilgang til %s: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "avslutter etter mottak av SIGTERM"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "feilet å få tilgang til %s: %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "leser %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "intet søke direktiv funnet i %s"
@@ -1227,178 +1239,178 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr "feilet å lese %s: %s"
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "med subnet velger"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "via"
-#: rfc2131.c:393
+#: rfc2131.c:331
#, fuzzy, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "deaktivert"
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "oversett"
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "adresse i bruk"
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "ingen adresse tilgjengelig"
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "galt nettverk"
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "ingen adresse konfigurert"
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "ingen leier igjen"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
-#: rfc2131.c:762
+#: rfc2131.c:700
#, fuzzy, c-format
msgid "%u vendor class: %s"
msgstr "DBus feil: %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, fuzzy, c-format
msgid "%u user class: %s"
msgstr "DBus feil: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
-#: rfc2131.c:948
+#: rfc2131.c:886
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "deaktiverer DHCP statisk adresse %s"
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "ukjent leie"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "gal adresse"
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "leie ikke funnet"
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "adresse ikke tilgjengelig"
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "statisk leie tilgjengelig"
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "adresse reservert"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "DBus feil: %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "DBus feil: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "kompilerings opsjoner: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1464,17 +1476,17 @@ msgstr "feilet å lese %s: %s"
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "FEILET å starte opp"
diff --git a/po/pl.po b/po/pl.po
index 398abd0..945df01 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -74,30 +74,30 @@ msgstr "%u zapytañ przes³anych dalej, %u odpowiedzi udzielonych samodzielnie"
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr "serwer %s#%d: %u zapytañ wys³anych, %u ponowionych lub nieudanych"
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr "brak mo¿liwo¶ci u¿ycia generatora liczb losowych: %s"
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr "nie uda³o siê przydzieliæ pamiêci"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "nie mo¿na dostaæ pamiêci"
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr "b³±d podczas próby utworzenia potoku: %s"
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr "niemo¿liwo¶æ przydzielenia %d bajtów pamiêci"
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "nieskoñczona"
@@ -575,197 +575,205 @@ msgstr "b³±d w dhcp-option"
msgid "bad IP address"
msgstr "z³y adres IP"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "nieprawid³owa nazwa domeny w dhcp-option"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "zbyt d³uga dhcp-option (>255 znaków)"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr "niedopuszczalne dhcp-match"
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr "wielokrotne u¿ycie opcji niedozwolone (pojawi³a siê wcze¶niej w linii poleceñ)"
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr "wielokrotne u¿ycie opcji niedozwolone (pojawi³a siê wsze¶niej w pliku konfiguracyjnym)"
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr "brak dostêpu do katalogu %s: %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr "brak dostêpu do %s: %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "nieprawid³owa warto¶æ preferencji MX"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "nieprawid³owa nazwa MX"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "nieprawid³owa warto¶æ celu MX"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr "w uClinuksie nie ma mo¿liwo¶ci uruchamiania skryptów"
-#: option.c:1290
+#: option.c:1296
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:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "nieprawid³owy numer portu"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr "nie ma mo¿liwo¶ci dowi±zywania do interfejsu"
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr "nieprawid³owy zakres numerów portów"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr "nieprawid³owa nazwa urz±dzenia w bridge-interface"
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "nieprawid³owy zakres dhcp-range"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr "mo¿na wskazaæ tylko jeden znacznik sieci"
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "niespójny zakres adresów DHCP"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr "zapis niezgodny z formatem szesnastkowym"
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr "niedopuszczalna nazwa komputera w dhcp-host"
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr "nieprawid³owa sk³adnia 'tag-if'"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "nieprawid³owy numer portu"
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr "z³y adres dhcp-proxy"
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr "nieprawid³owy zakres adresów w --alias"
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr "nieprawid³owa nazwa interfejsu"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr "z³a CNAME"
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr "powtórzona CNAME"
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr "nieprawid³owy zapis rekordu PTR"
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr "nieprawid³owy zapis rekordu NAPTR"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "nieprawid³owy zapis rekordu TXT"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "nieprawid³owy zapis rekordu SRV"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "nieprawid³owa warto¶æ celu SRV"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "nieprawid³owy priorytet"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "nieprawid³owa waga"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "nieobs³ugiwana opcja (sprawd¼, czy obs³uga DHCP/TFTP/DBus zosta³a wkompilowana)"
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "brakuje \""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "nieprawid³owa opcja"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "nadwy¿kowy parametr"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "brak parametru"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "b³±d"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s w linii %d pliku %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "b³±d odczytu z pliku %s: %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr "przeczyta³em %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr "jakie¶ ¶mieci w linii poleceñ"
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq, wersja %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -774,63 +782,63 @@ msgstr ""
"Wkompilowane opcje %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Autor nie daje ¯ADNYCH GWARANCJI egzekwowalnych prawnie.\n"
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq jest wolnym oprogramowaniem, mo¿esz go rozprowadzaæ\n"
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "na warunkach okre¶lonych w GNU General Public Licence, w wersji 2 lub 3.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr "spróbuj: --help"
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr "spróbuj: -w"
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr "nieprawid³owa opcja w linii poleceñ %s"
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "nie mo¿na pobraæ nazwy hosta: %s"
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "w trybie no-poll mo¿na wskazaæ najwy¿ej jeden plik resolv.conf."
-#: option.c:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr "nie uda³o siê odczytaæ %s: %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "brak wytycznych wyszukiwania w %s"
-#: option.c:3398
+#: option.c:3409
#, fuzzy
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "w przypadku u¿ywania --dhcp-fqdn trzeba wskazaæ domy¶ln± domenê"
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr "sk³adnia sprawdzona, jest prawid³owa"
@@ -910,204 +918,209 @@ msgstr "u¿ywam serwera nazw %s#%d (przez %s)"
msgid "using nameserver %s#%d"
msgstr "u¿ywam serwera nazw %s#%d"
-#: dnsmasq.c:145
+#: dnsmasq.c:148
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:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr "zapis do logów w trybie asynchronicznym nie jest dostêpny w Solarisie"
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+#, fuzzy
+msgid "asychronous logging is not available under Android"
+msgstr "zapis do logów w trybie asynchronicznym nie jest dostêpny w Solarisie"
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "b³±d podczas tworzenia listy interfejsów sieciowych: %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "nieznany interfejs %s"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "brak interfejsu z adresem %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "b³±d DBus: %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "Obs³uga DBus nie zosta³a wkompilowana -- ustaw HAVE_DBUS w src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr "nieznany u¿ytkownik lub grupa: %s"
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr "nie potrafiê wej¶æ do g³ównego katalogu: %s"
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr "uruchomiony, wersja %s, DNS wy³±czony"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "uruchomiony, wersja %s, %d miejsc w pamiêci podrêcznej"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "uruchomiony, wersja %s, pamiêæ podrêczna wy³±czona"
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "opcje kompilacji: %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "obs³uga DBus w³±czona, pod³±czono do serwera DBus"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr "obs³uga DBus w³±czona, trwa pod³±czanie do serwera DBus"
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, 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:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "ustawiam --bind-interfaces z powodu ograniczeñ systemu operacyjnego"
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "uwaga: interfejs %s nie jest w³±czony"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr "uwaga: ignorujê opcjê resolv-file, poniewa¿ wybrano tryb no-resolv"
-#: dnsmasq.c:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr "uwaga: nie wskazano nadrzêdnych serwerów DNS"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, 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:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr "DHCP: po¶rednik na podsieci %.0s%s%.0s"
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP: zakres IP %s -- %s, czas dzier¿awy %s"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr "z g³ównym katalogiem w "
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr "w³±czony"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr "w trybie bezpiecznym"
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "ograniczam ilo¶æ jednoczesnych przes³añ TFTP do %d"
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "pod³±czono do DBus-a"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr "nie potrafiê prze³±czyæ siê do pracy w tle: %s"
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr "nie uda³o siê utworzyæ procesu pomocniczego: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr "nie powiod³o siê ustawianie ograniczeñ (capabilities): %s"
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, 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:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "nie uda³o siê zmieniæ grupy procesu na %s: %s"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nie uda³o siê otworzyæ pliku z PID-em %s: %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr "nie mo¿na otworzyæ %s: %s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr "proces potomny zabity sygna³em %d"
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr "proces potomny zakoñczy³ siê z kodem powrotu %d"
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr "nie uda³o siê uruchomiæ %s: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "zakoñczy³em dzia³anie z powodu odebrania SIGTERM"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr "brak dostêpu do %s: %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "czytanie %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr "w %s nie znalaz³em serwerów, spróbujê ponownie pó¼niej"
@@ -1201,178 +1214,178 @@ msgstr "skrypt zakoñczy³ siê z kodem powrotu %s"
msgid "failed to write %s: %s (retry in %us)"
msgstr "b³±d zapisu do %s: %s (spróbujê ponownie za %us)"
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "nie zdefiniowano zakresu adresów odpowiedniego dla ¿±dania %s %s"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "z wyborem podsieci"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "przez"
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "%u dostêpna podsieæ DHCP: %s/%s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr "%u dostêpny zakres adresów DHCP: %s -- %s"
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "wy³±czony(a)"
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "ignorujê"
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "adres jest w u¿yciu"
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "brak dostêpnego adresu"
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "nieprawid³owa sieæ"
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "brak skonfigurowanego adresu"
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "brak wolnych dzier¿aw"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr "klient %u przedstawia siê jako %s"
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr "%u klasa dostawcy: %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr "%u klasa u¿ytkownika: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr "PXE BIS nie jest obs³ugiwane"
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "wy³±czam statyczne przypisanie adresu %s dla %s"
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "nieznana dzier¿awa"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo jest on ju¿ wydzier¿awiony komputerowi %s"
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo u¿ywa go który¶ z serwerów"
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo ju¿ poprzednio zosta³ odrzucony"
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr "brak unikalnego id"
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr "nieprawid³owy identyfikator serwera (server-ID)"
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "b³êdny adres"
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "dzier¿awa nieznaleziona"
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "adres niedostêpny"
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "dostêpna statyczna dzier¿awa"
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "adres zarezerwowany"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "porzucam przypisanie do %s nazwy %s"
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr "%u cechy: %s"
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nazwa pliku bootowania: %s"
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr "%u nazwa serwera: %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr "%u nastêpny serwer: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr "%u odpowied¼ rozg³oszeniowa"
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "nie mam mo¿liwo¶ci wys³ania opcji %d DHCP/BOOTP: niedostateczna ilo¶æ miejsca w pakiecie"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr "menu PXE zbyt du¿e"
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Nie uwzglêdniam czê¶ci domenowej (%s) dla komputera %s"
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr "%u za¿±dano: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "nie mogê wys³aæ opcji RFC3925: za d³ugi ³añcuch opcji przy numerze %d"
@@ -1438,17 +1451,17 @@ msgstr "b³±d wysy³ania pliku %s do komputera %s"
msgid "sent %s to %s"
msgstr "plik %s przes³ano do %s"
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr "przepe³nienie: stracono %d wpisów do logów"
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr "nie uda³o siê zapisaæ komunikatów do %s"
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "B£¡D: nie uda³o siê uruchomiæ dnsmasq-a"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index c08d2d0..5fe209e 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -69,30 +69,30 @@ msgstr ""
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
-#: util.c:59
+#: util.c:57
#, c-format
msgid "failed to seed the random number generator: %s"
msgstr ""
-#: util.c:191
+#: util.c:189
msgid "failed to allocate memory"
msgstr ""
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr ""
-#: util.c:239
+#: util.c:237
#, c-format
msgid "cannot create pipe: %s"
msgstr ""
-#: util.c:247
+#: util.c:245
#, c-format
msgid "failed to allocate %d bytes"
msgstr ""
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr ""
@@ -568,259 +568,267 @@ msgstr ""
msgid "bad IP address"
msgstr ""
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr ""
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr ""
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, c-format
msgid "cannot access %s: %s"
msgstr ""
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr ""
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr ""
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr ""
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr ""
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
-#: option.c:1785
+#: option.c:1791
msgid "bad port range"
msgstr ""
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr ""
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr ""
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
msgid "bad hex constant"
msgstr ""
-#: option.c:2101
+#: option.c:2107
msgid "bad DHCP host name"
msgstr ""
-#: option.c:2182
+#: option.c:2188
msgid "bad tag-if"
msgstr ""
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr ""
-#: option.c:2523
+#: option.c:2529
msgid "bad dhcp-proxy address"
msgstr ""
-#: option.c:2563
+#: option.c:2569
msgid "invalid alias range"
msgstr ""
-#: option.c:2576
+#: option.c:2582
msgid "bad interface name"
msgstr ""
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
-#: option.c:2626
+#: option.c:2632
msgid "bad PTR record"
msgstr ""
-#: option.c:2657
+#: option.c:2663
msgid "bad NAPTR record"
msgstr ""
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr ""
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr ""
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr ""
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr ""
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr ""
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr ""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr ""
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr ""
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr ""
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr ""
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr ""
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, c-format
msgid "read %s"
msgstr ""
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
-#: option.c:3262
+#: option.c:3273
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
-#: option.c:3278
+#: option.c:3289
#, c-format
msgid "bad command line options: %s"
msgstr ""
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
-#: option.c:3357
+#: option.c:3368
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
-#: option.c:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, c-format
msgid "failed to read %s: %s"
msgstr ""
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr ""
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -900,204 +908,208 @@ msgstr ""
msgid "using nameserver %s#%d"
msgstr ""
-#: dnsmasq.c:145
+#: dnsmasq.c:148
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr ""
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr ""
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr ""
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr ""
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr ""
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr ""
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, c-format
msgid "started, version %s DNS disabled"
msgstr ""
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr ""
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr ""
-#: dnsmasq.c:461
+#: dnsmasq.c:469
msgid "DBus support enabled: bus connection pending"
msgstr ""
-#: dnsmasq.c:466
+#: dnsmasq.c:474
#, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr ""
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:483
+#: dnsmasq.c:491
msgid "warning: no upstream servers configured"
msgstr ""
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
-#: dnsmasq.c:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "enabled"
msgstr ""
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr ""
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, c-format
msgid "failed to create helper: %s"
msgstr ""
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
-#: dnsmasq.c:782
+#: dnsmasq.c:790
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, c-format
msgid "cannot open %s: %s"
msgstr ""
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr ""
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, c-format
msgid "failed to access %s: %s"
msgstr ""
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr ""
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1191,178 +1203,178 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr ""
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr ""
-#: rfc2131.c:393
+#: rfc2131.c:331
#, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr ""
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr ""
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr ""
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr ""
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr ""
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr ""
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr ""
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr ""
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
-#: rfc2131.c:762
+#: rfc2131.c:700
#, c-format
msgid "%u vendor class: %s"
msgstr ""
-#: rfc2131.c:764
+#: rfc2131.c:702
#, c-format
msgid "%u user class: %s"
msgstr ""
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
-#: rfc2131.c:948
+#: rfc2131.c:886
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr ""
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr ""
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr ""
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr ""
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr ""
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr ""
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, c-format
msgid "%u server name: %s"
msgstr ""
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, c-format
msgid "%u next server: %s"
msgstr ""
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, c-format
msgid "%u requested options: %s"
msgstr ""
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1428,16 +1440,16 @@ msgstr ""
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr ""
diff --git a/po/ro.po b/po/ro.po
index 2ced989..094da79 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -69,31 +69,31 @@ msgstr ""
msgid "server %s#%d: queries sent %u, retried or failed %u"
msgstr ""
-#: util.c:59
+#: util.c:57
#, fuzzy, c-format
msgid "failed to seed the random number generator: %s"
msgstr "ascultarea pe socket a eÅŸuat: %s"
-#: util.c:191
+#: util.c:189
#, fuzzy
msgid "failed to allocate memory"
msgstr "nu pot încărca %d bytes"
-#: util.c:229 option.c:573
+#: util.c:227 option.c:573
msgid "could not get memory"
msgstr "nu am putut aloca memorie"
-#: util.c:239
+#: util.c:237
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "nu pot citi %s: %s"
-#: util.c:247
+#: util.c:245
#, fuzzy, c-format
msgid "failed to allocate %d bytes"
msgstr "nu pot încărca %d bytes"
-#: util.c:352
+#: util.c:350
#, c-format
msgid "infinite"
msgstr "infinit"
@@ -588,206 +588,214 @@ msgstr "dhcp-option invalid"
msgid "bad IP address"
msgstr "citesc %s - %d adrese"
-#: option.c:966
+#: option.c:968
msgid "bad domain in dhcp-option"
msgstr "domeniu DNS invalid în declaraţia dhcp-option"
-#: option.c:1032
+#: option.c:1034
msgid "dhcp-option too long"
msgstr "declararea dhcp-option este prea lungă"
-#: option.c:1041
+#: option.c:1043
msgid "illegal dhcp-match"
msgstr ""
-#: option.c:1085
+#: option.c:1087
msgid "illegal repeated flag"
msgstr ""
-#: option.c:1093
+#: option.c:1095
msgid "illegal repeated keyword"
msgstr ""
-#: option.c:1145 option.c:3024
+#: option.c:1147 option.c:3030
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "nu pot citi %s: %s"
-#: option.c:1176 tftp.c:460
+#: option.c:1178 tftp.c:460
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "nu pot citi %s: %s"
-#: option.c:1259
+#: option.c:1207
+msgid "setting log facility is not possible under Android"
+msgstr ""
+
+#: option.c:1216
+msgid "bad log facility"
+msgstr ""
+
+#: option.c:1265
msgid "bad MX preference"
msgstr "preferinţă MX invalidă"
-#: option.c:1264
+#: option.c:1270
msgid "bad MX name"
msgstr "nume MX invalid"
-#: option.c:1278
+#: option.c:1284
msgid "bad MX target"
msgstr "ţintă MX invalidă"
-#: option.c:1288
+#: option.c:1294
msgid "cannot run scripts under uClinux"
msgstr ""
-#: option.c:1290
+#: option.c:1296
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
-#: option.c:1591 option.c:1595
+#: option.c:1597 option.c:1601
msgid "bad port"
msgstr "port invalid"
-#: option.c:1614 option.c:1639
+#: option.c:1620 option.c:1645
msgid "interface binding not supported"
msgstr ""
-#: option.c:1785
+#: option.c:1791
#, fuzzy
msgid "bad port range"
msgstr "port invalid"
-#: option.c:1802
+#: option.c:1808
msgid "bad bridge-interface"
msgstr ""
-#: option.c:1844
+#: option.c:1850
msgid "bad dhcp-range"
msgstr "dhcp-range invalid"
-#: option.c:1872
+#: option.c:1878
msgid "only one tag allowed"
msgstr ""
-#: option.c:1919
+#: option.c:1925
msgid "inconsistent DHCP range"
msgstr "domeniu DHCP inconsistent"
-#: option.c:2013 option.c:2039
+#: option.c:2019 option.c:2045
#, fuzzy
msgid "bad hex constant"
msgstr "dhcp-host invalid"
-#: option.c:2101
+#: option.c:2107
#, fuzzy
msgid "bad DHCP host name"
msgstr "nume MX invalid"
-#: option.c:2182
+#: option.c:2188
#, fuzzy
msgid "bad tag-if"
msgstr "ţintă MX invalidă"
-#: option.c:2461 option.c:2746
+#: option.c:2467 option.c:2752
msgid "invalid port number"
msgstr "număr de port invalid"
-#: option.c:2523
+#: option.c:2529
#, fuzzy
msgid "bad dhcp-proxy address"
msgstr "citesc %s - %d adrese"
-#: option.c:2563
+#: option.c:2569
#, fuzzy
msgid "invalid alias range"
msgstr "pondere invalidă"
-#: option.c:2576
+#: option.c:2582
#, fuzzy
msgid "bad interface name"
msgstr "nume MX invalid"
-#: option.c:2601
+#: option.c:2607
msgid "bad CNAME"
msgstr ""
-#: option.c:2606
+#: option.c:2612
msgid "duplicate CNAME"
msgstr ""
-#: option.c:2626
+#: option.c:2632
#, fuzzy
msgid "bad PTR record"
msgstr "înregistrare SRV invalidă"
-#: option.c:2657
+#: option.c:2663
#, fuzzy
msgid "bad NAPTR record"
msgstr "înregistrare SRV invalidă"
-#: option.c:2689
+#: option.c:2695
msgid "bad TXT record"
msgstr "înregistrare TXT invalidă"
-#: option.c:2732
+#: option.c:2738
msgid "bad SRV record"
msgstr "înregistrare SRV invalidă"
-#: option.c:2739
+#: option.c:2745
msgid "bad SRV target"
msgstr "ţintă SRV invalidă"
-#: option.c:2753
+#: option.c:2759
msgid "invalid priority"
msgstr "prioritate invalidă"
-#: option.c:2760
+#: option.c:2766
msgid "invalid weight"
msgstr "pondere invalidă"
-#: option.c:2779
+#: option.c:2785
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
-#: option.c:2843
+#: option.c:2849
msgid "missing \""
msgstr "lipseÅŸte \""
-#: option.c:2902
+#: option.c:2908
msgid "bad option"
msgstr "opţiune invalidă"
-#: option.c:2904
+#: option.c:2910
msgid "extraneous parameter"
msgstr "parametru nerecunoscut"
-#: option.c:2906
+#: option.c:2912
msgid "missing parameter"
msgstr "parametru lipsa"
-#: option.c:2910
+#: option.c:2916
msgid "error"
msgstr "eroare"
-#: option.c:2915
+#: option.c:2921
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s la linia %d din %%s"
-#: option.c:2979 tftp.c:624
+#: option.c:2985 tftp.c:624
#, c-format
msgid "cannot read %s: %s"
msgstr "nu pot citi %s: %s"
-#: option.c:3145 option.c:3181
+#: option.c:3151 option.c:3187
#, fuzzy, c-format
msgid "read %s"
msgstr "citesc %s"
-#: option.c:3229
+#: option.c:3239
msgid "junk found in command line"
msgstr ""
-#: option.c:3258
+#: option.c:3269
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "dnsmasq versiunea %s %s\n"
-#: option.c:3259
+#: option.c:3270
#, c-format
msgid ""
"Compile time options %s\n"
@@ -796,62 +804,62 @@ msgstr ""
"Opţiuni cu care a fost compilat %s\n"
"\n"
-#: option.c:3260
+#: option.c:3271
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Acest program vine FÄ‚RÄ‚ NICI O GARANÅ¢IE.\n"
-#: option.c:3261
+#: option.c:3272
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq este un program gratuit, sunteţi invitaţi să-l redistribuiţi\n"
-#: option.c:3262
+#: option.c:3273
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "în termenii Licenţei publice generale GNU, versiunea 2.\n"
-#: option.c:3273
+#: option.c:3284
msgid "try --help"
msgstr ""
-#: option.c:3275
+#: option.c:3286
msgid "try -w"
msgstr ""
-#: option.c:3278
+#: option.c:3289
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "opţiuni în linie de comandă invalide: %s."
-#: option.c:3319
+#: option.c:3330
#, c-format
msgid "cannot get host-name: %s"
msgstr "nu pot citi numele maÅŸinii: %s"
-#: option.c:3347
+#: option.c:3358
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "se permite un singur fişier resolv.conf în modul no-poll"
-#: option.c:3357
+#: option.c:3368
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:3360 network.c:848 dhcp.c:814
+#: option.c:3371 network.c:848 dhcp.c:814
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "nu pot citi %s: %s"
-#: option.c:3377
+#: option.c:3388
#, c-format
msgid "no search directive found in %s"
msgstr "nu s-a găsit nici un criteriu de căutare în %s"
-#: option.c:3398
+#: option.c:3409
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
-#: option.c:3402
+#: option.c:3413
msgid "syntax check OK"
msgstr ""
@@ -931,210 +939,214 @@ msgstr "folosim serverul DNS %s#%d"
msgid "using nameserver %s#%d"
msgstr "folosim serverul DNS %s#%d"
-#: dnsmasq.c:145
+#: dnsmasq.c:148
#, fuzzy
msgid "TFTP server not available: set HAVE_TFTP in src/config.h"
msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
-#: dnsmasq.c:150
+#: dnsmasq.c:153
msgid "asychronous logging is not available under Solaris"
msgstr ""
-#: dnsmasq.c:169
+#: dnsmasq.c:158
+msgid "asychronous logging is not available under Android"
+msgstr ""
+
+#: dnsmasq.c:177
#, c-format
msgid "failed to find list of interfaces: %s"
msgstr "enumerarea interfeţelor a eşuat: %s"
-#: dnsmasq.c:177
+#: dnsmasq.c:185
#, c-format
msgid "unknown interface %s"
msgstr "interfaţă necunoscută %s"
-#: dnsmasq.c:183
+#: dnsmasq.c:191
#, c-format
msgid "no interface with address %s"
msgstr "nu exista interfaţă pentru adresa %s"
-#: dnsmasq.c:199 dnsmasq.c:670
+#: dnsmasq.c:207 dnsmasq.c:678
#, c-format
msgid "DBus error: %s"
msgstr "eroare DBus: %s"
-#: dnsmasq.c:202
+#: dnsmasq.c:210
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus nu este disponibil: puneţi HAVE_DBUS in src/config.h"
-#: dnsmasq.c:228
+#: dnsmasq.c:236
#, c-format
msgid "unknown user or group: %s"
msgstr ""
-#: dnsmasq.c:283
+#: dnsmasq.c:291
#, c-format
msgid "cannot chdir to filesystem root: %s"
msgstr ""
-#: dnsmasq.c:447
+#: dnsmasq.c:455
#, fuzzy, c-format
msgid "started, version %s DNS disabled"
msgstr "am pornit, versiunea %s memorie temporară dezactivată"
-#: dnsmasq.c:449
+#: dnsmasq.c:457
#, c-format
msgid "started, version %s cachesize %d"
msgstr "am ponit, versiunea %s memorie temporară %d"
-#: dnsmasq.c:451
+#: dnsmasq.c:459
#, c-format
msgid "started, version %s cache disabled"
msgstr "am pornit, versiunea %s memorie temporară dezactivată"
-#: dnsmasq.c:453
+#: dnsmasq.c:461
#, c-format
msgid "compile time options: %s"
msgstr "compilat cu opţiunile: %s"
-#: dnsmasq.c:459
+#: dnsmasq.c:467
msgid "DBus support enabled: connected to system bus"
msgstr "suportul DBus activ: sunt conectat la magistrala sistem"
-#: dnsmasq.c:461
+#: dnsmasq.c:469
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:466
+#: dnsmasq.c:474
#, fuzzy, c-format
msgid "warning: failed to change owner of %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
-#: dnsmasq.c:470
+#: dnsmasq.c:478
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "specific opţiunea --bind-interfaces din cauza limitărilor SO"
-#: dnsmasq.c:475
+#: dnsmasq.c:483
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "atenţie: interfaţa %s nu există momentan"
-#: dnsmasq.c:480
+#: dnsmasq.c:488
msgid "warning: ignoring resolv-file flag because no-resolv is set"
msgstr ""
-#: dnsmasq.c:483
+#: dnsmasq.c:491
#, fuzzy
msgid "warning: no upstream servers configured"
msgstr "configurăm serverele superioare prin Dbus"
-#: dnsmasq.c:487
+#: dnsmasq.c:495
#, c-format
msgid "asynchronous logging enabled, queue limit is %d messages"
msgstr ""
-#: dnsmasq.c:500
+#: dnsmasq.c:508
#, 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:502
+#: dnsmasq.c:510
#, c-format
msgid "DHCP, proxy on subnet %.0s%s%.0s"
msgstr ""
-#: dnsmasq.c:503
+#: dnsmasq.c:511
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, domeniu IP %s -- %s, timpul reînoirii %s"
-#: dnsmasq.c:518
+#: dnsmasq.c:526
msgid "root is "
msgstr ""
-#: dnsmasq.c:518
+#: dnsmasq.c:526
#, fuzzy
msgid "enabled"
msgstr "dezactivat"
-#: dnsmasq.c:520
+#: dnsmasq.c:528
msgid "secure mode"
msgstr ""
-#: dnsmasq.c:546
+#: dnsmasq.c:554
#, c-format
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
-#: dnsmasq.c:672
+#: dnsmasq.c:680
msgid "connected to system DBus"
msgstr "magistrala sistem Dbus conectată"
-#: dnsmasq.c:767
+#: dnsmasq.c:775
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
-#: dnsmasq.c:770
+#: dnsmasq.c:778
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "nu pot citi %s: %s"
-#: dnsmasq.c:773
+#: dnsmasq.c:781
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
-#: dnsmasq.c:777
+#: dnsmasq.c:785
#, 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:782
+#: dnsmasq.c:790
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
-#: dnsmasq.c:785
+#: dnsmasq.c:793
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nu pot citi %s: %s"
-#: dnsmasq.c:788
+#: dnsmasq.c:796
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "nu pot deschide %s:%s"
-#: dnsmasq.c:843
+#: dnsmasq.c:851
#, c-format
msgid "child process killed by signal %d"
msgstr ""
-#: dnsmasq.c:847
+#: dnsmasq.c:855
#, c-format
msgid "child process exited with status %d"
msgstr ""
-#: dnsmasq.c:851
+#: dnsmasq.c:859
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "accesarea serverului %s a eÅŸuat: %s"
-#: dnsmasq.c:895
+#: dnsmasq.c:903
msgid "exiting on receipt of SIGTERM"
msgstr "am primit SIGTERM, am terminat"
-#: dnsmasq.c:923
+#: dnsmasq.c:931
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "accesarea serverului %s a eÅŸuat: %s"
-#: dnsmasq.c:953
+#: dnsmasq.c:961
#, c-format
msgid "reading %s"
msgstr "citesc %s"
-#: dnsmasq.c:964
+#: dnsmasq.c:972
#, 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"
@@ -1228,178 +1240,178 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr "nu pot citi %s: %s"
-#: rfc2131.c:377
+#: rfc2131.c:315
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "with subnet selector"
msgstr "cu selectorul de subreţea"
-#: rfc2131.c:378
+#: rfc2131.c:316
msgid "via"
msgstr "prin"
-#: rfc2131.c:393
+#: rfc2131.c:331
#, fuzzy, c-format
msgid "%u available DHCP subnet: %s/%s"
msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s"
-#: rfc2131.c:396
+#: rfc2131.c:334
#, c-format
msgid "%u available DHCP range: %s -- %s"
msgstr ""
-#: rfc2131.c:425
+#: rfc2131.c:363
msgid "disabled"
msgstr "dezactivat"
-#: rfc2131.c:466 rfc2131.c:978 rfc2131.c:1350
+#: rfc2131.c:404 rfc2131.c:916 rfc2131.c:1288
msgid "ignored"
msgstr "ignorat"
-#: rfc2131.c:481 rfc2131.c:1197
+#: rfc2131.c:419 rfc2131.c:1135
msgid "address in use"
msgstr "adresa este folosită"
-#: rfc2131.c:495 rfc2131.c:1032
+#: rfc2131.c:433 rfc2131.c:970
msgid "no address available"
msgstr "nici o adresă disponibilă"
-#: rfc2131.c:502 rfc2131.c:1160
+#: rfc2131.c:440 rfc2131.c:1098
msgid "wrong network"
msgstr "reţea greşită"
-#: rfc2131.c:516
+#: rfc2131.c:454
msgid "no address configured"
msgstr "adresă lipsă"
-#: rfc2131.c:522 rfc2131.c:1210
+#: rfc2131.c:460 rfc2131.c:1148
msgid "no leases left"
msgstr "nu mai am de unde să împrumut"
-#: rfc2131.c:607
+#: rfc2131.c:545
#, c-format
msgid "%u client provides name: %s"
msgstr ""
-#: rfc2131.c:762
+#: rfc2131.c:700
#, fuzzy, c-format
msgid "%u vendor class: %s"
msgstr "eroare DBus: %s"
-#: rfc2131.c:764
+#: rfc2131.c:702
#, fuzzy, c-format
msgid "%u user class: %s"
msgstr "eroare DBus: %s"
-#: rfc2131.c:823
+#: rfc2131.c:761
msgid "PXE BIS not supported"
msgstr ""
-#: rfc2131.c:948
+#: rfc2131.c:886
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "dezactivăm adresele DHCP statice %s"
-#: rfc2131.c:969
+#: rfc2131.c:907
msgid "unknown lease"
msgstr "împrumut necunoscut"
-#: rfc2131.c:1001
+#: rfc2131.c:939
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
-#: rfc2131.c:1011
+#: rfc2131.c:949
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
-#: rfc2131.c:1014
+#: rfc2131.c:952
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
-#: rfc2131.c:1030 rfc2131.c:1203
+#: rfc2131.c:968 rfc2131.c:1141
msgid "no unique-id"
msgstr ""
-#: rfc2131.c:1099
+#: rfc2131.c:1037
msgid "wrong server-ID"
msgstr ""
-#: rfc2131.c:1117
+#: rfc2131.c:1055
msgid "wrong address"
msgstr "adresă greşită"
-#: rfc2131.c:1135
+#: rfc2131.c:1073
msgid "lease not found"
msgstr "împrumutul nu a fost găsit"
-#: rfc2131.c:1168
+#: rfc2131.c:1106
msgid "address not available"
msgstr "adresă indisponibilă"
-#: rfc2131.c:1179
+#: rfc2131.c:1117
msgid "static lease available"
msgstr "împrumut static este disponibil"
-#: rfc2131.c:1183
+#: rfc2131.c:1121
msgid "address reserved"
msgstr "adresă rezervată"
-#: rfc2131.c:1191
+#: rfc2131.c:1129
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
-#: rfc2131.c:1772
+#: rfc2131.c:1710
#, c-format
msgid "%u tags: %s"
msgstr ""
-#: rfc2131.c:1785
+#: rfc2131.c:1723
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
-#: rfc2131.c:1794
+#: rfc2131.c:1732
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "eroare DBus: %s"
-#: rfc2131.c:1808
+#: rfc2131.c:1746
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "eroare DBus: %s"
-#: rfc2131.c:1811
+#: rfc2131.c:1749
#, c-format
msgid "%u broadcast response"
msgstr ""
-#: rfc2131.c:1874
+#: rfc2131.c:1812
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "nu pot trimite opţiunea DHCP %d: nu mai este loc în pachet"
-#: rfc2131.c:2120
+#: rfc2131.c:2058
msgid "PXE menu too large"
msgstr ""
-#: rfc2131.c:2233
+#: rfc2131.c:2171
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
-#: rfc2131.c:2251
+#: rfc2131.c:2189
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "compilat cu opţiunile: %s"
-#: rfc2131.c:2518
+#: rfc2131.c:2456
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
@@ -1465,17 +1477,17 @@ msgstr "nu pot citi %s: %s"
msgid "sent %s to %s"
msgstr ""
-#: log.c:173
+#: log.c:177
#, c-format
msgid "overflow: %d log entries lost"
msgstr ""
-#: log.c:250
+#: log.c:254
#, c-format
msgid "log failed: %s"
msgstr ""
-#: log.c:436
+#: log.c:462
msgid "FAILED to start up"
msgstr "pornirea A EÅžUAT"
diff --git a/src/config.h b/src/config.h
index 11aa17e..7394253 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.56"
+#define VERSION "2.57"
#define FTABSIZ 150 /* max number of outstanding requests (default) */
#define MAX_PROCS 20 /* max no children for TCP requests */
@@ -46,6 +46,8 @@
# define LEASEFILE "/var/db/dnsmasq.leases"
# elif defined(__sun__) || defined (__sun)
# define LEASEFILE "/var/cache/dnsmasq.leases"
+# elif defined(__ANDROID__)
+# define LEASEFILE "/data/misc/dhcp/dnsmasq.leases"
# else
# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
# endif
@@ -62,6 +64,7 @@
#define DEFLEASE 3600 /* default lease time, 1 hour */
#define CHUSER "nobody"
#define CHGRP "dip"
+#define NAMESERVER_PORT 53
#define DHCP_SERVER_PORT 67
#define DHCP_CLIENT_PORT 68
#define DHCP_SERVER_ALTPORT 1067
@@ -78,29 +81,6 @@
#define DNSMASQ_SERVICE "uk.org.thekelleys.dnsmasq"
#define DNSMASQ_PATH "/uk/org/thekelleys/dnsmasq"
-/* A small collection of RR-types which are missing on some platforms */
-
-#ifndef T_SIG
-# define T_SIG 24
-#endif
-
-#ifndef T_SRV
-# define T_SRV 33
-#endif
-
-#ifndef T_OPT
-# define T_OPT 41
-#endif
-
-#ifndef T_TKEY
-# define T_TKEY 249
-#endif
-
-#ifndef T_TSIG
-# define T_TSIG 250
-#endif
-
-
/* Follows system specific switches. If you run on a
new system, you may want to edit these.
May replace this with Autoconf one day.
@@ -144,10 +124,16 @@ HAVE_SOCKADDR_SA_LEN
define this if struct sockaddr has sa_len field (*BSD)
HAVE_DBUS
- Define this if you want to link against libdbus, and have dnsmasq
- define some methods to allow (re)configuration of the upstream DNS
+ define this if you want to link against libdbus, and have dnsmasq
+ support some methods to allow (re)configuration of the upstream DNS
servers via DBus.
+HAVE_IDN
+ define this if you want international domain name support.
+ NOTE: for backwards compatibility, IDN support is automatically
+ included when internationalisation support is built, using the
+ *-i18n makefile targets, even if HAVE_IDN is not explicitly set.
+
NOTES:
For Linux you should define
HAVE_LINUX_NETWORK
@@ -172,6 +158,7 @@ NOTES:
#define HAVE_SCRIPT
/* #define HAVE_BROKEN_RTC */
/* #define HAVE_DBUS */
+/* #define HAVE_IDN */
/* Allow TFTP to be disabled with COPTS=-DNO_TFTP */
#ifdef NO_TFTP
diff --git a/src/dhcp_protocol.h b/src/dhcp_protocol.h
new file mode 100644
index 0000000..e09cad8
--- /dev/null
+++ b/src/dhcp_protocol.h
@@ -0,0 +1,91 @@
+/* dnsmasq is Copyright (c) 2000-2011 Simon Kelley
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991, or
+ (at your option) version 3 dated 29 June, 2007.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define BOOTREQUEST 1
+#define BOOTREPLY 2
+#define DHCP_COOKIE 0x63825363
+
+/* The Linux in-kernel DHCP client silently ignores any packet
+ smaller than this. Sigh........... */
+#define MIN_PACKETSZ 300
+
+#define OPTION_PAD 0
+#define OPTION_NETMASK 1
+#define OPTION_ROUTER 3
+#define OPTION_DNSSERVER 6
+#define OPTION_HOSTNAME 12
+#define OPTION_DOMAINNAME 15
+#define OPTION_BROADCAST 28
+#define OPTION_VENDOR_CLASS_OPT 43
+#define OPTION_REQUESTED_IP 50
+#define OPTION_LEASE_TIME 51
+#define OPTION_OVERLOAD 52
+#define OPTION_MESSAGE_TYPE 53
+#define OPTION_SERVER_IDENTIFIER 54
+#define OPTION_REQUESTED_OPTIONS 55
+#define OPTION_MESSAGE 56
+#define OPTION_MAXMESSAGE 57
+#define OPTION_T1 58
+#define OPTION_T2 59
+#define OPTION_VENDOR_ID 60
+#define OPTION_CLIENT_ID 61
+#define OPTION_SNAME 66
+#define OPTION_FILENAME 67
+#define OPTION_USER_CLASS 77
+#define OPTION_CLIENT_FQDN 81
+#define OPTION_AGENT_ID 82
+#define OPTION_ARCH 93
+#define OPTION_PXE_UUID 97
+#define OPTION_SUBNET_SELECT 118
+#define OPTION_DOMAIN_SEARCH 119
+#define OPTION_SIP_SERVER 120
+#define OPTION_VENDOR_IDENT 124
+#define OPTION_VENDOR_IDENT_OPT 125
+#define OPTION_END 255
+
+#define SUBOPT_CIRCUIT_ID 1
+#define SUBOPT_REMOTE_ID 2
+#define SUBOPT_SUBNET_SELECT 5 /* RFC 3527 */
+#define SUBOPT_SUBSCR_ID 6 /* RFC 3393 */
+#define SUBOPT_SERVER_OR 11 /* RFC 5107 */
+
+#define SUBOPT_PXE_BOOT_ITEM 71 /* PXE standard */
+#define SUBOPT_PXE_DISCOVERY 6
+#define SUBOPT_PXE_SERVERS 8
+#define SUBOPT_PXE_MENU 9
+#define SUBOPT_PXE_MENU_PROMPT 10
+
+#define DHCPDISCOVER 1
+#define DHCPOFFER 2
+#define DHCPREQUEST 3
+#define DHCPDECLINE 4
+#define DHCPACK 5
+#define DHCPNAK 6
+#define DHCPRELEASE 7
+#define DHCPINFORM 8
+
+#define BRDBAND_FORUM_IANA 3561 /* Broadband forum IANA enterprise */
+
+#define DHCP_CHADDR_MAX 16
+
+struct dhcp_packet {
+ u8 op, htype, hlen, hops;
+ u32 xid;
+ u16 secs, flags;
+ struct in_addr ciaddr, yiaddr, siaddr, giaddr;
+ u8 chaddr[DHCP_CHADDR_MAX], sname[64], file[128];
+ u8 options[312];
+};
diff --git a/src/dns_protocol.h b/src/dns_protocol.h
new file mode 100644
index 0000000..bc18e79
--- /dev/null
+++ b/src/dns_protocol.h
@@ -0,0 +1,111 @@
+/* dnsmasq is Copyright (c) 2000-2011 Simon Kelley
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; version 2 dated June, 1991, or
+ (at your option) version 3 dated 29 June, 2007.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#define IN6ADDRSZ 16
+#define INADDRSZ 4
+
+#define PACKETSZ 512 /* maximum packet size */
+#define MAXDNAME 1025 /* maximum presentation domain name */
+#define RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
+#define MAXLABEL 63 /* maximum length of domain label */
+
+#define NOERROR 0 /* no error */
+#define FORMERR 1 /* format error */
+#define SERVFAIL 2 /* server failure */
+#define NXDOMAIN 3 /* non existent domain */
+#define NOTIMP 4 /* not implemented */
+#define REFUSED 5 /* query refused */
+
+#define QUERY 0 /* opcode */
+
+#define C_IN 1 /* the arpa internet */
+#define C_CHAOS 3 /* for chaos net (MIT) */
+#define C_ANY 255 /* wildcard match */
+
+#define T_A 1
+#define T_NS 2
+#define T_CNAME 5
+#define T_SOA 6
+#define T_PTR 12
+#define T_MX 15
+#define T_TXT 16
+#define T_SIG 24
+#define T_AAAA 28
+#define T_SRV 33
+#define T_NAPTR 35
+#define T_OPT 41
+#define T_TKEY 249
+#define T_TSIG 250
+#define T_MAILB 253
+#define T_ANY 255
+
+struct dns_header {
+ u16 id;
+ u8 hb3,hb4;
+ u16 qdcount,ancount,nscount,arcount;
+} ;
+
+#define HB3_QR 0x80
+#define HB3_OPCODE 0x78
+#define HB3_AA 0x04
+#define HB3_TC 0x02
+#define HB3_RD 0x01
+
+#define HB4_RA 0x80
+#define HB4_AD 0x20
+#define HB4_CD 0x10
+#define HB4_RCODE 0x0f
+
+#define OPCODE(x) (((x)->hb3 & HB3_OPCODE) >> 3)
+#define RCODE(x) ((x)->hb4 & HB4_RCODE)
+#define SET_RCODE(x, code) (x)->hb4 = ((x)->hb4 & ~HB4_RCODE) | code
+
+#define GETSHORT(s, cp) { \
+ unsigned char *t_cp = (unsigned char *)(cp); \
+ (s) = ((u16)t_cp[0] << 8) \
+ | ((u16)t_cp[1]) \
+ ; \
+ (cp) += 2; \
+}
+
+#define GETLONG(l, cp) { \
+ unsigned char *t_cp = (unsigned char *)(cp); \
+ (l) = ((u32)t_cp[0] << 24) \
+ | ((u32)t_cp[1] << 16) \
+ | ((u32)t_cp[2] << 8) \
+ | ((u32)t_cp[3]) \
+ ; \
+ (cp) += 4; \
+}
+
+#define PUTSHORT(s, cp) { \
+ u16 t_s = (u16)(s); \
+ unsigned char *t_cp = (unsigned char *)(cp); \
+ *t_cp++ = t_s >> 8; \
+ *t_cp = t_s; \
+ (cp) += 2; \
+}
+
+#define PUTLONG(l, cp) { \
+ u32 t_l = (u32)(l); \
+ unsigned char *t_cp = (unsigned char *)(cp); \
+ *t_cp++ = t_l >> 24; \
+ *t_cp++ = t_l >> 16; \
+ *t_cp++ = t_l >> 8; \
+ *t_cp = t_l; \
+ (cp) += 4; \
+}
+
diff --git a/src/dnsmasq.c b/src/dnsmasq.c
index 689a86b..827b0dc 100644
--- a/src/dnsmasq.c
+++ b/src/dnsmasq.c
@@ -51,8 +51,11 @@ static char *compile_opts =
#ifndef HAVE_TFTP
"no-"
#endif
-"TFTP";
-
+"TFTP "
+#if !defined(LOCALEDIR) && !defined(HAVE_IDN)
+"no-"
+#endif
+"IDN";
static volatile pid_t pid = 0;
@@ -150,6 +153,11 @@ int main (int argc, char **argv)
die(_("asychronous logging is not available under Solaris"), NULL, EC_BADCONF);
#endif
+#ifdef __ANDROID__
+ if (daemon->max_logs != 0)
+ die(_("asychronous logging is not available under Android"), NULL, EC_BADCONF);
+#endif
+
rand_init();
now = dnsmasq_time();
@@ -384,7 +392,7 @@ int main (int argc, char **argv)
(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) == -1)
+ if (capset(hdr, data) == -1 || prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) == -1)
bad_capabilities = errno;
#elif defined(HAVE_SOLARIS_NETWORK)
@@ -440,7 +448,7 @@ int main (int argc, char **argv)
#ifdef HAVE_LINUX_NETWORK
if (option_bool(OPT_DEBUG))
- prctl(PR_SET_DUMPABLE, 1);
+ prctl(PR_SET_DUMPABLE, 1, 0, 0, 0);
#endif
if (daemon->port == 0)
diff --git a/src/dnsmasq.h b/src/dnsmasq.h
index 10e7eef..a386a31 100644
--- a/src/dnsmasq.h
+++ b/src/dnsmasq.h
@@ -24,7 +24,9 @@
/* Get linux C library versions and define _GNU_SOURCE for kFreeBSD. */
#if defined(__linux__) || defined(__GLIBC__)
-# define _GNU_SOURCE
+# ifndef __ANDROID__
+# define _GNU_SOURCE
+# endif
# include <features.h>
#endif
@@ -39,18 +41,18 @@
#include <sys/socket.h>
#include <netinet/in.h>
-#ifdef __APPLE__
-# include <nameser.h>
-# include <arpa/nameser_compat.h>
-#else
-# include <arpa/nameser.h>
-#endif
-
/* and this. */
#include <getopt.h>
#include "config.h"
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+
+#include "dns_protocol.h"
+#include "dhcp_protocol.h"
+
#define gettext_noop(S) (S)
#ifndef LOCALEDIR
# define _(S) (S)
@@ -89,7 +91,7 @@
#include <pwd.h>
#include <grp.h>
#include <stdarg.h>
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__sun__) || defined (__sun)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__sun__) || defined (__sun) || defined (__ANDROID__)
# include <netinet/if_ether.h>
#else
# include <net/ethernet.h>
@@ -163,7 +165,7 @@ struct event_desc {
*/
#define DNSMASQ_PACKETSZ PACKETSZ+MAXDNAME+RRFIXEDSZ
-/* Trust the compiler dead-code elimator.... */
+/* Trust the compiler dead-code eliminator.... */
#define option_bool(x) (((x) < 32) ? daemon->options & (1u << (x)) : daemon->options2 & (1u << ((x) - 32)))
#define OPT_BOGUSPRIV 0
@@ -422,8 +424,6 @@ struct frec {
#define ACTION_OLD 3
#define ACTION_ADD 4
-#define DHCP_CHADDR_MAX 16
-
struct dhcp_lease {
int clid_len; /* length of client identifier */
unsigned char *clid; /* clientid */
@@ -582,21 +582,6 @@ struct dhcp_context {
#define CONTEXT_BRDCAST 4
#define CONTEXT_PROXY 8
-
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-
-
-struct dhcp_packet {
- u8 op, htype, hlen, hops;
- u32 xid;
- u16 secs, flags;
- struct in_addr ciaddr, yiaddr, siaddr, giaddr;
- u8 chaddr[DHCP_CHADDR_MAX], sname[64], file[128];
- u8 options[312];
-};
-
struct ping_result {
struct in_addr addr;
time_t time;
@@ -763,24 +748,24 @@ char *cache_get_name(struct crec *crecp);
char *get_domain(struct in_addr addr);
/* rfc1035.c */
-unsigned int extract_request(HEADER *header, size_t qlen,
+unsigned int extract_request(struct dns_header *header, size_t qlen,
char *name, unsigned short *typep);
-size_t setup_reply(HEADER *header, size_t qlen,
+size_t setup_reply(struct dns_header *header, size_t qlen,
struct all_addr *addrp, unsigned int flags,
unsigned long local_ttl);
-int extract_addresses(HEADER *header, size_t qlen, char *namebuff,
+int extract_addresses(struct dns_header *header, size_t qlen, char *namebuff,
time_t now, int is_sign, int checkrebind, int checking_disabled);
-size_t answer_request(HEADER *header, char *limit, size_t qlen,
+size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
struct in_addr local_addr, struct in_addr local_netmask, time_t now);
-int check_for_bogus_wildcard(HEADER *header, size_t qlen, char *name,
+int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name,
struct bogus_addr *addr, time_t now);
-unsigned char *find_pseudoheader(HEADER *header, size_t plen,
+unsigned char *find_pseudoheader(struct dns_header *header, size_t plen,
size_t *len, unsigned char **p, int *is_sign);
int check_for_local_domain(char *name, time_t now);
-unsigned int questions_crc(HEADER *header, size_t plen, char *buff);
-size_t resize_packet(HEADER *header, size_t plen,
+unsigned int questions_crc(struct dns_header *header, size_t plen, char *buff);
+size_t resize_packet(struct dns_header *header, size_t plen,
unsigned char *pheader, size_t hlen);
-size_t add_mac(HEADER *header, size_t plen, char *limit, union mysockaddr *l3);
+size_t add_mac(struct dns_header *header, size_t plen, char *limit, union mysockaddr *l3);
/* util.c */
void rand_init(void);
diff --git a/src/forward.c b/src/forward.c
index c37ede3..92bc6b0 100644
--- a/src/forward.c
+++ b/src/forward.c
@@ -234,7 +234,7 @@ static unsigned int search_servers(time_t now, struct all_addr **addrpp,
static int forward_query(int udpfd, union mysockaddr *udpaddr,
struct all_addr *dst_addr, unsigned int dst_iface,
- HEADER *header, size_t plen, time_t now, struct frec *forward)
+ struct dns_header *header, size_t plen, time_t now, struct frec *forward)
{
char *domain = NULL;
int type = 0, norebind = 0;
@@ -245,8 +245,8 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
struct server *start = NULL;
/* RFC 4035: sect 4.6 para 2 */
- header->ad = 0;
-
+ header->hb4 &= ~HB4_AD;
+
/* may be no servers available. */
if (!daemon->servers)
forward = NULL;
@@ -286,7 +286,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
forward->forwardall = 0;
if (norebind)
forward->flags |= FREC_NOREBIND;
- if (header->cd)
+ if (header->hb4 & HB4_CD)
forward->flags |= FREC_CHECKING_DISABLED;
header->id = htons(forward->new_id);
@@ -425,7 +425,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
return 0;
}
-static size_t process_reply(HEADER *header, time_t now,
+static size_t process_reply(struct dns_header *header, time_t now,
struct server *server, size_t n, int check_rebind, int checking_disabled)
{
unsigned char *pheader, *sizep;
@@ -448,13 +448,13 @@ static size_t process_reply(HEADER *header, time_t now,
/* RFC 4035 sect 4.6 para 3 */
if (!is_sign && !option_bool(OPT_DNSSEC))
- header->ad = 0;
+ header->hb4 &= ~HB4_AD;
- if (header->opcode != QUERY || (header->rcode != NOERROR && header->rcode != NXDOMAIN))
+ if (OPCODE(header) != QUERY || (RCODE(header) != NOERROR && RCODE(header) != NXDOMAIN))
return n;
/* Complain loudly if the upstream server is non-recursive. */
- if (!header->ra && header->rcode == NOERROR && ntohs(header->ancount) == 0 &&
+ if (!(header->hb4 & HB4_RA) && RCODE(header) == NOERROR && ntohs(header->ancount) == 0 &&
server && !(server->flags & SERV_WARNED_RECURSIVE))
{
prettyprint_addr(&server->addr, daemon->namebuff);
@@ -463,16 +463,16 @@ static size_t process_reply(HEADER *header, time_t now,
server->flags |= SERV_WARNED_RECURSIVE;
}
- if (daemon->bogus_addr && header->rcode != NXDOMAIN &&
+ if (daemon->bogus_addr && RCODE(header) != NXDOMAIN &&
check_for_bogus_wildcard(header, n, daemon->namebuff, daemon->bogus_addr, now))
{
munged = 1;
- header->rcode = NXDOMAIN;
- header->aa = 0;
+ SET_RCODE(header, NXDOMAIN);
+ header->hb3 &= ~HB3_AA;
}
else
{
- if (header->rcode == NXDOMAIN &&
+ if (RCODE(header) == NXDOMAIN &&
extract_request(header, n, daemon->namebuff, NULL) &&
check_for_local_domain(daemon->namebuff, now))
{
@@ -480,8 +480,8 @@ static size_t process_reply(HEADER *header, time_t now,
an unknown type) and the answer is NXDOMAIN, convert that to NODATA,
since we know that the domain exists, even if upstream doesn't */
munged = 1;
- header->aa = 1;
- header->rcode = NOERROR;
+ header->hb3 |= HB3_AA;
+ SET_RCODE(header, NOERROR);
}
if (extract_addresses(header, n, daemon->namebuff, now, is_sign, check_rebind, checking_disabled))
@@ -512,7 +512,7 @@ void reply_query(int fd, int family, time_t now)
{
/* packet from peer server, extract data for cache, and send to
original requester */
- HEADER *header;
+ struct dns_header *header;
union mysockaddr serveraddr;
struct frec *forward;
socklen_t addrlen = sizeof(serveraddr);
@@ -536,16 +536,16 @@ void reply_query(int fd, int family, time_t now)
sockaddr_isequal(&server->addr, &serveraddr))
break;
- header = (HEADER *)daemon->packet;
+ header = (struct dns_header *)daemon->packet;
if (!server ||
- n < (int)sizeof(HEADER) || !header->qr ||
+ n < (int)sizeof(struct dns_header) || !(header->hb3 & HB3_QR) ||
!(forward = lookup_frec(ntohs(header->id), questions_crc(header, n, daemon->namebuff))))
return;
server = forward->sentto;
- if ((header->rcode == SERVFAIL || header->rcode == REFUSED) &&
+ if ((RCODE(header) == SERVFAIL || RCODE(header) == REFUSED) &&
!option_bool(OPT_ORDER) &&
forward->forwardall == 0)
/* for broken servers, attempt to send to another one. */
@@ -563,8 +563,7 @@ void reply_query(int fd, int family, time_t now)
header->arcount = htons(0);
if ((nn = resize_packet(header, (size_t)n, pheader, plen)))
{
- header->qr = 0;
- header->tc = 0;
+ header->hb3 &= ~(HB3_QR | HB3_TC);
forward_query(-1, NULL, NULL, 0, header, nn, now, forward);
return;
}
@@ -573,7 +572,7 @@ void reply_query(int fd, int family, time_t now)
if ((forward->sentto->flags & SERV_TYPE) == 0)
{
- if (header->rcode == SERVFAIL || header->rcode == REFUSED)
+ if (RCODE(header) == SERVFAIL || RCODE(header) == REFUSED)
server = NULL;
else
{
@@ -597,7 +596,7 @@ void reply_query(int fd, int family, time_t now)
had replies from all to avoid filling the forwarding table when
everything is broken */
if (forward->forwardall == 0 || --forward->forwardall == 1 ||
- (header->rcode != REFUSED && header->rcode != SERVFAIL))
+ (RCODE(header) != REFUSED && RCODE(header) != SERVFAIL))
{
int check_rebind = !(forward->flags & FREC_NOREBIND);
@@ -607,7 +606,7 @@ void reply_query(int fd, int family, time_t now)
if ((nn = process_reply(header, now, server, (size_t)n, check_rebind, forward->flags & FREC_CHECKING_DISABLED)))
{
header->id = htons(forward->orig_id);
- header->ra = 1; /* recursion if available */
+ header->hb4 |= HB4_RA; /* recursion if available */
send_from(forward->fd, option_bool(OPT_NOWILD), daemon->packet, nn,
&forward->source, &forward->dest, forward->iface);
}
@@ -618,7 +617,7 @@ void reply_query(int fd, int family, time_t now)
void receive_query(struct listener *listen, time_t now)
{
- HEADER *header = (HEADER *)daemon->packet;
+ struct dns_header *header = (struct dns_header *)daemon->packet;
union mysockaddr source_addr;
unsigned short type;
struct all_addr dst_addr;
@@ -673,9 +672,9 @@ void receive_query(struct listener *listen, time_t now)
if ((n = recvmsg(listen->fd, &msg, 0)) == -1)
return;
- if (n < (int)sizeof(HEADER) ||
+ if (n < (int)sizeof(struct dns_header) ||
(msg.msg_flags & MSG_TRUNC) ||
- header->qr)
+ (header->hb3 & HB3_QR))
return;
source_addr.sa.sa_family = listen->family;
@@ -808,7 +807,7 @@ unsigned char *tcp_request(int confd, time_t now,
unsigned char c1, c2;
/* Max TCP packet + slop */
unsigned char *packet = whine_malloc(65536 + MAXDNAME + RRFIXEDSZ);
- HEADER *header;
+ struct dns_header *header;
struct server *last_server;
while (1)
@@ -819,16 +818,16 @@ unsigned char *tcp_request(int confd, time_t now,
!read_write(confd, packet, size, 1))
return packet;
- if (size < (int)sizeof(HEADER))
+ if (size < (int)sizeof(struct dns_header))
continue;
- header = (HEADER *)packet;
+ header = (struct dns_header *)packet;
/* save state of "cd" flag in query */
- checking_disabled = header->cd;
+ checking_disabled = header->hb4 & HB4_CD;
/* RFC 4035: sect 4.6 para 2 */
- header->ad = 0;
+ header->hb4 &= ~HB4_AD;
if ((gotname = extract_request(header, (unsigned int)size, daemon->namebuff, &qtype)))
{
diff --git a/src/log.c b/src/log.c
index 6c8993b..baaae7c 100644
--- a/src/log.c
+++ b/src/log.c
@@ -16,6 +16,10 @@
#include "dnsmasq.h"
+#ifdef __ANDROID__
+# include <android/log.h>
+#endif
+
/* Implement logging to /dev/log asynchronously. If syslogd is
making DNS lookups through dnsmasq, and dnsmasq blocks awaiting
syslogd, then the two daemons can deadlock. We get around this
@@ -117,7 +121,7 @@ int log_reopen(char *log_file)
log_fd = open(log_file, O_WRONLY|O_CREAT|O_APPEND, S_IRUSR|S_IWUSR|S_IRGRP);
else
{
-#ifdef HAVE_SOLARIS_NETWORK
+#if defined(HAVE_SOLARIS_NETWORK) || defined(__ANDROID__)
/* Solaris logging is "different", /dev/log is not unix-domain socket.
Just leave log_fd == -1 and use the vsyslog call for everything.... */
# define _PATH_LOG "" /* dummy */
@@ -289,8 +293,28 @@ void my_syslog(int priority, const char *format, ...)
if (log_fd == -1)
{
- /* fall-back to syslog if we die during startup or fail during running. */
+#ifdef __ANDROID__
+ /* do android-specific logging.
+ log_fd is always -1 on Android except when logging to a file. */
+ int alog_lvl;
+
+ if (priority <= LOG_ERR)
+ alog_lvl = ANDROID_LOG_ERROR;
+ else if (priority == LOG_WARNING)
+ alog_lvl = ANDROID_LOG_WARN;
+ else if (priority <= LOG_INFO)
+ alog_lvl = ANDROID_LOG_INFO;
+ else
+ alog_lvl = ANDROID_LOG_DEBUG;
+
+ va_start(ap, format);
+ __android_log_vprint(alog_lvl, "dnsmasq", format, ap);
+ va_end(ap);
+#else
+ /* fall-back to syslog if we die during startup or
+ fail during running (always on Solaris). */
static int isopen = 0;
+
if (!isopen)
{
openlog("dnsmasq", LOG_PID, log_fac);
@@ -299,6 +323,8 @@ void my_syslog(int priority, const char *format, ...)
va_start(ap, format);
vsyslog(priority, format, ap);
va_end(ap);
+#endif
+
return;
}
diff --git a/src/option.c b/src/option.c
index 214fd91..4cee0a2 100644
--- a/src/option.c
+++ b/src/option.c
@@ -906,7 +906,8 @@ static char *parse_dhcp_opt(char *arg, int flags)
new->val = op = opt_malloc((5 * addrs) + 1);
new->flags |= DHOPT_ADDR;
- if (!(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)) && new->opt == 120)
+ if (!(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)) &&
+ new->opt == OPTION_SIP_SERVER)
{
*(op++) = 1; /* RFC 3361 "enc byte" */
new->flags &= ~DHOPT_ADDR;
@@ -943,13 +944,14 @@ static char *parse_dhcp_opt(char *arg, int flags)
else if (is_string)
{
/* text arg */
- if ((new->opt == 119 || new->opt == 120) && !(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)))
+ if ((new->opt == OPTION_DOMAIN_SEARCH || new->opt == OPTION_SIP_SERVER) &&
+ !(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)))
{
/* dns search, RFC 3397, or SIP, RFC 3361 */
unsigned char *q, *r, *tail;
unsigned char *p, *m = NULL, *newp;
size_t newlen, len = 0;
- int header_size = (new->opt == 119) ? 0 : 1;
+ int header_size = (new->opt == OPTION_DOMAIN_SEARCH) ? 0 : 1;
arg = comma;
comma = split(arg);
@@ -1011,7 +1013,7 @@ static char *parse_dhcp_opt(char *arg, int flags)
}
/* RFC 3361, enc byte is zero for names */
- if (new->opt == 120)
+ if (new->opt == OPTION_SIP_SERVER)
m[0] = 0;
new->len = (int) len + header_size;
new->val = m;
@@ -1201,6 +1203,9 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
daemon->log_file = opt_string_alloc(arg);
else
{
+#ifdef __ANDROID__
+ problem = _("setting log facility is not possible under Android");
+#else
for (i = 0; facilitynames[i].c_name; i++)
if (hostname_isequal((char *)facilitynames[i].c_name, arg))
break;
@@ -1208,7 +1213,8 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
if (facilitynames[i].c_name)
daemon->log_fac = facilitynames[i].c_val;
else
- problem = "bad log facility";
+ problem = _("bad log facility");
+#endif
}
break;
@@ -2080,7 +2086,7 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
}
for (cp = a[j]; *cp; cp++)
- if (!isdigit((int)*cp) && *cp != ' ')
+ if (!isdigit((unsigned char)*cp) && *cp != ' ')
break;
if (*cp)
@@ -2398,14 +2404,14 @@ static char *one_opt(int option, char *arg, char *gen_prob, int command_line)
option = '?';
else
{
- char *p;
+ unsigned char *p;
int dig = 0;
struct dhcp_vendor *new = opt_malloc(sizeof(struct dhcp_vendor));
new->netid.net = opt_string_alloc(set_prefix(arg));
/* check for hex string - must digits may include : must not have nothing else,
only allowed for agent-options. */
- for (p = comma; *p; p++)
- if (isxdigit((int)*p))
+ for (p = (unsigned char *)comma; *p; p++)
+ if (isxdigit(*p))
dig = 1;
else if (*p != ':')
break;
@@ -3225,8 +3231,13 @@ void read_opts(int argc, char **argv, char *compile_opts)
if (option == -1)
{
- if (optind < argc)
- die(_("junk found in command line"), NULL, EC_BADCONF);
+ for (; optind < argc; optind++)
+ {
+ unsigned char *c = (unsigned char *)argv[optind];
+ for (; *c != 0; c++)
+ if (!isspace(*c))
+ die(_("junk found in command line"), NULL, EC_BADCONF);
+ }
break;
}
diff --git a/src/rfc1035.c b/src/rfc1035.c
index 93f855c..889c1f0 100644
--- a/src/rfc1035.c
+++ b/src/rfc1035.c
@@ -16,7 +16,7 @@
#include "dnsmasq.h"
-static int add_resource_record(HEADER *header, char *limit, int *truncp,
+static int add_resource_record(struct dns_header *header, char *limit, int *truncp,
unsigned int nameoffset, unsigned char **pp,
unsigned long ttl, unsigned int *offset, unsigned short type,
unsigned short class, char *format, ...);
@@ -27,7 +27,7 @@ static int add_resource_record(HEADER *header, char *limit, int *truncp,
#define ADD_RDLEN(header, pp, plen, len) \
(!CHECK_LEN(header, pp, plen, len) ? 0 : (long)((pp) += (len)), 1)
-static int extract_name(HEADER *header, size_t plen, unsigned char **pp,
+static int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
char *name, int isExtract, int extrabytes)
{
unsigned char *cp = (unsigned char *)name, *p = *pp, *p1 = NULL;
@@ -217,7 +217,7 @@ static int in_arpa_name_2_addr(char *namein, struct all_addr *addrp)
as CNAME targets according to RFC 2317 */
char *cp;
for (cp = cp1; *cp; cp++)
- if (!isdigit((int)*cp))
+ if (!isdigit((unsigned char)*cp))
return 0;
addr[3] = addr[2];
@@ -244,7 +244,7 @@ static int in_arpa_name_2_addr(char *namein, struct all_addr *addrp)
if (*name == '\\' && *(name+1) == '[' &&
(*(name+2) == 'x' || *(name+2) == 'X'))
{
- for (j = 0, cp1 = name+3; *cp1 && isxdigit((int) *cp1) && j < 32; cp1++, j++)
+ for (j = 0, cp1 = name+3; *cp1 && isxdigit((unsigned char) *cp1) && j < 32; cp1++, j++)
{
char xdig[2];
xdig[0] = *cp1;
@@ -262,7 +262,7 @@ static int in_arpa_name_2_addr(char *namein, struct all_addr *addrp)
{
for (cp1 = name; cp1 != penchunk; cp1 += strlen(cp1)+1)
{
- if (*(cp1+1) || !isxdigit((int)*cp1))
+ if (*(cp1+1) || !isxdigit((unsigned char)*cp1))
return 0;
for (j = sizeof(struct all_addr)-1; j>0; j--)
@@ -278,7 +278,7 @@ static int in_arpa_name_2_addr(char *namein, struct all_addr *addrp)
return 0;
}
-static unsigned char *skip_name(unsigned char *ansp, HEADER *header, size_t plen, int extrabytes)
+static unsigned char *skip_name(unsigned char *ansp, struct dns_header *header, size_t plen, int extrabytes)
{
while(1)
{
@@ -333,7 +333,7 @@ static unsigned char *skip_name(unsigned char *ansp, HEADER *header, size_t plen
return ansp;
}
-static unsigned char *skip_questions(HEADER *header, size_t plen)
+static unsigned char *skip_questions(struct dns_header *header, size_t plen)
{
int q;
unsigned char *ansp = (unsigned char *)(header+1);
@@ -348,7 +348,7 @@ static unsigned char *skip_questions(HEADER *header, size_t plen)
return ansp;
}
-static unsigned char *skip_section(unsigned char *ansp, int count, HEADER *header, size_t plen)
+static unsigned char *skip_section(unsigned char *ansp, int count, struct dns_header *header, size_t plen)
{
int i, rdlen;
@@ -371,7 +371,7 @@ static unsigned char *skip_section(unsigned char *ansp, int count, HEADER *heade
than CRC the raw bytes, since replies might be compressed differently.
We ignore case in the names for the same reason. Return all-ones
if there is not question section. */
-unsigned int questions_crc(HEADER *header, size_t plen, char *name)
+unsigned int questions_crc(struct dns_header *header, size_t plen, char *name)
{
int q;
unsigned int crc = 0xffffffff;
@@ -413,7 +413,7 @@ unsigned int questions_crc(HEADER *header, size_t plen, char *name)
}
-size_t resize_packet(HEADER *header, size_t plen, unsigned char *pheader, size_t hlen)
+size_t resize_packet(struct dns_header *header, size_t plen, unsigned char *pheader, size_t hlen)
{
unsigned char *ansp = skip_questions(header, plen);
@@ -437,7 +437,7 @@ size_t resize_packet(HEADER *header, size_t plen, unsigned char *pheader, size_t
return ansp - (unsigned char *)header;
}
-unsigned char *find_pseudoheader(HEADER *header, size_t plen, size_t *len, unsigned char **p, int *is_sign)
+unsigned char *find_pseudoheader(struct dns_header *header, size_t plen, size_t *len, unsigned char **p, int *is_sign)
{
/* See if packet has an RFC2671 pseudoheader, and if so return a pointer to it.
also return length of pseudoheader in *len and pointer to the UDP size in *p
@@ -453,7 +453,7 @@ unsigned char *find_pseudoheader(HEADER *header, size_t plen, size_t *len, unsi
{
*is_sign = 0;
- if (header->opcode == QUERY)
+ if (OPCODE(header) == QUERY)
{
for (i = ntohs(header->qdcount); i != 0; i--)
{
@@ -513,7 +513,7 @@ unsigned char *find_pseudoheader(HEADER *header, size_t plen, size_t *len, unsi
struct macparm {
unsigned char *limit;
- HEADER *header;
+ struct dns_header *header;
size_t plen;
union mysockaddr *l3;
};
@@ -523,7 +523,7 @@ static int filter_mac(int family, char *addrp, char *mac, size_t maclen, void *p
struct macparm *parm = parmv;
int match = 0;
unsigned short rdlen;
- HEADER *header = parm->header;
+ struct dns_header *header = parm->header;
unsigned char *lenp, *datap, *p;
if (family == parm->l3->sa.sa_family)
@@ -605,7 +605,7 @@ static int filter_mac(int family, char *addrp, char *mac, size_t maclen, void *p
}
-size_t add_mac(HEADER *header, size_t plen, char *limit, union mysockaddr *l3)
+size_t add_mac(struct dns_header *header, size_t plen, char *limit, union mysockaddr *l3)
{
struct macparm parm;
@@ -639,7 +639,7 @@ static int private_net(struct in_addr addr, int ban_localhost)
((ip_addr & 0xFFFF0000) == 0xA9FE0000) /* 169.254.0.0/16 (zeroconf) */ ;
}
-static unsigned char *do_doctor(unsigned char *p, int count, HEADER *header, size_t qlen, char *name)
+static unsigned char *do_doctor(unsigned char *p, int count, struct dns_header *header, size_t qlen, char *name)
{
int i, qtype, qclass, rdlen;
unsigned long ttl;
@@ -684,7 +684,7 @@ static unsigned char *do_doctor(unsigned char *p, int count, HEADER *header, siz
addr.s_addr &= ~doctor->mask.s_addr;
addr.s_addr |= (doctor->out.s_addr & doctor->mask.s_addr);
/* Since we munged the data, the server it came from is no longer authoritative */
- header->aa = 0;
+ header->hb3 &= ~HB3_AA;
memcpy(p, &addr, INADDRSZ);
break;
}
@@ -721,7 +721,7 @@ static unsigned char *do_doctor(unsigned char *p, int count, HEADER *header, siz
return p;
}
-static int find_soa(HEADER *header, size_t qlen, char *name)
+static int find_soa(struct dns_header *header, size_t qlen, char *name)
{
unsigned char *p;
int qtype, qclass, rdlen;
@@ -779,7 +779,7 @@ static int find_soa(HEADER *header, size_t qlen, char *name)
either because of lack of memory, or lack of SOA records. These are treated by the cache code as
expired and cleaned out that way.
Return 1 if we reject an address because it look like part of dns-rebinding attack. */
-int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
+int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t now,
int is_sign, int check_rebind, int checking_disabled)
{
unsigned char *p, *p1, *endrr, *namep;
@@ -803,7 +803,7 @@ int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
{
int found = 0, cname_count = 5;
struct crec *cpp = NULL;
- int flags = header->rcode == NXDOMAIN ? F_NXDOMAIN : 0;
+ int flags = RCODE(header) == NXDOMAIN ? F_NXDOMAIN : 0;
unsigned long cttl = ULONG_MAX, attl;
namep = p;
@@ -844,7 +844,7 @@ int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
GETLONG(attl, p1);
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
{
- (p1) -= NS_INT32SZ;
+ (p1) -= 4;
PUTLONG(daemon->max_ttl, p1);
}
GETSHORT(ardlen, p1);
@@ -924,7 +924,7 @@ int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
GETLONG(attl, p1);
if ((daemon->max_ttl != 0) && (attl > daemon->max_ttl) && !is_sign)
{
- (p1) -= NS_INT32SZ;
+ (p1) -= 4;
PUTLONG(daemon->max_ttl, p1);
}
GETSHORT(ardlen, p1);
@@ -1007,7 +1007,7 @@ int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
/* Don't put stuff from a truncated packet into the cache,
also don't cache replies where DNSSEC validation was turned off, either
the upstream server told us so, or the original query specified it. */
- if (!header->tc && !header->cd && !checking_disabled)
+ if (!(header->hb3 & HB3_TC) && !(header->hb4 & HB4_CD) && !checking_disabled)
cache_end_insert();
return 0;
@@ -1016,7 +1016,7 @@ int extract_addresses(HEADER *header, size_t qlen, char *name, time_t now,
/* If the packet holds exactly one query
return F_IPV4 or F_IPV6 and leave the name from the query in name */
-unsigned int extract_request(HEADER *header, size_t qlen, char *name, unsigned short *typep)
+unsigned int extract_request(struct dns_header *header, size_t qlen, char *name, unsigned short *typep)
{
unsigned char *p = (unsigned char *)(header+1);
int qtype, qclass;
@@ -1024,7 +1024,7 @@ unsigned int extract_request(HEADER *header, size_t qlen, char *name, unsigned s
if (typep)
*typep = 0;
- if (ntohs(header->qdcount) != 1 || header->opcode != QUERY)
+ if (ntohs(header->qdcount) != 1 || OPCODE(header) != QUERY)
return 0; /* must be exactly one query. */
if (!extract_name(header, qlen, &p, name, 1, 4))
@@ -1052,42 +1052,43 @@ unsigned int extract_request(HEADER *header, size_t qlen, char *name, unsigned s
}
-size_t setup_reply(HEADER *header, size_t qlen,
+size_t setup_reply(struct dns_header *header, size_t qlen,
struct all_addr *addrp, unsigned int flags, unsigned long ttl)
{
unsigned char *p = skip_questions(header, qlen);
- header->qr = 1; /* response */
- header->aa = 0; /* authoritive */
- header->ra = 1; /* recursion if available */
- header->tc = 0; /* not truncated */
+ /* clear authoritative and truncated flags, set QR flag */
+ header->hb3 = (header->hb3 & ~(HB3_AA | HB3_TC)) | HB3_QR;
+ /* set RA flag */
+ header->hb4 |= HB4_RA;
+
header->nscount = htons(0);
header->arcount = htons(0);
header->ancount = htons(0); /* no answers unless changed below */
if (flags == F_NEG)
- header->rcode = SERVFAIL; /* couldn't get memory */
+ SET_RCODE(header, SERVFAIL); /* couldn't get memory */
else if (flags == F_NOERR)
- header->rcode = NOERROR; /* empty domain */
+ SET_RCODE(header, NOERROR); /* empty domain */
else if (flags == F_NXDOMAIN)
- header->rcode = NXDOMAIN;
+ SET_RCODE(header, NXDOMAIN);
else if (p && flags == F_IPV4)
{ /* we know the address */
- header->rcode = NOERROR;
+ SET_RCODE(header, NOERROR);
header->ancount = htons(1);
- header->aa = 1;
- add_resource_record(header, NULL, NULL, sizeof(HEADER), &p, ttl, NULL, T_A, C_IN, "4", addrp);
+ header->hb3 |= HB3_AA;
+ add_resource_record(header, NULL, NULL, sizeof(struct dns_header), &p, ttl, NULL, T_A, C_IN, "4", addrp);
}
#ifdef HAVE_IPV6
else if (p && flags == F_IPV6)
{
- header->rcode = NOERROR;
+ SET_RCODE(header, NOERROR);
header->ancount = htons(1);
- header->aa = 1;
- add_resource_record(header, NULL, NULL, sizeof(HEADER), &p, ttl, NULL, T_AAAA, C_IN, "6", addrp);
+ header->hb3 |= HB3_AA;
+ add_resource_record(header, NULL, NULL, sizeof(struct dns_header), &p, ttl, NULL, T_AAAA, C_IN, "6", addrp);
}
#endif
else /* nowhere to forward to */
- header->rcode = REFUSED;
+ SET_RCODE(header, REFUSED);
return p - (unsigned char *)header;
}
@@ -1127,7 +1128,7 @@ int check_for_local_domain(char *name, time_t now)
/* Is the packet a reply with the answer address equal to addr?
If so mung is into an NXDOMAIN reply and also put that information
in the cache. */
-int check_for_bogus_wildcard(HEADER *header, size_t qlen, char *name,
+int check_for_bogus_wildcard(struct dns_header *header, size_t qlen, char *name,
struct bogus_addr *baddr, time_t now)
{
unsigned char *p;
@@ -1174,7 +1175,7 @@ int check_for_bogus_wildcard(HEADER *header, size_t qlen, char *name,
return 0;
}
-static int add_resource_record(HEADER *header, char *limit, int *truncp, unsigned int nameoffset, unsigned char **pp,
+static int add_resource_record(struct dns_header *header, char *limit, int *truncp, unsigned int nameoffset, unsigned char **pp,
unsigned long ttl, unsigned int *offset, unsigned short type, unsigned short class, char *format, ...)
{
va_list ap;
@@ -1284,7 +1285,7 @@ static unsigned long crec_ttl(struct crec *crecp, time_t now)
/* return zero if we can't answer from cache, or packet size if we can */
-size_t answer_request(HEADER *header, char *limit, size_t qlen,
+size_t answer_request(struct dns_header *header, char *limit, size_t qlen,
struct in_addr local_addr, struct in_addr local_netmask, time_t now)
{
char *name = daemon->namebuff;
@@ -1327,7 +1328,7 @@ size_t answer_request(HEADER *header, char *limit, size_t qlen,
dryrun = 1;
}
- if (ntohs(header->qdcount) == 0 || header->opcode != QUERY )
+ if (ntohs(header->qdcount) == 0 || OPCODE(header) != QUERY )
return 0;
for (rec = daemon->mxnames; rec; rec = rec->next)
@@ -1496,7 +1497,7 @@ size_t answer_request(HEADER *header, char *limit, size_t qlen,
for (cp = name, i = 0, a = 0; *cp; i++)
{
- if (!isdigit(*cp) || (x = strtol(cp, &cp, 10)) > 255)
+ if (!isdigit((unsigned char)*cp) || (x = strtol(cp, &cp, 10)) > 255)
{
i = 5;
break;
@@ -1785,14 +1786,23 @@ size_t answer_request(HEADER *header, char *limit, size_t qlen,
}
/* done all questions, set up header and return length of result */
- header->qr = 1; /* response */
- header->aa = auth; /* authoritive - only hosts and DHCP derived names. */
- header->ra = 1; /* recursion if available */
- header->tc = trunc; /* truncation */
+ /* clear authoritative and truncated flags, set QR flag */
+ header->hb3 = (header->hb3 & ~(HB3_AA | HB3_TC)) | HB3_QR;
+ /* set RA flag */
+ header->hb4 |= HB4_RA;
+
+ /* authoritive - only hosts and DHCP derived names. */
+ if (auth)
+ header->hb3 |= HB3_AA;
+
+ /* truncation */
+ if (trunc)
+ header->hb3 |= HB3_TC;
+
if (anscount == 0 && nxdomain)
- header->rcode = NXDOMAIN;
+ SET_RCODE(header, NXDOMAIN);
else
- header->rcode = NOERROR; /* no error */
+ SET_RCODE(header, NOERROR); /* no error */
header->ancount = htons(anscount);
header->nscount = htons(0);
header->arcount = htons(addncount);
diff --git a/src/rfc2131.c b/src/rfc2131.c
index 67e6dd6..ed9af7f 100644
--- a/src/rfc2131.c
+++ b/src/rfc2131.c
@@ -18,69 +18,6 @@
#ifdef HAVE_DHCP
-#define BOOTREQUEST 1
-#define BOOTREPLY 2
-#define DHCP_COOKIE 0x63825363
-
-/* The Linux in-kernel DHCP client silently ignores any packet
- smaller than this. Sigh........... */
-#define MIN_PACKETSZ 300
-
-#define OPTION_PAD 0
-#define OPTION_NETMASK 1
-#define OPTION_ROUTER 3
-#define OPTION_DNSSERVER 6
-#define OPTION_HOSTNAME 12
-#define OPTION_DOMAINNAME 15
-#define OPTION_BROADCAST 28
-#define OPTION_VENDOR_CLASS_OPT 43
-#define OPTION_REQUESTED_IP 50
-#define OPTION_LEASE_TIME 51
-#define OPTION_OVERLOAD 52
-#define OPTION_MESSAGE_TYPE 53
-#define OPTION_SERVER_IDENTIFIER 54
-#define OPTION_REQUESTED_OPTIONS 55
-#define OPTION_MESSAGE 56
-#define OPTION_MAXMESSAGE 57
-#define OPTION_T1 58
-#define OPTION_T2 59
-#define OPTION_VENDOR_ID 60
-#define OPTION_CLIENT_ID 61
-#define OPTION_SNAME 66
-#define OPTION_FILENAME 67
-#define OPTION_USER_CLASS 77
-#define OPTION_CLIENT_FQDN 81
-#define OPTION_AGENT_ID 82
-#define OPTION_ARCH 93
-#define OPTION_PXE_UUID 97
-#define OPTION_SUBNET_SELECT 118
-#define OPTION_VENDOR_IDENT 124
-#define OPTION_VENDOR_IDENT_OPT 125
-#define OPTION_END 255
-
-#define SUBOPT_CIRCUIT_ID 1
-#define SUBOPT_REMOTE_ID 2
-#define SUBOPT_SUBNET_SELECT 5 /* RFC 3527 */
-#define SUBOPT_SUBSCR_ID 6 /* RFC 3393 */
-#define SUBOPT_SERVER_OR 11 /* RFC 5107 */
-
-#define SUBOPT_PXE_BOOT_ITEM 71 /* PXE standard */
-#define SUBOPT_PXE_DISCOVERY 6
-#define SUBOPT_PXE_SERVERS 8
-#define SUBOPT_PXE_MENU 9
-#define SUBOPT_PXE_MENU_PROMPT 10
-
-#define DHCPDISCOVER 1
-#define DHCPOFFER 2
-#define DHCPREQUEST 3
-#define DHCPDECLINE 4
-#define DHCPACK 5
-#define DHCPNAK 6
-#define DHCPRELEASE 7
-#define DHCPINFORM 8
-
-#define BRDBAND_FORUM_IANA 3561 /* Broadband forum IANA enterprise */
-
#define have_config(config, mask) ((config) && ((config)->flags & (mask)))
#define option_len(opt) ((int)(((unsigned char *)(opt))[1]))
#define option_ptr(opt, i) ((void *)&(((unsigned char *)(opt))[2u+(unsigned int)(i)]))
@@ -89,6 +26,7 @@
static void add_extradata_data(struct dhcp_lease *lease, unsigned char *data, size_t len, int delim);
static void add_extradata_opt(struct dhcp_lease *lease, unsigned char *opt);
#endif
+
static int match_bytes(struct dhcp_opt *o, unsigned char *p, int len);
static int sanitise(unsigned char *opt, char *buf);
static struct in_addr server_id(struct dhcp_context *context, struct in_addr override, struct in_addr fallback);
diff --git a/src/tftp.c b/src/tftp.c
index ad5f544..789c444 100644
--- a/src/tftp.c
+++ b/src/tftp.c
@@ -512,9 +512,9 @@ void check_tftp_listeners(fd_set *rset, time_t now)
err = "";
else
{
- char *q, *r;
- for (q = r = err; *r; r++)
- if (isprint((int)*r))
+ unsigned char *q, *r;
+ for (q = r = (unsigned char *)err; *r; r++)
+ if (isprint(*r))
*(q++) = *r;
*q = 0;
}
diff --git a/src/util.c b/src/util.c
index 49719cf..e64f1a6 100644
--- a/src/util.c
+++ b/src/util.c
@@ -24,7 +24,7 @@
#include <sys/times.h>
#endif
-#ifdef LOCALEDIR
+#if defined(LOCALEDIR) || defined(HAVE_IDN)
#include <idna.h>
#endif
@@ -43,11 +43,9 @@ unsigned short rand16(void)
/* SURF random number generator */
-typedef unsigned int uint32;
-
-static uint32 seed[32];
-static uint32 in[12];
-static uint32 out[8];
+static u32 seed[32];
+static u32 in[12];
+static u32 out[8];
void rand_init()
{
@@ -66,7 +64,7 @@ void rand_init()
static void surf(void)
{
- uint32 t[12]; uint32 x; uint32 sum = 0;
+ u32 t[12]; u32 x; u32 sum = 0;
int r; int i; int loop;
for (i = 0;i < 12;++i) t[i] = in[i] ^ seed[12 + i];
@@ -120,11 +118,11 @@ static int check_name(char *in)
dotgap = 0;
else if (++dotgap > MAXLABEL)
return 0;
- else if (isascii(c) && iscntrl(c))
+ else if (isascii((unsigned char)c) && iscntrl((unsigned char)c))
/* iscntrl only gives expected results for ascii */
return 0;
-#ifndef LOCALEDIR
- else if (!isascii(c))
+#if !defined(LOCALEDIR) && !defined(HAVE_IDN)
+ else if (!isascii((unsigned char)c))
return 0;
#endif
else if (c != ' ')
@@ -170,7 +168,7 @@ int legal_hostname(char *name)
char *canonicalise(char *in, int *nomem)
{
char *ret = NULL;
-#ifdef LOCALEDIR
+#if defined(LOCALEDIR) || defined(HAVE_IDN)
int rc;
#endif
@@ -180,7 +178,7 @@ char *canonicalise(char *in, int *nomem)
if (!check_name(in))
return NULL;
-#ifdef LOCALEDIR
+#if defined(LOCALEDIR) || defined(HAVE_IDN)
if ((rc = idna_to_ascii_lz(in, &ret, 0)) != IDNA_SUCCESS)
{
if (ret)
@@ -379,7 +377,7 @@ int parse_hex(char *in, unsigned char *out, int maxlen,
while (maxlen == -1 || i < maxlen)
{
for (r = in; *r != 0 && *r != ':' && *r != '-'; r++)
- if (!isxdigit((int)*r))
+ if (*r != '*' && !isxdigit((unsigned char)*r))
return -1;
if (*r == 0)