import of dnsmasq-2.52.tar.gz

This commit is contained in:
Simon Kelley
2010-01-22 20:16:09 +00:00
parent 1f15b81d61
commit 316e2730ac
43 changed files with 2694 additions and 2033 deletions

104
CHANGELOG
View File

@@ -1,3 +1,107 @@
version 2.52
Work around a Linux kernel bug which insists that the
length of the option passed to setsockopt must be at least
sizeof(int) bytes, even if we're calling SO_BINDTODEVICE
and the device name is "lo". Note that this is fixed
in kernel 2.6.31, but the workaround is harmless and
allows earlier kernels to be used. Also fix dnsmasq
bug which reported the wrong address when this failed.
Thanks to Fedor for finding this.
The API for IPv6 PKTINFO changed around Linux kernel
2.6.14. Workaround the case where dnsmasq is compiled
against newer headers, but then run on an old kernel:
necessary for some *WRT distros.
Re-read the set of network interfaces when re-loading
/etc/resolv.conf if --bind-interfaces is not set. This
handles the case that loopback interfaces do not exist
when dnsmasq is first started.
Tweak the PXE code to support port 4011. This should
reduce broadcasts and make things more reliable when other
servers are around. It also improves inter-operability
with certain clients.
Make a pxe-service configuration with no filename or boot
service type legal: this does a local boot. eg.
pxe-service=x86PC, "Local boot"
Be more conservative in detecting "A for A"
queries. Dnsmasq checks if the name in a type=A query looks
like a dotted-quad IP address and answers the query itself
if so, rather than forwarding it. Previously dnsmasq
relied in the library function inet_addr() to convert
addresses, and that will accept some things which are
confusing in this context, like 1.2.3 or even just
1234. Now we only do A for A processing for four decimal
numbers delimited by dots.
A couple of tweaks to fix compilation on Solaris. Thanks
to Joel Macklow for help with this.
Another Solaris compilation tweak, needed for Solaris
2009.06. Thanks to Lee Essen for that.
Added extract packaging stuff from Lee Essen to
contrib/Solaris10.
Increased the default limit on number of leases to 1000
(from 150). This is mainly a defence against DoS attacks,
and for the average "one for two class C networks"
installation, IP address exhaustion does that just as
well. Making the limit greater than the number of IP
addresses available in such an installation removes a
surprise which otherwise can catch people out.
Removed extraneous trailing space in the value of the
DNSMASQ_TIME_REMAINING DNSMASQ_LEASE_LENGTH and
DNSMASQ_LEASE_EXPIRES environment variables. Thanks to
Gildas Le Nadan for spotting this.
Provide the network-id tags for a DHCP transaction to
the lease-change script in the environment variable
DNSMASQ_TAGS. A good suggestion from Gildas Le Nadan.
Add support for RFC3925 "Vendor-Identifying Vendor
Options". The syntax looks like this:
--dhcp-option=vi-encap:<enterprise number>, .........
Add support to --dhcp-match to allow matching against
RFC3925 "Vendor-Identifying Vendor Classes". The syntax
looks like this:
--dhcp-match=tag,vi-encap<enterprise number>, <value>
Add some application specific code to assist in
implementing the Broadband forum TR069 CPE-WAN
specification. The details are in contrib/CPE-WAN/README
Increase the default DNS packet size limit to 4096, as
recommended by RFC5625 section 4.4.3. This can be
reconfigured using --edns-packet-max if needed. Thanks to
Francis Dupont for pointing this out.
Rewrite query-ids even for DNSSEC signed packets, since
this is allowed by RFC5625 section 4.5.
Use getopt_long by default on OS X. It has been supported
since version 10.3.0. Thanks to Arek Dreyer for spotting
this.
Added up-to-date startup configuration for MacOSX/launchd
in contrib/MacOSX-launchd. Thanks to Arek Dreyer for
providing this.
Fix link error when including Dbus but excluding DHCP.
Thanks to Oschtan for the bug report.
Updated French translation. Thanks to Gildas Le Nadan.
Updated Polish translation. Thanks to Jan Psota.
Updated Spanish translation. Thanks to Chris Chatham.
version 2.51
Add support for internationalised DNS. Non-ASCII characters
in domain names found in /etc/hosts, /etc/ethers and

View File

