import of dnsmasq-2.31.tar.gz

This commit is contained in:
Simon Kelley
2006-05-06 14:13:33 +01:00
parent 26d0dbaf24
commit 7cebd20fe7
32 changed files with 2294 additions and 2141 deletions

View File

@@ -1803,9 +1803,35 @@ version 2.29
version 2.30
Fixed crash when a DHCP client requested a broadcast
reply. This problem was introduced in version 2.29.
reply. This problem was introduced in version 2.28.
Thanks to Sandra Dekkers for the bug report.
version 2.31
Added --dhcp-script option. There have been calls for this
for a long time from many good people. Fabio Muzzi gets
the prize for finally convincing me.
Added example dbus config file and moved dbus stuff into
its own directory.
Removed horribly outdated Redhat RPM build files. These
are obsolete now that dnsmasq in in Fedora extras. Thanks
to Patrick "Jima" Laughton, the Fedora package
maintainer.
Added workaround for Linux kernel bug. This manifests
itself as failure of DHCP on kernels with "support for
classical IP over ATM" configured. That includes most
Debian kernel packages. Many thanks to A. Costa and
Benjamin Kudria for their huge efforts in chasing this
down.
Force-kill child processes when dnsmasq is sent a sigterm,
otherwise an unclosed TCP connection could keep dnsmasq
hanging round for a few minutes.
Tweaked config.h logic for uclibc build. It will now pick
up MMU and IPV6 status correctly on every system I tested.

View File

@@ -6,10 +6,10 @@ OBJS = cache.o rfc1035.o util.o option.o forward.o isc.o network.o \
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o
.c.o:
$(CC) $(CFLAGS) $(I18N) `../bld/pkg-wrapper $(PKG_CONFIG) --cflags dbus-1` $(RPM_OPT_FLAGS) -Wall -W -c $<
$(CC) $(CFLAGS) $(COPTS) $(I18N) `echo $(COPTS) | ../bld/pkg-wrapper $(PKG_CONFIG) --cflags dbus-1` $(RPM_OPT_FLAGS) -Wall -W -c $<
dnsmasq : $(OBJS)
$(CC) -o $@ $(OBJS) `../bld/pkg-wrapper $(PKG_CONFIG) --libs dbus-1` $(LIBS)
$(CC) -o $@ $(OBJS) `echo $(COPTS) | ../bld/pkg-wrapper $(PKG_CONFIG) --libs dbus-1` $(LIBS)
dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h
xgettext -d dnsmasq --foreign-user --keyword=_ -o dnsmasq.pot -i $(OBJS:.o=.c)

View File

@@ -1,6 +1,6 @@
#!/bin/sh
if grep -q "^\#.*define.*HAVE_DBUS" config.h ; then
if grep -q "^\#.*define.*HAVE_DBUS" config.h || grep -q HAVE_DBUS ; then
exec $*
fi

16
dbus/dnsmasq.conf Normal file
View File

@@ -0,0 +1,16 @@
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="uk.org.thekelleys.dnsmasq"/>
<allow send_destination="uk.org.thekelleys.dnsmasq"/>
<allow send_interface="uk.org.thekelleys.dnsmasq"/>
</policy>
<policy context="default">
<deny own="uk.org.thekelleys.dnsmasq"/>
<deny send_destination="uk.org.thekelleys.dnsmasq"/>
<deny send_interface="uk.org.thekelleys.dnsmasq"/>
</policy>
</busconfig>

View File

