diff options
author | Simon Kelley <simon@thekelleys.org.uk> | 2006-08-05 21:41:37 +0100 |
---|---|---|
committer | Simon Kelley <simon@thekelleys.org.uk> | 2012-01-05 17:31:12 +0000 |
commit | 208b65c5cf0b8277371a0e787005ad66ee3027a8 (patch) | |
tree | 32e8a77c474c18706070fa61ba862f3cbd5687b5 | |
parent | 849a8357ba2ea8c8f9e030b2b3a4418c054fb38c (diff) | |
download | dnsmasq-208b65c5cf0b8277371a0e787005ad66ee3027a8.tar.gz |
import of dnsmasq-2.33.tar.gzv2.33
-rw-r--r-- | CHANGELOG | 56 | ||||
-rw-r--r-- | FAQ | 14 | ||||
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | bld/Makefile | 4 | ||||
-rwxr-xr-x | bld/install-mo | 6 | ||||
-rw-r--r-- | contrib/Suse/README | 6 | ||||
-rw-r--r-- | contrib/Suse/README.susefirewall (renamed from rpm/README.susefirewall) | 0 | ||||
-rw-r--r-- | contrib/Suse/dnsmasq-SuSE.patch (renamed from rpm/dnsmasq-SuSE.patch) | 0 | ||||
-rw-r--r-- | contrib/Suse/dnsmasq-suse.spec (renamed from dnsmasq-suse.spec) | 4 | ||||
-rw-r--r-- | contrib/Suse/rc.dnsmasq-suse (renamed from rpm/rc.dnsmasq-suse) | 0 | ||||
-rw-r--r-- | contrib/wrt/Makefile | 7 | ||||
-rw-r--r-- | contrib/wrt/README | 81 | ||||
-rw-r--r-- | contrib/wrt/dhcp_release.c | 184 | ||||
-rwxr-xr-x | contrib/wrt/lease_update.sh | 57 | ||||
-rw-r--r-- | man/dnsmasq.8 | 35 | ||||
-rw-r--r-- | po/de.po | 292 | ||||
-rw-r--r-- | po/es.po | 297 | ||||
-rw-r--r-- | po/fi.po | 292 | ||||
-rw-r--r-- | po/fr.po | 297 | ||||
-rw-r--r-- | po/id.po | 301 | ||||
-rw-r--r-- | po/it.po | 292 | ||||
-rw-r--r-- | po/no.po | 297 | ||||
-rw-r--r-- | po/pl.po | 297 | ||||
-rw-r--r-- | po/pt_BR.po | 292 | ||||
-rw-r--r-- | po/ro.po | 297 | ||||
-rw-r--r-- | src/config.h | 4 | ||||
-rw-r--r-- | src/dhcp.c | 14 | ||||
-rw-r--r-- | src/dnsmasq.c | 66 | ||||
-rw-r--r-- | src/dnsmasq.h | 6 | ||||
-rw-r--r-- | src/forward.c | 8 | ||||
-rw-r--r-- | src/lease.c | 204 | ||||
-rw-r--r-- | src/option.c | 34 |
32 files changed, 2291 insertions, 1461 deletions
@@ -1883,7 +1883,55 @@ version 2.32 Fixed gcc-4.1 strict-alias compilation warning. - - - - +version 2.33 + Remove bash-specific shellcode from the Makefile. + + Fix breakage with some DHCP relay implementations which + was introduced in 2.28. Believing the source port in + DHCP requests and sending the reply there is sometimes a + bad thing to do, so I've reverted to always sending to + the relay on port 68. Thanks to Daniel Hamlin and Alex + (alde) for bug reports on this. + + Moved the SuSe packaging files to contrib. I will no + longer attempt to maintain this in the source tarball. It + will be done externally, in the same way as packaging for + other distros. Suse packages are available from + ftp://ftp.suse.com/pub/people/ug/ + + Merged patch from Gentoo to honour $LDFLAGS environment. + + Fix bug in resolv.conf processing when more than one file + is being checked. + + Add --dns-forward-max option. + + Warn if --resolv-file flags are ignored because of + --no-resolv. Thanks to Martin F Krafft for spotting this + one. + + Add --leasefile-ro option which allows the use of an + external lease database. Many thanks to Steve Horbachuk + for assistance developing this feature. + + Provide extra information to lease-change script via its + environment. If the host has a client-id, then + DNSMASQ_CLIENT_ID will be set. Either the lease length (in + DNSMASQ_LEASE_LENGTH) or lease expiry time (in + DNSMASQ_LEASE_EXPIRES) will be set, depending on the + HAVE_BROKEN_RTC compile-time option. This extra + information should make it possible to maintain the lease + database in external storage such as LDAP or a relational + database. Note that while leasefile-ro is set, the script + will be called with "old" events more often, since + changes to the client-id and lease length + (HAVE_BROKEN_RTC) or lease expiry time (otherwise) + are now flagged. + + Add contrib/wrt/* which is an example implementation of an + external persistent lease database for *WRT distros with + the nvram command. + + Add contrib/wrt/dhcp_release.c which is a small utility + which removes DHCP leases using DHCPRELEASE operation in + the DHCP protocol. @@ -42,10 +42,12 @@ Q: Will dnsmasq compile/run on non-Linux systems? A: Yes, there is explicit support for *BSD and MacOS X. There are start-up scripts for MacOS X Tiger and Panther in /contrib. Earlier dnsmasq releases ran under Solaris, but that capability has - probably rotted. Dnsmasq will link with uclibc to provide small + rotted. Dnsmasq will link with uclibc to provide small binaries suitable for use in embedded systems such as routers. (There's special code to support machines with flash filesystems and no battery-backed RTC.) + If you encounter make errors with *BSD, try installing gmake from + ports and building dnsmasq with "make MAKE=gmake" For other systems, try altering the settings in config.h. Q: My companies' nameserver knows about some names which aren't in the @@ -383,6 +385,16 @@ Q: Dnsmasq logs "running as root because setting capabilities failed" A: Change your kernel configuration: either deselect CONFIG_SECURITY _or_ select CONFIG_SECURITY_CAPABILITIES. + + +Q: Where can I get .rpms Suitable for Suse? + +A: Dnsmasq is in Suse itself, and the latest releases are also + available at ftp://ftp.suse.com/pub/people/ug/ + + + + @@ -9,12 +9,14 @@ MAN = man CFLAGS?= -O2 -all : +all : dnsmasq + +dnsmasq : $(MAKE) I18N=-DNO_GETTEXT -f ../bld/Makefile -C $(SRC) dnsmasq clean : rm -f *~ $(SRC)/*.mo contrib/*/*~ */*~ $(SRC)/*.pot - rm -f $(SRC)/*.o $(SRC)/dnsmasq core */core + rm -f $(SRC)/*.o $(SRC)/dnsmasq.a $(SRC)/dnsmasq core */core install : all install-common @@ -26,7 +28,7 @@ install-common : all-i18n : $(MAKE) I18N=-DLOCALEDIR='\"$(LOCALEDIR)\"' -f ../bld/Makefile -C $(SRC) dnsmasq cd $(PO); for f in *.po; do \ - $(MAKE) -f ../bld/Makefile -C ../$(SRC) $${f/.po/.mo}; \ + $(MAKE) -f ../bld/Makefile -C ../$(SRC) $${f%.po}.mo; \ done install-i18n : all-i18n install-common diff --git a/bld/Makefile b/bld/Makefile index d5d8386..544580c 100644 --- a/bld/Makefile +++ b/bld/Makefile @@ -9,8 +9,8 @@ OBJS = cache.o rfc1035.o util.o option.o forward.o isc.o network.o \ $(CC) $(CFLAGS) $(COPTS) $(I18N) `echo $(COPTS) | ../bld/pkg-wrapper $(PKG_CONFIG) --cflags dbus-1` $(RPM_OPT_FLAGS) -Wall -W -c $< dnsmasq : $(OBJS) - $(CC) -o $@ $(OBJS) `echo $(COPTS) | ../bld/pkg-wrapper $(PKG_CONFIG) --libs dbus-1` $(LIBS) - + $(CC) $(LDFLAGS) -o $@ $(OBJS) `echo $(COPTS) | ../bld/pkg-wrapper $(PKG_CONFIG) --libs dbus-1` $(LIBS) + dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h xgettext -d dnsmasq --foreign-user --keyword=_ -o dnsmasq.pot -i $(OBJS:.o=.c) diff --git a/bld/install-mo b/bld/install-mo index 903cd22..725aa81 100755 --- a/bld/install-mo +++ b/bld/install-mo @@ -1,9 +1,9 @@ #!/bin/sh for f in *.mo; do - install -d $1/${f/.mo/}/LC_MESSAGES - install -m 644 $f $1/${f/.mo/}/LC_MESSAGES/dnsmasq.mo - echo installing $1/${f/.mo/}/LC_MESSAGES/dnsmasq.mo + install -d $1/${f%.mo}/LC_MESSAGES + install -m 644 $f $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo + echo installing $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo done diff --git a/contrib/Suse/README b/contrib/Suse/README new file mode 100644 index 0000000..3fdc186 --- /dev/null +++ b/contrib/Suse/README @@ -0,0 +1,6 @@ +This packaging is now unmaintained in the dnsmasq source: dnsmasq is +included in Suse proper, and up-to-date packages are now available +from + +ftp://ftp.suse.com/pub/people/ug/ + diff --git a/rpm/README.susefirewall b/contrib/Suse/README.susefirewall index 2f19ca6..2f19ca6 100644 --- a/rpm/README.susefirewall +++ b/contrib/Suse/README.susefirewall diff --git a/rpm/dnsmasq-SuSE.patch b/contrib/Suse/dnsmasq-SuSE.patch index 626245f..626245f 100644 --- a/rpm/dnsmasq-SuSE.patch +++ b/contrib/Suse/dnsmasq-SuSE.patch diff --git a/dnsmasq-suse.spec b/contrib/Suse/dnsmasq-suse.spec index 323d5bd..ff8ba8f 100644 --- a/dnsmasq-suse.spec +++ b/contrib/Suse/dnsmasq-suse.spec @@ -5,7 +5,7 @@ ############################################################################### Name: dnsmasq -Version: 2.32 +Version: 2.33 Release: 1 Copyright: GPL Group: Productivity/Networking/DNS/Servers @@ -106,6 +106,6 @@ rm -rf $RPM_BUILD_ROOT /usr/sbin/dnsmasq /usr/share/locale/*/LC_MESSAGES/* %doc %{_mandir}/man8/dnsmasq.8.gz - +%doc %{_mandir}/*/man8/dnsmasq.8.gz diff --git a/rpm/rc.dnsmasq-suse b/contrib/Suse/rc.dnsmasq-suse index 71f4c72..71f4c72 100644 --- a/rpm/rc.dnsmasq-suse +++ b/contrib/Suse/rc.dnsmasq-suse diff --git a/contrib/wrt/Makefile b/contrib/wrt/Makefile new file mode 100644 index 0000000..abda96a --- /dev/null +++ b/contrib/wrt/Makefile @@ -0,0 +1,7 @@ +CFLAGS?= -O2 + +all: dhcp_release.c + $(CC) $(CFLAGS) $(RPM_OPT_FLAGS) -Wall -W dhcp_release.c -o dhcp_release + +clean: + rm -f *~ *.o core dhcp_release diff --git a/contrib/wrt/README b/contrib/wrt/README new file mode 100644 index 0000000..862046f --- /dev/null +++ b/contrib/wrt/README @@ -0,0 +1,81 @@ +This script can be used to implement persistent leases on openWRT, DD-WRT +etc. Persistent leases are good: if the lease database is lost on a +reboot, then it will eventually be restored as hosts renew their +leases. Until a host renews (which may take hours/days) it will +not exist in the DNS if dnsmasq's DDNS function is in use. + +*WRT systems remount all non-volatile fileystems read-only after boot, +so the normal leasefile will not work. They do, however have NV +storage, accessed with the nvram command: + +/usr/lib # nvram +usage: nvram [get name] [set name=value] [unset name] [show] + +The principle is that leases are kept in NV variable with data +corresponding to the line in a leasefile: + +dnsmasq_lease_192.168.1.56=3600 00:41:4a:05:80:74 192.168.1.56 * * + +By giving dnsmasq the leasefile-ro command, it no longer creates or writes a +leasefile; responsibility for maintaining the lease database transfers +to the lease change script. At startup, in leasefile-ro mode, +dnsmasq will run + +"<lease_change_script> init" + +and read whatever that command spits out, expecting it to +be in dnsmasq leasefile format. + +So the lease change script, given "init" as argv[1] will +suck existing leases out of the NVRAM and emit them from +stdout in the correct format. + +The second part of the problem is keeping the NVRAM up-to-date: this +is done by the lease-change script which dnsmasq runs when a lease is +updated. When it is called with argv[1] as "old", "add", or "del" +it updates the relevant nvram entry. + +So, dnsmasq should be run as : + +dnsmasq --leasefile-ro --dhcp-script=/path/to/lease_update.sh + +or the same flags added to /etc/dnsmasq.conf + + + +Notes: + +This needs dnsmasq-2.33 or later to work. + +This technique will work with, or without, compilation with +HAVE_BROKEN_RTC. Compiling with HAVE_BROKEN_RTC is +_highly_recommended_ for this application since is avoids problems +with the system clock being warped by NTP, and it vastly reduces the +number of writes to the NVRAM. With HAVE_BROKEN_RTC, NVRAM is updated +only when a lease is created or destroyed; without it, a write occurs +every time a lease is renewed. + +It probably makes sense to restrict the number of active DHCP leases +to an appropriate number using dhcp-lease-max. On a new DD_WRT system, +there are about 10K bytes free in the NVRAM. Each lease record is +about 100 bytes, so restricting the number of leases to 50 will limit +use to half that. (The default limit in the distributed source is 150) + +Any UI script which reads the dnsmasq leasefile will have to be +ammended, probably by changing it to read the output of +`lease_update init` instead. + + +Thanks: + +To Steve Horbachuk for checks on the script and debugging beyond the +call of duty. + + +Simon Kelley +Fri Jul 28 11:51:13 BST 2006 + + + + + diff --git a/contrib/wrt/dhcp_release.c b/contrib/wrt/dhcp_release.c new file mode 100644 index 0000000..2ee98c2 --- /dev/null +++ b/contrib/wrt/dhcp_release.c @@ -0,0 +1,184 @@ +/* Copyright (c) 2006 Simon Kelley + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. +*/ + +/* dhcp_release <interface> <address> <MAC address> <client_id> + MUST be run as root - will fail otherwise. */ + +/* Send a DHCPRELEASE message via the specified interface + to tell the local DHCP server to delete a particular lease. + + The interface argument is the interface in which a DHCP + request _would_ be received if it was coming from the client, + rather than being faked up here. + + The address argument is a dotted-quad IP addresses and mandatory. + + The MAC address is colon separated hex, and is mandatory. It may be + prefixed by an address-type byte followed by -, eg + + 10-11:22:33:44:55:66 + + but if the address-type byte is missing it is assumed to be 1, the type + for ethernet. This encoding is the one used in dnsmasq lease files. + + The client-id is optional. If it is "*" then it treated as being missing. +*/ + +#include <sys/types.h> +#include <netinet/in.h> +#include <net/if.h> +#include <arpa/inet.h> +#include <sys/socket.h> +#include <unistd.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <net/if_arp.h> +#include <sys/ioctl.h> + +#define DHCP_CHADDR_MAX 16 +#define BOOTREQUEST 1 +#define DHCP_COOKIE 0x63825363 +#define OPTION_SERVER_IDENTIFIER 54 +#define OPTION_CLIENT_ID 61 +#define OPTION_MESSAGE_TYPE 53 +#define OPTION_END 255 +#define DHCPRELEASE 7 +#define DHCP_SERVER_PORT 67 + +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned int u32; + +struct dhcp_packet { + u8 op, htype, hlen, hops; + u32 xid; + u16 secs, flags; + struct in_addr ciaddr, yiaddr, siaddr, giaddr; + u8 chaddr[DHCP_CHADDR_MAX], sname[64], file[128]; + u32 cookie; + unsigned char options[308]; +}; + +static int parse_hex(char *in, unsigned char *out, int maxlen, int *mac_type) +{ + int i = 0; + char *r; + + if (mac_type) + *mac_type = 0; + + while (maxlen == -1 || i < maxlen) + { + for (r = in; *r != 0 && *r != ':' && *r != '-'; r++); + if (*r == 0) + maxlen = i; + + if (r != in ) + { + if (*r == '-' && i == 0 && mac_type) + { + *r = 0; + *mac_type = strtol(in, NULL, 16); + mac_type = NULL; + } + else + { + *r = 0; + out[i] = strtol(in, NULL, 16); + i++; + } + } + in = r+1; + } + return i; +} + +int main(int argc, char **argv) +{ + struct in_addr server, lease; + int mac_type; + struct dhcp_packet packet; + unsigned char *p = packet.options; + struct sockaddr_in dest; + struct ifreq ifr; + int fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); + + if (argc < 4 || argc > 5) + { + fprintf(stderr, "usage: dhcp_release <interface> <addr> <mac> [<client_id>]\n"); + exit(1); + } + + if (fd == -1) + { + perror("cannot create socket"); + exit(1); + } + + /* This voodoo fakes up a packet coming from the correct interface, which really matters for + a DHCP server */ + strcpy(ifr.ifr_name, argv[1]); + ifr.ifr_addr.sa_family = AF_INET; + if (ioctl(fd, SIOCGIFADDR, &ifr) == -1 || setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)) == -1) + { + perror("cannot setup interface"); + exit(1); + } + + server = ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr; + lease.s_addr = inet_addr(argv[2]); + + memset(&packet, 0, sizeof(packet)); + + packet.hlen = parse_hex(argv[3], packet.chaddr, DHCP_CHADDR_MAX, &mac_type); + if (mac_type == 0) + packet.htype = ARPHRD_ETHER; + else + packet.htype = mac_type; + + packet.op = BOOTREQUEST; + packet.ciaddr = lease; + packet.cookie = htonl(DHCP_COOKIE); + + *(p++) = OPTION_MESSAGE_TYPE; + *(p++) = 1; + *(p++) = DHCPRELEASE; + + *(p++) = OPTION_SERVER_IDENTIFIER; + *(p++) = sizeof(server); + memcpy(p, &server, sizeof(server)); + p += sizeof(server); + + if (argc == 5 && strcmp(argv[4], "*") != 0) + { + unsigned int clid_len = parse_hex(argv[4], p+2, 255, NULL); + *(p++) = OPTION_CLIENT_ID; + *(p++) = clid_len; + p += clid_len; + } + + *(p++) = OPTION_END; + + dest.sin_family = AF_INET; + dest.sin_port = ntohs(DHCP_SERVER_PORT); + dest.sin_addr = server; + + if (sendto(fd, &packet, sizeof(packet), 0, + (struct sockaddr *)&dest, sizeof(dest)) == 1) + { + perror("sendto failed"); + exit(1); + } + + return 0; +} diff --git a/contrib/wrt/lease_update.sh b/contrib/wrt/lease_update.sh new file mode 100755 index 0000000..2171d6b --- /dev/null +++ b/contrib/wrt/lease_update.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# Copyright (c) 2006 Simon Kelley +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 dated June, 1991. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + + +# if $1 is add del or old, this is a dnsmasq-called lease-change +# script, update the nvram database. if $1 is init, emit a +# dnsmasq-format lease file to stdout representing the current state of the +# database, this is called by dnsmasq at startup. + +NVRAM=/usr/sbin/nvram +PREFIX=dnsmasq_lease_ + +# Arguments. +# $1 is action (add, del, old) +# $2 is MAC +# $3 is address +# $4 is hostname (optional, may be unset) + +# env. +# DNSMASQ_LEASE_LENGTH or DNSMASQ_LEASE_EXPIRES (which depends on HAVE_BROKEN_RTC) +# DNSMASQ_CLIENT_ID (optional, may be unset) + +# File. +# length|expires MAC addr hostname|* CLID|* + +# Primary key is address. + +NVRAM=/usr/sbin/nvram +PREFIX=dnsmasq_lease_ + +if [ ${1} = init ] ; then + ${NVRAM} show | sed -n -e "/^${PREFIX}.*/ s/^.*=//p" +else + if [ ${1} = del ] ; then + ${NVRAM} unset ${PREFIX}${3} + fi + + if [ ${1} = old ] || [ ${1} = add ] ; then + ${NVRAM} set ${PREFIX}${3}="${DNSMASQ_LEASE_LENGTH:-}${DNSMASQ_LEASE_EXPIRES:-} ${2} ${3} ${4:-*} ${DNSMASQ_CLIENT_ID:-*}" + fi + ${NVRAM} commit +fi + + + + + diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 index 9c68bff..4cd5e2c 100644 --- a/man/dnsmasq.8 +++ b/man/dnsmasq.8 @@ -326,6 +326,12 @@ Disable negative caching. Negative caching allows dnsmasq to remember identical queries without forwarding them again. This flag disables negative caching. .TP +.B \-0, --dns-forward-max +Set the maximum number of concurrent DNS queries. Unanswered queries +time out after 20 seconds. If you sometimes see the log message +"forwarding table overflow: check for server loops." then it is worth +experimenting with this setting. The default value is 150. +.TP .B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<default 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 @@ -541,22 +547,27 @@ excluded from dnsmasq at compile time, in which case an error will occur. In any case note that ISC leasefile integration is a deprecated feature. It should not be used in new installations, and will be removed in a future release. -.TP +.TP .B \-6 --dhcp-script=<path> Whenever a new DHCP lease is created, or an old one destroyed, the -binary specified by this option is run. The arguments to the binary +binary specified by this option is run. The arguments to the process are "add", "old" or "del", the MAC address of the host (or "<null>"), the IP address, and the hostname, if known. "add" means a lease has been created, "del" means it has been destroyed, "old" is a notification of an existing lease when -dnsmasq starts or a change to MAC address or hostname of an existing lease. +dnsmasq starts or a change to MAC address or hostname of an existing +lease (also, lease length or expiry and client-id, if leasefile-ro is set). The process is run as any unprivileged user which dnsmasq runs as, so it may be necessary to inhibit dropping of the root user, using the .B -u directive, if the script needs root privs. -The environment is inherited from the invoker of dnsmasq, -and all file decriptors are +The environment is inherited from the invoker of dnsmasq, and if the +host provided a client-id, this is stored in the variable +DNSMASQ_CLIENT_ID. If dnsmasq was compiled with HAVE_BROKEN_RTC, then +the length of the lease (in seconds) is stored in +DNSMASQ_LEASE_LENGTH, otherwise the time of lease expiry is stored in DNSMASQ_LEASE_EXPIRES. +All file decriptors are closed except stdin, stdout and stderr which are open to /dev/null (except in debug mode). The script is not invoked concurrently: if subsequent lease @@ -565,6 +576,20 @@ invokation exits. At dnsmasq startup, the script will be invoked for all existing leases as they are read from the lease file. Expired leases will be called with "del" and others with "old". <path> must be an absolute pathname, no PATH search occurs. +.TP +.B \-9, --leasefile-ro +Completely suppress use of the lease database file. The file will not +be created, read, or written. Change the way the lease-change +script (if one is provided) is called, so that the lease database may +be maintained in external storage by the script. In addition to the +invokations given in +.B --dhcp-script +the lease-change script is called once, at dnsmasq startup, with the +single argument "init". When called like this the script should write +the saved state of the lease database, in dnsmasq leasefile format, to +stdout and exit with zero exit code. Setting this +option also forces the leasechange script to be called on changes +to the client-id and lease length and expiry time. .TP .B \-s, --domain=<domain> Specifies the domain for the DHCP server. This has two effects; @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-09-27 09:37+0100\n" "Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n" "Language-Team: German <de@li.org>\n" @@ -20,19 +20,19 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "" # @Simon: Here I need an example to understand it :) -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "" # @Simon: Here I need an example to understand it :) -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "lese %s - %d Adressen" @@ -70,7 +70,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:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "Speicher nicht verfügbar" @@ -97,26 +97,26 @@ msgstr "Start gescheitert" msgid "infinite" msgstr "unendlich" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "Lokale abzuhörende Adresse(n) angeben." # @Simon: Quite literal translation, sounds not too polite in german. # @Simon: How about: "Bitte die lokalen abzuhörende Adresse(n) angeben." # @Simon: = "Please specify the local address(es) to listen on." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "Rückkehr-IP-Adresse für alle Geräte in angebenen Domänen" # @Simon: I hope "Return ipaddr" is similar to "Return-ipaddr" and not "Return the ipaddr ... !" -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" "'Gefälschte' Rückwärts-Ergebnisse für private Adressbereiche nach RFC1918" # @Simon: I'm a bit unsure about the meaning of "Fake" here, and the best word for "lookup" is "Nachsehen" # @Simon: (that is "looking-for") but I think that cannot be used. "Ergebnisse" = "results", is that near enough? -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Behandle IP-Adr als NXDOMAIN (wehrt Verisign-Platzhalter ab)." @@ -127,17 +127,17 @@ msgstr "Behandle IP-Adr als NXDOMAIN (wehrt Verisign-Platzhalter ab)." # @Simon: "Behandle IP-Adr als NXDOMAIN (gegen Verisigns Platzhalter-Gebrauch)." # @Simon: = "Treat ipaddr as NXDOMAIN (defeats Verisigns wildcard usage)." ? # @Simon: But the explanatory(?) effect is only a very tiny bit better, I believe - what do U think? -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Angabe der Größe des Caches in Einträgen (Voreinstellung: %s)." -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Angabe der Konfigurationsdatei (Voreinstellung: %s)." -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "NICHT in den Hintergrund gehen: Betrieb im Debug-Modus" @@ -145,431 +145,440 @@ msgstr "NICHT in den Hintergrund gehen: Betrieb im Debug-Modus" # @Simon: I know it sounds a bit clumsy in english, but "fork" would be hard to understand # @Simon: and then I get a problem between "go" and "run" - so... # @Simon: "Debug-mode" = "Fehlersuch-Modus", literally, but I think "Debug-Modus" is better :) -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "Anfragen ohne Domänen-Teil NICHT weiterschicken" # @Simon: "weiterschicken" is rather "pass on" (I hope) but that's the best I found. -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Rückgabe auf sich selbst zeigender MX-Einträge für lokale Geräte" # @Simon: "self-pointing" is a bit difficult, the meaning is clear but takes 3-4 words to express it in german. # @Simon: "Geräte" is about "hard-devices". There is a word for "host" (it is "Wirt") but it would be misleading. # @Simon: My online dict suggest "Rechner" (= Computer), but I think "hard-devices" is better because it's more general. -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "Erweitere einfache Namen in /etc/hosts mit der Domänen-Endung" -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "'unechte' DNS-Anfragen von Windows-Rechnern nicht weiterleiten" # @Simon: I'm a bit unsure about "spurious" -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "" -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "" -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "" -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "" -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "" -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "" -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "" -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "" -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "" -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "" -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "" -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "" -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "" -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "" -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "" -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "" -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "" -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "" -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "" -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "" -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "" -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "" -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "" -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "" -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "" -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "" -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "" -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "" -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "" -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "" -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "" -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "" -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "" -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "" -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "" -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "" -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "" -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "" -#: option.c:194 +#: option.c:197 msgid "Map MAC address (with wildcards) to option set." msgstr "" -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +msgid "Log to this syslog facility. (defaults to DAEMON)" msgstr "" -#: option.c:311 +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." +msgstr "" + +#: option.c:203 +#, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "" + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" "\n" msgstr "" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "" -#: option.c:374 +#: option.c:381 #, c-format msgid "cannot access directory %s: %s" msgstr "" -#: option.c:393 +#: option.c:400 #, c-format msgid "cannot access %s: %s" msgstr "" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" "\n" msgstr "" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, c-format msgid "bad command line options: %s" msgstr "" -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "" -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "" -#: option.c:1975 network.c:464 +#: option.c:1989 #, c-format -msgid "failed to read %s: %m" +msgid "failed to read %s: %s" msgstr "" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "" @@ -583,7 +592,7 @@ msgstr "" msgid "forwarding table overflow: check for server loops." msgstr "" -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "" @@ -593,7 +602,7 @@ msgstr "" msgid "failed to load %s: %m" msgstr "" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "" @@ -665,6 +674,11 @@ msgstr "" msgid "using nameserver %s#%d" msgstr "" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -689,7 +703,7 @@ msgstr "" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "" @@ -735,35 +749,39 @@ msgstr "" msgid "warning: interface %s does not currently exist" msgstr "" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, c-format msgid "no servers found in %s, will retry" msgstr "" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "" @@ -797,46 +815,56 @@ msgstr "" msgid "duplicate IP address %s in dhcp-config directive." msgstr "" -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" -#: lease.c:30 +#: lease.c:50 #, c-format -msgid "cannot open or create leases file: %s" +msgid "cannot open or create lease file %s: %s" msgstr "" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "" -#: lease.c:174 +#: lease.c:113 +#, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "" -#: lease.c:435 +#: lease.c:522 #, c-format msgid "failed to execute %s: %m" msgstr "" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-10-07 11:04+0100\n" "Last-Translator: Christopher Chatham <chrislinux@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "no se pudo cargar nombres desde %s: %m" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, fuzzy, c-format msgid "bad address at %s line %d" msgstr "nombre erróneo en %s línea %d" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "nombre erróneo en %s línea %d" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "direcciónes %s - %d leídas" @@ -57,7 +57,7 @@ msgstr "" "tiempo %lu, tamaño de caché %d, %d/%d inserciónes de caché reutilizaron " "objetos no vencidos." -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "no se pudo conseguir memoria" @@ -75,279 +75,289 @@ msgstr "el inicio ha FALLADO" msgid "infinite" msgstr "infinito" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "Especificar dirección(es) locales dónde escuchar." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "" "Retornar ipaddr (dirección IP) para todos los hosts en los dominios " "especificados." -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" "Falsificar búsquedas reversas para rangos de dirección privados RFC1918." -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Tratar ipaddr (dirección IP) como NXDOMAIN (derrota comodín Verisign)." -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "" "Especificar tamaño de caché en cuanto a cantidad de objetos (%s por " "predeterminado)." -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Especificar archivo de configuración (%s por predeterminado)." -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "NO hacer un fork hacia el fondo: correr en modo debug." -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "NO reenviar búsquedas sin parte de dominio." -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Retornar expedientes MX auto-señaladores para hosts locales." -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "" "Expandir nombres simples en /etc/hosts con domain-suffix (sufijo de dominio)." -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "No reenviar pedidos DNS falsos desde máquinas Windows." -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "Habilitar DHCP dentro del rango brindado con duración del arriendo." -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "Cambiar a este grupo después del inicio (%s por predeterminado)." -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "Fijar dirección o nombre de host para una máquina específica." -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "NO cargar archivo %s." -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "Especificar un archivo de hosts para ser leído adicionalmente a %s." -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Especificar interface(s) donde escuchar." -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Especificar interface(s) donde NO escuchar." -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "Trazar clase de usuario DHCP a la opción fijada." -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "No hacer DHCP para hosts en la opción fijada." -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "NO hacer un fork hacia el fondo, NO correr en modo debug." -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "Asumir que somos el único servidor DHCP en la red local." -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "Especificar donde almacenar arriendos DHCP (%s por predeterminado)." -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "Retornar expedientes MX para hosts locales." -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Especificar un expediente MX." -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Especificar opciones BOOTP a servidor DHCP." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "NO revisar archivo %s periódicamente, recargar solo con SIGHUP." -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "NO almacenar en caché resultados de búsquedas fallidas." -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "Usar servidores DNS estrictamente en el órden brindado en %s." -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "Fijar opciones extras para ser enviadas a clientes DHCP." -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" "Especificar puerto donde escuchar por búsquedas DNS (53 por predeterminado)." -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" "Tamaño máximo de paquetes UDP soportado para EDNS.0 (%s por predeterminado)." -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "Bitacorear búsquedas." -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "Enforzar el puerto original para búsquedas upstream." -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "NO leer resolv.conf." -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Especificar el path hacia resolv.conf (%s por predeterminado)." -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" "Especificar dirección(es) de servidores upstream con dominios opcionales." -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "Nunca reenviar búsquedas a dominios especificados." -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Especificar el dominio para ser asignado en arriendos DHCP." -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Especificar destino predeterminado en un expediente MX." -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" "Especificar tiempo de vida en segundos para respuestas desde /etc/hosts." -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Cambiar a este usuario despues del inicio (%s por predeterminado)." -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Trazar clase de vendedor DHCP a opción fijada." -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "Mostrar información sobre la versión y copyright de dnsmasq." -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "Traducir direcciones IPv4 desde servidores upstream." -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "Especificar un expediente SRV." -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "Mostrar este mensaje." -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Especificar path de archivo PID (%s por predeterminado)." -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Especificar número máximo de arriendos DHCP (%s por predeterminado)." -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" "Responder a búsquedas DNS en base a la interface a la cuál fueron enviadas." -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Especificar expediente DNS TXT." -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "Acoplar solo a interfaces en uso." -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "Leer información sobre hosts DHCP estáticos desde %s." -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "Habilitar la interface DBus para fijar servidores upstream, etc." -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "No proveer DHCP en esta interface, sólo proveer DNS." -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "Habilitar alocación dinámica de direcciónes para BOOTP." -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Trazar clase de vendedor DHCP a opción fijada." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" "Deshabilitar verificación de direcciónes echo ICMP en el servidor DHCP." -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" "Archivo guión para ejecutar cuando se crea o destruye un arriendo DHCP." -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "Leer configuración desde todos los archivos en este directorio." -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" msgstr "Bitacorear a esta facilidad syslog." -#: option.c:311 +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." +msgstr "" + +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Especificar número máximo de arriendos DHCP (%s por predeterminado)." + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -356,138 +366,138 @@ msgstr "" "Modo de uso: dnsmasq [opciones]\n" "\n" -#: option.c:313 +#: option.c:318 #, 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:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "Opciones válidas son :\n" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "parámetro extraño" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "parámetro ausente" -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "no se puede leer %s: %s" -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "no se puede leer %s: %s" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "preferencia MX errónea" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "nombre MX erróneo" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "destino MX erróneo" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "no se pueden correr guiónes bajo uClinux" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "puerto erróneo" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "dhcp-range (rango DHCP) erróneo" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "solo una etiqueta netid permitida" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "rango DHCP inconsistente" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "dhcp-host erróneo" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "dhcp-option erróneo" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "dominio erróneo en dhcp-option" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "opción dhcp-option demasiado larga" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "expediente TXT erróneo" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "expediente TXT demasiado largo" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "expediente SRV erróneo" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "destino SRV erróneo" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "número de puerto inválido" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "prioridad inválida" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "peso inválido" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "no se puede leer %s: %s" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "falta \"" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "error" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "opción errónea" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "Dnsmasq versión %s %s\n" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -496,53 +506,53 @@ msgstr "" "Opciones de compilación %s\n" "\n" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Este software viene SIN NINGUNA GARANTIA.\n" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "Dnsmasq es software libre, y usted está bienvenido a redistribuirlo\n" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "bajo los términos de la GNU General Public License, versión 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "pruebe --help" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "pruebe -w" -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "opciones de línea de comandos erróneas: %s." -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "no se puede obtener host-name (nombre de host): %s" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "solo un archivo resolv.conf permitido en modo no-poll." -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "debe haber exactamente un resolv.conf desde donde leer dominio." -#: option.c:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "no se pudo leer %s: %m" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "ninguna directiva de búsqueda encontrada en %s" @@ -557,7 +567,7 @@ msgid "forwarding table overflow: check for server loops." msgstr "" "desbordamiento en la tabla de reenvio: revisar si hay loops de servidor." -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "no se pudo accesar %s: %m" @@ -567,7 +577,7 @@ msgstr "no se pudo accesar %s: %m" msgid "failed to load %s: %m" msgstr "no se pudo cargar %s: %m" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "leyendo %s" @@ -640,6 +650,11 @@ msgstr "usando servidor DNS %s#%d para %s %s" msgid "using nameserver %s#%d" msgstr "usando servidor DNS %s#%d" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "no se pudo leer %s: %m" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -665,7 +680,7 @@ msgstr "ninguna interface con dirección %s" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "debe fijarse exactamente una interface en sistemas rotos sin IP_RECVIF" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "error DBus: %s" @@ -712,35 +727,39 @@ msgstr "" msgid "warning: interface %s does not currently exist" msgstr "advertencia: interface %s no existe actualmente" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "DHCP, arriendos estáticos solo en %.0s%s, tiempo de arriendo %s" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, rango de IPs %s -- %s, tiempo de arriendo %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "advertencia: configuración de capacidades ha fallado: %m" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "corriendo como root" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, fuzzy, c-format msgid "no servers found in %s, will retry" msgstr "ninguna directiva de búsqueda encontrada en %s" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "saliendo al haber recibido SIGTERM" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "conectado a DBus de sistema" @@ -774,47 +793,57 @@ msgstr "no se puede crear socket crudo ICMP: %s." msgid "duplicate IP address %s in dhcp-config directive." msgstr "dirección IP duplicada en directiva dhcp-config." -#: dhcp.c:314 +#: dhcp.c:318 #, 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:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "no se pudo leer %s:%m" -#: dhcp.c:666 +#: dhcp.c:670 #, fuzzy, c-format msgid "bad line at %s line %d" msgstr "nombre erróneo en %s línea %d" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "dirección IP duplicada %s (%s) en directiva dhcp-config" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" "Ignorando nombre de host DHCP %s porque contiene una parte ilegal de dominio." -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "no se puede abrir o crear archivo de arriendos: %s" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "demasiados arriendos almacenados" -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "no se puede leer %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "no se pudo escribir %s: %s (reintentar en %us)" -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "no se pudo ejecutar %s: %m" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-11-28 22:05+0000\n" "Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "" @@ -53,7 +53,7 @@ msgid "" "entries." msgstr "" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "" @@ -71,456 +71,465 @@ msgstr "" msgid "infinite" msgstr "" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "" -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "" -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "" -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "" -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "" -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "" -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "" -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "" -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "" -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "" -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "" -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "" -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "" -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "" -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "" -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "" -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "" -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "" -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "" -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "" -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "" -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "" -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "" -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "" -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "" -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "" -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "" -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "" -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "" -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "" -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "" -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "" -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "" -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "" -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "" -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "" -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "" -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "" -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "" -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "" -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "" -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "" -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "" -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "" -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "" -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "" -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "" -#: option.c:194 +#: option.c:197 msgid "Map MAC address (with wildcards) to option set." msgstr "" -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +msgid "Log to this syslog facility. (defaults to DAEMON)" msgstr "" -#: option.c:311 +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." +msgstr "" + +#: option.c:203 +#, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "" + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" "\n" msgstr "" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "" -#: option.c:374 +#: option.c:381 #, c-format msgid "cannot access directory %s: %s" msgstr "" -#: option.c:393 +#: option.c:400 #, c-format msgid "cannot access %s: %s" msgstr "" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" "\n" msgstr "" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, c-format msgid "bad command line options: %s" msgstr "" -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "" -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "" -#: option.c:1975 network.c:464 +#: option.c:1989 #, c-format -msgid "failed to read %s: %m" +msgid "failed to read %s: %s" msgstr "" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "" @@ -534,7 +543,7 @@ msgstr "" msgid "forwarding table overflow: check for server loops." msgstr "" -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "" @@ -544,7 +553,7 @@ msgstr "" msgid "failed to load %s: %m" msgstr "" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "" @@ -616,6 +625,11 @@ msgstr "" msgid "using nameserver %s#%d" msgstr "" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -640,7 +654,7 @@ msgstr "" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "" @@ -686,35 +700,39 @@ msgstr "" msgid "warning: interface %s does not currently exist" msgstr "" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, c-format msgid "no servers found in %s, will retry" msgstr "" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "" @@ -748,46 +766,56 @@ msgstr "" msgid "duplicate IP address %s in dhcp-config directive." msgstr "" -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" -#: lease.c:30 +#: lease.c:50 #, c-format -msgid "cannot open or create leases file: %s" +msgid "cannot open or create lease file %s: %s" msgstr "" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "" -#: lease.c:174 +#: lease.c:113 +#, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "" -#: lease.c:435 +#: lease.c:522 #, c-format msgid "failed to execute %s: %m" msgstr "" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-10-02 19:05+0100\n" "Last-Translator: Lionel Tricon <lionel.tricon@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "Impossible de charger les noms a partir de %s: %m" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, fuzzy, c-format msgid "bad address at %s line %d" msgstr "mauvais nom dans %s ligne %d" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "mauvais nom dans %s ligne %d" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "lecture %s - %d adresses" @@ -57,7 +57,7 @@ msgstr "" "taille de cache %d, %d/%d insertions dans le cache ont reutilisees des " "entrees qui n'ont pas expirees" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "impossible d'allouer de la memoire" @@ -75,285 +75,295 @@ msgstr "IMPOSSIBLE de demarrer" msgid "infinite" msgstr "illimite" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "" "Specifie la ou les adresse(s) locales ou le demon doit se mettre a l'ecoute." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "" "Retourne les adresses IP pour toutes les machines presentent dans les " "domaines specifies" -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "Traduction inverse truquee pour la plage d'adresse privee RFC1918" -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "" "Traite l'adresse IP comme un domaine inexistant NXDOMAIN (contourne le " "systemede redirection de Verisign)" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Specifie la taille du cache en entree (par defaut a %s)." -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Specifie le nom du fichier de configuration (par defaut %s)" -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "Ne passe pas en tache de fond: demarre en mode debug" -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "Ne retransmet pas les requetes qui n'ont pas de domaine." -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Retourne les champs MX pour les machines locales." -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "" "Etend les noms uniques des machines dans /etc/hosts avec le suffixe du " "domaine." -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "" "Ne retransmet pas les fausses requetes DNS en provenance des machines " "Windows." -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "" "Autorise DHCP dans la plage d'adresses donnee sur la duree de validite du " "bail." -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "On change pour ce groupe apres le demarrage (par defaut a %s)." -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "On assigne une adresse ou un nom pour une machine specifiee." -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "Ne charge PAS le fichier %s." -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "Specifie un nom de fichier hosts a lire en complement de %s" -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Specifie la ou les interface(s) ou le demon doit se mettre a l'ecoute." -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Specifie la ou les interface(s) que le demon ne doit PAS traiter." -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "Associe les 'user class' DHCP aux options." -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "Ne pas autoriser DHCP pour les machines enumerees dans les options." -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "Ne passe pas en tache de fond, ne s'execute pas en mode debug." -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "On considere que l'on est le seul serveur DHCP sur le reseau local." -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "Specifie ou il faut sauvegarder les baux DHCP (par defaut a %s)." -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "Retourne les champs MX pour les machines locales." -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Specifie un champ MX." -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Specifie les options BOOTP pour le serveur DHCP." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" "Ne pas scruter le fichier %s, recharger les modifications seulement sur " "reception du signal SIGHUP." -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "Ne place pas en cache le resultat des requetes qui ont echouees." -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "Utilise les serveurs de noms dans l'ordre donne dans %s." -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "Options supplementaires a associer aux clients DHCP." -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" "Specifie le port ou il faut ecouter les requetes DNS (par defaut a 53)." -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" "Taille maximale des paquets UDP supportee pour EDNS.0 (par defaut a %s)." -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "Logue les requetes." -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "Force le port d'origine des requetes vers les serveurs amonts." -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "Ne pas lire le fichier resolv.conf." -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Specifie le chemin pour le fichier resolv.conf (par defaut a %s)." -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" "Specifie la ou les adresses des serveurs amonts avec des domaines optionels." -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "Ne jamais retransmettre les requetes pour les domaines specifies." -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Specifie le domaine qui doit etre assigne aux baux DHCP." -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Speficie la cible par defaut dans un champ MX." -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" "Specifie le TTL en secondes pour les reponses qui utilisent /etc/hosts." -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Change pour cet utilisateur apres le demarrage (par defaut a %s)." -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Associe les 'vendor class' DHCP aux options." -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "Affiche la version de Dnsmasq et les informations liees au copyright." -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "Traduit les adresses IPV4 des serveurs amonts." -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr " Specifie un champ SRV." -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "Affiche ce message." -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Specifie un chemin pour le fichier PID (par defaut a %s)." -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Specifie le nombre maximum de baux DHCP (par defaut a %s)." -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" "Repond aux requetes DNS en se basant sur l'interface ou a ete envoyee la " "requete." -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Specifie un champ DNS TXT" -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "Associe seulement aux interfaces en utilisation." -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "Lecture des informations de DHCP statique a partir de %s." -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "Autorise l'interface DBus a configurer les serveurs amonts, etc." -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "Ne fourni pas DHCP pour cette interface, mais seulement DNS." -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "Autorise l'allocation dynamique d'adresse pour bootp." -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Associe les 'vendor class' DHCP aux options." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" +msgstr "Change pour cet utilisateur apres le demarrage (par defaut a %s)." + +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." msgstr "" -#: option.c:311 +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Specifie le nombre maximum de baux DHCP (par defaut a %s)." + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -362,138 +372,138 @@ msgstr "" "Usage: dnsmasq [options]\n" "\n" -#: option.c:313 +#: option.c:318 #, 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:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "Les options valides sont :\n" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "parametre supplementaire" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "parametre manquant" -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "Ne peut pas lire %s: %s" -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "Ne peut pas lire %s: %s" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "Mauvaise preference MX" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "mauvais nom MX" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "mauvaise cible MX" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "mauvais port" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "mauvaise plage d'adresses DHCP (dhcp-range)" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "plage d'adresses DHCP incoherente" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "mauvais dhcp-host" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "mauvais dhcp-option" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "mauvais domaine dans dhcp-option" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "dhcp-option trop long" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "mauvais champ TXT" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "chaîne du champ TXT trop longue" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "mauvais champ SRV" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "mauvaise cible SRV" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "numero de port invalide" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "priorite invalide" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "poids invalide" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "Ne peut pas lire %s: %s" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "il manque \"" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "erreur" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "mauvaise option" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "Version de Dnsmasq %s %s\n" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -502,56 +512,56 @@ msgstr "" "Options a la compilation %s\n" "\n" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Ce logiciel est fourni sans GARANTIE aucune.\n" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "Dnsmasq est un logiciel libre, et vous etes invite a le redistribuer\n" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "" "sous les termes de la licence GPL (GNU General Public License), version 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "mauvaises options en ligne de commande: %s." -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "ne peut pas obtenir le nom de la machine: %s" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "seul un fichier resolv.conf est autorise dans le mode no-poll" -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "" "on doit avoir exactement un seul fichier resolv.conf pour y recuperer le nom " "de domaine." -#: option.c:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "impossible de lire %s: %m" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "pas de directive de recherche trouvee dans %s" @@ -567,7 +577,7 @@ msgstr "" "Table de stockage des requetes DNS pleine : verifiez la configuration du " "serveur (risque de boucle recursive)." -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "impossible d'acceder a %s: %m" @@ -577,7 +587,7 @@ msgstr "impossible d'acceder a %s: %m" msgid "failed to load %s: %m" msgstr "impossible de charger %s: %m" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "Lecture %s" @@ -650,6 +660,11 @@ msgstr "on utilise le serveur de nom %s#%d pour %s %s" msgid "using nameserver %s#%d" msgstr "on utilise le serveur de nom %s#%d" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "impossible de lire %s: %m" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -677,7 +692,7 @@ msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "" "on doit declarer exactement une interface sur les systemes sans IP_RECVIF" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "Erreur DBus: %s" @@ -723,36 +738,40 @@ msgstr "Active l'option --bind-interfaces a cause des limitations de l'OS" msgid "warning: interface %s does not currently exist" msgstr "Attention: l'interface %s n'existe pas actuellement" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "" "DHCP, baux statiques seulement sur %.0s%s, duree de validite de bail %s" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, plage d'adresse %s -- %s, duree de bail %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "execute sous root" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, fuzzy, c-format msgid "no servers found in %s, will retry" msgstr "pas de directive de recherche trouvee dans %s" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "sortie sur reception du signal SIGTERM" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "connecte au systeme DBus" @@ -786,50 +805,60 @@ msgstr "ne peut creer de socket en mode raw pour ICMP: %s." msgid "duplicate IP address %s in dhcp-config directive." msgstr "adresse IP %s dupliquee dans la directive dhcp-config." -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "" "La plage d'adresses DHCP %s -- %s n'est pas coherente avec le masque de " "reseau %s" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "impossible de lire %s:%m" -#: dhcp.c:666 +#: dhcp.c:670 #, fuzzy, c-format msgid "bad line at %s line %d" msgstr "mauvais nom dans %s ligne %d" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "adresse IP %s (%s) dupliquee dans la directive dhcp-config." -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" "On ignore le nom de machine DHCP %s parce-qu'il possede un nom de domaine " "illegal" -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "ne peut ouvrir ou creer des fichiers de baux: %s" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "beaucoup trop de baux enregistres" -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "Ne peut pas lire %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "impossible de lire %s: %m" -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "impossible d'acceder a %s: %m" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-10-07 11:45+0100\n" "Last-Translator: Salman AS <sas@salman.or.id>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" @@ -21,19 +21,19 @@ msgid "failed to load names from %s: %m" msgstr "gagal memuat nama-nama dari %s: %m" # OK -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, fuzzy, c-format msgid "bad address at %s line %d" msgstr "kesalahan nama pada %s baris %d" # OK -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "kesalahan nama pada %s baris %d" # OK -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "membaca %s - %d alamat" @@ -63,7 +63,7 @@ msgstr "" "ukuran cache %d, %d/%d penyisipan cache menimpa cache yang belum kadaluwarsa" # OK -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "tidak bisa mendapatkan memory" @@ -85,326 +85,338 @@ msgid "infinite" msgstr "tak terbatas" # OK -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "Tentukan alamat lokal untuk mendengarkan." # OK -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "Menghasilkan ipaddr untuk semua host dalam domain yang dipilih." # OK -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "Fake pencarian balik untuk alamat private sesuai dengan RFC1918." # OK -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Perlakukan ipaddr sebagai NXDOMAIN (mengalahkan wildcard Verisign)." # OK -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Tentukan ukuran cache, dalam jumlah isian (default %s)." # OK -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Tentukan file konfigurasi (default %s)." # OK -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "JANGAN berjalan di background: berjalan dalam modus debug." # OK -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "JANGAN teruskan permintaan tanpa bagian domain." # OK -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Mengembalikan record MX untuk diri sendiri host-host lokal." # OK -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "Melengkapi nama-nama di /etc/hosts dengan akhiran domain." # OK -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "Jangan meneruskan permintaan DNS spurious dari host-host Windows." # OK -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "Bolehkan DHCP dalam jangkauan yang diberikan dengan durasi lease." # OK -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "Ubah ke group ini setelah mulai (default %s)." # OK -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "Setel alamat atau nama host untuk mesin yang disebutkan." # OK -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "JANGAN muat file %s." # OK -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "" "Sebutkan sebuah file hosts yang harus dibaca sebagai tambahan untuk %s." # OK -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Sebutkan antarmuka untuk mendengarkan." # OK -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Sebutkan antarmuka untuk TIDAK mendengarkan." # OK -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "Petakan kelas user DHCP ke setelan yang dipilih." # OK -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih." # OK -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "JANGAN berjalan di background, jangan berjalan dalam modus debug." # OK -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "Berpikir bahwa kita satu-satunya DHCP server dalam jaringan." # OK -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "Sebutkan lokasi untuk menyimpan lease DHCP (default %s)." # OK -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "Kembalikan rekord MX untuk host-host lokal." # OK -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Sebutkan sebuah rekord MX." # OK -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Sebutkan pilihan-pilihan BOOTP untuk DHCP server." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "Jangan kumpulkan file %s, muat kembali saat SIGHUP." # OK -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "JANGAN menyimpan hasil pencarian yang gagal." # OK -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "Gunakan secara ketat namaserver yang disebutkan sesuai urutan di %s." # OK -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "" "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP." # OK -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "Sebutkan port untuk mendengarkan permintaan DNS (default port 53)." # OK -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "Ukuran maksimum paket UDP yang didukung untuk EDNS.0 (default %s)." # OK -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "Permintaan log." # OK -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "Paksa port asal untuk permintaan ke atas." # OK -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "JANGAN baca resolv.conf." # OK -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Sebutkan path ke resolv.conf (default %s)." # OK -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" "Sebutkan alamat-alamat server di atas, boleh dilengkapi dengan nama domain." # OK -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "JANGAN pernah meneruskan permintaan ke domain yang disebutkan." # OK -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Sebutkan domain yang digunakan dalam lease DHCP." # OK -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Sebutkan tujuan default dalam rekord MX." # OK -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts." # OK -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Ubah ke user ini setelah mulai. (default %s)." # OK -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Memetakan kelas vendor DHCP ke daftar pilihan." # OK -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "Menampilkan versi dan informasi hak cipta dnsmasq." # OK -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas." # OK -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "Sebutkan rekord SRV." # OK -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "Menampilkan pesan ini." # OK -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Sebutkan path file PID. (default %s)." # OK -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)." # OK -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" "Jawab permintaan DNS berdasarkan antarmuka dimana permintaan dikirimkan." # OK -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Sebutkan rekord TXT DNS." # OK -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "Hanya kaitkan ke antarmuka yang sedang digunakan saja." # OK -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "Baca informasi statik host DHCP dari %s." # OK -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "Mungkinkan antar muka DBus untuk menyetel server-server di atas, dsb." # OK -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "JANGAN menyediakan DHCP pada antarmuka ini, hanya menyediakan DNS." # OK -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "Mungkinkan alokasi alamat dinamis untuk bootp." # OK -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Memetakan kelas vendor DHCP ke daftar pilihan." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +# OK +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" +msgstr "Ubah ke user ini setelah mulai. (default %s)." + +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." msgstr "" # OK -#: option.c:311 +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)." + +# OK +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -414,166 +426,166 @@ msgstr "" "\n" # OK -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "Gunakan pilihan pendek saja pada perintah baris.\n" # OK -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "Pilihan yang boleh adalah:\n" # OK -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "parameter berlebihan" # OK -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "parameter kurang" # OK -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "tidak bisa membaca %s: %s" # OK -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "tidak bisa membaca %s: %s" # OK -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "kesukaan MX salah" # OK -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "nama MX salah" # OK -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "target MX salah" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" # OK -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "port salah" # OK -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "dhcp-range salah" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" # OK -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "jangkauan DHCP tidak konsisten" # OK -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "dhcp-host salah" # OK -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "dhcp-option salah" # OK -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "domain dalam dhcp-option salah" # OK -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "dhcp-option terlalu panjang" # OK -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "rekord TXT salah" # OK -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "string rekord TXT terlalu panjang" # OK -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "rekord SRV salah" # OK -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "target SRV salah" # OK -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "nomor port tidak benar" # OK -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "prioritas tidak benar" # OK -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "weight tidak benar" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" # OK -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "tidak bisa membaca %s: %s" # OK -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "kurang \"" # OK -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "kesalahan" # OK -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "pilihan salah" # OK -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "Dnsmasq versi %s %s\n" # OK -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -583,13 +595,13 @@ msgstr "" "\n" # OK -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n" # OK -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "" @@ -597,49 +609,49 @@ msgstr "" "membagikannya\n" # OK -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "dengan aturan GNU General Public License, versi 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" # OK -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "pilihan baris perintah salah: %s." # OK -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "tidak bisa mendapatkan host-name: %s" # OK -#: option.c:1964 +#: option.c:1976 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:1972 +#: option.c:1986 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:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "gagal membaca %s: %m" # OK -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "tidak ditemukan direktif search di %s" @@ -656,7 +668,7 @@ msgid "forwarding table overflow: check for server loops." msgstr "meneruskan tabel overflow: memeriksa apakah terjadi loop server." # OK -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "gagal mengakses %s: %m" @@ -668,7 +680,7 @@ msgid "failed to load %s: %m" msgstr "gagal memuat %S: %m" # OK -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "membaca %s" @@ -755,6 +767,12 @@ msgid "using nameserver %s#%d" msgstr "menggunakan nameserver %s#%d" # OK +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "gagal membaca %s: %m" + +# OK #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -788,7 +806,7 @@ msgstr "" "IP_RECVIF" # OK -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "DBus error: %s" @@ -843,40 +861,44 @@ msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS" msgid "warning: interface %s does not currently exist" msgstr "peringatan: antarmuka %s tidak ada" +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + # OK -#: dnsmasq.c:375 +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "DHCP, lease static pada %.0s%s, waktu lease %s" # OK -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, jangkaun IP %s -- %s, waktu lease %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" # OK -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "berjalan menggunakan root" # OK -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, fuzzy, c-format msgid "no servers found in %s, will retry" msgstr "tidak ditemukan direktif search di %s" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "keluar karena menerima SIGTERM" # OK -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "terhubung ke sistem DBus" @@ -917,55 +939,66 @@ msgid "duplicate IP address %s in dhcp-config directive." msgstr "alamat IP kembar %s dalam direktif dhcp-config" # OK -#: dhcp.c:314 +#: dhcp.c:318 #, 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:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "gagal membaca %s:%m" # OK -#: dhcp.c:666 +#: dhcp.c:670 #, fuzzy, c-format msgid "bad line at %s line %d" msgstr "kesalahan nama pada %s baris %d" # OK -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "alamat IP kembar %s (%s) dalam direktif dhcp-config" # OK -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" "Mengabaikan nama host DHCP %s sebab memiliki bagian domain yang tidak sah" # OK -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "tidak dapat membuka atau membuat file lease: %s" # OK -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "terlalu banyak lease yang disimpan" # OK -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "tidak bisa membaca %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +# OK +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "gagal membaca %s: %m" # OK -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "gagal mengakses %s: %m" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.32\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2006-05-22 11:09+0100\n" "Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "" @@ -53,7 +53,7 @@ msgid "" "entries." msgstr "" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "" @@ -71,456 +71,465 @@ msgstr "" msgid "infinite" msgstr "" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "" -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "" -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "" -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "" -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "" -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "" -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "" -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "" -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "" -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "" -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "" -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "" -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "" -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "" -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "" -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "" -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "" -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "" -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "" -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "" -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "" -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "" -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "" -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "" -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "" -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "" -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "" -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "" -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "" -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "" -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "" -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "" -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "" -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "" -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "" -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "" -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "" -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "" -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "" -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "" -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "" -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "" -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "" -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "" -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "" -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "" -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "" -#: option.c:194 +#: option.c:197 msgid "Map MAC address (with wildcards) to option set." msgstr "" -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +msgid "Log to this syslog facility. (defaults to DAEMON)" msgstr "" -#: option.c:311 +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." +msgstr "" + +#: option.c:203 +#, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "" + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" "\n" msgstr "" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "" -#: option.c:374 +#: option.c:381 #, c-format msgid "cannot access directory %s: %s" msgstr "" -#: option.c:393 +#: option.c:400 #, c-format msgid "cannot access %s: %s" msgstr "" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" "\n" msgstr "" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, c-format msgid "bad command line options: %s" msgstr "" -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "" -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "" -#: option.c:1975 network.c:464 +#: option.c:1989 #, c-format -msgid "failed to read %s: %m" +msgid "failed to read %s: %s" msgstr "" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "" @@ -534,7 +543,7 @@ msgstr "" msgid "forwarding table overflow: check for server loops." msgstr "" -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "" @@ -544,7 +553,7 @@ msgstr "" msgid "failed to load %s: %m" msgstr "" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "" @@ -616,6 +625,11 @@ msgstr "" msgid "using nameserver %s#%d" msgstr "" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -640,7 +654,7 @@ msgstr "" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "" @@ -686,35 +700,39 @@ msgstr "" msgid "warning: interface %s does not currently exist" msgstr "" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, c-format msgid "no servers found in %s, will retry" msgstr "" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "" @@ -748,46 +766,56 @@ msgstr "" msgid "duplicate IP address %s in dhcp-config directive." msgstr "" -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" -#: lease.c:30 +#: lease.c:50 #, c-format -msgid "cannot open or create leases file: %s" +msgid "cannot open or create lease file %s: %s" msgstr "" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "" -#: lease.c:174 +#: lease.c:113 +#, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "" -#: lease.c:435 +#: lease.c:522 #, c-format msgid "failed to execute %s: %m" msgstr "" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.25\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2006-01-11 17:39+0000\n" "Last-Translator: Jan Erik Askildt <jeaskildt@gmail.com>\n" "Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n" @@ -22,17 +22,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "feilet å laste navn fra %s: %m" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "dårlig adresse ved %s linje %d" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "dårlig navn ved %s linje %d" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "les %s - %d adresser" @@ -59,7 +59,7 @@ msgstr "" "mellomlager størrelse %d, %d/%d mellomlager innsettinger re-bruker " "mellomlager plasser som ikke er utløpt" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "kunne ikke få minne" @@ -77,266 +77,276 @@ msgstr "FEILET å starte opp" msgid "infinite" msgstr "uendelig" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "Spesifiser lokal(e) adresse(r) å lytte på." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "Returner ipaddr for alle verter i det spesifiserte domenet." -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "Forfalsk revers oppslag for RFC1918 private adresse områder." -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Behandle ipaddr som NXDOMAIN (omgår Verisign wildcard)." -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Spesifiser størrelsen på mellomlager plassene (standard er %s)." -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Spesifiser konfigurasjonsfil (standard er %s)." -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "IKKE legg (fork) som bakgrunnsprosess: kjør i debug modus." -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "IKKE videresend oppslag som mangler domene del." -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Returner selv-pekende MX post for lokale verter." -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "Utvid enkle navn i /etc/hosts med domene-suffiks." -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "Ikke videresend falske/uekte DNS forespørsler fra Windows verter." -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "Aktiver DHCP i det gitte området med leie varighet" -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "Skift til denne gruppen etter oppstart (standard er %s)." -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "Sett adresse eller vertsnavn for en spesifikk maskin." -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "IKKE last %s filen." -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "Spesifiser en verts (hosts) fil som skal leses i tilleg til %s." -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Spesifiser nettverkskort det skal lyttes på." -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Spesifiser nettverkskort det IKKE skal lyttes på." -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "Map DHCP bruker klasse til opsjon sett." -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "Ikke utfør DHCP for klienter i opsjon sett." -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "IKKE last (fork) som bakgrunnsprosess, IKKE kjør i debug modus." -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "Anta at vi er den eneste DHCP tjeneren på det lokale nettverket." -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "Spesifiser hvor DHCP leiene skal lagres (standard er %s)." -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "Returner MX records for lokale verter." -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Spesifiser en MX post." -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Spesifiser BOOTP opsjoner til DHCP tjener." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "IKKE spør (poll) %s fil, les på nytt kun ved SIGHUP" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "IKKE mellomlagre søkeresultater som feiler." -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "Bruk navnetjenere kun som bestemt i rekkefølgen gitt i %s." -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene." -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "Spesifiser lytteport for DNS oppslag (standard er 53)." -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "Maksimal støttet UDP pakkestørrelse for EDNS.0 (standard er %s)." -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "Logg oppslag." -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "Tving bruk av opprinnelig port for oppstrøms oppslag." -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "IKKE les resolv.conf." -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Spesifiser stien til resolv.conf (standard er %s)." -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener." -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "Aldri videresend oppslag til spesifiserte domener." -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Spesifiser domenet som skal tildeles i DHCP leien." -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Spesifiser default mål i en MX post." -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts." -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Skift til denne bruker etter oppstart (standard er %s)." -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Map DHCP produsent klasse til opsjon sett." -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "Vis dnsmasq versjon og copyright informasjon." -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "Oversett IPv4 adresser fra oppstrøms tjenere." -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "Spesifiser en SRV post." -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "Vis denne meldingen." -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Spesifiser stien til PID fil. (standard er %s)." -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)" -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "Svar DNS oppslag basert på nettverkskortet oppslaget ble sendt til." -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Spesifiser TXT DNS post." -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "Bind kun til nettverkskort som er i bruk." -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "Les DHCP statisk vert informasjon fra %s." -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "Aktiver DBus interface for å sette oppstrøms tjenere, osv." -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "Ikke lever DHCP på dette nettverkskortet, kun lever DNS." -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "Aktiver dynamisk adresse allokering for bootp." -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Map DHCP produsent klasse til opsjon sett." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" +msgstr "Skift til denne bruker etter oppstart (standard er %s)." + +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." msgstr "" -#: option.c:311 +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)" + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -345,138 +355,138 @@ msgstr "" "Bruk: dnsmasq [opsjoner]\n" "\n" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "Bruk korte opsjoner kun på kommandolinjen.\n" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "Gyldige opsjoner er :\n" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "overflødig parameter" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "mangler parameter" -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "kan ikke lese %s: %s" -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "kan ikke lese %s: %s" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "dårlig MX preferanse" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "dårlig MX navn" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "dårlig MX mål" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "dårlig port" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "dårlig dhcp-område" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "ikke konsistent DHCP område" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "dårlig dhcp-vert" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "dårlig dhcp-opsjon" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "dårlig domene i dhcp-opsjon" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "dhcp-opsjon for lang" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "dårlig TXT post" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "TXT post streng for lang" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "dårlig SRV post" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "dårlig SRV mål" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "ugyldig portnummer" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "ugyldig prioritet" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "ugyldig vekt" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "kan ikke lese %s: %s" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "mangler \"" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "feil" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "dårlig opsjon" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "Dnsmasq versjon %s %s\n" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -485,53 +495,53 @@ msgstr "" "Kompileringsopsjoner %s\n" "\n" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "DNsmasq er fri programvare, du er velkommen til å redistribuere den\n" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "under vilkårene gitt i GNU General Public License, versjon 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "dårlige kommandlinje opsjoner: %s." -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "klarer ikke å få vertsnavn: %s" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "kun en resolv.conf fil tillat i no-poll modus." -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "må ha nøyaktig en resolv.conf å lese domene fra." -#: option.c:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "feilet å lese %s: %m" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "intet søke direktiv funnet i %s" @@ -545,7 +555,7 @@ msgstr "navnetjener %s nektet å gjøre et rekursivt oppslag" msgid "forwarding table overflow: check for server loops." msgstr "fremsendelse (forwarding) tabell overflyt: sjekk etter tjener løkker." -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "feilet å få tilgang til %s: %m" @@ -555,7 +565,7 @@ msgstr "feilet å få tilgang til %s: %m" msgid "failed to load %s: %m" msgstr "feilet å laste %s: %m" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "leser %s" @@ -627,6 +637,11 @@ msgstr "benytter navnetjener %s#%d for %s %s" msgid "using nameserver %s#%d" msgstr "benytter navnetjener %s#%d" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "feilet å lese %s: %m" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -652,7 +667,7 @@ msgstr "ingen tilknytning (interface) med adresse %s" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "må sette nøyaktig et interface på ødelagte systemer uten IP_RECVIF" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "DBus feil: %s" @@ -698,35 +713,39 @@ msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger" msgid "warning: interface %s does not currently exist" msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "DHCP, statisk leie kun på %.0s%s, leie tid %s" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, IP område %s -- %s, leie tid %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "kjører som rot (root)" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, fuzzy, c-format msgid "no servers found in %s, will retry" msgstr "intet søke direktiv funnet i %s" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "avslutter etter mottak av SIGTERM" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "tilkoblet til system DBus" @@ -760,46 +779,56 @@ msgstr "kan ikke lage ICMP raw socket: %s" msgid "duplicate IP address %s in dhcp-config directive." msgstr "dubliserte IP adresser i %s dhcp-config direktiv." -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "DHCP område %s -- %s er ikke konsistent med nettmaske %s" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "feilet å lese %s:%m" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "dårlig linje ved %s linje %d" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "dubliserte IP adresser i %s (%s) i dhcp-config direktiv" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "Ignorerer DHCP verts navn %s på grunn av ulovlig domene del" -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "kan ikke åpne eller lage leie fil: %s" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "for mange lagrede leier" -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "kan ikke lese %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "feilet å lese %s: %m" -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "feilet å få tilgang til %s: %m" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-10-04 19:17+0100\n" "Last-Translator: Tomasz Sochañski <nerdhero@gmail.com>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" @@ -21,17 +21,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "b³±d ³adowania nazw z %s: %m" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, fuzzy, c-format msgid "bad address at %s line %d" msgstr "b³êdna nazwa w %s, linia %d" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "b³êdna nazwa w %s, linia %d" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "przeczytano %s - %d adresów" @@ -57,7 +57,7 @@ msgid "" msgstr "" "wielko¶æ cache %d, %d/%d wpisów cache u¿yto ponownie z niewygas³ych wpisów" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "nie mo¿na pobraæ pamiêci" @@ -75,277 +75,287 @@ msgstr "B£¡D uruchomienia" msgid "infinite" msgstr "nieskoñczona" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "Adres(y) lokalne do nas³uchiwania." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "Zwracanie adresu IP dla wszystkich hostów w podanych domenach." -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "Symulacja reverse lookups dla adresów prywatnych opisanych w RFC1918." -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Adres IP traktowany jak NXDOMAIN" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Wielko¶æ pamiêci cache we wpisach (domy¶lna: %s)" -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "¦cie¿ka do pliku konfiguracyjnego (domy¶lna: %s)" -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "NIE twórz procesu potomnego w tle: dzia³anie w trybie debugowania." -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "Wy³±czenie przekazywania zapytañ bez czê¶ci domenowej." -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Zwracanie samowskazuj±cego rekordu MX dla lokalnych hostów." -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "Rozwijanie prostych nazw z /etc/hosts przyrostkiem domenowym." -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "Wy³±czenie przekazywania pozornych zapytañ DNS z komputerów Windows" -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "Enable DHCP w zakresie okre¶lonym czasem dzier¿awy." -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "Po starcie zmiana grupy procesu na podan± (domy¶lnie: %s)." -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "Ustawienie adresu lub nazwy hosta dla okre¶lonej maszyny." -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "Ignorowanie pliku %s." -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "Dodatkowy plik hostów poza %s." -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Interfejs(y) do nas³uchiwania." -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Interfejs(y), na których nie nas³uchiwaæ." -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "W³±czenie mapowania klasy u¿ytkownika DHCP do option set." -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "" "Wy³±czenie odpowiadania na ¿adania DHCP hostów okre¶lonych w option set" -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "" "Wy³±czenie tworzenia procesu potomnego w tle, wy³±czenie dzia³ania w trybie " "debug." -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "Za³o¿enie, ¿e jeste¶my jedynym serwerem DHCP w sieci lokalnej." -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "¦cie¿ka przechowywania pliku dzier¿aw DHCP (domy¶lna: %s)" -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "W³±czenie zwracania rekord MX dla hostów lokalnych." -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Specyfikacja rekordu MX." -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Okre¶lenie opcji BOOTP serwera DHCP." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" "Wy³aczenie analizy pliku %s, ponownie ³adowanie tylko po otrzymaniu sygna³u " "HUP" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "" "Wy³±czenie zapisywania w pamiêci podrêcznej nieudanych wyników wyszukiwania." -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "W³±czenie u¿ywania serwerów nazw w kolejno¶ci podanej w %s." -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "Dodatkowe opcje ustawieñ dla klientów DHCP." -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "Port nas³uchiwania zapytañ DNS (domy¶lnie: 53)." -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "Maksymalna obs³ugiwana wielko¶æ pakietu EDNS.0 (domy¶lnie: %s)." -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "Zapytania zapisywane w pliku log." -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "" -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "Wy³±czenie czytania pliku resolv.conf" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Podaj ¶cie¿kê do pliku resolv.conf (domy¶lnie: %s)." -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "Wy³±czenie przekazywania zapytañ do okre¶lonych domen." -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Nazwa domeny, która bêdzie przypisana w dzier¿awach DHCP." -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Okre¶lenie domy¶lnego celu w rekordzie MX." -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" "Okre¶lenie czasu wa¿no¶ci (time-to-live) w sekundach odpowiedzi branych z /" "etc/hosts." -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Po starcie zmiana u¿ytkownika procesu na podanego. (domy¶lnie: %s)." -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Mapowanie nazwy dystrybutora DHCP do ustawieñ opcji." -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "" "W³±czenie pokazywania wersji dnsmasq i informacji o ochronie praw autorskich." -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "" -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "Okre¶lenie rekordu SRV." -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "Wy¶wietlenie tych informacji." -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Okre¶lenie ¶cie¿ki do pliku PID. (domy¶lnie: %s)." -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Maksymalna liczba dzier¿aw DHCP. (domy¶lnie: %s)." -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" "Odpowiedzi na zapytania DNS uzale¿nione od interfejsu, który odebra³ " "zapytanie." -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Rekord TXT DNS." -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "W³±czenie nas³uchiwania tylko na u¿ywanych interfejsach." -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "Statycznych informacji DHCP hosta z pliku %s." -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "" -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "Wy³±czenie DHCP na tym interfejsie, w³±czenie tylko DNS." -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "W³±czenie automatycznej alokacji adresu dla BOOTP." -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Mapowanie nazwy dystrybutora DHCP do ustawieñ opcji." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" +msgstr "Po starcie zmiana u¿ytkownika procesu na podanego. (domy¶lnie: %s)." + +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." msgstr "" -#: option.c:311 +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Maksymalna liczba dzier¿aw DHCP. (domy¶lnie: %s)." + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -354,138 +364,138 @@ msgstr "" "U¿ycie: dnsmasq [opcje]\n" "\n" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "Tylko krótkie opcje w linii komend.\n" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "Obs³ugiwane opcje:\n" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "dodatkowy parametr" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "brak parametru" -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "b³±d odczytu z %s: %s" -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "b³±d odczytu z %s: %s" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "b³êdna nazwa MX" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "b³êdny cel MX" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "nieprawid³owy port" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "nieprawid³owy zakres dhcp-range" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "niespójny zakres DHCP" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "b³±d w dhcp-host" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "b³±d w dhcp-option" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "nieprawid³owa nazwa domeny w dhcp-option" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "zbyt d³uga nazwa w dhcp-option" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "nieprawid³owy rekord TX" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "zbyt d³ugi rekord TXT" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "b³±d w rekordzie SRV" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "nieprawid³owy cel SRV" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "nieprawid³owy port" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "nieprawid³owy priorytet" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "nieprawid³owe znaczenie" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "b³±d odczytu z %s: %s" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "brakuje \"" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "b³±d" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "nieprawid³owa opcja" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "Dnsmasq, wersja %s %s\n" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -494,53 +504,53 @@ msgstr "" "Wkompilowane opcje %s\n" "\n" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Oprogramowanie to nie zawiera ¿adnych gwarancji.\n" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "Dnsmasq jest wolnym oprogramowaniem, mo¿esz je rozprowadzaæ\n" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "na warunkach okre¶lonych w GNU General Public Licence, wersja 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "nieprawid³owa opcja linii komend: %s." -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "nie mo¿na pobraæ nazwy hosta: %s" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "tylko jeden plik resolv.conf jest dopuszczany w trybie no-poll." -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "musisz mieæ dok³adnie jeden plik resolv.conf do odczytu domen." -#: option.c:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "b³±d w odczycie %s: %m" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "brak wytycznych wyszukiwania w %s" @@ -555,7 +565,7 @@ msgid "forwarding table overflow: check for server loops." msgstr "" "przekroczenie zakresu tablicy przekazywania: sprawd¼ zapêtlenie serwera." -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "b³±d w dostêpie do %s: %m" @@ -565,7 +575,7 @@ msgstr "b³±d w dostêpie do %s: %m" msgid "failed to load %s: %m" msgstr "b³±d ³adowania %s: %m" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "czytanie %s" @@ -639,6 +649,11 @@ msgstr "u¿ywany serwer nazw: %s#%d dla %s %s" msgid "using nameserver %s#%d" msgstr "u¿ywany serwer nazw %s#%d" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "b³±d w odczycie %s: %m" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -665,7 +680,7 @@ msgstr "brak interfejsu z adresem %s" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "musisz ustawiæ dok³adnie jeden interfejs w systemach bez IP_RECVIF" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "b³±d DBus: %s" @@ -711,35 +726,39 @@ msgstr "ustawiam opcjê --bind-interfaces z powodu limitów systemu operacyjnego" msgid "warning: interface %s does not currently exist" msgstr "ostrze¿enie: interfejs %s obecnie nie istnieje" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "DHCP, statyczne dzier¿awy tylko na %.0s%s, czas dzier¿awy %s" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, zakres IP %s -- %s, czas dzier¿awy %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "pracuje z uprawnieniami u¿ytkownika root" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, fuzzy, c-format msgid "no servers found in %s, will retry" msgstr "brak wytycznych wyszukiwania w %s" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "wy³±czenie po otrzymaniu sygnalu SIGTERM" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "po³±czono do systemowego DBus" @@ -773,47 +792,57 @@ msgstr "b³±d utworzenia surowego gniazda ICMP: %s." msgid "duplicate IP address %s in dhcp-config directive." msgstr "powtórzenie adresu IP %s w opcji dhcp-config" -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "zakres DHCP %s -- %s jest niespójny z mask± sieciow± %s" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "b³±d odczytu %s:%m" -#: dhcp.c:666 +#: dhcp.c:670 #, fuzzy, c-format msgid "bad line at %s line %d" msgstr "b³êdna nazwa w %s, linia %d" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "powtórzenie adresu IP %s (%s) w opcji dhcp-config" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" "Ignorujê nazwê hosta DHCP %s, poniewa¿ posiada nieprawid³ow± czê¶æ domenow±" -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "b³±d otwarcia lub utworzenia pliku dzier¿aw: %s" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "zbyt du¿a ilo¶æ zapisanych dzier¿aw" -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "b³±d odczytu z %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "b³±d w odczycie %s: %m" -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "b³±d w dostêpie do %s: %m" diff --git a/po/pt_BR.po b/po/pt_BR.po index c84b628..e473ac5 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.26\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2006-01-16 20:42+0000\n" "Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n" "Language-Team: Portuguese <ldp-br@bazar.conectiva.com.br>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "" @@ -53,7 +53,7 @@ msgid "" "entries." msgstr "" -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "" @@ -71,456 +71,465 @@ msgstr "" msgid "infinite" msgstr "" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "" -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "" -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "" -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "" -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "" -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "" -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "" -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "" -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "" -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "" -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "" -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "" -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "" -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "" -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "" -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "" -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "" -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "" -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "" -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "" -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "" -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "" -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "" -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "" -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "" -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "" -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "" -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "" -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "" -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "" -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "" -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "" -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "" -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "" -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "" -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "" -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "" -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "" -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "" -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "" -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "" -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "" -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "" -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "" -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "" -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "" -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "" -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "" -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "" -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "" -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "" -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "" -#: option.c:194 +#: option.c:197 msgid "Map MAC address (with wildcards) to option set." msgstr "" -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +msgid "Log to this syslog facility. (defaults to DAEMON)" msgstr "" -#: option.c:311 +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." +msgstr "" + +#: option.c:203 +#, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "" + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" "\n" msgstr "" -#: option.c:313 +#: option.c:318 #, c-format msgid "Use short options only on the command line.\n" msgstr "" -#: option.c:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "" -#: option.c:374 +#: option.c:381 #, c-format msgid "cannot access directory %s: %s" msgstr "" -#: option.c:393 +#: option.c:400 #, c-format msgid "cannot access %s: %s" msgstr "" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" "\n" msgstr "" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "" -#: option.c:1867 +#: option.c:1880 #, c-format msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" msgstr "" -#: option.c:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, c-format msgid "bad command line options: %s" msgstr "" -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "" -#: option.c:1964 +#: option.c:1976 msgid "only one resolv.conf file allowed in no-poll mode." msgstr "" -#: option.c:1972 +#: option.c:1986 msgid "must have exactly one resolv.conf to read domain from." msgstr "" -#: option.c:1975 network.c:464 +#: option.c:1989 #, c-format -msgid "failed to read %s: %m" +msgid "failed to read %s: %s" msgstr "" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "" @@ -534,7 +543,7 @@ msgstr "" msgid "forwarding table overflow: check for server loops." msgstr "" -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "" @@ -544,7 +553,7 @@ msgstr "" msgid "failed to load %s: %m" msgstr "" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "" @@ -616,6 +625,11 @@ msgstr "" msgid "using nameserver %s#%d" msgstr "" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -640,7 +654,7 @@ msgstr "" msgid "must set exactly one interface on broken systems without IP_RECVIF" msgstr "" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "" @@ -686,35 +700,39 @@ msgstr "" msgid "warning: interface %s does not currently exist" msgstr "" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, c-format msgid "no servers found in %s, will retry" msgstr "" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "" @@ -748,46 +766,56 @@ msgstr "" msgid "duplicate IP address %s in dhcp-config directive." msgstr "" -#: dhcp.c:314 +#: dhcp.c:318 #, c-format msgid "DHCP range %s -- %s is not consistent with netmask %s" msgstr "" -#: dhcp.c:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "" -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "" -#: lease.c:30 +#: lease.c:50 #, c-format -msgid "cannot open or create leases file: %s" +msgid "cannot open or create lease file %s: %s" msgstr "" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "" -#: lease.c:174 +#: lease.c:113 +#, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "" -#: lease.c:435 +#: lease.c:522 #, c-format msgid "failed to execute %s: %m" msgstr "" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: dnsmasq 2.24\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2006-06-09 20:59+0100\n" +"POT-Creation-Date: 2006-08-04 11:57+0100\n" "PO-Revision-Date: 2005-11-22 16:46+0000\n" "Last-Translator: Simon Kelley <simon@thekelleys.org.uk>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" @@ -20,17 +20,17 @@ msgstr "" msgid "failed to load names from %s: %m" msgstr "încărcarea numelor din %s: %m a eÅŸuat" -#: cache.c:606 dhcp.c:679 +#: cache.c:606 dhcp.c:683 #, c-format msgid "bad address at %s line %d" msgstr "adresă greÅŸită în %s, linia %d" -#: cache.c:633 dhcp.c:693 +#: cache.c:633 dhcp.c:697 #, c-format msgid "bad name at %s line %d" msgstr "nume greÅŸit în %s linia %d" -#: cache.c:639 dhcp.c:747 +#: cache.c:639 dhcp.c:751 #, c-format msgid "read %s - %d addresses" msgstr "citesc %s - %d adrese" @@ -57,7 +57,7 @@ msgstr "" "cantitate de memorie temporară %d, %d/%d stocări temporare aureutilizat " "locaÅ£ii neexpirate." -#: util.c:153 option.c:1202 +#: util.c:153 option.c:1214 msgid "could not get memory" msgstr "nu am putut aloca memorie" @@ -75,268 +75,278 @@ msgstr "pornirea A EÅžUAT" msgid "infinite" msgstr "infinit" -#: option.c:138 +#: option.c:141 msgid "Specify local address(es) to listen on." msgstr "SpecificaÅ£i adresele locale deservite." -#: option.c:139 +#: option.c:142 msgid "Return ipaddr for all hosts in specified domains." msgstr "AfiÅŸează adresele IP ale maÅŸinilor în domeniul dat." -#: option.c:140 +#: option.c:143 msgid "Fake reverse lookups for RFC1918 private address ranges." msgstr "" "Simulează căutări după adresă pentru domenii de adresă private (RFC1918)." -#: option.c:141 +#: option.c:144 msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." msgstr "Interpretează adresa IP ca NXDOMAIN (împotriva manipulărilor Verisign)" -#: option.c:142 +#: option.c:145 #, c-format msgid "Specify the size of the cache in entries (defaults to %s)." msgstr "Specifică mărimea înregistrărilor temporare (implicit e %s)." -#: option.c:143 +#: option.c:146 #, c-format msgid "Specify configuration file (defaults to %s)." msgstr "Specifică fiÅŸier de configurare (implicit e %s)." -#: option.c:144 +#: option.c:147 msgid "Do NOT fork into the background: run in debug mode." msgstr "NU porneÅŸte în fundal: rulează în modul depanare." -#: option.c:145 +#: option.c:148 msgid "Do NOT forward queries with no domain part." msgstr "NU înainta cererile ce nu conÅ£in domeniu DNS." -#: option.c:146 +#: option.c:149 msgid "Return self-pointing MX records for local hosts." msgstr "Răspunde cu înregistrări MX spre el însuÅŸi pentru maÅŸini locale." -#: option.c:147 +#: option.c:150 msgid "Expand simple names in /etc/hosts with domain-suffix." msgstr "Adaugă numelor simple din /etc/hosts numele domeniului ca sufix." -#: option.c:148 +#: option.c:151 msgid "Don't forward spurious DNS requests from Windows hosts." msgstr "Nu inainta cereri DNS defecte provenite de la maÅŸini Windows." -#: option.c:149 +#: option.c:152 msgid "Enable DHCP in the range given with lease duration." msgstr "Activează DHCP în domeniul dat cu durată limitată de împrumut." -#: option.c:150 +#: option.c:153 #, c-format msgid "Change to this group after startup (defaults to %s)." msgstr "Rulează sub acest grup după pornire (implicit e %s)." -#: option.c:151 +#: option.c:154 msgid "Set address or hostname for a specified machine." msgstr "Schimbă adresa sau numele maÅŸinii specificate." -#: option.c:152 +#: option.c:155 #, c-format msgid "Do NOT load %s file." msgstr "Nu încarcă fiÅŸierul %s." -#: option.c:153 +#: option.c:156 #, c-format msgid "Specify a hosts file to be read in addition to %s." msgstr "Specifică spre citire un fiÅŸier hosts adiÅ£ional la %s." -#: option.c:154 +#: option.c:157 msgid "Specify interface(s) to listen on." msgstr "Specifică interfeÅ£ele deservite." -#: option.c:155 +#: option.c:158 msgid "Specify interface(s) NOT to listen on." msgstr "Specifică interfeÅ£ele NE-deservite." -#: option.c:156 +#: option.c:159 msgid "Map DHCP user class to option set." msgstr "Leagă clasa de utilizator DHCP cu grup de opÅ£iuni." -#: option.c:157 +#: option.c:160 msgid "Don't do DHCP for hosts in option set." msgstr "Nu furniza DHCP maÅŸinilor din grupul de opÅ£iuni." -#: option.c:158 +#: option.c:161 msgid "Do NOT fork into the background, do NOT run in debug mode." msgstr "NU porneÅŸte în fundal, NU rulează în modul depanare." -#: option.c:159 +#: option.c:162 msgid "Assume we are the only DHCP server on the local network." msgstr "Presupune că suntem singurul server DHCP din reÅ£eaua locală." -#: option.c:160 +#: option.c:163 #, c-format msgid "Specify where to store DHCP leases (defaults to %s)." msgstr "Specifică fiÅŸierul de stocare a împrumuturilor DHCP (implicit e %s)." -#: option.c:161 +#: option.c:164 msgid "Return MX records for local hosts." msgstr "Răspunde cu întregistrări MX pentru maÅŸini locale." -#: option.c:162 +#: option.c:165 msgid "Specify an MX record." msgstr "Specifică o înregistrare MX." -#: option.c:163 +#: option.c:166 msgid "Specify BOOTP options to DHCP server." msgstr "Specifică opÅ£iuni BOOTP serverului DHCP." -#: option.c:164 +#: option.c:167 #, c-format msgid "Do NOT poll %s file, reload only on SIGHUP." msgstr "Nu încărca fiÅŸierul %s, citeÅŸte-l doar la SIGHUP." -#: option.c:165 +#: option.c:168 msgid "Do NOT cache failed search results." msgstr "NU memora rezultatele de căutare DNS eÅŸuatată." -#: option.c:166 +#: option.c:169 #, c-format msgid "Use nameservers strictly in the order given in %s." msgstr "FoloseÅŸte servere DNS strict în ordinea dată în %s." -#: option.c:167 +#: option.c:170 msgid "Set extra options to be set to DHCP clients." msgstr "Configurează opÅ£iuni în plusce trebuie trimise clienÅ£ilor DHCP." -#: option.c:168 +#: option.c:171 msgid "Specify port to listen for DNS requests on (defaults to 53)." msgstr "Specifică numărul portului pentru cereri DNS (implicit e 53)." -#: option.c:169 +#: option.c:172 #, c-format msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." msgstr "Marimea maximă a pachetului UDP pentru EDNS.0 (implicit e %s)." -#: option.c:170 +#: option.c:173 msgid "Log queries." msgstr "ÃŽnregistrează tranzacÅ£iile." -#: option.c:171 +#: option.c:174 msgid "Force the originating port for upstream queries." msgstr "ForÅ£ează acest port pentru datele ce pleacă." -#: option.c:172 +#: option.c:175 msgid "Do NOT read resolv.conf." msgstr "NU citi fiÅŸierul resolv.conf" -#: option.c:173 +#: option.c:176 #, c-format msgid "Specify path to resolv.conf (defaults to %s)." msgstr "Specifică calea către resolv.conf (implicit e %s)." -#: option.c:174 +#: option.c:177 msgid "Specify address(es) of upstream servers with optional domains." msgstr "Specifică adresele server(elor) superioare cu domenii opÅ£ionale." -#: option.c:175 +#: option.c:178 msgid "Never forward queries to specified domains." msgstr "Nu înaintează cererile spre domeniile specificate." -#: option.c:176 +#: option.c:179 msgid "Specify the domain to be assigned in DHCP leases." msgstr "Specifică domeniul de transmis prin DHCP." -#: option.c:177 +#: option.c:180 msgid "Specify default target in an MX record." msgstr "Specifică o Å£intă într-o înregistrare MX." -#: option.c:178 +#: option.c:181 msgid "Specify time-to-live in seconds for replies from /etc/hosts." msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts." -#: option.c:179 +#: option.c:182 #, c-format msgid "Change to this user after startup. (defaults to %s)." msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)." -#: option.c:180 +#: option.c:183 msgid "Map DHCP vendor class to option set." msgstr "Trimite opÅ£iuni DHCP în funcÅ£ie de marca plăcii de reÅ£ea." -#: option.c:181 +#: option.c:184 msgid "Display dnsmasq version and copyright information." msgstr "AfiÅŸează versiunea dnsmasq ÅŸi drepturile de autor." -#: option.c:182 +#: option.c:185 msgid "Translate IPv4 addresses from upstream servers." msgstr "Traduce adresele IPv4 de la serverele DNS superioare." -#: option.c:183 +#: option.c:186 msgid "Specify a SRV record." msgstr "Specifică o înregistrare SRV." -#: option.c:184 +#: option.c:187 msgid "Display this message." msgstr "AfiÅŸează acest mesaj." -#: option.c:185 +#: option.c:188 #, c-format msgid "Specify path of PID file. (defaults to %s)." msgstr "Specifică o cale pentru fiÅŸierul PID. (implicit %s)." -#: option.c:186 +#: option.c:189 #, c-format msgid "Specify maximum number of DHCP leases (defaults to %s)." msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)." -#: option.c:187 +#: option.c:190 msgid "Answer DNS queries based on the interface a query was sent to." msgstr "" "Răspunde cererilor DNS în funcÅ£ie de interfaÅ£a pe care a venit cererea." -#: option.c:188 +#: option.c:191 msgid "Specify TXT DNS record." msgstr "Specifică o înregistrare TXT." -#: option.c:189 +#: option.c:192 msgid "Bind only to interfaces in use." msgstr "Ascultă doar pe interfeÅ£ele active." -#: option.c:190 +#: option.c:193 #, c-format msgid "Read DHCP static host information from %s." msgstr "CiteÅŸte informaÅ£ii DHCP statice despre maÅŸină din %s." -#: option.c:191 +#: option.c:194 msgid "Enable the DBus interface for setting upstream servers, etc." msgstr "Activeaza interfaÅ£a DBus pentru configurarea serverelor superioare." -#: option.c:192 +#: option.c:195 msgid "Do not provide DHCP on this interface, only provide DNS." msgstr "Nu activează DHCP ci doar DNS pe această interfaţă." -#: option.c:193 +#: option.c:196 msgid "Enable dynamic address allocation for bootp." msgstr "Activează alocarea dinamică a adreselor pentru BOOTP." -#: option.c:194 +#: option.c:197 #, fuzzy msgid "Map MAC address (with wildcards) to option set." msgstr "Trimite opÅ£iuni DHCP în funcÅ£ie de marca plăcii de reÅ£ea." -#: option.c:195 +#: option.c:198 msgid "Disable ICMP echo address checking in the DHCP server." msgstr "" -#: option.c:196 +#: option.c:199 msgid "Script to run on DHCP lease creation and destruction." msgstr "" -#: option.c:197 +#: option.c:200 msgid "Read configuration from all the files in this directory." msgstr "" -#: option.c:198 -msgid "Log to this syslog facility." +#: option.c:201 +#, fuzzy +msgid "Log to this syslog facility. (defaults to DAEMON)" +msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)." + +#: option.c:202 +msgid "Read leases at startup, but never write the lease file." msgstr "" -#: option.c:311 +#: option.c:203 +#, fuzzy, c-format +msgid "Maximum number of concurrent DNS queries. (defaults to %s)" +msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)." + +#: option.c:316 #, c-format msgid "" "Usage: dnsmasq [options]\n" @@ -345,138 +355,138 @@ msgstr "" "Utilizare: dnsmasq [opÅ£iuni]\n" "\n" -#: option.c:313 +#: option.c:318 #, 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:315 +#: option.c:320 #, c-format msgid "Valid options are :\n" msgstr "OpÅ£iunile valide sunt:\n" -#: option.c:348 +#: option.c:355 msgid "extraneous parameter" msgstr "parametru nerecunoscut" -#: option.c:352 +#: option.c:359 msgid "missing parameter" msgstr "parametru lipsa" -#: option.c:374 +#: option.c:381 #, fuzzy, c-format msgid "cannot access directory %s: %s" msgstr "nu pot citi %s: %s" -#: option.c:393 +#: option.c:400 #, fuzzy, c-format msgid "cannot access %s: %s" msgstr "nu pot citi %s: %s" -#: option.c:470 +#: option.c:477 msgid "bad MX preference" msgstr "preferinţă MX invalidă" -#: option.c:479 +#: option.c:486 msgid "bad MX name" msgstr "nume MX invalid" -#: option.c:497 +#: option.c:504 msgid "bad MX target" msgstr "Å£intă MX invalidă" -#: option.c:509 +#: option.c:516 msgid "cannot run scripts under uClinux" msgstr "" -#: option.c:708 option.c:719 +#: option.c:715 option.c:726 msgid "bad port" msgstr "port invalid" -#: option.c:859 +#: option.c:871 msgid "bad dhcp-range" msgstr "dhcp-range invalid" -#: option.c:888 +#: option.c:900 msgid "only one netid tag allowed" msgstr "" -#: option.c:933 +#: option.c:945 msgid "inconsistent DHCP range" msgstr "domeniu DHCP inconsistent" -#: option.c:1118 +#: option.c:1130 msgid "bad dhcp-host" msgstr "dhcp-host invalid" -#: option.c:1179 +#: option.c:1191 msgid "bad dhcp-option" msgstr "dhcp-option invalid" -#: option.c:1197 +#: option.c:1209 msgid "bad domain in dhcp-option" msgstr "domeniu DNS invalid în declaraÅ£ia dhcp-option" -#: option.c:1367 +#: option.c:1379 msgid "dhcp-option too long" msgstr "declararea dhcp-option este prea lungă" -#: option.c:1564 +#: option.c:1576 msgid "bad TXT record" msgstr "înregistrare TXT invalidă" -#: option.c:1596 +#: option.c:1608 msgid "TXT record string too long" msgstr "ÅŸirul de caractere pentru înregistrarea TXT este prea lung" -#: option.c:1635 +#: option.c:1647 msgid "bad SRV record" msgstr "înregistrare SRV invalidă" -#: option.c:1648 +#: option.c:1660 msgid "bad SRV target" msgstr "Å£intă SRV invalidă" -#: option.c:1660 +#: option.c:1672 msgid "invalid port number" msgstr "număr de port invalid" -#: option.c:1671 +#: option.c:1683 msgid "invalid priority" msgstr "prioritate invalidă" -#: option.c:1682 +#: option.c:1694 msgid "invalid weight" msgstr "pondere invalidă" -#: option.c:1713 +#: option.c:1725 #, c-format msgid "files nested too deep in %s" msgstr "" -#: option.c:1720 +#: option.c:1732 #, c-format msgid "cannot read %s: %s" msgstr "nu pot citi %s: %s" -#: option.c:1762 +#: option.c:1774 msgid "missing \"" msgstr "lipseÅŸte \"" -#: option.c:1797 +#: option.c:1809 msgid "error" msgstr "eroare" -#: option.c:1801 +#: option.c:1813 msgid "bad option" msgstr "opÅ£iune invalidă" -#: option.c:1864 +#: option.c:1877 #, c-format msgid "Dnsmasq version %s %s\n" msgstr "dnsmasq versiunea %s %s\n" -#: option.c:1865 +#: option.c:1878 #, c-format msgid "" "Compile time options %s\n" @@ -485,54 +495,54 @@ msgstr "" "OpÅ£iuni cu care a fost compilat %s\n" "\n" -#: option.c:1866 +#: option.c:1879 #, c-format msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" msgstr "Acest program vine FÄ‚RÄ‚ NICI O GARANÅ¢IE.\n" -#: option.c:1867 +#: option.c:1880 #, 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:1868 +#: option.c:1881 #, c-format msgid "under the terms of the GNU General Public License, version 2.\n" msgstr "în termenii LicenÅ£ei publice generale GNU, versiunea 2.\n" -#: option.c:1879 +#: option.c:1892 msgid "try --help" msgstr "" -#: option.c:1881 +#: option.c:1894 msgid "try -w" msgstr "" -#: option.c:1884 +#: option.c:1897 #, fuzzy, c-format msgid "bad command line options: %s" msgstr "opÅ£iuni în linie de comandă invalide: %s." -#: option.c:1935 +#: option.c:1948 #, c-format msgid "cannot get host-name: %s" msgstr "nu pot citi numele maÅŸinii: %s" -#: option.c:1964 +#: option.c:1976 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:1972 +#: option.c:1986 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:1975 network.c:464 -#, c-format -msgid "failed to read %s: %m" +#: option.c:1989 +#, fuzzy, c-format +msgid "failed to read %s: %s" msgstr "nu pot citi %s: %n" -#: option.c:1993 +#: option.c:2007 #, c-format msgid "no search directive found in %s" msgstr "nu s-a găsit nici un criteriu de căutare în %s" @@ -546,7 +556,7 @@ msgstr "serverul DNS %s refuză interogările recursive" msgid "forwarding table overflow: check for server loops." msgstr "depăşire de memorie în tabela cu înaintări DNS: verificaÅ£i de bucle." -#: isc.c:73 dnsmasq.c:474 +#: isc.c:73 dnsmasq.c:480 #, c-format msgid "failed to access %s: %m" msgstr "accesarea serverului %s a eÅŸuat: %n" @@ -556,7 +566,7 @@ msgstr "accesarea serverului %s a eÅŸuat: %n" msgid "failed to load %s: %m" msgstr "nu pot încărca %s: %n" -#: isc.c:93 dnsmasq.c:495 +#: isc.c:93 dnsmasq.c:502 #, c-format msgid "reading %s" msgstr "citesc %s" @@ -628,6 +638,11 @@ msgstr "folosim serverul DNS %s#%d pentru %s %s" msgid "using nameserver %s#%d" msgstr "folosim serverul DNS %s#%d" +#: network.c:464 +#, c-format +msgid "failed to read %s: %m" +msgstr "nu pot citi %s: %n" + #: dnsmasq.c:94 msgid "" "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" @@ -656,7 +671,7 @@ msgstr "" "trebuie specificată exact o singură interfaţă pe sistemele defectece nu au " "IP_RECVIF" -#: dnsmasq.c:157 dnsmasq.c:593 +#: dnsmasq.c:157 dnsmasq.c:603 #, c-format msgid "DBus error: %s" msgstr "eroare DBus: %s" @@ -702,35 +717,39 @@ msgstr "specific opÅ£iunea --bind-interfaces din cauza limitărilor SO" msgid "warning: interface %s does not currently exist" msgstr "atenÅ£ie: interfaÅ£a %s nu există momentan" -#: dnsmasq.c:375 +#: dnsmasq.c:368 +msgid "warning: ignoring resolv-file flag because no-resolv is set" +msgstr "" + +#: dnsmasq.c:382 #, c-format msgid "DHCP, static leases only on %.0s%s, lease time %s" msgstr "DHCP, împrumuturi statice doar către %.0s%s, timpul reînoirii %s" -#: dnsmasq.c:376 +#: dnsmasq.c:383 #, c-format msgid "DHCP, IP range %s -- %s, lease time %s" msgstr "DHCP, domeniu IP %s -- %s, timpul reînoirii %s" -#: dnsmasq.c:386 +#: dnsmasq.c:393 #, c-format msgid "warning: setting capabilities failed: %m" msgstr "" -#: dnsmasq.c:388 +#: dnsmasq.c:395 msgid "running as root" msgstr "rulez ca root" -#: dnsmasq.c:502 +#: dnsmasq.c:511 #, 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" -#: dnsmasq.c:541 +#: dnsmasq.c:551 msgid "exiting on receipt of SIGTERM" msgstr "am primit SIGTERM, am terminat" -#: dnsmasq.c:595 +#: dnsmasq.c:605 msgid "connected to system DBus" msgstr "magistrala sistem Dbus conectată" @@ -764,46 +783,56 @@ msgstr "nu pot creea socket ICMP raw: %s." msgid "duplicate IP address %s in dhcp-config directive." msgstr "adresă IP duplicat %s în declaraÅ£ia dhcp-config." -#: dhcp.c:314 +#: dhcp.c:318 #, 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:631 +#: dhcp.c:635 #, c-format msgid "failed to read %s:%m" msgstr "citirea %s:%n a eÅŸuat" -#: dhcp.c:666 +#: dhcp.c:670 #, c-format msgid "bad line at %s line %d" msgstr "linie invalidă în %s rândul %d" -#: dhcp.c:775 +#: dhcp.c:779 #, c-format msgid "duplicate IP address %s (%s) in dhcp-config directive" msgstr "adresă IP duplicat %s (%s) în declaraÅ£ia dhcp-config." -#: dhcp.c:811 +#: dhcp.c:815 #, c-format msgid "Ignoring DHCP host name %s because it has an illegal domain part" msgstr "Ignor numele DHCP al maÅŸinii %s deoarece are domeniu DNS ilegal" -#: lease.c:30 -#, c-format -msgid "cannot open or create leases file: %s" +#: lease.c:50 +#, fuzzy, c-format +msgid "cannot open or create lease file %s: %s" msgstr "nu pot creea sau deschide fiÅŸierul cu împrumuturi: %s" -#: lease.c:58 +#: lease.c:80 msgid "too many stored leases" msgstr "prea multe împrumuturi stocate" -#: lease.c:174 +#: lease.c:113 +#, fuzzy, c-format +msgid "cannot run lease-init script %s: %s" +msgstr "nu pot citi %s: %s" + +#: lease.c:119 +#, c-format +msgid "lease-init script returned exit code %s" +msgstr "" + +#: lease.c:217 #, fuzzy, c-format msgid "failed to write %s: %s (retry in %us)" msgstr "nu pot citi %s: %n" -#: lease.c:435 +#: lease.c:522 #, fuzzy, c-format msgid "failed to execute %s: %m" msgstr "accesarea serverului %s a eÅŸuat: %n" diff --git a/src/config.h b/src/config.h index 72a88b8..0e842f6 100644 --- a/src/config.h +++ b/src/config.h @@ -10,9 +10,9 @@ GNU General Public License for more details. */ -#define VERSION "2.32" +#define VERSION "2.33" -#define FTABSIZ 150 /* max number of outstanding requests */ +#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 */ @@ -227,15 +227,19 @@ void dhcp_packet(struct daemon *daemon, time_t now) if (mess->giaddr.s_addr) { /* Send to BOOTP relay */ - if (!dest.sin_port) - dest.sin_port = htons(DHCP_SERVER_PORT); + dest.sin_port = htons(DHCP_SERVER_PORT); dest.sin_addr = mess->giaddr; } else if (mess->ciaddr.s_addr) { - dest.sin_addr = mess->ciaddr; - if (!dest.sin_port) - dest.sin_port = htons(DHCP_CLIENT_PORT); + /* If the client's idea of its own address tallys with + the source address in the request packet, we believe the + source port too, and send back to that. */ + if (dest.sin_addr.s_addr != mess->ciaddr.s_addr || !dest.sin_port) + { + dest.sin_port = htons(DHCP_CLIENT_PORT); + dest.sin_addr = mess->ciaddr; + } } #ifdef HAVE_LINUX_NETWORK else if ((ntohs(mess->flags) & 0x8000) || mess->hlen == 0 || diff --git a/src/dnsmasq.c b/src/dnsmasq.c index a3a4930..3947d59 100644 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -286,7 +286,7 @@ int main (int argc, char **argv) #endif if (daemon->dhcp && - (i == fileno(daemon->lease_stream) || + ((daemon->lease_stream && i == fileno(daemon->lease_stream)) || #ifndef HAVE_LINUX_NETWORK i == daemon->dhcp_raw_fd || i == daemon->dhcp_icmp_fd || @@ -362,6 +362,13 @@ int main (int argc, char **argv) if (if_tmp->name && !if_tmp->used) syslog(LOG_WARNING, _("warning: interface %s does not currently exist"), if_tmp->name); + if (daemon->options & OPT_NO_RESOLV) + { + if (daemon->resolv_files && !daemon->resolv_files->is_default) + syslog(LOG_WARNING, _("warning: ignoring resolv-file flag because no-resolv is set")); + daemon->resolv_files = NULL; + } + if (daemon->dhcp) { struct dhcp_context *dhcp_tmp; @@ -460,47 +467,50 @@ int main (int argc, char **argv) if (!(daemon->options & OPT_NO_POLL)) { - struct resolvc *res = daemon->resolv_files, *latest = NULL; + struct resolvc *res, *latest; struct stat statbuf; time_t last_change = 0; /* There may be more than one possible file. Go through and find the one which changed _last_. Warn of any which can't be read. */ - while (res) - { - if (stat(res->name, &statbuf) == -1) - { - if (!res->logged) - syslog(LOG_WARNING, _("failed to access %s: %m"), res->name); - res->logged = 1; - } - else - { - res->logged = 0; - if (statbuf.st_mtime != res->mtime && - difftime(statbuf.st_mtime, last_change) > 0.0) - { - last_change = statbuf.st_mtime; - latest = res; - } - } - res = res->next; - } - + for (latest = NULL, res = daemon->resolv_files; res; res = res->next) + if (stat(res->name, &statbuf) == -1) + { + if (!res->logged) + syslog(LOG_WARNING, _("failed to access %s: %m"), res->name); + res->logged = 1; + } + else + { + res->logged = 0; + if (statbuf.st_mtime != res->mtime) + { + res->mtime = statbuf.st_mtime; + if (difftime(statbuf.st_mtime, last_change) > 0.0) + { + last_change = statbuf.st_mtime; + latest = res; + } + } + } + if (latest) { static int warned = 0; if (reload_servers(latest->name, daemon)) { syslog(LOG_INFO, _("reading %s"), latest->name); - latest->mtime = last_change; warned = 0; check_servers(daemon); } - else if (!warned) + else { - syslog(LOG_WARNING, _("no servers found in %s, will retry"), latest->name); - warned = 1; + latest->mtime = 0; + if (!warned) + { + syslog(LOG_WARNING, _("no servers found in %s, will retry"), latest->name); + warned = 1; + } } } } @@ -544,7 +554,7 @@ int main (int argc, char **argv) if (daemon->tcp_pids[i] != 0) kill(daemon->tcp_pids[i], SIGALRM); - if (daemon->dhcp) + if (daemon->lease_stream) fclose(daemon->lease_stream); exit(0); diff --git a/src/dnsmasq.h b/src/dnsmasq.h index 043bd4a..b0102d2 100644 --- a/src/dnsmasq.h +++ b/src/dnsmasq.h @@ -110,6 +110,7 @@ extern int capset(cap_user_header_t header, cap_user_data_t data); #define OPT_DBUS 524288 #define OPT_BOOTP_DYNAMIC 1048576 #define OPT_NO_PING 2097152 +#define OPT_LEASE_RO 4194304 struct all_addr { union { @@ -290,7 +291,8 @@ struct dhcp_lease { char *hostname, *fqdn; /* name from client-hostname option or config */ char auth_name; /* hostname came from config, not from client */ char new; /* newly created */ - char old; /* read from leasefile */ + char changed; /* modified */ + char aux_changed; /* CLID or expiry changed */ time_t expires; /* lease expiry */ #ifdef HAVE_BROKEN_RTC unsigned int length; @@ -422,7 +424,7 @@ struct daemon { struct bogus_addr *bogus_addr; struct server *servers; int log_fac; /* log facility */ - int cachesize; + int cachesize, ftabsize; int port, query_port; unsigned long local_ttl; struct hostsfile *addn_hosts; diff --git a/src/forward.c b/src/forward.c index 68e6f8a..36e2bb1 100644 --- a/src/forward.c +++ b/src/forward.c @@ -14,7 +14,7 @@ static struct frec *frec_list = NULL; -static struct frec *get_new_frec(time_t now); +static struct frec *get_new_frec(struct daemon *daemon, time_t now); static struct frec *lookup_frec(unsigned short id); static struct frec *lookup_frec_by_sender(unsigned short id, union mysockaddr *addr, @@ -232,7 +232,7 @@ static void forward_query(struct daemon *daemon, int udpfd, union mysockaddr *ud if (gotname) flags = search_servers(daemon, now, &addrp, gotname, daemon->namebuff, &type, &domain); - if (!flags && !(forward = get_new_frec(now))) + if (!flags && !(forward = get_new_frec(daemon, now))) /* table full - server failure. */ flags = F_NEG; @@ -837,7 +837,7 @@ unsigned char *tcp_request(struct daemon *daemon, int confd, time_t now, } } -static struct frec *get_new_frec(time_t now) +static struct frec *get_new_frec(struct daemon *daemon, time_t now) { struct frec *f = frec_list, *oldest = NULL; time_t oldtime = now; @@ -870,7 +870,7 @@ static struct frec *get_new_frec(time_t now) return oldest; } - if (count > FTABSIZ) + if (count > daemon->ftabsize) { /* limit logging rate so syslog isn't DOSed either */ if (!warntime || difftime(now, warntime) > LOGRATE) { diff --git a/src/lease.c b/src/lease.c index f78487e..3c93304 100644 --- a/src/lease.c +++ b/src/lease.c @@ -21,60 +21,103 @@ void lease_init(struct daemon *daemon, time_t now) struct in_addr addr; struct dhcp_lease *lease; int flags, clid_len, hw_len, hw_type; + FILE *leasestream; leases = old_leases = NULL; leases_left = daemon->dhcp_max; - /* NOTE: need a+ mode to create file if it doesn't exist */ - if (!(daemon->lease_stream = fopen(daemon->lease_file, "a+"))) - die(_("cannot open or create leases file: %s"), NULL); - - flags = fcntl(fileno(daemon->lease_stream), F_GETFD); - if (flags != -1) - fcntl(fileno(daemon->lease_stream), F_SETFD, flags | FD_CLOEXEC); + if (daemon->options & OPT_LEASE_RO) + { + /* run "<lease_change_script> init" once to get the + initial state of the database. If leasefile-ro is + set without a script, we just do without any + lease database. */ + if (!daemon->lease_change_command) + { + file_dirty = dns_dirty = 0; + return; + } + strcpy(daemon->dhcp_buff, daemon->lease_change_command); + strcat(daemon->dhcp_buff, " init"); + leasestream = popen(daemon->dhcp_buff, "r"); + } + else + { + /* NOTE: need a+ mode to create file if it doesn't exist */ + leasestream = daemon->lease_stream = fopen(daemon->lease_file, "a+"); + + if (!leasestream) + die(_("cannot open or create lease file %s: %s"), daemon->lease_file); + + flags = fcntl(fileno(leasestream), F_GETFD); + if (flags != -1) + fcntl(fileno(leasestream), F_SETFD, flags | FD_CLOEXEC); + + /* a+ mode lease pointer at end. */ + rewind(leasestream); + } - /* a+ mode lease pointer at end. */ - rewind(daemon->lease_stream); - /* client-id max length is 255 which is 255*2 digits + 254 colons borrow DNS packet buffer which is always larger than 1000 bytes */ - while (fscanf(daemon->lease_stream, "%lu %255s %16s %255s %764s", - &ei, daemon->dhcp_buff2, daemon->namebuff, - daemon->dhcp_buff, daemon->packet) == 5) - { - hw_len = parse_hex(daemon->dhcp_buff2, (unsigned char *)daemon->dhcp_buff2, DHCP_CHADDR_MAX, NULL, &hw_type); - /* For backwards compatibility, no explict MAC address type means ether. */ - if (hw_type == 0 && hw_len != 0) - hw_type = ARPHRD_ETHER; - - addr.s_addr = inet_addr(daemon->namebuff); - - /* decode hex in place */ - clid_len = 0; - if (strcmp(daemon->packet, "*") != 0) - clid_len = parse_hex(daemon->packet, (unsigned char *)daemon->packet, 255, NULL, NULL); - - if (!(lease = lease_allocate(addr))) - die (_("too many stored leases"), NULL); - /* not actually new */ - lease->new = 0; - + if (leasestream) + while (fscanf(leasestream, "%lu %255s %16s %255s %764s", + &ei, daemon->dhcp_buff2, daemon->namebuff, + daemon->dhcp_buff, daemon->packet) == 5) + { + hw_len = parse_hex(daemon->dhcp_buff2, (unsigned char *)daemon->dhcp_buff2, DHCP_CHADDR_MAX, NULL, &hw_type); + /* For backwards compatibility, no explict MAC address type means ether. */ + if (hw_type == 0 && hw_len != 0) + hw_type = ARPHRD_ETHER; + + addr.s_addr = inet_addr(daemon->namebuff); + + /* decode hex in place */ + clid_len = 0; + if (strcmp(daemon->packet, "*") != 0) + clid_len = parse_hex(daemon->packet, (unsigned char *)daemon->packet, 255, NULL, NULL); + + if (!(lease = lease_allocate(addr))) + die (_("too many stored leases"), NULL); + /* not actually new */ + lease->new = 0; + #ifdef HAVE_BROKEN_RTC - if (ei != 0) - lease->expires = (time_t)ei + now; - else - lease->expires = (time_t)0; - lease->length = ei; + if (ei != 0) + lease->expires = (time_t)ei + now; + else + lease->expires = (time_t)0; + lease->length = ei; #else - /* strictly time_t is opaque, but this hack should work on all sane systems, - even when sizeof(time_t) == 8 */ - lease->expires = (time_t)ei; + /* strictly time_t is opaque, but this hack should work on all sane systems, + even when sizeof(time_t) == 8 */ + lease->expires = (time_t)ei; #endif + + lease_set_hwaddr(lease, (unsigned char *)daemon->dhcp_buff2, (unsigned char *)daemon->packet, hw_len, hw_type, clid_len); + + if (strcmp(daemon->dhcp_buff, "*") != 0) + lease_set_hostname(lease, daemon->dhcp_buff, daemon->domain_suffix, 0); + } + + if (!daemon->lease_stream) + { + int rc = 0; - lease_set_hwaddr(lease, (unsigned char *)daemon->dhcp_buff2, (unsigned char *)daemon->packet, hw_len, hw_type, clid_len); - - if (strcmp(daemon->dhcp_buff, "*") != 0) - lease_set_hostname(lease, daemon->dhcp_buff, daemon->domain_suffix, 0); + /* shell returns 127 for "command not found", 126 for bad permissions. */ + if (!leasestream || (rc = pclose(leasestream)) == -1 || WEXITSTATUS(rc) == 127 || WEXITSTATUS(rc) == 126) + { + if (WEXITSTATUS(rc) == 127) + errno = ENOENT; + else if (WEXITSTATUS(rc) == 126) + errno = EACCES; + die(_("cannot run lease-init script %s: %s"), daemon->lease_change_command); + } + + if (WEXITSTATUS(rc) != 0) + { + sprintf(daemon->dhcp_buff, "%d", WEXITSTATUS(rc)); + die(_("lease-init script returned exit code %s"), daemon->dhcp_buff); + } } /* Some leases may have expired */ @@ -117,7 +160,7 @@ void lease_update_file(struct daemon *daemon, time_t now) time_t next_event; int i, err = 0; - if (file_dirty != 0) + if (file_dirty != 0 && daemon->lease_stream) { errno = 0; rewind(daemon->lease_stream); @@ -298,7 +341,7 @@ void lease_set_expires(struct dhcp_lease *lease, unsigned int len, time_t now) dns_dirty = 1; lease->expires = exp; #ifndef HAVE_BROKEN_RTC - file_dirty = 1; + lease->aux_changed = file_dirty = 1; #endif } @@ -306,7 +349,7 @@ void lease_set_expires(struct dhcp_lease *lease, unsigned int len, time_t now) if (len != lease->length) { lease->length = len; - file_dirty = 1; + lease->aux_changed = file_dirty = 1; } #endif } @@ -318,11 +361,10 @@ void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr, hw_type != lease->hwaddr_type || (hw_len != 0 && memcmp(lease->hwaddr, hwaddr, hw_len) != 0)) { - file_dirty = 1; memcpy(lease->hwaddr, hwaddr, hw_len); lease->hwaddr_len = hw_len; lease->hwaddr_type = hw_type; - lease->old = 1; /* run script on change */ + lease->changed = file_dirty = 1; /* run script on change */ } /* only update clid when one is available, stops packets @@ -335,18 +377,19 @@ void lease_set_hwaddr(struct dhcp_lease *lease, unsigned char *hwaddr, if (lease->clid_len != clid_len) { - file_dirty = 1; + lease->aux_changed = file_dirty = 1; if (lease->clid) free(lease->clid); if (!(lease->clid = malloc(clid_len))) return; } else if (memcmp(lease->clid, clid, clid_len) != 0) - file_dirty = 1; - + lease->aux_changed = file_dirty = 1; + lease->clid_len = clid_len; memcpy(lease->clid, clid, clid_len); } + } void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int auth) @@ -375,7 +418,7 @@ void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int { if (lease_tmp->auth_name && !auth) return; - lease_tmp->old = 1; /* call script on change */ + lease_tmp->changed = 1; /* call script on change */ new_name = lease_tmp->hostname; lease_tmp->hostname = NULL; if (lease_tmp->fqdn) @@ -408,7 +451,7 @@ void lease_set_hostname(struct dhcp_lease *lease, char *name, char *suffix, int file_dirty = 1; dns_dirty = 1; - lease->old = 1; /* run script on change */ + lease->changed = 1; /* run script on change */ } @@ -417,19 +460,63 @@ static pid_t run_script(struct daemon *daemon, char *action, struct dhcp_lease * { if (daemon->lease_change_command) { - char *mac = print_mac(daemon, lease->hwaddr, lease->hwaddr_len); char *addr = inet_ntoa(lease->addr); char *com = strrchr(daemon->lease_change_command, '/'); - pid_t pid = fork(); + char *p; + pid_t pid; + int i; + + /* stringify MAC into dhcp_buff */ + p = daemon->dhcp_buff; + if (lease->hwaddr_type != ARPHRD_ETHER || lease->hwaddr_len == 0) + p += sprintf(p, "%.2x-", lease->hwaddr_type); + for (i = 0; i < lease->hwaddr_len; i++) + { + p += sprintf(p, "%.2x", lease->hwaddr[i]); + if (i != lease->hwaddr_len - 1) + p += sprintf(p, ":"); + } + + /* and CLID into namebuff */ + p = daemon->namebuff; + if (lease->clid) + for (i = 0; i < lease->clid_len; i++) + { + p += sprintf(p, "%.2x", lease->clid[i]); + if (i != lease->clid_len - 1) + p += sprintf(p, ":"); + } + + /* and expiry or length into dhcp_buff2 */ +#ifdef HAVE_BROKEN_RTC + sprintf(daemon->dhcp_buff2, "%u ", lease->length); +#else + sprintf(daemon->dhcp_buff2, "%lu ", (unsigned long)lease->expires); +#endif + pid = fork(); + if (pid == -1) return 0; /* fork error */ else if (pid != 0) return pid; + + if (lease->clid && lease->clid_len != 0) + setenv("DNSMASQ_CLIENT_ID", daemon->namebuff, 1); + else + unsetenv("DNSMASQ_CLIENT_ID"); + +#ifdef HAVE_BROKEN_RTC + setenv("DNSMASQ_LEASE_LENGTH", daemon->dhcp_buff2, 1); + unsetenv("DNSMASQ_LEASE_EXPIRES"); +#else + setenv("DNSMASQ_LEASE_EXPIRES", daemon->dhcp_buff2, 1); + unsetenv("DNSMASQ_LEASE_LENGTH"); +#endif execl(daemon->lease_change_command, com ? com+1 : daemon->lease_change_command, - action, mac, addr, lease->hostname, (char*)NULL); + action, daemon->dhcp_buff, addr, lease->hostname, (char*)NULL); /* log socket should still be open, right? */ syslog(LOG_ERR, _("failed to execute %s: %m"), @@ -470,7 +557,8 @@ void lease_collect(struct daemon *daemon) } for (lease = leases; lease; lease = lease->next) - if (lease->new || lease->old) + if (lease->new || lease->changed || + (lease->aux_changed && (daemon->options & OPT_LEASE_RO))) { if (daemon->script_pid != 0) return; /* busy */ @@ -479,7 +567,7 @@ void lease_collect(struct daemon *daemon) daemon->script_pid = run_script(daemon, lease->new ? "add" : "old", lease); #endif - lease->new = lease->old = 0; + lease->new = lease->changed = lease->aux_changed = 0; } } diff --git a/src/option.c b/src/option.c index c01920f..3b045d6 100644 --- a/src/option.c +++ b/src/option.c @@ -24,7 +24,7 @@ struct myoption { }; #endif -#define OPTSTRING "531yZDNLERKzowefnbvhdkqr:m:p:c:l:s:i:t:u:g:a:x:S:C:A:T:H:Q:I:B:F:G:O:M:X:V:U:j:P:J:W:Y:2:4:6:7:8:" +#define OPTSTRING "9531yZDNLERKzowefnbvhdkqr:m:p:c:l:s:i:t:u:g:a:x:S:C:A:T:H:Q:I:B:F:G:O:M:X:V:U:j:P:J:W:Y:2:4:6:7:8:0:" #ifdef HAVE_GETOPT_LONG static const struct option opts[] = @@ -95,6 +95,8 @@ static const struct myoption opts[] = {"dhcp-script", 1, 0, '6'}, {"conf-dir", 1, 0, '7'}, {"log-facility", 1, 0 ,'8'}, + {"leasefile-ro", 0, 0, '9'}, + {"dns-forward-max", 1, 0, '0'}, { NULL, 0, 0, 0 } }; @@ -125,6 +127,7 @@ static const struct optflags optmap[] = { { '1', OPT_DBUS }, { '3', OPT_BOOTP_DYNAMIC }, { '5', OPT_NO_PING }, + { '9', OPT_LEASE_RO }, { 'v', 0}, { 'w', 0}, { 0, 0 } @@ -195,7 +198,9 @@ static const struct { { "-5, --no-ping", gettext_noop("Disable ICMP echo address checking in the DHCP server."), NULL }, { "-6, --dhcp-script=path", gettext_noop("Script to run on DHCP lease creation and destruction."), NULL }, { "-7, --conf-dir=path", gettext_noop("Read configuration from all the files in this directory."), NULL }, - { "-8, --log-facility=facilty", gettext_noop("Log to this syslog facility."), NULL }, + { "-8, --log-facility=facilty", gettext_noop("Log to this syslog facility. (defaults to DAEMON)"), NULL }, + { "-9, --leasefile-ro", gettext_noop("Read leases at startup, but never write the lease file."), NULL }, + { "-0, --dns-forward-max=<queries>", gettext_noop("Maximum number of concurrent DNS queries. (defaults to %s)"), "!" }, { NULL, NULL, NULL } }; @@ -324,6 +329,8 @@ static void do_usage(void) sprintf(buff, "%d", EDNS_PKTSZ); else if (strcmp(usage[i].arg, "&") == 0) sprintf(buff, "%d", MAXLEASES); + else if (strcmp(usage[i].arg, "!") == 0) + sprintf(buff, "%d", FTABSIZ); else strcpy(buff, usage[i].arg); } @@ -810,7 +817,12 @@ static char *one_opt(struct daemon *daemon, int option, char *arg, char *problem if (!atoi_check(arg, &daemon->port)) option = '?'; break; - + + case '0': + if (!atoi_check(arg, &daemon->ftabsize)) + option = '?'; + break; + case 'P': { int i; @@ -1818,6 +1830,7 @@ struct daemon *read_opts(int argc, char **argv, char *compile_opts) /* Set defaults - everything else is zero or NULL */ daemon->cachesize = CACHESIZ; + daemon->ftabsize = FTABSIZ; daemon->port = NAMESERVER_PORT; daemon->default_resolv.is_default = 1; daemon->default_resolv.name = RESOLVFILE; @@ -1956,11 +1969,10 @@ struct daemon *read_opts(int argc, char **argv, char *compile_opts) mx->target = daemon->mxtarget; } - if (daemon->options & OPT_NO_RESOLV) - daemon->resolv_files = 0; - else if (daemon->resolv_files && - (daemon->resolv_files)->next && - (daemon->options & OPT_NO_POLL)) + if (!(daemon->options & OPT_NO_RESOLV) && + daemon->resolv_files && + daemon->resolv_files->next && + (daemon->options & OPT_NO_POLL)) die(_("only one resolv.conf file allowed in no-poll mode."), NULL); if (daemon->options & OPT_RESOLV_DOMAIN) @@ -1968,11 +1980,13 @@ struct daemon *read_opts(int argc, char **argv, char *compile_opts) char *line; FILE *f; - if (!daemon->resolv_files || (daemon->resolv_files)->next) + if ((daemon->options & OPT_NO_RESOLV) || + !daemon->resolv_files || + (daemon->resolv_files)->next) die(_("must have exactly one resolv.conf to read domain from."), NULL); if (!(f = fopen((daemon->resolv_files)->name, "r"))) - die(_("failed to read %s: %m"), (daemon->resolv_files)->name); + die(_("failed to read %s: %s"), (daemon->resolv_files)->name); while ((line = fgets(buff, MAXDNAME, f))) { |