@@ -1,4 +1,4 @@
# dnsmasq is Copyright (c) 2000-2009 Simon Kelley
# dnsmasq is Copyright (c) 2000-2010 Simon Kelley
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,29 +18,33 @@ BINDIR = ${PREFIX}/sbin
MANDIR = ${PREFIX}/share/man
LOCALEDIR = ${PREFIX}/share/locale
SRC = src
PO = po
MAN = man
PKG_CONFIG = pkg-config
INSTALL = install
MSGMERGE = msgmerge
MSGFMT = msgfmt
XGETTEXT = xgettext
CFLAGS = -Wall -W -O2
#################################################################
SRC = src
PO = po
MAN = man
DNSMASQ_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --cflags dbus-1`
DNSMASQ_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --libs dbus-1`
SUNOS_LIBS= `if uname | grep SunOS 2>&1 >/dev/null; then echo -lsocket -lnsl -lposix4; fi`
all : dnsmasq
OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
helper.o tftp.o log.o
dnsmasq :
all :
@cd $(SRC) && $(MAKE) \
DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS)" \
DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS)" \
-f ../bld/Makefile dnsmasq
BUILD_CFLAGS="$(DNSMASQ_CFLAGS)" \
BUILD_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS)" \
-f ../Makefile dnsmasq
clean :
rm -f *~ $(SRC)/*.mo contrib/*/*~ */*~ $(SRC)/*.pot
@@ -56,13 +60,12 @@ install-common :
all-i18n :
@cd $(SRC) && $(MAKE) \
I18N=-DLOCALEDIR='\"$(LOCALEDIR)\"' \
DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS) `$(PKG_CONFIG) --cflags libidn`" \
DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS) `$(PKG_CONFIG) --libs libidn`" \
-f ../bld/Makefile dnsmasq
BUILD_CFLAGS="$(DNSMASQ_CFLAGS) `$(PKG_CONFIG) --cflags libidn`" \
BUILD_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS) `$(PKG_CONFIG) --libs libidn`" \
-f ../Makefile dnsmasq
@cd $(PO); for f in *.po; do \
cd ../$(SRC) && $(MAKE) \
MSGMERGE=$(MSGMERGE) MSGFMT=$(MSGFMT) XGETTEXT=$(XGETTEXT) \
-f ../bld/Makefile $${f%.po}.mo; \
-f ../Makefile $${f%.po}.mo; \
done
install-i18n : all-i18n install-common
@@ -70,9 +73,25 @@ install-i18n : all-i18n install-common
cd $(MAN); ../bld/install-man $(DESTDIR)$(MANDIR) $(INSTALL)
merge :
@cd $(SRC) && $(MAKE) XGETTEXT=$(XGETTEXT) -f ../bld/Makefile dnsmasq.pot
@cd $(SRC) && $(MAKE) -f ../Makefile dnsmasq.pot
@cd $(PO); for f in *.po; do \
echo -n msgmerge $$f && $(MSGMERGE) --no-wrap -U $$f ../$(SRC)/dnsmasq.pot; \
done
# rules below are targets in recusive makes with cwd=$(SRC)
.c.o:
$(CC) $(CFLAGS) $(COPTS) $(I18N) $(BUILD_CFLAGS) $(RPM_OPT_FLAGS) -c $<
dnsmasq : $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(BUILD_LIBS) $(LIBS)
dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h
$(XGETTEXT) -d dnsmasq --foreign-user --omit-header --keyword=_ -o $@ -i $(OBJS:.o=.c)
%.mo : ../po/%.po dnsmasq.pot
$(MSGMERGE) -o - ../po/$*.po dnsmasq.pot | $(MSGFMT) -o $*.mo -
.PHONY : all clean install install-common all-i18n install-i18n merge

View File

@@ -1,17 +0,0 @@
CFLAGS = -Wall -W -O2
OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \
helper.o tftp.o log.o
.c.o:
$(CC) $(CFLAGS) $(COPTS) $(I18N) $(DNSMASQ_CFLAGS) $(RPM_OPT_FLAGS) -c $<
dnsmasq : $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(DNSMASQ_LIBS) $(LIBS)
dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h
$(XGETTEXT) -d dnsmasq --foreign-user --omit-header --keyword=_ -o $@ -i $(OBJS:.o=.c)
%.mo : ../po/%.po dnsmasq.pot
$(MSGMERGE) -o - ../po/$*.po dnsmasq.pot | $(MSGFMT) -o $*.mo -

36
contrib/CPE-WAN/README Normal file
View File

@@ -0,0 +1,36 @@
Dnsmasq from version 2.52 has a couple of rather application-specific
features designed to allow for implementation of the DHCP part of CPE
WAN management protocol.
http://www.broadband-forum.org/technical/download/TR-069_Amendment-2.pdf
http://en.wikipedia.org/wiki/TR-069
The relevant sections are F.2.1 "Gateway Requirements" and F.2.5 "DHCP
Vendor Options".
First, dnsmasq checks for DHCP requests which contain an option-125
vendor-class option which in turn holds a vendor section for IANA
enterprise number 3561 which contains sub-options codes 1 and 2. If
this is present then the network-tag "cpewan-id" is set.
This allows dnsmasq to be configured to reply with the correct
GatewayManufacturerOUI, GatewaySerialNumber and GatewayProductClass like this:
dhcp-option=cpewan-id,vi-encap:3561,4,"<GatewayManufacturerOUI>"
dhcp-option=cpewan-id,vi-encap:3561,5,"<SerialNumber>"
dhcp-option=cpewan-id,vi-encap:3561,6,"<ProductClass>"
Second, the received sub-options 1, 2, and 3 are passed to the DHCP
lease-change script as the environment variables DNSMASQ_CPEWAN_OUI,
DNSMASQ_CPEWAN_SERIAL, and DNSMASQ_CPEWAN_CLASS respectively. This allows
the script to be used to maintain a ManageableDevice table as
specified in F.2.1. Note that this data is not retained in dnsmasq's
internal DHCP lease database, so it is not available on every call to
the script (this is the same as some other data such as vendor and
user classes). It will however be available for at least the "add"
call, and should be stored then against the IP address as primary
key for future use.
This feature was added to dnsmasq under sponsorship from Ericsson.

View File

@@ -0,0 +1,38 @@
This is a launchd item for Mac OS X and Mac OS X Server.
For more information about launchd, the
"System wide and per-user daemon/agent manager", see the launchd
man page, or the wikipedia page: http://en.wikipedia.org/wiki/Launchd
This launchd item uses the following flags:
--keep-in-foreground - this is crucial for use with launchd
--log-queries - this is optional and you can remove it
--log-facility=/var/log/dnsmasq.log - again optional instead of system.log
To use this launchd item for dnsmasq:
If you don't already have a folder /Library/LaunchDaemons, then create one:
sudo mkdir /Library/LaunchDaemons
sudo chown root:admin /Library/LaunchDaemons
sudo chmod 775 /Library/LaunchDaemons
Copy uk.org.thekelleys.dnsmasq.plist there and then set ownership/permissions:
sudo cp uk.org.thekelleys.dnsmasq.plist /Library/LaunchDaemons/
sudo chown root:admin /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
sudo chmod 644 /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
Optionally, edit your dnsmasq configuration file to your liking.
To start the launchd job, which starts dnsmaq, reboot or use the command:
sudo launchctl load /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
To stop the launchd job, which stops dnsmasq, use the command:
sudo launchctl unload /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
If you want to permanently stop the launchd job, so it doesn't start the job even after a reboot, use the following command:
sudo launchctl unload -w /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
If you make a change to the configuration file, you should relaunch dnsmasq;
to do this unload and then load again:
sudo launchctl unload /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
sudo launchctl load /Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>uk.org.thekelleys.dnsmasq</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/dnsmasq</string>
<string>--keep-in-foreground</string>
<string>--log-queries</string>
<string>--log-facility=/var/log/dnsmasq.log</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,25 @@
Ok, script attached ... seems to be working ok for me,
tried to install and remove a few times. It does the
right thing with the smf when installing, you can then
simply enable the service. Upon removal it cleans up the
files but won't clean up the services (I think until
a reboot) ... I've only started looking at the new
packages stuff in the last day or two, so I could be
missing something, but I can't find any way to force
a proper cleanup.
It requires that you have a writable repository setup
as per the docs on the opensolaris website and it will
create a dnsmasq package (package name is a variable
in the script). The script takes a version number for
the package and assumes that it's in the contrib/Solaris10
directory, it then works out the base tree directory
from $0.
i.e. $ contrib/Solaris10/create_package 2.52-1
or $ cd contrib/Solaris10; ./create_package 2.52-1
It's a bit more complex than it could be because I
prefer putting the daemon in /usr/sbin and the config
in /etc, so the script will actually create a new
version of the existing contrib dnsmasq.xml.

View File

@@ -0,0 +1,87 @@
#!/bin/sh
#
# For our package, and for the SMF script, we need to define where we
# want things to go...
#
BIN_DIR="/usr/sbin"
CONF_DIR="/etc"
MAN_DIR="/usr/man/man8"
PACKAGE_NAME="dnsmasq"
#
# Since we know we are in the contrib directory we can work out where
# the rest of the tree is...
#
BASEDIR="`dirname $0`/../.."
#
# We need a version number to use for the package creation...
#
if [ $# != 1 ]; then
echo "Usage: $0 <package_version_number>" >&2
exit 1
fi
VERSION="$1"
#
# First thing we do is fix-up the smf file to use the paths we prefer...
#
if [ ! -f "${BASEDIR}/contrib/Solaris10/dnsmasq.xml" ]; then
echo "$0: unable to find contrib/Solaris10/dnsmasq.xml" >&2
exit 1
fi
echo "Fixing up smf file ... \c"
cat "${BASEDIR}/contrib/Solaris10/dnsmasq.xml" | \
sed -e "s%/usr/local/etc%${CONF_DIR}%" \
-e "s%/usr/local/sbin%${BIN_DIR}%" \
-e "s%/usr/local/man%${MAN_DIR}%" > ${BASEDIR}/contrib/Solaris10/dnsmasq-pkg.xml
echo "done."
echo "Creating packaging file ... \c"
cat <<EOF >${BASEDIR}/contrib/Solaris10/dnsmasq_package.inc
#
# header
#
set name=pkg.name value="dnsmasq"
set name=pkg.description value="dnsmasq daemon - dns, dhcp, tftp etc"
set name=pkg.detailed_url value="http://www.thekelleys.org.uk/dnsmasq/doc.html"
set name=info.maintainer value="TBD (tbd@tbd.com)"
set name=info.upstream value="dnsmasq-discuss@lists.thekelleys.org.uk"
set name=info.upstream_url value="http://www.thekelleys.org.uk/dnsmasq/doc.html"
#
# dependencies ... none?
#
#
# directories
#
dir mode=0755 owner=root group=bin path=${BIN_DIR}/
dir mode=0755 owner=root group=sys path=${CONF_DIR}/
dir mode=0755 owner=root group=sys path=${MAN_DIR}/
dir mode=0755 owner=root group=sys path=/var/
dir mode=0755 owner=root group=sys path=/var/svc
dir mode=0755 owner=root group=sys path=/var/svc/manifest
dir mode=0755 owner=root group=sys path=/var/svc/manifest/network
#
# files
#
file ${BASEDIR}/src/dnsmasq mode=0555 owner=root group=bin path=${BIN_DIR}/dnsmasq
file ${BASEDIR}/man/dnsmasq.8 mode=0555 owner=root group=bin path=${MAN_DIR}/dnsmasq.8
file ${BASEDIR}/dnsmasq.conf.example mode=0644 owner=root group=sys path=${CONF_DIR}/dnsmasq.conf preserve=strawberry
file ${BASEDIR}/contrib/Solaris10/dnsmasq-pkg.xml mode=0644 owner=root group=sys path=/var/svc/manifest/network/dnsmasq.xml restart_fmri=svc:/system/manifest-import:default
EOF
echo "done."
echo "Creating package..."
eval `pkgsend open ${PACKAGE_NAME}@${VERSION}`
pkgsend include ${BASEDIR}/contrib/Solaris10/dnsmasq_package.inc
if [ "$?" = 0 ]; then
pkgsend close
else
echo "Errors"
fi

View File

@@ -365,7 +365,7 @@
#pxe-prompt="Press F8 for menu.", 60
# Available boot services. for PXE.
#pxe-service=x86PC, "Boot from local disk", 0
#pxe-service=x86PC, "Boot from local disk"
# Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
#pxe-service=x86PC, "Install Linux", pxelinux

View File

@@ -123,8 +123,7 @@ to zero completely disables DNS function, leaving only DHCP and/or TFTP.
.TP
.B \-P, --edns-packet-max=<size>
Specify the largest EDNS.0 UDP packet which is supported by the DNS
forwarder. Defaults to 1280, which is the RFC2671-recommended maximum
for ethernet.
forwarder. Defaults to 4096, which is the RFC5625-recommended size.
.TP
.B \-Q, --query-port=<query_port>
Send outbound DNS queries from, and listen for their replies on, the
@@ -427,7 +426,7 @@ Set the maximum number of concurrent DNS queries. The default value is
where this needs to be increased is when using web-server log file
resolvers, which can generate large numbers of concurrent queries.
.TP
.B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<lease time>]
.B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[,<netmask>[,<broadcast>]][,<lease time>]
Enable the DHCP server. Addresses will be given out from the range
<start-addr> to <end-addr> and from statically defined addresses given
in
@@ -564,7 +563,7 @@ have exactly the same effect as
options containing the same information. /etc/ethers is re-read when
dnsmasq receives SIGHUP.
.TP
.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]
.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]
Specify different or extra options to DHCP clients. By default,
dnsmasq sends some standard options to DHCP clients, the netmask and
broadcast address are set to the same as the host running dnsmasq, and
@@ -632,10 +631,16 @@ options are given which are encapsulated with the same option number
then they will be correctly combined into one encapsulated option.
encap: and vendor: are may not both be set in the same dhcp-option.
The final variant on encapsulated options is "Vendor-Identifying
Vendor Options" as specified by RFC3925. These are denoted like this:
.B --dhcp-option=vi-encap:2, 10, "text"
The number in the vi-encap: section is the IANA enterprise number
used to identify this option.
The address 0.0.0.0 is not treated specially in
encapsulated options.
.TP
.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]]
.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]]
This works in exactly the same way as
.B --dhcp-option
except that the option will always be sent, even if the client does
@@ -687,7 +692,7 @@ agent ID and one provided by a relay agent, the network-id tag is set.
.B --dhcp-subscrid=<network-id>,<subscriber-id>
Map from RFC3993 subscriber-id relay agent options to network-id tags.
.TP
.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>]
.B --dhcp-match=<network-id>,<option number>|option:<option name>|vi-encap:<enterprise>[,<value>]
Without a value, set the network-id tag if the client sends a DHCP
option of the given number or name. When a value is given, set the tag only if
the option is sent and matches the value. The value may be of the form
@@ -702,7 +707,11 @@ must match, so
will set the tag "efi-ia32" if the the number 6 appears in the list of
architectures sent by the client in option 93. (See RFC 4578 for
details.) If the value is a string, substring matching is used.
details.) If the value is a string, substring matching is used.
The special form with vi-encap:<enterpise number> matches against
vendor-identifying vendor classes for the specified enterprise. Please
see RFC 3925 for more details of the rare and interesting beasts.
.TP
.B \-J, --dhcp-ignore=<network-id>[,<network-id>]
When all the given network-ids match the set of network-ids derived
@@ -736,7 +745,7 @@ If the optional network-id(s) are given,
they must match for this configuration to be sent. Note that
network-ids are prefixed by "net:" to distinguish them.
.TP
.B --pxe-service=[net:<network-id>,]<CSA>,<menu text>,<basename>|<bootservicetype>[,<server address>]
.B --pxe-service=[net:<network-id>,]<CSA>,<menu text>[,<basename>|<bootservicetype>][,<server address>]
Most uses of PXE boot-ROMS simply allow the PXE
system to obtain an IP address and then download the file specified by
.B dhcp-boot
@@ -759,8 +768,9 @@ suffix (normally ".0") is supplied by PXE, and should not be added to
the basename. If an integer boot service type, rather than a basename
is given, then the PXE client will search for a
suitable boot service for that type on the network. This search may be done
by multicast or broadcast, or direct to a server if its IP address is provided. A boot service
type of 0 is special, and will abort the net boot procedure and
by broadcast, or direct to a server if its IP address is provided.
If no boot service type or filename is provided (or a boot service type of 0 is specified)
then the menu entry will abort the net boot procedure and
continue booting from local media.
.TP
.B --pxe-prompt=[net:<network-id>,]<prompt>[,<timeout>]
@@ -865,7 +875,9 @@ ie no name, and the former name is provided in the environment
variable DNSMASQ_OLD_HOSTNAME. DNSMASQ_INTERFACE stores the name of
the interface on which the request arrived; this is not set for "old"
actions when dnsmasq restarts. DNSMASQ_RELAY_ADDRESS is set if the client
used a DHCP relay to contact dnsmasq and the IP address of the relay is known.
used a DHCP relay to contact dnsmasq and the IP address of the relay
is known. DNSMASQ_TAGS contains all the network-id tags set during the
DHCP transaction, separated by spaces.
All file descriptors are
closed except stdin, stdout and stderr which are open to /dev/null
(except in debug mode).

View File

@@ -49,7 +49,8 @@ ese directorio.
.TP
.B \-E, --expand-hosts
Agregar el dominio a nombres sencillos (sin punto) en /etc/hosts de la
misma manera que con nombres derivados de DHCP.
misma manera que con nombres derivados de DHCP. N<>tese que esto no
aplica a nombres de dominio en cnames, expedientes PTR, TXT, etc.
.TP
.B \-T, --local-ttl=<tiempo>
Al responder con informaci<63>n desde /etc/hosts o desde el archivo
@@ -133,8 +134,8 @@ solo DHCP y/o TFTP.
.TP
.B \-P, --edns-packet-max=<tama<6D>o>
Especificar el paquete UDP EDNS.0 m<>s grande que es soportado por
el reenviador DNS. Por predeterminado es 1280, lo cual es el
m<EFBFBD>ximo recomendado en RFC2671 para ethernet.
el reenviador DNS. Por predeterminado es 4096, lo cual es el
tama<EFBFBD>o recomendado en RFC5625.
.TP
.B \-Q, --query-port=<puerto>
Enviar b<>squedas outbound desde, y escuchar por respuestas en,
@@ -459,7 +460,7 @@ de casos. La
es al usar resolvedores de bit<69>coras de servidores web, los cuales pueden
generar un n<>mero inmenso de b<>squedas simult<6C>neas.
.TP
.B \-F, --dhcp-range=[[net:]network-id,]<direcci<63>n-inicio>,<direcci<63>n-final>[[,<m<>scara>],<broadcast>][,<tiempo de arriendo>]
.B \-F, --dhcp-range=[[net:]network-id,]<direcci<63>n-inicio>,<direcci<63>n-final>[,<m<>scara>[,<broadcast>]][,<tiempo de arriendo>]
Habilitar el servidor DHCP. Direcciones ser<65>n distribuidas desde el
rango <direcci<63>n-inicio> hasta <direcci<63>n-final> y desde direcciones definidas
est<EFBFBD>ticamente en opciones
@@ -578,6 +579,11 @@ Leer informaci
Leer informaci<63>n sobre opciones DHCP desde el archivo especificado. La
ventaja de usar esta opci<63>n es la misma que con --dhcp-hostsfile: el
archivo dhcp-optsfile ser<65> re-le<6C>do cuando dnsmasq recibe un SIGHUP.
N<EFBFBD>tese que es posible colocar la informaci<63>n mediante
.B --dhcp-boot
como opciones DHCP, usando los nombres de opci<63>n bootfile-name,
server-ip-address, y tftp-server. Esto permite que sean incluidas en
un archivo dhcp-optsfile.
.TP
.B \-Z, --read-ethers
Leer /etc/ethers en busca de informaci<63>n sobre hosts para el servidor
@@ -587,7 +593,7 @@ dnsmasq, estas l
.B --dhcp-host
que contienen la misma informaci<63>n. /etc/ethers es re-le<6C>da cuando dnsmasq recibe un SIGHUP.
.TP
.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]]
.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vi-encap:<enterprise>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<valor>[,<valor>]]
Especificar opciones diferentes o extra a clientes DHCP. Por
predeterminado, dnsmasq env<6E>a algunas opciones est<73>ndar a clientes
DHCP. La m<>scara de subred y direcci<63>n broadcast son fijadas igual
@@ -657,9 +663,16 @@ enviar
opciones son brindadas que est<73>n encapsuladas con el mismo n<>mero de
opci<EFBFBD>n entonces ser<65>n correctamente combinadas en una opci<63>n encapsulada.
encap: y vendor: no pueden ser fijadas ambas dentro de la misma opci<63>n dhcp-option.
La variante final en opciones encapsuladas es "Vendor-Identifying Vendor Options"
como especificado en RFC3925. Estos son denotados as<61>:
.B --dhcp-option=rfc3925-encap:2, 10, "text"
El n<>mero en la secci<63>n rfc3925-encap: es el n<>mero enterprise usado
para identificar esta opci<63>n.
La direcci<63>n 0.0.0.0 no es tratada de forma especial en opciones encapsuladas.
.TP
.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]]
.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][rfc3925-encap:<enterprise>,][vendor:[<vendor-class>],]<opt>,[<valor>[,<valor>]]
Esto funciona ex<65>ctamente de la misma forma que
.B --dhcp-option
excepto que la opci<63>n siempre ser<65> enviada, a<>n si el cliente no la pide en
@@ -713,7 +726,7 @@ network-id es fijado.
.B --dhcp-subscrid=<network-id>,<subscriber-id>
Trazar de opciones relay subscriber-id RFC3993 a opciones network-id.
.TP
.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>]
.B --dhcp-match=<network-id>,<option number>|option:<option name>|vi-encap:<enterprise>[,<valor>]
Sin un valor, fijar la etiqueta network-id si el cliente env<6E>a una opci<63>n
DHCP del n<>mero o valor brindado. Cuando un valor es brindado, fijar la
etiqueta solo si la opci<63>n es enviada y coincide con el valor. El valor puede
@@ -729,6 +742,11 @@ coincidir, as
fijar<EFBFBD> la etiqueta a "efi-ia32" si el n<>mero 6 aparece en la lista de
architecturas enviada por los clientes en opci<63>n 93. (Ver RFC 4578 para
detalles.) Si el valor es un string, coincidencia substring es usada.
La forma especial con vi-encap:<enterpise number> busca coincidencia con
clases de vendedor identificadoras para el enterprise especificado. Por
favor ver RFC 3925 para mas detalles sobre las bestias raras e interesantes.
.TP
.B \-J, --dhcp-ignore=<network-id>[,<network-id>]
Cuando todos los network ids brindados coincidan con el juego de
network ids derivados de las clases net, host, y vendor, ignorar
@@ -762,7 +780,7 @@ el inicio atrav
ellas deber<65>n coincidir para que esta configuraci<63>n sea enviada. N<>tese
que network-ids est<73>n prefijadas con "net:" para distinguirlas.
.TP
.B --pxe-service=[net:<network-id>,]<CSA>,<texto de men<EFBFBD>>,<nombre base>|<tipo de servicio boot>[,<direcci<63>n de servidor>]
.B --pxe-service=[net:<network-id>,]<CSA>,<texto de men<EFBFBD>>[,<nombre base>|<tipo de servicio boot>][,<direcci<63>n de servidor>]
La mayor<6F>a de usos para boot-ROMS PXE simplemente permiten al sistema PXE
obtener una direcci<63>n IP y entonces bajar el archivo especificado por
.B dhcp-boot
@@ -784,10 +802,11 @@ direcci
N<EFBFBD>tese que el sufijo "layer" (normalmente ".0") es brindado por PXE, y
no debe ser agregado al nombre base. Si un n<>mero entero es brindado en vez
de un nombre base, entonces el cliente PXE buscar<61> un servicio boot adecuado
para ese tipo de red. Esta b<>squeda puede ser hecha mediante multicast o
broadcast, o directamente a un servidor si la direcci<63>n IP es brindada. Un
tipo de servicio boot de 0 es especial, y abortar<61> el proceso boot de red
y continuar<61> desde medio local.
para ese tipo de red. Esta b<>squeda puede ser hecha mediante broadcast,
o directamente a un servidor si la direcci<63>n IP es brindada. Si ning<6E>n tipo
de servicio boot o nombre de archivo es brindado (o un tipo de servicio boot
de 0 es especificado), entonces la opci<63>n de men<65> abortar<61> el proceso net boot
y continuar<61> desde el medio local.
.TP
.B --pxe-prompt=[net:<network-id>,]<prompt>[,<timeout>]
Fijar esto hace que un aviso sea expuesto despues del boot PXE. Si el timeout
@@ -879,10 +898,11 @@ El ambiente es heredado del usuario que ha invocado a dnsmasq, y si el
host brind<6E> un client-id, es almacenado en la variable de ambiente
DNSMASQ_CLIENT_ID. Si el dominio completamente calificado del host
es conocido, la parte de dominio es almacenada en DNSMASQ_DOMAIN. Si
el cliente brinda informaci<63>n de clase de vendedoro usuario,
estos son brindados en las variables DNSMASQ_VENDOR_CLASS y
el cliente brinda informaci<63>n de clase de vendedor, nombre de host,
o clase de usuario, estos son brindados en las variables
DNSMASQ_VENDOR_CLASS, DNSMASQ_SUPPLIED_HOSTNAME, y
DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn, pero solo para acciones "add"
y "old" cuando un host resume un arriendo existente, dado a que estos
y "old" cuando un host reanuda un arriendo existente, dado a que estos
datos no son almacenados en la base de datos de arriendos de dnsmasq.
Si dnsmasq fue compilado con HAVE_BROKEN_RTC, entonces la duraci<63>n del
arriendo (en segundos) es almacenada en DNSMASQ_LEASE_LENGTH, de otra
@@ -894,7 +914,10 @@ evento "old" es generado con el nuevo estado del arriendo, (por ejemplo, sin
nombre), y el nombre anterior es brindado en la variable de ambiente
DNSMASQ_OLD_HOSTNAME. DNSMASQ_INTERFACE almacena el nombre de la interface
en la cual lleg<65> el pedido; esto no es fijado para acciones "viejas"
cuando dnsmasq re-inicia.
cuando dnsmasq re-inicia. DNSMASQ_RELAY_ADDRESS es fijado si el cliente
us<EFBFBD> un relay DHCP para contactar a dnsmasq y la direcci<63>n IP del relay
es conocida. DNSMASQ_TAGS contiene todas las etiquetas network-id fijadas
durante la transacci<63>n DHCP, separadas por espacios.
Todos los descriptores de archivo est<73>n cerrados
excepto stdin, stdout, y stderr los cuales est<73>n abiertos a /dev/null
(excepto en modo debug).
@@ -1040,11 +1063,13 @@ Especificar un archivo de configuraci
tambi<EFBFBD>n es permitida en archivos de configuraci<63>n, para incluir m<>ltiples
archivos de configuraci<63>n.
.TP
.B \-7, --conf-dir=<directorio>
.B \-7, --conf-dir=<directorio>[,<file-extension>......]
Leer todos los archivos dentro del directorio brindado como archivos
de configuraci<63>n. Archivos cuyos nombres terminen con ~ o comienzen
con . o comienzen y terminen con # son ignorados. Esta opci<63>n puede
ser brindada en la l<>nea de comandos o en un archivo de configuraci<63>n.
de configuraci<63>n. Si extensiones son brindadas, cualquier archivo que
termine en esas extensiones son ignorados. Cualquier archivos cuyos nombres
terminen con ~ o comienzen con . o comienzen y terminen con # siempre son
ignorados. Esta opci<63>n puede ser brindada en la l<>nea de comandos o en un
archivo de configuraci<63>n.
.SH ARCHIVO DE CONFIGURACION
Al inicio, dnsmasq lee
.I /etc/dnsmasq.conf,
@@ -1285,6 +1310,23 @@ o en un archivo hosts adicional. La lista puede ser muy larga. Dnsmasq ha sido
probado exit<69>samente con un mill<6C>n de nombres. Ese tama<6D>o de archivo necesita
un CPU de 1GHz y aproximadamente 60MB de RAM.
.SH INTERNACIONALIZACION
Dnsmasq puede ser compilado con soporte para internacionalizaci<63>n. Para hacer esto,
los targets make "all-i18n" y "install-i18n" deber<65>n ser usados en vez de
los targets est<73>ndares "all" y "install". Cuando internacionalizaci<63>n es
compilada, dnsmasq producir<69> mensajes de bit<69>cora en el lenguaje local y soportar<61>
dominios internacionalizados (IDN). Nombres de dominio en /etc/hosts, /etc/ethers,
y /etc/dnsmasq.conf que contienen car<61>cteres no-ASCII ser<65>n traducidos a
representaci<EFBFBD>n interna DNS punycode. N<>tese que dnsmasq determina ambos el
lenguaje para mensajes y el juego de car<61>cteres asumido para archivos de configuraci<63>n
de la variable ambiental LANG. Esto debe estar fijado al valor predeterminado del sistema
por el gui<75>n responsable de iniciar dnsmasq. Al editar archivos de configuraci<63>n,
tener cuidado de hacerlo usando solo el locale predeterminado del sistema y no
uno especifico del usuario, dado a que dnsmasq no tiene ninguna manera directa de
determinar el juego de caracteres en uso, y debe asumir que es el predeterminado
del sistema.
.SH ARCHIVOS
.IR /etc/dnsmasq.conf

View File

@@ -140,8 +140,7 @@ que le DHCP ou le TFTP.
.TP
.B \-P, --edns-packet-max=<taille>
Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le
défaut est de 1280, qui est la valeur maximale
recommandée pour ethernet dans la RFC2671.
défaut est de 4096, qui est la valeur recommandée dans la RFC5625.
.TP
.B \-Q, --query-port=<numéro de port>
Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par
@@ -503,7 +502,7 @@ lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de
son journal des requêtes, ce qui peut générer un nombre important de requêtes
simultanées.
.TP
.B \-F, --dhcp-range=[[net:]identifiant de réseau,]<adresse de début>,<adresse de fin>[[,<masque de réseau>],<broadcast>][,<durée de bail>]
.B \-F, --dhcp-range=[[net:]identifiant de réseau,]<adresse de début>,<adresse de fin>[,<masque de réseau>[,<broadcast>]][,<durée de bail>]
Active le serveur DHCP. Les adresses seront données dans la plage comprise entre
<adresse de début> et <adresse de fin> et à partir des adresses définies
statiquement dans l'option
@@ -650,7 +649,7 @@ par Dnsmasq, ces lignes ont exactement le même effet que l'option
contenant les mêmes informations. /etc/ethers est relu à la réception d'un
signal SIGHUP par Dnsmasq.
.TP
.B \-O, --dhcp-option=[<identifiant_de_réseau>,[<identifiant_de_réseau>,]][encap:<option>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]]
.B \-O, --dhcp-option=[<identifiant_de_réseau>,[<identifiant_de_réseau>,]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]]
Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par
défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le
masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte
@@ -729,10 +728,17 @@ Plusieurs options encapsulées avec le même numéro d'option seront correctemen
combinées au sein d'une seule option encapsulée. Il n'est pas possible de
spécifier encap: et vendor: au sein d'une même option dhcp.
La dernière variante pour les options encapsulées est "l'option de Vendeur
identifiant le vendeur" ("Vendor-Identifying Vendor Options") telle que
décrite dans le RFC3925. Celles-ci sont spécifiées comme suit :
.B --dhcp-option=vi-encap:2, 10, "text"
Le numéro dans la section vi-encap: est le numéro IANA de l'entreprise servant
à identifier cette option.
L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans
une option encapsulée.
.TP
.B --dhcp-option-force=[<identifiant de réseau>,[<identifiant de réseau>,]][encap:<option>,][vendor:[<classe de vendeur>],]<option>,[<valeur>[,<valeur>]]
.B --dhcp-option-force=[<identifiant de réseau>,[<identifiant de réseau>,]][encap:<option>,][vi-encap:<entreprise>,][vendor:[<classe de vendeur>],]<option>,[<valeur>[,<valeur>]]
Cela fonctionne exactement de la même façon que
.B --dhcp-option
sauf que cette option sera toujours envoyée, même si le client ne la demande pas
@@ -794,7 +800,7 @@ relais DHCP, alors l'identifiant de réseau est positionné.
Associe des options de relais DHCP issues de la RFC3993 à des identifiants de
réseau.
.TP
.B --dhcp-match=<identifiant de réseau>,<numéro d'option>|option:<nom d'option>[,<valeur>]
.B --dhcp-match=<identifiant de réseau>,<numéro d'option>|option:<nom d'option>|vi-encap:<entreprise>[,<valeur>]
Si aucune valeur n'est spécifiée, associe l'identifiant de réseau si le client
envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est
fournie, positionne le label seulement dans le cas où l'option est fournie et
@@ -811,6 +817,11 @@ spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste
d'architectures envoyé par le client au sein de l'option 93. (se réferer
au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères,
celle-ci est recherchée (correspondance en temps que sous-chaîne).
Pour la forme particulière vi-encap:<numéro d'entreprise>, la comparaison se
fait avec les classes de vendeur "identifiant de vendeur" ("vendor-identifying
vendor classes") pour l'entreprise dont le numéro est fourni en option.
Veuillez vous réferer à la RFC 3925 pour plus de détail.
.TP
.B \-J, --dhcp-ignore=<identifiant de réseau>[,<identifiant de réseau>]
Lorsque tous les identifiants de réseau fournis coïncident avec la liste
@@ -847,7 +858,7 @@ Si d'éventuels identifiants de réseau sont fournis, ils doivent coïncider ave
ceux du client pour que cet élement de configuration lui soit envoyé. Il est à
noter que les identifiants de réseau doivent-être préfixés par "net:".
.TP
.B --pxe-service=[net:<identifiant de réseau>,]<CSA>,<entrée de menu>,<nom de fichier>|<type de service de démarrage>[,<adresse de serveur>]
.B --pxe-service=[net:<identifiant de réseau>,]<CSA>,<entrée de menu>[,<nom de fichier>|<type de service de démarrage>][,<adresse de serveur>]
La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple
obtention d'une adresse IP, le téléchargement du fichier spécifié dans
.B dhcp-boot
@@ -870,10 +881,12 @@ Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE
et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière
est fournir pour le type de démarrage, en remplacement du nom de fichier, le
client PXE devra chercher un service de démarrage de ce type sur le réseau.
Cette recherche peut être faite via multicast ou broadcast, ou directement
auprès d'un serveur si son adresse IP est fournie dans l'option. Un service de
démarrage de type 0 est spécial et provoquera une interruption du démarrage par
le réseau ainsi que la poursuite du démarrage sur un média local.
Cette recherche peut être faite via broadcast ou directement auprès d'un
serveur si son adresse IP est fournie dans l'option.
Si aucun nom de fichier n'est donné ni aucune valeur de type de service de
démarrage n'est fournie (ou qu'une valeur de 0 est donnée pour le type de
service), alors l'entrée de menu provoque l'interruption du démarrage par
le réseau et la poursuite du démarrage sur un média local.
.TP
.B --pxe-prompt=[net:<identifiant de réseau>,]<invite>[,<délai>]
Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un
@@ -984,7 +997,9 @@ DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la requête est
arrivée; ceci n'est pas renseigné dans le cas des actions "old" ayant lieu
après un redémarrage de dnsmasq. La variable DNSMASQ_RELAY_ADDRESS est
renseignée si le client a utilisé un relai DHCP pour contacter Dnsmasq, si
l'adresse IP du relai est connue.
l'adresse IP du relai est connue. DNSMASQ_TAGS contient tous les labels
d'identifiants de réseau fournis pendant la transaction DHCP, séparés par des
espaces.
Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui
sont ouverts sur /dev/null (sauf en mode déverminage).
Le script n'est pas lancé de manière concurrente : si un autre changement de
@@ -1421,6 +1436,25 @@ ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmas
ayant été testé avec succès avec un million de noms. Cette taille de fichier
nécessite un processeur à 1 Ghz et environ 60 Mo de RAM.
.SH INTERNATIONALISATION
Dnsmasq peut être compilé pour supporter l'internationalisation. Pour cela,
les cibles "all-i18n" et "install-i18n" doivent être données à make, en lieu
et place des cibles standards "all" et "install". Lorsque compilé avec le
support de l'internationalisation, dnsmasq supporte les noms de domaines
internationalisés ("internationalised domain names" ou IDN), et les messages de
traces ("logs") sont écrits dans la langue locale. Les noms de domaines dans
/etc/hosts, /etc/ethers et /etc/dnsmasq.conf contenant des caractères
non-ASCII seront transformés selon la représentation punycode interne
aux DNS. Veuillez noter que dnsmasq détermine la langue pour les messages
ainsi que le jeu de caractères susceptible d'être utilisé dans les fichiers
de configuration à partir de la variable d'environnement LANG. Ceci devrait
être configuré à la valeur par défaut du système par les scripts démarrant
dnsmasq. Lorsque les fichiers de configuration sont édités, veuillez faire
attention à le faire en utilisant la valeur de locale par défaut du système
et non une valeur spécifique à l'utilisateur, puisque dnsmasq n'a aucun
moyen de déterminer directement la valeur de jeu de caractère utilisé,
et assume de ce fait qu'il s'agit de la valeur par défaut du système.
.SH FICHIERS
.IR /etc/dnsmasq.conf

335
po/de.po
View File

@@ -20,19 +20,19 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr ""
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr ""
# @Simon: Here I need an example to understand it :)
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr ""
# @Simon: Here I need an example to understand it :)
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "lese %s - %d Adressen"
@@ -43,7 +43,7 @@ msgstr "lese %s - %d Adressen"
msgid "cleared cache"
msgstr "Cache geleert"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
@@ -91,7 +91,7 @@ msgstr ""
# @Simon: I would prefer to use "noch gültige" = "still valid", would that fit to the sense? Then it would be:
# @Simon: msgstr "Cache Größe %d, %d/%d Cache-Einfügungen verwendeten noch gültige Cache-Einträge wieder."
# @Simon: btw, what is the "%d/%d"-part?
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "Speicher nicht verfügbar"
@@ -542,206 +542,206 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr ""
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr ""
# @Simon: Here I need an example to understand it :)
#: option.c:792
#: option.c:804
#, fuzzy
msgid "bad IP address"
msgstr "lese %s - %d Adressen"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr ""
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr ""
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr ""
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr ""
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr ""
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr ""
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr ""
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr ""
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr ""
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr ""
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr ""
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr ""
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr ""
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr ""
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr ""
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr ""
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr ""
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr ""
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr ""
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr ""
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr ""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr ""
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr ""
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr ""
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr ""
@@ -750,93 +750,93 @@ msgstr ""
# @Simon: ("keinen Speicher" = "no memory", "... nicht bekommen" = "... not get")
# @Simon: both would be correct - but would sound rather clumsy in german
# @Simon: how about "Nicht genügend Speicher verfügbar" = "Not enough memory available" ?
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s in Zeile %d von %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr ""
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr ""
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr ""
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr ""
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr ""
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -845,78 +845,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr ""
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr ""
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr ""
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -944,7 +944,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -1050,75 +1050,75 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr ""
#: dnsmasq.c:757
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:763
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr ""
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr ""
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr ""
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1143,47 +1143,47 @@ msgstr ""
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr ""
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
@@ -1212,172 +1212,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr ""
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr ""
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr ""
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr ""
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr ""
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr ""
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr ""
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr ""
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr ""
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr ""
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr ""
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr ""
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr ""
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr ""
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr ""
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr ""
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, c-format
msgid "cannot create netlink socket: %s"
@@ -1421,7 +1426,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1431,12 +1436,12 @@ msgstr ""
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr ""
#: log.c:169
@@ -1452,7 +1457,7 @@ msgstr ""
# @Simon: I would like to have an example :) - instead of "von" it would be possible to use "aus",
# @Simon: both translate to "of" and nothing else, but depending on the sense one could be better
# @Simon: than the other.
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "Start gescheitert"

327
po/es.po
View File

@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "no se pudo cargar nombres desde %s: %s"
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, fuzzy, c-format
msgid "bad address at %s line %d"
msgstr "direcci<63>n err<72>nea en %s l<>nea %d"
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "nombre err<72>neo en %s l<>nea %d"
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "direcci<63>nes %s - %d le<6C>das"
@@ -39,7 +39,7 @@ msgstr "direcci
msgid "cleared cache"
msgstr "el cach<63> fue liberado"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "no se puede accesar directorio %s: %s"
@@ -77,9 +77,9 @@ msgstr "no se pudo crear valor semilla para el generador de n
#: util.c:191
#, fuzzy
msgid "failed to allocate memory"
msgstr "no se pudo alocar %d bytes"
msgstr "no se pudo asignar memoria"
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "no se pudo adquirir memoria"
@@ -91,7 +91,7 @@ msgstr "no se puede crear pipe: %s"
#: util.c:247
#, fuzzy, c-format
msgid "failed to allocate %d bytes"
msgstr "no se pudo alocar %d bytes"
msgstr "no se pudo asignar %d bytes"
#: util.c:352
#, c-format
@@ -521,7 +521,7 @@ msgstr "Servico boot para men
msgid "Check configuration syntax."
msgstr "Revisar sintaxis de configuraci<63>n."
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -530,225 +530,225 @@ msgstr ""
"Modo de uso: dnsmasq [opciones]\n"
"\n"
#: option.c:615
#: option.c:616
#, 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:617
#: option.c:618
#, fuzzy, c-format
msgid "Valid options are:\n"
msgstr "Opciones v<>lidas son :\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr "Opciones DHCP conocidas:\n"
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "opci<63>n dhcp-option err<72>nea"
#: option.c:792
#: option.c:804
#, fuzzy
msgid "bad IP address"
msgstr "direcci<63>n IP err<72>nea"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "dominio err<72>neo en dhcp-option"
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "opci<63>n dhcp-option demasiado larga"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr "dhcp-match ilegal"
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr "opci<63>n repetida ilegal"
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr "palabra clave repetida ilegal"
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "no se puede accesar %s: %s"
#: option.c:1131
#: option.c:1145
#, fuzzy
msgid "only one dhcp-hostsfile allowed"
msgstr "solo un dhcp-hostsfile permitido"
#: option.c:1138
#: option.c:1152
#, fuzzy
msgid "only one dhcp-optsfile allowed"
msgstr "solo un dhcp-optsfile permitido"
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "preferencia MX err<72>nea"
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "nombre MX err<72>neo"
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "destino MX err<72>neo"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr "no se pueden correr archivos gui<75>nes bajo uClinux"
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
msgstr "recompilar con HAVE_SCRIPT definido para habilitar gui<75>nes de cambio de arriendo"
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "puerto err<72>neo"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr "vinculaci<63>n de interface no est<73> soportado"
#: option.c:1611
#: option.c:1625
#, fuzzy
msgid "bad port range"
msgstr "rango de puertos err<72>neo"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr "opci<63>n bridge-interface (interface puente) err<72>nea"
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "opci<63>n dhcp-range (rango DHCP) err<72>nea"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr "solo una etiqueta netid permitida"
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "rango DHCP inconsistente"
#: option.c:1912
#: option.c:1926
#, fuzzy
msgid "bad DHCP host name"
msgstr "nombre de host DHCP err<72>neo"
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "n<>mero de puerto inv<6E>lido"
#: option.c:2284
#: option.c:2304
#, fuzzy
msgid "invalid alias range"
msgstr "rango alias inv<6E>lido"
#: option.c:2297
#: option.c:2317
#, fuzzy
msgid "bad interface name"
msgstr "nombre de interface err<72>neo"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
msgstr "CNAME err<72>neo"
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr "CNAME duplicado"
#: option.c:2347
#: option.c:2367
#, fuzzy
msgid "bad PTR record"
msgstr "expediente PTR err<72>neo"
#: option.c:2378
#: option.c:2398
#, fuzzy
msgid "bad NAPTR record"
msgstr "expediente NAPTR err<72>neo"
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "expediente TXT demasiado largo"
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "expediente TXT err<72>neo"
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "expediente SRV err<72>neo"
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "destino SRV err<72>neo"
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "prioridad inv<6E>lida"
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "peso inv<6E>lido"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "opci<63>n no soportada (verificar que dnsmasq fue compilado con soporte para DHCP/TFTP/DBus)"
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr "archivos jerarquizados demasiado profundo en %s"
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "no se puede leer %s: %s"
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "falta \""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "opci<63>n err<72>nea"
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "par<61>metro extra<72>o"
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "par<61>metro ausente"
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "error"
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s en l<>nea %d de %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, fuzzy, c-format
msgid "read %s"
msgstr "leyendo %s"
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versi<73>n %s %s\n"
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -757,71 +757,71 @@ msgstr ""
"Opciones de compilaci<63>n %s\n"
"\n"
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Este software viene SIN NINGUNA GARANTIA.\n"
#: option.c:2846
#: option.c:2866
#, 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:2847
#: option.c:2867
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "bajo los t<>rminos de la GNU General Public License, versi<73>n 2 o 3.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr "pruebe --help"
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr "pruebe -w"
#: option.c:2863
#: option.c:2883
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "opciones de l<>nea de comandos err<72>neas: %s"
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "no se puede obtener host-name (nombre de host): %s"
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "solo un archivo resolv.conf permitido en modo no-poll."
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr "debe haber ex<65>ctamente un resolv.conf desde donde leer dominio."
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "no se pudo leer %s: %s"
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "ninguna directiva de b<>squeda encontrada en %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "debe haber un dominio predeterminado cuando --dhcp-fqdn est<73> fijado"
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr "revisi<73>n de sintaxis OK"
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "servidor DNS %s se reus<75> a hacer una b<>squeda recursiva"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr "posible ataque de revinculaci<63>n DNS detectado"
@@ -830,78 +830,78 @@ msgstr "posible ataque de revinculaci
msgid "unknown interface %s in bridge-interface"
msgstr "interface desconocida %s en bridge-interface"
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "no se pudo crear un socket escuchador: %s"
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "no se pudo fijar opciones IPv6 sobre socket escuchador: %s"
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "no se pudo acoplar socket escuchador para %s: %s"
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "no se pudo escuchar en socket: %s"
#: network.c:467
#: network.c:486
#, fuzzy, c-format
msgid "failed to create TFTP socket: %s"
msgstr "no se pudo crear socket TFTP: %s"
#: network.c:661
#: network.c:680
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "no se pudo acoplar socket escuchador para %s: %s"
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorando servidor DNS %s - interface local"
#: network.c:705
#: network.c:728
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorando servidor DNS %s - no se puede crear/acoplar socket: %s"
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "no calificado"
#: network.c:720
#: network.c:743
msgid "names"
msgstr "nombres"
#: network.c:722
#: network.c:745
msgid "default"
msgstr "predeterminado"
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "dominio"
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "usando direcciones locales solo para %s %s"
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "usando servidor DNS %s#%d para %s %s"
#: network.c:732
#: network.c:755
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "usando servidor DNS %s#%d(v<>a %s)"
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "usando servidor DNS %s#%d"
@@ -931,7 +931,7 @@ msgstr "interface desconocida %s"
msgid "no interface with address %s"
msgstr "ninguna interface con direcci<63>n %s"
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "error DBus: %s"
@@ -1039,75 +1039,75 @@ msgstr "modo seguro"
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "limitando n<>mero m<>ximo de transferencias TFTP simult<6C>neas a %d"
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "conectado a DBus de sistema"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr "no se puede hacer fork hacia el fondo: %s"
#: dnsmasq.c:760
#: dnsmasq.c:770
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "no se pudo crear ayudante: %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, fuzzy, c-format
msgid "setting capabilities failed: %s"
msgstr "configuraci<63>n de capacidades ha fallado: %s"
#: dnsmasq.c:767
#: dnsmasq.c:777
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "no se pudo cambiar user-id a %s: %s"
#: dnsmasq.c:772
#: dnsmasq.c:782
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "no se pudo cambiar group-id a %s: %s"
#: dnsmasq.c:775
#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "no se pudo abrir archivo PID %s: %s"
#: dnsmasq.c:778
#: dnsmasq.c:788
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "no se puede abrir %s: %s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr "proceso hijo eliminado por se<73>al %d"
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr "proceso hijo hizo exit con estado %d"
#: dnsmasq.c:841
#: dnsmasq.c:851
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "no se pudo ejecutar %s: %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "saliendo al recibir SIGTERM"
#: dnsmasq.c:903
#: dnsmasq.c:913
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "no se pudo accesar %s: %s"
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "leyendo %s"
#: dnsmasq.c:936
#: dnsmasq.c:946
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "ning<6E>n servidor encontrado en %s, se reintentar<61>"
@@ -1132,47 +1132,47 @@ msgstr "no se pudo fijar SO_REUSE{ADDR|PORT} en socket DHCP: %s"
msgid "failed to bind DHCP server socket: %s"
msgstr "no se pudo acoplar socket de servidor DHCP: %s"
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "no se puede crear socket crudo ICMP: %s."
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr "Paquete DHCP recibido en %s que no tiene direcci<63>n"
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "rango DHCP %s -- %s no coincide con m<>scara de subred %s"
#: dhcp.c:772
#: dhcp.c:791
#, fuzzy, c-format
msgid "bad line at %s line %d"
msgstr "l<>nea err<72>nea en %s l<>nea %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
msgstr "ignorando %s l<>nea %d, nombre o direcci<63>n IP duplicada"
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "direcci<63>n IP duplicada %s en directiva dhcp-config."
#: dhcp.c:900
#: dhcp.c:919
#, fuzzy, c-format
msgid "duplicate IP address %s in %s."
msgstr "direcci<63>n IP duplicada %s en %s."
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr "%s tiene m<>s de una direcci<63>n en hostsfile, usando %s para DHCP"
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "direcci<63>n IP duplicada %s (%s) en directiva dhcp-config"
@@ -1201,172 +1201,177 @@ msgstr "archivo gui
msgid "failed to write %s: %s (retry in %us)"
msgstr "error al escribir %s: %s (reintentar en %us)"
#: rfc2131.c:336
#: rfc2131.c:375
#, 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:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "con selector de subred"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "v<>a"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr "%u Subred DHCP disponible: %s/%s"
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr "%u Rango DHCP disponible: %s -- %s"
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "deshabilitado"
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "ignorado"
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "direcci<63>n en uso"
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "ninguna direcci<63>n disponible"
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "red equivocada"
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "ninguna direcci<63>n configurada"
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "no sobra ning<6E>n arriendo"
#: rfc2131.c:558
#: rfc2131.c:597
#, fuzzy, c-format
msgid "%u client provides name: %s"
msgstr "%u cliente provee nombre: %s"
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr "%u Clase de vendedor: %s"
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr "%u Clase de usuario: %s"
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr "no hay soporte para BIS PXE"
#: rfc2131.c:853
#: rfc2131.c:898
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "deshabilitando direcci<63>n DHCP est<73>tica %s para %s"
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "arriendo desconocido"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "no usando direcci<63>n configurada %s porque est<73> arrendada a %s"
#: rfc2131.c:916
#: rfc2131.c:961
#, fuzzy, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "no usando direcci<63>n configurada %s porque est<73> en uso por el servidor o relay"
#: rfc2131.c:919
#: rfc2131.c:964
#, fuzzy, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "no usando direcci<63>n configurada %s porque fu<66> previamente denegada"
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr "ning<6E>n unique-id (identificaci<63>n <20>nica)"
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr "ID de servidor equivocada"
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "direcci<63>n equivocada"
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "arriendo no encontrado"
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "direcci<63>n no disponible"
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "arriendo est<73>tico disponible"
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "direcci<63>n reservada"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "abandonando arriendo a %s de %s"
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr "%u etiquetas: %s"
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nombre de bootfile: %s"
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr "%u nombre de servidor: %s"
#: rfc2131.c:1613
#: rfc2131.c:1728
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "%u siguiente servidor: %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "no se puede enviar opci<63>n DHCP/BOOTP %d: no queda espacio en paquete"
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr "men<65> PXE demasiado grande"
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Ignorando dominio %s para nombre de host DHCP %s"
#: rfc2131.c:2052
#: rfc2131.c:2161
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "%u opciones solicitadas: %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "no se puede enviar opci<63>n RFC3925: demasiadas opciones para n<>mero enterprise %d"
#: netlink.c:66
#, fuzzy, c-format
msgid "cannot create netlink socket: %s"
@@ -1409,8 +1414,8 @@ msgid "unsupported request from %s"
msgstr "pedido no-soportado desde %s"
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
#, fuzzy, c-format
msgid "sent %s to %s"
msgstr "TFTP envi<76> %s a %s"
#: tftp.c:305
@@ -1419,13 +1424,13 @@ msgid "file %s not found"
msgstr "archivo %s no encontrado"
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
#, fuzzy, c-format
msgid "error %d %s received from %s"
msgstr "error TFTP %d %s recibido de %s"
#: tftp.c:447
#, fuzzy, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr "TFTP no pudo enviar %s a %s"
#: log.c:169
@@ -1438,7 +1443,7 @@ msgstr "desbordamiento: %d entradas de bit
msgid "log failed: %s"
msgstr "bit<69>cora fall<6C>: %s"
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "el inicio ha FALLADO"

335
po/fi.po
View File

@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr ""
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr ""
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr ""
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr ""
@@ -39,7 +39,7 @@ msgstr ""
msgid "cleared cache"
msgstr ""
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
@@ -78,7 +78,7 @@ msgstr ""
msgid "failed to allocate memory"
msgstr ""
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr ""
@@ -506,294 +506,294 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr ""
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr ""
#: option.c:792
#: option.c:804
msgid "bad IP address"
msgstr ""
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr ""
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr ""
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr ""
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr ""
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr ""
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr ""
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr ""
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr ""
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr ""
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr ""
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr ""
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr ""
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr ""
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr ""
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr ""
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr ""
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr ""
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr ""
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr ""
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr ""
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr ""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr ""
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr ""
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr ""
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr ""
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr ""
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr ""
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr ""
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr ""
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr ""
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -802,78 +802,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr ""
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr ""
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr ""
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -901,7 +901,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -1007,75 +1007,75 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr ""
#: dnsmasq.c:757
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:763
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr ""
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr ""
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr ""
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1100,47 +1100,47 @@ msgstr ""
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr ""
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
@@ -1169,172 +1169,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr ""
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr ""
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr ""
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr ""
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr ""
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr ""
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr ""
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr ""
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr ""
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr ""
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr ""
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr ""
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr ""
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr ""
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr ""
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr ""
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, c-format
msgid "cannot create netlink socket: %s"
@@ -1378,7 +1383,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1388,12 +1393,12 @@ msgstr ""
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr ""
#: log.c:169
@@ -1406,6 +1411,6 @@ msgstr ""
msgid "log failed: %s"
msgstr ""
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr ""

323
po/fr.po
View File

@@ -4,10 +4,10 @@
# Translation completed by Gildas Le Nadan <3ntr0p13@gmail.com>
msgid ""
msgstr ""
"Project-Id-Version: dnsmasq 2.51\n"
"Project-Id-Version: dnsmasq 2.52\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-18 12:24+0100\n"
"PO-Revision-Date: 2009-09-30 10:22+0100\n"
"PO-Revision-Date: 2010-01-14 17:24+0100\n"
"Last-Translator: Gildas Le Nadan <3ntr0p13@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
@@ -19,17 +19,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "Impossible de charger les noms <20> partir de %s : %s"
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr "mauvaise adresse dans %s ligne %d"
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "mauvais nom dans %s ligne %d"
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "lecture %s - %d adresses"
@@ -38,7 +38,7 @@ msgstr "lecture %s - %d adresses"
msgid "cleared cache"
msgstr "cache vid<69>"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr "Ne peut pas lire le r<>pertoire %s : %s"
@@ -77,7 +77,7 @@ msgstr "impossible d'initialiser le g
msgid "failed to allocate memory"
msgstr "impossible d'allouer la m<>moire"
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "impossible d'allouer de la m<>moire"
@@ -519,7 +519,7 @@ msgstr "Service de d
msgid "Check configuration syntax."
msgstr "v<>rification de la syntaxe de la configuration"
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -528,225 +528,225 @@ msgstr ""
"Usage : dnsmasq [options]\n"
"\n"
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Utilisez les options courtes uniquement sur la ligne de commande.\n"
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr "Les options valides sont :\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr "Options DHCP connues :\n"
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "mauvaise valeur de 'dhcp-option'"
#
#: option.c:792
#: option.c:804
msgid "bad IP address"
msgstr "mauvaise adresse IP"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "mauvais domaine dans dhcp-option"
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "dhcp-option trop long"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr "valeur ill<6C>gale pour 'dhcp-match'"
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr "Une option ne pouvant <20>tre sp<73>cifi<66> qu'une seule fois <20> <20>t<EFBFBD> donn<6E>e plusieurs fois."
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr "Mot-clef ne pouvant <20>tre r<>p<EFBFBD>t<EFBFBD>"
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr "Ne peut pas lire %s : %s"
#
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr "une seule valeur est autoris<69>e pour 'dhcp-hostsfile'"
#
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr "une seule valeur est autoris<69>e pour 'dhcp-optsfile'"
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "Mauvaise pr<70>ference MX"
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "mauvais nom MX"
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "mauvaise cible MX"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr "ne peut ex<65>cuter de script sous uClinux"
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr "pour permettre l'ex<65>cution de scripts au changement de bail (lease-change), recompiler en d<>finissant HAVE_SCRIPT"
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "mauvais port"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr "association d'interface non support<72>e"
#
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr "mauvaise gamme de ports"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr "mauvaise interface-pont"
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "mauvaise plage d'adresses DHCP (dhcp-range)"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr "une seule <20>tiquette netid est autoris<69>e"
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "plage d'adresses DHCP incoh<6F>rente"
#
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr "mauvais nom d'h<>te DHCP"
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "num<75>ro de port invalide"
#
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr "poids invalide"
#
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr "mauvais nom d'interface"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr "mauvais CNAME"
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr "ce CNAME existe d<>ja"
#
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr "mauvais champ PTR"
#
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr "mauvais champ NAPTR"
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "cha<68>ne du champ TXT trop longue"
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "mauvais champ TXT"
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "mauvais champ SRV"
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "mauvaise cible SRV"
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "priorit<69> invalide"
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "poids invalide"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "option non support<72>e (v<>rifier que Dnsmasq a <20>t<EFBFBD> compil<69> avec le support DHCP/TFTP/DBus)"
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr "trop de niveaux de r<>cursion pour les fichiers dans %s"
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "Ne peut pas lire %s : %s"
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "il manque \""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "mauvaise option"
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "param<61>tre en trop"
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "param<61>tre manquant"
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "erreur"
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s <20> la ligne %d de %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr "Lecture de %s"
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Version de Dnsmasq %s %s\n"
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -755,71 +755,71 @@ msgstr ""
"Options <20> la compilation %s\n"
"\n"
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Ce logiciel est fourni sans AUCUNE GARANTIE.\n"
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq est un logiciel libre, il vous est permis de le redistribuer\n"
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "sous les termes de la licence GPL (GNU General Public License), version 2 ou 3.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr "essayez avec --help"
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr "essayez avec -w"
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr "mauvaises options en ligne de commande : %s."
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "ne peut pas obtenir le nom de la machine : %s"
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "seul un fichier resolv.conf est autoris<69> dans le mode no-poll"
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr "un fichier resolv.conf (et un seul) est n<>cessaire pour y r<>cuperer le nom de domaine."
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr "impossible de lire %s : %s"
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "pas de directive de recherche trouv<75>e dans %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "un domaine par d<>faut doit <20>tre sp<73>cifi<66> lorsque l'option --dhcp-fqdn est utilis<69>e"
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr "v<>rification de syntaxe OK"
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "le serveur de nom %s a refus<75> de faire une recherche r<>cursive"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr "d<>tection d'une possible attaque de type DNS-rebind"
@@ -828,78 +828,78 @@ msgstr "d
msgid "unknown interface %s in bridge-interface"
msgstr "interface %s inconnue sp<73>cifi<66>e comme interface de pont"
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "impossible de cr<63>er une socket de lecture : %s"
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "impossible d'activer les options IPV6 sur la socket de lecture : %s"
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "impossible de lier la socket de lecture pour %s : %s"
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "impossible de lire sur la socket : %s"
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr "impossible de cr<63>er une socket TFTP : %s"
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "impossible de lier la socket de serveur pour %s : %s"
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignore le serveur de nom %s - interface locale"
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignore le serveur de nom %s - ne peut construire/lier la socket : %m"
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "non-qualifi<66>(e)"
#: network.c:720
#: network.c:743
msgid "names"
msgstr "noms"
#: network.c:722
#: network.c:745
msgid "default"
msgstr "d<>faut"
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "domaine"
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "utilise les adresses locales seulement pour %s %s"
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "utilise le serveur de nom %s#%d pour %s %s"
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "utilise le serveur de nom %s#%d (via %s)"
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "utilise le serveur de nom %s#%d"
@@ -928,7 +928,7 @@ msgstr "interface %s inconnue"
msgid "no interface with address %s"
msgstr "pas d'interface avec l'adresse %s"
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "Erreur DBus : %s"
@@ -1036,75 +1036,75 @@ msgstr "mode s
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "le nombre maximum de transferts TFTP simultan<61>s sera restreint <20> %d"
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "connect<63> au systeme DBus"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr "Ne peut se lancer en t<>che de fond : %s"
#: dnsmasq.c:760
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr "impossible de cr<63>er le 'helper' : %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr "impossible de configurer la capacit<69> %s"
#: dnsmasq.c:767
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s"
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "Impossible de changer l'identifiant de groupe pour %s : %s"
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "impossible de lire le fichier de PID %s : %s"
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr "Ne peut pas lire %s : %s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr "Le processus fils a <20>t<EFBFBD> termin<69> par le signal %d"
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr "Le processus fils s'est termin<69> avec le statut %d"
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr "impossible d'ex<65>cuter <20> %s : %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "sortie sur r<>ception du signal SIGTERM"
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr "impossible d'acc<63>der <20> %s : %s"
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "Lecture de %s"
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr "aucun serveur trouv<75> dans %s, va r<>essayer"
@@ -1129,47 +1129,47 @@ msgstr "impossible de d
msgid "failed to bind DHCP server socket: %s"
msgstr "impossible de lier la socket serveur DHCP : %s"
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "ne peut cr<63>er de socket en mode raw pour ICMP : %s."
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr "Paquet DHCP re<72>u sur %s qui n'a pas d'adresse"
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "La plage d'adresses DHCP %s -- %s n'est pas coh<6F>rente avec le masque de r<>seau %s"
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr "mauvaise ligne dans %s ligne %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr "ignore %s <20> la ligne %d : duplication de nom ou d'adresse IP"
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "adresse IP %s dupliqu<71>e dans la directive dhcp-config."
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr "adresse IP %s dupliqu<71>e dans %s."
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr "%s a plus d'une adresse dans le fichier d'h<>te, utilisation de %s pour le DHCP."
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "adresse IP %s (%s) dupliqu<71>e dans la directive dhcp-config."
@@ -1198,172 +1198,177 @@ msgstr "le script lease-init a retourn
msgid "failed to write %s: %s (retry in %us)"
msgstr "impossible de lire %s : %s (prochain essai dans %us)"
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "pas de plage d'adresse disponible pour la requ<71>te DHCP %s %s"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "avec s<>lecteur de sous-reseau"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "par l'interm<72>diaire de"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr "%u sous-r<>seaux DHCP disponibles : %s/%s"
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr "%u la gamme DHCP disponible est : %s -- %s"
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "d<>sactiv<69>"
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "ignor<6F>"
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "adresse d<>j<EFBFBD> utilis<69>e"
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "pas d'adresse disponible"
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "mauvais r<>seau"
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "pas d'adresse configur<75>e"
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "plus aucun bail disponible"
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr "le client %u fourni le nom : %s"
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr "%u Classe de vendeur ('Vendor Class') : %s"
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr "%u Classe d'utilisateur : %s"
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr "Service PXE BIS (Boot Integrity Services) non support<72>"
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "d<>sactive l'adresse statique DHCP %s pour %s"
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "bail inconnu"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "L'adresse statique %s ne sera pas utilis<69>e car un bail est d<>j<EFBFBD> attribu<62> <20> %s"
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "L'adresse statique %s ne sera pas utilis<69>e car elle est utilis<69>e par le serveur ou un relai"
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "L'adresse statique %s ne sera pas utilis<69>e car elle a pr<70>alablement <20>t<EFBFBD> refus<75>e"
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr "pas d'identifiant unique"
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr "mauvais identifiant de serveur"
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "mauvaise adresse"
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "bail non trouv<75>"
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "adresse non disponible"
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "bail statique disponible"
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "adresse reserv<72>e"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "abandon du bail de %s pour %s"
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr "%u options: %s"
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nom de fichier 'bootfile' : %s"
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr "%u nom du serveur : %s"
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr "%u serveur suivant : %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "Impossible d'envoyer l'option DHCP/BOOTP %d : pas assez d'espace dans le paquet"
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr "menu PXE trop grand"
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Le domaine %s est ignor<6F> pour l'h<>te DHCP %s"
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr "%u options demand<6E>es : %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "ne peux envoyer l'option RFC3925 : trop d'options pour le num<75>ro d'entreprise %d"
#: netlink.c:66
#, c-format
msgid "cannot create netlink socket: %s"
@@ -1407,8 +1412,8 @@ msgstr "requ
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgstr "TFTP envoy<EFBFBD> %s <20> %s"
msgid "sent %s to %s"
msgstr "envoy<6F> %s <20> %s"
#: tftp.c:305
#, c-format
@@ -1417,13 +1422,13 @@ msgstr "fichier %s non trouv
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgstr "TFTP erreur %d %s re<72>u de %s"
msgid "error %d %s received from %s"
msgstr "erreur %d %s re<72>u de %s"
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgstr "TFTP : impossible d'envoyer %s <20> %s"
msgid "failed sending %s to %s"
msgstr "impossible d'envoyer %s <20> %s"
#: log.c:169
#, c-format
@@ -1435,7 +1440,7 @@ msgstr "d
msgid "log failed: %s"
msgstr "trace perdue : %s"
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "IMPOSSIBLE de d<>marrer"

313
po/id.po
View File

@@ -21,19 +21,19 @@ msgid "failed to load names from %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, fuzzy, c-format
msgid "bad address at %s line %d"
msgstr "kesalahan nama pada %s baris %d"
# OK
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "kesalahan nama pada %s baris %d"
# OK
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "membaca %s - %d alamat"
@@ -44,7 +44,7 @@ msgid "cleared cache"
msgstr "cache telah dihapus"
# OK
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "tidak bisa membaca %s: %s"
@@ -89,7 +89,7 @@ msgid "failed to allocate memory"
msgstr "gagal memuat %S: %m"
# OK
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "tidak bisa mendapatkan memory"
@@ -597,7 +597,7 @@ msgid "Check configuration syntax."
msgstr ""
# OK
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -607,258 +607,258 @@ msgstr ""
"\n"
# OK
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Gunakan pilihan pendek saja pada perintah baris.\n"
# OK
#: option.c:617
#: option.c:618
#, fuzzy, c-format
msgid "Valid options are:\n"
msgstr "Pilihan yang boleh adalah:\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
# OK
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "dhcp-option salah"
# OK
#: option.c:792
#: option.c:804
#, fuzzy
msgid "bad IP address"
msgstr "membaca %s - %d alamat"
# OK
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "domain dalam dhcp-option salah"
# OK
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "dhcp-option terlalu panjang"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
# OK
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "tidak bisa membaca %s: %s"
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
# OK
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "kesukaan MX salah"
# OK
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "nama MX salah"
# OK
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "target MX salah"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
# OK
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "port salah"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
# OK
#: option.c:1611
#: option.c:1625
#, fuzzy
msgid "bad port range"
msgstr "port salah"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
# OK
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "dhcp-range salah"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
# OK
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "jangkauan DHCP tidak konsisten"
# OK
#: option.c:1912
#: option.c:1926
#, fuzzy
msgid "bad DHCP host name"
msgstr "nama MX salah"
# OK
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "nomor port tidak benar"
# OK
#: option.c:2284
#: option.c:2304
#, fuzzy
msgid "invalid alias range"
msgstr "weight tidak benar"
# OK
#: option.c:2297
#: option.c:2317
#, fuzzy
msgid "bad interface name"
msgstr "nama MX salah"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
# OK
#: option.c:2347
#: option.c:2367
#, fuzzy
msgid "bad PTR record"
msgstr "rekord SRV salah"
# OK
#: option.c:2378
#: option.c:2398
#, fuzzy
msgid "bad NAPTR record"
msgstr "rekord SRV salah"
# OK
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "string rekord TXT terlalu panjang"
# OK
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "rekord TXT salah"
# OK
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "rekord SRV salah"
# OK
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "target SRV salah"
# OK
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "prioritas tidak benar"
# OK
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "weight tidak benar"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
# OK
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "tidak bisa membaca %s: %s"
# OK
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "kurang \""
# OK
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "pilihan salah"
# OK
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "parameter berlebihan"
# OK
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "parameter kurang"
# OK
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "kesalahan"
# OK
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s pada baris %d dari %%s"
# OK
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, fuzzy, c-format
msgid "read %s"
msgstr "membaca %s"
# OK
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versi %s %s\n"
# OK
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -868,80 +868,80 @@ msgstr ""
"\n"
# OK
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n"
# OK
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsdmasq adalah perangkat lunak bebas, dan Anda dipersilahkan untuk membagikannya\n"
# OK
#: option.c:2847
#: option.c:2867
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "dengan aturan GNU General Public License, versi 2.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
# OK
#: option.c:2863
#: option.c:2883
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "pilihan baris perintah salah: %s."
# OK
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "tidak bisa mendapatkan host-name: %s"
# OK
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "hanya satu file resolv.conf yang diperbolehkan dalam modus no-poll."
# OK
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr "harus mempunyai tepat satu resolv.conf untuk mendapatkan nama domain."
# OK
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "gagal membaca %s: %s"
# OK
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "tidak ditemukan direktif search di %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
# OK
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "nameserver %s menolak melakukan resolusi rekursif"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -952,89 +952,89 @@ msgid "unknown interface %s in bridge-interface"
msgstr "antarmuka tidak dikenal %s"
# OK
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "gagal membuat socket: %s "
# OK
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "gagal menyetel IPV6 pada socket: %s"
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "gagal mem-bind socket untuk mendengarkan %s: %s"
# OK
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "gagal mendengarkan di socket: %s"
# OK
#: network.c:467
#: network.c:486
#, fuzzy, c-format
msgid "failed to create TFTP socket: %s"
msgstr "gagal membuat socket: %s "
#: network.c:661
#: network.c:680
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "gagal mem-bind socket untuk mendengarkan %s: %s"
# OK
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "mengabaikan nameserver %s - antarmuka lokal"
# OK
#: network.c:705
#: network.c:728
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "mengabaikan nameserver %s - tak dapat membuat/mem-bind socket: %s"
# OK
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "tidak memenuhi syarat"
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
# OK
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "domain"
# OK
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "menggunakan alamat lokal saja untuk %s %s"
# OK
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "menggunakan nameserver %s#%d untuk %s %s"
# OK
#: network.c:732
#: network.c:755
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "menggunakan nameserver %s#%d"
# OK
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "menggunakan nameserver %s#%d"
@@ -1068,7 +1068,7 @@ msgid "no interface with address %s"
msgstr "tidak ada antarmuka dengan alamat %s"
# OK
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "DBus error: %s"
@@ -1191,84 +1191,84 @@ msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
# OK
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "terhubung ke sistem DBus"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
# OK
#: dnsmasq.c:760
#: dnsmasq.c:770
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "gagal membaca %s: %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# OK
#: dnsmasq.c:767
#: dnsmasq.c:777
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
#: dnsmasq.c:772
#: dnsmasq.c:782
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "gagal memuat nama-nama dari %s: %s"
# OK
#: dnsmasq.c:775
#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "gagal membaca %s: %s"
# OK
#: dnsmasq.c:778
#: dnsmasq.c:788
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "tidak bisa membuka %s:%s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
# OK
#: dnsmasq.c:841
#: dnsmasq.c:851
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "gagal mengakses %s: %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "keluar karena menerima SIGTERM"
# OK
#: dnsmasq.c:903
#: dnsmasq.c:913
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "gagal mengakses %s: %s"
# OK
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "membaca %s"
# OK
#: dnsmasq.c:936
#: dnsmasq.c:946
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "tidak ditemukan direktif search di %s"
@@ -1298,52 +1298,52 @@ msgid "failed to bind DHCP server socket: %s"
msgstr "gagal mem-bind socket server DHCP: %s"
# OK
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "tidak dapat membuat socket ICMP raw: %s"
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
# OK
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "jangkauan DHCP %s -- %s tidak konsisten dengan netmask %s"
# OK
#: dhcp.c:772
#: dhcp.c:791
#, fuzzy, c-format
msgid "bad line at %s line %d"
msgstr "kesalahan nama pada %s baris %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
# OK
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "alamat IP kembar %s dalam direktif dhcp-config"
# OK
#: dhcp.c:900
#: dhcp.c:919
#, fuzzy, c-format
msgid "duplicate IP address %s in %s."
msgstr "alamat IP kembar %s dalam direktif dhcp-config"
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
# OK
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "alamat IP kembar %s (%s) dalam direktif dhcp-config"
@@ -1377,191 +1377,196 @@ msgid "failed to write %s: %s (retry in %us)"
msgstr "gagal membaca %s: %s"
# OK
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s"
# OK
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "dengan pemilih subnet"
# OK
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "lewat"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
# OK
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "di disable"
# OK
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "diabaikan"
# OK
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "alamat telah digunakan"
# OK
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "tak ada alamat yang tersedia"
# OK
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "jaringan yang salah"
# OK
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "tak ada alamat yang disetel"
# OK
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "tak ada lease yang tersisa"
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
# OK
#: rfc2131.c:853
#: rfc2131.c:898
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "men-disable alamat statik DHCP %s"
# OK
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "lease tidak diketahui"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
# OK
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "alamat salah"
# OK
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "lease tak ditemukan"
# OK
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "alamat tak tersedia"
# OK
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "lease statik tak tersedia"
# OK
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "alamat telah dipesan"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
# OK
#: rfc2131.c:1605
#: rfc2131.c:1720
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "DBus error: %s"
# OK
#: rfc2131.c:1613
#: rfc2131.c:1728
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "DBus error: %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
# OK
#: rfc2131.c:2052
#: rfc2131.c:2161
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "pilihan-pilihan saat kompilasi: %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
# OK
#: netlink.c:66
#, fuzzy, c-format
@@ -1612,7 +1617,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
# OK
@@ -1623,13 +1628,13 @@ msgstr "lease tak ditemukan"
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
# OK
#: tftp.c:447
#, fuzzy, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr "gagal membaca %s: %s"
#: log.c:169
@@ -1643,7 +1648,7 @@ msgid "log failed: %s"
msgstr ""
# OK
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "GAGAL untuk memulai"

335
po/it.po
View File

@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr ""
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr ""
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr ""
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr ""
@@ -39,7 +39,7 @@ msgstr ""
msgid "cleared cache"
msgstr ""
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
@@ -78,7 +78,7 @@ msgstr ""
msgid "failed to allocate memory"
msgstr ""
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr ""
@@ -506,294 +506,294 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr ""
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr ""
#: option.c:792
#: option.c:804
msgid "bad IP address"
msgstr ""
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr ""
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr ""
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr ""
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr ""
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr ""
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr ""
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr ""
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr ""
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr ""
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr ""
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr ""
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr ""
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr ""
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr ""
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr ""
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr ""
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr ""
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr ""
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr ""
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr ""
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr ""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr ""
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr ""
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr ""
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr ""
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr ""
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr ""
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr ""
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr ""
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr ""
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -802,78 +802,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr ""
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr ""
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr ""
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -901,7 +901,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -1007,75 +1007,75 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr ""
#: dnsmasq.c:757
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:763
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr ""
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr ""
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr ""
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1100,47 +1100,47 @@ msgstr ""
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr ""
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
@@ -1169,172 +1169,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr ""
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr ""
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr ""
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr ""
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr ""
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr ""
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr ""
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr ""
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr ""
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr ""
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr ""
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr ""
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr ""
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr ""
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr ""
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr ""
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, c-format
msgid "cannot create netlink socket: %s"
@@ -1378,7 +1383,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1388,12 +1393,12 @@ msgstr ""
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr ""
#: log.c:169
@@ -1406,6 +1411,6 @@ msgstr ""
msgid "log failed: %s"
msgstr ""
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr ""

313
po/no.po
View File

@@ -22,17 +22,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "feilet <20> laste navn fra %s: %s"
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr "d<>rlig adresse ved %s linje %d"
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "d<>rlig navn ved %s linje %d"
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "les %s - %d adresser"
@@ -41,7 +41,7 @@ msgstr "les %s - %d adresser"
msgid "cleared cache"
msgstr "mellomlager t<>mt"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "kan ikke lese %s: %s"
@@ -81,7 +81,7 @@ msgstr "feilet
msgid "failed to allocate memory"
msgstr "feilet <20> laste %d bytes"
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "kunne ikke f<> minne"
@@ -522,7 +522,7 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -531,223 +531,223 @@ msgstr ""
"Bruk: dnsmasq [opsjoner]\n"
"\n"
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "Bruk korte opsjoner kun p<> kommandolinjen.\n"
#: option.c:617
#: option.c:618
#, fuzzy, c-format
msgid "Valid options are:\n"
msgstr "Gyldige opsjoner er :\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "d<>rlig dhcp-opsjon"
#: option.c:792
#: option.c:804
#, fuzzy
msgid "bad IP address"
msgstr "les %s - %d adresser"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "d<>rlig domene i dhcp-opsjon"
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "dhcp-opsjon for lang"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "kan ikke lese %s: %s"
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "d<>rlig MX preferanse"
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "d<>rlig MX navn"
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "d<>rlig MX m<>l"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "d<>rlig port"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
#, fuzzy
msgid "bad port range"
msgstr "d<>rlig port"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "d<>rlig dhcp-omr<6D>de"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "ikke konsistent DHCP omr<6D>de"
#: option.c:1912
#: option.c:1926
#, fuzzy
msgid "bad DHCP host name"
msgstr "d<>rlig MX navn"
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "ugyldig portnummer"
#: option.c:2284
#: option.c:2304
#, fuzzy
msgid "invalid alias range"
msgstr "ugyldig vekt"
#: option.c:2297
#: option.c:2317
#, fuzzy
msgid "bad interface name"
msgstr "d<>rlig MX navn"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
#, fuzzy
msgid "bad PTR record"
msgstr "d<>rlig SRV post"
#: option.c:2378
#: option.c:2398
#, fuzzy
msgid "bad NAPTR record"
msgstr "d<>rlig SRV post"
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "TXT post streng for lang"
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "d<>rlig TXT post"
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "d<>rlig SRV post"
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "d<>rlig SRV m<>l"
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "ugyldig prioritet"
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "ugyldig vekt"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "kan ikke lese %s: %s"
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "mangler \""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "d<>rlig opsjon"
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "overfl<66>dig parameter"
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "mangler parameter"
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "feil"
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s p<> linje %d av %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, fuzzy, c-format
msgid "read %s"
msgstr "leser %s"
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq versjon %s %s\n"
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -756,71 +756,71 @@ msgstr ""
"Kompileringsopsjoner %s\n"
"\n"
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n"
#: option.c:2846
#: option.c:2866
#, 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:2847
#: option.c:2867
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "under vilk<6C>rene gitt i GNU General Public License, versjon 2.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "d<>rlige kommandlinje opsjoner: %s."
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "klarer ikke <20> f<> vertsnavn: %s"
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "kun en resolv.conf fil tillat i no-poll modus."
#: option.c:2942
#: option.c:2962
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:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "feilet <20> lese %s: %s"
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "intet s<>ke direktiv funnet i %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "navnetjener %s nektet <20> gj<67>re et rekursivt oppslag"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -829,78 +829,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr "ukjent tilknytning (interface) %s"
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "feilet <20> lage lytte socket: %s"
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "feilet <20> sette IPv6 opsjoner p<> lytte socket: %s"
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "feilet <20> binde lytte socket for %s: %s"
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "feilet <20> lytte p<> socket: %s"
#: network.c:467
#: network.c:486
#, fuzzy, c-format
msgid "failed to create TFTP socket: %s"
msgstr "feilet <20> lage lytte socket: %s"
#: network.c:661
#: network.c:680
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "feilet <20> binde lytte socket for %s: %s"
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorerer navnetjener %s - lokal tilknytning"
#: network.c:705
#: network.c:728
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorerer navnetjener %s - kan ikke lage/dinde socket: %s"
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "ikke kvalifisert"
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "domene"
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "benytter lokale adresser kun for %s %s"
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "benytter navnetjener %s#%d for %s %s"
#: network.c:732
#: network.c:755
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "benytter navnetjener %s#%d"
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "benytter navnetjener %s#%d"
@@ -929,7 +929,7 @@ msgstr "ukjent tilknytning (interface) %s"
msgid "no interface with address %s"
msgstr "ingen tilknytning (interface) med adresse %s"
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "DBus feil: %s"
@@ -1037,75 +1037,75 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "tilkoblet til system DBus"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#: dnsmasq.c:770
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "feilet <20> lese %s: %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:767
#: dnsmasq.c:777
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "feilet <20> laste navn fra %s: %s"
#: dnsmasq.c:772
#: dnsmasq.c:782
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "feilet <20> laste navn fra %s: %s"
#: dnsmasq.c:775
#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "feilet <20> lese %s: %s"
#: dnsmasq.c:778
#: dnsmasq.c:788
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "kan ikke <20>pne %s:%s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "feilet <20> f<> tilgang til %s: %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "avslutter etter mottak av SIGTERM"
#: dnsmasq.c:903
#: dnsmasq.c:913
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "feilet <20> f<> tilgang til %s: %s"
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "leser %s"
#: dnsmasq.c:936
#: dnsmasq.c:946
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "intet s<>ke direktiv funnet i %s"
@@ -1130,47 +1130,47 @@ msgstr "feilet
msgid "failed to bind DHCP server socket: %s"
msgstr "feilet <20> binde DHCP tjener socket: %s"
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "kan ikke lage ICMP raw socket: %s"
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, 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:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr "d<>rlig linje ved %s linje %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
#: dhcp.c:900
#: dhcp.c:919
#, fuzzy, c-format
msgid "duplicate IP address %s in %s."
msgstr "dubliserte IP adresser i %s dhcp-config direktiv."
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "dubliserte IP adresser i %s (%s) i dhcp-config direktiv"
@@ -1199,172 +1199,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr "feilet <20> lese %s: %s"
#: rfc2131.c:336
#: rfc2131.c:375
#, 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:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "med subnet velger"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "via"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "deaktivert"
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "oversett"
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "adresse i bruk"
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "ingen adresse tilgjengelig"
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "galt nettverk"
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "ingen adresse konfigurert"
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "ingen leier igjen"
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "deaktiverer DHCP statisk adresse %s"
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "ukjent leie"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "gal adresse"
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "leie ikke funnet"
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "adresse ikke tilgjengelig"
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "statisk leie tilgjengelig"
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "adresse reservert"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "DBus feil: %s"
#: rfc2131.c:1613
#: rfc2131.c:1728
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "DBus feil: %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken"
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "kompilerings opsjoner: %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, fuzzy, c-format
msgid "cannot create netlink socket: %s"
@@ -1408,7 +1413,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1418,12 +1423,12 @@ msgstr "leie ikke funnet"
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, fuzzy, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr "feilet <20> lese %s: %s"
#: log.c:169
@@ -1436,7 +1441,7 @@ msgstr ""
msgid "log failed: %s"
msgstr ""
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "FEILET <20> starte opp"

327
po/pl.po
View File

@@ -3,15 +3,15 @@
# This file is put in the public domain.
#
# Tomasz Socha<68>ski <nerdhero@gmail.com>, 2005.
# Jan Psota <jasiu@belsznica.pl>, 2008, 2009.
# Jan Psota <jasiu@belsznica.pl>, 2008, 2009, 2010.
msgid ""
msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 20:57+0100\n"
"PO-Revision-Date: 2009-10-02 20:30+0200\n"
"PO-Revision-Date: 2010-01-14 21:47+0100\n"
"Last-Translator: Jan Psota <jasiu@belsznica.pl>\n"
"Language-Team: Polish <kde-i18n-doc@kde.org>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -24,17 +24,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "nie potrafi<66> wczyta<74> nazw z %s: %s"
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr "b<><62>dny adres w pliku %s, w linii %d"
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "b<><62>dna nazwa w pliku %s, w linii %d"
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "wczyta<74>em %s - %d adres<65>w"
@@ -43,7 +43,7 @@ msgstr "wczyta
msgid "cleared cache"
msgstr "wyczyszczono pami<6D><69> podr<64>czn<7A>"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr "brak dost<73>pu do katalogu %s: %s"
@@ -82,7 +82,7 @@ msgstr "brak mo
msgid "failed to allocate memory"
msgstr "nie uda<64>o si<73> przydzieli<6C> pami<6D>ci"
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "nie mo<6D>na dosta<74> pami<6D>ci"
@@ -510,7 +510,7 @@ msgstr "Sk
msgid "Check configuration syntax."
msgstr "Sprawd<77> sk<73>adni<6E>."
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -519,216 +519,216 @@ msgstr ""
"U<>ycie: dnsmasq [opcje]\n"
"\n"
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr "W tym systemie w linii polece<63> mo<6D>na u<>ywa<77> wy<77><79>cznie jednoliterowych opcji.\n"
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr "Dost<73>pne opcje:\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr "Znane opcje DHCP:\n"
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "b<><62>d w dhcp-option"
#: option.c:792
#: option.c:804
msgid "bad IP address"
msgstr "z<>y adres IP"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "nieprawid<69>owa nazwa domeny w dhcp-option"
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "zbyt d<>uga dhcp-option (>255 znak<61>w)"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr "niedopuszczalne dhcp-match"
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr "wielokrotne u<>ycie opcji niedozwolone (pojawi<77>a si<73> wcze<7A>niej w linii polece<63>)"
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr "wielokrotne u<>ycie opcji niedozwolone (pojawi<77>a si<73> wsze<7A>niej w pliku konfiguracyjnym)"
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr "brak dost<73>pu do %s: %s"
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr "mo<6D>na wskaza<7A> tylko jeden plik dhcp-hostsfile"
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr "mo<6D>na wskaza<7A> tylko jeden plik dhcp-optsfile"
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "nieprawid<69>owa warto<74><6F> preferencji MX"
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "nieprawid<69>owa nazwa MX"
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "nieprawid<69>owa warto<74><6F> celu MX"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr "w uClinuksie nie ma mo<6D>liwo<77>ci uruchamiania skrypt<70>w"
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr "<22>eby mie<69> mo<6D>liwo<77><6F> u<>ywania skrypt<70>w wywo<77>ywanych przy zmianie dzier<65>awy, przekompiluj dnsmasq-a z w<><77>czon<6F> flag<61> HAVE_SCRIPT"
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "nieprawid<69>owy numer portu"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr "nie ma mo<6D>liwo<77>ci dowi<77>zywania do interfejsu"
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr "nieprawid<69>owy zakres numer<65>w port<72>w"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr "nieprawid<69>owa nazwa urz<72>dzenia w bridge-interface"
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "nieprawid<69>owy zakres dhcp-range"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr "mo<6D>na wskaza<7A> tylko jeden znacznik sieci"
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "niesp<73>jny zakres adres<65>w DHCP"
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr "niedopuszczalna nazwa komputera w dhcp-host"
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "nieprawid<69>owy numer portu"
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr "nieprawid<69>owy zakres adres<65>w w --alias"
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr "nieprawid<69>owa nazwa interfejsu"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr "z<>a CNAME"
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr "powt<77>rzona CNAME"
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr "nieprawid<69>owy zapis rekordu PTR"
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr "nieprawid<69>owy zapis rekordu NAPTR"
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "zbyt d<>ugi rekord TXT"
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "nieprawid<69>owy zapis rekordu TXT"
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "nieprawid<69>owy zapis rekordu SRV"
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "nieprawid<69>owa warto<74><6F> celu SRV"
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "nieprawid<69>owy priorytet"
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "nieprawid<69>owa waga"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr "nieobs<62>ugiwana opcja (sprawd<77>, czy obs<62>uga DHCP/TFTP/DBus zosta<74>a wkompilowana)"
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr "zbyt du<64>e zag<61><67>bienie plik<69>w w %s"
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "b<><62>d odczytu z pliku %s: %s"
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "brakuje \""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "nieprawid<69>owa opcja"
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "nadwy<77>kowy parametr"
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "brak parametru"
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "b<><62>d"
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s w linii %d pliku %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr "przeczyta<74>em %s"
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "Dnsmasq, wersja %s %s\n"
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -737,71 +737,71 @@ msgstr ""
"Wkompilowane opcje %s\n"
"\n"
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Autor nie daje <20>ADNYCH GWARANCJI egzekwowalnych prawnie.\n"
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr "Dnsmasq jest wolnym oprogramowaniem, mo<6D>esz go rozprowadza<7A>\n"
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "na warunkach okre<72>lonych w GNU General Public Licence, w wersji 2 lub 3.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr "spr<70>buj: --help"
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr "spr<70>buj: -w"
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr "nieprawid<69>owa opcja w linii polece<63> %s"
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "nie mo<6D>na pobra<72> nazwy hosta: %s"
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr "w trybie no-poll mo<6D>na wskaza<7A> najwy<77>ej jeden plik resolv.conf."
#: option.c:2942
#: option.c:2962
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:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr "nie uda<64>o si<73> odczyta<74> %s: %s"
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "brak wytycznych wyszukiwania w %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr "w przypadku u<>ywania --dhcp-fqdn trzeba wskaza<7A> domy<6D>ln<6C> domen<65>"
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr "sk<73>adnia sprawdzona, jest prawid<69>owa"
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "serwer nazw %s odmawia wykonania zapytania rekurencyjnego"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr "prawdopodobnie wykryto atak DNS-rebind"
@@ -810,78 +810,78 @@ msgstr "prawdopodobnie wykryto atak DNS-rebind"
msgid "unknown interface %s in bridge-interface"
msgstr "nieznany interfejs %s w bridge-u"
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "b<><62>d podczas tworzenia gniazda: %s"
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr "b<><62>d ustawiania opcji IPV6 na nas<61>uchuj<75>cym gnie<69>dzie: %s"
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr "b<><62>d przy przyznawaniu nazwy gniazdu %s: %s"
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "b<><62>d przy w<><77>czaniu nas<61>uchu na gnie<69>dzie: %s"
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr "nie powiod<6F>o si<73> otwieranie gniazda dla us<75>ugi TFTP: %s"
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "b<><62>d przy przyznawaniu nazwy gniazdu serwera %s: %s"
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorowanie serwera nazw %s - interfejs lokalny"
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorowanie serwera nazw %s - nie mo<6D>na utworzy<7A>/dowi<77>za<7A> gniazda: %s"
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "niekwalifikowane(-a)"
#: network.c:720
#: network.c:743
msgid "names"
msgstr "nazwy"
#: network.c:722
#: network.c:745
msgid "default"
msgstr "domy<6D>lne"
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "domeny"
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "u<>ywam adres<65>w lokalnych tylko dla %s %s"
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "u<>ywam serwera nazw %s#%d dla %s %s"
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "u<>ywam serwera nazw %s#%d (przez %s)"
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "u<>ywam serwera nazw %s#%d"
@@ -909,7 +909,7 @@ msgstr "nieznany interfejs %s"
msgid "no interface with address %s"
msgstr "brak interfejsu z adresem %s"
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "b<><62>d DBus: %s"
@@ -1015,75 +1015,75 @@ msgstr "w trybie bezpiecznym"
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr "ograniczam ilo<6C><6F> jednoczesnych przes<65>a<EFBFBD> TFTP do %d"
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "pod<6F><64>czono do DBus-a"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr "nie potrafi<66> prze<7A><65>czy<7A> si<73> do pracy w tle: %s"
#: dnsmasq.c:760
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr "nie uda<64>o si<73> utworzy<7A> procesu pomocniczego: %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr "nie powiod<6F>o si<73> ustawianie ogranicze<7A> (capabilities): %s"
#: dnsmasq.c:767
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr "nie uda<64>o si<73> zmieni<6E> u<>ytkownika procesu na %s: %s"
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr "nie uda<64>o si<73> zmieni<6E> grupy procesu na %s: %s"
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nie uda<64>o si<73> otworzy<7A> pliku z PID-em %s: %s"
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr "nie mo<6D>na otworzy<7A> %s: %s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr "proces potomny zabity sygna<6E>em %d"
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr "proces potomny zako<6B>czy<7A> si<73> z kodem powrotu %d"
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr "nie uda<64>o si<73> uruchomi<6D> %s: %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "zako<6B>czy<7A>em dzia<69>anie z powodu odebrania SIGTERM"
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr "brak dost<73>pu do %s: %s"
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "czytanie %s"
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr "w %s nie znalaz<61>em serwer<65>w, spr<70>buj<75> ponownie p<><70>niej"
@@ -1108,47 +1108,47 @@ msgstr "nie uda
msgid "failed to bind DHCP server socket: %s"
msgstr "b<><62>d przy przyznawaniu nazwy gniazdu serwera DHCP: %s"
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "nie uda<64>o si<73> utworzy<7A> surowego gniazda ICMP: %s."
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr "<22><>danie DHCP odebrano na interfejsie %s, kt<6B>ry nie ma adresu"
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr "zakres adres<65>w DHCP %s -- %s jest niesp<73>jny z mask<73> sieci %s"
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr "z<>a zawarto<74><6F> pliku %s, w linii %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr "w %s pomijam lini<6E> %d -- powt<77>rzona nazwa lub adres IP"
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "powt<77>rzony adres IP (%s) w parametrze dhcp-config"
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr "powt<77>rzony adres IP (%s) w pliku %s"
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr "do komputera o nazwie %s pasuje wi<77>cej ni<6E> jeden adres, w odpowiedzi DHCP wysy<73>am %s"
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "powt<77>rzenie adresu IP %s (%s) w opcji dhcp-config"
@@ -1177,171 +1177,176 @@ msgstr "skrypt zako
msgid "failed to write %s: %s (retry in %us)"
msgstr "b<><62>d zapisu do %s: %s (spr<70>buj<75> ponownie za %us)"
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr "nie zdefiniowano zakresu adres<65>w odpowiedniego dla <20><>dania %s %s"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "z wyborem podsieci"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "przez"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr "%u Dost<73>pna podsie<69> DHCP: %s/%s"
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr "%u zakres adres<65>w na u<>ytek DHCP: %s -- %s"
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "wy<77><79>czony(a)"
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "ignoruj<75>"
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "adres jest w u<>yciu"
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "brak dost<73>pnego adresu"
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "nieprawid<69>owa sie<69>"
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "brak skonfigurowanego adresu"
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "brak wolnych dzier<65>aw"
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr "klient %u przedstawia si<73> jako %s"
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr "%u klasa klienta: %s"
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr "%u Klasa u<>ytkownika: %s"
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr "PXE BIS nie jest obs<62>ugiwane"
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "wy<77><79>czam statyczne przypisanie adresu %s dla %s"
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "nieznana dzier<65>awa"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr "nie proponuj<75> zak<61>adanego w konfiguracji adresu %s, bo jest on ju<6A> wydzier<65>awiony komputerowi %s"
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr "nie proponuj<75> zak<61>adanego w konfiguracji adresu %s, bo u<>ywa go kt<6B>ry<72> z serwer<65>w"
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr "nie proponuj<75> zak<61>adanego w konfiguracji adresu %s, bo ju<6A> poprzednio zosta<74> odrzucony"
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr "brak unikalnego id"
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr "nieprawid<69>owy identyfikator serwera (server-ID)"
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "b<><62>dny adres"
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "dzier<65>awa nieznaleziona"
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "adres niedost<73>pny"
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "dost<73>pna statyczna dzier<65>awa"
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "adres zarezerwowany"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr "porzucam przypisanie do %s nazwy %s"
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr "%u cechy: %s"
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr "%u nazwa pliku bootowania: %s"
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr "%u nazwa serwera: %s"
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr "%u nast<73>pny serwer: %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "nie mam mo<6D>liwo<77>ci wys<79>ania opcji %d DHCP/BOOTP: niedostateczna ilo<6C><6F> miejsca w pakiecie"
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr "menu PXE zbyt du<64>e"
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr "Nie uwzgl<67>dniam cz<63><7A>ci domenowej (%s) dla komputera %s"
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr "%u wskazane opcje: %s"
msgstr "%u za<EFBFBD><EFBFBD>dano: %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr "nie mog<6F> wys<79>a<EFBFBD> opcji RFC3925: za d<>ugi <20>a<EFBFBD>cuch opcji przy numerze %d"
#: netlink.c:66
#, c-format
@@ -1386,8 +1391,8 @@ msgstr "nieobs
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgstr "plik %s przes<65>ano za pomoc<6F> TFTP do %s"
msgid "sent %s to %s"
msgstr "plik %s przes<65>ano do %s"
#: tftp.c:305
#, c-format
@@ -1396,13 +1401,13 @@ msgstr "plik %s nie zosta
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgstr "b<><62>d TFTP: %d bajt<6A>w odebrano (%s) z %s"
msgid "error %d %s received from %s"
msgstr "b<><62>d %d %s odebrano od %s"
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgstr "b<><62>d wysy<73>ania przez TFTP pliku %s do komputera %s"
msgid "failed sending %s to %s"
msgstr "b<><62>d wysy<73>ania pliku %s do komputera %s"
#: log.c:169
#, c-format
@@ -1414,7 +1419,7 @@ msgstr "przepe
msgid "log failed: %s"
msgstr "nie uda<64>o si<73> zapisa<73> komunikat<61>w do %s"
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "B<><42>D: nie uda<64>o si<73> uruchomi<6D> dnsmasq-a"

View File

@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr ""
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr ""
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr ""
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr ""
@@ -39,7 +39,7 @@ msgstr ""
msgid "cleared cache"
msgstr ""
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, c-format
msgid "cannot access directory %s: %s"
msgstr ""
@@ -78,7 +78,7 @@ msgstr ""
msgid "failed to allocate memory"
msgstr ""
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr ""
@@ -506,294 +506,294 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
"\n"
msgstr ""
#: option.c:615
#: option.c:616
#, c-format
msgid "Use short options only on the command line.\n"
msgstr ""
#: option.c:617
#: option.c:618
#, c-format
msgid "Valid options are:\n"
msgstr ""
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr ""
#: option.c:792
#: option.c:804
msgid "bad IP address"
msgstr ""
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr ""
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr ""
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, c-format
msgid "cannot access %s: %s"
msgstr ""
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr ""
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr ""
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr ""
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr ""
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
msgid "bad port range"
msgstr ""
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr ""
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr ""
#: option.c:1912
#: option.c:1926
msgid "bad DHCP host name"
msgstr ""
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr ""
#: option.c:2284
#: option.c:2304
msgid "invalid alias range"
msgstr ""
#: option.c:2297
#: option.c:2317
msgid "bad interface name"
msgstr ""
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
msgid "bad PTR record"
msgstr ""
#: option.c:2378
#: option.c:2398
msgid "bad NAPTR record"
msgstr ""
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr ""
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr ""
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr ""
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr ""
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr ""
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr ""
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr ""
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr ""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr ""
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr ""
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr ""
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr ""
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr ""
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, c-format
msgid "read %s"
msgstr ""
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr ""
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
"\n"
msgstr ""
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr ""
#: option.c:2846
#: option.c:2866
#, c-format
msgid "Dnsmasq is free software, and you are welcome to redistribute it\n"
msgstr ""
#: option.c:2847
#: option.c:2867
#, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr ""
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, c-format
msgid "bad command line options: %s"
msgstr ""
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr ""
#: option.c:2932
#: option.c:2952
msgid "only one resolv.conf file allowed in no-poll mode."
msgstr ""
#: option.c:2942
#: option.c:2962
msgid "must have exactly one resolv.conf to read domain from."
msgstr ""
#: option.c:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, c-format
msgid "failed to read %s: %s"
msgstr ""
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr ""
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr ""
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -802,78 +802,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr ""
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr ""
#: network.c:424
#: network.c:443
#, c-format
msgid "failed to set IPV6 options on listening socket: %s"
msgstr ""
#: network.c:450
#: network.c:469
#, c-format
msgid "failed to bind listening socket for %s: %s"
msgstr ""
#: network.c:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr ""
#: network.c:467
#: network.c:486
#, c-format
msgid "failed to create TFTP socket: %s"
msgstr ""
#: network.c:661
#: network.c:680
#, c-format
msgid "failed to bind server socket for %s: %s"
msgstr ""
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr ""
#: network.c:705
#: network.c:728
#, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr ""
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr ""
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr ""
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr ""
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr ""
#: network.c:732
#: network.c:755
#, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr ""
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr ""
@@ -901,7 +901,7 @@ msgstr ""
msgid "no interface with address %s"
msgstr ""
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr ""
@@ -1007,75 +1007,75 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr ""
#: dnsmasq.c:757
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:763
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:770
#, c-format
msgid "failed to create helper: %s"
msgstr ""
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
#: dnsmasq.c:777
#, c-format
msgid "failed to change user-id to %s: %s"
msgstr ""
#: dnsmasq.c:772
#: dnsmasq.c:782
#, c-format
msgid "failed to change group-id to %s: %s"
msgstr ""
#: dnsmasq.c:775
#: dnsmasq.c:785
#, c-format
msgid "failed to open pidfile %s: %s"
msgstr ""
#: dnsmasq.c:778
#: dnsmasq.c:788
#, c-format
msgid "cannot open %s: %s"
msgstr ""
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, c-format
msgid "failed to execute %s: %s"
msgstr ""
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr ""
#: dnsmasq.c:903
#: dnsmasq.c:913
#, c-format
msgid "failed to access %s: %s"
msgstr ""
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr ""
#: dnsmasq.c:936
#: dnsmasq.c:946
#, c-format
msgid "no servers found in %s, will retry"
msgstr ""
@@ -1100,47 +1100,47 @@ msgstr ""
msgid "failed to bind DHCP server socket: %s"
msgstr ""
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr ""
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, c-format
msgid "DHCP range %s -- %s is not consistent with netmask %s"
msgstr ""
#: dhcp.c:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr ""
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr ""
#: dhcp.c:900
#: dhcp.c:919
#, c-format
msgid "duplicate IP address %s in %s."
msgstr ""
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr ""
@@ -1169,172 +1169,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr ""
#: rfc2131.c:336
#: rfc2131.c:375
#, c-format
msgid "no address range available for DHCP request %s %s"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr ""
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr ""
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr ""
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr ""
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr ""
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr ""
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr ""
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr ""
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr ""
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, c-format
msgid "disabling DHCP static address %s for %s"
msgstr ""
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr ""
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr ""
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr ""
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr ""
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr ""
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr ""
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, c-format
msgid "%u server name: %s"
msgstr ""
#: rfc2131.c:1613
#: rfc2131.c:1728
#, c-format
msgid "%u next server: %s"
msgstr ""
#: rfc2131.c:1680
#: rfc2131.c:1795
#, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr ""
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, c-format
msgid "%u requested options: %s"
msgstr ""
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, c-format
msgid "cannot create netlink socket: %s"
@@ -1378,7 +1383,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1388,12 +1393,12 @@ msgstr ""
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr ""
#: log.c:169
@@ -1406,6 +1411,6 @@ msgstr ""
msgid "log failed: %s"
msgstr ""
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr ""

313
po/ro.po
View File

@@ -20,17 +20,17 @@ msgstr ""
msgid "failed to load names from %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
#: cache.c:798 dhcp.c:785
#: cache.c:798 dhcp.c:804
#, c-format
msgid "bad address at %s line %d"
msgstr "adresă greşită în %s, linia %d"
#: cache.c:856 dhcp.c:801
#: cache.c:856 dhcp.c:820
#, c-format
msgid "bad name at %s line %d"
msgstr "nume greşit în %s linia %d"
#: cache.c:863 dhcp.c:875
#: cache.c:863 dhcp.c:894
#, c-format
msgid "read %s - %d addresses"
msgstr "citesc %s - %d adrese"
@@ -39,7 +39,7 @@ msgstr "citesc %s - %d adrese"
msgid "cleared cache"
msgstr "memoria temporară a fost ştearsă"
#: cache.c:933 option.c:1055
#: cache.c:933 option.c:1069
#, fuzzy, c-format
msgid "cannot access directory %s: %s"
msgstr "nu pot citi %s: %s"
@@ -79,7 +79,7 @@ msgstr "ascultarea pe socket a eşuat: %s"
msgid "failed to allocate memory"
msgstr "nu pot încărca %d bytes"
#: util.c:229 option.c:548
#: util.c:229 option.c:549
msgid "could not get memory"
msgstr "nu am putut aloca memorie"
@@ -520,7 +520,7 @@ msgstr ""
msgid "Check configuration syntax."
msgstr ""
#: option.c:613
#: option.c:614
#, c-format
msgid ""
"Usage: dnsmasq [options]\n"
@@ -529,223 +529,223 @@ msgstr ""
"Utilizare: dnsmasq [opţiuni]\n"
"\n"
#: option.c:615
#: option.c:616
#, 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:617
#: option.c:618
#, fuzzy, c-format
msgid "Valid options are:\n"
msgstr "Opţiunile valide sunt:\n"
#: option.c:658
#: option.c:659
#, c-format
msgid "Known DHCP options:\n"
msgstr ""
#: option.c:735
#: option.c:747
msgid "bad dhcp-option"
msgstr "dhcp-option invalid"
#: option.c:792
#: option.c:804
#, fuzzy
msgid "bad IP address"
msgstr "citesc %s - %d adrese"
#: option.c:891
#: option.c:903
msgid "bad domain in dhcp-option"
msgstr "domeniu DNS invalid în declaraţia dhcp-option"
#: option.c:950
#: option.c:964
msgid "dhcp-option too long"
msgstr "declararea dhcp-option este prea lungă"
#: option.c:959
#: option.c:973
msgid "illegal dhcp-match"
msgstr ""
#: option.c:995
#: option.c:1009
msgid "illegal repeated flag"
msgstr ""
#: option.c:1003
#: option.c:1017
msgid "illegal repeated keyword"
msgstr ""
#: option.c:1086 tftp.c:359
#: option.c:1100 tftp.c:359
#, fuzzy, c-format
msgid "cannot access %s: %s"
msgstr "nu pot citi %s: %s"
#: option.c:1131
#: option.c:1145
msgid "only one dhcp-hostsfile allowed"
msgstr ""
#: option.c:1138
#: option.c:1152
msgid "only one dhcp-optsfile allowed"
msgstr ""
#: option.c:1183
#: option.c:1197
msgid "bad MX preference"
msgstr "preferinţă MX invalidă"
#: option.c:1188
#: option.c:1202
msgid "bad MX name"
msgstr "nume MX invalid"
#: option.c:1202
#: option.c:1216
msgid "bad MX target"
msgstr "ţintă MX invalidă"
#: option.c:1212
#: option.c:1226
msgid "cannot run scripts under uClinux"
msgstr ""
#: option.c:1214
#: option.c:1228
msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts"
msgstr ""
#: option.c:1442 option.c:1446
#: option.c:1456 option.c:1460
msgid "bad port"
msgstr "port invalid"
#: option.c:1465 option.c:1490
#: option.c:1479 option.c:1504
msgid "interface binding not supported"
msgstr ""
#: option.c:1611
#: option.c:1625
#, fuzzy
msgid "bad port range"
msgstr "port invalid"
#: option.c:1628
#: option.c:1642
msgid "bad bridge-interface"
msgstr ""
#: option.c:1669
#: option.c:1683
msgid "bad dhcp-range"
msgstr "dhcp-range invalid"
#: option.c:1695
#: option.c:1709
msgid "only one netid tag allowed"
msgstr ""
#: option.c:1740
#: option.c:1754
msgid "inconsistent DHCP range"
msgstr "domeniu DHCP inconsistent"
#: option.c:1912
#: option.c:1926
#, fuzzy
msgid "bad DHCP host name"
msgstr "nume MX invalid"
#: option.c:2201 option.c:2481
#: option.c:2221 option.c:2501
msgid "invalid port number"
msgstr "număr de port invalid"
#: option.c:2284
#: option.c:2304
#, fuzzy
msgid "invalid alias range"
msgstr "pondere invalidă"
#: option.c:2297
#: option.c:2317
#, fuzzy
msgid "bad interface name"
msgstr "nume MX invalid"
#: option.c:2322
#: option.c:2342
msgid "bad CNAME"
msgstr ""
#: option.c:2327
#: option.c:2347
msgid "duplicate CNAME"
msgstr ""
#: option.c:2347
#: option.c:2367
#, fuzzy
msgid "bad PTR record"
msgstr "înregistrare SRV invalidă"
#: option.c:2378
#: option.c:2398
#, fuzzy
msgid "bad NAPTR record"
msgstr "înregistrare SRV invalidă"
#: option.c:2403
#: option.c:2423
msgid "TXT record string too long"
msgstr "şirul de caractere pentru înregistrarea TXT este prea lung"
#: option.c:2451
#: option.c:2471
msgid "bad TXT record"
msgstr "înregistrare TXT invalidă"
#: option.c:2467
#: option.c:2487
msgid "bad SRV record"
msgstr "înregistrare SRV invalidă"
#: option.c:2474
#: option.c:2494
msgid "bad SRV target"
msgstr "ţintă SRV invalidă"
#: option.c:2488
#: option.c:2508
msgid "invalid priority"
msgstr "prioritate invalidă"
#: option.c:2495
#: option.c:2515
msgid "invalid weight"
msgstr "pondere invalidă"
#: option.c:2514
#: option.c:2534
msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)"
msgstr ""
#: option.c:2557
#: option.c:2577
#, c-format
msgid "files nested too deep in %s"
msgstr ""
#: option.c:2565 tftp.c:513
#: option.c:2585 tftp.c:513
#, c-format
msgid "cannot read %s: %s"
msgstr "nu pot citi %s: %s"
#: option.c:2626
#: option.c:2646
msgid "missing \""
msgstr "lipseşte \""
#: option.c:2673
#: option.c:2693
msgid "bad option"
msgstr "opţiune invalidă"
#: option.c:2675
#: option.c:2695
msgid "extraneous parameter"
msgstr "parametru nerecunoscut"
#: option.c:2677
#: option.c:2697
msgid "missing parameter"
msgstr "parametru lipsa"
#: option.c:2685
#: option.c:2705
msgid "error"
msgstr "eroare"
#: option.c:2691
#: option.c:2711
#, c-format
msgid "%s at line %d of %%s"
msgstr "%s la linia %d din %%s"
#: option.c:2740 option.c:2771
#: option.c:2760 option.c:2791
#, fuzzy, c-format
msgid "read %s"
msgstr "citesc %s"
#: option.c:2843
#: option.c:2863
#, c-format
msgid "Dnsmasq version %s %s\n"
msgstr "dnsmasq versiunea %s %s\n"
#: option.c:2844
#: option.c:2864
#, c-format
msgid ""
"Compile time options %s\n"
@@ -754,71 +754,71 @@ msgstr ""
"Opţiuni cu care a fost compilat %s\n"
"\n"
#: option.c:2845
#: option.c:2865
#, c-format
msgid "This software comes with ABSOLUTELY NO WARRANTY.\n"
msgstr "Acest program vine FĂRĂ NICI O GARANŢIE.\n"
#: option.c:2846
#: option.c:2866
#, 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:2847
#: option.c:2867
#, fuzzy, c-format
msgid "under the terms of the GNU General Public License, version 2 or 3.\n"
msgstr "în termenii Licenţei publice generale GNU, versiunea 2.\n"
#: option.c:2858
#: option.c:2878
msgid "try --help"
msgstr ""
#: option.c:2860
#: option.c:2880
msgid "try -w"
msgstr ""
#: option.c:2863
#: option.c:2883
#, fuzzy, c-format
msgid "bad command line options: %s"
msgstr "opţiuni în linie de comandă invalide: %s."
#: option.c:2904
#: option.c:2924
#, c-format
msgid "cannot get host-name: %s"
msgstr "nu pot citi numele maşinii: %s"
#: option.c:2932
#: option.c:2952
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:2942
#: option.c:2962
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:2945 network.c:754 dhcp.c:734
#: option.c:2965 network.c:777 dhcp.c:753
#, fuzzy, c-format
msgid "failed to read %s: %s"
msgstr "nu pot citi %s: %s"
#: option.c:2962
#: option.c:2982
#, c-format
msgid "no search directive found in %s"
msgstr "nu s-a găsit nici un criteriu de căutare în %s"
#: option.c:2983
#: option.c:3003
msgid "there must be a default domain when --dhcp-fqdn is set"
msgstr ""
#: option.c:2987
#: option.c:3007
msgid "syntax check OK"
msgstr ""
#: forward.c:409
#: forward.c:405
#, c-format
msgid "nameserver %s refused to do a recursive query"
msgstr "serverul DNS %s refuză interogările recursive"
#: forward.c:437
#: forward.c:433
msgid "possible DNS-rebind attack detected"
msgstr ""
@@ -827,78 +827,78 @@ msgstr ""
msgid "unknown interface %s in bridge-interface"
msgstr "interfaţă necunoscută %s"
#: network.c:417 dnsmasq.c:189
#: network.c:436 dnsmasq.c:189
#, c-format
msgid "failed to create listening socket: %s"
msgstr "creearea socket-ului de ascultare a eşuat: %s"
#: network.c:424
#: network.c:443
#, 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:450
#: network.c:469
#, 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:455
#: network.c:474
#, c-format
msgid "failed to listen on socket: %s"
msgstr "ascultarea pe socket a eşuat: %s"
#: network.c:467
#: network.c:486
#, fuzzy, c-format
msgid "failed to create TFTP socket: %s"
msgstr "creearea socket-ului de ascultare a eşuat: %s"
#: network.c:661
#: network.c:680
#, fuzzy, c-format
msgid "failed to bind server socket for %s: %s"
msgstr "activarea socket-ului de ascultare pentru %s a eşuat: %s"
#: network.c:694
#: network.c:717
#, c-format
msgid "ignoring nameserver %s - local interface"
msgstr "ignorăm serverul DNS %s - interfaţă locală"
#: network.c:705
#: network.c:728
#, fuzzy, c-format
msgid "ignoring nameserver %s - cannot make/bind socket: %s"
msgstr "ignorăm serverul DNS %s - nu pot creea/activa socket-ul: %s"
#: network.c:720
#: network.c:743
msgid "unqualified"
msgstr "invalid"
#: network.c:720
#: network.c:743
msgid "names"
msgstr ""
#: network.c:722
#: network.c:745
msgid "default"
msgstr ""
#: network.c:724
#: network.c:747
msgid "domain"
msgstr "domeniu"
#: network.c:727
#: network.c:750
#, c-format
msgid "using local addresses only for %s %s"
msgstr "folosim adresele locale doar pentru %S %s"
#: network.c:729
#: network.c:752
#, c-format
msgid "using nameserver %s#%d for %s %s"
msgstr "folosim serverul DNS %s#%d pentru %s %s"
#: network.c:732
#: network.c:755
#, fuzzy, c-format
msgid "using nameserver %s#%d(via %s)"
msgstr "folosim serverul DNS %s#%d"
#: network.c:734
#: network.c:757
#, c-format
msgid "using nameserver %s#%d"
msgstr "folosim serverul DNS %s#%d"
@@ -927,7 +927,7 @@ msgstr "interfaţă necunoscută %s"
msgid "no interface with address %s"
msgstr "nu exista interfaţă pentru adresa %s"
#: dnsmasq.c:201 dnsmasq.c:665
#: dnsmasq.c:201 dnsmasq.c:670
#, c-format
msgid "DBus error: %s"
msgstr "eroare DBus: %s"
@@ -1036,77 +1036,77 @@ msgstr ""
msgid "restricting maximum simultaneous TFTP transfers to %d"
msgstr ""
#: dnsmasq.c:667
#: dnsmasq.c:672
msgid "connected to system DBus"
msgstr "magistrala sistem Dbus conectată"
#: dnsmasq.c:757
#: dnsmasq.c:767
#, c-format
msgid "cannot fork into background: %s"
msgstr ""
#: dnsmasq.c:760
#: dnsmasq.c:770
#, fuzzy, c-format
msgid "failed to create helper: %s"
msgstr "nu pot citi %s: %s"
#: dnsmasq.c:763
#: dnsmasq.c:773
#, c-format
msgid "setting capabilities failed: %s"
msgstr ""
# for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
#: dnsmasq.c:767
#: dnsmasq.c:777
#, fuzzy, c-format
msgid "failed to change user-id to %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
# for compatibility purposes the letters â, ă, ş, ţ and î can be written as their look-alike correspondent.
#: dnsmasq.c:772
#: dnsmasq.c:782
#, fuzzy, c-format
msgid "failed to change group-id to %s: %s"
msgstr "încărcarea numelor din %s: %s a eşuat"
#: dnsmasq.c:775
#: dnsmasq.c:785
#, fuzzy, c-format
msgid "failed to open pidfile %s: %s"
msgstr "nu pot citi %s: %s"
#: dnsmasq.c:778
#: dnsmasq.c:788
#, fuzzy, c-format
msgid "cannot open %s: %s"
msgstr "nu pot deschide %s:%s"
#: dnsmasq.c:833
#: dnsmasq.c:843
#, c-format
msgid "child process killed by signal %d"
msgstr ""
#: dnsmasq.c:837
#: dnsmasq.c:847
#, c-format
msgid "child process exited with status %d"
msgstr ""
#: dnsmasq.c:841
#: dnsmasq.c:851
#, fuzzy, c-format
msgid "failed to execute %s: %s"
msgstr "accesarea serverului %s a eşuat: %s"
#: dnsmasq.c:885
#: dnsmasq.c:895
msgid "exiting on receipt of SIGTERM"
msgstr "am primit SIGTERM, am terminat"
#: dnsmasq.c:903
#: dnsmasq.c:913
#, fuzzy, c-format
msgid "failed to access %s: %s"
msgstr "accesarea serverului %s a eşuat: %s"
#: dnsmasq.c:925
#: dnsmasq.c:935
#, c-format
msgid "reading %s"
msgstr "citesc %s"
#: dnsmasq.c:936
#: dnsmasq.c:946
#, fuzzy, c-format
msgid "no servers found in %s, will retry"
msgstr "nu s-a găsit nici un criteriu de căutare în %s"
@@ -1131,47 +1131,47 @@ msgstr "configurarea SO_REUSEADDR pe socket-ul DHCP a eşuat: %s"
msgid "failed to bind DHCP server socket: %s"
msgstr "activarea socket-ului server-ului DHCP a eşuat: %s"
#: dhcp.c:90
#: dhcp.c:103
#, c-format
msgid "cannot create ICMP raw socket: %s."
msgstr "nu pot creea socket ICMP raw: %s."
#: dhcp.c:226
#: dhcp.c:240
#, c-format
msgid "DHCP packet received on %s which has no address"
msgstr ""
#: dhcp.c:385
#: dhcp.c:404
#, 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:772
#: dhcp.c:791
#, c-format
msgid "bad line at %s line %d"
msgstr "linie invalidă în %s rândul %d"
#: dhcp.c:815
#: dhcp.c:834
#, c-format
msgid "ignoring %s line %d, duplicate name or IP address"
msgstr ""
#: dhcp.c:897
#: dhcp.c:916
#, c-format
msgid "duplicate IP address %s in dhcp-config directive."
msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
#: dhcp.c:900
#: dhcp.c:919
#, fuzzy, c-format
msgid "duplicate IP address %s in %s."
msgstr "adresă IP duplicat %s în declaraţia dhcp-config."
#: dhcp.c:943
#: dhcp.c:962
#, c-format
msgid "%s has more than one address in hostsfile, using %s for DHCP"
msgstr ""
#: dhcp.c:948
#: dhcp.c:967
#, c-format
msgid "duplicate IP address %s (%s) in dhcp-config directive"
msgstr "adresă IP duplicat %s (%s) în declaraţia dhcp-config."
@@ -1200,172 +1200,177 @@ msgstr ""
msgid "failed to write %s: %s (retry in %us)"
msgstr "nu pot citi %s: %s"
#: rfc2131.c:336
#: rfc2131.c:375
#, 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:337
#: rfc2131.c:376
msgid "with subnet selector"
msgstr "cu selectorul de subreţea"
#: rfc2131.c:337
#: rfc2131.c:376
msgid "via"
msgstr "prin"
#: rfc2131.c:352
#: rfc2131.c:391
#, c-format
msgid "%u Available DHCP subnet: %s/%s"
msgstr ""
#: rfc2131.c:355
#: rfc2131.c:394
#, c-format
msgid "%u Available DHCP range: %s -- %s"
msgstr ""
#: rfc2131.c:384
#: rfc2131.c:423
msgid "disabled"
msgstr "dezactivat"
#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242
#: rfc2131.c:457 rfc2131.c:928 rfc2131.c:1277
msgid "ignored"
msgstr "ignorat"
#: rfc2131.c:433 rfc2131.c:1100
#: rfc2131.c:472 rfc2131.c:1145
msgid "address in use"
msgstr "adresa este folosită"
#: rfc2131.c:447 rfc2131.c:937
#: rfc2131.c:486 rfc2131.c:982
msgid "no address available"
msgstr "nici o adresă disponibilă"
#: rfc2131.c:454 rfc2131.c:1063
#: rfc2131.c:493 rfc2131.c:1108
msgid "wrong network"
msgstr "reţea greşită"
#: rfc2131.c:467
#: rfc2131.c:506
msgid "no address configured"
msgstr "adresă lipsă"
#: rfc2131.c:473 rfc2131.c:1113
#: rfc2131.c:512 rfc2131.c:1158
msgid "no leases left"
msgstr "nu mai am de unde să împrumut"
#: rfc2131.c:558
#: rfc2131.c:597
#, c-format
msgid "%u client provides name: %s"
msgstr ""
#: rfc2131.c:696
#: rfc2131.c:741
#, c-format
msgid "%u Vendor class: %s"
msgstr ""
#: rfc2131.c:698
#: rfc2131.c:743
#, c-format
msgid "%u User class: %s"
msgstr ""
#: rfc2131.c:737
#: rfc2131.c:782
msgid "PXE BIS not supported"
msgstr ""
#: rfc2131.c:853
#: rfc2131.c:898
#, fuzzy, c-format
msgid "disabling DHCP static address %s for %s"
msgstr "dezactivăm adresele DHCP statice %s"
#: rfc2131.c:874
#: rfc2131.c:919
msgid "unknown lease"
msgstr "împrumut necunoscut"
#: rfc2131.c:906
#: rfc2131.c:951
#, c-format
msgid "not using configured address %s because it is leased to %s"
msgstr ""
#: rfc2131.c:916
#: rfc2131.c:961
#, c-format
msgid "not using configured address %s because it is in use by the server or relay"
msgstr ""
#: rfc2131.c:919
#: rfc2131.c:964
#, c-format
msgid "not using configured address %s because it was previously declined"
msgstr ""
#: rfc2131.c:935 rfc2131.c:1106
#: rfc2131.c:980 rfc2131.c:1151
msgid "no unique-id"
msgstr ""
#: rfc2131.c:1003
#: rfc2131.c:1048
msgid "wrong server-ID"
msgstr ""
#: rfc2131.c:1022
#: rfc2131.c:1067
msgid "wrong address"
msgstr "adresă greşită"
#: rfc2131.c:1039
#: rfc2131.c:1084
msgid "lease not found"
msgstr "împrumutul nu a fost găsit"
#: rfc2131.c:1071
#: rfc2131.c:1116
msgid "address not available"
msgstr "adresă indisponibilă"
#: rfc2131.c:1082
#: rfc2131.c:1127
msgid "static lease available"
msgstr "împrumut static este disponibil"
#: rfc2131.c:1086
#: rfc2131.c:1131
msgid "address reserved"
msgstr "adresă rezervată"
#: rfc2131.c:1094
#: rfc2131.c:1139
#, c-format
msgid "abandoning lease to %s of %s"
msgstr ""
#: rfc2131.c:1583
#: rfc2131.c:1698
#, c-format
msgid "%u tags: %s"
msgstr ""
#: rfc2131.c:1596
#: rfc2131.c:1711
#, c-format
msgid "%u bootfile name: %s"
msgstr ""
#: rfc2131.c:1605
#: rfc2131.c:1720
#, fuzzy, c-format
msgid "%u server name: %s"
msgstr "eroare DBus: %s"
#: rfc2131.c:1613
#: rfc2131.c:1728
#, fuzzy, c-format
msgid "%u next server: %s"
msgstr "eroare DBus: %s"
#: rfc2131.c:1680
#: rfc2131.c:1795
#, fuzzy, c-format
msgid "cannot send DHCP/BOOTP option %d: no space left in packet"
msgstr "nu pot trimite opţiunea DHCP %d: nu mai este loc în pachet"
#: rfc2131.c:1919
#: rfc2131.c:2032
msgid "PXE menu too large"
msgstr ""
#: rfc2131.c:2034
#: rfc2131.c:2143
#, c-format
msgid "Ignoring domain %s for DHCP host name %s"
msgstr ""
#: rfc2131.c:2052
#: rfc2131.c:2161
#, fuzzy, c-format
msgid "%u requested options: %s"
msgstr "compilat cu opţiunile: %s"
#: rfc2131.c:2425
#, c-format
msgid "cannot send RFC3925 option: too many options for enterprise number %d"
msgstr ""
#: netlink.c:66
#, fuzzy, c-format
msgid "cannot create netlink socket: %s"
@@ -1409,7 +1414,7 @@ msgstr ""
#: tftp.c:282
#, c-format
msgid "TFTP sent %s to %s"
msgid "sent %s to %s"
msgstr ""
#: tftp.c:305
@@ -1419,12 +1424,12 @@ msgstr "împrumutul nu a fost găsit"
#: tftp.c:416
#, c-format
msgid "TFTP error %d %s received from %s"
msgid "error %d %s received from %s"
msgstr ""
#: tftp.c:447
#, fuzzy, c-format
msgid "TFTP failed sending %s to %s"
msgid "failed sending %s to %s"
msgstr "nu pot citi %s: %s"
#: log.c:169
@@ -1437,7 +1442,7 @@ msgstr ""
msgid "log failed: %s"
msgstr ""
#: log.c:415
#: log.c:420
msgid "FAILED to start up"
msgstr "pornirea A EŞUAT"

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,19 +14,19 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define VERSION "2.51"
#define VERSION "2.52"
#define FTABSIZ 150 /* max number of outstanding requests (default) */
#define MAX_PROCS 20 /* max no children for TCP requests */
#define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */
#define EDNS_PKTSZ 1280 /* default max EDNS.0 UDP packet from RFC2671 */
#define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */
#define TIMEOUT 10 /* drop UDP queries after TIMEOUT seconds */
#define FORWARD_TEST 50 /* try all servers every 50 queries */
#define FORWARD_TIME 10 /* or 10 seconds */
#define RANDOM_SOCKS 64 /* max simultaneous random ports */
#define LEASE_RETRY 60 /* on error, retry writing leasefile after LEASE_RETRY seconds */
#define CACHESIZ 150 /* default cache size */
#define MAXLEASES 150 /* maximum number of DHCP leases */
#define MAXLEASES 1000 /* maximum number of DHCP leases */
#define PING_WAIT 3 /* wait for ping address-in-use test */
#define PING_CACHE_TIME 30 /* Ping test assumed to be valid this long. */
#define DECLINE_BACKOFF 600 /* disable DECLINEd static addresses for this long */
@@ -66,6 +66,7 @@
#define DHCP_CLIENT_PORT 68
#define DHCP_SERVER_ALTPORT 1067
#define DHCP_CLIENT_ALTPORT 1068
#define PXE_PORT 4011
#define TFTP_PORT 69
#define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */
#define LOG_MAX 5 /* log-queue length */
@@ -242,7 +243,7 @@ NOTES:
#elif defined(__APPLE__)
#define HAVE_BSD_NETWORK
#undef HAVE_GETOPT_LONG
#define HAVE_GETOPT_LONG
#define HAVE_ARC4RANDOM
#define HAVE_SOCKADDR_SA_LEN
/* Define before sys/socket.h is included so we get socklen_t */
@@ -259,8 +260,6 @@ NOTES:
#define HAVE_GETOPT_LONG
#undef HAVE_ARC4RANDOM
#undef HAVE_SOCKADDR_SA_LEN
#define _XPG4_2
#define __EXTENSIONS__
#define ETHER_ADDR_LEN 6
#endif

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -390,6 +390,7 @@ void check_dbus_listeners(fd_set *rset, fd_set *wset, fd_set *eset)
}
}
#ifdef HAVE_DHCP
void emit_dbus_signal(int action, struct dhcp_lease *lease, char *hostname)
{
DBusConnection *connection = (DBusConnection *)daemon->dbus;
@@ -432,5 +433,6 @@ void emit_dbus_signal(int action, struct dhcp_lease *lease, char *hostname)
dbus_message_unref(message);
}
#endif
#endif

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -27,7 +27,7 @@ struct iface_param {
static int complete_context(struct in_addr local, int if_index,
struct in_addr netmask, struct in_addr broadcast, void *vparam);
void dhcp_init(void)
static int make_fd(int port)
{
int fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
struct sockaddr_in saddr;
@@ -67,7 +67,7 @@ void dhcp_init(void)
memset(&saddr, 0, sizeof(saddr));
saddr.sin_family = AF_INET;
saddr.sin_port = htons(daemon->dhcp_server_port);
saddr.sin_port = htons(port);
saddr.sin_addr.s_addr = INADDR_ANY;
#ifdef HAVE_SOCKADDR_SA_LEN
saddr.sin_len = sizeof(struct sockaddr_in);
@@ -76,7 +76,20 @@ void dhcp_init(void)
if (bind(fd, (struct sockaddr *)&saddr, sizeof(struct sockaddr_in)))
die(_("failed to bind DHCP server socket: %s"), NULL, EC_BADNET);
daemon->dhcpfd = fd;
return fd;
}
void dhcp_init(void)
{
#if defined(HAVE_BSD_NETWORK)
int oneopt = 1;
#endif
daemon->dhcpfd = make_fd(daemon->dhcp_server_port);
if (daemon->enable_pxe)
daemon->pxefd = make_fd(PXE_PORT);
else
daemon->pxefd = -1;
#if defined(HAVE_BSD_NETWORK)
/* When we're not using capabilities, we need to do this here before
@@ -99,8 +112,9 @@ void dhcp_init(void)
daemon->dhcp_packet.iov_base = safe_malloc(daemon->dhcp_packet.iov_len);
}
void dhcp_packet(time_t now)
void dhcp_packet(time_t now, int pxe_fd)
{
int fd = pxe_fd ? daemon->pxefd : daemon->dhcpfd;
struct dhcp_packet *mess;
struct dhcp_context *context;
struct iname *tmp;
@@ -135,7 +149,7 @@ void dhcp_packet(time_t now)
while (1)
{
msg.msg_flags = 0;
while ((sz = recvmsg(daemon->dhcpfd, &msg, MSG_PEEK | MSG_TRUNC)) == -1 && errno == EINTR);
while ((sz = recvmsg(fd, &msg, MSG_PEEK | MSG_TRUNC)) == -1 && errno == EINTR);
if (sz == -1)
return;
@@ -165,7 +179,7 @@ void dhcp_packet(time_t now)
msg.msg_name = &dest;
msg.msg_namelen = sizeof(dest);
while ((sz = recvmsg(daemon->dhcpfd, &msg, 0)) == -1 && errno == EINTR);
while ((sz = recvmsg(fd, &msg, 0)) == -1 && errno == EINTR);
if ((msg.msg_flags & MSG_TRUNC) || sz < (ssize_t)(sizeof(*mess) - sizeof(mess->options)))
return;
@@ -243,7 +257,7 @@ void dhcp_packet(time_t now)
return;
lease_prune(NULL, now); /* lose any expired leases */
iov.iov_len = dhcp_reply(parm.current, ifr.ifr_name, iface_index, (size_t)sz,
now, unicast_dest, &is_inform);
now, unicast_dest, &is_inform, pxe_fd);
lease_update_file(now);
lease_update_dns();
@@ -264,7 +278,12 @@ void dhcp_packet(time_t now)
dest.sin_len = sizeof(struct sockaddr_in);
#endif
if (mess->giaddr.s_addr)
if (pxe_fd)
{
if (mess->ciaddr.s_addr != 0)
dest.sin_addr = mess->ciaddr;
}
else if (mess->giaddr.s_addr)
{
/* Send to BOOTP relay */
dest.sin_port = htons(daemon->dhcp_server_port);
@@ -348,10 +367,10 @@ void dhcp_packet(time_t now)
#endif
#ifdef HAVE_SOLARIS_NETWORK
setsockopt(daemon->dhcpfd, IPPROTO_IP, IP_BOUND_IF, &iface_index, sizeof(iface_index));
setsockopt(fd, IPPROTO_IP, IP_BOUND_IF, &iface_index, sizeof(iface_index));
#endif
while(sendmsg(daemon->dhcpfd, &msg, 0) == -1 && retry_send());
while(sendmsg(fd, &msg, 0) == -1 && retry_send());
}
/* This is a complex routine: it gets called with each (address,netmask,broadcast) triple

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -596,6 +596,11 @@ int main (int argc, char **argv)
{
FD_SET(daemon->dhcpfd, &rset);
bump_maxfd(daemon->dhcpfd, &maxfd);
if (daemon->pxefd != -1)
{
FD_SET(daemon->pxefd, &rset);
bump_maxfd(daemon->pxefd, &maxfd);
}
}
#endif
@@ -676,8 +681,13 @@ int main (int argc, char **argv)
#endif
#ifdef HAVE_DHCP
if (daemon->dhcp && FD_ISSET(daemon->dhcpfd, &rset))
dhcp_packet(now);
if (daemon->dhcp)
{
if (FD_ISSET(daemon->dhcpfd, &rset))
dhcp_packet(now, 0);
if (daemon->pxefd != -1 && FD_ISSET(daemon->pxefd, &rset))
dhcp_packet(now, 1);
}
# ifdef HAVE_SCRIPT
if (daemon->helperfd != -1 && FD_ISSET(daemon->helperfd, &wset))

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#define COPYRIGHT "Copyright (C) 2000-2009 Simon Kelley"
#define COPYRIGHT "Copyright (c) 2000-2010 Simon Kelley"
#ifndef NO_LARGEFILE
/* Ensure we can use files >2GB (log files may grow this big) */
@@ -28,6 +28,12 @@
# include <features.h>
#endif
/* Need these defined early */
#if defined(__sun) || defined(__sun__)
# define _XPG4_2
# define __EXTENSIONS__
#endif
/* get these before config.h for IPv6 stuff... */
#include <sys/types.h>
#include <sys/socket.h>
@@ -58,7 +64,7 @@
#include <sys/stat.h>
#include <sys/ioctl.h>
#if defined(HAVE_SOLARIS_NETWORK)
#include <sys/sockio.h>
# include <sys/sockio.h>
#endif
#include <sys/select.h>
#include <sys/wait.h>
@@ -66,6 +72,10 @@
#include <sys/un.h>
#include <limits.h>
#include <net/if.h>
#if defined(HAVE_SOLARIS_NETWORK) && !defined(ifr_mtu)
/* Some solaris net/if./h omit this. */
# define ifr_mtu ifr_ifru.ifru_metric
#endif
#include <unistd.h>
#include <stdio.h>
#include <string.h>
@@ -411,8 +421,8 @@ struct dhcp_lease {
int hwaddr_len, hwaddr_type;
unsigned char hwaddr[DHCP_CHADDR_MAX];
struct in_addr addr, override, giaddr;
unsigned char *vendorclass, *userclass, *supplied_hostname;
unsigned int vendorclass_len, userclass_len, supplied_hostname_len;
unsigned char *extradata;
unsigned int extradata_len, extradata_size;
int last_interface;
struct dhcp_lease *next;
};
@@ -482,6 +492,7 @@ struct dhcp_opt {
#define DHOPT_VENDOR 256
#define DHOPT_HEX 512
#define DHOPT_VENDOR_MATCH 1024
#define DHOPT_RFC3925 2048
struct dhcp_boot {
char *file, *sname;
@@ -654,9 +665,10 @@ extern struct daemon {
struct randfd *rfd_save; /* " " */
pid_t tcp_pids[MAX_PROCS];
struct randfd randomsocks[RANDOM_SOCKS];
int v6pktinfo;
/* DHCP state */
int dhcpfd, helperfd;
int dhcpfd, helperfd, pxefd;
#if defined(HAVE_LINUX_NETWORK)
int netlinkfd;
#elif defined(HAVE_BSD_NETWORK)
@@ -784,7 +796,7 @@ struct in_addr get_ifaddr(char *intr);
/* dhcp.c */
#ifdef HAVE_DHCP
void dhcp_init(void);
void dhcp_packet(time_t now);
void dhcp_packet(time_t now, int pxe_fd);
struct dhcp_context *address_available(struct dhcp_context *context,
struct in_addr addr,
struct dhcp_netid *netids);
@@ -832,7 +844,7 @@ void rerun_scripts(void);
/* rfc2131.c */
#ifdef HAVE_DHCP
size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
size_t sz, time_t now, int unicast_dest, int *is_inform);
size_t sz, time_t now, int unicast_dest, int *is_inform, int pxe_fd);
unsigned char *extended_hwaddr(int hwtype, int hwlen, unsigned char *hwaddr,
int clid_len, unsigned char *clid, int *len_out);
#endif
@@ -866,7 +878,9 @@ int iface_enumerate(void *parm, int (*ipv4_callback)(), int (*ipv6_callback)());
char *dbus_init(void);
void check_dbus_listeners(fd_set *rset, fd_set *wset, fd_set *eset);
void set_dbus_listeners(int *maxfdp, fd_set *rset, fd_set *wset, fd_set *eset);
# ifdef HAVE_DHCP
void emit_dbus_signal(int action, struct dhcp_lease *lease, char *hostname);
# endif
#endif
/* helper.c */

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,7 +20,7 @@ static struct frec *lookup_frec(unsigned short id, unsigned int crc);
static struct frec *lookup_frec_by_sender(unsigned short id,
union mysockaddr *addr,
unsigned int crc);
static unsigned short get_id(int force, unsigned short force_id, unsigned int crc);
static unsigned short get_id(unsigned int crc);
static void free_frec(struct frec *f);
static struct randfd *allocate_rfd(int family);
@@ -86,7 +86,7 @@ static void send_from(int fd, int nowild, char *packet, size_t len,
pkt->ipi6_ifindex = iface; /* Need iface for IPv6 to handle link-local addrs */
pkt->ipi6_addr = source->addr.addr6;
msg.msg_controllen = cmptr->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
cmptr->cmsg_type = IPV6_PKTINFO;
cmptr->cmsg_type = daemon->v6pktinfo;
cmptr->cmsg_level = IPV6_LEVEL;
}
#else
@@ -242,15 +242,11 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr,
if (forward)
{
/* force unchanging id for signed packets */
int is_sign;
find_pseudoheader(header, plen, NULL, NULL, &is_sign);
forward->source = *udpaddr;
forward->dest = *dst_addr;
forward->iface = dst_iface;
forward->orig_id = ntohs(header->id);
forward->new_id = get_id(is_sign, forward->orig_id, crc);
forward->new_id = get_id(crc);
forward->fd = udpfd;
forward->crc = crc;
forward->forwardall = 0;
@@ -661,7 +657,7 @@ void receive_query(struct listener *listen, time_t now)
if (listen->family == AF_INET6)
{
for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr))
if (cmptr->cmsg_level == IPV6_LEVEL && cmptr->cmsg_type == IPV6_PKTINFO)
if (cmptr->cmsg_level == IPV6_LEVEL && cmptr->cmsg_type == daemon->v6pktinfo)
{
dst_addr.addr.addr6 = ((struct in6_pktinfo *)CMSG_DATA(cmptr))->ipi6_addr;
if_index =((struct in6_pktinfo *)CMSG_DATA(cmptr))->ipi6_ifindex;
@@ -1066,22 +1062,12 @@ void server_gone(struct server *server)
daemon->srv_save = NULL;
}
/* return unique random ids.
For signed packets we can't change the ID without breaking the
signing, so we keep the same one. In this case force is set, and this
routine degenerates into killing any conflicting forward record. */
static unsigned short get_id(int force, unsigned short force_id, unsigned int crc)
/* return unique random ids. */
static unsigned short get_id(unsigned int crc)
{
unsigned short ret = 0;
if (force)
{
struct frec *f = lookup_frec(force_id, crc);
if (f)
free_frec(f); /* free */
ret = force_id;
}
else do
do
ret = rand16();
while (lookup_frec(ret, crc));

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,11 +31,12 @@
#if defined(HAVE_DHCP) && defined(HAVE_SCRIPT)
static void my_setenv(const char *name, const char *value, int *error);
static unsigned char *grab_extradata(unsigned char *buf, unsigned char *end, char *env, int *err);
struct script_data
{
unsigned char action, hwaddr_len, hwaddr_type;
unsigned char clid_len, hostname_len, uclass_len, vclass_len, shost_len;
unsigned char clid_len, hostname_len, ed_len;
struct in_addr addr, giaddr;
unsigned int remaining_time;
#ifdef HAVE_BROKEN_RTC
@@ -112,6 +113,7 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
struct script_data data;
char *p, *action_str, *hostname = NULL;
unsigned char *buf = (unsigned char *)daemon->namebuff;
unsigned char *end, *alloc_buff = NULL;
int err = 0;
/* we read zero bytes when pipe closed: this is our signal to exit */
@@ -138,8 +140,8 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
p += sprintf(p, ":");
}
/* and CLID into packet */
if (!read_write(pipefd[0], buf, data.clid_len, 1))
/* and CLID into packet, avoid overwrite from bad data */
if ((data.clid_len > daemon->packet_buff_sz) || !read_write(pipefd[0], buf, data.clid_len, 1))
continue;
for (p = daemon->packet, i = 0; i < data.clid_len; i++)
{
@@ -150,18 +152,25 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
/* and expiry or length into dhcp_buff2 */
#ifdef HAVE_BROKEN_RTC
sprintf(daemon->dhcp_buff2, "%u ", data.length);
sprintf(daemon->dhcp_buff2, "%u", data.length);
#else
sprintf(daemon->dhcp_buff2, "%lu ", (unsigned long)data.expires);
sprintf(daemon->dhcp_buff2, "%lu", (unsigned long)data.expires);
#endif
/* supplied data may just exceed normal buffer (unlikely) */
if ((data.hostname_len + data.ed_len) > daemon->packet_buff_sz &&
!(alloc_buff = buf = malloc(data.hostname_len + data.ed_len)))
continue;
if (!read_write(pipefd[0], buf,
data.hostname_len + data.uclass_len + data.vclass_len + data.shost_len, 1))
data.hostname_len + data.ed_len, 1))
continue;
/* possible fork errors are all temporary resource problems */
while ((pid = fork()) == -1 && (errno == EAGAIN || errno == ENOMEM))
sleep(2);
free(alloc_buff);
if (pid == -1)
continue;
@@ -204,51 +213,6 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
my_setenv("DNSMASQ_LEASE_EXPIRES", daemon->dhcp_buff2, &err);
#endif
if (data.vclass_len != 0)
{
buf[data.vclass_len - 1] = 0; /* don't trust zero-term */
/* cannot have = chars in env - truncate if found . */
if ((p = strchr((char *)buf, '=')))
*p = 0;
my_setenv("DNSMASQ_VENDOR_CLASS", (char *)buf, &err);
buf += data.vclass_len;
}
if (data.uclass_len != 0)
{
unsigned char *end = buf + data.uclass_len;
buf[data.uclass_len - 1] = 0; /* don't trust zero-term */
for (i = 0; buf < end;)
{
size_t len = strlen((char *)buf) + 1;
if ((p = strchr((char *)buf, '=')))
*p = 0;
if (strlen((char *)buf) != 0)
{
sprintf(daemon->dhcp_buff2, "DNSMASQ_USER_CLASS%i", i++);
my_setenv(daemon->dhcp_buff2, (char *)buf, &err);
}
buf += len;
}
}
if (data.shost_len != 0)
{
buf[data.shost_len - 1] = 0; /* don't trust zero-term */
/* cannot have = chars in env - truncate if found . */
if ((p = strchr((char *)buf, '=')))
*p = 0;
my_setenv("DNSMASQ_SUPPLIED_HOSTNAME", (char *)buf, &err);
buf += data.shost_len;
}
if (data.giaddr.s_addr != 0)
my_setenv("DNSMASQ_RELAY_ADDRESS", inet_ntoa(data.giaddr), &err);
sprintf(daemon->dhcp_buff2, "%u ", data.remaining_time);
my_setenv("DNSMASQ_TIME_REMAINING", daemon->dhcp_buff2, &err);
if (data.hostname_len != 0)
{
char *dot;
@@ -260,8 +224,29 @@ int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd)
{
my_setenv("DNSMASQ_DOMAIN", dot+1, &err);
*dot = 0;
}
}
buf += data.hostname_len;
}
end = buf + data.ed_len;
buf = grab_extradata(buf, end, "DNSMASQ_VENDOR_CLASS", &err);
buf = grab_extradata(buf, end, "DNSMASQ_SUPPLIED_HOSTNAME", &err);
buf = grab_extradata(buf, end, "DNSMASQ_CPEWAN_OUI", &err);
buf = grab_extradata(buf, end, "DNSMASQ_CPEWAN_SERIAL", &err);
buf = grab_extradata(buf, end, "DNSMASQ_CPEWAN_CLASS", &err);
buf = grab_extradata(buf, end, "DNSMASQ_TAGS", &err);
for (i = 0; buf; i++)
{
sprintf(daemon->dhcp_buff2, "DNSMASQ_USER_CLASS%i", i);
buf = grab_extradata(buf, end, daemon->dhcp_buff2, &err);
}
if (data.giaddr.s_addr != 0)
my_setenv("DNSMASQ_RELAY_ADDRESS", inet_ntoa(data.giaddr), &err);
sprintf(daemon->dhcp_buff2, "%u", data.remaining_time);
my_setenv("DNSMASQ_TIME_REMAINING", daemon->dhcp_buff2, &err);
if (data.action == ACTION_OLD_HOSTNAME && hostname)
{
@@ -294,30 +279,48 @@ static void my_setenv(const char *name, const char *value, int *error)
*error = errno;
}
static unsigned char *grab_extradata(unsigned char *buf, unsigned char *end, char *env, int *err)
{
unsigned char *next;
if (!buf || (buf == end))
return NULL;
for (next = buf; *next != 0; next++)
if (next == end)
return NULL;
if (next != buf)
{
char *p;
/* No "=" in value */
if ((p = strchr((char *)buf, '=')))
*p = 0;
my_setenv(env, (char *)buf, err);
}
return next + 1;
}
/* pack up lease data into a buffer */
void queue_script(int action, struct dhcp_lease *lease, char *hostname, time_t now)
{
unsigned char *p;
size_t size;
unsigned int hostname_len = 0, clid_len = 0, vclass_len = 0;
unsigned int uclass_len = 0, shost_len = 0;
unsigned int hostname_len = 0, clid_len = 0, ed_len = 0;
/* no script */
if (daemon->helperfd == -1)
return;
if (lease->vendorclass)
vclass_len = lease->vendorclass_len;
if (lease->userclass)
uclass_len = lease->userclass_len;
if (lease->supplied_hostname)
shost_len = lease->supplied_hostname_len;
if (lease->extradata)
ed_len = lease->extradata_len;
if (lease->clid)
clid_len = lease->clid_len;
if (hostname)
hostname_len = strlen(hostname) + 1;
size = sizeof(struct script_data) + clid_len + vclass_len + uclass_len + shost_len + hostname_len;
size = sizeof(struct script_data) + clid_len + ed_len + hostname_len;
if (size > buf_size)
{
@@ -339,26 +342,13 @@ void queue_script(int action, struct dhcp_lease *lease, char *hostname, time_t n
buf->hwaddr_len = lease->hwaddr_len;
buf->hwaddr_type = lease->hwaddr_type;
buf->clid_len = clid_len;
buf->vclass_len = vclass_len;
buf->uclass_len = uclass_len;
buf->shost_len = shost_len;
buf->ed_len = ed_len;
buf->hostname_len = hostname_len;
buf->addr = lease->addr;
buf->giaddr = lease->giaddr;
memcpy(buf->hwaddr, lease->hwaddr, lease->hwaddr_len);
buf->interface[0] = 0;
#ifdef HAVE_LINUX_NETWORK
if (lease->last_interface != 0)
{
struct ifreq ifr;
ifr.ifr_ifindex = lease->last_interface;
if (ioctl(daemon->dhcpfd, SIOCGIFNAME, &ifr) != -1)
strncpy(buf->interface, ifr.ifr_name, IF_NAMESIZE);
}
#else
if (lease->last_interface != 0)
if_indextoname(lease->last_interface, buf->interface);
#endif
if (!indextoname(daemon->dhcpfd, lease->last_interface, buf->interface))
buf->interface[0] = 0;
#ifdef HAVE_BROKEN_RTC
buf->length = lease->length;
@@ -373,27 +363,16 @@ void queue_script(int action, struct dhcp_lease *lease, char *hostname, time_t n
memcpy(p, lease->clid, clid_len);
p += clid_len;
}
if (vclass_len != 0)
{
memcpy(p, lease->vendorclass, vclass_len);
p += vclass_len;
}
if (uclass_len != 0)
{
memcpy(p, lease->userclass, uclass_len);
p += uclass_len;
}
if (shost_len != 0)
{
memcpy(p, lease->supplied_hostname, shost_len);
p += shost_len;
}
if (hostname_len != 0)
{
memcpy(p, hostname, hostname_len);
p += hostname_len;
}
if (ed_len != 0)
{
memcpy(p, lease->extradata, ed_len);
p += ed_len;
}
bytes_in_buf = p - (unsigned char *)buf;
}

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -564,9 +564,7 @@ int do_script_run(time_t now)
free(lease->old_hostname);
free(lease->clid);
free(lease->vendorclass);
free(lease->userclass);
free(lease->supplied_hostname);
free(lease->extradata);
free(lease);
return 1;
@@ -599,16 +597,10 @@ int do_script_run(time_t now)
#endif
lease->new = lease->changed = lease->aux_changed = 0;
/* these are used for the "add" call, then junked, since they're not in the database */
free(lease->vendorclass);
lease->vendorclass = NULL;
/* this is used for the "add" call, then junked, since they're not in the database */
free(lease->extradata);
lease->extradata = NULL;
free(lease->userclass);
lease->userclass = NULL;
free(lease->supplied_hostname);
lease->supplied_hostname = NULL;
return 1;
}

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -267,8 +267,13 @@ void my_syslog(int priority, const char *format, ...)
else if ((LOG_FACMASK & priority) == MS_DHCP)
func = "-dhcp";
#ifdef LOG_PRI
priority = LOG_PRI(priority);
#else
/* Solaris doesn't have LOG_PRI */
priority &= LOG_PRIMASK;
#endif
if (log_stderr)
{
fprintf(stderr, "dnsmasq%s: ", func);

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -294,16 +294,35 @@ static int create_ipv6_listener(struct listener **link, int port)
setsockopt(tcpfd, IPV6_LEVEL, IPV6_V6ONLY, &opt, sizeof(opt)) == -1 ||
!fix_fd(fd) ||
!fix_fd(tcpfd) ||
#ifdef IPV6_RECVPKTINFO
setsockopt(fd, IPV6_LEVEL, IPV6_RECVPKTINFO, &opt, sizeof(opt)) == -1 ||
#else
setsockopt(fd, IPV6_LEVEL, IPV6_PKTINFO, &opt, sizeof(opt)) == -1 ||
#endif
bind(tcpfd, (struct sockaddr *)&addr, sa_len(&addr)) == -1 ||
listen(tcpfd, 5) == -1 ||
bind(fd, (struct sockaddr *)&addr, sa_len(&addr)) == -1)
return 0;
/* The API changed around Linux 2.6.14 but the old ABI is still supported:
handle all combinations of headers and kernel.
OpenWrt note that this fixes the problem addressed by your very broken patch. */
daemon->v6pktinfo = IPV6_PKTINFO;
#ifdef IPV6_RECVPKTINFO
# ifdef IPV6_2292PKTINFO
if (setsockopt(fd, IPV6_LEVEL, IPV6_RECVPKTINFO, &opt, sizeof(opt)) == -1)
{
if (errno == ENOPROTOOPT && setsockopt(fd, IPV6_LEVEL, IPV6_2292PKTINFO, &opt, sizeof(opt)) != -1)
daemon->v6pktinfo = IPV6_2292PKTINFO;
else
return 0;
}
# else
if (setsockopt(fd, IPV6_LEVEL, IPV6_RECVPKTINFO, &opt, sizeof(opt)) == -1)
return 0;
# endif
#else
if (setsockopt(fd, IPV6_LEVEL, IPV6_PKTINFO, &opt, sizeof(opt)) == -1)
return 0;
#endif
l = safe_malloc(sizeof(struct listener));
l->fd = fd;
l->tcpfd = tcpfd;
@@ -553,7 +572,7 @@ int local_bind(int fd, union mysockaddr *addr, char *intname, int is_tcp)
#if defined(SO_BINDTODEVICE)
if (intname[0] != 0 &&
setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, intname, strlen(intname)) == -1)
setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, intname, IF_NAMESIZE) == -1)
return 0;
#endif
@@ -652,7 +671,7 @@ void pre_allocate_sfds(void)
errno != 0 &&
(daemon->options & OPT_NOWILD))
{
prettyprint_addr(&srv->addr, daemon->namebuff);
prettyprint_addr(&srv->source_addr, daemon->namebuff);
if (srv->interface[0] != 0)
{
strcat(daemon->namebuff, " ");
@@ -670,6 +689,10 @@ void check_servers(void)
struct server *new, *tmp, *ret = NULL;
int port = 0;
/* interface may be new since startup */
if (!(daemon->options & OPT_NOWILD))
enumerate_interfaces();
for (new = daemon->servers; new; new = tmp)
{
tmp = new->next;

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -406,6 +406,7 @@ static const struct {
{ "domain-search", 119, 0 },
{ "sip-server", 120, 0 },
{ "classless-static-route", 121, 0 },
{ "vendor-id-encap", 125, 0 },
{ "server-ip-address", 255, OT_ADDR_LIST }, /* special, internal only, sets siaddr */
{ NULL, 0, 0 }
};
@@ -716,6 +717,16 @@ static char *parse_dhcp_opt(char *arg, int flags)
new->u.encap = atoi(arg+6);
new->flags |= DHOPT_ENCAPSULATE;
}
else if (strstr(arg, "vi-encap:") == arg)
{
new->u.encap = atoi(arg+9);
new->flags |= DHOPT_RFC3925;
if (flags == DHOPT_MATCH)
{
new->opt = 1; /* avoid error below */
break;
}
}
else
{
new->netid = opt_malloc(sizeof (struct dhcp_netid));
@@ -731,6 +742,7 @@ static char *parse_dhcp_opt(char *arg, int flags)
arg = comma;
}
/* option may be missing with rfc3925 match */
if (new->opt == 0)
problem = _("bad dhcp-option");
else if (comma)
@@ -835,7 +847,7 @@ static char *parse_dhcp_opt(char *arg, int flags)
new->val = op = opt_malloc((5 * addrs) + 1);
new->flags |= DHOPT_ADDR;
if (!(new->flags & DHOPT_ENCAPSULATE) && new->opt == 120)
if (!(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)) && new->opt == 120)
{
*(op++) = 1; /* RFC 3361 "enc byte" */
new->flags &= ~DHOPT_ADDR;
@@ -872,7 +884,7 @@ static char *parse_dhcp_opt(char *arg, int flags)
else if (is_string)
{
/* text arg */
if ((new->opt == 119 || new->opt == 120) && !(new->flags & DHOPT_ENCAPSULATE))
if ((new->opt == 119 || new->opt == 120) && !(new->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)))
{
/* dns search, RFC 3397, or SIP, RFC 3361 */
unsigned char *q, *r, *tail;
@@ -946,7 +958,9 @@ static char *parse_dhcp_opt(char *arg, int flags)
}
}
if ((new->len > 255) || (new->len > 253 && (new->flags & (DHOPT_VENDOR | DHOPT_ENCAPSULATE))))
if ((new->len > 255) ||
(new->len > 253 && (new->flags & (DHOPT_VENDOR | DHOPT_ENCAPSULATE))) ||
(new->len > 250 && (new->flags & DHOPT_RFC3925)))
problem = _("dhcp-option too long");
if (!problem)
@@ -1460,7 +1474,7 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
{
#if defined(SO_BINDTODEVICE)
newlist->source_addr.in.sin_addr.s_addr = INADDR_ANY;
strncpy(newlist->interface, source, IF_NAMESIZE);
strncpy(newlist->interface, source, IF_NAMESIZE - 1);
#else
problem = _("interface binding not supported");
#endif
@@ -1485,7 +1499,7 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
{
#if defined(SO_BINDTODEVICE)
newlist->source_addr.in6.sin6_addr = in6addr_any;
strncpy(newlist->interface, source, IF_NAMESIZE);
strncpy(newlist->interface, source, IF_NAMESIZE - 1);
#else
problem = _("interface binding not supported");
#endif
@@ -1623,13 +1637,13 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
case LOPT_BRIDGE: /* --bridge-interface */
{
struct dhcp_bridge *new = opt_malloc(sizeof(struct dhcp_bridge));
if (!(comma = split(arg)))
if (!(comma = split(arg)) || strlen(arg) > IF_NAMESIZE - 1 )
{
problem = _("bad bridge-interface");
break;
}
strncpy(new->iface, arg, IF_NAMESIZE);
strcpy(new->iface, arg);
new->alias = NULL;
new->next = daemon->bridges;
daemon->bridges = new;
@@ -1637,12 +1651,12 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
do {
arg = comma;
comma = split(arg);
if (strlen(arg) != 0)
if (strlen(arg) != 0 && strlen(arg) <= IF_NAMESIZE - 1)
{
struct dhcp_bridge *b = opt_malloc(sizeof(struct dhcp_bridge));
b->next = new->alias;
new->alias = b;
strncpy(b->iface, arg, IF_NAMESIZE);
strcpy(b->iface, arg);
}
} while (comma);
@@ -2067,7 +2081,12 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
new->CSA = i;
new->menu = opt_string_alloc(arg);
if (comma)
if (!comma)
{
new->type = 0; /* local boot */
new->basename = NULL;
}
else
{
arg = comma;
comma = split(arg);
@@ -2084,21 +2103,22 @@ static char *one_opt(int option, char *arg, char *gen_prob, int nest)
if (comma && (new->server.s_addr = inet_addr(comma)) == (in_addr_t)-1)
option = '?';
/* Order matters */
new->next = NULL;
if (!daemon->pxe_services)
daemon->pxe_services = new;
else
{
struct pxe_service *s;
for (s = daemon->pxe_services; s->next; s = s->next);
s->next = new;
}
daemon->enable_pxe = 1;
break;
}
/* Order matters */
new->next = NULL;
if (!daemon->pxe_services)
daemon->pxe_services = new;
else
{
struct pxe_service *s;
for (s = daemon->pxe_services; s->next; s = s->next);
s->next = new;
}
daemon->enable_pxe = 1;
break;
}
}

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -1327,18 +1327,41 @@ size_t answer_request(HEADER *header, char *limit, size_t qlen,
if (qtype != type && qtype != T_ANY)
continue;
/* Check for "A for A" queries */
if (qtype == T_A && (addr.addr.addr4.s_addr = inet_addr(name)) != (in_addr_t) -1)
/* Check for "A for A" queries; be rather conservative
about what looks like dotted-quad. */
if (qtype == T_A)
{
ans = 1;
if (!dryrun)
char *cp;
unsigned int i, a;
int x;
for (cp = name, i = 0, a = 0; *cp; i++)
{
log_query(F_FORWARD | F_CONFIG | F_IPV4, name, &addr, NULL);
if (add_resource_record(header, limit, &trunc, nameoffset, &ansp,
daemon->local_ttl, NULL, type, C_IN, "4", &addr))
anscount++;
if (!isdigit(*cp) || (x = strtol(cp, &cp, 10)) > 255)
{
i = 5;
break;
}
a = (a << 8) + x;
if (*cp == '.')
cp++;
}
if (i == 4)
{
ans = 1;
if (!dryrun)
{
addr.addr.addr4.s_addr = htonl(a);
log_query(F_FORWARD | F_CONFIG | F_IPV4, name, &addr, NULL);
if (add_resource_record(header, limit, &trunc, nameoffset, &ansp,
daemon->local_ttl, NULL, type, C_IN, "4", &addr))
anscount++;
}
continue;
}
continue;
}
/* interface name stuff */

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -54,6 +54,8 @@
#define OPTION_ARCH 93
#define OPTION_PXE_UUID 97
#define OPTION_SUBNET_SELECT 118
#define OPTION_VENDOR_IDENT 124
#define OPTION_VENDOR_IDENT_OPT 125
#define OPTION_END 255
#define SUBOPT_CIRCUIT_ID 1
@@ -77,10 +79,17 @@
#define DHCPRELEASE 7
#define DHCPINFORM 8
#define BRDBAND_FORUM_IANA 3561 /* Broadband forum IANA enterprise */
#define have_config(config, mask) ((config) && ((config)->flags & (mask)))
#define option_len(opt) ((int)(((unsigned char *)(opt))[1]))
#define option_ptr(opt, i) ((void *)&(((unsigned char *)(opt))[2u+(unsigned int)(i)]))
#ifdef HAVE_SCRIPT
static void add_extradata_data(struct dhcp_lease *lease, unsigned char *data, size_t len, int delim);
static void add_extradata_opt(struct dhcp_lease *lease, unsigned char *opt);
#endif
static int match_bytes(struct dhcp_opt *o, unsigned char *p, int len);
static int sanitise(unsigned char *opt, char *buf);
static struct in_addr server_id(struct dhcp_context *context, struct in_addr override, struct in_addr fallback);
static unsigned int calc_time(struct dhcp_context *context, struct dhcp_config *config, unsigned char *opt);
@@ -114,12 +123,12 @@ static void match_vendor_opts(unsigned char *opt, struct dhcp_opt *dopt);
static void do_encap_opts(struct dhcp_opt *opts, int encap, int flag, struct dhcp_packet *mess, unsigned char *end, int null_term);
static void pxe_misc(struct dhcp_packet *mess, unsigned char *end, unsigned char *uuid);
static int prune_vendor_opts(struct dhcp_netid *netid);
static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid);
static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid, struct in_addr local);
struct dhcp_boot *find_boot(struct dhcp_netid *netid);
size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
size_t sz, time_t now, int unicast_dest, int *is_inform)
size_t sz, time_t now, int unicast_dest, int *is_inform, int pxe)
{
unsigned char *opt, *clid = NULL;
struct dhcp_lease *ltmp, *lease = NULL;
@@ -144,9 +153,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
unsigned char *agent_id = NULL, *uuid = NULL;
unsigned char *emac = NULL;
int emac_len = 0;
struct dhcp_netid known_id, iface_id;
struct dhcp_netid known_id, iface_id, cpewan_id;
struct dhcp_opt *o;
unsigned char pxe_uuid[17];
unsigned char *oui = NULL, *serial = NULL, *class = NULL;
subnet_addr.s_addr = override.s_addr = 0;
@@ -194,6 +204,35 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
if ((option_find(mess, sz, OPTION_REQUESTED_IP, INADDRSZ) || mess_type == DHCPDISCOVER))
mess->ciaddr.s_addr = 0;
/* search for device identity from CPEWAN devices, we pass this through to the script */
if ((opt = option_find(mess, sz, OPTION_VENDOR_IDENT_OPT, 5)))
{
unsigned int elen, offset, len = option_len(opt);
for (offset = 0; offset < (len - 5); offset += elen + 5)
{
elen = option_uint(opt, offset + 4 , 1);
if (option_uint(opt, offset, 4) == BRDBAND_FORUM_IANA)
{
unsigned char *x = option_ptr(opt, offset + 5);
unsigned char *y = option_ptr(opt, offset + elen + 5);
oui = option_find1(x, y, 1, 1);
serial = option_find1(x, y, 2, 1);
class = option_find1(x, y, 3, 1);
/* If TR069-id is present set the tag "cpewan-id" to facilitate echoing
the gateway id back. Note that the device class is optional */
if (oui && serial)
{
cpewan_id.net = "cpewan-id";
cpewan_id.next = netid;
netid = &cpewan_id;
}
break;
}
}
}
if ((opt = option_find(mess, sz, OPTION_AGENT_ID, 1)))
{
/* Any agent-id needs to be copied back out, verbatim, as the last option
@@ -370,7 +409,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
netid = &known_id;
}
if (mess_type == 0)
if (mess_type == 0 && !pxe)
{
/* BOOTP request */
struct dhcp_netid id, bootp_id;
@@ -601,38 +640,44 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
/* dhcp-match. If we have hex-and-wildcards, look for a left-anchored match.
Otherwise assume the option is an array, and look for a matching element.
If no data given, existance of the option is enough. */
If no data given, existance of the option is enough. This code handles
rfc3925 V-I classes too. */
for (o = daemon->dhcp_match; o; o = o->next)
{
int i, matched = 0;
if (!(opt = option_find(mess, sz, o->opt, 1)) ||
o->len > option_len(opt))
continue;
if (o->len == 0)
matched = 1;
else if (o->flags & DHOPT_HEX)
{
if (memcmp_masked(o->val, option_ptr(opt, 0), o->len, o->u.wildcard_mask))
matched = 1;
}
else
for (i = 0; i <= (option_len(opt) - o->len); )
{
if (memcmp(o->val, option_ptr(opt, i), o->len) == 0)
{
matched = 1;
break;
}
unsigned int len, elen, match = 0;
size_t offset, o2;
if (o->flags & DHOPT_STRING)
i++;
else
i += o->len;
}
if (matched)
if (o->flags & DHOPT_RFC3925)
{
if (!(opt = option_find(mess, sz, OPTION_VENDOR_IDENT, 5)))
continue;
for (offset = 0; offset < (option_len(opt) - 5u); offset += len + 5)
{
len = option_uint(opt, offset + 4 , 1);
/* Need to take care that bad data can't run us off the end of the packet */
if ((offset + len + 5 <= (option_len(opt))) &&
(option_uint(opt, offset, 4) == (unsigned int)o->u.encap))
for (o2 = offset + 5; o2 < offset + len + 5; o2 += elen + 1)
{
elen = option_uint(opt, o2, 1);
if ((o2 + elen + 1 <= option_len(opt)) &&
(match = match_bytes(o, option_ptr(opt, o2 + 1), elen)))
break;
}
if (match)
break;
}
}
else
{
if (!(opt = option_find(mess, sz, o->opt, 1)))
continue;
match = match_bytes(o, option_ptr(opt, 0), option_len(opt));
}
if (match)
{
o->netid->next = netid;
netid = o->netid;
@@ -778,8 +823,8 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
{
pxearch = option_uint(opt, 0, 2);
/* proxy DHCP here. The DHCPREQUEST stuff is for gPXE */
if ((mess_type == DHCPDISCOVER || mess_type == DHCPREQUEST) &&
/* proxy DHCP here. */
if ((mess_type == DHCPDISCOVER || (pxe && mess_type == DHCPREQUEST)) &&
(context->flags & CONTEXT_PROXY))
{
struct dhcp_boot *boot = find_boot(netid);
@@ -809,16 +854,16 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr));
pxe_misc(mess, end, uuid);
prune_vendor_opts(netid);
do_encap_opts(pxe_opts(pxearch, netid), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
do_encap_opts(pxe_opts(pxearch, netid, context->local), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0);
log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy" : "proxy-ignored", mess->xid);
log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy-ignored" : "proxy", mess->xid);
return ignore ? 0 : dhcp_packet_size(mess, netid, agent_id, real_end);
}
}
}
/* if we're just a proxy server, go no further */
if (context->flags & CONTEXT_PROXY)
if ((context->flags & CONTEXT_PROXY) || pxe)
return 0;
if ((opt = option_find(mess, sz, OPTION_REQUESTED_OPTIONS, 0)))
@@ -1135,13 +1180,37 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
}
else
{
if (do_classes)
if (context->netid.net)
{
context->netid.next = netid;
netid = &context->netid;
}
#ifdef HAVE_SCRIPT
if (do_classes && daemon->lease_change_command)
{
struct dhcp_netid *n;
if (mess->giaddr.s_addr)
lease->giaddr = mess->giaddr;
lease->changed = 1;
/* copy user-class and vendor class into new lease, for the script */
free(lease->extradata);
lease->extradata_size = lease->extradata_len = 0;
add_extradata_opt(lease, option_find(mess, sz, OPTION_VENDOR_ID, 1));
add_extradata_opt(lease, option_find(mess, sz, OPTION_HOSTNAME, 1));
add_extradata_opt(lease, oui);
add_extradata_opt(lease, serial);
add_extradata_opt(lease, class);
/* space-concat tag set */
if (!netid)
add_extradata_opt(lease, NULL);
else
for (n = netid; n; n = n->next)
add_extradata_data(lease, (unsigned char *)n->net, strlen(n->net), n->next ? ' ' : 0);
if ((opt = option_find(mess, sz, OPTION_USER_CLASS, 1)))
{
int len = option_len(opt);
@@ -1149,39 +1218,11 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
/* If the user-class option started as counted strings, the first byte will be zero. */
if (len != 0 && ucp[0] == 0)
ucp++, len--;
free(lease->userclass);
if ((lease->userclass = whine_malloc(len+1)))
{
memcpy(lease->userclass, ucp, len);
lease->userclass[len] = 0;
lease->userclass_len = len+1;
}
}
if ((opt = option_find(mess, sz, OPTION_VENDOR_ID, 1)))
{
int len = option_len(opt);
unsigned char *ucp = option_ptr(opt, 0);
free(lease->vendorclass);
if ((lease->vendorclass = whine_malloc(len+1)))
{
memcpy(lease->vendorclass, ucp, len);
lease->vendorclass[len] = 0;
lease->vendorclass_len = len+1;
}
}
if ((opt = option_find(mess, sz, OPTION_HOSTNAME, 1)))
{
int len = option_len(opt);
unsigned char *ucp = option_ptr(opt, 0);
free(lease->supplied_hostname);
if ((lease->supplied_hostname = whine_malloc(len+1)))
{
memcpy(lease->supplied_hostname, ucp, len);
lease->supplied_hostname[len] = 0;
lease->supplied_hostname_len = len+1;
}
add_extradata_data(lease, ucp, len, 0);
}
}
#endif
if (!hostname_auth && (client_hostname = host_from_dns(mess->yiaddr)))
{
@@ -1189,12 +1230,6 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
hostname_auth = 1;
}
if (context->netid.net)
{
context->netid.next = netid;
netid = &context->netid;
}
time = calc_time(context, config, option_find(mess, sz, OPTION_LEASE_TIME, 4));
lease_set_hwaddr(lease, mess->chaddr, clid, mess->hlen, mess->htype, clid_len);
@@ -1299,6 +1334,37 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
return 0;
}
static int match_bytes(struct dhcp_opt *o, unsigned char *p, int len)
{
int i;
if (o->len > len)
return 0;
if (o->len == 0)
return 1;
if (o->flags & DHOPT_HEX)
{
if (memcmp_masked(o->val, p, o->len, o->u.wildcard_mask))
return 1;
}
else
for (i = 0; i <= (len - o->len); )
{
if (memcmp(o->val, p + i, o->len) == 0)
return 1;
if (o->flags & DHOPT_STRING)
i++;
else
i += o->len;
}
return 0;
}
/* find a good value to use as MAC address for logging and address-allocation hashing.
This is normally just the chaddr field from the DHCP packet,
but eg Firewire will have hlen == 0 and use the client-id instead.
@@ -1383,6 +1449,55 @@ static int sanitise(unsigned char *opt, char *buf)
return 1;
}
#ifdef HAVE_SCRIPT
static void add_extradata_data(struct dhcp_lease *lease, unsigned char *data, size_t len, int delim)
{
if ((lease->extradata_size - lease->extradata_len) < (len + 1))
{
size_t newsz = lease->extradata_len + len + 100;
unsigned char *new = whine_malloc(newsz);
if (!new)
return;
if (lease->extradata)
{
memcpy(new, lease->extradata, lease->extradata_len);
free(lease->extradata);
}
lease->extradata = new;
lease->extradata_size = newsz;
}
if (len != 0)
memcpy(lease->extradata + lease->extradata_len, data, len);
lease->extradata[lease->extradata_len + len] = delim;
lease->extradata_len += len + 1;
}
static void add_extradata_opt(struct dhcp_lease *lease, unsigned char *opt)
{
if (!opt)
add_extradata_data(lease, NULL, 0, 0);
else
{
size_t i, len = option_len(opt);
unsigned char *ucp = option_ptr(opt, 0);
/* check for embeded NULLs */
for (i = 0; i < len; i++)
if (ucp[i] == 0)
{
len = i;
break;
}
add_extradata_data(lease, ucp, len, 0);
}
}
#endif
static void log_packet(char *type, void *addr, unsigned char *ext_mac,
int mac_len, char *interface, char *string, u32 xid)
{
@@ -1761,7 +1876,7 @@ static struct dhcp_opt *option_find2(struct dhcp_netid *netid, struct dhcp_opt *
{
struct dhcp_opt *tmp;
for (tmp = opts; tmp; tmp = tmp->next)
if (tmp->opt == opt && !(tmp->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR)))
if (tmp->opt == opt && !(tmp->flags & (DHOPT_ENCAPSULATE | DHOPT_VENDOR | DHOPT_RFC3925)))
if (match_netid(tmp->netid, netid, netid ? 0 : 1))
return tmp;
@@ -1861,7 +1976,7 @@ static int prune_vendor_opts(struct dhcp_netid *netid)
return force;
}
static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid)
static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid, struct in_addr local)
{
#define NUM_OPTS 4
@@ -1869,18 +1984,16 @@ static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid)
struct pxe_service *service;
static struct dhcp_opt *o, *ret;
int i, j = NUM_OPTS - 1;
struct in_addr boot_server;
/* We pass back references to these, hence they are declared static */
static unsigned char discovery_control;
static unsigned char fake_prompt[] = { 0, 'P', 'X', 'E' };
static struct dhcp_opt *fake_opts = NULL;
/* We are found by broadcast, so disable multicast. It gets switched on again
if we point to other servers and don't give a unicast address. Note that
we don't provide our own address for services we are the boot server for because unicast
discovery is to port 4011 and we don't listen there. If you are using proxy DHCP
and DHCP relays, the relay will need to forward to the proxy too. */
discovery_control = 2;
/* Disable multicast, since we don't support it, and broadcast
unless we need it */
discovery_control = 3;
ret = daemon->dhcp_opts;
@@ -1920,26 +2033,25 @@ static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid)
return daemon->dhcp_opts;
}
if (!service->basename)
boot_server = service->basename ? local : service->server;
if (boot_server.s_addr != 0)
{
if (service->server.s_addr != 0)
{
if (q - (unsigned char *)daemon->dhcp_buff2 + 3 + INADDRSZ >= 253)
goto toobig;
/* Boot service with known address - give it */
*(q++) = service->type >> 8;
*(q++) = service->type;
*(q++) = 1;
/* dest misaligned */
memcpy(q, &service->server.s_addr, INADDRSZ);
q += INADDRSZ;
}
else if (service->type != 0)
/* We're not supplying a server, so let the client multicast.
type zero is "local boot" so no need for M/C on that. */
discovery_control = 0;
}
if (q - (unsigned char *)daemon->dhcp_buff2 + 3 + INADDRSZ >= 253)
goto toobig;
/* Boot service with known address - give it */
*(q++) = service->type >> 8;
*(q++) = service->type;
*(q++) = 1;
/* dest misaligned */
memcpy(q, &boot_server.s_addr, INADDRSZ);
q += INADDRSZ;
}
else if (service->type != 0)
/* We don't know the server for a service type, so we'll
allow the client to broadcast for it */
discovery_control = 2;
}
/* if no prompt, wait forever if there's a choice */
@@ -1975,14 +2087,11 @@ static struct dhcp_opt *pxe_opts(int pxe_arch, struct dhcp_netid *netid)
ret->opt = SUBOPT_PXE_MENU_PROMPT;
}
if (discovery_control != 0)
{
ret = &fake_opts[j--];
ret->len = 1;
ret->opt = SUBOPT_PXE_DISCOVERY;
ret->val= &discovery_control;
}
ret = &fake_opts[j--];
ret->len = 1;
ret->opt = SUBOPT_PXE_DISCOVERY;
ret->val= &discovery_control;
return ret;
}
@@ -2270,45 +2379,78 @@ static void do_options(struct dhcp_context *context,
/* Now send options to be encapsulated in arbitrary options,
eg dhcp-option=encap:172,17,.......
Also hand vendor-identifying vendor-encapsulated options,
dhcp-option = rfc3925-encap:13,17,.......
The may be more that one "outer" to do, so group
all the options which match each outer in turn. */
for (opt = config_opts; opt; opt = opt->next)
opt->flags &= ~DHOPT_ENCAP_DONE;
for (opt = config_opts; opt; opt = opt->next)
if ((opt->flags & (DHOPT_ENCAPSULATE | DHOPT_ENCAP_DONE)) == DHOPT_ENCAPSULATE)
{
struct dhcp_opt *o;
int found = 0;
for (o = config_opts; o; o = o->next)
{
o->flags &= ~DHOPT_ENCAP_MATCH;
if ((o->flags & DHOPT_ENCAPSULATE) && opt->u.encap == o->u.encap)
{
o->flags |= DHOPT_ENCAP_DONE;
if (match_netid(o->netid, netid, 1) &&
(o->flags & DHOPT_FORCE || in_list(req_options, o->u.encap)))
{
o->flags |= DHOPT_ENCAP_MATCH;
found = 1;
}
}
}
if (found)
do_encap_opts(config_opts, opt->u.encap, DHOPT_ENCAP_MATCH, mess, end, null_term);
}
{
int flags;
if ((flags = (opt->flags & (DHOPT_ENCAPSULATE | DHOPT_RFC3925))))
{
int found = 0;
struct dhcp_opt *o;
if (opt->flags & DHOPT_ENCAP_DONE)
continue;
for (len = 0, o = config_opts; o; o = o->next)
{
int outer = flags & DHOPT_ENCAPSULATE ? o->u.encap : OPTION_VENDOR_IDENT_OPT;
o->flags &= ~DHOPT_ENCAP_MATCH;
if (!(o->flags & flags) || opt->u.encap != o->u.encap)
continue;
o->flags |= DHOPT_ENCAP_DONE;
if (match_netid(o->netid, netid, 1) &&
((o->flags & DHOPT_FORCE) || in_list(req_options, outer)))
{
o->flags |= DHOPT_ENCAP_MATCH;
found = 1;
len += do_opt(o, NULL, NULL, 0) + 2;
}
}
if (found)
{
if (flags & DHOPT_ENCAPSULATE)
do_encap_opts(config_opts, opt->u.encap, DHOPT_ENCAP_MATCH, mess, end, null_term);
else if (len > 250)
my_syslog(MS_DHCP | LOG_WARNING, _("cannot send RFC3925 option: too many options for enterprise number %d"), opt->u.encap);
else if ((p = free_space(mess, end, OPTION_VENDOR_IDENT_OPT, len + 5)))
{
int swap_ent = htonl(opt->u.encap);
memcpy(p, &swap_ent, 4);
p += 4;
*(p++) = len;
for (o = config_opts; o; o = o->next)
if (o->flags & DHOPT_ENCAP_MATCH)
{
len = do_opt(o, p + 2, NULL, 0);
*(p++) = o->opt;
*(p++) = len;
p += len;
}
}
}
}
}
/* Must precede pxe_opts, since it overwrites req_options */
force_encap = prune_vendor_opts(netid);
if (in_list(req_options, OPTION_VENDOR_CLASS_OPT))
force_encap = 1;
if (pxe_arch != -1)
if (context && pxe_arch != -1)
{
pxe_misc(mess, end, uuid);
config_opts = pxe_opts(pxe_arch, netid);
config_opts = pxe_opts(pxe_arch, netid, context->local);
}
if (force_encap)

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -130,7 +130,7 @@ void tftp_request(struct listener *listen, time_t now)
if (tmp->name && (strcmp(tmp->name, name) == 0))
return;
strncpy(name, ifr.ifr_name, IF_NAMESIZE);
strncpy(ifr.ifr_name, name, IF_NAMESIZE);
if (ioctl(listen->tftpfd, SIOCGIFMTU, &ifr) != -1)
mtu = ifr.ifr_mtu;
}
@@ -279,7 +279,7 @@ void tftp_request(struct listener *listen, time_t now)
free_transfer(transfer);
else
{
my_syslog(MS_TFTP | LOG_INFO, _("TFTP sent %s to %s"), daemon->namebuff, inet_ntoa(peer.sin_addr));
my_syslog(MS_TFTP | LOG_INFO, _("sent %s to %s"), daemon->namebuff, inet_ntoa(peer.sin_addr));
transfer->next = daemon->tftp_trans;
daemon->tftp_trans = transfer;
}
@@ -413,7 +413,7 @@ void check_tftp_listeners(fd_set *rset, time_t now)
*(q++) = *r;
*q = 0;
}
my_syslog(MS_TFTP | LOG_ERR, _("TFTP error %d %s received from %s"),
my_syslog(MS_TFTP | LOG_ERR, _("error %d %s received from %s"),
(int)ntohs(mess->block), err,
inet_ntoa(transfer->peer.sin_addr));
@@ -444,7 +444,7 @@ void check_tftp_listeners(fd_set *rset, time_t now)
/* don't complain about timeout when we're awaiting the last
ACK, some clients never send it */
if (len != 0)
my_syslog(MS_TFTP | LOG_ERR, _("TFTP failed sending %s to %s"),
my_syslog(MS_TFTP | LOG_ERR, _("failed sending %s to %s"),
transfer->file->filename, inet_ntoa(transfer->peer.sin_addr));
len = 0;
}
@@ -503,7 +503,7 @@ static ssize_t tftp_err(int err, char *packet, char *message, char *file)
mess->op = htons(OP_ERR);
mess->err = htons(err);
ret += (snprintf(mess->message, 500, message, file, errstr) + 1);
my_syslog(MS_TFTP | LOG_ERR, "TFTP %s", mess->message);
my_syslog(MS_TFTP | LOG_ERR, "%s", mess->message);
return ret;
}

View File

@@ -1,4 +1,4 @@
/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley
/* dnsmasq is Copyright (c) 2000-2010 Simon Kelley
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by