@@ -1,133 +0,0 @@
###############################################################################
#
# General mumbojumbo
#
###############################################################################
Name: dnsmasq
Version: 2.30
Release: 1
License: GPL
Group: System Environment/Daemons
Vendor: Simon Kelley
Packager: Simon Kelley
Distribution: Red Hat Linux
URL: http://www.thekelleys.org.uk/dnsmasq
Source0: %{name}-%{version}.tar.gz
Requires: chkconfig
BuildRoot: /var/tmp/%{name}-%{version}
Summary: A lightweight caching nameserver
%description
Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. It
is designed to provide DNS and, optionally, DHCP, to a small network. It can
serve the names of local machines which are not in the global DNS. The DHCP
server integrates with the DNS server and allows machines with DHCP-allocated
addresses to appear in the DNS with names configured either in each host or
in a central configuration file. Dnsmasq supports static and dynamic DHCP
leases and BOOTP for network booting of diskless machines.
###############################################################################
#
# Build
#
###############################################################################
%prep
%setup -q
%build
make all-i18n PREFIX=/usr
###############################################################################
#
# Install
#
###############################################################################
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/sbin
mkdir -p -m 755 $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p -m 755 $RPM_BUILD_ROOT/usr/share/man/man8
cp rpm/dnsmasq.rh $RPM_BUILD_ROOT/etc/rc.d/init.d/dnsmasq
make install-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr
strip $RPM_BUILD_ROOT/usr/sbin/dnsmasq
cp src/dnsmasq $RPM_BUILD_ROOT/usr/sbin
cp dnsmasq.conf.example $RPM_BUILD_ROOT/etc/dnsmasq.conf
###############################################################################
#
# Clean up
#
###############################################################################
%clean
rm -rf $RPM_BUILD_ROOT
###############################################################################
#
# Post-install scriptlet
#
###############################################################################
%post
/sbin/chkconfig --add dnsmasq
###############################################################################
#
# Pre-uninstall scriptlet
#
# If there's a time when your package needs to have one last look around before
# the user erases it, the place to do it is in the %preun script. Anything that
# a package needs to do immediately prior to RPM taking any action to erase the
# package, can be done here.
#
###############################################################################
%preun
if [ $1 = 0 ]; then # execute this only if we are NOT doing an upgrade
service dnsmasq stop >/dev/null 2>&1
/sbin/chkconfig --del dnsmasq
fi
###############################################################################
#
# Post-uninstall scriptlet
#
# The %postun script executes after the package has been removed. It is the
# last chance for a package to clean up after itself.
#
###############################################################################
%postun
if [ "$1" -ge "1" ]; then
service dnsmasq restart >/dev/null 2>&1
fi
###############################################################################
#
# File list
#
###############################################################################
%files
%defattr(-,root,root)
%doc CHANGELOG COPYING FAQ doc.html setup.html UPGRADING_to_2.0
%config /etc/rc.d/init.d/dnsmasq
%config /etc/dnsmasq.conf
%attr(0755,root,root) /etc/rc.d/init.d/dnsmasq
%attr(0664,root,root) /etc/dnsmasq.conf
%attr(0755,root,root) /usr/sbin/dnsmasq
#%attr(0644,root,root) /usr/share/man/*/man8/dnsmasq*
%attr(0644,root,root) /usr/share/man/man8/dnsmasq*
%attr(0644,root,root) /usr/share/locale/*/LC_MESSAGES/*

View File

@@ -5,7 +5,7 @@
###############################################################################
Name: dnsmasq
Version: 2.30
Version: 2.31
Release: 1
Copyright: GPL
Group: Productivity/Networking/DNS/Servers

View File

@@ -285,6 +285,12 @@ bogus-priv
# http://www.isc.org/index.pl?/sw/dhcp/authoritative.php
#dhcp-authoritative
# Run an executable when a DHCP lease is created or destroyed.
# The arguments sent to the script are "add" or "del",
# then the MAC address, the IP address and finally the hostname
# if there is one.
#dhcp-script=/bin/echo
# Set the cachesize here.
#cache-size=150

View File

@@ -22,7 +22,8 @@ Supported platforms include Linux (with glibc and uclibc), *BSD and
Mac OS X.
Dnsmasq is included in at least the following Linux distributions:
Gentoo, Debian, Slackware, Suse,
Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, fli4l, CoyoteLinux and
Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, fli4l,
CoyoteLinux, Endian Firewall and
Clarkconnect. It is also available as a FreeBSD port and is used in
Linksys wireless routers and the m0n0wall project.
<P>

View File

@@ -533,7 +533,34 @@ is given but no dhcp-range option is given then dnsmasq version 1
behaviour is activated. The file given is assumed to be an ISC dhcpd
lease file and parsed for leases which are then added to the DNS
system if they have a hostname. This functionality may have been
excluded from dnsmasq at compile time, in which case an error will occur.
excluded from dnsmasq at compile time, in which case an error will
occur. In any case note that ISC leasefile integration is a deprecated
feature. It should not be used in new installations, and will be
removed in a future release.
.TP
.B \-6 --dhcp-script=<path>
Whenever a new DHCP lease is created, or an old one destroyed, the
binary specified by this option is run. The arguments to the binary
are "add", "old" or "del", the MAC
address of the host (or "<null>"), the IP address, and the hostname,
if known. "add" means a lease has been created, "del" means it has
been destroyed, "old" is a notification of an existing lease when
dnsmasq starts or a change to MAC address or hostname of an existing lease.
The process is run as any unprivileged user which dnsmasq
runs as, so it may be necessary to inhibit dropping of the root user,
using the
.B -u
directive, if the script needs root privs.
The environment is inherited from the invoker of dnsmasq,
and all file decriptors are
closed except stdin, stdout and stderr which are open to /dev/null
(except in debug mode).
The script is not invoked concurrently: if subsequent lease
changes occur, the script is not invoked again until any existing
invokation exits. At dnsmasq startup, the script will be invoked for
all existing leases as they are read from the lease file. Expired
leases will be called with "del" and others with "old". <path>
must be an absolute pathname, no PATH search occurs.
.TP
.B \-s, --domain=<domain>
Specifies the domain for the DHCP server. This has two effects;

375
po/de.po

File diff suppressed because it is too large Load Diff

367
po/es.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2005-10-07 11:04+0100\n"
"Last-Translator: Christopher Chatham <chrislinux@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr "no se pudo cargar nombres desde %s: %m"
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, fuzzy, c-format
msgid "bad address at %s line %d"
msgstr "nombre err<72>neo en %s l<>nea %d"
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr "nombre err<72>neo en %s l<>nea %d"
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr "direcci<63>nes %s - %d le<6C>das"
@@ -57,7 +57,7 @@ msgstr ""
"tama<6D>o de cach<63> %d, %d/%d inserci<63>nes de cach<63> reutilizaron entradas no "
"vencidas."
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr "no se pudo conseguir memoria"
@@ -75,277 +75,281 @@ msgstr "el intento de inicio ha FALLADO"
msgid "infinite"
msgstr "infinito"
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr "Especificar direcci<63>n(es) locales d<>nde escuchar."
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr ""
"Retornar ipaddr (direcci<63>n IP) para todos los hosts en los dominios "
"especificados."
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr ""
"Falsificar b<>squedas reversas para rangos de direcci<63>n privados RFC1918."
#: option.c:128
#: option.c:129
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr "Tratar ipaddr (direcci<63>n IP) como NXDOMAIN (derrota comod<6F>n Verisign)."
#: option.c:129
#: option.c:130
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr ""
"Especificar tama<6D>o de cach<63> en cuanto a entradas (%s por predeterminado)."
#: option.c:130
#: option.c:131
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr "Especificar archivo de configuraci<63>n (%s por predeterminado)."
#: option.c:131
#: option.c:132
msgid "Do NOT fork into the background: run in debug mode."
msgstr "NO hacer un fork hacia el fondo: correr en modo debug."
#: option.c:132
#: option.c:133
msgid "Do NOT forward queries with no domain part."
msgstr "NO reenviar b<>squedas sin parte de dominio."
#: option.c:133
#: option.c:134
msgid "Return self-pointing MX records for local hosts."
msgstr "Retornar records MX auto-se<73>aladores para hosts locales."
#: option.c:134
#: option.c:135
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr ""
"Expandir nombres simples en /etc/hosts con domain-suffix (sufijo de dominio)."
#: option.c:135
#: option.c:136
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr "No reenviar pedidos DNS falsos desde m<>quinas Windows."
#: option.c:136
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr "Habilitar DHCP dentro del rango brindado con duraci<63>n del arriendo."
#: option.c:137
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr "Cambiar a este grupo despu<70>s del inicio (%s por predeterminado)."
#: option.c:138
#: option.c:139
msgid "Set address or hostname for a specified machine."
msgstr "Fijar direcci<63>n o nombre de host para una m<>quina espec<65>fica."
#: option.c:139
#: option.c:140
#, c-format
msgid "Do NOT load %s file."
msgstr "NO cargar archivo %s."
#: option.c:140
#: option.c:141
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr "Especificar un archivo de hosts para leer adicionalmente a %s."
#: option.c:141
#: option.c:142
msgid "Specify interface(s) to listen on."
msgstr "Especificar interface(s) donde escuchar."
#: option.c:142
#: option.c:143
msgid "Specify interface(s) NOT to listen on."
msgstr "Especificar interface(s) donde NO escuchar."
#: option.c:143
#: option.c:144
msgid "Map DHCP user class to option set."
msgstr "Trazar clase de usuario DHCP a la opci<63>n fijada."
#: option.c:144
#: option.c:145
msgid "Don't do DHCP for hosts in option set."
msgstr "No hacer DHCP para hosts en la opci<63>n fijada."
#: option.c:145
#: option.c:146
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr "NO hacer un fork hacia el fondo, NO correr en modo debug."
#: option.c:146
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr "Asumir que somos el <20>nico servidor DHCP en la red local."
#: option.c:147
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr "Especificar donde guardar arriendos DHCP (%s por predeterminado)."
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr "Retornar r<>cords MX para hosts locales."
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr "Especificar un r<>cord MX."
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr "Especificar opci<63>nes BOOTP a servidor DHCP."
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr "NO revisar archivo %s periodicamente, recargar solo con SIGHUP."
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr "NO cachear resultados de b<>squedas fallidas."
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr "Usar servidores DNS estrictamente en el <20>rden dado en %s."
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr "Fijar opciones extra para ser enviadas a clientes DHCP."
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr ""
"Especificar puerto donde escuchar por b<>squedas DNS (53 por predeterminado)."
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr ""
"M<>ximo tama<6D>o soportado de paquetes UDP para EDNS.0 (%s por predeterminado)."
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr "Bitacorear b<>squedas."
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr "Enforzar el puerto original para b<>squedas upstream."
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr "NO leer resolv.conf."
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr "Especificar el destino hacia resolv.conf (%s por predeterminado)."
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr ""
"Especificar direcci<63>n(es) de servidor upstream con dominios opcionales."
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr "Nunca reenviar b<>squedas a dominios especificados."
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr "Especificar dominio para asignar en arriendos DHCP."
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr "Especificar destino predeterminado en un r<>cord MX."
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr ""
"Especificar tiempo de vida en segundos para respuestas desde /etc/hosts."
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr "Cambiar a este usuario despues de iniciar (%s por predeterminado)."
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr "Trazar clase de vendedor DHCP a opci<63>n fijada."
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr "Mostrar informaci<63>n sobre la versi<73>n y copyright de dnsmasq."
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr "Traducir direcciones IPv4 desde servidores upstream."
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr "Especificar un r<>cord SRV."
#: option.c:171
#: option.c:172
msgid "Display this message."
msgstr "Mostrar este mensaje."
#: option.c:172
#: option.c:173
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgstr "Especificar path de archivo PID (%s por predeterminado)."
#: option.c:173
#: option.c:174
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr "Especificar n<>mero m<>ximo de arriendos DHCP (%s por predeterminado)."
#: option.c:174
#: option.c:175
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr ""
"Responder a b<>squedas DNS en base a la interface donde fueron enviadas."
#: option.c:175
#: option.c:176
msgid "Specify TXT DNS record."
msgstr "Especificar r<>cord DNS TXT."
#: option.c:176
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr "Acoplar solo a interfaces en uso."
#: option.c:177
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr "Leer informaci<63>n sobre hosts DHCP est<73>ticos desde %s."
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr "Habilitar la interface DBus para fijar servidores upstream, etc."
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr "No proveer DHCP en esta interface, solo proveer DNS."
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr "Habilitar alocaci<63>n din<69>mica de direcci<63>nes para BOOTP."
#: option.c:181
#: option.c:182
#, fuzzy
msgid "Map MAC address (with wildcards) to option set."
msgstr "Trazar clase de vendedor DHCP a opci<63>n fijada."
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr "falta \""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr "opci<63>n err<72>nea"
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr "no se puede leer %s: %s"
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -354,22 +358,22 @@ msgstr ""
"Modo de uso: dnsmasq [opciones]\n"
"\n"
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Usar opciones cortas solo en la l<>nea de comandos.\n"
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr "Opciones v<>lidas son :\n"
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versi<73>n %s %s\n"
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
@@ -378,141 +382,145 @@ msgstr ""
"Opciones de compilaci<63>n %s\n"
"\n"
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Este software viene SIN NINGUNA GARANTIA.\n"
#: option.c:480
#: option.c:482
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq es software libre, y usted est<73> bienvenido a redistribuirlo\n"
#: option.c:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr "bajo los t<>rminos de la GNU General Public License, versi<73>n 2.\n"
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr "par<61>metro extra<72>o"
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr "par<61>metro ausente"
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr "inclusiones jerarquizadas no permitidas"
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr "preferencia MX err<72>nea"
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr "nombre MX err<72>neo"
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr "destino MX err<72>neo"
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr "puerto err<72>neo"
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr "dhcp-range (rango DHCP) err<72>neo"
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr "rango DHCP inconsistente"
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr "dhcp-host err<72>neo"
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr "dhcp-option err<72>neo"
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr "dominio err<72>neo en dhcp-option"
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr "opci<63>n dhcp-option demasiado larga"
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr "r<>cord TXT err<72>neo"
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr "r<>cord TXT demasiado largo"
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr "r<>cord SRV err<72>neo"
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr "destino SRV err<72>neo"
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr "n<>mero de puerto inv<6E>lido"
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr "prioridad inv<6E>lida"
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr "peso inv<6E>lido"
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr "error"
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr "opciones de l<>nea de comandos err<72>neas: %s."
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr "no se puede obtener host-name (nombre de host): %s"
#: option.c:1874
#: option.c:1885
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "solo un archivo resolv.conf permitido en modo no-poll."
#: option.c:1881
#: option.c:1892
msgid "must have exactly one resolv.conf to read domain from."
msgstr "debe haber exactamente un resolv.conf desde donde leer dominio."
#: option.c:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr "no se pudo leer %s: %m"
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr "ninguna directiva de b<>squeda encontrada en %s"
@@ -527,7 +535,7 @@ msgid "forwarding table overflow: check for server loops."
msgstr ""
"desbordamiento en la tabla de reenvio: revisar si hay loops de servidor."
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr "no se pudo accesar %s: %m"
@@ -537,7 +545,7 @@ msgstr "no se pudo accesar %s: %m"
msgid "failed to load %s: %m"
msgstr "no se pudo cargar %s: %m"
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr "leyendo %s"
@@ -553,59 +561,59 @@ msgid "Ignoring DHCP lease for %s because it has an illegal domain part"
msgstr ""
"Ignorando arriendo DHCP para %s porque tiene una parte ilegal de dominio"
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr "no se pudo crear un socket escuchador: %s"
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "no se pudo fijar opciones IPv6 sobre el socket escuchador: %s"
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "no se pudo acoplar socket escuchador para %s: %s"
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr "no se pudo escuchar en el socket: %s"
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorando servidor DNS %s - interface local"
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr "ignorando servidor DNS %s - no se pudo crear/acoplar socket: %m"
#: network.c:434
#: network.c:438
msgid "domain"
msgstr "dominio"
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr "no calificado"
#: network.c:436
#: network.c:440
msgid "domains"
msgstr "dominios"
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr "usando direcciones locales solo para %s %s"
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "usando servidor DNS %s#%d para %s %s"
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr "usando servidor DNS %s#%d"
@@ -635,7 +643,7 @@ msgstr "ninguna interface con direcci
msgid "must set exactly one interface on broken systems without IP_RECVIF"
msgstr "debe fijarse exactamente una interface en sistemas rotos sin IP_RECVIF"
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr "error DBus: %s"
@@ -644,68 +652,68 @@ msgstr "error DBus: %s"
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h"
#: dnsmasq.c:196
#: dnsmasq.c:192
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "no se puede leer %s: %s"
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr "versi<73>n %s iniciada, tama<6D>o de cach<63> %d"
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr "versi<73>n %s iniciada, cach<63> deshabilitado"
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr "opciones de compilaci<63>n: %s"
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr "soporte DBus habilitado: conectado a bus de sistema"
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr "soporte DBus habilitado: conecci<63>n a bus pendiente"
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
"fijando opci<63>n --bind-interfaces debido a limitaciones de sistema operativo"
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advertencia: interface %s no existe actualmente"
#: dnsmasq.c:365
#: dnsmasq.c:370
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, arriendos est<73>ticos solo en %.0s%s, tiempo de arriendo %s"
#: dnsmasq.c:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, rango de IP %s -- %s, tiempo de arriendo %s"
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr "corriendo como root"
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr "haciendo exit al haber recibido SIGTERM"
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr "conectado a DBus de sistema"
@@ -714,170 +722,179 @@ msgstr "conectado a DBus de sistema"
msgid "cannot create DHCP socket : %s"
msgstr "no se puede crear socket DHCP: %s"
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr "no se pudo fijar opciones en socket DHCP: %s"
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr "no se pudo fijar SO_REUSEADDR en socket DHCP: %s"
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr "no se pudo acoplar socket de servidor DHCP: %s"
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "no se puede crear socket crudo ICMP: %s."
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "direcci<63>n IP duplicada en directiva dhcp-config."
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "rango DHCP %s -- %s no coincide con m<>scara de red %s"
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr "no se pudo leer %s:%m"
#: dhcp.c:642
#: dhcp.c:651
#, fuzzy, c-format
msgid "bad line at %s line %d"
msgstr "nombre err<72>neo en %s l<>nea %d"
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "direcci<63>n IP %s (%s) duplicada en directiva dhcp-config"
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr ""
"Ignorando nombre de host DHCP %s porque contiene una parte ilegal de dominio."
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr "no se puede abrir o crear archivo de arriendos: %s"
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr "demasiados arriendos almacenados"
#: lease.c:118
#: lease.c:175
#, fuzzy, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr "no se pudo leer %s: %m"
#: rfc2131.c:247
#: lease.c:436
#, fuzzy, c-format
msgid "failed to execute %s: %m"
msgstr "no se pudo accesar %s: %m"
#: rfc2131.c:246
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "ning<6E>n rango de direcci<63>nes disponible para pedido DHCP %s %s"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr "con selector de subred"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr "v<>a"
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr "deshabilitado"
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr "direcci<63>n en uso"
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr "ninguna direcci<63>n configurada"
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr "ninguna direcci<63>n disponible"
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr "no queda ning<6E>n arriendo"
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr "red equivocada"
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr "deshabilitando direcci<63>n DHCP est<73>tica %s"
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr "arriendo desconocido"
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr "ignorado"
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr "direcci<63>n equivocada"
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr "arriendo no encontrado"
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr "direcci<63>n no disponible"
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr "arriendo est<73>tico disponible"
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr "direcci<63>n reservada"
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr "no se puede enviar opci<63>n DHCP %d: no queda espacio en el paquete"
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr "M<>s de una clase de vendedor coincide, usando %s"
#: netlink.c:51
#, fuzzy, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr "no se puede acoplar socket netlink: %s"
#: netlink.c:218
#, c-format
msgid "RTnetlink returns error: %s"
msgstr ""
#: netlink.c:224
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "error DBus: %s"
#: dbus.c:112
msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
@@ -892,12 +909,12 @@ msgstr "fijando servidores upstream desde DBus"
msgid "could not register a DBus message handler"
msgstr "no se pudo registrar un manejador de mensajes DBus"
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr "no se puede crear socket BPF DHCP: %s"
#: bpf.c:74
#: bpf.c:79
#, fuzzy, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr "pedido DHCP por hardware no soportado tipo (%d) recibido en %s"

381
po/fi.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2005-11-28 22:05+0000\n"
"Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n"
"Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr ""
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, c-format
msgid "bad address at %s line %d"
msgstr ""
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr ""
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr ""
@@ -53,7 +53,7 @@ msgid ""
"entries."
msgstr ""
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr ""
@@ -71,429 +71,437 @@ msgstr ""
msgid "infinite"
msgstr ""
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr ""
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr ""
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr ""
#: option.c:128
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr ""
#: option.c:129
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr ""
#: option.c:130
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr ""
#: option.c:131
msgid "Do NOT fork into the background: run in debug mode."
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr ""
#: option.c:132
msgid "Do NOT forward queries with no domain part."
msgid "Do NOT fork into the background: run in debug mode."
msgstr ""
#: option.c:133
msgid "Return self-pointing MX records for local hosts."
msgid "Do NOT forward queries with no domain part."
msgstr ""
#: option.c:134
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgid "Return self-pointing MX records for local hosts."
msgstr ""
#: option.c:135
msgid "Don't forward spurious DNS requests from Windows hosts."
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr ""
#: option.c:136
msgid "Enable DHCP in the range given with lease duration."
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr ""
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr ""
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr ""
#: option.c:138
msgid "Set address or hostname for a specified machine."
msgstr ""
#: option.c:139
#, c-format
msgid "Do NOT load %s file."
msgid "Set address or hostname for a specified machine."
msgstr ""
#: option.c:140
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgid "Do NOT load %s file."
msgstr ""
#: option.c:141
msgid "Specify interface(s) to listen on."
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr ""
#: option.c:142
msgid "Specify interface(s) NOT to listen on."
msgid "Specify interface(s) to listen on."
msgstr ""
#: option.c:143
msgid "Map DHCP user class to option set."
msgid "Specify interface(s) NOT to listen on."
msgstr ""
#: option.c:144
msgid "Don't do DHCP for hosts in option set."
msgid "Map DHCP user class to option set."
msgstr ""
#: option.c:145
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgid "Don't do DHCP for hosts in option set."
msgstr ""
#: option.c:146
msgid "Assume we are the only DHCP server on the local network."
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr ""
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr ""
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr ""
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr ""
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr ""
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr ""
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr ""
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr ""
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr ""
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr ""
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr ""
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr ""
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr ""
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr ""
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr ""
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr ""
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr ""
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr ""
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr ""
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr ""
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr ""
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr ""
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr ""
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr ""
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr ""
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr ""
#: option.c:171
msgid "Display this message."
msgstr ""
#: option.c:172
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgid "Display this message."
msgstr ""
#: option.c:173
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgid "Specify path of PID file. (defaults to %s)."
msgstr ""
#: option.c:174
msgid "Answer DNS queries based on the interface a query was sent to."
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr ""
#: option.c:175
msgid "Specify TXT DNS record."
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr ""
#: option.c:176
msgid "Bind only to interfaces in use."
msgid "Specify TXT DNS record."
msgstr ""
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr ""
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr ""
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr ""
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr ""
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr ""
#: option.c:181
#: option.c:182
msgid "Map MAC address (with wildcards) to option set."
msgstr ""
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr ""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr ""
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr ""
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:480
#: option.c:482
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr ""
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr ""
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr ""
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr ""
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr ""
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr ""
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr ""
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr ""
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr ""
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr ""
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr ""
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr ""
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr ""
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr ""
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr ""
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr ""
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr ""
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr ""
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr ""
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr ""
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr ""
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:1874
#: option.c:1885
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:1881
#: option.c:1892
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr ""
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr ""
@@ -507,7 +515,7 @@ msgstr ""
msgid "forwarding table overflow: check for server loops."
msgstr ""
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr ""
@@ -517,7 +525,7 @@ msgstr ""
msgid "failed to load %s: %m"
msgstr ""
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr ""
@@ -532,59 +540,59 @@ msgstr ""
msgid "Ignoring DHCP lease for %s because it has an illegal domain part"
msgstr ""
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr ""
#: network.c:434
#: network.c:438
msgid "domain"
msgstr ""
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr ""
#: network.c:436
#: network.c:440
msgid "domains"
msgstr ""
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -613,7 +621,7 @@ msgstr ""
msgid "must set exactly one interface on broken systems without IP_RECVIF"
msgstr ""
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -622,67 +630,67 @@ msgstr ""
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr ""
#: dnsmasq.c:196
#: dnsmasq.c:192
#, c-format
msgid "cannot create pipe: %s"
msgstr ""
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr ""
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr ""
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr ""
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
#: dnsmasq.c:365
#: dnsmasq.c:370
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
#: dnsmasq.c:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr ""
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr ""
@@ -691,168 +699,177 @@ msgstr ""
msgid "cannot create DHCP socket : %s"
msgstr ""
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr ""
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr ""
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr ""
#: dhcp.c:642
#: dhcp.c:651
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr ""
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr ""
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr ""
#: lease.c:118
#: lease.c:175
#, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:247
#: lease.c:436
#, c-format
msgid "failed to execute %s: %m"
msgstr ""
#: rfc2131.c:246
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr ""
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr ""
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr ""
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr ""
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr ""
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr ""
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr ""
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr ""
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr ""
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr ""
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr ""
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr ""
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr ""
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr ""
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr ""
#: netlink.c:51
#, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr ""
#: netlink.c:218
#: netlink.c:224
#, c-format
msgid "RTnetlink returns error: %s"
msgid "netlink returns error: %s"
msgstr ""
#: dbus.c:112
@@ -867,12 +884,12 @@ msgstr ""
msgid "could not register a DBus message handler"
msgstr ""
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr ""
#: bpf.c:74
#: bpf.c:79
#, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr ""

367
po/fr.po

File diff suppressed because it is too large Load Diff

369
po/id.po

File diff suppressed because it is too large Load Diff

367
po/no.po
View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.25\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2006-01-11 17:39+0000\n"
"Last-Translator: Jan Erik Askildt <jeaskildt@gmail.com>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
@@ -22,17 +22,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr "feilet <20> laste navn fra %s: %m"
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, c-format
msgid "bad address at %s line %d"
msgstr "d<>rlig adresse ved %s linje %d"
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr "d<>rlig navn ved %s linje %d"
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr "les %s - %d adresser"
@@ -59,7 +59,7 @@ msgstr ""
"mellomlager st<73>rrelse %d, %d/%d mellomlager innsettinger re-bruker "
"mellomlager plasser som ikke er utl<74>pt"
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr "kunne ikke f<> minne"
@@ -77,267 +77,271 @@ msgstr "FEILET
msgid "infinite"
msgstr "uendelig"
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr "Spesifiser lokal(e) adresse(r) <20> lytte p<>."
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr "Returner ipaddr for alle verter i det spesifiserte domenet."
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr "Forfalsk revers oppslag for RFC1918 private adresse omr<6D>der."
#: option.c:128
#: option.c:129
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr "Behandle ipaddr som NXDOMAIN (omg<6D>r Verisign wildcard)."
#: option.c:129
#: option.c:130
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr "Spesifiser st<73>rrelsen p<> mellomlager plassene (standard er %s)."
#: option.c:130
#: option.c:131
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr "Spesifiser konfigurasjonsfil (standard er %s)."
#: option.c:131
#: option.c:132
msgid "Do NOT fork into the background: run in debug mode."
msgstr "IKKE legg (fork) som bakgrunnsprosess: kj<6B>r i debug modus."
#: option.c:132
#: option.c:133
msgid "Do NOT forward queries with no domain part."
msgstr "IKKE videresend oppslag som mangler domene del."
#: option.c:133
#: option.c:134
msgid "Return self-pointing MX records for local hosts."
msgstr "Returner selv-pekende MX post for lokale verter."
#: option.c:134
#: option.c:135
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr "Utvid enkle navn i /etc/hosts med domene-suffiks."
#: option.c:135
#: option.c:136
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr "Ikke videresend falske/uekte DNS foresp<73>rsler fra Windows verter."
#: option.c:136
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr "Aktiver DHCP i det gitte omr<6D>det med leie varighet"
#: option.c:137
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr "Skift til denne gruppen etter oppstart (standard er %s)."
#: option.c:138
#: option.c:139
msgid "Set address or hostname for a specified machine."
msgstr "Sett adresse eller vertsnavn for en spesifikk maskin."
#: option.c:139
#: option.c:140
#, c-format
msgid "Do NOT load %s file."
msgstr "IKKE last %s filen."
#: option.c:140
#: option.c:141
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr "Spesifiser en verts (hosts) fil som skal leses i tilleg til %s."
#: option.c:141
#: option.c:142
msgid "Specify interface(s) to listen on."
msgstr "Spesifiser nettverkskort det skal lyttes p<>."
#: option.c:142
#: option.c:143
msgid "Specify interface(s) NOT to listen on."
msgstr "Spesifiser nettverkskort det IKKE skal lyttes p<>."
#: option.c:143
#: option.c:144
msgid "Map DHCP user class to option set."
msgstr "Map DHCP bruker klasse til opsjon sett."
#: option.c:144
#: option.c:145
msgid "Don't do DHCP for hosts in option set."
msgstr "Ikke utf<74>r DHCP for klienter i opsjon sett."
#: option.c:145
#: option.c:146
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr "IKKE last (fork) som bakgrunnsprosess, IKKE kj<6B>r i debug modus."
#: option.c:146
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr "Anta at vi er den eneste DHCP tjeneren p<> det lokale nettverket."
#: option.c:147
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr "Spesifiser hvor DHCP leiene skal lagres (standard er %s)."
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr "Returner MX records for lokale verter."
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr "Spesifiser en MX post."
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr "Spesifiser BOOTP opsjoner til DHCP tjener."
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr "IKKE sp<73>r (poll) %s fil, les p<> nytt kun ved SIGHUP"
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr "IKKE mellomlagre s<>keresultater som feiler."
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr "Bruk navnetjenere kun som bestemt i rekkef<65>lgen gitt i %s."
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene."
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr "Spesifiser lytteport for DNS oppslag (standard er 53)."
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr "Maksimal st<73>ttet UDP pakkest<73>rrelse for EDNS.0 (standard er %s)."
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr "Logg oppslag."
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr "Tving bruk av opprinnelig port for oppstr<74>ms oppslag."
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr "IKKE les resolv.conf."
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr "Spesifiser stien til resolv.conf (standard er %s)."
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr "Spesifiser adressen(e) til oppstr<74>ms tjenere med valgfrie domener."
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr "Aldri videresend oppslag til spesifiserte domener."
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr "Spesifiser domenet som skal tildeles i DHCP leien."
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr "Spesifiser default m<>l i en MX post."
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts."
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr "Skift til denne bruker etter oppstart (standard er %s)."
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr "Map DHCP produsent klasse til opsjon sett."
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr "Vis dnsmasq versjon og copyright informasjon."
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr "Oversett IPv4 adresser fra oppstr<74>ms tjenere."
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr "Spesifiser en SRV post."
#: option.c:171
#: option.c:172
msgid "Display this message."
msgstr "Vis denne meldingen."
#: option.c:172
#: option.c:173
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgstr "Spesifiser stien til PID fil. (standard er %s)."
#: option.c:173
#: option.c:174
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)"
#: option.c:174
#: option.c:175
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr "Svar DNS oppslag basert p<> nettverkskortet oppslaget ble sendt til."
#: option.c:175
#: option.c:176
msgid "Specify TXT DNS record."
msgstr "Spesifiser TXT DNS post."
#: option.c:176
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr "Bind kun til nettverkskort som er i bruk."
#: option.c:177
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr "Les DHCP statisk vert informasjon fra %s."
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr "Aktiver DBus interface for <20> sette oppstr<74>ms tjenere, osv."
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr "Ikke lever DHCP p<> dette nettverkskortet, kun lever DNS."
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr "Aktiver dynamisk adresse allokering for bootp."
#: option.c:181
#: option.c:182
#, fuzzy
msgid "Map MAC address (with wildcards) to option set."
msgstr "Map DHCP produsent klasse til opsjon sett."
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr "mangler \""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr "d<>rlig opsjon"
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr "kan ikke lese %s: %s"
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -346,22 +350,22 @@ msgstr ""
"Bruk: dnsmasq [opsjoner]\n"
"\n"
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Bruk korte opsjoner kun p<> kommandolinjen.\n"
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr "Gyldige opsjoner er :\n"
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versjon %s %s\n"
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
@@ -370,141 +374,145 @@ msgstr ""
"Kompileringsopsjoner %s\n"
"\n"
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n"
#: option.c:480
#: option.c:482
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "DNsmasq er fri programvare, du er velkommen til <20> redistribuere den\n"
#: option.c:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr "under vilk<6C>rene gitt i GNU General Public License, versjon 2.\n"
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr "overfl<66>dig parameter"
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr "mangler parameter"
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr "n<>stede inkluderinger er ikke tillatt"
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr "d<>rlig MX preferanse"
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr "d<>rlig MX navn"
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr "d<>rlig MX m<>l"
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr "d<>rlig port"
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr "d<>rlig dhcp-omr<6D>de"
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr "ikke konsistent DHCP omr<6D>de"
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr "d<>rlig dhcp-vert"
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr "d<>rlig dhcp-opsjon"
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr "d<>rlig domene i dhcp-opsjon"
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr "dhcp-opsjon for lang"
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr "d<>rlig TXT post"
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr "TXT post streng for lang"
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr "d<>rlig SRV post"
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr "d<>rlig SRV m<>l"
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr "ugyldig portnummer"
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr "ugyldig prioritet"
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr "ugyldig vekt"
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr "feil"
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr "d<>rlige kommandlinje opsjoner: %s."
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr "klarer ikke <20> f<> vertsnavn: %s"
#: option.c:1874
#: option.c:1885
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "kun en resolv.conf fil tillat i no-poll modus."
#: option.c:1881
#: option.c:1892
msgid "must have exactly one resolv.conf to read domain from."
msgstr "m<> ha n<>yaktig en resolv.conf <20> lese domene fra."
#: option.c:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr "feilet <20> lese %s: %m"
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr "intet s<>ke direktiv funnet i %s"
@@ -518,7 +526,7 @@ msgstr "navnetjener %s nektet
msgid "forwarding table overflow: check for server loops."
msgstr "fremsendelse (forwarding) tabell overflyt: sjekk etter tjener l<>kker."
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr "feilet <20> f<> tilgang til %s: %m"
@@ -528,7 +536,7 @@ msgstr "feilet
msgid "failed to load %s: %m"
msgstr "feilet <20> laste %s: %m"
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr "leser %s"
@@ -543,59 +551,59 @@ msgstr "d
msgid "Ignoring DHCP lease for %s because it has an illegal domain part"
msgstr "Ignorerer DHCP leie for %s siden den har en ulovlig domene del"
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr "feilet <20> lage lytte socket: %s"
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "feilet <20> sette IPv6 opsjoner p<> lytte socket: %s"
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "feilet <20> binde lytte socket for %s: %s"
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr "feilet <20> lytte p<> socket: %s"
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorerer navnetjener %s - lokal tilknytning"
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr "ignorerer navnetjener %s - kan ikke lage/dinde socket: %m"
#: network.c:434
#: network.c:438
msgid "domain"
msgstr "domene"
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr "ikke kvalifisert"
#: network.c:436
#: network.c:440
msgid "domains"
msgstr "domener"
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr "benytter lokale adresser kun for %s %s"
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "benytter navnetjener %s#%d for %s %s"
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr "benytter navnetjener %s#%d"
@@ -625,7 +633,7 @@ msgstr "ingen tilknytning (interface) med adresse %s"
msgid "must set exactly one interface on broken systems without IP_RECVIF"
msgstr "m<> sette n<>yaktig et interface p<> <20>delagte systemer uten IP_RECVIF"
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr "DBus feil: %s"
@@ -634,67 +642,67 @@ msgstr "DBus feil: %s"
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h"
#: dnsmasq.c:196
#: dnsmasq.c:192
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "kan ikke lese %s: %s"
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr "startet, versjon %s mellomlager st<73>rrelse %d"
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr "startet, versjon %s mellomlager deaktivert"
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr "kompilerings opsjoner: %s"
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr "DBus st<73>tte aktivert: koblet til system buss"
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr "DBus st<73>tte aktivert: avventer buss tilkobling"
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "setter --bind-interfaces opsjon p<> grunn av OS begrensninger"
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden"
#: dnsmasq.c:365
#: dnsmasq.c:370
#, 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:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, IP omr<6D>de %s -- %s, leie tid %s"
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr "kj<6B>rer som rot (root)"
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr "avslutter etter mottak av SIGTERM"
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr "tilkoblet til system DBus"
@@ -703,169 +711,178 @@ msgstr "tilkoblet til system DBus"
msgid "cannot create DHCP socket : %s"
msgstr "kan ikke lage DHCP socket : %s"
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr "feilet <20> sette opsjoner p<> DHCP socket: %s"
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr "feilet <20> sette SO_REUSEADDR p<> DHCP socket: %s"
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr "feilet <20> binde DHCP tjener socket: %s"
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "kan ikke lage ICMP raw socket: %s"
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "DHCP omr<6D>de %s -- %s er ikke konsistent med nettmaske %s"
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr "feilet <20> lese %s:%m"
#: dhcp.c:642
#: dhcp.c:651
#, c-format
msgid "bad line at %s line %d"
msgstr "d<>rlig linje ved %s linje %d"
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "dubliserte IP adresser i %s (%s) i dhcp-config direktiv"
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr "Ignorerer DHCP verts navn %s p<> grunn av ulovlig domene del"
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr "kan ikke <20>pne eller lage leie fil: %s"
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr "for mange lagrede leier"
#: lease.c:118
#: lease.c:175
#, fuzzy, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr "feilet <20> lese %s: %m"
#: rfc2131.c:247
#: lease.c:436
#, fuzzy, c-format
msgid "failed to execute %s: %m"
msgstr "feilet <20> f<> tilgang til %s: %m"
#: rfc2131.c:246
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "ingen adresse omr<6D>de tilgjengelig for DHCP krav %s %s"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr "med subnet velger"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr "via"
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr "deaktivert"
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr "adresse i bruk"
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr "ingen adresse konfigurert"
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr "ingen adresse tilgjengelig"
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr "ingen leier igjen"
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr "galt nettverk"
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr "deaktiverer DHCP statisk adresse %s"
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr "ukjent leie"
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr "oversett"
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr "gal adresse"
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr "leie ikke funnet"
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr "adresse ikke tilgjengelig"
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr "statisk leie tilgjengelig"
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr "adresse reservert"
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken"
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr "Mer enn en produsent klasse som passer, bruker %s"
#: netlink.c:51
#, fuzzy, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr "kan ikke binde netlink socket: %s"
#: netlink.c:218
#, c-format
msgid "RTnetlink returns error: %s"
msgstr ""
#: netlink.c:224
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "DBus feil: %s"
#: dbus.c:112
msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
@@ -879,12 +896,12 @@ msgstr "setter oppstr
msgid "could not register a DBus message handler"
msgstr "kunne ikke registrere en DBus meldingsh<73>ndterer"
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr "kan ikke lage DHCP BPF socket: %s"
#: bpf.c:74
#: bpf.c:79
#, fuzzy, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr "DHCP krav for ikke st<73>ttet maskinvare type (%d) mottatt p<> %s"

367
po/pl.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2005-10-04 19:17+0100\n"
"Last-Translator: Tomasz Socha<68>ski <nerdhero@gmail.com>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -21,17 +21,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr "b<><62>d <20>adowania nazw z %s: %m"
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, fuzzy, c-format
msgid "bad address at %s line %d"
msgstr "b<><62>dna nazwa w %s, linia %d"
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr "b<><62>dna nazwa w %s, linia %d"
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr "przeczytano %s - %d adres<65>w"
@@ -57,7 +57,7 @@ msgid ""
msgstr ""
"wielko<6B><6F> cache %d, %d/%d wpis<69>w cache u<>yto ponownie z niewygas<61>ych wpis<69>w"
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr "nie mo<6D>na pobra<72> pami<6D>ci"
@@ -75,278 +75,282 @@ msgstr "B
msgid "infinite"
msgstr "niesko<6B>czona"
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr "Adres(y) lokalne do nas<61>uchiwania."
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr "Zwracanie adresu IP dla wszystkich host<73>w w podanych domenach."
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr "Symulacja reverse lookups dla adres<65>w prywatnych opisanych w RFC1918."
#: option.c:128
#: option.c:129
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr "Adres IP traktowany jak NXDOMAIN"
#: option.c:129
#: option.c:130
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr "Wielko<6B><6F> pami<6D>ci cache we wpisach (domy<6D>lna: %s)"
#: option.c:130
#: option.c:131
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr "<22>cie<69>ka do pliku konfiguracyjnego (domy<6D>lna: %s)"
#: option.c:131
#: option.c:132
msgid "Do NOT fork into the background: run in debug mode."
msgstr "NIE tw<74>rz procesu potomnego w tle: dzia<69>anie w trybie debugowania."
#: option.c:132
#: option.c:133
msgid "Do NOT forward queries with no domain part."
msgstr "Wy<57><79>czenie przekazywania zapyta<74> bez cz<63><7A>ci domenowej."
#: option.c:133
#: option.c:134
msgid "Return self-pointing MX records for local hosts."
msgstr "Zwracanie samowskazuj<75>cego rekordu MX dla lokalnych host<73>w."
#: option.c:134
#: option.c:135
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr "Rozwijanie prostych nazw z /etc/hosts przyrostkiem domenowym."
#: option.c:135
#: option.c:136
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr "Wy<57><79>czenie przekazywania pozornych zapyta<74> DNS z komputer<65>w Windows"
#: option.c:136
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr "Enable DHCP w zakresie okre<72>lonym czasem dzier<65>awy."
#: option.c:137
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr "Po starcie zmiana grupy procesu na podan<61> (domy<6D>lnie: %s)."
#: option.c:138
#: option.c:139
msgid "Set address or hostname for a specified machine."
msgstr "Ustawienie adresu lub nazwy hosta dla okre<72>lonej maszyny."
#: option.c:139
#: option.c:140
#, c-format
msgid "Do NOT load %s file."
msgstr "Ignorowanie pliku %s."
#: option.c:140
#: option.c:141
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr "Dodatkowy plik host<73>w poza %s."
#: option.c:141
#: option.c:142
msgid "Specify interface(s) to listen on."
msgstr "Interfejs(y) do nas<61>uchiwania."
#: option.c:142
#: option.c:143
msgid "Specify interface(s) NOT to listen on."
msgstr "Interfejs(y), na kt<6B>rych nie nas<61>uchiwa<77>."
#: option.c:143
#: option.c:144
msgid "Map DHCP user class to option set."
msgstr "W<><57>czenie mapowania klasy u<>ytkownika DHCP do option set."
#: option.c:144
#: option.c:145
msgid "Don't do DHCP for hosts in option set."
msgstr ""
"Wy<57><79>czenie odpowiadania na <20>adania DHCP host<73>w okre<72>lonych w option set"
#: option.c:145
#: option.c:146
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr ""
"Wy<57><79>czenie tworzenia procesu potomnego w tle, wy<77><79>czenie dzia<69>ania w trybie "
"debug."
#: option.c:146
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr "Za<5A>o<EFBFBD>enie, <20>e jeste<74>my jedynym serwerem DHCP w sieci lokalnej."
#: option.c:147
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr "<22>cie<69>ka przechowywania pliku dzier<65>aw DHCP (domy<6D>lna: %s)"
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr "W<><57>czenie zwracania rekord MX dla host<73>w lokalnych."
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr "Specyfikacja rekordu MX."
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr "Okre<72>lenie opcji BOOTP serwera DHCP."
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr ""
"Wy<57>aczenie analizy pliku %s, ponownie <20>adowanie tylko po otrzymaniu sygna<6E>u "
"HUP"
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr ""
"Wy<57><79>czenie zapisywania w pami<6D>ci podr<64>cznej nieudanych wynik<69>w wyszukiwania."
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr "W<><57>czenie u<>ywania serwer<65>w nazw w kolejno<6E>ci podanej w %s."
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr "Dodatkowe opcje ustawie<69> dla klient<6E>w DHCP."
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr "Port nas<61>uchiwania zapyta<74> DNS (domy<6D>lnie: 53)."
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr "Maksymalna obs<62>ugiwana wielko<6B><6F> pakietu EDNS.0 (domy<6D>lnie: %s)."
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr "Zapytania zapisywane w pliku log."
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr ""
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr "Wy<57><79>czenie czytania pliku resolv.conf"
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr "Podaj <20>cie<69>k<EFBFBD> do pliku resolv.conf (domy<6D>lnie: %s)."
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr ""
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr "Wy<57><79>czenie przekazywania zapyta<74> do okre<72>lonych domen."
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr "Nazwa domeny, kt<6B>ra b<>dzie przypisana w dzier<65>awach DHCP."
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr "Okre<72>lenie domy<6D>lnego celu w rekordzie MX."
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr ""
"Okre<72>lenie czasu wa<77>no<6E>ci (time-to-live) w sekundach odpowiedzi branych z /"
"etc/hosts."
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr "Po starcie zmiana u<>ytkownika procesu na podanego. (domy<6D>lnie: %s)."
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr "Mapowanie nazwy dystrybutora DHCP do ustawie<69> opcji."
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr ""
"W<><57>czenie pokazywania wersji dnsmasq i informacji o ochronie praw autorskich."
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr ""
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr "Okre<72>lenie rekordu SRV."
#: option.c:171
#: option.c:172
msgid "Display this message."
msgstr "Wy<57>wietlenie tych informacji."
#: option.c:172
#: option.c:173
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgstr "Okre<72>lenie <20>cie<69>ki do pliku PID. (domy<6D>lnie: %s)."
#: option.c:173
#: option.c:174
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr "Maksymalna liczba dzier<65>aw DHCP. (domy<6D>lnie: %s)."
#: option.c:174
#: option.c:175
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr ""
"Odpowiedzi na zapytania DNS uzale<6C>nione od interfejsu, kt<6B>ry odebra<72> "
"zapytanie."
#: option.c:175
#: option.c:176
msgid "Specify TXT DNS record."
msgstr "Rekord TXT DNS."
#: option.c:176
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr "W<><57>czenie nas<61>uchiwania tylko na u<>ywanych interfejsach."
#: option.c:177
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr "Statycznych informacji DHCP hosta z pliku %s."
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr ""
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr "Wy<57><79>czenie DHCP na tym interfejsie, w<><77>czenie tylko DNS."
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr "W<><57>czenie automatycznej alokacji adresu dla BOOTP."
#: option.c:181
#: option.c:182
#, fuzzy
msgid "Map MAC address (with wildcards) to option set."
msgstr "Mapowanie nazwy dystrybutora DHCP do ustawie<69> opcji."
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr "brakuje \""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr "nieprawid<69>owa opcja"
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr "b<><62>d odczytu z %s: %s"
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -355,22 +359,22 @@ msgstr ""
"U<>ycie: dnsmasq [opcje]\n"
"\n"
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Tylko kr<6B>tkie opcje w linii komend.\n"
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr "Obs<62>ugiwane opcje:\n"
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq, wersja %s %s\n"
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
@@ -379,141 +383,145 @@ msgstr ""
"Wkompilowane opcje %s\n"
"\n"
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Oprogramowanie to nie zawiera <20>adnych gwarancji.\n"
#: option.c:480
#: option.c:482
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq jest wolnym oprogramowaniem, mo<6D>esz je rozprowadza<7A>\n"
#: option.c:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr "na warunkach okre<72>lonych w GNU General Public Licence, wersja 2.\n"
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr "dodatkowy parametr"
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr "brak parametru"
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr "zagnie<69>d<EFBFBD>one do<64><6F>czanie plik<69>w jest niedozwolone"
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr ""
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr "b<><62>dna nazwa MX"
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr "b<><62>dny cel MX"
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr "nieprawid<69>owy port"
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr "nieprawid<69>owy zakres dhcp-range"
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr "niesp<73>jny zakres DHCP"
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr "b<><62>d w dhcp-host"
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr "b<><62>d w dhcp-option"
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr "nieprawid<69>owa nazwa domeny w dhcp-option"
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr "zbyt d<>uga nazwa w dhcp-option"
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr "nieprawid<69>owy rekord TX"
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr "zbyt d<>ugi rekord TXT"
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr "b<><62>d w rekordzie SRV"
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr "nieprawid<69>owy cel SRV"
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr "nieprawid<69>owy port"
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr "nieprawid<69>owy priorytet"
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr "nieprawid<69>owe znaczenie"
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr "b<><62>d"
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr "nieprawid<69>owa opcja linii komend: %s."
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr "nie mo<6D>na pobra<72> nazwy hosta: %s"
#: option.c:1874
#: option.c:1885
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "tylko jeden plik resolv.conf jest dopuszczany w trybie no-poll."
#: option.c:1881
#: option.c:1892
msgid "must have exactly one resolv.conf to read domain from."
msgstr "musisz mie<69> dok<6F>adnie jeden plik resolv.conf do odczytu domen."
#: option.c:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr "b<><62>d w odczycie %s: %m"
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr "brak wytycznych wyszukiwania w %s"
@@ -528,7 +536,7 @@ msgid "forwarding table overflow: check for server loops."
msgstr ""
"przekroczenie zakresu tablicy przekazywania: sprawd<77> zap<61>tlenie serwera."
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr "b<><62>d w dost<73>pie do %s: %m"
@@ -538,7 +546,7 @@ msgstr "b
msgid "failed to load %s: %m"
msgstr "b<><62>d <20>adowania %s: %m"
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr "czytanie %s"
@@ -555,59 +563,59 @@ msgstr ""
"Ignoruj<75> dzier<65>awy DHCP dla %s poniewa<77> zawieraj<61> nieprawid<69>ow<6F> cz<63><7A><EFBFBD> "
"domenow<6F>"
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr "b<><62>d podczas tworzenia gniazda: %s"
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "b<><62>d ustawienia opcji IPV6 na nas<61>uchuj<75>cym gnie<69>dzie: %s"
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "b<><62>d pod<6F><64>czenia nas<61>uchuj<75>cego gniazda dla %s: %s"
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr "b<><62>d w<><77>czenia nas<61>uchiwania gniazda: %s"
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorowanie serwera nazw %s - interfejs lokalny"
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr "ignorowanie serwera nazw %s - nie mo<6D>na utworzy<7A>/dowi<77>za<7A> gniazda: %m"
#: network.c:434
#: network.c:438
msgid "domain"
msgstr "domena"
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr "niekwalifikowany(a/e)"
#: network.c:436
#: network.c:440
msgid "domains"
msgstr "domeny"
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr "w<><77>czenie u<>ywania lokalnych adres<65>w tylko dla %s %s"
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "u<>ywany serwer nazw: %s#%d dla %s %s"
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr "u<>ywany serwer nazw %s#%d"
@@ -638,7 +646,7 @@ msgstr "brak interfejsu z adresem %s"
msgid "must set exactly one interface on broken systems without IP_RECVIF"
msgstr "musisz ustawi<77> dok<6F>adnie jeden interfejs w systemach bez IP_RECVIF"
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr "b<><62>d DBus: %s"
@@ -647,67 +655,67 @@ msgstr "b
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr "DBus jest niedost<73>pny: ustaw HAVE_DBUS w src/config.h"
#: dnsmasq.c:196
#: dnsmasq.c:192
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "b<><62>d odczytu z %s: %s"
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr "uruchomiony, wersja %s wielko<6B><6F> cache %d"
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr "uruchomiony, wersja %s cache wy<77><79>czony"
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr "opcje kompilacji: %s"
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr "obs<62>uga DBus w<><77>czona: pod<6F><64>czono do szyny systemowej"
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr "obs<62>uga DBus w<><77>czona: pod<6F><64>czanie do szyny systemowej w toku"
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "ustawiam opcj<63> --bind-interfaces z powodu limit<69>w systemu operacyjnego"
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "ostrze<7A>enie: interfejs %s obecnie nie istnieje"
#: dnsmasq.c:365
#: dnsmasq.c:370
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr "DHCP, statyczne dzier<65>awy tylko na %.0s%s, czas dzier<65>awy %s"
#: dnsmasq.c:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, zakres IP %s -- %s, czas dzier<65>awy %s"
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr "pracuje z uprawnieniami u<>ytkownika root"
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr "wy<77><79>czenie po otrzymaniu sygnalu SIGTERM"
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr "po<70><6F>czono do systemowego DBus"
@@ -716,170 +724,179 @@ msgstr "po
msgid "cannot create DHCP socket : %s"
msgstr "nie mo<6D>na utworzy<7A> gniazda DHCP : %s"
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr "b<><62>d ustawienia opcji gniazda DHCP: %s"
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr "b<><62>d ustawienia SO_REUSEADDR gniazda DHCP: %s"
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr "b<><62>d pod<6F><64>czenia gniazda serwera DHCP: %s"
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "b<><62>d utworzenia surowego gniazda ICMP: %s."
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "powt<77>rzenie adresu IP %s w opcji dhcp-config"
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "zakres DHCP %s -- %s jest niesp<73>jny z mask<73> sieciow<6F> %s"
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr "b<><62>d odczytu %s:%m"
#: dhcp.c:642
#: dhcp.c:651
#, fuzzy, c-format
msgid "bad line at %s line %d"
msgstr "b<><62>dna nazwa w %s, linia %d"
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "powt<77>rzenie adresu IP %s (%s) w opcji dhcp-config"
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr ""
"Ignoruj<75> nazw<7A> hosta DHCP %s, poniewa<77> posiada nieprawid<69>ow<6F> cz<63><7A><EFBFBD> domenow<6F>"
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr "b<><62>d otwarcia lub utworzenia pliku dzier<65>aw: %s"
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr "zbyt du<64>a ilo<6C><6F> zapisanych dzier<65>aw"
#: lease.c:118
#: lease.c:175
#, fuzzy, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr "b<><62>d w odczycie %s: %m"
#: rfc2131.c:247
#: lease.c:436
#, fuzzy, c-format
msgid "failed to execute %s: %m"
msgstr "b<><62>d w dost<73>pie do %s: %m"
#: rfc2131.c:246
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "<22>aden zakres adresowy nie jest dost<73>pny dla <20>adania DHCP %s %s"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr "z selekcj<63> podsieci"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr "przez"
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr "wy<77><79>czony(a)"
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr "adres w u<>yciu"
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr "brak skonfigurowanego adresu"
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr "brak dost<73>pnego adresu"
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr "brak wolnych dzier<65>aw"
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr "nieprawid<69>owa sie<69>"
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr "wy<77><79>czanie statycznego adresu DHCP %s"
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr "nieznana dzier<65>awa"
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr "ignoruj<75>"
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr "b<><62>dny adres"
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr "dzier<65>awa nie znaleziona"
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr "adres niedost<73>pny"
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr "dost<73>pna statyczna dzier<65>awa"
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr "adres zarezerwowany"
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr "Wi<57>cej ni<6E> jeden dystrybutor pasuj<75>cy, u<>ywam %s"
#: netlink.c:51
#, fuzzy, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr "nie mo<6D>na pod<6F><64>czy<7A> gniazda netlink: %s"
#: netlink.c:218
#, c-format
msgid "RTnetlink returns error: %s"
msgstr ""
#: netlink.c:224
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "b<EFBFBD><EFBFBD>d DBus: %s"
#: dbus.c:112
msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
@@ -893,12 +910,12 @@ msgstr ""
msgid "could not register a DBus message handler"
msgstr "nie mo<6D>na zarejestrowa<77> uchwytu wiadomo<6D>ci DBus"
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr "b<><62>d utworzenia gniazda DHCP BPF: %s"
#: bpf.c:74
#: bpf.c:79
#, fuzzy, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr "<22><>danie DHCP nieobs<62>ugiwanego typu sprz<72>towego (%d) otrzymane na %s"

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.26\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2006-01-16 20:42+0000\n"
"Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n"
"Language-Team: Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr ""
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, c-format
msgid "bad address at %s line %d"
msgstr ""
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr ""
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr ""
@@ -53,7 +53,7 @@ msgid ""
"entries."
msgstr ""
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr ""
@@ -71,429 +71,437 @@ msgstr ""
msgid "infinite"
msgstr ""
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr ""
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr ""
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr ""
#: option.c:128
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr ""
#: option.c:129
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr ""
#: option.c:130
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr ""
#: option.c:131
msgid "Do NOT fork into the background: run in debug mode."
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr ""
#: option.c:132
msgid "Do NOT forward queries with no domain part."
msgid "Do NOT fork into the background: run in debug mode."
msgstr ""
#: option.c:133
msgid "Return self-pointing MX records for local hosts."
msgid "Do NOT forward queries with no domain part."
msgstr ""
#: option.c:134
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgid "Return self-pointing MX records for local hosts."
msgstr ""
#: option.c:135
msgid "Don't forward spurious DNS requests from Windows hosts."
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr ""
#: option.c:136
msgid "Enable DHCP in the range given with lease duration."
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr ""
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr ""
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr ""
#: option.c:138
msgid "Set address or hostname for a specified machine."
msgstr ""
#: option.c:139
#, c-format
msgid "Do NOT load %s file."
msgid "Set address or hostname for a specified machine."
msgstr ""
#: option.c:140
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgid "Do NOT load %s file."
msgstr ""
#: option.c:141
msgid "Specify interface(s) to listen on."
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr ""
#: option.c:142
msgid "Specify interface(s) NOT to listen on."
msgid "Specify interface(s) to listen on."
msgstr ""
#: option.c:143
msgid "Map DHCP user class to option set."
msgid "Specify interface(s) NOT to listen on."
msgstr ""
#: option.c:144
msgid "Don't do DHCP for hosts in option set."
msgid "Map DHCP user class to option set."
msgstr ""
#: option.c:145
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgid "Don't do DHCP for hosts in option set."
msgstr ""
#: option.c:146
msgid "Assume we are the only DHCP server on the local network."
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr ""
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr ""
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr ""
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr ""
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr ""
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr ""
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr ""
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr ""
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr ""
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr ""
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr ""
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr ""
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr ""
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr ""
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr ""
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr ""
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr ""
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr ""
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr ""
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr ""
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr ""
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr ""
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr ""
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr ""
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr ""
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr ""
#: option.c:171
msgid "Display this message."
msgstr ""
#: option.c:172
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgid "Display this message."
msgstr ""
#: option.c:173
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgid "Specify path of PID file. (defaults to %s)."
msgstr ""
#: option.c:174
msgid "Answer DNS queries based on the interface a query was sent to."
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr ""
#: option.c:175
msgid "Specify TXT DNS record."
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr ""
#: option.c:176
msgid "Bind only to interfaces in use."
msgid "Specify TXT DNS record."
msgstr ""
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr ""
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr ""
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr ""
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr ""
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr ""
#: option.c:181
#: option.c:182
msgid "Map MAC address (with wildcards) to option set."
msgstr ""
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr ""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr ""
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr ""
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:480
#: option.c:482
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr ""
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr ""
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr ""
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr ""
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr ""
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr ""
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr ""
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr ""
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr ""
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr ""
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr ""
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr ""
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr ""
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr ""
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr ""
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr ""
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr ""
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr ""
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr ""
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr ""
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr ""
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:1874
#: option.c:1885
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:1881
#: option.c:1892
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr ""
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr ""
@@ -507,7 +515,7 @@ msgstr ""
msgid "forwarding table overflow: check for server loops."
msgstr ""
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr ""
@@ -517,7 +525,7 @@ msgstr ""
msgid "failed to load %s: %m"
msgstr ""
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr ""
@@ -532,59 +540,59 @@ msgstr ""
msgid "Ignoring DHCP lease for %s because it has an illegal domain part"
msgstr ""
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr ""
#: network.c:434
#: network.c:438
msgid "domain"
msgstr ""
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr ""
#: network.c:436
#: network.c:440
msgid "domains"
msgstr ""
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -613,7 +621,7 @@ msgstr ""
msgid "must set exactly one interface on broken systems without IP_RECVIF"
msgstr ""
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -622,67 +630,67 @@ msgstr ""
msgid "DBus not available: set HAVE_DBUS in src/config.h"
msgstr ""
#: dnsmasq.c:196
#: dnsmasq.c:192
#, c-format
msgid "cannot create pipe: %s"
msgstr ""
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr ""
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr ""
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr ""
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr ""
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr ""
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr ""
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr ""
#: dnsmasq.c:365
#: dnsmasq.c:370
#, c-format
msgid "DHCP, static leases only on %.0s%s, lease time %s"
msgstr ""
#: dnsmasq.c:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr ""
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr ""
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr ""
@@ -691,168 +699,177 @@ msgstr ""
msgid "cannot create DHCP socket : %s"
msgstr ""
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr ""
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr ""
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr ""
#: dhcp.c:642
#: dhcp.c:651
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr ""
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr ""
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr ""
#: lease.c:118
#: lease.c:175
#, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:247
#: lease.c:436
#, c-format
msgid "failed to execute %s: %m"
msgstr ""
#: rfc2131.c:246
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr ""
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr ""
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr ""
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr ""
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr ""
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr ""
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr ""
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr ""
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr ""
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr ""
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr ""
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr ""
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr ""
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr ""
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr ""
#: netlink.c:51
#, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr ""
#: netlink.c:218
#: netlink.c:224
#, c-format
msgid "RTnetlink returns error: %s"
msgid "netlink returns error: %s"
msgstr ""
#: dbus.c:112
@@ -867,12 +884,12 @@ msgstr ""
msgid "could not register a DBus message handler"
msgstr ""
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr ""
#: bpf.c:74
#: bpf.c:79
#, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr ""

367
po/ro.po
View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.24\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-04-23 19:58+0100\n"
"POT-Creation-Date: 2006-05-06 13:18+0100\n"
"PO-Revision-Date: 2005-11-22 16:46+0000\n"
"Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n"
"Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %m"
msgstr "încărcarea numelor din %s: %m a eşuat"
#: cache.c:606 dhcp.c:655
#: cache.c:606 dhcp.c:664
#, c-format
msgid "bad address at %s line %d"
msgstr "adresă greşită în %s, linia %d"
#: cache.c:633 dhcp.c:669
#: cache.c:633 dhcp.c:678
#, c-format
msgid "bad name at %s line %d"
msgstr "nume greşit în %s linia %d"
#: cache.c:639 dhcp.c:723
#: cache.c:639 dhcp.c:732
#, c-format
msgid "read %s - %d addresses"
msgstr "citesc %s - %d adrese"
@@ -57,7 +57,7 @@ msgstr ""
"cantitate de memorie temporară %d, %d/%d stocări temporare aureutilizat "
"locaţii neexpirate."
#: util.c:153 option.c:1294
#: util.c:153 option.c:1305
msgid "could not get memory"
msgstr "nu am putut aloca memorie"
@@ -75,269 +75,273 @@ msgstr "pornirea A EŞUAT"
msgid "infinite"
msgstr "infinit"
#: option.c:125
#: option.c:126
msgid "Specify local address(es) to listen on."
msgstr "Specificaţi adresele locale deservite."
#: option.c:126
#: option.c:127
msgid "Return ipaddr for all hosts in specified domains."
msgstr "Afişează adresele IP ale maşinilor în domeniul dat."
#: option.c:127
#: option.c:128
msgid "Fake reverse lookups for RFC1918 private address ranges."
msgstr ""
"Simulează căutări după adresă pentru domenii de adresă private (RFC1918)."
#: option.c:128
#: option.c:129
msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)."
msgstr "Interpretează adresa IP ca NXDOMAIN (împotriva manipulărilor Verisign)"
#: option.c:129
#: option.c:130
#, c-format
msgid "Specify the size of the cache in entries (defaults to %s)."
msgstr "Specifică mărimea înregistrărilor temporare (implicit e %s)."
#: option.c:130
#: option.c:131
#, c-format
msgid "Specify configuration file (defaults to %s)."
msgstr "Specifică fişier de configurare (implicit e %s)."
#: option.c:131
#: option.c:132
msgid "Do NOT fork into the background: run in debug mode."
msgstr "NU porneşte în fundal: rulează în modul depanare."
#: option.c:132
#: option.c:133
msgid "Do NOT forward queries with no domain part."
msgstr "NU înainta cererile ce nu conţin domeniu DNS."
#: option.c:133
#: option.c:134
msgid "Return self-pointing MX records for local hosts."
msgstr "Răspunde cu înregistrări MX spre el însuşi pentru maşini locale."
#: option.c:134
#: option.c:135
msgid "Expand simple names in /etc/hosts with domain-suffix."
msgstr "Adaugă numelor simple din /etc/hosts numele domeniului ca sufix."
#: option.c:135
#: option.c:136
msgid "Don't forward spurious DNS requests from Windows hosts."
msgstr "Nu inainta cereri DNS defecte provenite de la maşini Windows."
#: option.c:136
#: option.c:137
msgid "Enable DHCP in the range given with lease duration."
msgstr "Activează DHCP în domeniul dat cu durată limitată de împrumut."
#: option.c:137
#: option.c:138
#, c-format
msgid "Change to this group after startup (defaults to %s)."
msgstr "Rulează sub acest grup după pornire (implicit e %s)."
#: option.c:138
#: option.c:139
msgid "Set address or hostname for a specified machine."
msgstr "Schimbă adresa sau numele maşinii specificate."
#: option.c:139
#: option.c:140
#, c-format
msgid "Do NOT load %s file."
msgstr "Nu încarcă fişierul %s."
#: option.c:140
#: option.c:141
#, c-format
msgid "Specify a hosts file to be read in addition to %s."
msgstr "Specifică spre citire un fişier hosts adiţional la %s."
#: option.c:141
#: option.c:142
msgid "Specify interface(s) to listen on."
msgstr "Specifică interfeţele deservite."
#: option.c:142
#: option.c:143
msgid "Specify interface(s) NOT to listen on."
msgstr "Specifică interfeţele NE-deservite."
#: option.c:143
#: option.c:144
msgid "Map DHCP user class to option set."
msgstr "Leagă clasa de utilizator DHCP cu grup de opţiuni."
#: option.c:144
#: option.c:145
msgid "Don't do DHCP for hosts in option set."
msgstr "Nu furniza DHCP maşinilor din grupul de opţiuni."
#: option.c:145
#: option.c:146
msgid "Do NOT fork into the background, do NOT run in debug mode."
msgstr "NU porneşte în fundal, NU rulează în modul depanare."
#: option.c:146
#: option.c:147
msgid "Assume we are the only DHCP server on the local network."
msgstr "Presupune că suntem singurul server DHCP din reţeaua locală."
#: option.c:147
#: option.c:148
#, c-format
msgid "Specify where to store DHCP leases (defaults to %s)."
msgstr "Specifică fişierul de stocare a împrumuturilor DHCP (implicit e %s)."
#: option.c:148
#: option.c:149
msgid "Return MX records for local hosts."
msgstr "Răspunde cu întregistrări MX pentru maşini locale."
#: option.c:149
#: option.c:150
msgid "Specify an MX record."
msgstr "Specifică o înregistrare MX."
#: option.c:150
#: option.c:151
msgid "Specify BOOTP options to DHCP server."
msgstr "Specifică opţiuni BOOTP serverului DHCP."
#: option.c:151
#: option.c:152
#, c-format
msgid "Do NOT poll %s file, reload only on SIGHUP."
msgstr "Nu încărca fişierul %s, citeşte-l doar la SIGHUP."
#: option.c:152
#: option.c:153
msgid "Do NOT cache failed search results."
msgstr "NU memora rezultatele de căutare DNS eşuatată."
#: option.c:153
#: option.c:154
#, c-format
msgid "Use nameservers strictly in the order given in %s."
msgstr "Foloseşte servere DNS strict în ordinea dată în %s."
#: option.c:154
#: option.c:155
msgid "Set extra options to be set to DHCP clients."
msgstr "Configurează opţiuni în plusce trebuie trimise clienţilor DHCP."
#: option.c:155
#: option.c:156
msgid "Specify port to listen for DNS requests on (defaults to 53)."
msgstr "Specifică numărul portului pentru cereri DNS (implicit e 53)."
#: option.c:156
#: option.c:157
#, c-format
msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)."
msgstr "Marimea maximă a pachetului UDP pentru EDNS.0 (implicit e %s)."
#: option.c:157
#: option.c:158
msgid "Log queries."
msgstr "Înregistrează tranzacţiile."
#: option.c:158
#: option.c:159
msgid "Force the originating port for upstream queries."
msgstr "Forţează acest port pentru datele ce pleacă."
#: option.c:159
#: option.c:160
msgid "Do NOT read resolv.conf."
msgstr "NU citi fişierul resolv.conf"
#: option.c:160
#: option.c:161
#, c-format
msgid "Specify path to resolv.conf (defaults to %s)."
msgstr "Specifică calea către resolv.conf (implicit e %s)."
#: option.c:161
#: option.c:162
msgid "Specify address(es) of upstream servers with optional domains."
msgstr "Specifică adresele server(elor) superioare cu domenii opţionale."
#: option.c:162
#: option.c:163
msgid "Never forward queries to specified domains."
msgstr "Nu înaintează cererile spre domeniile specificate."
#: option.c:163
#: option.c:164
msgid "Specify the domain to be assigned in DHCP leases."
msgstr "Specifică domeniul de transmis prin DHCP."
#: option.c:164
#: option.c:165
msgid "Specify default target in an MX record."
msgstr "Specifică o ţintă într-o înregistrare MX."
#: option.c:165
#: option.c:166
msgid "Specify time-to-live in seconds for replies from /etc/hosts."
msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts."
#: option.c:166
#: option.c:167
#, c-format
msgid "Change to this user after startup. (defaults to %s)."
msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)."
#: option.c:167
#: option.c:168
msgid "Map DHCP vendor class to option set."
msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
#: option.c:168
#: option.c:169
msgid "Display dnsmasq version and copyright information."
msgstr "Afişează versiunea dnsmasq şi drepturile de autor."
#: option.c:169
#: option.c:170
msgid "Translate IPv4 addresses from upstream servers."
msgstr "Traduce adresele IPv4 de la serverele DNS superioare."
#: option.c:170
#: option.c:171
msgid "Specify a SRV record."
msgstr "Specifică o înregistrare SRV."
#: option.c:171
#: option.c:172
msgid "Display this message."
msgstr "Afişează acest mesaj."
#: option.c:172
#: option.c:173
#, c-format
msgid "Specify path of PID file. (defaults to %s)."
msgstr "Specifică o cale pentru fişierul PID. (implicit %s)."
#: option.c:173
#: option.c:174
#, c-format
msgid "Specify maximum number of DHCP leases (defaults to %s)."
msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)."
#: option.c:174
#: option.c:175
msgid "Answer DNS queries based on the interface a query was sent to."
msgstr ""
"Răspunde cererilor DNS în funcţie de interfaţa pe care a venit cererea."
#: option.c:175
#: option.c:176
msgid "Specify TXT DNS record."
msgstr "Specifică o înregistrare TXT."
#: option.c:176
#: option.c:177
msgid "Bind only to interfaces in use."
msgstr "Ascultă doar pe interfeţele active."
#: option.c:177
#: option.c:178
#, c-format
msgid "Read DHCP static host information from %s."
msgstr "Citeşte informaţii DHCP statice despre maşină din %s."
#: option.c:178
#: option.c:179
msgid "Enable the DBus interface for setting upstream servers, etc."
msgstr "Activeaza interfaţa DBus pentru configurarea serverelor superioare."
#: option.c:179
#: option.c:180
msgid "Do not provide DHCP on this interface, only provide DNS."
msgstr "Nu activează DHCP ci doar DNS pe această interfaţă."
#: option.c:180
#: option.c:181
msgid "Enable dynamic address allocation for bootp."
msgstr "Activează alocarea dinamică a adreselor pentru BOOTP."
#: option.c:181
#: option.c:182
#, fuzzy
msgid "Map MAC address (with wildcards) to option set."
msgstr "Trimite opţiuni DHCP în funcţie de marca plăcii de reţea."
#: option.c:182
#: option.c:183
msgid "Disable ICMP echo address checking in the DHCP server."
msgstr ""
#: option.c:396
#: option.c:184
msgid "Script to run on DHCP lease creation and destruction."
msgstr ""
#: option.c:398
msgid "missing \""
msgstr "lipseşte \""
#: option.c:425
#: option.c:427
msgid "bad option"
msgstr "opţiune invalidă"
#: option.c:442
#: option.c:444
#, c-format
msgid "cannot read %s: %s"
msgstr "nu pot citi %s: %s"
#: option.c:448
#: option.c:450
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -346,22 +350,22 @@ msgstr ""
"Utilizare: dnsmasq [opţiuni]\n"
"\n"
#: option.c:450
#: option.c:452
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Folosiţi opţiunile prescurtate doar în linie de comandă.\n"
#: option.c:452
#: option.c:454
#, c-format
msgid "Valid options are :\n"
msgstr "Opţiunile valide sunt:\n"
#: option.c:477
#: option.c:479
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "dnsmasq versiunea %s %s\n"
#: option.c:478
#: option.c:480
#, c-format
msgid ""
"Compile time options %s\n"
@@ -370,142 +374,146 @@ msgstr ""
"Opţiuni cu care a fost compilat %s\n"
"\n"
#: option.c:479
#: option.c:481
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Acest program vine FĂRĂ NICI O GARANŢIE.\n"
#: option.c:480
#: option.c:482
#, 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:481
#: option.c:483
#, c-format
msgid "under the terms of the GNU General Public License, version 2.\n"
msgstr "în termenii Licenţei publice generale GNU, versiunea 2.\n"
#: option.c:491
#: option.c:493
msgid "extraneous parameter"
msgstr "parametru nerecunoscut"
#: option.c:499
#: option.c:501
msgid "missing parameter"
msgstr "parametru lipsa"
#: option.c:516
#: option.c:518
msgid "nested includes not allowed"
msgstr "incluziunile locale nu sunt permise"
#: option.c:576
#: option.c:578
msgid "bad MX preference"
msgstr "preferinţă MX invalidă"
#: option.c:585
#: option.c:587
msgid "bad MX name"
msgstr "nume MX invalid"
#: option.c:603
#: option.c:605
msgid "bad MX target"
msgstr "ţintă MX invalidă"
#: option.c:802 option.c:813
#: option.c:617
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:813 option.c:824
msgid "bad port"
msgstr "port invalid"
#: option.c:955
#: option.c:966
msgid "bad dhcp-range"
msgstr "dhcp-range invalid"
#: option.c:984
#: option.c:995
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1029
#: option.c:1040
msgid "inconsistent DHCP range"
msgstr "domeniu DHCP inconsistent"
#: option.c:1214
#: option.c:1225
msgid "bad dhcp-host"
msgstr "dhcp-host invalid"
#: option.c:1271
#: option.c:1282
msgid "bad dhcp-option"
msgstr "dhcp-option invalid"
#: option.c:1289
#: option.c:1300
msgid "bad domain in dhcp-option"
msgstr "domeniu DNS invalid în declaraţia dhcp-option"
#: option.c:1459
#: option.c:1470
msgid "dhcp-option too long"
msgstr "declararea dhcp-option este prea lungă"
#: option.c:1656
#: option.c:1667
msgid "bad TXT record"
msgstr "înregistrare TXT invalidă"
#: option.c:1688
#: option.c:1699
msgid "TXT record string too long"
msgstr "şirul de caractere pentru înregistrarea TXT este prea lung"
#: option.c:1727
#: option.c:1738
msgid "bad SRV record"
msgstr "înregistrare SRV invalidă"
#: option.c:1740
#: option.c:1751
msgid "bad SRV target"
msgstr "ţintă SRV invalidă"
#: option.c:1752
#: option.c:1763
msgid "invalid port number"
msgstr "număr de port invalid"
#: option.c:1763
#: option.c:1774
msgid "invalid priority"
msgstr "prioritate invalidă"
#: option.c:1774
#: option.c:1785
msgid "invalid weight"
msgstr "pondere invalidă"
#: option.c:1799
#: option.c:1810
msgid "error"
msgstr "eroare"
#: option.c:1801
#: option.c:1812
#, c-format
msgid "bad command line options: %s."
msgstr "opţiuni în linie de comandă invalide: %s."
#: option.c:1803
#: option.c:1814
msgid "try --help"
msgstr ""
#: option.c:1805
#: option.c:1816
msgid "try -w"
msgstr ""
#: option.c:1845
#: option.c:1856
#, c-format
msgid "cannot get host-name: %s"
msgstr "nu pot citi numele maşinii: %s"
#: option.c:1874
#: option.c:1885
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:1881
#: option.c:1892
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:1884 network.c:481
#: option.c:1895 network.c:485
#, c-format
msgid "failed to read %s: %m"
msgstr "nu pot citi %s: %n"
#: option.c:1902
#: option.c:1913
#, c-format
msgid "no search directive found in %s"
msgstr "nu s-a găsit nici un criteriu de căutare în %s"
@@ -519,7 +527,7 @@ msgstr "serverul DNS %s refuză interogările recursive"
msgid "forwarding table overflow: check for server loops."
msgstr "depăşire de memorie în tabela cu înaintări DNS: verificaţi de bucle."
#: isc.c:73 dnsmasq.c:460
#: isc.c:73 dnsmasq.c:469
#, c-format
msgid "failed to access %s: %m"
msgstr "accesarea serverului %s a eşuat: %n"
@@ -529,7 +537,7 @@ msgstr "accesarea serverului %s a eşuat: %n"
msgid "failed to load %s: %m"
msgstr "nu pot încărca %s: %n"
#: isc.c:93 network.c:485
#: isc.c:93 network.c:489
#, c-format
msgid "reading %s"
msgstr "citesc %s"
@@ -544,59 +552,59 @@ msgstr "nume invalid în %s"
msgid "Ignoring DHCP lease for %s because it has an illegal domain part"
msgstr "Împrumutul DHCP pentru %s va fi ignorat deoarece are domeniu invalid"
#: network.c:308 dnsmasq.c:129
#: network.c:314 dnsmasq.c:129
#, c-format
msgid "failed to create listening socket: %s"
msgstr "creearea socket-ului de ascultare a eşuat: %s"
#: network.c:315
#: network.c:321
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "configurarea opţiunilor IPv6 a eşuat pe socket-ul de ascultare: %s"
#: network.c:333
#: network.c:339
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "activarea socket-ului de ascultare pentru %s a eşuat: %s"
#: network.c:341
#: network.c:347
#, c-format
msgid "failed to listen on socket: %s"
msgstr "ascultarea pe socket a eşuat: %s"
#: network.c:411
#: network.c:415
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorăm serverul DNS %s - interfaţă locală"
#: network.c:420
#: network.c:424
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %m"
msgstr "ignorăm serverul DNS %s - nu pot creea/activa socket-ul: %s"
#: network.c:434
#: network.c:438
msgid "domain"
msgstr "domeniu"
#: network.c:436
#: network.c:440
msgid "unqualified"
msgstr "invalid"
#: network.c:436
#: network.c:440
msgid "domains"
msgstr "domenii"
#: network.c:439
#: network.c:443
#, c-format
msgid "using local addresses only for %s %s"
msgstr "folosim adresele locale doar pentru %S %s"
#: network.c:441
#: network.c:445
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "folosim serverul DNS %s#%d pentru %s %s"
#: network.c:444
#: network.c:448
#, c-format
msgid "using nameserver %s#%d"
msgstr "folosim serverul DNS %s#%d"
@@ -629,7 +637,7 @@ msgstr ""
"trebuie specificată exact o singură interfaţă pe sistemele defectece nu au "
"IP_RECVIF"
#: dnsmasq.c:158 dnsmasq.c:536
#: dnsmasq.c:158 dnsmasq.c:585
#, c-format
msgid "DBus error: %s"
msgstr "eroare DBus: %s"
@@ -638,67 +646,67 @@ msgstr "eroare DBus: %s"
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:196
#: dnsmasq.c:192
#, fuzzy, c-format
msgid "cannot create pipe: %s"
msgstr "nu pot citi %s: %s"
#: dnsmasq.c:331
#: dnsmasq.c:336
#, c-format
msgid "started, version %s cachesize %d"
msgstr "am ponit, versiunea %s memorie temporară %d"
#: dnsmasq.c:333
#: dnsmasq.c:338
#, c-format
msgid "started, version %s cache disabled"
msgstr "am pornit, versiunea %s memorie temporară dezactivată"
#: dnsmasq.c:335
#: dnsmasq.c:340
#, c-format
msgid "compile time options: %s"
msgstr "compilat cu opţiunile: %s"
#: dnsmasq.c:341
#: dnsmasq.c:346
msgid "DBus support enabled: connected to system bus"
msgstr "suportul DBus activ: sunt conectat la magistrala sistem"
#: dnsmasq.c:343
#: dnsmasq.c:348
msgid "DBus support enabled: bus connection pending"
msgstr "suportul DBus activ: aştept conexiunea la magistrală"
#: dnsmasq.c:348
#: dnsmasq.c:353
msgid "setting --bind-interfaces option because of OS limitations"
msgstr "specific opţiunea --bind-interfaces din cauza limitărilor SO"
#: dnsmasq.c:353
#: dnsmasq.c:358
#, c-format
msgid "warning: interface %s does not currently exist"
msgstr "atenţie: interfaţa %s nu există momentan"
#: dnsmasq.c:365
#: dnsmasq.c:370
#, 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:366
#: dnsmasq.c:371
#, c-format
msgid "DHCP, IP range %s -- %s, lease time %s"
msgstr "DHCP, domeniu IP %s -- %s, timpul reînoirii %s"
#: dnsmasq.c:376
#: dnsmasq.c:381
#, c-format
msgid "warning: setting capabilities failed: %m"
msgstr ""
#: dnsmasq.c:378
#: dnsmasq.c:383
msgid "running as root"
msgstr "rulez ca root"
#: dnsmasq.c:511
#: dnsmasq.c:528
msgid "exiting on receipt of SIGTERM"
msgstr "am primit SIGTERM, am terminat"
#: dnsmasq.c:538
#: dnsmasq.c:587
msgid "connected to system DBus"
msgstr "magistrala sistem Dbus conectată"
@@ -707,169 +715,178 @@ msgstr "magistrala sistem Dbus conectată"
msgid "cannot create DHCP socket : %s"
msgstr "nu pot creea socket DHCP : %s"
#: dhcp.c:42
#: dhcp.c:41
#, c-format
msgid "failed to set options on DHCP socket: %s"
msgstr "configurarea opţiunilor socketului DHCP a eşuat: %s"
#: dhcp.c:49
#: dhcp.c:48
#, c-format
msgid "failed to set SO_REUSEADDR on DHCP socket: %s"
msgstr "configurarea SO_REUSEADDR pe socket-ul DHCP a eşuat: %s"
#: dhcp.c:59
#: dhcp.c:58
#, c-format
msgid "failed to bind DHCP server socket: %s"
msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
#: dhcp.c:72
#: dhcp.c:71
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "nu pot creea socket ICMP raw: %s."
#: dhcp.c:84
#: dhcp.c:83
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
#: dhcp.c:307
#: dhcp.c:316
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "domeniu DHCP %s -- %s nu este consistent cu masca de reţea %s"
#: dhcp.c:623
#: dhcp.c:632
#, c-format
msgid "failed to read %s:%m"
msgstr "citirea %s:%n a eşuat"
#: dhcp.c:642
#: dhcp.c:651
#, c-format
msgid "bad line at %s line %d"
msgstr "linie invalidă în %s rândul %d"
#: dhcp.c:746
#: dhcp.c:755
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "adresă IP duplicat %s (%s) în declaraţia dhcp-config."
#: dhcp.c:782
#: dhcp.c:791
#, c-format
msgid "Ignoring DHCP host name %s because it has an illegal domain part"
msgstr "Ignor numele DHCP al maşinii %s deoarece are domeniu DNS ilegal"
#: lease.c:34
#: lease.c:31
#, c-format
msgid "cannot open or create leases file: %s"
msgstr "nu pot creea sau deschide fişierul cu împrumuturi: %s"
#: lease.c:71
#: lease.c:59
msgid "too many stored leases"
msgstr "prea multe împrumuturi stocate"
#: lease.c:118
#: lease.c:175
#, fuzzy, c-format
msgid "failed to write %s: %m (retry in %ds)"
msgid "failed to write %s: %s (retry in %us)"
msgstr "nu pot citi %s: %n"
#: rfc2131.c:247
#: lease.c:436
#, fuzzy, c-format
msgid "failed to execute %s: %m"
msgstr "accesarea serverului %s a eşuat: %n"
#: rfc2131.c:246
#, 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:248
#: rfc2131.c:247
msgid "with subnet selector"
msgstr "cu selectorul de subreţea"
#: rfc2131.c:248
#: rfc2131.c:247
msgid "via"
msgstr "prin"
#: rfc2131.c:274 rfc2131.c:298
#: rfc2131.c:273 rfc2131.c:297
msgid "disabled"
msgstr "dezactivat"
#: rfc2131.c:310 rfc2131.c:731
#: rfc2131.c:309 rfc2131.c:732
msgid "address in use"
msgstr "adresa este folosită"
#: rfc2131.c:313
#: rfc2131.c:312
msgid "no address configured"
msgstr "adresă lipsă"
#: rfc2131.c:326 rfc2131.c:605
#: rfc2131.c:325 rfc2131.c:606
msgid "no address available"
msgstr "nici o adresă disponibilă"
#: rfc2131.c:333 rfc2131.c:734
#: rfc2131.c:334 rfc2131.c:739
msgid "no leases left"
msgstr "nu mai am de unde să împrumut"
#: rfc2131.c:336 rfc2131.c:707
#: rfc2131.c:337 rfc2131.c:708
msgid "wrong network"
msgstr "reţea greşită"
#: rfc2131.c:540
#: rfc2131.c:541
#, c-format
msgid "disabling DHCP static address %s"
msgstr "dezactivăm adresele DHCP statice %s"
#: rfc2131.c:558
#: rfc2131.c:559
msgid "unknown lease"
msgstr "împrumut necunoscut"
#: rfc2131.c:567 rfc2131.c:799
#: rfc2131.c:568 rfc2131.c:804
msgid "ignored"
msgstr "ignorat"
#: rfc2131.c:581
#: rfc2131.c:582
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:590
#: rfc2131.c:591
#, c-format
msgid "not using configured address %s because it is in use by the server"
msgstr ""
#: rfc2131.c:670
#: rfc2131.c:671
msgid "wrong address"
msgstr "adresă greşită"
#: rfc2131.c:683
#: rfc2131.c:684
msgid "lease not found"
msgstr "împrumutul nu a fost găsit"
#: rfc2131.c:715
#: rfc2131.c:716
msgid "address not available"
msgstr "adresă indisponibilă"
#: rfc2131.c:724
#: rfc2131.c:725
msgid "static lease available"
msgstr "împrumut static este disponibil"
#: rfc2131.c:728
#: rfc2131.c:729
msgid "address reserved"
msgstr "adresă rezervată"
#: rfc2131.c:946
#: rfc2131.c:735
msgid "no unique-id"
msgstr ""
#: rfc2131.c:936
#, c-format
msgid "cannot send DHCP option %d: no space left in packet"
msgstr "nu pot trimite opţiunea DHCP %d: nu mai este loc în pachet"
#: rfc2131.c:1247
#: rfc2131.c:1237
#, c-format
msgid "More than one vendor class matches, using %s"
msgstr "Se potrivesc mai multe clase de mărci de interfeţe, folosim %s"
#: netlink.c:51
#, fuzzy, c-format
msgid "cannot create RTnetlink socket: %s"
msgid "cannot create netlink socket: %s"
msgstr "nu pot să activez socket-ul netlink: %s"
#: netlink.c:218
#, c-format
msgid "RTnetlink returns error: %s"
msgstr ""
#: netlink.c:224
#, fuzzy, c-format
msgid "netlink returns error: %s"
msgstr "eroare DBus: %s"
#: dbus.c:112
msgid "attempt to set an IPv6 server address via DBus - no IPv6 support"
@@ -883,12 +900,12 @@ msgstr "configurăm serverele superioare prin Dbus"
msgid "could not register a DBus message handler"
msgstr "nu pot activa o interfaţă de mesaje DBus"
#: bpf.c:54
#: bpf.c:59
#, c-format
msgid "cannot create DHCP BPF socket: %s"
msgstr "nu pot creea socket DHCP BPF: %s"
#: bpf.c:74
#: bpf.c:79
#, fuzzy, c-format
msgid "DHCP request for unsupported hardware type (%d) received on %s"
msgstr "cerere DHCP pentru dispozitiv nesuportat (%d) recepţionată prin %s"

View File

@@ -1,93 +0,0 @@
#!/bin/sh
#
# Startup script for the DNS caching server
#
# chkconfig: 2345 99 01
# description: This script starts your DNS caching server
# processname: dnsmasq
# pidfile: /var/run/dnsmasq.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
dnsmasq=/usr/sbin/dnsmasq
[ -f $dnsmasq ] || exit 0
# change this line if you want dnsmasq to serve an MX record for
# the host it is running on.
MAILHOSTNAME=""
# change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
RESOLV_CONF=""
# change this if you want dnsmasq to cache any "hostname" or "client-hostname" from
# a dhcpd's lease file
DHCP_LEASE="/var/lib/dhcp/dhcpd.leases"
DOMAIN_SUFFIX=`dnsdomainname`
OPTIONS=""
if [ ! -z "${MAILHOSTNAME}" ]; then
OPTIONS="$OPTIONS -m $MAILHOSTNAME"
fi
if [ ! -z "${RESOLV_CONF}" ]; then
OPTIONS="$OPTIONS -r $RESOLV_CONF"
fi
if [ ! -z "${DHCP_LEASE}" ]; then
OPTIONS="$OPTIONS -l $DHCP_LEASE"
fi
if [ ! -z "${DOMAIN_SUFFIX}" ]; then
OPTIONS="$OPTIONS -s $DOMAIN_SUFFIX"
fi
RETVAL=0
# See how we were called.
case "$1" in
start)
echo -n "Starting dnsmasq: "
daemon $dnsmasq $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/dnsmasq
;;
stop)
if test "x`pidof dnsmasq`" != x; then
echo -n "Shutting down dnsmasq: "
killproc dnsmasq
fi
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dnsmasq /var/run/dnsmasq.pid
;;
status)
status dnsmasq
RETVAL=$?
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
condrestart)
if test "x`/sbin/pidof dnsmasq`" != x; then
$0 stop
$0 start
RETVAL=$?
fi
;;
*)
echo "Usage: $0 {start|stop|restart|reload|condrestart|status}"
exit 1
esac
exit $RETVAL

View File

@@ -48,7 +48,12 @@ void init_bpf(struct daemon *daemon)
{
sprintf(ifreq.iov_base, "/dev/bpf%d", i++);
if ((daemon->dhcp_raw_fd = open(ifreq.iov_base, O_RDWR, 0)) != -1)
return;
{
int flags = fcntl(daemon->dhcp_raw_fd, F_GETFD);
if (flags != -1)
fcntl(daemon->dhcp_raw_fd, F_SETFD, flags | FD_CLOEXEC);
return;
}
}
if (errno != EBUSY)
die(_("cannot create DHCP BPF socket: %s"), NULL);

View File

@@ -10,7 +10,7 @@
GNU General Public License for more details.
*/
#define VERSION "2.30"
#define VERSION "2.31"
#define FTABSIZ 150 /* max number of outstanding requests */
#define MAX_PROCS 20 /* max no children for TCP requests */
@@ -79,7 +79,8 @@
/* Get linux C library versions. */
#if defined(__linux__) && !defined(__UCLIBC__) && !defined(__uClinux__)
# include <libio.h>
/*# include <libio.h> */
# include <features.h>
#endif
@@ -203,11 +204,13 @@ NOTES:
#define HAVE_DEV_URANDOM
#define HAVE_DEV_RANDOM
#undef HAVE_SOCKADDR_SA_LEN
#if !defined(__UCLIBC_HAS_MMU__)
#if !defined(__ARCH_HAS_MMU__) && !defined(__UCLIBC_HAS_MMU__)
# define NO_FORK
#endif
#if !defined(__UCLIBC_HAS_IPV6__)
# define NO_IPV6
#if defined(__UCLIBC_HAS_IPV6__)
# ifndef IPV6_V6ONLY
# define IPV6_V6ONLY 26
# endif
#endif
/* This is for glibc 2.x */
@@ -282,4 +285,3 @@ typedef unsigned long in_addr_t;
# define ADDRSTRLEN 16 /* 4*3 + 3 dots + NULL */
#endif

View File

@@ -240,7 +240,7 @@ DBusHandlerResult message_handler(DBusConnection *connection,
check_servers(daemon);
}
else if (strcmp(method, "ClearCache") == 0)
clear_cache_and_reload(daemon);
clear_cache_and_reload(daemon, dnsmasq_time());
else
return (DBUS_HANDLER_RESULT_NOT_YET_HANDLED);
@@ -260,7 +260,7 @@ char *dbus_init(struct daemon *daemon)
dbus_error_init (&dbus_error);
if (!(connection = dbus_bus_get (DBUS_BUS_SYSTEM, &dbus_error)))
return NULL;
dbus_connection_set_exit_on_disconnect(connection, FALSE);
dbus_connection_set_watch_functions(connection, add_watch, remove_watch,
NULL, (void *)daemon, NULL);

View File

@@ -25,14 +25,13 @@ void dhcp_init(struct daemon *daemon)
{
int fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
struct sockaddr_in saddr;
int flags, oneopt = 1;
int oneopt = 1;
struct dhcp_config *configs, *cp;
if (fd == -1)
die (_("cannot create DHCP socket : %s"), NULL);
if ((flags = fcntl(fd, F_GETFL, 0)) == -1 ||
fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1 ||
if (!fix_fd(fd) ||
#if defined(HAVE_LINUX_NETWORK)
setsockopt(fd, SOL_IP, IP_PKTINFO, &oneopt, sizeof(oneopt)) == -1 ||
#elif defined(IP_RECVIF)
@@ -203,8 +202,9 @@ void dhcp_packet(struct daemon *daemon, time_t now)
return;
lease_prune(NULL, now); /* lose any expired leases */
iov.iov_len = dhcp_reply(daemon, parm.current, ifr.ifr_name, (size_t)sz, now, unicast_dest);
lease_update_file(daemon);
lease_update_file(daemon, now);
lease_update_dns(daemon);
lease_collect(daemon);
if (iov.iov_len == 0)
return;
@@ -258,9 +258,18 @@ void dhcp_packet(struct daemon *daemon, time_t now)
/* unicast to unconfigured client */
dest.sin_addr = mess->yiaddr;
dest.sin_port = htons(DHCP_CLIENT_PORT);
if (mess->hlen != 0 && mess->htype != 0)
arp_inject(daemon->netlinkfd, mess->yiaddr, iface_index,
mess->chaddr, mess->hlen);
if (mess->hlen != 0 && mess->hlen <= 14 && mess->htype != 0)
{
/* inject mac address direct into ARP cache.
struct sockaddr limits size to 14 bytes. */
struct arpreq req;
*((struct sockaddr_in *)&req.arp_pa) = dest;
req.arp_ha.sa_family = mess->htype;
memcpy(req.arp_ha.sa_data, mess->chaddr, mess->hlen);
strncpy(req.arp_dev, ifr.ifr_name, 16);
req.arp_flags = ATF_COM;
ioctl(daemon->dhcpfd, SIOCSARP, &req);
}
}
#else
else

View File

@@ -52,9 +52,9 @@ int main (int argc, char **argv)
time_t now, last = 0;
struct sigaction sigact;
struct iname *if_tmp;
int flags, piperead, pipefd[2];
int piperead, pipefd[2];
unsigned char sig;
#ifndef NO_GETTEXT
setlocale(LC_ALL, "");
bindtextdomain("dnsmasq", LOCALEDIR);
@@ -188,11 +188,7 @@ int main (int argc, char **argv)
}
/* Use a pipe to carry signals back to the event loop in a race-free manner */
if (pipe(pipefd) == -1 ||
(flags = fcntl(pipefd[0], F_GETFL)) == -1 ||
fcntl(pipefd[0], F_SETFL, flags | O_NONBLOCK) == -1 ||
(flags = fcntl(pipefd[1], F_GETFL)) == -1 ||
fcntl(pipefd[1], F_SETFL, flags | O_NONBLOCK) == -1)
if (pipe(pipefd) == -1 || !fix_fd(pipefd[0]) || !fix_fd(pipefd[1]))
die(_("cannot create pipe: %s"), NULL);
piperead = pipefd[0];
@@ -207,6 +203,7 @@ int main (int argc, char **argv)
struct passwd *ent_pw = daemon->username ? getpwnam(daemon->username) : NULL;
fd_set test_set;
int maxfd, i;
int nullfd = open("/dev/null", O_RDWR);
#ifdef HAVE_LINUX_NETWORK
cap_user_header_t hdr = NULL;
@@ -214,7 +211,7 @@ int main (int argc, char **argv)
/* On linux, we keep CAP_NETADMIN (for ARP-injection) and
CAP_NET_RAW (for icmp) if we're doing dhcp */
if (ent_pw)
if (ent_pw && ent_pw->pw_uid != 0)
{
hdr = safe_malloc(sizeof(*hdr));
data = safe_malloc(sizeof(*data));
@@ -246,12 +243,12 @@ int main (int argc, char **argv)
if (!(daemon->options & OPT_NO_FORK))
{
if (fork() != 0 )
exit(0);
_exit(0);
setsid();
if (fork() != 0)
exit(0);
_exit(0);
}
#endif
@@ -289,25 +286,33 @@ int main (int argc, char **argv)
if (i <= maxfd && FD_ISSET(i, &test_set))
continue;
close(i);
/* open stdout etc to /dev/null */
if (i == STDOUT_FILENO || i == STDERR_FILENO || i == STDIN_FILENO)
dup2(nullfd, i);
else
close(i);
}
/* Change uid and gid for security */
if (ent_pw)
if (daemon->groupname || ent_pw)
{
gid_t dummy;
struct group *gp;
/* remove all supplimentary groups */
setgroups(0, &dummy);
/* change group for /etc/ppp/resolv.conf
otherwise get the group for "nobody" */
/* change group for /etc/ppp/resolv.conf otherwise get the group for "nobody" */
if ((daemon->groupname && (gp = getgrnam(daemon->groupname))) ||
(gp = getgrgid(ent_pw->pw_gid)))
setgid(gp->gr_gid);
(ent_pw && (gp = getgrgid(ent_pw->pw_gid))))
{
/* remove all supplimentary groups */
setgroups(0, &dummy);
setgid(gp->gr_gid);
}
}
if (ent_pw && ent_pw->pw_uid != 0)
{
/* finally drop root */
setuid(ent_pw->pw_uid);
#ifdef HAVE_LINUX_NETWORK
data->effective = data->permitted =
(1 << CAP_NET_ADMIN) | (1 << CAP_NET_RAW);
@@ -379,9 +384,13 @@ int main (int argc, char **argv)
}
check_servers(daemon);
pid = getpid();
pid = getpid();
/* Start lease-change script */
if (daemon->dhcp)
lease_collect(daemon);
while (1)
{
int maxfd;
@@ -486,11 +495,13 @@ int main (int argc, char **argv)
if (FD_ISSET(piperead, &rset))
{
pid_t p;
if (read(piperead, &sig, 1) == 1)
switch (sig)
{
case SIGHUP:
clear_cache_and_reload(daemon);
clear_cache_and_reload(daemon, now);
if (daemon->resolv_files && (daemon->options & OPT_NO_POLL))
{
reload_servers(daemon->resolv_files->name, daemon);
@@ -504,24 +515,62 @@ int main (int argc, char **argv)
case SIGALRM:
if (daemon->dhcp)
lease_update_file(daemon);
{
lease_prune(NULL, now);
lease_update_file(daemon, now);
lease_collect(daemon);
}
break;
case SIGTERM:
syslog(LOG_INFO, _("exiting on receipt of SIGTERM"));
if (daemon->dhcp)
fclose(daemon->lease_stream);
exit(0);
{
int i;
syslog(LOG_INFO, _("exiting on receipt of SIGTERM"));
/* Knock all our children on the head. */
for (i = 0; i < MAX_PROCS; i++)
if (daemon->tcp_pids[i] != 0)
kill(daemon->tcp_pids[i], SIGQUIT);
if (daemon->dhcp)
{
if (daemon->script_pid != 0)
kill(daemon->script_pid, SIGQUIT);
/* close this carefully */
fclose(daemon->lease_stream);
}
exit(0);
}
case SIGCHLD:
/* See Stevens 5.10 */
while (waitpid(-1, NULL, WNOHANG) > 0)
daemon->num_kids--;
/* Note that if a script process forks and then exits
without waiting for its child, we will reap that child.
It is not therefore safe to assume that any dieing children
whose pid != script_pid are TCP server threads. */
while ((p = waitpid(-1, NULL, WNOHANG)) > 0)
{
if (p == daemon->script_pid)
{
daemon->script_pid = 0;
lease_collect(daemon);
}
else
{
int i;
for (i = 0 ; i < MAX_PROCS; i++)
if (daemon->tcp_pids[i] == p)
{
daemon->tcp_pids[i] = 0;
daemon->num_kids--;
break;
}
}
}
break;
}
}
#ifdef HAVE_LINUX_NETWORK
if (FD_ISSET(daemon->netlinkfd, &rset))
netlink_multicast(daemon);
@@ -529,7 +578,7 @@ int main (int argc, char **argv)
#ifdef HAVE_DBUS
/* if we didn't create a DBus connection, retry now. */
if ((daemon->options & OPT_DBUS) && !daemon->dbus)
if ((daemon->options & OPT_DBUS) && !daemon->dbus)
{
char *err;
if ((err = dbus_init(daemon)))
@@ -567,12 +616,12 @@ static void sig_handler(int sig)
{
/* alarm is used to kill children after a fixed time. */
if (sig == SIGALRM)
exit(0);
_exit(0);
}
}
void clear_cache_and_reload(struct daemon *daemon)
void clear_cache_and_reload(struct daemon *daemon, time_t now)
{
cache_reload(daemon->options, daemon->namebuff, daemon->domain_suffix, daemon->addn_hosts);
if (daemon->dhcp)
@@ -581,7 +630,7 @@ void clear_cache_and_reload(struct daemon *daemon)
dhcp_read_ethers(daemon);
dhcp_update_configs(daemon->dhcp_conf);
lease_update_from_configs(daemon);
lease_update_file(daemon);
lease_update_file(daemon, now);
lease_update_dns(daemon);
}
}
@@ -628,95 +677,115 @@ static void check_dns_listeners(struct daemon *daemon, fd_set *set, time_t now)
if (FD_ISSET(listener->tcpfd, set))
{
int confd;
struct irec *iface = NULL;
pid_t p;
while((confd = accept(listener->tcpfd, NULL, NULL)) == -1 && errno == EINTR);
if (confd != -1)
if (confd == -1)
continue;
if (daemon->options & OPT_NOWILD)
iface = listener->iface;
else
{
struct irec *iface = NULL;
union mysockaddr tcp_addr;
socklen_t tcp_len = sizeof(union mysockaddr);
/* Check for allowed interfaces when binding the wildcard address:
we do this by looking for an interface with the same address as
the local address of the TCP connection, then looking to see if that's
an allowed interface. As a side effect, we get the netmask of the
interface too, for localisation. */
if (daemon->options & OPT_NOWILD)
iface = listener->iface;
else
{
union mysockaddr tcp_addr;
socklen_t tcp_len = sizeof(union mysockaddr);
/* Check for allowed interfaces when binding the wildcard address:
we do this by looking for an interface with the same address as
the local address of the TCP connection, then looking to see if that's
an allowed interface. As a side effect, we get the netmask of the
interface too, for localisation. */
/* interface may be new since startup */
if (enumerate_interfaces(daemon) &&
getsockname(confd, (struct sockaddr *)&tcp_addr, &tcp_len) != -1)
for (iface = daemon->interfaces; iface; iface = iface->next)
if (sockaddr_isequal(&iface->addr, &tcp_addr))
break;
}
if ((daemon->num_kids >= MAX_PROCS) || !iface)
close(confd);
/* interface may be new since startup */
if (enumerate_interfaces(daemon) &&
getsockname(confd, (struct sockaddr *)&tcp_addr, &tcp_len) != -1)
for (iface = daemon->interfaces; iface; iface = iface->next)
if (sockaddr_isequal(&iface->addr, &tcp_addr))
break;
}
if ((daemon->num_kids >= MAX_PROCS) || !iface)
{
shutdown(confd, SHUT_RDWR);
close(confd);
}
#ifndef NO_FORK
else if (!(daemon->options & OPT_DEBUG) && fork())
else if (!(daemon->options & OPT_DEBUG) && (p = fork()) != 0)
{
if (p != -1)
{
int i;
for (i = 0; i < MAX_PROCS; i++)
if (daemon->tcp_pids[i] == 0)
{
daemon->tcp_pids[i] = p;
break;
}
daemon->num_kids++;
close(confd);
}
close(confd);
}
#endif
else
{
unsigned char *buff;
struct server *s;
int flags;
struct in_addr dst_addr_4;
dst_addr_4.s_addr = 0;
/* Arrange for SIGALARM after CHILD_LIFETIME seconds to
terminate the process. */
if (!(daemon->options & OPT_DEBUG))
alarm(CHILD_LIFETIME);
/* start with no upstream connections. */
for (s = daemon->servers; s; s = s->next)
s->tcpfd = -1;
/* The connected socket inherits non-blocking
attribute from the listening socket.
Reset that here. */
if ((flags = fcntl(confd, F_GETFL, 0)) != -1)
fcntl(confd, F_SETFL, flags & ~O_NONBLOCK);
if (listener->family == AF_INET)
dst_addr_4 = iface->addr.in.sin_addr;
buff = tcp_request(daemon, confd, now, dst_addr_4, iface->netmask);
shutdown(confd, SHUT_RDWR);
close(confd);
if (buff)
free(buff);
for (s = daemon->servers; s; s = s->next)
if (s->tcpfd != -1)
{
shutdown(s->tcpfd, SHUT_RDWR);
close(s->tcpfd);
}
#ifndef NO_FORK
if (!(daemon->options & OPT_DEBUG))
_exit(0);
#endif
else
{
unsigned char *buff;
struct server *s;
int flags;
struct in_addr dst_addr_4;
dst_addr_4.s_addr = 0;
/* Arrange for SIGALARM after CHILD_LIFETIME seconds to
terminate the process. */
if (!(daemon->options & OPT_DEBUG))
alarm(CHILD_LIFETIME);
/* start with no upstream connections. */
for (s = daemon->servers; s; s = s->next)
s->tcpfd = -1;
/* The connected socket inherits non-blocking
attribute from the listening socket.
Reset that here. */
if ((flags = fcntl(confd, F_GETFL, 0)) != -1)
fcntl(confd, F_SETFL, flags & ~O_NONBLOCK);
if (listener->family == AF_INET)
dst_addr_4 = iface->addr.in.sin_addr;
buff = tcp_request(daemon, confd, now, dst_addr_4, iface->netmask);
if (!(daemon->options & OPT_DEBUG))
exit(0);
close(confd);
if (buff)
free(buff);
for (s = daemon->servers; s; s = s->next)
if (s->tcpfd != -1)
close(s->tcpfd);
}
}
}
}
}
int make_icmp_sock(void)
{
int fd, flags;
int fd;
int zeroopt = 0;
if ((fd = socket (AF_INET, SOCK_RAW, IPPROTO_ICMP)) != -1)
{
if ((flags = fcntl(fd, F_GETFL, 0)) == -1 ||
fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1 ||
if (!fix_fd(fd) ||
setsockopt(fd, SOL_SOCKET, SO_DONTROUTE, &zeroopt, sizeof(zeroopt)) == -1)
{
close(fd);

View File

@@ -288,7 +288,9 @@ struct dhcp_lease {
int clid_len; /* length of client identifier */
unsigned char *clid; /* clientid */
char *hostname, *fqdn; /* name from client-hostname option or config */
int auth_name; /* hostname came from config, not from client */
char auth_name; /* hostname came from config, not from client */
char new; /* newly created */
char old; /* read from leasefile */
time_t expires; /* lease expiry */
#ifdef HAVE_BROKEN_RTC
unsigned int length;
@@ -411,6 +413,7 @@ struct daemon {
char *username, *groupname;
char *domain_suffix;
char *runfile;
char *lease_change_command;
struct iname *if_names, *if_addrs, *if_except, *dhcp_except;
struct bogus_addr *bogus_addr;
struct server *servers;
@@ -440,6 +443,7 @@ struct daemon {
struct server *last_server;
struct server *srv_save; /* Used for resend on DoD */
size_t packet_len; /* " " */
pid_t script_pid, tcp_pids[MAX_PROCS];
int num_kids;
/* DHCP state */
@@ -522,6 +526,8 @@ int parse_hex(char *in, unsigned char *out, int maxlen,
int memcmp_masked(unsigned char *a, unsigned char *b, int len,
unsigned int mask);
int expand_buf(struct iovec *iov, size_t size);
char *print_mac(struct daemon *daemon, unsigned char *mac, int len);
/* option.c */
struct daemon *read_opts (int argc, char **argv, char *compile_opts);
@@ -541,6 +547,7 @@ struct listener *create_wildcard_listeners(int port);
struct listener *create_bound_listeners(struct daemon *daemon);
int iface_check(struct daemon *daemon, int family,
struct all_addr *addr, char *name);
int fix_fd(int fd);
/* dhcp.c */
void dhcp_init(struct daemon *daemon);
@@ -564,12 +571,11 @@ char *strip_hostname(struct daemon *daemon, char *hostname);
char *host_from_dns(struct daemon *daemon, struct in_addr addr);
/* lease.c */
void lease_update_file(struct daemon *daemon);
void lease_update_file(struct daemon *daemon, time_t now);
void lease_update_dns(struct daemon *daemon);
void lease_init(struct daemon *daemon, time_t now);
struct dhcp_lease *lease_allocate(unsigned char *hwaddr, unsigned char *clid,
int hw_len, int hw_type, int clid_len, struct in_addr addr);
int lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
struct dhcp_lease *lease_allocate(struct in_addr addr);
void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
unsigned char *clid, int hw_len, int hw_type, int clid_len);
void lease_set_hostname(struct dhcp_lease *lease, char *name,
char *suffix, int auth);
@@ -579,6 +585,7 @@ struct dhcp_lease *lease_find_by_client(unsigned char *hwaddr, int hw_len, int h
struct dhcp_lease *lease_find_by_addr(struct in_addr addr);
void lease_prune(struct dhcp_lease *target, time_t now);
void lease_update_from_configs(struct daemon *daemon);
void lease_collect(struct daemon *daemon);
/* rfc2131.c */
size_t dhcp_reply(struct daemon *daemon, struct dhcp_context *context, char *iface_name, size_t sz, time_t now, int unicast_dest);
@@ -586,7 +593,7 @@ size_t dhcp_reply(struct daemon *daemon, struct dhcp_context *context, char *ifa
/* dnsmasq.c */
int make_icmp_sock(void);
int icmp_ping(struct daemon *daemon, struct in_addr addr);
void clear_cache_and_reload(struct daemon *daemon);
void clear_cache_and_reload(struct daemon *daemon, time_t now);
/* isc.c */
#ifdef HAVE_ISC_READER
@@ -599,8 +606,6 @@ void netlink_init(struct daemon *daemon);
int iface_enumerate(struct daemon *daemon, void *parm,
int (*ipv4_callback)(), int (*ipv6_callback)());
void netlink_multicast(struct daemon *daemon);
void arp_inject(int fd, struct in_addr addr,
int iface, unsigned char *mac, unsigned int mac_len);
#endif
/* bpf.c */

View File

@@ -12,64 +12,54 @@
#include "dnsmasq.h"
static struct dhcp_lease *leases;
static struct dhcp_lease *leases, *old_leases;
static int dns_dirty, file_dirty, leases_left;
void lease_init(struct daemon *daemon, time_t now)
{
unsigned int a0, a1, a2, a3;
unsigned long ei;
unsigned char hwaddr[DHCP_CHADDR_MAX];
struct in_addr addr;
struct dhcp_lease *lease;
int clid_len = 0, hw_len, hw_type;
int flags, clid_len, hw_len, hw_type;
dns_dirty = 1;
file_dirty = 0;
leases = NULL;
leases = old_leases = NULL;
leases_left = daemon->dhcp_max;
/* NOTE: need a+ mode to create file if it doesn't exist */
if (!(daemon->lease_stream = fopen(daemon->lease_file, "a+")))
die(_("cannot open or create leases file: %s"), NULL);
flags = fcntl(fileno(daemon->lease_stream), F_GETFD);
if (flags != -1)
fcntl(fileno(daemon->lease_stream), F_SETFD, flags | FD_CLOEXEC);
/* a+ mode lease pointer at end. */
rewind(daemon->lease_stream);
/* client-id max length is 255 which is 255*2 digits + 254 colons
borrow DNS packet buffer which is always larger than 1000 bytes */
while (fscanf(daemon->lease_stream, "%lu %255s %d.%d.%d.%d %255s %764s",
&ei, daemon->dhcp_buff2, &a0, &a1, &a2, &a3,
daemon->dhcp_buff, daemon->packet) == 8)
while (fscanf(daemon->lease_stream, "%lu %255s %16s %255s %764s",
&ei, daemon->dhcp_buff2, daemon->namebuff,
daemon->dhcp_buff, daemon->packet) == 5)
{
#ifndef HAVE_BROKEN_RTC
/* strictly time_t is opaque, but this hack should work on all sane systems,
even when sizeof(time_t) == 8 */
time_t expires = (time_t)ei;
if (ei != 0 && difftime(now, expires) > 0)
{
file_dirty = 1;
continue; /* expired */
}
#endif
hw_len = parse_hex(daemon->dhcp_buff2, hwaddr, DHCP_CHADDR_MAX, NULL, &hw_type);
/* For backwards compatibility, no explict MAC address type means ether. */
if (hw_type == 0 && hw_len != 0)
hw_type = ARPHRD_ETHER;
addr.s_addr = htonl((a0<<24) + (a1<<16) + (a2<<8) + a3);
addr.s_addr = inet_addr(daemon->namebuff);
/* decode hex in place */
if (strcmp(daemon->packet, "*") == 0)
clid_len = 0;
else
clid_len = 0;
if (strcmp(daemon->packet, "*") != 0)
clid_len = parse_hex(daemon->packet, (unsigned char *)daemon->packet, 255, NULL, NULL);
if (!(lease = lease_allocate(hwaddr, (unsigned char *)daemon->packet, hw_len, hw_type, clid_len, addr)))
if (!(lease = lease_allocate(addr)))
die (_("too many stored leases"), NULL);
/* not actually new */
lease->new = 0;
#ifdef HAVE_BROKEN_RTC
if (ei != 0)
lease->expires = (time_t)ei + now;
@@ -77,12 +67,21 @@ void lease_init(struct daemon *daemon, time_t now)
lease->expires = (time_t)0;
lease->length = ei;
#else
lease->expires = expires;
/* strictly time_t is opaque, but this hack should work on all sane systems,
even when sizeof(time_t) == 8 */
lease->expires = (time_t)ei;
#endif
lease_set_hwaddr(lease, hwaddr, (unsigned char *)daemon->packet, hw_len, hw_type, clid_len);
if (strcmp(daemon->dhcp_buff, "*") != 0)
lease_set_hostname(lease, daemon->dhcp_buff, daemon->domain_suffix, 0);
}
/* Some leases may have expired */
file_dirty = 0;
lease_prune(NULL, now);
dns_dirty = 1;
}
void lease_update_from_configs(struct daemon *daemon)
@@ -103,67 +102,83 @@ void lease_update_from_configs(struct daemon *daemon)
lease_set_hostname(lease, name, daemon->domain_suffix, 1); /* updates auth flag only */
}
void lease_update_file(struct daemon *daemon)
static void ourprintf(struct daemon *daemon, int *errp, char *format, ...)
{
va_list ap;
va_start(ap, format);
if (!(*errp) && vfprintf(daemon->lease_stream, format, ap) < 0)
*errp = errno;
va_end(ap);
}
void lease_update_file(struct daemon *daemon, time_t now)
{
struct dhcp_lease *lease;
int i;
time_t next_event;
int i, err = 0;
if (file_dirty != 0)
{
errno = 0;
rewind(daemon->lease_stream);
if (errno != 0 || ftruncate(fileno(daemon->lease_stream), 0) != 0)
{
write_err:
syslog(LOG_ERR, _("failed to write %s: %m (retry in %ds)"), daemon->lease_file, LEASE_RETRY);
alarm(LEASE_RETRY);
return;
}
err = errno;
for (lease = leases; lease; lease = lease->next)
{
#ifdef HAVE_BROKEN_RTC
if (fprintf(daemon->lease_stream, "%u ", lease->length) < 0)
goto write_err;
ourprintf(daemon, &err, "%u ", lease->length);
#else
if (fprintf(daemon->lease_stream, "%lu ", (unsigned long)lease->expires) < 0)
goto write_err;
ourprintf(daemon, &err, "%lu ", (unsigned long)lease->expires);
#endif
if ((lease->hwaddr_type != ARPHRD_ETHER || lease->hwaddr_len == 0) &&
fprintf(daemon->lease_stream, "%.2x-", lease->hwaddr_type) < 0)
goto write_err;
if (lease->hwaddr_type != ARPHRD_ETHER || lease->hwaddr_len == 0)
ourprintf(daemon, &err, "%.2x-", lease->hwaddr_type);
for (i = 0; i < lease->hwaddr_len; i++)
{
if (fprintf(daemon->lease_stream, "%.2x", lease->hwaddr[i]) < 0)
goto write_err;
if (i != lease->hwaddr_len - 1 &&
fprintf(daemon->lease_stream, ":") < 0)
goto write_err;
ourprintf(daemon, &err, "%.2x", lease->hwaddr[i]);
if (i != lease->hwaddr_len - 1)
ourprintf(daemon, &err, ":");
}
if (fprintf(daemon->lease_stream, " %s %s ", inet_ntoa(lease->addr),
lease->hostname && strlen(lease->hostname) != 0 ? lease->hostname : "*") < 0)
goto write_err;
ourprintf(daemon, &err, " %s %s ", inet_ntoa(lease->addr),
lease->hostname && strlen(lease->hostname) != 0 ? lease->hostname : "*");
if (lease->clid && lease->clid_len != 0)
{
for (i = 0; i < lease->clid_len - 1; i++)
if (fprintf(daemon->lease_stream, "%.2x:", lease->clid[i]) < 0)
goto write_err;
if (fprintf(daemon->lease_stream, "%.2x\n", lease->clid[i]) < 0)
goto write_err;
ourprintf(daemon, &err, "%.2x:", lease->clid[i]);
ourprintf(daemon, &err, "%.2x\n", lease->clid[i]);
}
else
if (fprintf(daemon->lease_stream, "*\n") < 0)
goto write_err;
ourprintf(daemon, &err, "*\n");
}
if (fflush(daemon->lease_stream) != 0)
goto write_err;
if (fsync(fileno(daemon->lease_stream)) < 0)
goto write_err;
file_dirty = 0;
if (fflush(daemon->lease_stream) != 0 ||
fsync(fileno(daemon->lease_stream)) < 0)
err = errno;
if (!err)
file_dirty = 0;
}
/* Set alarm for when the first lease expires + slop. */
for (next_event = 0, lease = leases; lease; lease = lease->next)
if (lease->expires != 0 &&
(next_event == 0 || difftime(next_event, lease->expires + 10) > 0.0))
next_event = lease->expires + 10;
if (err)
{
if (next_event == 0 || difftime(next_event, LEASE_RETRY + now) > 0.0)
next_event = LEASE_RETRY + now;
syslog(LOG_ERR, _("failed to write %s: %s (retry in %us)"),
daemon->lease_file, strerror(err),
(unsigned int)difftime(next_event, now));
}
if (next_event != 0)
alarm((unsigned)difftime(next_event, now));
}
void lease_update_dns(struct daemon *daemon)
@@ -194,18 +209,16 @@ void lease_prune(struct dhcp_lease *target, time_t now)
if ((lease->expires != 0 && difftime(now, lease->expires) > 0) || lease == target)
{
file_dirty = 1;
*up = lease->next; /* unlink */
if (lease->hostname)
{
free(lease->hostname);
dns_dirty = 1;
}
if (lease->fqdn)
free(lease->fqdn);
if (lease->clid)
free(lease->clid);
free(lease);
dns_dirty = 1;
*up = lease->next; /* unlink */
/* Put on old_leases list 'till we
can run the script */
lease->next = old_leases;
old_leases = lease;
leases_left++;
}
else
@@ -248,30 +261,20 @@ struct dhcp_lease *lease_find_by_addr(struct in_addr addr)
}
struct dhcp_lease *lease_allocate(unsigned char *hwaddr, unsigned char *clid,
int hw_len, int hw_type, int clid_len, struct in_addr addr)
struct dhcp_lease *lease_allocate(struct in_addr addr)
{
struct dhcp_lease *lease;
if (!leases_left || !(lease = malloc(sizeof(struct dhcp_lease))))
return NULL;
lease->clid = NULL;
lease->hostname = lease->fqdn = NULL;
memset(lease, 0, sizeof(struct dhcp_lease));
lease->new = 1;
lease->addr = addr;
memset(lease->hwaddr, 0, DHCP_CHADDR_MAX);
lease->hwaddr_len = 0;
lease->hwaddr_type = 0;
lease->hwaddr_len = 225; /* illegal value */
lease->expires = 1;
#ifdef HAVE_BROKEN_RTC
lease->length = 0xffffffff; /* illegal value */
#endif
if (!lease_set_hwaddr(lease, hwaddr, clid, hw_len, hw_type, clid_len))
{
free(lease);
return NULL;
}
lease->next = leases;
leases = lease;
@@ -309,22 +312,18 @@ void lease_set_expires(struct dhcp_lease *lease, unsigned int len, time_t now)
#endif
}
int lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
unsigned char *clid, int hw_len, int hw_type, int clid_len)
{
/* must have some sort of unique-id */
if (hw_len == 0 && (clid_len == 0 || !clid))
return 0;
if (hw_len != lease->hwaddr_len ||
hw_type != lease->hwaddr_type ||
hw_len == 0 ||
memcmp(lease->hwaddr, hwaddr, hw_len) != 0)
(hw_len != 0 && memcmp(lease->hwaddr, hwaddr, hw_len) != 0))
{
file_dirty = 1;
memcpy(lease->hwaddr, hwaddr, hw_len);
lease->hwaddr_len = hw_len;
lease->hwaddr_type = hw_type;
lease->old = 1; /* run script on change */
}
/* only update clid when one is available, stops packets
@@ -341,7 +340,7 @@ int lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
if (lease->clid)
free(lease->clid);
if (!(lease->clid = malloc(clid_len)))
return 0;
return;
}
else if (memcmp(lease->clid, clid, clid_len) != 0)
file_dirty = 1;
@@ -349,8 +348,6 @@ int lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr,
lease->clid_len = clid_len;
memcpy(lease->clid, clid, clid_len);
}
return 1;
}
void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int auth)
@@ -363,7 +360,7 @@ void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int
lease->auth_name = auth;
return;
}
if (!name && !lease->hostname)
return;
@@ -379,6 +376,7 @@ void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int
{
if (lease_tmp->auth_name && !auth)
return;
lease_tmp->old = 1; /* call script on change */
new_name = lease_tmp->hostname;
lease_tmp->hostname = NULL;
if (lease_tmp->fqdn)
@@ -410,8 +408,82 @@ void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int
lease->auth_name = auth;
file_dirty = 1;
dns_dirty = 1;
dns_dirty = 1;
lease->old = 1; /* run script on change */
}
#ifndef NO_FORK
static pid_t run_script(struct daemon *daemon, char *action, struct dhcp_lease *lease)
{
if (daemon->lease_change_command)
{
char *mac = print_mac(daemon, lease->hwaddr, lease->hwaddr_len);
char *addr = inet_ntoa(lease->addr);
char *com = strrchr(daemon->lease_change_command, '/');
pid_t pid = fork();
if (pid == -1)
return 0; /* fork error */
else if (pid != 0)
return pid;
execl(daemon->lease_change_command,
com ? com+1 : daemon->lease_change_command,
action, mac, addr, lease->hostname, (char*)NULL);
/* log socket should still be open, right? */
syslog(LOG_ERR, _("failed to execute %s: %m"),
daemon->lease_change_command);
_exit(0);
}
return 0;
}
#endif
/* deleted leases get transferred to the old_leases list.
remove them here, after calling the lease change
script. Also run the lease change script on new leases */
void lease_collect(struct daemon *daemon)
{
struct dhcp_lease *lease;
while (old_leases)
{
if (daemon->script_pid != 0)
return; /* busy */
lease = old_leases;
old_leases = lease->next;
#ifndef NO_FORK
daemon->script_pid = run_script(daemon, "del", lease);
#endif
if (lease->hostname)
free(lease->hostname);
if (lease->fqdn)
free(lease->fqdn);
if (lease->clid)
free(lease->clid);
free(lease);
}
for (lease = leases; lease; lease = lease->next)
if (lease->new || lease->old)
{
if (daemon->script_pid != 0)
return; /* busy */
#ifndef NO_FORK
daemon->script_pid = run_script(daemon, lease->new ? "add" : "old", lease);
#endif
lease->new = lease->old = 0;
}
}

View File

@@ -48,8 +48,14 @@ void netlink_init(struct daemon *daemon)
}
if (daemon->netlinkfd == -1)
die(_("cannot create RTnetlink socket: %s"), NULL);
die(_("cannot create netlink socket: %s"), NULL);
else
{
int flags = fcntl(daemon->netlinkfd, F_GETFD);
if (flags != -1)
fcntl(daemon->netlinkfd, F_SETFD, flags | FD_CLOEXEC);
}
iov.iov_len = 200;
iov.iov_base = safe_malloc(iov.iov_len);
}
@@ -114,7 +120,7 @@ int iface_enumerate(struct daemon *daemon, void *parm, int (*ipv4_callback)(), i
again:
req.nlh.nlmsg_len = sizeof(req);
req.nlh.nlmsg_type = RTM_GETADDR;
req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST;
req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST | NLM_F_ACK;
req.nlh.nlmsg_pid = 0;
req.nlh.nlmsg_seq = ++seq;
req.g.rtgen_family = family;
@@ -215,7 +221,7 @@ static void nl_err(struct nlmsghdr *h)
{
struct nlmsgerr *err = NLMSG_DATA(h);
if (err->error != 0)
syslog(LOG_ERR, _("RTnetlink returns error: %s"), strerror(-(err->error)));
syslog(LOG_ERR, _("netlink returns error: %s"), strerror(-(err->error)));
}
/* We arrange to receive netlink multicast messages whenever the network route is added.
@@ -234,45 +240,6 @@ static void nl_routechange(struct daemon *daemon, struct nlmsghdr *h)
&daemon->srv_save->addr.sa, sa_len(&daemon->srv_save->addr)) == -1 && retry_send());
}
}
void arp_inject(int fd, struct in_addr ip_addr, int iface,
unsigned char *mac, unsigned int mac_len)
{
struct sockaddr_nl addr;
struct {
struct nlmsghdr nlh;
struct ndmsg m;
struct rtattr addr_attr;
struct in_addr addr;
struct rtattr ll_attr;
char mac[DHCP_CHADDR_MAX];
} req;
memset(&req, 0, sizeof(req));
memset(&addr, 0, sizeof(addr));
addr.nl_family = AF_NETLINK;
req.nlh.nlmsg_len = sizeof(req);
req.nlh.nlmsg_type = RTM_NEWNEIGH;
req.nlh.nlmsg_flags = NLM_F_REQUEST | NLM_F_REPLACE | NLM_F_CREATE;
req.m.ndm_family = AF_INET;
req.m.ndm_ifindex = iface;
req.m.ndm_state = NUD_REACHABLE;
req.addr_attr.rta_type = NDA_DST;
req.addr_attr.rta_len = RTA_LENGTH(sizeof(struct in_addr));
req.addr = ip_addr;
req.ll_attr.rta_type = NDA_LLADDR;
req.ll_attr.rta_len = RTA_LENGTH(mac_len);
memcpy(req.mac, mac, mac_len);
while(sendto(fd, (void *)&req, sizeof(req), 0, (struct sockaddr *)&addr, sizeof(addr)) == -1 &&
retry_send());
}
#endif

View File

@@ -180,11 +180,25 @@ int enumerate_interfaces(struct daemon *daemon)
#endif
}
/* set NONBLOCK and CLOEXEC bits on fd: See Stevens 16.6 */
int fix_fd(int fd)
{
int flags;
if ((flags = fcntl(fd, F_GETFL)) == -1 ||
fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1 ||
(flags = fcntl(fd, F_GETFD)) == -1 ||
fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1)
return 0;
return 1;
}
#if defined(HAVE_IPV6)
static int create_ipv6_listener(struct listener **link, int port)
{
union mysockaddr addr;
int tcpfd, fd, flags;
int tcpfd, fd;
struct listener *l;
int opt = 1;
@@ -210,10 +224,8 @@ static int create_ipv6_listener(struct listener **link, int port)
setsockopt(tcpfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
setsockopt(fd, IPV6_LEVEL, IPV6_V6ONLY, &opt, sizeof(opt)) == -1 ||
setsockopt(tcpfd, IPV6_LEVEL, IPV6_V6ONLY, &opt, sizeof(opt)) == -1 ||
(flags = fcntl(fd, F_GETFL, 0)) == -1 ||
fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1 ||
(flags = fcntl(tcpfd, F_GETFL, 0)) == -1 ||
fcntl(tcpfd, F_SETFL, flags | O_NONBLOCK) == -1 ||
!fix_fd(fd) ||
!fix_fd(tcpfd) ||
#ifdef IPV6_RECVPKTINFO
setsockopt(fd, IPV6_LEVEL, IPV6_RECVPKTINFO, &opt, sizeof(opt)) == -1 ||
#else
@@ -240,7 +252,6 @@ struct listener *create_wildcard_listeners(int port)
union mysockaddr addr;
int opt = 1;
struct listener *l, *l6 = NULL;
int flags;
int tcpfd, fd;
addr.in.sin_family = AF_INET;
@@ -257,14 +268,12 @@ struct listener *create_wildcard_listeners(int port)
if (setsockopt(tcpfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
bind(tcpfd, (struct sockaddr *)&addr, sa_len(&addr)) == -1 ||
listen(tcpfd, 5) == -1 ||
(flags = fcntl(tcpfd, F_GETFL, 0)) == -1 ||
fcntl(tcpfd, F_SETFL, flags | O_NONBLOCK) == -1 ||
!fix_fd(tcpfd) ||
#ifdef HAVE_IPV6
!create_ipv6_listener(&l6, port) ||
#endif
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
(flags = fcntl(fd, F_GETFL, 0)) == -1 ||
fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1 ||
!fix_fd(fd) ||
#if defined(HAVE_LINUX_NETWORK)
setsockopt(fd, SOL_IP, IP_PKTINFO, &opt, sizeof(opt)) == -1 ||
#elif defined(IP_RECVDSTADDR) && defined(IP_RECVIF)
@@ -288,7 +297,7 @@ struct listener *create_bound_listeners(struct daemon *daemon)
struct listener *listeners = NULL;
struct irec *iface;
int flags, opt = 1;
int opt = 1;
for (iface = daemon->interfaces; iface; iface = iface->next)
{
@@ -300,11 +309,8 @@ struct listener *create_bound_listeners(struct daemon *daemon)
(new->fd = socket(iface->addr.sa.sa_family, SOCK_DGRAM, 0)) == -1 ||
setsockopt(new->fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
setsockopt(new->tcpfd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) == -1 ||
/* See Stevens 16.6 */
(flags = fcntl(new->tcpfd, F_GETFL, 0)) == -1 ||
fcntl(new->tcpfd, F_SETFL, flags | O_NONBLOCK) == -1 ||
(flags = fcntl(new->fd, F_GETFL, 0)) == -1 ||
fcntl(new->fd, F_SETFL, flags | O_NONBLOCK) == -1)
!fix_fd(new->tcpfd) ||
!fix_fd(new->fd))
die(_("failed to create listening socket: %s"), NULL);
#ifdef HAVE_IPV6
@@ -348,7 +354,6 @@ struct listener *create_bound_listeners(struct daemon *daemon)
struct serverfd *allocate_sfd(union mysockaddr *addr, struct serverfd **sfds)
{
struct serverfd *sfd;
int flags;
/* may have a suitable one already */
for (sfd = *sfds; sfd; sfd = sfd->next )
@@ -367,8 +372,7 @@ struct serverfd *allocate_sfd(union mysockaddr *addr, struct serverfd **sfds)
}
if (bind(sfd->fd, (struct sockaddr *)addr, sa_len(addr)) == -1 ||
(flags = fcntl(sfd->fd, F_GETFL, 0)) == -1 ||
fcntl(sfd->fd, F_SETFL, flags | O_NONBLOCK) == -1)
!fix_fd(sfd->fd))
{
int errsave = errno; /* save error from bind. */
close(sfd->fd);

View File

@@ -19,7 +19,7 @@ struct myoption {
int val;
};
#define OPTSTRING "531yZDNLERKzowefnbvhdkqr:m:p:c:l:s:i:t:u:g:a:x:S:C:A:T:H:Q:I:B:F:G:O:M:X:V:U:j:P:J:W:Y:2:4:"
#define OPTSTRING "531yZDNLERKzowefnbvhdkqr:m:p:c:l:s:i:t:u:g:a:x:S:C:A:T:H:Q:I:B:F:G:O:M:X:V:U:j:P:J:W:Y:2:4:6:"
static const struct myoption opts[] = {
{"version", 0, 0, 'v'},
@@ -82,6 +82,7 @@ static const struct myoption opts[] = {
{"bootp-dynamic", 0, 0, '3'},
{"dhcp-mac", 1, 0, '4'},
{"no-ping", 0, 0, '5'},
{"dhcp-script", 1, 0, '6'},
{0, 0, 0, 0}
};
@@ -180,6 +181,7 @@ static const struct {
{ "-3, --bootp-dynamic", gettext_noop("Enable dynamic address allocation for bootp."), NULL },
{ "-4, --dhcp-mac=<id>,<mac address>", gettext_noop("Map MAC address (with wildcards) to option set."), NULL },
{ "-5, --no-ping", gettext_noop("Disable ICMP echo address checking in the DHCP server."), NULL },
{ "-6, --dhcp-script=path", gettext_noop("Script to run on DHCP lease creation and destruction."), NULL },
{ NULL, NULL, NULL }
};
@@ -609,6 +611,15 @@ struct daemon *read_opts (int argc, char **argv, char *compile_opts)
case 'l':
daemon->lease_file = safe_string_alloc(arg);
break;
case '6':
#ifdef NO_FORK
problem = _("cannot run scripts under uClinux");
option = '?';
#else
daemon->lease_change_command = safe_string_alloc(arg);
#endif
break;
case 'H':
{

View File

@@ -72,7 +72,6 @@ static void bootp_option_put(struct dhcp_packet *mess,
struct dhcp_boot *boot_opts, struct dhcp_netid *netids);
static struct in_addr option_addr(unsigned char *opt);
static unsigned int option_uint(unsigned char *opt, int size);
static char *print_mac(struct daemon *daemon, unsigned char *mac, int len);
static void log_packet(struct daemon *daemon, char *type, struct in_addr *addr,
struct dhcp_packet *mess, char *interface, char *string);
static unsigned char *option_find(struct dhcp_packet *mess, size_t size, int opt_type, int minsize);
@@ -329,7 +328,9 @@ size_t dhcp_reply(struct daemon *daemon, struct dhcp_context *context, char *ifa
mess->yiaddr = lease->addr;
}
if (!message && !lease && (!(lease = lease_allocate(mess->chaddr, NULL, mess->hlen, mess->htype, 0, mess->yiaddr))))
if (!message &&
!lease &&
(!(lease = lease_allocate(mess->yiaddr))))
message = _("no leases left");
if (!message && !(context = narrow_context(context, mess->yiaddr)))
@@ -730,7 +731,11 @@ size_t dhcp_reply(struct daemon *daemon, struct dhcp_context *context, char *ifa
else if ((ltmp = lease_find_by_addr(mess->yiaddr)) && ltmp != lease)
message = _("address in use");
else if (!lease && !(lease = lease_allocate(mess->chaddr, clid, mess->hlen, mess->htype, clid_len, mess->yiaddr)))
else if (!clid && mess->hlen == 0)
message = _("no unique-id");
else if (!lease &&
!(lease = lease_allocate(mess->yiaddr)))
message = _("no leases left");
}
@@ -855,25 +860,10 @@ static unsigned int calc_time(struct dhcp_context *context, struct dhcp_config *
return time;
}
static char *print_mac(struct daemon *daemon, unsigned char *mac, int len)
{
char *p = daemon->namebuff;
int i;
if (len == 0)
sprintf(p, "<null> ");
else
for (i = 0; i < len; i++)
p += sprintf(p, "%.2x%s", mac[i], (i == len - 1) ? " " : ":");
return daemon->namebuff;
}
static void log_packet(struct daemon *daemon, char *type, struct in_addr *addr,
struct dhcp_packet *mess, char *interface, char *string)
{
syslog(LOG_INFO, "%s%s(%s) %s%s%s%s",
syslog(LOG_INFO, "%s%s(%s) %s%s%s %s",
type ? "DHCP" : "BOOTP",
type ? type : "",
interface,

View File

@@ -396,3 +396,17 @@ int expand_buf(struct iovec *iov, size_t size)
return 1;
}
char *print_mac(struct daemon *daemon, unsigned char *mac, int len)
{
char *p = daemon->namebuff;
int i;
if (len == 0)
sprintf(p, "<null>");
else
for (i = 0; i < len; i++)
p += sprintf(p, "%.2x%s", mac[i], (i == len - 1) ? "" : ":");
return daemon->namebuff;
}