diff options
author | android-build-team Robot <android-build-team-robot@google.com> | 2018-02-25 08:22:43 +0000 |
---|---|---|
committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-02-25 08:22:43 +0000 |
commit | f3afe29e2b2e409f758cfacec7ab3a66ae33777c (patch) | |
tree | 38ea7a9d5992b90c0fa905d1d634f36f20dc4755 | |
parent | 9db206fb23b4041c3bc840bdc8d2abc1b0248927 (diff) | |
parent | ec0c6d659cc869b0b6f55362a18936afc7885249 (diff) | |
download | platform_external_dnsmasq-f3afe29e2b2e409f758cfacec7ab3a66ae33777c.tar.gz platform_external_dnsmasq-f3afe29e2b2e409f758cfacec7ab3a66ae33777c.tar.bz2 platform_external_dnsmasq-f3afe29e2b2e409f758cfacec7ab3a66ae33777c.zip |
Snap for 4620899 from ec0c6d659cc869b0b6f55362a18936afc7885249 to pi-release
Change-Id: Ie1ff1d448d2772aeb03014a77ce50be2f8a19e3f
69 files changed, 109 insertions, 24151 deletions
@@ -1,471 +0,0 @@ -Q: Why does dnsmasq open UDP ports >1024 as well as port 53. - Is this a security problem/trojan/backdoor? - -A: The high ports that dnsmasq opens are for replies from the upstream - nameserver(s). Queries from dnsmasq to upstream nameservers are sent - from these ports and replies received to them. The reason for doing this is - that most firewall setups block incoming packets _to_ port 53, in order - to stop DNS queries from the outside world. If dnsmasq sent its queries - from port 53 the replies would be _to_ port 53 and get blocked. - - This is not a security hole since dnsmasq will only accept replies to that - port: queries are dropped. The replies must be to oustanding queries - which dnsmasq has forwarded, otherwise they are dropped too. - - Addendum: dnsmasq now has the option "query-port" (-Q), which allows - you to specify the UDP port to be used for this purpose. If not - specified, the operating system will select an available port number - just as it did before. - - Second addendum: following the discovery of a security flaw in the - DNS protocol, dnsmasq from version 2.43 has changed behavior. It - now uses a new, randomly selected, port for each query. The old - default behaviour (use one port allocated by the OS) is available by - setting --query-port=0, and setting the query port to a positive - value is still works. You should think hard and know what you are - doing before using either of these options. - -Q: Why doesn't dnsmasq support DNS queries over TCP? Don't the RFC's specify - that? - -A: Update: from version 2.10, it does. There are a few limitations: - data obtained via TCP is not cached, and source-address - or query-port specifications are ignored for TCP. - -Q: When I send SIGUSR1 to dump the contents of the cache, some entries have - no IP address and are for names like mymachine.mydomain.com.mydomain.com. - What are these? - -A: They are negative entries: that's what the N flag means. Dnsmasq asked - an upstream nameserver to resolve that address and it replied "doesn't - exist, and won't exist for <n> hours" so dnsmasq saved that information so - that if _it_ gets asked the same question it can answer directly without - having to go back to the upstream server again. The strange repeated domains - result from the way resolvers search short names. See "man resolv.conf" for - details. - - -Q: Will dnsmasq compile/run on non-Linux systems? - -A: Yes, there is explicit support for *BSD and MacOS X and Solaris. - There are start-up scripts for MacOS X Tiger and Panther - in /contrib. 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 company's nameserver knows about some names which aren't in the - public DNS. Even though I put it first in /etc/resolv.conf, it - dosen't work: dnsmasq seems not to use the nameservers in the order - given. What am I doing wrong? - -A: By default, dnsmasq treats all the nameservers it knows about as - equal: it picks the one to use using an algorithm designed to avoid - nameservers which aren't responding. To make dnsmasq use the - servers in order, give it the -o flag. If you want some queries - sent to a special server, think about using the -S flag to give the - IP address of that server, and telling dnsmasq exactly which - domains to use the server for. - -Q: OK, I've got queries to a private nameserver working, now how about - reverse queries for a range of IP addresses? - -A: Use the standard DNS convention of <reversed address>.in-addr.arpa. - For instance to send reverse queries on the range 192.168.0.0 to - 192.168.0.255 to a nameserver at 10.0.0.1 do - server=/0.168.192.in-addr.arpa/10.0.0.1 - Note that the "bogus-priv" option take priority over this option, - so the above will not work when the bogus-priv option is set. - -Q: Dnsmasq fails to start with an error like this: "dnsmasq: bind - failed: Cannot assign requested address". What's the problem? - -A: This has been seen when a system is bringing up a PPP interface at - boot time: by the time dnsmasq start the interface has been - created, but not brought up and assigned an address. The easiest - solution is to use --interface flags to specify which interfaces - dnsmasq should listen on. Since you are unlikely to want dnsmasq to - listen on a PPP interface and offer DNS service to the world, the - problem is solved. - -Q: I'm running on BSD and dnsmasq won't accept long options on the - command line. - -A: Dnsmasq when built on some BSD systems doesn't use GNU getopt by - default. You can either just use the single-letter options or - change config.h and the Makefile to use getopt-long. Note that - options in /etc/dnsmasq.conf must always be the long form, - on all platforms. - -Q: Names on the internet are working fine, but looking up local names - from /etc/hosts or DHCP doesn't seem to work. - -A: Resolver code sometime does strange things when given names without - any dots in. Win2k and WinXP may not use the DNS at all and just - try and look up the name using WINS. On unix look at "options ndots:" - in "man resolv.conf" for details on this topic. Testing lookups - using "nslookup" or "dig" will work, but then attempting to run - "ping" will get a lookup failure, appending a dot to the end of the - hostname will fix things. (ie "ping myhost" fails, but "ping - myhost." works. The solution is to make sure that all your hosts - have a domain set ("domain" in resolv.conf, or set a domain in - your DHCP server, see below fr Windows XP and Mac OS X). - Any domain will do, but "localnet" is traditional. Now when you - resolve "myhost" the resolver will attempt to look up - "myhost.localnet" so you need to have dnsmasq reply to that name. - The way to do that is to include the domain in each name on - /etc/hosts and/or to use the --expand-hosts and --domain options. - -Q: How do I set the DNS domain in Windows XP or MacOS X (ref: previous - question)? - -A: for XP, Control Panel > Network Connections > { Connection to gateway / - DNS } > Properties > { Highlight TCP/IP } > Properties > Advanced > - DNS Tab > DNS suffix for this connection: - -A: for OS X, System Preferences > Network > {Connection to gateway / DNS } > - Search domains: - -Q: Can I get dnsmasq to save the contents of its cache to disk when - I shut my machine down and re-load when it starts again? - -A: No, that facility is not provided. Very few names in the DNS have - their time-to-live set for longer than a few hours so most of the - cache entries would have expired after a shutdown. For longer-lived - names it's much cheaper to just reload them from the upstream - server. Note that dnsmasq is not shut down between PPP sessions so - go off-line and then on-line again will not lose the contents of - the cache. - -Q: Who are Verisign, what do they have to do with the bogus-nxdomain - option in dnsmasq and why should I wory about it? - -A: [note: this was written in September 2003, things may well change.] - Versign run the .com and .net top-level-domains. They have just - changed the configuration of their servers so that unknown .com and - .net domains, instead of returning an error code NXDOMAIN, (no such - domain) return the address of a host at Versign which runs a web - server showing a search page. Most right-thinking people regard - this new behaviour as broken :-). You can test to see if you are - suffering Versign brokeness by run a command like - - host jlsdajkdalld.com - - If you get "jlsdajkdalld.com" does not exist, then all is fine, if - host returns an IP address, then the DNS is broken. (Try a few - different unlikely domains, just in case you picked a wierd one - which really _is_ registered.) - - Assuming that your DNS is broken, and you want to fix it, simply - note the IP address being returned and pass it to dnsmasq using the - --bogus-nxdomain flag. Dnsmasq will check for results returning - that address and substitute an NXDOMAIN instead. - - As of writing, the IP address in question for the .com and .net - domains is is 64.94.110.11. Various other, less prominent, - registries pull the same stunt; there is a list of them all, and - the addresses to block, at http://winware.org/bogus-domains.txt - -Q: This new DHCP server is well and good, but it doesn't work for me. - What's the problem? - -A: There are a couple of configuration gotchas which have been - encountered by people moving from the ISC dhcpd to the dnsmasq - integrated DHCP daemon. Both are related to differences in - in the way the two daemons bypass the IP stack to do "ground up" - IP configuration and can lead to the dnsmasq daemon failing - whilst the ISC one works. - - The first thing to check is the broadcast address set for the - ethernet interface. This is normally the adddress on the connected - network with all ones in the host part. For instance if the - address of the ethernet interface is 192.168.55.7 and the netmask - is 255.255.255.0 then the broadcast address should be - 192.168.55.255. Having a broadcast address which is not on the - network to which the interface is connected kills things stone - dead. - - The second potential problem relates to firewall rules: since the ISC - daemon in some configurations bypasses the kernel firewall rules - entirely, the ability to run the ISC daemon does not indicate - that the current configuration is OK for the dnsmasq daemon. - For the dnsmasq daemon to operate it's vital that UDP packets to - and from ports 67 and 68 and broadcast packets with source - address 0.0.0.0 and destination address 255.255.255.255 are not - dropped by iptables/ipchains. - -Q: I'm running Debian, and my machines get an address fine with DHCP, - but their names are not appearing in the DNS. - -A: By default, none of the DHCP clients send the host-name when asking - for a lease. For most of the clients, you can set the host-name to - send with the "hostname" keyword in /etc/network/interfaces. (See - "man interfaces" for details.) That doesn't work for dhclient, were - you have to add something like "send host-name daisy" to - /etc/dhclient.conf [Update: the lastest dhcpcd packages _do_ send - the hostname by default. - -Q: I'm network booting my machines, and trying to give them static - DHCP-assigned addresses. The machine gets its correct address - whilst booting, but then the OS starts and it seems to get - allocated a different address. - -A: What is happening is this: The boot process sends a DHCP - request and gets allocated the static address corresponding to its - MAC address. The boot loader does not send a client-id. Then the OS - starts and repeats the DHCP process, but it it does send a - client-id. Dnsmasq cannot assume that the two requests are from the - same machine (since the client ID's don't match) and even though - the MAC address has a static allocation, that address is still in - use by the first incarnation of the machine (the one from the boot, - without a client ID.) dnsmasq therefore has to give the machine a - dynamic address from its pool. There are three ways to solve this: - (1) persuade your DHCP client not to send a client ID, or (2) set up - the static assignment to the client ID, not the MAC address. The - default client-id will be 01:<MAC address>, so change the dhcp-host - line from "dhcp-host=11:22:33:44:55:66,1.2.3.4" to - "dhcp-host=id:01:11:22:33:44:55:66,1.2.3.4" or (3) tell dnsmasq to - ignore client IDs for a particular MAC address, like this: - dhcp-host=11:22:33:44:55:66,id:* - -Q: What network types are supported by the DHCP server? - -A: Ethernet (and 802.11 wireless) are supported on all platforms. On - Linux all network types (including FireWire) are supported. - -Q: What is this strange "bind-interface" option? - -A: The DNS spec says that the reply to a DNS query must come from the - same address it was sent to. The traditional way to write an UDP - server to do this is to find all of the addresses belonging to the - machine (ie all the interfaces on the machine) and then create a - socket for each interface which is bound to the address of the - interface. Then when a packet is sent to address A, it is received - on the socket bound to address A and when the reply is also sent - via that socket, the source address is set to A by the kernel and - everything works. This is the how dnsmasq works when - "bind-interfaces" is set, with the obvious extension that is misses - out creating sockets for some interfaces depending on the - --interface, --address and --except-interface flags. The - disadvantage of this approach is that it breaks if interfaces don't - exist or are not configured when the daemon starts and does the - socket creation step. In a hotplug-aware world this is a real - problem. - - The alternative approach is to have only one socket, which is bound - to the correct port and the wildcard IP address (0.0.0.0). That - socket will receive _all_ packets sent to port 53, no matter what - destination address they have. This solves the problem of - interfaces which are created or reconfigured after daemon - start-up. To make this work is more complicated because of the - "reply source address" problem. When a UDP packet is sent by a - socket bound to 0.0.0.0 its source address will be set to the - address of one of the machine's interfaces, but which one is not - determined and can vary depending on the OS being run. To get round - this it is neccessary to use a scary advanced API to determine the - address to which a query was sent, and force that to be the source - address in the reply. For IPv4 this stuff in non-portable and quite - often not even available (It's different between FreeBSD 5.x and - Linux, for instance, and FreeBSD 4.x, Linux 2.0.x and OpenBSD don't - have it at all.) Hence "bind-interfaces" has to always be available - as a fall back. For IPv6 the API is standard and universally - available. - - It could be argued that if the --interface or --address flags are - used then binding interfaces is more appropriate, but using - wildcard binding means that dnsmasq will quite happily start up - after being told to use interfaces which don't exist, but which are - created later. Wildcard binding breaks the scenario when dnsmasq is - listening on one interface and another server (most probably BIND) - is listening on another. It's not possible for BIND to bind to an - (address,port) pair when dnsmasq has bound (wildcard,port), hence - the ability to explicitly turn off wildcard binding. - -Q: Why doesn't Kerberos work/why can't I get sensible answers to - queries for SRV records. - -A: Probably because you have the "filterwin2k" option set. Note that - it was on by default in example configuration files included in - versions before 2.12, so you might have it set on without - realising. - -Q: Can I get email notification when a new version of dnsmasq is - released? - -A: Yes, new releases of dnsmasq are always announced through - freshmeat.net, and they allow you to subcribe to email alerts when - new versions of particular projects are released. New releases are - also announced in the dnsmasq-discuss mailing list, subscribe at - http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss - -Q: What does the dhcp-authoritative option do? - -A: See http://www.isc.org/index.pl?/sw/dhcp/authoritative.php - that's - for the ISC daemon, but the same applies to dnsmasq. - -Q: Why does my Gentoo box pause for a minute before getting a new - lease? - -A: Because when a Gentoo box shuts down, it releases its lease with - the server but remembers it on the client; this seems to be a - Gentoo-specific patch to dhcpcd. On restart it tries to renew - a lease which is long gone, as far as dnsmasq is concerned, and - dnsmasq ignores it until is times out and restarts the process. - To fix this, set the dhcp-authoritative flag in dnsmasq. - -Q: My laptop has two network interfaces, a wired one and a wireless - one. I never use both interfaces at the same time, and I'd like the - same IP and configuration to be used irrespective of which - interface is in use. How can I do that? - -A: By default, the identity of a machine is determined by using the - MAC address, which is associated with interface hardware. Once an - IP is bound to the MAC address of one interface, it cannot be - associated with another MAC address until after the DHCP lease - expires. The solution to this is to use a client-id as the machine - identity rather than the MAC address. If you arrange for the same - client-id to sent when either interface is in use, the DHCP server - will recognise the same machine, and use the same address. The - method for setting the client-id varies with DHCP client software, - dhcpcd uses the "-I" flag. Windows uses a registry setting, - see http://www.jsiinc.com/SUBF/TIP2800/rh2845.htm -Addendum: - From version 2.46, dnsmasq has a solution to this which doesn't - involve setting client-IDs. It's possible to put more than one MAC - address in a --dhcp-host configuration. This tells dnsmasq that it - should use the specified IP for any of the specified MAC addresses, - and furthermore it gives dnsmasq permission to sumarily abandon a - lease to one of the MAC addresses if another one comes along. Note - that this will work fine only as longer as only one interface is - up at any time. There is no way for dnsmasq to enforce this - constraint: if you configure multiple MAC addresses and violate - this rule, bad things will happen. - -Q: Can dnsmasq do DHCP on IP-alias interfaces? - -A: Yes, from version-2.21. The support is only available running under - Linux, on a kernel which provides the RT-netlink facility. All 2.4 - and 2.6 kernels provide RT-netlink and it's an option in 2.2 - kernels. - - If a physical interface has more than one IP address or aliases - with extra IP addresses, then any dhcp-ranges corresponding to - these addresses can be used for address allocation. So if an - interface has addresses 192.168.1.0/24 and 192.68.2.0/24 and there - are DHCP ranges 192.168.1.100-192.168.1.200 and - 192.168.2.100-192.168.2.200 then both ranges would be used for host - connected to the physical interface. A more typical use might be to - have one of the address-ranges as static-only, and have known - hosts allocated addresses on that subnet using dhcp-host options, - while anonymous hosts go on the other. - - -Q: Dnsmasq sometimes logs "nameserver xxx.xxx.xxx.xxx refused - to do a recursive query" and DNS stops working. What's going on? - -A: Probably the nameserver is an authoritative nameserver for a - particular domain, but is not configured to answer general DNS - queries for an arbitrary domain. It is not suitable for use by - dnsmasq as an upstream server and should be removed from the - configuration. Note that if you have more than one upstream - nameserver configured dnsmasq will load-balance across them and - it may be some time before dnsmasq gets around to using a - particular nameserver. This means that a particular configuration - may work for sometime with a broken upstream nameserver - configuration. - - -Q: Does the dnsmasq DHCP server probe addresses before allocating - them, as recommended in RFC2131? - -A: Yes, dynmaically allocated IP addresses are checked by sending an - ICMP echo request (ping). If a reply is received, then dnsmasq - assumes that the address is in use, and attempts to allocate an - different address. The wait for a reply is between two and three - seconds. Because the DHCP server is not re-entrant, it cannot serve - other DHCP requests during this time. To avoid dropping requests, - the address probe may be skipped when dnsmasq is under heavy load. - - -Q: I'm using dnsmasq on a machine with the Firestarter firewall, and - DHCP doesn't work. What's the problem? - -A: This a variant on the iptables problem. Explicit details on how to - proceed can be found at - http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2005q3/000431.html - - -Q: I'm using dnsmasq on a machine with the shorewall firewall, and - DHCP doesn't work. What's the problem? - -A: This a variant on the iptables problem. Explicit details on how to - proceed can be found at - http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2007q4/001764.html - - -Q: Dnsmasq fails to start up with a message about capabilities. - Why did that happen and what can do to fix it? - -A: Change your kernel configuration: either deselect CONFIG_SECURITY - _or_ select CONFIG_SECURITY_CAPABILITIES. Alternatively, you can - remove the need to set capabilities by running dnsmasq as root. - -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/ - - -Q: Can I run dnsmasq in a Linux vserver? - -A: Yes, as a DNS server, dnsmasq will just work in a vserver. - To use dnsmasq's DHCP function you need to give the vserver - extra system capabilities. Please note that doing so will lesser - the overall security of your system. The capabilities - required are NET_ADMIN and NET_RAW. NET_ADMIN is essential, NET_RAW - is required to do an ICMP "ping" check on newly allocated - addresses. If you don't need this check, you can disable it with - --no-ping and omit the NET_RAW capability. - Adding the capabilities is done by adding them, one per line, to - either /etc/vservers/<vservername>/ccapabilities for a 2.4 kernel or - /etc/vservers/<vservername>/bcapabilities for a 2.6 kernel (please - refer to the vserver documentation for more information). - - -Q: What's the problem with syslog and dnsmasq? - -A: In almost all cases: none. If you have the normal arrangement with - local daemons logging to a local syslog, which then writes to disk, - then there's never a problem. If you use network logging, then - there's a potential problem with deadlock: the syslog daemon will - do DNS lookups so that it can log the source of log messages, - these lookups will (depending on exact configuration) go through - dnsmasq, which also sends log messages. With bad timing, you can - arrive at a situation where syslog is waiting for dnsmasq, and - dnsmasq is waiting for syslog; they will both wait forever. This - problem is fixed from dnsmasq-2.39, which introduces asynchronous - logging: dnsmasq no longer waits for syslog and the deadlock is - broken. There is a remaining problem in 2.39, where "log-queries" - is in use. In this case most DNS queries generate two log lines, if - these go to a syslog which is doing a DNS lookup for each log line, - then those queries will in turn generate two more log lines, and a - chain reaction runaway will occur. To avoid this, use syslog-ng - and turn on syslog-ng's dns-cache function. - - - - - - - - - - - - - - - diff --git a/Makefile b/Makefile deleted file mode 100755 index 3d07c24..0000000 --- a/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -# dnsmasq is Copyright (c) 2000-2009 Simon Kelley -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 dated June, 1991, or -# (at your option) version 3 dated 29 June, 2007. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -PREFIX = /usr/local -BINDIR = ${PREFIX}/sbin -MANDIR = ${PREFIX}/share/man -LOCALEDIR = ${PREFIX}/share/locale - -SRC = src -PO = po -MAN = man - -PKG_CONFIG = pkg-config -INSTALL = install -MSGMERGE = msgmerge -MSGFMT = msgfmt -XGETTEXT = xgettext - -################################################################# - -DNSMASQ_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --cflags dbus-1` -DNSMASQ_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --libs dbus-1` -SUNOS_LIBS= `if uname | grep SunOS 2>&1 >/dev/null; then echo -lsocket -lnsl -lposix4; fi` - -all : dnsmasq - -dnsmasq : - @cd $(SRC) && $(MAKE) \ - DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS)" \ - DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS)" \ - -f ../bld/Makefile dnsmasq - -clean : - rm -f *~ $(SRC)/*.mo contrib/*/*~ */*~ $(SRC)/*.pot - rm -f $(SRC)/*.o $(SRC)/dnsmasq.a $(SRC)/dnsmasq core */core - -install : all install-common - -install-common : - $(INSTALL) -d $(DESTDIR)$(BINDIR) -d $(DESTDIR)$(MANDIR)/man8 - $(INSTALL) -m 644 $(MAN)/dnsmasq.8 $(DESTDIR)$(MANDIR)/man8 - $(INSTALL) -m 755 $(SRC)/dnsmasq $(DESTDIR)$(BINDIR) - -all-i18n : - @cd $(SRC) && $(MAKE) \ - I18N=-DLOCALEDIR='\"$(LOCALEDIR)\"' \ - DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS) `$(PKG_CONFIG) --cflags libidn`" \ - DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS) `$(PKG_CONFIG) --libs libidn`" \ - -f ../bld/Makefile dnsmasq - @cd $(PO); for f in *.po; do \ - cd ../$(SRC) && $(MAKE) \ - MSGMERGE=$(MSGMERGE) MSGFMT=$(MSGFMT) XGETTEXT=$(XGETTEXT) \ - -f ../bld/Makefile $${f%.po}.mo; \ - done - -install-i18n : all-i18n install-common - cd $(SRC); ../bld/install-mo $(DESTDIR)$(LOCALEDIR) $(INSTALL) - cd $(MAN); ../bld/install-man $(DESTDIR)$(MANDIR) $(INSTALL) - -merge : - @cd $(SRC) && $(MAKE) XGETTEXT=$(XGETTEXT) -f ../bld/Makefile dnsmasq.pot - @cd $(PO); for f in *.po; do \ - echo -n msgmerge $$f && $(MSGMERGE) --no-wrap -U $$f ../$(SRC)/dnsmasq.pot; \ - done - - diff --git a/bld/Makefile b/bld/Makefile deleted file mode 100755 index 53dab34..0000000 --- a/bld/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -CFLAGS = -Wall -W -O2 - -OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \ - dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ - helper.o tftp.o log.o - -.c.o: - $(CC) $(CFLAGS) $(COPTS) $(I18N) $(DNSMASQ_CFLAGS) $(RPM_OPT_FLAGS) -c $< - -dnsmasq : $(OBJS) - $(CC) $(LDFLAGS) -o $@ $(OBJS) $(DNSMASQ_LIBS) $(LIBS) - -dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h - $(XGETTEXT) -d dnsmasq --foreign-user --omit-header --keyword=_ -o $@ -i $(OBJS:.o=.c) - -%.mo : ../po/%.po dnsmasq.pot - $(MSGMERGE) -o - ../po/$*.po dnsmasq.pot | $(MSGFMT) -o $*.mo - diff --git a/bld/install-man b/bld/install-man deleted file mode 100755 index f4cf3dc..0000000 --- a/bld/install-man +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -for f in *; do - if [ -d $f ]; then - $2 -m 755 -d $1/$f/man8 - $2 -m 644 $f/dnsmasq.8 $1/$f/man8 - echo installing $1/$f/man8/dnsmasq.8 - fi -done diff --git a/bld/install-mo b/bld/install-mo deleted file mode 100755 index d11fa9f..0000000 --- a/bld/install-mo +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -for f in *.mo; do - $2 -m 755 -d $1/${f%.mo}/LC_MESSAGES - $2 -m 644 $f $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo - echo installing $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo -done - - diff --git a/bld/pkg-wrapper b/bld/pkg-wrapper deleted file mode 100755 index 4f3b76b..0000000 --- a/bld/pkg-wrapper +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -search=$1 -shift - -if grep "^\#.*define.*$search" config.h 2>&1 >/dev/null || \ - grep $search 2>&1 >/dev/null ; then - exec $* -fi - - diff --git a/contrib/Solaris10/README b/contrib/Solaris10/README deleted file mode 100755 index a035875..0000000 --- a/contrib/Solaris10/README +++ /dev/null @@ -1,28 +0,0 @@ -From: David Connelly <dconnelly@gmail.com> -Date: Mon, Apr 7, 2008 at 3:31 AM -Subject: Solaris 10 service manifest -To: dnsmasq-discuss@lists.thekelleys.org.uk - - -I've found dnsmasq much easier to set up on my home server running Solaris -10 than the stock dhcp/dns server, which is probably overkill anyway for my -simple home network needs. Since Solaris now uses SMF (Service Management -Facility) to manage services I thought I'd create a simple service manifest -for the dnsmasq service. The manifest currently assumes that dnsmasq has -been installed in '/usr/local/sbin/dnsmasq' and the configuration file in -'/usr/local/etc/dnsmasq.conf', so you may have to adjust these paths for -your local installation. Here are the steps I followed to install and enable -the dnsmasq service: - # svccfg import dnsmasq.xml - # svcadm enable dnsmasq - -To confirm that the service is enabled and online: - - # svcs -l dnsmasq - -I've just started learning about SMF so if anyone has any -corrections/feedback they are more than welcome. - -Thanks, -David - diff --git a/contrib/Solaris10/dnsmasq.xml b/contrib/Solaris10/dnsmasq.xml deleted file mode 100755 index 7da0253..0000000 --- a/contrib/Solaris10/dnsmasq.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version='1.0'?> -<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> - -<!-- Service manifest for dnsmasq --> - -<service_bundle type='manifest' name='dnsmasq'> - <service name='network/dnsmasq' type='service' version='1'> - - <create_default_instance enabled='false'/> - <single_instance/> - - <dependency name='multi-user' - grouping='require_all' - restart_on='refresh' - type='service'> - <service_fmri value='svc:/milestone/multi-user'/> - </dependency> - - <dependency name='config' - grouping='require_all' - restart_on='restart' - type='path'> - <service_fmri value='file:///usr/local/etc/dnsmasq.conf'/> - </dependency> - - <dependent name='dnsmasq_multi-user-server' - grouping='optional_all' - restart_on='none'> - <service_fmri value='svc:/milestone/multi-user-server' /> - </dependent> - - <exec_method type='method' name='start' - exec='/usr/local/sbin/dnsmasq -C /usr/local/etc/dnsmasq.conf' - timeout_seconds='60' > - <method_context> - <method_credential user='root' group='root' privileges='all'/> - </method_context> - </exec_method> - - <exec_method type='method' - name='stop' - exec=':kill' - timeout_seconds='60'/> - - <exec_method type='method' - name='refresh' - exec=':kill -HUP' - timeout_seconds='60' /> - - <template> - <common_name> - <loctext xml:lang='C'>dnsmasq server</loctext> - </common_name> - <description> - <loctext xml:lang='C'> -dnsmasq - A lightweight DHCP and caching DNS server. - </loctext> - </description> - <documentation> - <manpage title='dnsmasq' section='8' manpath='/usr/local/man'/> - </documentation> - </template> - - </service> -</service_bundle> diff --git a/contrib/Suse/README b/contrib/Suse/README deleted file mode 100755 index 3fdc186..0000000 --- a/contrib/Suse/README +++ /dev/null @@ -1,6 +0,0 @@ -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/contrib/Suse/README.susefirewall b/contrib/Suse/README.susefirewall deleted file mode 100755 index 2f19ca6..0000000 --- a/contrib/Suse/README.susefirewall +++ /dev/null @@ -1,27 +0,0 @@ -This is a patch against SuSEfirewall2-3.1-206 (SuSE 9.x and older) -It fixes the depancy from the dns daemon name 'named' -After appending the patch, the SuSEfirewall is again able to autodetect -the dnsmasq named service. -This is a very old bug in the SuSEfirewall script. -The SuSE people think the name of the dns server will allways 'named' - - ---- /sbin/SuSEfirewall2.orig 2004-01-23 13:30:09.000000000 +0100 -+++ /sbin/SuSEfirewall2 2004-01-23 13:31:56.000000000 +0100 -@@ -764,7 +764,7 @@ - echo 'FW_ALLOW_INCOMING_HIGHPORTS_UDP should be set to yes, if you are running a DNS server!' - - test "$FW_SERVICE_AUTODETECT" = yes -o "$FW_SERVICE_AUTODETECT" = dmz -o "$FW_SERVICE_AUTODETECT" = ext && { -- test "$FW_SERVICE_DNS" = no -a '!' "$START_NAMED" = no && check_srv named && { -+ test "$FW_SERVICE_DNS" = no -a '!' "$START_NAMED" = no && check_srv dnsmasq && { - echo -e 'Warning: detected activated named, enabling FW_SERVICE_DNS! - You still have to allow tcp/udp port 53 on internal, dmz and/or external.' - FW_SERVICE_DNS=$FW_SERVICE_AUTODETECT -@@ -878,7 +878,7 @@ - test -e /etc/resolv.conf || echo "Warning: /etc/resolv.conf not found" - # Get ports/IP bindings of NAMED/SQUID - test "$FW_SERVICE_DNS" = yes -o "$FW_SERVICE_DNS" = dmz -o "$FW_SERVICE_DNS" = ext -o "$START_NAMED" = yes && DNS_PORT=`$LSOF -i -n -P | \ -- $AWK -F: '/^named .* UDP / {print $2}'| $GREP -vw 53 | $SORT -un` -+ $AWK -F: '/^dnsmasq .* UDP / {print $2}'| $GREP -vw 53 | $SORT -un` - test "$FW_SERVICE_SQUID" = yes -o "$FW_SERVICE_SQUID" = dmz -o "$FW_SERVICE_SQUID" = ext -o "$START_SQUID" = yes && SQUID_PORT=`$LSOF -i -n -P | \ - $AWK -F: '/^squid .* UDP/ {print $2}'| $SORT -un` diff --git a/contrib/Suse/dnsmasq-SuSE.patch b/contrib/Suse/dnsmasq-SuSE.patch deleted file mode 100755 index 626245f..0000000 --- a/contrib/Suse/dnsmasq-SuSE.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- man/dnsmasq.8 2004-08-08 20:57:56.000000000 +0200 -+++ man/dnsmasq.8 2004-08-12 00:40:01.000000000 +0200 -@@ -69,7 +69,7 @@ - .TP - .B \-g, --group=<groupname> - Specify the group which dnsmasq will run --as. The defaults to "dip", if available, to facilitate access to -+as. The defaults to "dialout", if available, to facilitate access to - /etc/ppp/resolv.conf which is not normally world readable. - .TP - .B \-v, --version ---- src/config.h 2004-08-11 11:39:18.000000000 +0200 -+++ src/config.h 2004-08-12 00:40:01.000000000 +0200 -@@ -44,7 +44,7 @@ - #endif - #define DEFLEASE 3600 /* default lease time, 1 hour */ - #define CHUSER "nobody" --#define CHGRP "dip" -+#define CHGRP "dialout" - #define DHCP_SERVER_PORT 67 - #define DHCP_CLIENT_PORT 68 - - diff --git a/contrib/Suse/dnsmasq-suse.spec b/contrib/Suse/dnsmasq-suse.spec deleted file mode 100755 index ff8ba8f..0000000 --- a/contrib/Suse/dnsmasq-suse.spec +++ /dev/null @@ -1,111 +0,0 @@ -############################################################################### -# -# General -# -############################################################################### - -Name: dnsmasq -Version: 2.33 -Release: 1 -Copyright: GPL -Group: Productivity/Networking/DNS/Servers -Vendor: Simon Kelley -Packager: Simon Kelley -URL: http://www.thekelleys.org.uk/dnsmasq -Provides: dns_daemon -Conflicts: bind bind8 bind9 -PreReq: %fillup_prereq %insserv_prereq -Autoreqprov: on -Source0: %{name}-%{version}.tar.bz2 -BuildRoot: /var/tmp/%{name}-%{version} -Summary: A lightweight caching nameserver - -%description -Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. It -is designed to provide DNS and, optionally, DHCP, to a small network. It can -serve the names of local machines which are not in the global DNS. The DHCP -server integrates with the DNS server and allows machines with DHCP-allocated -addresses to appear in the DNS with names configured either in each host or -in a central configuration file. Dnsmasq supports static and dynamic DHCP -leases and BOOTP for network booting of diskless machines. - - - -############################################################################### -# -# Build -# -############################################################################### - -%prep -%setup -q -patch -p0 <rpm/%{name}-SuSE.patch - -%build -%{?suse_update_config:%{suse_update_config -f}} -make all-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr - -############################################################################### -# -# Install -# -############################################################################### - -%install -rm -rf $RPM_BUILD_ROOT -mkdir -p ${RPM_BUILD_ROOT}/etc/init.d -make install-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr -install -o root -g root -m 755 rpm/rc.dnsmasq-suse $RPM_BUILD_ROOT/etc/init.d/dnsmasq -install -o root -g root -m 644 dnsmasq.conf.example $RPM_BUILD_ROOT/etc/dnsmasq.conf -strip $RPM_BUILD_ROOT/usr/sbin/dnsmasq -ln -sf ../../etc/init.d/dnsmasq $RPM_BUILD_ROOT/usr/sbin/rcdnsmasq - -############################################################################### -# -# Clean up -# -############################################################################### - -%clean -rm -rf $RPM_BUILD_ROOT - -############################################################################### -# -# Post-install scriptlet -# -############################################################################### - -%post -%{fillup_and_insserv dnsmasq} - -############################################################################### -# -# Post-uninstall scriptlet -# -# The %postun script executes after the package has been removed. It is the -# last chance for a package to clean up after itself. -# -############################################################################### - -%postun -%{insserv_cleanup} - -############################################################################### -# -# File list -# -############################################################################### - -%files -%defattr(-,root,root) -%doc CHANGELOG COPYING FAQ doc.html setup.html UPGRADING_to_2.0 rpm/README.susefirewall -%doc contrib -%config /etc/init.d/dnsmasq -%config /etc/dnsmasq.conf -/usr/sbin/rcdnsmasq -/usr/sbin/dnsmasq -/usr/share/locale/*/LC_MESSAGES/* -%doc %{_mandir}/man8/dnsmasq.8.gz -%doc %{_mandir}/*/man8/dnsmasq.8.gz - - diff --git a/contrib/Suse/rc.dnsmasq-suse b/contrib/Suse/rc.dnsmasq-suse deleted file mode 100755 index 71f4c72..0000000 --- a/contrib/Suse/rc.dnsmasq-suse +++ /dev/null @@ -1,79 +0,0 @@ -#! /bin/sh -# -# init.d/dnsmasq -# -### BEGIN INIT INFO -# Provides: dnsmasq -# Required-Start: $network $remote_fs $syslog -# Required-Stop: -# Default-Start: 3 5 -# Default-Stop: -# Description: Starts internet name service masq caching server (DNS) -### END INIT INFO - -NAMED_BIN=/usr/sbin/dnsmasq -NAMED_PID=/var/run/dnsmasq.pid -NAMED_CONF=/etc/dnsmasq.conf - -if [ ! -x $NAMED_BIN ] ; then - echo -n "dnsmasq not installed ! " - exit 5 -fi - -. /etc/rc.status -rc_reset - -case "$1" in - start) - echo -n "Starting name service masq caching server " - checkproc -p $NAMED_PID $NAMED_BIN - if [ $? -eq 0 ] ; then - echo -n "- Warning: dnsmasq already running ! " - else - [ -e $NAMED_PID ] && echo -n "- Warning: $NAMED_PID exists ! " - fi - startproc -p $NAMED_PID $NAMED_BIN -u nobody - rc_status -v - ;; - stop) - echo -n "Shutting name service masq caching server " - checkproc -p $NAMED_PID $NAMED_BIN - [ $? -ne 0 ] && echo -n "- Warning: dnsmasq not running ! " - killproc -p $NAMED_PID -TERM $NAMED_BIN - rc_status -v - ;; - try-restart) - $0 stop && $0 start - rc_status - ;; - restart) - $0 stop - $0 start - rc_status - ;; - force-reload) - $0 reload - rc_status - ;; - reload) - echo -n "Reloading name service masq caching server " - checkproc -p $NAMED_PID $NAMED_BIN - [ $? -ne 0 ] && echo -n "- Warning: dnsmasq not running ! " - killproc -p $NAMED_PID -HUP $NAMED_BIN - rc_status -v - ;; - status) - echo -n "Checking for name service masq caching server " - checkproc -p $NAMED_PID $NAMED_BIN - rc_status -v - ;; - probe) - test $NAMED_CONF -nt $NAMED_PID && echo reload - ;; - *) - echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" - exit 1 - ;; -esac -rc_exit - diff --git a/contrib/dns-loc/README b/contrib/dns-loc/README deleted file mode 100755 index 6f43a8d..0000000 --- a/contrib/dns-loc/README +++ /dev/null @@ -1,12 +0,0 @@ -Hi Simon - -Here is a patch against dnsmasq 2.39 which provides support for LOC -entries in order to assign location information to dns records -(rfc1876). I tested it on OSX and on OpenWRT. - -Cheers -Lorenz - -More info: -http://www.ckdhr.com/dns-loc/ -http://www.faqs.org/rfcs/rfc1876.html diff --git a/contrib/dns-loc/dnsmasq2-loc-rfc1876.patch b/contrib/dns-loc/dnsmasq2-loc-rfc1876.patch deleted file mode 100755 index d950321..0000000 --- a/contrib/dns-loc/dnsmasq2-loc-rfc1876.patch +++ /dev/null @@ -1,522 +0,0 @@ -diff -Nur dnsmasq-2.39-orig/bld/Makefile dnsmasq-2.39/bld/Makefile ---- dnsmasq-2.39-orig/bld/Makefile 2007-02-17 14:37:06.000000000 +0100 -+++ dnsmasq-2.39/bld/Makefile 2007-05-20 18:23:44.000000000 +0200 -@@ -2,7 +2,7 @@ - PKG_CONFIG ?= pkg-config - - --OBJS = cache.o rfc1035.o util.o option.o forward.o isc.o network.o \ -+OBJS = cache.o rfc1035.o rfc1876.o util.o option.o forward.o isc.o network.o \ - dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ - helper.o tftp.o log.o - -diff -Nur dnsmasq-2.39-orig/src/dnsmasq.h dnsmasq-2.39/src/dnsmasq.h ---- dnsmasq-2.39-orig/src/dnsmasq.h 2007-04-20 12:53:38.000000000 +0200 -+++ dnsmasq-2.39/src/dnsmasq.h 2007-05-20 19:50:37.000000000 +0200 -@@ -162,6 +162,12 @@ - struct interface_name *next; - }; - -+struct loc_record { -+ char *name, loc[16]; -+ unsigned short class; -+ struct loc_record *next; -+}; -+ - union bigname { - char name[MAXDNAME]; - union bigname *next; /* freelist */ -@@ -476,6 +482,7 @@ - struct mx_srv_record *mxnames; - struct txt_record *txt; - struct ptr_record *ptr; -+ struct loc_record *loc; - struct interface_name *int_names; - char *mxtarget; - char *lease_file; -@@ -725,3 +732,6 @@ - void tftp_request(struct listener *listen, struct daemon *daemon, time_t now); - void check_tftp_listeners(struct daemon *daemon, fd_set *rset, time_t now); - #endif -+ -+/* rfc1876 */ -+u_int32_t loc_aton(const char *ascii, u_char *binary); -diff -Nur dnsmasq-2.39-orig/src/option.c dnsmasq-2.39/src/option.c ---- dnsmasq-2.39-orig/src/option.c 2007-04-19 23:34:49.000000000 +0200 -+++ dnsmasq-2.39/src/option.c 2007-05-20 20:15:15.000000000 +0200 -@@ -43,6 +43,7 @@ - #define LOPT_REMOTE 269 - #define LOPT_SUBSCR 270 - #define LOPT_INTNAME 271 -+#define LOPT_LOC 272 - - #ifdef HAVE_GETOPT_LONG - static const struct option opts[] = -@@ -122,6 +123,7 @@ - {"tftp-root", 1, 0, LOPT_PREFIX }, - {"tftp-max", 1, 0, LOPT_TFTP_MAX }, - {"ptr-record", 1, 0, LOPT_PTR }, -+ {"loc-record", 1, 0, LOPT_LOC }, - #if defined(__FreeBSD__) || defined(__DragonFly__) - {"bridge-interface", 1, 0 , LOPT_BRIDGE }, - #endif -@@ -235,6 +237,7 @@ - { "-y, --localise-queries", gettext_noop("Answer DNS queries based on the interface a query was sent to."), NULL }, - { "-Y --txt-record=name,txt....", gettext_noop("Specify TXT DNS record."), NULL }, - { " --ptr-record=name,target", gettext_noop("Specify PTR DNS record."), NULL }, -+ { " --loc-record=name,lat lon alt", gettext_noop("Specify LOC DNS record."), NULL }, - { " --interface-name=name,interface", gettext_noop("Give DNS name to IPv4 address of interface."), NULL }, - { "-z, --bind-interfaces", gettext_noop("Bind only to interfaces in use."), NULL }, - { "-Z, --read-ethers", gettext_noop("Read DHCP static host information from %s."), ETHERSFILE }, -@@ -1835,6 +1838,37 @@ - new->intr = safe_string_alloc(comma); - break; - } -+ -+ case LOPT_LOC: -+ { -+ struct loc_record *new; -+ unsigned char *p, *q; -+ -+ comma = split(arg); -+ -+ if (!canonicalise_opt(arg)) -+ { -+ option = '?'; -+ problem = _("bad LOC record"); -+ break; -+ } -+ -+ new = safe_malloc(sizeof(struct loc_record)); -+ new->next = daemon->loc; -+ daemon->loc = new; -+ new->class = C_IN; -+ if (!comma || loc_aton(comma,new->loc)!=16) -+ { -+ option = '?'; -+ problem = _("bad LOC record"); -+ break; -+ } -+ -+ if (comma) -+ *comma = 0; -+ new->name = safe_string_alloc(arg); -+ break; -+ } - - case LOPT_PTR: /* --ptr-record */ - { -diff -Nur dnsmasq-2.39-orig/src/rfc1035.c dnsmasq-2.39/src/rfc1035.c ---- dnsmasq-2.39-orig/src/rfc1035.c 2007-04-20 12:54:26.000000000 +0200 -+++ dnsmasq-2.39/src/rfc1035.c 2007-05-20 18:22:46.000000000 +0200 -@@ -1112,6 +1112,27 @@ - } - } - -+ if (qtype == T_LOC || qtype == T_ANY) -+ { -+ struct loc_record *t; -+ for(t = daemon->loc; t ; t = t->next) -+ { -+ if (t->class == qclass && hostname_isequal(name, t->name)) -+ { -+ ans = 1; -+ if (!dryrun) -+ { -+ log_query(F_CNAME | F_FORWARD | F_CONFIG | F_NXDOMAIN, name, NULL, 0, NULL, 0); -+ if (add_resource_record(header, limit, &trunc, nameoffset, &ansp, -+ daemon->local_ttl, NULL, -+ T_LOC, t->class, "t", 16, t->loc)) -+ anscount++; -+ -+ } -+ } -+ } -+ } -+ - if (qclass == C_IN) - { - if (qtype == T_PTR || qtype == T_ANY) -diff -Nur dnsmasq-2.39-orig/src/rfc1876.c dnsmasq-2.39/src/rfc1876.c ---- dnsmasq-2.39-orig/src/rfc1876.c 1970-01-01 01:00:00.000000000 +0100 -+++ dnsmasq-2.39/src/rfc1876.c 2007-05-20 19:50:10.000000000 +0200 -@@ -0,0 +1,379 @@ -+/* -+ * routines to convert between on-the-wire RR format and zone file -+ * format. Does not contain conversion to/from decimal degrees; -+ * divide or multiply by 60*60*1000 for that. -+ */ -+ -+#include "dnsmasq.h" -+ -+static unsigned int poweroften[10] = {1, 10, 100, 1000, 10000, 100000, -+ 1000000,10000000,100000000,1000000000}; -+ -+/* takes an XeY precision/size value, returns a string representation.*/ -+static const char * -+precsize_ntoa(u_int8_t prec) -+{ -+ static char retbuf[sizeof("90000000.00")]; -+ unsigned long val; -+ int mantissa, exponent; -+ -+ mantissa = (int)((prec >> 4) & 0x0f) % 10; -+ exponent = (int)((prec >> 0) & 0x0f) % 10; -+ -+ val = mantissa * poweroften[exponent]; -+ -+ (void) sprintf(retbuf,"%d.%.2d", val/100, val%100); -+ return (retbuf); -+} -+ -+/* converts ascii size/precision X * 10**Y(cm) to 0xXY. moves pointer.*/ -+static u_int8_t -+precsize_aton(char **strptr) -+{ -+ unsigned int mval = 0, cmval = 0; -+ u_int8_t retval = 0; -+ register char *cp; -+ register int exponent; -+ register int mantissa; -+ -+ cp = *strptr; -+ -+ while (isdigit(*cp)) -+ mval = mval * 10 + (*cp++ - '0'); -+ -+ if (*cp == '.') { /* centimeters */ -+ cp++; -+ if (isdigit(*cp)) { -+ cmval = (*cp++ - '0') * 10; -+ if (isdigit(*cp)) { -+ cmval += (*cp++ - '0'); -+ } -+ } -+ } -+ cmval = (mval * 100) + cmval; -+ -+ for (exponent = 0; exponent < 9; exponent++) -+ if (cmval < poweroften[exponent+1]) -+ break; -+ -+ mantissa = cmval / poweroften[exponent]; -+ if (mantissa > 9) -+ mantissa = 9; -+ -+ retval = (mantissa << 4) | exponent; -+ -+ *strptr = cp; -+ -+ return (retval); -+} -+ -+/* converts ascii lat/lon to unsigned encoded 32-bit number. -+ * moves pointer. */ -+static u_int32_t -+latlon2ul(char **latlonstrptr,int *which) -+{ -+ register char *cp; -+ u_int32_t retval; -+ int deg = 0, min = 0, secs = 0, secsfrac = 0; -+ -+ cp = *latlonstrptr; -+ -+ while (isdigit(*cp)) -+ deg = deg * 10 + (*cp++ - '0'); -+ -+ while (isspace(*cp)) -+ cp++; -+ -+ if (!(isdigit(*cp))) -+ goto fndhemi; -+ -+ while (isdigit(*cp)) -+ min = min * 10 + (*cp++ - '0'); -+ while (isspace(*cp)) -+ cp++; -+ -+ if (!(isdigit(*cp))) -+ goto fndhemi; -+ -+ while (isdigit(*cp)) -+ secs = secs * 10 + (*cp++ - '0'); -+ -+ if (*cp == '.') { /* decimal seconds */ -+ cp++; -+ if (isdigit(*cp)) { -+ secsfrac = (*cp++ - '0') * 100; -+ if (isdigit(*cp)) { -+ secsfrac += (*cp++ - '0') * 10; -+ if (isdigit(*cp)) { -+ secsfrac += (*cp++ - '0'); -+ } -+ } -+ } -+ } -+ -+ while (!isspace(*cp)) /* if any trailing garbage */ -+ cp++; -+ -+ while (isspace(*cp)) -+ cp++; -+ -+ fndhemi: -+ switch (*cp) { -+ case 'N': case 'n': -+ case 'E': case 'e': -+ retval = ((unsigned)1<<31) -+ + (((((deg * 60) + min) * 60) + secs) * 1000) -+ + secsfrac; -+ break; -+ case 'S': case 's': -+ case 'W': case 'w': -+ retval = ((unsigned)1<<31) -+ - (((((deg * 60) + min) * 60) + secs) * 1000) -+ - secsfrac; -+ break; -+ default: -+ retval = 0; /* invalid value -- indicates error */ -+ break; -+ } -+ -+ switch (*cp) { -+ case 'N': case 'n': -+ case 'S': case 's': -+ *which = 1; /* latitude */ -+ break; -+ case 'E': case 'e': -+ case 'W': case 'w': -+ *which = 2; /* longitude */ -+ break; -+ default: -+ *which = 0; /* error */ -+ break; -+ } -+ -+ cp++; /* skip the hemisphere */ -+ -+ while (!isspace(*cp)) /* if any trailing garbage */ -+ cp++; -+ -+ while (isspace(*cp)) /* move to next field */ -+ cp++; -+ -+ *latlonstrptr = cp; -+ -+ return (retval); -+} -+ -+/* converts a zone file representation in a string to an RDATA -+ * on-the-wire representation. */ -+u_int32_t -+loc_aton(const char *ascii, u_char *binary) -+{ -+ const char *cp, *maxcp; -+ u_char *bcp; -+ -+ u_int32_t latit = 0, longit = 0, alt = 0; -+ u_int32_t lltemp1 = 0, lltemp2 = 0; -+ int altmeters = 0, altfrac = 0, altsign = 1; -+ u_int8_t hp = 0x16; /* default = 1e6 cm = 10000.00m = 10km */ -+ u_int8_t vp = 0x13; /* default = 1e3 cm = 10.00m */ -+ u_int8_t siz = 0x12; /* default = 1e2 cm = 1.00m */ -+ int which1 = 0, which2 = 0; -+ -+ cp = ascii; -+ maxcp = cp + strlen(ascii); -+ -+ lltemp1 = latlon2ul(&cp, &which1); -+ lltemp2 = latlon2ul(&cp, &which2); -+ -+ switch (which1 + which2) { -+ case 3: /* 1 + 2, the only valid combination */ -+ if ((which1 == 1) && (which2 == 2)) { /* normal case */ -+ latit = lltemp1; -+ longit = lltemp2; -+ } else if ((which1 == 2) && (which2 == 1)) {/*reversed*/ -+ longit = lltemp1; -+ latit = lltemp2; -+ } else { /* some kind of brokenness */ -+ return 0; -+ } -+ break; -+ default: /* we didn't get one of each */ -+ return 0; -+ } -+ -+ /* altitude */ -+ if (*cp == '-') { -+ altsign = -1; -+ cp++; -+ } -+ -+ if (*cp == '+') -+ cp++; -+ -+ while (isdigit(*cp)) -+ altmeters = altmeters * 10 + (*cp++ - '0'); -+ -+ if (*cp == '.') { /* decimal meters */ -+ cp++; -+ if (isdigit(*cp)) { -+ altfrac = (*cp++ - '0') * 10; -+ if (isdigit(*cp)) { -+ altfrac += (*cp++ - '0'); -+ } -+ } -+ } -+ -+ alt = (10000000 + (altsign * (altmeters * 100 + altfrac))); -+ -+ while (!isspace(*cp) && (cp < maxcp)) -+ /* if trailing garbage or m */ -+ cp++; -+ -+ while (isspace(*cp) && (cp < maxcp)) -+ cp++; -+ if (cp >= maxcp) -+ goto defaults; -+ -+ siz = precsize_aton(&cp); -+ -+ while (!isspace(*cp) && (cp < maxcp))/*if trailing garbage or m*/ -+ cp++; -+ -+ while (isspace(*cp) && (cp < maxcp)) -+ cp++; -+ -+ if (cp >= maxcp) -+ goto defaults; -+ -+ hp = precsize_aton(&cp); -+ -+ while (!isspace(*cp) && (cp < maxcp))/*if trailing garbage or m*/ -+ cp++; -+ -+ while (isspace(*cp) && (cp < maxcp)) -+ cp++; -+ -+ if (cp >= maxcp) -+ goto defaults; -+ -+ vp = precsize_aton(&cp); -+ -+ defaults: -+ -+ bcp = binary; -+ *bcp++ = (u_int8_t) 0; /* version byte */ -+ *bcp++ = siz; -+ *bcp++ = hp; -+ *bcp++ = vp; -+ PUTLONG(latit,bcp); -+ PUTLONG(longit,bcp); -+ PUTLONG(alt,bcp); -+ -+ return (16); /* size of RR in octets */ -+} -+ -+/* takes an on-the-wire LOC RR and prints it in zone file -+ * (human readable) format. */ -+char * -+loc_ntoa(const u_char *binary,char *ascii) -+{ -+ static char tmpbuf[255*3]; -+ -+ register char *cp; -+ register const u_char *rcp; -+ -+ int latdeg, latmin, latsec, latsecfrac; -+ int longdeg, longmin, longsec, longsecfrac; -+ char northsouth, eastwest; -+ int altmeters, altfrac, altsign; -+ -+ const int referencealt = 100000 * 100; -+ -+ int32_t latval, longval, altval; -+ u_int32_t templ; -+ u_int8_t sizeval, hpval, vpval, versionval; -+ -+ char *sizestr, *hpstr, *vpstr; -+ -+ rcp = binary; -+ if (ascii) -+ cp = ascii; -+ else { -+ cp = tmpbuf; -+ } -+ -+ versionval = *rcp++; -+ -+ if (versionval) { -+ sprintf(cp,"; error: unknown LOC RR version"); -+ return (cp); -+ } -+ -+ sizeval = *rcp++; -+ -+ hpval = *rcp++; -+ vpval = *rcp++; -+ -+ GETLONG(templ,rcp); -+ latval = (templ - ((unsigned)1<<31)); -+ -+ GETLONG(templ,rcp); -+ longval = (templ - ((unsigned)1<<31)); -+ -+ GETLONG(templ,rcp); -+ if (templ < referencealt) { /* below WGS 84 spheroid */ -+ altval = referencealt - templ; -+ altsign = -1; -+ } else { -+ altval = templ - referencealt; -+ altsign = 1; -+ } -+ -+ if (latval < 0) { -+ northsouth = 'S'; -+ latval = -latval; -+ } -+ else -+ northsouth = 'N'; -+ -+ latsecfrac = latval % 1000; -+ latval = latval / 1000; -+ latsec = latval % 60; -+ latval = latval / 60; -+ latmin = latval % 60; -+ latval = latval / 60; -+ latdeg = latval; -+ -+ if (longval < 0) { -+ eastwest = 'W'; -+ longval = -longval; -+ } -+ else -+ eastwest = 'E'; -+ -+ longsecfrac = longval % 1000; -+ longval = longval / 1000; -+ longsec = longval % 60; -+ longval = longval / 60; -+ longmin = longval % 60; -+ longval = longval / 60; -+ longdeg = longval; -+ -+ altfrac = altval % 100; -+ altmeters = (altval / 100) * altsign; -+ -+ sizestr = strdup(precsize_ntoa(sizeval)); -+ hpstr = strdup(precsize_ntoa(hpval)); -+ vpstr = strdup(precsize_ntoa(vpval)); -+ -+ sprintf(cp, -+ "%d %.2d %.2d.%.3d %c %d %.2d %.2d.%.3d %c %d.%.2dm %sm %sm %sm", -+ latdeg, latmin, latsec, latsecfrac, northsouth, -+ longdeg, longmin, longsec, longsecfrac, eastwest, -+ altmeters, altfrac, sizestr, hpstr, vpstr); -+ free(sizestr); -+ free(hpstr); -+ free(vpstr); -+ -+ return (cp); -+} diff --git a/contrib/dnslist/dhcp.css b/contrib/dnslist/dhcp.css deleted file mode 100755 index 79cea39..0000000 --- a/contrib/dnslist/dhcp.css +++ /dev/null @@ -1,57 +0,0 @@ -body -{ - font-family: sans-serif; - color: #000; -} - -h1 -{ - font-size: medium; - font-weight: bold; -} - -h1 .updated -{ - color: #999; -} - -table -{ - border-collapse: collapse; - border-bottom: 2px solid #000; -} - -th -{ - background: #DDD; - border-top: 2px solid #000; - text-align: left; - font-weight: bold; -} - -/* Any row */ - -tr -{ - border-top: 2px solid #000; -} - -/* Any row but the first or second (overrides above rule) */ - -tr + tr + tr -{ - border-top: 2px solid #999; -} - -tr.offline td.hostname -{ - color: #999; -} - -.hostname { width: 10em; } -.ip_addr { width: 10em; background: #DDD; } -.ether_addr { width: 15em; } -.client_id { width: 15em; background: #DDD; } -.status { width: 5em; } -.since { width: 10em; background: #DDD; } -.lease { width: 10em; } diff --git a/contrib/dnslist/dnslist.pl b/contrib/dnslist/dnslist.pl deleted file mode 100755 index 7ce2720..0000000 --- a/contrib/dnslist/dnslist.pl +++ /dev/null @@ -1,608 +0,0 @@ -#!/usr/bin/perl - -# dnslist - Read state file from dnsmasq and create a nice web page to display -# a list of DHCP clients. -# -# Copyright (C) 2004 Thomas Tuttle -# -# 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; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program*; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# * The license is in fact included at the end of this file, and can -# either be viewed by reading everything after "__DATA__" or by -# running dnslist with the '-l' option. -# -# Version: 0.2 -# Author: Thomas Tuttle -# Email: dnslist.20.thinkinginbinary@spamgourmet.org -# License: GNU General Public License, version 2.0 -# -# v. 0.0: Too ugly to publish, thrown out. -# -# v. 0.1: First rewrite. -# Added master host list so offline hosts can still be displayed. -# Fixed modification detection (a newer modification time is lower.) -# -# v. 0.2: Fixed Client ID = "*" => "None" -# Fixed HTML entities (a client ID of ????<? screwed it up) -# Fixed command-line argument processing (apparently, "shift @ARGV" != -# "$_ = shift @ARGV"...) -# Added license information. - -use Template; - -# Location of state file. (This is the dnsmasq default.) -# Change with -s <file> -my $dnsmasq_state_file = '/var/lib/misc/dnsmasq.leases'; -# Location of template. (Assumed to be in current directory.) -# Change with -t <file> -my $html_template_file = 'dnslist.tt2'; -# File to write HTML page to. (This is where Slackware puts WWW pages. It may -# be different on other systems. Make sure the permissions are set correctly -# for it.) -my $html_output_file = '/var/www/htdocs/dhcp.html'; -# Time to wait after each page update. (The state file is checked for changes -# before each update but is not read in each time, in case it is very big. The -# page is rewritten just so the "(updated __/__ __:__:__)" text changes ;-) -my $wait_time = 2; - -# Read command-line arguments. -while ($_ = shift @ARGV) { - if (/-s/) { $dnsmasq_state_file = shift; next; } - if (/-t/) { $html_template_file = shift; next; } - if (/-o/) { $html_output_file = shift; next; } - if (/-d/) { $wait_time = shift; next; } - if (/-l/) { show_license(); exit; } - die "usage: dnslist [-s state_file] [-t template_file] [-o output_file] [-d delay_time]\n"; -} - -# Master list of clients, offline and online. -my $list = {}; -# Sorted host list. (It's actually sorted by IP--the sub &byip() compares two -# IP addresses, octet by octet, and figures out which is higher.) -my @hosts = (); -# Last time the state file was changed. -my $last_state_change; - -# Check for a change to the state file. -sub check_state { - if (defined $last_state_change) { - if (-M $dnsmasq_state_file < $last_state_change) { - print "check_state: state file has been changed.\n"; - $last_state_change = -M $dnsmasq_state_file; - return 1; - } else { - return 0; - } - } else { - # Last change undefined, so we are running for the first time. - print "check_state: reading state file at startup.\n"; - read_state(); - $last_state_change = -M $dnsmasq_state_file; - return 1; - } -} - -# Read data in state file. -sub read_state { - my $old; - my $new; - # Open file. - unless (open STATE, $dnsmasq_state_file) { - warn "read_state: can't open $dnsmasq_state_file!\n"; - return 0; - } - # Mark all hosts as offline, saving old state. - foreach $ether (keys %{$list}) { - $list->{$ether}->{'old_online'} = $list->{$ether}->{'online'}; - $list->{$ether}->{'online'} = 0; - } - # Read hosts. - while (<STATE>) { - chomp; - @host{qw/raw_lease ether_addr ip_addr hostname raw_client_id/} = split /\s+/; - $ether = $host{ether_addr}; - # Mark each online host as online. - $list->{$ether}->{'online'} = 1; - # Copy data to master list. - foreach $key (keys %host) { - $list->{$ether}->{$key} = $host{$key}; - } - } - close STATE; - # Handle changes in offline/online state. (The sub &do_host() handles - # all of the extra stuff to do with a host's data once it is read. - foreach $ether (keys %{$list}) { - $old = $list->{$ether}->{'old_online'}; - $new = $list->{$ether}->{'online'}; - if (not $old) { - if (not $new) { - do_host($ether, 'offline'); - } else { - do_host($ether, 'join'); - } - } else { - if (not $new) { - do_host($ether, 'leave'); - } else { - do_host($ether, 'online'); - } - } - } - # Sort hosts by IP ;-) - @hosts = sort byip values %{$list}; - # Copy sorted list to template data store. - $data->{'hosts'} = [ @hosts ]; -} - -# Do stuff per host. -sub do_host { - my ($ether, $status) = @_; - - # Find textual representation of DHCP client ID. - if ($list->{$ether}->{'raw_client_id'} eq '*') { - $list->{$ether}->{'text_client_id'} = 'None'; - } else { - my $text = ""; - foreach $char (split /:/, $list->{$ether}->{'raw_client_id'}) { - $char = pack('H2', $char); - if (ord($char) >= 32 and ord($char) <= 127) { - $text .= $char; - } else { - $text .= "?"; - } - } - $list->{$ether}->{'text_client_id'} = $text; - } - - # Convert lease expiration date/time to text. - if ($list->{$ether}->{'raw_lease'} == 0) { - $list->{$ether}->{'text_lease'} = 'Never'; - } else { - $list->{$ether}->{'text_lease'} = nice_time($list->{$ether}->{'raw_lease'}); - } - - if ($status eq 'offline') { - # Nothing to do. - } elsif ($status eq 'online') { - # Nothing to do. - } elsif ($status eq 'join') { - # Update times for joining host. - print "do_host: $ether joined the network.\n"; - $list->{$ether}->{'join_time'} = time; - $list->{$ether}->{'since'} = nice_time(time); - } elsif ($status eq 'leave') { - # Update times for leaving host. - print "do_host: $ether left the network.\n"; - $list->{$ether}->{'leave_time'} = time; - $list->{$ether}->{'since'} = nice_time(time); - } - -} - -# Convert time to a string representation. -sub nice_time { - my $time = shift; - my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $dst) = localtime($time); - $sec = pad($sec, '0', 2); - $min = pad($min, '0', 2); - $hour = pad($hour, '0', 2); - $mon = pad($mon, '0', 2); - $mday = pad($mday, '0', 2); - return "$mon/$mday $hour:$min:$sec"; -} - -# Pad string to a certain length by repeatedly prepending another string. -sub pad { - my ($text, $pad, $length) = @_; - while (length($text) < $length) { - $text = "$pad$text"; - } - return $text; -} - -# Compare two IP addresses. (Uses $a and $b from sort.) -sub byip { - # Split into octets. - my @a = split /\./, $a->{ip_addr}; - my @b = split /\./, $b->{ip_addr}; - # Compare octets. - foreach $n (0..3) { - return $a[$n] <=> $b[$n] if ($a[$n] != $b[$n]); - } - # If we get here there is no difference. - return 0; -} - -# Output HTML file. -sub write_output { - # Create new template object. - my $template = Template->new( - { - ABSOLUTE => 1, # /var/www/... is an absolute path - OUTPUT => $html_output_file # put it here, not STDOUT - } - ); - $data->{'updated'} = nice_time(time); # add "(updated ...)" to file - unless ($template->process($html_template_file, $data)) { # do it - warn "write_output: Template Toolkit error: " . $template->error() . "\n"; - return 0; - } - print "write_output: page updated.\n"; - return 1; -} - -sub show_license { - while (<DATA>) { - print; - $line++; - if ($line == 24) { <>; $line = 1; } - } -} - -# Main loop. -while (1) { - # Check for state change. - if (check_state()) { - read_state(); - sleep 1; # Sleep for a second just so we don't wear anything - # out. (By not sleeping the whole time after a change - # we can detect rapid changes more easily--like if 300 - # hosts all come back online, they show up quicker.) - } else { - sleep $wait_time; # Take a nap. - } - write_output(); # Write the file anyway. -} -__DATA__ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - 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; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/contrib/dnslist/dnslist.tt2 b/contrib/dnslist/dnslist.tt2 deleted file mode 100755 index 1998e5f..0000000 --- a/contrib/dnslist/dnslist.tt2 +++ /dev/null @@ -1,32 +0,0 @@ -<html> - <head> - <title>DHCP Clients</title> - <link rel="stylesheet" href="dhcp.css"/> - <meta http-equiv="Refresh" content="2"/> - </head> - <body> - <h1>DHCP Clients <span class="updated">(updated [% updated %])</span></h1> - <table cols="7"> - <tr> - <th class="hostname">Hostname</th> - <th class="ip_addr">IP Address</th> - <th class="ether_addr">Ethernet Address</th> - <th class="client_id">DHCP Client ID</th> - <th class="status">Status</th> - <th class="since">Since</th> - <th class="lease">Lease Expires</th> - </tr> - [% FOREACH host IN hosts %] - <tr class="[% IF host.online %]online[% ELSE %]offline[% END %]"> - <td class="hostname">[% host.hostname %]</td> - <td class="ip_addr">[% host.ip_addr %]</td> - <td class="ether_addr">[% host.ether_addr %]</td> - <td class="client_id">[% host.text_client_id %] ([% host.raw_client_id %])</td> - <td class="status">[% IF host.online %]Online[% ELSE %]Offline[% END %]</td> - <td class="since">[% host.since %]</td> - <td class="lease">[% host.text_lease %]</td> - </tr> - [% END %] - </table> - </body> -</html> diff --git a/contrib/dnsmasq_MacOSX/DNSmasq b/contrib/dnsmasq_MacOSX/DNSmasq deleted file mode 100755 index 6b62118..0000000 --- a/contrib/dnsmasq_MacOSX/DNSmasq +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -. /etc/rc.common - -StartService() { - if [ "${DNSMASQ:=-NO-}" = "-YES-" ] ; then - /usr/local/sbin/dnsmasq -q -n - fi -} - -StopService() { - pid=`GetPID dnsmasq` - if [ $? -eq 0 ]; then - kill $pid - fi -} - -RestartService() { - StopService "$@" - StartService "$@" -} - -RunService "$1" diff --git a/contrib/dnsmasq_MacOSX/README.rtf b/contrib/dnsmasq_MacOSX/README.rtf deleted file mode 100755 index da48411..0000000 --- a/contrib/dnsmasq_MacOSX/README.rtf +++ /dev/null @@ -1,42 +0,0 @@ -{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf100 -{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fnil\fcharset77 Monaco;} -{\colortbl;\red255\green255\blue255;} -\paperw11900\paperh16840\margl1440\margr1440\vieww11120\viewh10100\viewkind0 -\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural - -\f0\fs24 \cf0 1. If you've used DNSenabler, or if you're using Mac OS X Server, or if you have in any other way activated Mac OS X's built-in DHCP and/or DNS servers, disable them. This would usually involve checking that they are either set to -NO- or absent altogether in -\f1 /etc/hostconfig -\f0 . If you've never done anything to do with DNS or DHCP servers on a client version of MacOS X, you won't need to worry about this; it will already be configured for you.\ -\ -2. Add a configuration item to -\f1 /etc/hostconfig -\f0 as follows:\ -\ - -\f1 DNSMASQ=-YES- -\f0 \ -\ -3. Create a system-wide StartupItems directory for dnsmasq:\ -\ - -\f1 sudo mkdir -p /Library/StartupItems/DNSmasq\ - -\f0 \ -4. Copy the files -\f1 DNSmasq -\f0 and -\f1 StartupParameters.plist -\f0 into this directory, and make sure the former is executable:\ -\ - -\f1 sudo cp DNSmasq StartupParameters.plist /Library/StartupItems/DNSmasq\ -sudo chmod 755 /Library/StartupItems/DNSmasq/DNSmasq\ - -\f0 \ -5. Start the service:\ -\ - -\f1 sudo /Library/StartupItems/DNSmasq/DNSmasq start\ - -\f0 \cf0 \ -That should be all...}
\ No newline at end of file diff --git a/contrib/dnsmasq_MacOSX/StartupParameters.plist b/contrib/dnsmasq_MacOSX/StartupParameters.plist deleted file mode 100755 index 454bda0..0000000 --- a/contrib/dnsmasq_MacOSX/StartupParameters.plist +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>Description</key> - <string>DNSmasq</string> - <key>OrderPreference</key> - <string>None</string> - <key>Provides</key> - <array> - <string>DNSmasq</string> - </array> - <key>Uses</key> - <array> - <string>Network</string> - </array> - </dict> -</plist> diff --git a/contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl b/contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl deleted file mode 100755 index 3c4a1f1..0000000 --- a/contrib/dynamic-dnsmasq/dynamic-dnsmasq.pl +++ /dev/null @@ -1,249 +0,0 @@ -#!/usr/bin/perl -# dynamic-dnsmasq.pl - update dnsmasq's internal dns entries dynamically -# Copyright (C) 2004 Peter Willis -# -# 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; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# the purpose of this script is to be able to update dnsmasq's dns -# records from a remote dynamic dns client. -# -# basic use of this script: -# dynamic-dnsmasq.pl add testaccount 1234 testaccount.mydomain.com -# dynamic-dnsmasq.pl listen & -# -# this script tries to emulate DynDNS.org's dynamic dns service, so -# technically you should be able to use any DynDNS.org client to -# update the records here. tested and confirmed to work with ddnsu -# 1.3.1. just point the client's host to the IP of this machine, -# port 9020, and include the hostname, user and pass, and it should -# work. -# -# make sure "addn-hosts=/etc/dyndns-hosts" is in your /etc/dnsmasq.conf -# file and "nopoll" is commented out. - -use strict; -use IO::Socket; -use MIME::Base64; -use DB_File; -use Fcntl; - -my $accountdb = "accounts.db"; -my $recordfile = "/etc/dyndns-hosts"; -my $dnsmasqpidfile = "/var/run/dnsmasq.pid"; # if this doesn't exist, will look for process in /proc -my $listenaddress = "0.0.0.0"; -my $listenport = 9020; - -# no editing past this point should be necessary - -if ( @ARGV < 1 ) { - die "Usage: $0 ADD|DEL|LISTUSERS|WRITEHOSTSFILE|LISTEN\n"; -} elsif ( lc $ARGV[0] eq "add" ) { - die "Usage: $0 ADD USER PASS HOSTNAME\n" unless @ARGV == 4; - add_acct($ARGV[1], $ARGV[2], $ARGV[3]); -} elsif ( lc $ARGV[0] eq "del" ) { - die "Usage: $0 DEL USER\n" unless @ARGV == 2; - print "Are you sure you want to delete user \"$ARGV[1]\"? [N/y] "; - my $resp = <STDIN>; - chomp $resp; - if ( lc substr($resp,0,1) eq "y" ) { - del_acct($ARGV[1]); - } -} elsif ( lc $ARGV[0] eq "listusers" or lc $ARGV[0] eq "writehostsfile" ) { - my $X = tie my %h, "DB_File", $accountdb, O_RDWR|O_CREAT, 0600, $DB_HASH; - my $fh; - if ( lc $ARGV[0] eq "writehostsfile" ) { - open($fh, ">$recordfile") || die "Couldn't open recordfile \"$recordfile\": $!\n"; - flock($fh, 2); - seek($fh, 0, 0); - truncate($fh, 0); - } - while ( my ($key, $val) = each %h ) { - my ($pass, $domain, $ip) = split("\t",$val); - if ( lc $ARGV[0] eq "listusers" ) { - print "user $key, hostname $domain, ip $ip\n"; - } else { - if ( defined $ip ) { - print $fh "$ip\t$domain\n"; - } - } - } - if ( lc $ARGV[0] eq "writehostsfile" ) { - flock($fh, 8); - close($fh); - dnsmasq_rescan_configs(); - } - undef $X; - untie %h; -} elsif ( lc $ARGV[0] eq "listen" ) { - listen_for_updates(); -} - -sub listen_for_updates { - my $sock = IO::Socket::INET->new(Listen => 5, - LocalAddr => $listenaddress, LocalPort => $listenport, - Proto => 'tcp', ReuseAddr => 1, - MultiHomed => 1) || die "Could not open listening socket: $!\n"; - $SIG{'CHLD'} = 'IGNORE'; - while ( my $client = $sock->accept() ) { - my $p = fork(); - if ( $p != 0 ) { - next; - } - $SIG{'CHLD'} = 'DEFAULT'; - my @headers; - my %cgi; - while ( <$client> ) { - s/(\r|\n)//g; - last if $_ eq ""; - push @headers, $_; - } - foreach my $header (@headers) { - if ( $header =~ /^GET \/nic\/update\?([^\s].+) HTTP\/1\.[01]$/ ) { - foreach my $element (split('&', $1)) { - $cgi{(split '=', $element)[0]} = (split '=', $element)[1]; - } - } elsif ( $header =~ /^Authorization: basic (.+)$/ ) { - unless ( defined $cgi{'hostname'} ) { - print_http_response($client, undef, "badsys"); - exit(1); - } - if ( !exists $cgi{'myip'} ) { - $cgi{'myip'} = $client->peerhost(); - } - my ($user,$pass) = split ":", MIME::Base64::decode($1); - if ( authorize($user, $pass, $cgi{'hostname'}, $cgi{'myip'}) == 0 ) { - print_http_response($client, $cgi{'myip'}, "good"); - update_dns(\%cgi); - } else { - print_http_response($client, undef, "badauth"); - exit(1); - } - last; - } - } - exit(0); - } - return(0); -} - -sub add_acct { - my ($user, $pass, $hostname) = @_; - my $X = tie my %h, "DB_File", $accountdb, O_RDWR|O_CREAT, 0600, $DB_HASH; - $X->put($user, join("\t", ($pass, $hostname))); - undef $X; - untie %h; -} - -sub del_acct { - my ($user, $pass, $hostname) = @_; - my $X = tie my %h, "DB_File", $accountdb, O_RDWR|O_CREAT, 0600, $DB_HASH; - $X->del($user); - undef $X; - untie %h; -} - - -sub authorize { - my $user = shift; - my $pass = shift; - my $hostname = shift; - my $ip = shift;; - my $X = tie my %h, "DB_File", $accountdb, O_RDWR|O_CREAT, 0600, $DB_HASH; - my ($spass, $shost) = split("\t", $h{$user}); - if ( defined $h{$user} and ($spass eq $pass) and ($shost eq $hostname) ) { - $X->put($user, join("\t", $spass, $shost, $ip)); - undef $X; - untie %h; - return(0); - } - undef $X; - untie %h; - return(1); -} - -sub print_http_response { - my $sock = shift; - my $ip = shift; - my $response = shift; - print $sock "HTTP/1.0 200 OK\n"; - my @tmp = split /\s+/, scalar gmtime(); - print $sock "Date: $tmp[0], $tmp[2] $tmp[1] $tmp[4] $tmp[3] GMT\n"; - print $sock "Server: Peter's Fake DynDNS.org Server/1.0\n"; - print $sock "Content-Type: text/plain; charset=ISO-8859-1\n"; - print $sock "Connection: close\n"; - print $sock "Transfer-Encoding: chunked\n"; - print $sock "\n"; - #print $sock "12\n"; # this was part of the dyndns response but i'm not sure what it is - print $sock "$response", defined($ip)? " $ip" : "" . "\n"; -} - -sub update_dns { - my $hashref = shift; - my @records; - my $found = 0; - # update the addn-hosts file - open(FILE, "+<$recordfile") || die "Couldn't open recordfile \"$recordfile\": $!\n"; - flock(FILE, 2); - while ( <FILE> ) { - if ( /^(\d+\.\d+\.\d+\.\d+)\s+$$hashref{'hostname'}\n$/si ) { - if ( $1 ne $$hashref{'myip'} ) { - push @records, "$$hashref{'myip'}\t$$hashref{'hostname'}\n"; - $found = 1; - } - } else { - push @records, $_; - } - } - unless ( $found ) { - push @records, "$$hashref{'myip'}\t$$hashref{'hostname'}\n"; - } - sysseek(FILE, 0, 0); - truncate(FILE, 0); - syswrite(FILE, join("", @records)); - flock(FILE, 8); - close(FILE); - dnsmasq_rescan_configs(); - return(0); -} - -sub dnsmasq_rescan_configs { - # send the HUP signal to dnsmasq - if ( -r $dnsmasqpidfile ) { - open(PID,"<$dnsmasqpidfile") || die "Could not open PID file \"$dnsmasqpidfile\": $!\n"; - my $pid = <PID>; - close(PID); - chomp $pid; - if ( kill(0, $pid) ) { - kill(1, $pid); - } else { - goto LOOKFORDNSMASQ; - } - } else { - LOOKFORDNSMASQ: - opendir(DIR,"/proc") || die "Couldn't opendir /proc: $!\n"; - my @dirs = grep(/^\d+$/, readdir(DIR)); - closedir(DIR); - foreach my $process (@dirs) { - if ( open(FILE,"</proc/$process/cmdline") ) { - my $cmdline = <FILE>; - close(FILE); - if ( (split(/\0/,$cmdline))[0] =~ /dnsmasq/ ) { - kill(1, $process); - } - } - } - } - return(0); -} diff --git a/contrib/lease-access/README b/contrib/lease-access/README deleted file mode 100755 index fc66bdf..0000000 --- a/contrib/lease-access/README +++ /dev/null @@ -1,20 +0,0 @@ -Hello, - -For some specific application I needed to deny access to a MAC address -to a lease. For this reason I modified the dhcp-script behavior and is -called with an extra parameter "access" once a dhcp request or discover -is received. In that case if the exit code of the script is zero, -dnsmasq continues normally, and if non-zero the packet is ignored. - -This was not added as a security feature but as a mean to handle -differently some addresses. It is also quite intrusive since it requires -changes in several other subsystems. - -It attach the patch in case someone is interested. - -regards, -Nikos - -nmav@gennetsa.com - - diff --git a/contrib/lease-access/lease.access.patch b/contrib/lease-access/lease.access.patch deleted file mode 100755 index ad76e25..0000000 --- a/contrib/lease-access/lease.access.patch +++ /dev/null @@ -1,578 +0,0 @@ -Index: src/dnsmasq.c -=================================================================== ---- src/dnsmasq.c (revision 696) -+++ src/dnsmasq.c (revision 821) -@@ -59,7 +59,6 @@ - static int set_dns_listeners(time_t now, fd_set *set, int *maxfdp); - static void check_dns_listeners(fd_set *set, time_t now); - static void sig_handler(int sig); --static void async_event(int pipe, time_t now); - static void fatal_event(struct event_desc *ev); - static void poll_resolv(void); - -@@ -275,7 +274,7 @@ - piperead = pipefd[0]; - pipewrite = pipefd[1]; - /* prime the pipe to load stuff first time. */ -- send_event(pipewrite, EVENT_RELOAD, 0); -+ send_event(pipewrite, EVENT_RELOAD, 0, 0); - - err_pipe[1] = -1; - -@@ -340,7 +339,7 @@ - } - else if (getuid() == 0) - { -- send_event(err_pipe[1], EVENT_PIDFILE, errno); -+ send_event(err_pipe[1], EVENT_PIDFILE, errno, 0); - _exit(0); - } - } -@@ -372,7 +371,7 @@ - (setgroups(0, &dummy) == -1 || - setgid(gp->gr_gid) == -1)) - { -- send_event(err_pipe[1], EVENT_GROUP_ERR, errno); -+ send_event(err_pipe[1], EVENT_GROUP_ERR, errno, 0); - _exit(0); - } - -@@ -415,14 +414,14 @@ - - if (bad_capabilities != 0) - { -- send_event(err_pipe[1], EVENT_CAP_ERR, bad_capabilities); -+ send_event(err_pipe[1], EVENT_CAP_ERR, bad_capabilities, 0); - _exit(0); - } - - /* finally drop root */ - if (setuid(ent_pw->pw_uid) == -1) - { -- send_event(err_pipe[1], EVENT_USER_ERR, errno); -+ send_event(err_pipe[1], EVENT_USER_ERR, errno, 0); - _exit(0); - } - -@@ -434,7 +433,7 @@ - /* lose the setuid and setgid capbilities */ - if (capset(hdr, data) == -1) - { -- send_event(err_pipe[1], EVENT_CAP_ERR, errno); -+ send_event(err_pipe[1], EVENT_CAP_ERR, errno, 0); - _exit(0); - } - #endif -@@ -647,7 +646,7 @@ - } - - if (FD_ISSET(piperead, &rset)) -- async_event(piperead, now); -+ async_event(piperead, now, NULL, 0); - - #ifdef HAVE_LINUX_NETWORK - if (FD_ISSET(daemon->netlinkfd, &rset)) -@@ -674,7 +673,7 @@ - #endif - - if (daemon->dhcp && FD_ISSET(daemon->dhcpfd, &rset)) -- dhcp_packet(now); -+ dhcp_packet(piperead, now); - - #ifndef NO_FORK - if (daemon->helperfd != -1 && FD_ISSET(daemon->helperfd, &wset)) -@@ -719,17 +718,18 @@ - else - return; - -- send_event(pipewrite, event, 0); -+ send_event(pipewrite, event, 0, 0); - errno = errsave; - } - } - --void send_event(int fd, int event, int data) -+void send_event(int fd, int event, int data, int priv) - { - struct event_desc ev; - - ev.event = event; - ev.data = data; -+ ev.priv = priv; - - /* error pipe, debug mode. */ - if (fd == -1) -@@ -771,14 +771,17 @@ - die(_("cannot open %s: %s"), daemon->log_file ? daemon->log_file : "log", EC_FILE); - } - } -- --static void async_event(int pipe, time_t now) -+ -+/* returns the private data of the event -+ */ -+int async_event(int pipe, time_t now, struct event_desc* event, unsigned int secs) - { - pid_t p; - struct event_desc ev; - int i; - -- if (read_write(pipe, (unsigned char *)&ev, sizeof(ev), 1)) -+ if (read_timeout(pipe, (unsigned char *)&ev, sizeof(ev), now, secs) > 0) -+ { - switch (ev.event) - { - case EVENT_RELOAD: -@@ -872,6 +875,14 @@ - flush_log(); - exit(EC_GOOD); - } -+ } -+ else -+ return -1; /* timeout */ -+ -+ if (event) -+ memcpy( event, &ev, sizeof(ev)); -+ -+ return 0; - } - - static void poll_resolv() -Index: src/config.h -=================================================================== ---- src/config.h (revision 696) -+++ src/config.h (revision 821) -@@ -51,6 +51,8 @@ - #define TFTP_MAX_CONNECTIONS 50 /* max simultaneous connections */ - #define LOG_MAX 5 /* log-queue length */ - #define RANDFILE "/dev/urandom" -+#define SCRIPT_TIMEOUT 6 -+#define LEASE_CHECK_TIMEOUT 10 - - /* DBUS interface specifics */ - #define DNSMASQ_SERVICE "uk.org.thekelleys.dnsmasq" -Index: src/dnsmasq.h -=================================================================== ---- src/dnsmasq.h (revision 696) -+++ src/dnsmasq.h (revision 821) -@@ -116,6 +116,7 @@ - /* Async event queue */ - struct event_desc { - int event, data; -+ unsigned int priv; - }; - - #define EVENT_RELOAD 1 -@@ -390,6 +391,7 @@ - #define ACTION_OLD_HOSTNAME 2 - #define ACTION_OLD 3 - #define ACTION_ADD 4 -+#define ACTION_ACCESS 5 - - #define DHCP_CHADDR_MAX 16 - -@@ -709,6 +711,7 @@ - char *print_mac(char *buff, unsigned char *mac, int len); - void bump_maxfd(int fd, int *max); - int read_write(int fd, unsigned char *packet, int size, int rw); -+int read_timeout(int fd, unsigned char *packet, int size, time_t now, int secs); - - /* log.c */ - void die(char *message, char *arg1, int exit_code); -@@ -748,7 +751,7 @@ - - /* dhcp.c */ - void dhcp_init(void); --void dhcp_packet(time_t now); -+void dhcp_packet(int piperead, time_t now); - - struct dhcp_context *address_available(struct dhcp_context *context, - struct in_addr addr, -@@ -792,14 +795,16 @@ - void rerun_scripts(void); - - /* rfc2131.c */ --size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, -+size_t dhcp_reply(int pipefd, struct dhcp_context *context, char *iface_name, int int_index, - size_t sz, time_t now, int unicast_dest, int *is_inform); - - /* dnsmasq.c */ - int make_icmp_sock(void); - int icmp_ping(struct in_addr addr); --void send_event(int fd, int event, int data); -+void send_event(int fd, int event, int data, int priv); - void clear_cache_and_reload(time_t now); -+int wait_for_child(int pipe); -+int async_event(int pipe, time_t now, struct event_desc*, unsigned int timeout); - - /* isc.c */ - #ifdef HAVE_ISC_READER -@@ -832,9 +837,9 @@ - /* helper.c */ - #ifndef NO_FORK - int create_helper(int event_fd, int err_fd, uid_t uid, gid_t gid, long max_fd); --void helper_write(void); -+int helper_write(void); - void queue_script(int action, struct dhcp_lease *lease, -- char *hostname, time_t now); -+ char *hostname, time_t now, unsigned int uid); - int helper_buf_empty(void); - #endif - -Index: src/util.c -=================================================================== ---- src/util.c (revision 696) -+++ src/util.c (revision 821) -@@ -444,3 +444,38 @@ - return 1; - } - -+int read_timeout(int fd, unsigned char *packet, int size, time_t now, int secs) -+{ -+ ssize_t n, done; -+ time_t expire; -+ -+ expire = now + secs; -+ -+ for (done = 0; done < size; done += n) -+ { -+ retry: -+ if (secs > 0) alarm(secs); -+ n = read(fd, &packet[done], (size_t)(size - done)); -+ -+ if (n == 0) -+ return 0; -+ else if (n == -1) -+ { -+ if (errno == EINTR) { -+ my_syslog(LOG_INFO, _("read timed out (errno %d)"), errno); -+ return 0; -+ } -+ -+ if (retry_send() || errno == ENOMEM || errno == ENOBUFS || errno == EAGAIN) -+ { -+ if (secs == 0 || (secs > 0 && dnsmasq_time() < expire)) -+ goto retry; -+ } -+ -+ my_syslog(LOG_INFO, _("error in read (timeout %d, errno %d)"), secs, errno); -+ return 0; -+ } -+ } -+ return 1; -+} -+ -Index: src/dhcp.c -=================================================================== ---- src/dhcp.c (revision 696) -+++ src/dhcp.c (revision 821) -@@ -103,7 +103,7 @@ - daemon->dhcp_packet.iov_base = safe_malloc(daemon->dhcp_packet.iov_len); - } - --void dhcp_packet(time_t now) -+void dhcp_packet(int piperead, time_t now) - { - struct dhcp_packet *mess; - struct dhcp_context *context; -@@ -239,7 +239,8 @@ - if (!iface_enumerate(&parm, complete_context, NULL)) - return; - lease_prune(NULL, now); /* lose any expired leases */ -- iov.iov_len = dhcp_reply(parm.current, ifr.ifr_name, iface_index, (size_t)sz, -+ -+ iov.iov_len = dhcp_reply(piperead, parm.current, ifr.ifr_name, iface_index, (size_t)sz, - now, unicast_dest, &is_inform); - lease_update_file(now); - lease_update_dns(); -Index: src/helper.c -=================================================================== ---- src/helper.c (revision 696) -+++ src/helper.c (revision 821) -@@ -45,6 +45,7 @@ - #endif - unsigned char hwaddr[DHCP_CHADDR_MAX]; - char interface[IF_NAMESIZE]; -+ unsigned int uid; - }; - - static struct script_data *buf = NULL; -@@ -60,7 +61,7 @@ - then fork our process. */ - if (pipe(pipefd) == -1 || !fix_fd(pipefd[1]) || (pid = fork()) == -1) - { -- send_event(err_fd, EVENT_PIPE_ERR, errno); -+ send_event(err_fd, EVENT_PIPE_ERR, errno, 0); - _exit(0); - } - -@@ -87,13 +88,13 @@ - { - if (daemon->options & OPT_NO_FORK) - /* send error to daemon process if no-fork */ -- send_event(event_fd, EVENT_HUSER_ERR, errno); -+ send_event(event_fd, EVENT_HUSER_ERR, errno, 0); - else - { - /* kill daemon */ -- send_event(event_fd, EVENT_DIE, 0); -+ send_event(event_fd, EVENT_DIE, 0, 0); - /* return error */ -- send_event(err_fd, EVENT_HUSER_ERR, errno);; -+ send_event(err_fd, EVENT_HUSER_ERR, errno, 0); - } - _exit(0); - } -@@ -122,6 +123,8 @@ - action_str = "del"; - else if (data.action == ACTION_ADD) - action_str = "add"; -+ else if (data.action == ACTION_ACCESS) -+ action_str = "access"; - else if (data.action == ACTION_OLD || data.action == ACTION_OLD_HOSTNAME) - action_str = "old"; - else -@@ -178,9 +181,11 @@ - { - /* On error send event back to main process for logging */ - if (WIFSIGNALED(status)) -- send_event(event_fd, EVENT_KILLED, WTERMSIG(status)); -- else if (WIFEXITED(status) && WEXITSTATUS(status) != 0) -- send_event(event_fd, EVENT_EXITED, WEXITSTATUS(status)); -+ send_event(event_fd, EVENT_KILLED, WTERMSIG(status), data.uid); -+ else if (WIFEXITED(status)) -+ send_event(event_fd, EVENT_EXITED, WEXITSTATUS(status), data.uid); -+ else -+ send_event(event_fd, EVENT_EXITED, -1, data.uid); - break; - } - -@@ -263,7 +268,7 @@ - err = errno; - } - /* failed, send event so the main process logs the problem */ -- send_event(event_fd, EVENT_EXEC_ERR, err); -+ send_event(event_fd, EVENT_EXEC_ERR, err, data.uid); - _exit(0); - } - } -@@ -295,7 +300,7 @@ - } - - /* pack up lease data into a buffer */ --void queue_script(int action, struct dhcp_lease *lease, char *hostname, time_t now) -+void queue_script(int action, struct dhcp_lease *lease, char *hostname, time_t now, unsigned int uid) - { - unsigned char *p; - size_t size; -@@ -332,6 +337,7 @@ - buf_size = size; - } - -+ buf->uid = uid; - buf->action = action; - buf->hwaddr_len = lease->hwaddr_len; - buf->hwaddr_type = lease->hwaddr_type; -@@ -393,12 +399,15 @@ - return bytes_in_buf == 0; - } - --void helper_write(void) -+/* returns -1 if write failed for a reason, 1 if no data exist -+ * and 0 if everything was ok. -+ */ -+int helper_write(void) - { - ssize_t rc; - - if (bytes_in_buf == 0) -- return; -+ return 1; - - if ((rc = write(daemon->helperfd, buf, bytes_in_buf)) != -1) - { -@@ -409,9 +418,11 @@ - else - { - if (errno == EAGAIN || errno == EINTR) -- return; -+ return -1; - bytes_in_buf = 0; - } -+ -+ return 0; - } - - #endif -Index: src/rfc2131.c -=================================================================== ---- src/rfc2131.c (revision 696) -+++ src/rfc2131.c (revision 821) -@@ -100,8 +100,49 @@ - int clid_len, unsigned char *clid, int *len_out); - static void match_vendor_opts(unsigned char *opt, struct dhcp_opt *dopt); - -+static int check_access_script( int piperead, struct dhcp_lease *lease, struct dhcp_packet *mess, time_t now) -+{ -+#ifndef NO_FORK -+unsigned int uid; -+struct event_desc ev; -+int ret; -+struct dhcp_lease _lease; -+ -+ if (daemon->lease_change_command == NULL) return 0; /* ok */ -+ -+ if (!lease) { /* if host has not been seen before lease is NULL */ -+ memset(&_lease, 0, sizeof(_lease)); -+ lease = &_lease; -+ lease_set_hwaddr(lease, mess->chaddr, NULL, mess->hlen, mess->htype, 0); -+ } -+ -+ uid = rand16(); -+ queue_script(ACTION_ACCESS, lease, NULL, now, uid); -+ -+ /* send all data to helper process */ -+ do -+ { -+ helper_write(); -+ } while (helper_buf_empty() == 0); -+ -+ /* wait for our event */ -+ ret = 0; -+ do -+ { -+ ret = async_event( piperead, now, &ev, SCRIPT_TIMEOUT); -+ } -+ while(ev.priv != uid && ret >= 0); -+ -+ if (ret < 0 || ev.data != 0) /* timeout or error */ -+ { -+ return -1; -+ } -+ -+#endif -+ return 0; /* ok */ -+} - --size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, -+size_t dhcp_reply(int piperead, struct dhcp_context *context, char *iface_name, int int_index, - size_t sz, time_t now, int unicast_dest, int *is_inform) - { - unsigned char *opt, *clid = NULL; -@@ -252,7 +293,7 @@ - mac->netid.next = netid; - netid = &mac->netid; - } -- -+ - /* Determine network for this packet. Our caller will have already linked all the - contexts which match the addresses of the receiving interface but if the - machine has an address already, or came via a relay, or we have a subnet selector, -@@ -329,7 +370,7 @@ - my_syslog(LOG_INFO, _("Available DHCP range: %s -- %s"), daemon->namebuff, inet_ntoa(context_tmp->end)); - } - } -- -+ - mess->op = BOOTREPLY; - - config = find_config(daemon->dhcp_conf, context, clid, clid_len, -@@ -418,7 +459,7 @@ - else - mess->yiaddr = lease->addr; - } -- -+ - if (!message && - !lease && - (!(lease = lease_allocate(mess->yiaddr)))) -@@ -641,7 +682,14 @@ - memcpy(req_options, option_ptr(opt, 0), option_len(opt)); - req_options[option_len(opt)] = OPTION_END; - } -- -+ -+ if (mess_type == DHCPREQUEST || mess_type == DHCPDISCOVER) -+ if (check_access_script(piperead, lease, mess, now) < 0) -+ { -+ my_syslog(LOG_INFO, _("Ignoring client due to access script")); -+ return 0; -+ } -+ - switch (mess_type) - { - case DHCPDECLINE: -Index: src/log.c -=================================================================== ---- src/log.c (revision 696) -+++ src/log.c (revision 821) -@@ -73,7 +73,7 @@ - - if (!log_reopen(daemon->log_file)) - { -- send_event(errfd, EVENT_LOG_ERR, errno); -+ send_event(errfd, EVENT_LOG_ERR, errno, 0); - _exit(0); - } - -Index: src/lease.c -=================================================================== ---- src/lease.c (revision 696) -+++ src/lease.c (revision 821) -@@ -511,7 +511,7 @@ - if (lease->old_hostname) - { - #ifndef NO_FORK -- queue_script(ACTION_OLD_HOSTNAME, lease, lease->old_hostname, now); -+ queue_script(ACTION_OLD_HOSTNAME, lease, lease->old_hostname, now, 0); - #endif - free(lease->old_hostname); - lease->old_hostname = NULL; -@@ -520,7 +520,7 @@ - else - { - #ifndef NO_FORK -- queue_script(ACTION_DEL, lease, lease->hostname, now); -+ queue_script(ACTION_DEL, lease, lease->hostname, now, 0); - #endif - old_leases = lease->next; - -@@ -540,7 +540,7 @@ - if (lease->old_hostname) - { - #ifndef NO_FORK -- queue_script(ACTION_OLD_HOSTNAME, lease, lease->old_hostname, now); -+ queue_script(ACTION_OLD_HOSTNAME, lease, lease->old_hostname, now, 0); - #endif - free(lease->old_hostname); - lease->old_hostname = NULL; -@@ -552,7 +552,7 @@ - (lease->aux_changed && (daemon->options & OPT_LEASE_RO))) - { - #ifndef NO_FORK -- queue_script(lease->new ? ACTION_ADD : ACTION_OLD, lease, lease->hostname, now); -+ queue_script(lease->new ? ACTION_ADD : ACTION_OLD, lease, lease->hostname, now, 0); - #endif - lease->new = lease->changed = lease->aux_changed = 0; - -Index: man/dnsmasq.8 -=================================================================== ---- man/dnsmasq.8 (revision 696) -+++ man/dnsmasq.8 (revision 821) -@@ -724,12 +724,15 @@ - .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 process --are "add", "old" or "del", the MAC -+are "add", "old", "access" 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 (also, lease length or expiry and client-id, if leasefile-ro is set). -+The "access" keyword means that a request was just received and depending -+on the script exit status request for address will be granted, if exit status -+is zero or not if it is non-zero. - The process is run as root (assuming that dnsmasq was originally run as - root) even if dnsmasq is configured to change UID to an unprivileged user. - The environment is inherited from the invoker of dnsmasq, and if the diff --git a/contrib/openvpn/README b/contrib/openvpn/README deleted file mode 100755 index dd99600..0000000 --- a/contrib/openvpn/README +++ /dev/null @@ -1,44 +0,0 @@ -The patch I have attached lets me get the behavior I wish out of -dnsmasq. I also include my version of dhclient-enter-hooks as -required for the switchover from pre-dnsmasq and dhclient. - -On 8/16/05, Joseph Tate <dragonstrider@gmail.com> wrote: -> I'm trying to use dnsmasq on a laptop in order to facilitate openvpn -> connections. As such, the only configuration option I'm concerned -> about is a single server=3D/example.com/192.168.0.1 line. -> -> The way I currently have it set up is I modified dhclient to write its -> resolv.conf data to /etc/resolv.conf.dhclient and configured -> /etc/dnsmasq.conf to look there for its upstream dns servers. -> /etc/resolv.conf is set to nameserver 127.0.0.1 -> -> All of this works great. When I start the openvpn service, it the -> routes, and queries to the domain in the server=3D line work just fine. -> -> The only problem is that the hostname for my system doesn't get set -> correctly. With the resolv.conf data written to something other than -> /etc/resolv.conf, the ifup scripts don't have a valid dns server to do -> the ipcalc call to set the laptop's hostname. If I start dnsmasq -> before the network comes up, something gets fubar'd. I'm not sure how -> to describe it exactly, but network services are slow to load, and -> restarting networking and dnsmasq doesn't solve the problem. Perhaps -> dnsmasq is answering the dhcp request when the network starts? -> Certainly not desired behavior. -> -> Anyway, my question: is there a way to have the best of both worlds? -> DHCP requests to another server, and DNS lookups that work at all -> times? -> -> My current best idea on how to solve this problem is modifying the -> dnsmasq initscript to tweak /etc/dhclient-enter-hooks to change where -> dhclient writes resolv.conf data, and fixing up /etc/resolv.conf on -> the fly to set 127.0.0.1 to the nameserver (and somehow keep the -> search domains intact), but I'm hoping that I'm just missing some key -> piece of the puzzle and that this problem has been solved before. Any -> insights? -> -> -- -> Joseph Tate -> Personal e-mail: jtate AT dragonstrider DOT com -> Web: http://www.dragonstrider.com -> diff --git a/contrib/openvpn/dhclient-enter-hooks b/contrib/openvpn/dhclient-enter-hooks deleted file mode 100755 index cb78e2a..0000000 --- a/contrib/openvpn/dhclient-enter-hooks +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -function save_previous() { - if [ -e $1 -a ! -e $1.predhclient ]; then - mv $1 $1.predhclient - fi -} - -function write_resolv_conf() { - RESOLVCONF=$1 - if [ -n "$new_domain_name" ] || [ -n "$new_domain_name_servers" ]; then - save_previous $RESOLVCONF - echo '; generated by /etc/dhclient-enter-hooks' > $RESOLVCONF - if [ -n "$SEARCH" ]; then - echo search $SEARCH >> $RESOLVCONF - else - if [ -n "$new_domain_name" ]; then - echo search $new_domain_name >> $RESOLVCONF - fi - fi - chmod 644 $RESOLVCONF - for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver >>$RESOLVCONF - done - fi -} - -make_resolv_conf() { - write_resolv_conf /etc/resolv.conf -} diff --git a/contrib/openvpn/dnsmasq.patch b/contrib/openvpn/dnsmasq.patch deleted file mode 100755 index 5c11881..0000000 --- a/contrib/openvpn/dnsmasq.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- dnsmasq-2.22/rpm/dnsmasq.rh 2005-03-24 09:51:18.000000000 -0500 -+++ dnsmasq-2.22/rpm/dnsmasq.rh.new 2005-08-25 10:52:04.310568784 -0400 -@@ -2,7 +2,7 @@ - # - # Startup script for the DNS caching server - # --# chkconfig: 2345 99 01 -+# chkconfig: 2345 07 89 - # description: This script starts your DNS caching server - # processname: dnsmasq - # pidfile: /var/run/dnsmasq.pid -@@ -10,6 +10,25 @@ - # Source function library. - . /etc/rc.d/init.d/functions - -+function setup_dhclient_enter_hooks() { -+ if [ -f /etc/dhclient-enter-hooks ]; then -+ . /etc/dhclient-enter-hooks -+ cp /etc/resolv.conf /etc/resolv.conf.dnsmasq -+ cp /etc/dhclient-enter-hooks /etc/dhclient-enter-hooks.dnsmasq -+ sed -e 's/resolv\.conf$/resolv.conf.dnsmasq/' /etc/dhclient-enter-hooks.dnsmasq > /etc/dhclient-enter-hooks -+ sed -e 's/\(nameserver[ tab]\+\)[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$/\1127.0.0.1/' /etc/resolv.conf.dnsmasq > /etc/resolv.conf -+ fi -+} -+ -+function teardown_dhclient_enter_hooks() { -+ if [ -f /etc/dhclient-enter-hooks -a -f /etc/dhclient-enter-hooks.dnsmasq ]; then -+ if [ -f /etc/resolv.conf.dnsmasq ]; then -+ mv /etc/resolv.conf.dnsmasq /etc/resolv.conf -+ fi -+ mv /etc/dhclient-enter-hooks.dnsmasq /etc/dhclient-enter-hooks -+ fi -+} -+ - # Source networking configuration. - . /etc/sysconfig/network - -@@ -24,7 +43,7 @@ - MAILHOSTNAME="" - # change this line if you want dns to get its upstream servers from - # somewhere other that /etc/resolv.conf --RESOLV_CONF="" -+RESOLV_CONF="/etc/resolv.conf.dnsmasq" - # change this if you want dnsmasq to cache any "hostname" or "client-hostname" from - # a dhcpd's lease file -@@ -54,6 +73,7 @@ - case "$1" in - start) - echo -n "Starting dnsmasq: " -+ setup_dhclient_enter_hooks - daemon $dnsmasq $OPTIONS - RETVAL=$? - echo -@@ -62,6 +82,7 @@ - stop) - if test "x`pidof dnsmasq`" != x; then - echo -n "Shutting down dnsmasq: " -+ teardown_dhclient_enter_hooks - killproc dnsmasq - fi - RETVAL=$? diff --git a/contrib/port-forward/dnsmasq-portforward b/contrib/port-forward/dnsmasq-portforward deleted file mode 100755 index f9bb857..0000000 --- a/contrib/port-forward/dnsmasq-portforward +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# /usr/sbin/dnsmasq-portforward -# -# A script which gets run when the dnsmasq DHCP lease database changes. -# It logs to $LOGFILE, if it exists, and maintains port-forwards using -# IP-tables so that they always point to the correct host. See -# $PORTSFILE for details on configuring this. dnsmasq must be version 2.34 -# or later. -# -# To enable this script, add -# dhcp-script=/usr/sbin/dnsmasq-portforward -# to /etc/dnsmasq.conf -# -# To enable logging, touch $LOGFILE -# - -PORTSFILE=/etc/portforward -LOGFILE=/var/log/dhcp.log -IPTABLES=/sbin/iptables - -action=${1:-0} -hostname=${4} - -# log what's going on. -if [ -f ${LOGFILE} ] ; then - date +"%D %T $*" >>${LOGFILE} -fi - -# If a lease gets stripped of a name, we see that as an "old" action -# with DNSMASQ_OLD_HOSTNAME set, convert it into a "del" -if [ ${DNSMASQ_OLD_HOSTNAME} ] && [ ${action} = old ] ; then - action=del - hostname=${DNSMASQ_OLD_HOSTNAME} -fi - -# action init is not relevant, and will only be seen when leasefile-ro is set. -if [ ${action} = init ] ; then - exit 0 -fi - -if [ ${hostname} ]; then - ports=$(sed -n -e "/^${hostname}\ .*/ s/^.* //p" ${PORTSFILE}) - - for port in $ports; do - verb=removed - protocol=tcp - if [ ${port:0:1} = u ] ; then - protocol=udp - port=${port/u/} - fi - src=${port/:*/} - dst=${port/*:/} -# delete first, to avoid multiple copies of rules. - ${IPTABLES} -t nat -D PREROUTING -p $protocol --destination-port $src -j DNAT --to-destination ${3}:$dst - if [ ${action} != del ] ; then - ${IPTABLES} -t nat -A PREROUTING -p $protocol --destination-port $src -j DNAT --to-destination ${3}:$dst - verb=added - fi - if [ -f ${LOGFILE} ] ; then - echo " DNAT $protocol $src to ${3}:$dst ${verb}." >>${LOGFILE} - fi - done -fi - -exit 0 - - diff --git a/contrib/port-forward/portforward b/contrib/port-forward/portforward deleted file mode 100755 index 1a97c3a..0000000 --- a/contrib/port-forward/portforward +++ /dev/null @@ -1,28 +0,0 @@ -# This file is read by /usr/sbin/dnsmasq-portforward and used to set up port -# forwarding to hostnames. If the dnsmasq-determined hostname matches the -# first column of this file, then a DNAT port-forward will be set up -# to the address which has just been allocated by DHCP . The second field -# is port number(s). If there is only one, then the port-forward goes to -# the same port on the DHCP-client, if there are two seperated with a -# colon, then the second number is the port to which the connection -# is forwarded on the DHCP-client. By default, forwarding is set up -# for TCP, but it can done for UDP instead by prefixing the port to "u". -# To forward both TCP and UDP, two lines are required. -# -# eg. -# wwwserver 80 -# will set up a port forward from port 80 on this host to port 80 -# at the address allocated to wwwserver whenever wwwserver gets a DHCP lease. -# -# wwwserver 8080:80 -# will set up a port forward from port 8080 on this host to port 80 -# on the DHCP-client. -# -# dnsserver 53 -# dnsserver u53 -# will port forward port 53 UDP and TCP from this host to port 53 on dnsserver. -# -# Port forwards will recreated when dnsmasq restarts after a reboot, and -# removed when DHCP leases expire. After editing this file, send -# SIGHUP to dnsmasq to install new iptables entries in the kernel. - diff --git a/contrib/slackware-dnsmasq/dnsmasq.SlackBuild b/contrib/slackware-dnsmasq/dnsmasq.SlackBuild deleted file mode 100755 index c5ba083..0000000 --- a/contrib/slackware-dnsmasq/dnsmasq.SlackBuild +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/sh -CWD=`pwd` -PKG=/tmp/package-dnsmasq - -VERSION=2.24 -ARCH=${ARCH:-i486} -BUILD=${BUILD:-1} - -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mcpu=i686" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2" -fi - -rm -rf $PKG -mkdir -p $PKG -cd /tmp -rm -rf dnsmasq-$VERSION -tar xzvf $CWD/dnsmasq-$VERSION.tar.gz -cd dnsmasq-$VERSION -zcat $CWD/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit -chown -R root.root . -make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man -chmod 755 $PKG/usr/sbin/dnsmasq -chown -R root.bin $PKG/usr/sbin -gzip -9 $PKG/usr/man/man8/dnsmasq.8 -for f in $PKG/usr/share/man/*; do - if [ -f $$f/man8/dnsmasq.8 ]; then - gzip -9 $$f/man8/dnsmasq.8 ; - fi -done -gzip -9 $PKG/usr/man/*/man8/dnsmasq.8 -mkdir -p $PKG/var/state/dnsmasq -( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -) -mkdir $PKG/etc -cat dnsmasq.conf.example > $PKG/etc/dnsmasq.conf.new -mkdir $PKG/etc/rc.d -zcat $CWD/rc.dnsmasq.gz > $PKG/etc/rc.d/rc.dnsmasq.new -mkdir -p $PKG/usr/doc/dnsmasq-$VERSION -cp -a \ - CHANGELOG COPYING FAQ UPGRADING_to_2.0 doc.html setup.html \ - $PKG/usr/doc/dnsmasq-$VERSION -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh - -cd $PKG -makepkg -l y -c n ../dnsmasq-$VERSION-$ARCH-$BUILD.tgz - diff --git a/contrib/slackware-dnsmasq/dnsmasq.leasedir.diff.gz b/contrib/slackware-dnsmasq/dnsmasq.leasedir.diff.gz Binary files differdeleted file mode 100755 index 22fc32b..0000000 --- a/contrib/slackware-dnsmasq/dnsmasq.leasedir.diff.gz +++ /dev/null diff --git a/contrib/slackware-dnsmasq/doinst.sh.gz b/contrib/slackware-dnsmasq/doinst.sh.gz Binary files differdeleted file mode 100755 index 3b44227..0000000 --- a/contrib/slackware-dnsmasq/doinst.sh.gz +++ /dev/null diff --git a/contrib/slackware-dnsmasq/rc.dnsmasq.gz b/contrib/slackware-dnsmasq/rc.dnsmasq.gz Binary files differdeleted file mode 100755 index a86abbb..0000000 --- a/contrib/slackware-dnsmasq/rc.dnsmasq.gz +++ /dev/null diff --git a/contrib/slackware-dnsmasq/slack-desc b/contrib/slackware-dnsmasq/slack-desc deleted file mode 100755 index 0a0c577..0000000 --- a/contrib/slackware-dnsmasq/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -dnsmasq: dnsmasq (small DNS and DHCP server) -dnsmasq: -dnsmasq: Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP -dnsmasq: server. It is designed to provide DNS (and optionally DHCP) to a -dnsmasq: small network, and can serve the names of local machines which are not -dnsmasq: in the global DNS. -dnsmasq: -dnsmasq: Dnsmasq was written by Simon Kelley. -dnsmasq: -dnsmasq: -dnsmasq: diff --git a/contrib/try-all-ns/README b/contrib/try-all-ns/README deleted file mode 100755 index 224d554..0000000 --- a/contrib/try-all-ns/README +++ /dev/null @@ -1,19 +0,0 @@ -Date: Thu, 07 Dec 2006 00:41:43 -0500 -From: Bob Carroll <bob.carroll@rit.edu> -Subject: dnsmasq suggestion -To: simon@thekelleys.org.uk - - -Hello, - -I recently needed a feature in dnsmasq for a very bizarre situation. I -placed a list of name servers in a special resolve file and told dnsmasq -to use that. But I wanted it to try requests in order and treat NXDOMAIN -requests as a failed tcp connection. I wrote the feature into dnsmasq -and it seems to work. I prepared a patch in the event that others might -find it useful as well. - -Thanks and keep up the good work. - ---Bob - diff --git a/contrib/try-all-ns/README-2.47 b/contrib/try-all-ns/README-2.47 deleted file mode 100755 index 3ebec65..0000000 --- a/contrib/try-all-ns/README-2.47 +++ /dev/null @@ -1,11 +0,0 @@ -A remake of patch Bob Carroll had posted to dnsmasq, -now compatible with version 2.47. Hopefully he doesn't -mind (sending a copy of this mail to him too). - -Maybe the patch in question is not acceptible -as it doesn't add new switch, rather it binds itself to "strict-order". - -What it does is: if you have strict-order in the -dnsmasq config file and query a domain that would result -in NXDOMAIN, it iterates the whole given nameserver list -until the last one says NXDOMAIN. diff --git a/contrib/try-all-ns/dnsmasq-2.35-try-all-ns.patch b/contrib/try-all-ns/dnsmasq-2.35-try-all-ns.patch deleted file mode 100755 index ec3f3e0..0000000 --- a/contrib/try-all-ns/dnsmasq-2.35-try-all-ns.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -Nau dnsmasq-2.35/src/dnsmasq.h dnsmasq/src/dnsmasq.h ---- dnsmasq-2.35/src/dnsmasq.h 2006-10-18 16:24:50.000000000 -0400 -+++ dnsmasq/src/dnsmasq.h 2006-11-16 22:06:31.000000000 -0500 -@@ -112,6 +112,7 @@ - #define OPT_NO_PING 2097152 - #define OPT_LEASE_RO 4194304 - #define OPT_RELOAD 8388608 -+#define OPT_TRY_ALL_NS 16777216 - - struct all_addr { - union { -diff -Nau dnsmasq-2.35/src/forward.c dnsmasq/src/forward.c ---- dnsmasq-2.35/src/forward.c 2006-10-18 16:24:50.000000000 -0400 -+++ dnsmasq/src/forward.c 2006-11-16 22:08:19.000000000 -0500 -@@ -445,6 +445,10 @@ - { - struct server *server = forward->sentto; - -+ // If strict-order and try-all-ns are set, treat NXDOMAIN as a failed request -+ if( (daemon->options & OPT_ORDER) && (daemon->options && OPT_TRY_ALL_NS) -+ && header->rcode == NXDOMAIN ) header->rcode = SERVFAIL; -+ - if ((header->rcode == SERVFAIL || header->rcode == REFUSED) && forward->forwardall == 0) - /* for broken servers, attempt to send to another one. */ - { -diff -Nau dnsmasq-2.35/src/option.c dnsmasq/src/option.c ---- dnsmasq-2.35/src/option.c 2006-10-18 16:24:50.000000000 -0400 -+++ dnsmasq/src/option.c 2006-11-16 22:10:36.000000000 -0500 -@@ -28,7 +28,7 @@ - - /* options which don't have a one-char version */ - #define LOPT_RELOAD 256 -- -+#define LOPT_TRY_ALL_NS 257 - - #ifdef HAVE_GETOPT_LONG - static const struct option opts[] = -@@ -102,6 +102,7 @@ - {"leasefile-ro", 0, 0, '9'}, - {"dns-forward-max", 1, 0, '0'}, - {"clear-on-reload", 0, 0, LOPT_RELOAD }, -+ {"try-all-ns", 0, 0, LOPT_TRY_ALL_NS }, - { NULL, 0, 0, 0 } - }; - -@@ -134,6 +135,7 @@ - { '5', OPT_NO_PING }, - { '9', OPT_LEASE_RO }, - { LOPT_RELOAD, OPT_RELOAD }, -+ { LOPT_TRY_ALL_NS,OPT_TRY_ALL_NS }, - { 'v', 0}, - { 'w', 0}, - { 0, 0 } -@@ -208,6 +210,7 @@ - { "-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)"), "!" }, - { " --clear-on-reload", gettext_noop("Clear DNS cache when reloading %s."), RESOLVFILE }, -+ { " --try-all-ns", gettext_noop("Try all name servers in tandem on NXDOMAIN replies (use with strict-order)."), NULL }, - { NULL, NULL, NULL } - }; - diff --git a/contrib/try-all-ns/dnsmasq-2.47_no_nxdomain_until_end.patch b/contrib/try-all-ns/dnsmasq-2.47_no_nxdomain_until_end.patch deleted file mode 100755 index 7586003..0000000 --- a/contrib/try-all-ns/dnsmasq-2.47_no_nxdomain_until_end.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -ur dnsmasq-2.47/src/forward.c dnsmasq-2.47-patched/src/forward.c ---- dnsmasq-2.47/src/forward.c 2009-02-01 17:59:48.000000000 +0200 -+++ dnsmasq-2.47-patched/src/forward.c 2009-03-18 19:10:22.000000000 +0200 -@@ -488,9 +488,12 @@ - return; - - server = forward->sentto; -+ -+ if ( (header->rcode == NXDOMAIN) && ((daemon->options & OPT_ORDER) != 0) && (server->next != NULL) ) -+ header->rcode = SERVFAIL; - - if ((header->rcode == SERVFAIL || header->rcode == REFUSED) && -- !(daemon->options & OPT_ORDER) && -+ ((daemon->options & OPT_ORDER) != 0) && - forward->forwardall == 0) - /* for broken servers, attempt to send to another one. */ - { diff --git a/contrib/webmin/README b/contrib/webmin/README deleted file mode 100755 index 8a8f937..0000000 --- a/contrib/webmin/README +++ /dev/null @@ -1,54 +0,0 @@ - -This is the README for the DNSmasq webmin module. - -Problems: - -1) There's only basic error checking - if you enter some bad -addresses or names, they will go straight into the config file -although we do check for things like IP addresses being of -the correct form (no letters, 4 groups of up to 3 digits -separated by dots etc). One thing that ISN'T CHECKED FOR is -that IP dotted quads are all numbers < 256. Another is that -netmasks are logical (you could enter a netmask of 255.0.255.0 -for example). Essentially, if it'll pass the config file -regex scanner (and the above examples will), it won't be -flagged as "bad" even if it is a big no-no for dnsmasq itself. - -2) Code is ugly and a kludge - I ain't a programmer! There are probably -a lot of things that could be done to tidy up the code - eg, -it probably wouldn't hurt to move some common stuff into the lib file. - -3) I've used the %text hash and written an english lang file, but -I am mono-lingual so no other language support as yet. - -4) for reasons unknown to me, the icon does not appear properly -on the servers page of webmin (at least it doesn't for me!) - -5) icons have been shamelessly stolen from the ipfilter module, -specifically the up and down arrows. - -6) if you delete an item, the config file will contain -an otherwise empty, but commented line. This means that if -you add some new stuff, then delete it, the config file -will have a number of lines at the end that are just comments. -Therefore, the config file could possibly grow quite large. - -7) NO INCLUDE FILES! -if you use an include file, it'll be flagged as an error. -OK if the include file line is commented out though. - -8) deprecated lines not supported (eg user and group) - they -may produce an error! (user and group don't, but you can't change -them) - -IOW, it works, it's just not very elegant and not very robust. - -Hope you find it useful though - I do, as I prevents me having to ever -wade through the config file and man pages again. - -If you modify it, or add a language file, and you have a spare moment, -please e-mail me - I won't be upset at all if you fix my poor coding! -(rather the opposite - I'd be pleased someone found it usefull) - -Cheers, - Neil Fisher <neil@magnecor.com.au> diff --git a/contrib/webmin/dnsmasq.wbm b/contrib/webmin/dnsmasq.wbm Binary files differdeleted file mode 100755 index 7307e23..0000000 --- a/contrib/webmin/dnsmasq.wbm +++ /dev/null diff --git a/contrib/wrt/Makefile b/contrib/wrt/Makefile deleted file mode 100755 index 68e8d32..0000000 --- a/contrib/wrt/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -CFLAGS?= -O2 -Wall -W - -all: dhcp_release dhcp_lease_time - -clean: - rm -f *~ *.o core dhcp_release dhcp_lease_time diff --git a/contrib/wrt/README b/contrib/wrt/README deleted file mode 100755 index 862046f..0000000 --- a/contrib/wrt/README +++ /dev/null @@ -1,81 +0,0 @@ -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_lease_time.c b/contrib/wrt/dhcp_lease_time.c deleted file mode 100755 index 2866bb5..0000000 --- a/contrib/wrt/dhcp_lease_time.c +++ /dev/null @@ -1,214 +0,0 @@ -/* Copyright (c) 2007 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_lease_time <address> */ - -/* Send a DHCPINFORM message to a dnsmasq server running on the local host - and print (to stdout) the time remaining in any lease for the given - address. The time is given as string printed to stdout. - - If an error occurs or no lease exists for the given address, - nothing is sent to stdout a message is sent to stderr and a - non-zero error code is returned. - - Requires dnsmasq 2.40 or later. -*/ - -#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> -#include <linux/types.h> -#include <linux/netlink.h> -#include <linux/rtnetlink.h> -#include <errno.h> - -#define DHCP_CHADDR_MAX 16 -#define BOOTREQUEST 1 -#define DHCP_COOKIE 0x63825363 -#define OPTION_PAD 0 -#define OPTION_LEASE_TIME 51 -#define OPTION_OVERLOAD 52 -#define OPTION_MESSAGE_TYPE 53 -#define OPTION_END 255 -#define DHCPINFORM 8 -#define DHCP_SERVER_PORT 67 - -#define option_len(opt) ((int)(((unsigned char *)(opt))[1])) -#define option_ptr(opt) ((void *)&(((unsigned char *)(opt))[2])) - - -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 unsigned char *option_find1(unsigned char *p, unsigned char *end, int opt, int minsize) -{ - while (*p != OPTION_END) - { - if (p >= end) - return NULL; /* malformed packet */ - else if (*p == OPTION_PAD) - p++; - else - { - int opt_len; - if (p >= end - 2) - return NULL; /* malformed packet */ - opt_len = option_len(p); - if (p >= end - (2 + opt_len)) - return NULL; /* malformed packet */ - if (*p == opt && opt_len >= minsize) - return p; - p += opt_len + 2; - } - } - - return opt == OPTION_END ? p : NULL; -} - -static unsigned char *option_find(struct dhcp_packet *mess, size_t size, int opt_type, int minsize) -{ - unsigned char *ret, *overload; - - /* skip over DHCP cookie; */ - if ((ret = option_find1(&mess->options[0], ((unsigned char *)mess) + size, opt_type, minsize))) - return ret; - - /* look for overload option. */ - if (!(overload = option_find1(&mess->options[0], ((unsigned char *)mess) + size, OPTION_OVERLOAD, 1))) - return NULL; - - /* Can we look in filename area ? */ - if ((overload[2] & 1) && - (ret = option_find1(&mess->file[0], &mess->file[128], opt_type, minsize))) - return ret; - - /* finally try sname area */ - if ((overload[2] & 2) && - (ret = option_find1(&mess->sname[0], &mess->sname[64], opt_type, minsize))) - return ret; - - return NULL; -} - -static unsigned int option_uint(unsigned char *opt, int size) -{ - /* this worries about unaligned data and byte order */ - unsigned int ret = 0; - int i; - unsigned char *p = option_ptr(opt); - - for (i = 0; i < size; i++) - ret = (ret << 8) | *p++; - - return ret; -} - -int main(int argc, char **argv) -{ - struct in_addr lease; - struct dhcp_packet packet; - unsigned char *p = packet.options; - struct sockaddr_in dest; - int fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP); - ssize_t rc; - - if (argc < 2) - { - fprintf(stderr, "usage: dhcp_lease_time <address>\n"); - exit(1); - } - - if (fd == -1) - { - perror("cannot create socket"); - exit(1); - } - - lease.s_addr = inet_addr(argv[1]); - - memset(&packet, 0, sizeof(packet)); - - packet.hlen = 0; - packet.htype = 0; - - packet.op = BOOTREQUEST; - packet.ciaddr = lease; - packet.cookie = htonl(DHCP_COOKIE); - - *(p++) = OPTION_MESSAGE_TYPE; - *(p++) = 1; - *(p++) = DHCPINFORM; - - *(p++) = OPTION_END; - - dest.sin_family = AF_INET; - dest.sin_addr.s_addr = inet_addr("127.0.0.1"); - dest.sin_port = ntohs(DHCP_SERVER_PORT); - - if (sendto(fd, &packet, sizeof(packet), 0, - (struct sockaddr *)&dest, sizeof(dest)) == -1) - { - perror("sendto failed"); - exit(1); - } - - alarm(3); /* noddy timeout. */ - - rc = recv(fd, &packet, sizeof(packet), 0); - - if (rc < (ssize_t)(sizeof(packet) - sizeof(packet.options))) - { - perror("recv failed"); - exit(1); - } - - if ((p = option_find(&packet, (size_t)rc, OPTION_LEASE_TIME, 4))) - { - unsigned int t = option_uint(p, 4); - if (t == 0xffffffff) - printf("infinite"); - else - { - unsigned int x; - if ((x = t/86400)) - printf("%dd", x); - if ((x = (t/3600)%24)) - printf("%dh", x); - if ((x = (t/60)%60)) - printf("%dm", x); - if ((x = t%60)) - printf("%ds", x); - } - return 0; - } - - return 1; /* no lease */ -} diff --git a/contrib/wrt/dhcp_release.c b/contrib/wrt/dhcp_release.c deleted file mode 100755 index c66d3a0..0000000 --- a/contrib/wrt/dhcp_release.c +++ /dev/null @@ -1,331 +0,0 @@ -/* 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> -#include <linux/types.h> -#include <linux/netlink.h> -#include <linux/rtnetlink.h> -#include <errno.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 struct iovec iov; - -static int expand_buf(struct iovec *iov, size_t size) -{ - void *new; - - if (size <= iov->iov_len) - return 1; - - if (!(new = malloc(size))) - { - errno = ENOMEM; - return 0; - } - - if (iov->iov_base) - { - memcpy(new, iov->iov_base, iov->iov_len); - free(iov->iov_base); - } - - iov->iov_base = new; - iov->iov_len = size; - - return 1; -} - -static ssize_t netlink_recv(int fd) -{ - struct msghdr msg; - ssize_t rc; - - msg.msg_control = NULL; - msg.msg_controllen = 0; - msg.msg_name = NULL; - msg.msg_namelen = 0; - msg.msg_iov = &iov; - msg.msg_iovlen = 1; - - while (1) - { - msg.msg_flags = 0; - while ((rc = recvmsg(fd, &msg, MSG_PEEK)) == -1 && errno == EINTR); - - /* 2.2.x doesn't suport MSG_PEEK at all, returning EOPNOTSUPP, so we just grab a - big buffer and pray in that case. */ - if (rc == -1 && errno == EOPNOTSUPP) - { - if (!expand_buf(&iov, 2000)) - return -1; - break; - } - - if (rc == -1 || !(msg.msg_flags & MSG_TRUNC)) - break; - - if (!expand_buf(&iov, iov.iov_len + 100)) - return -1; - } - - /* finally, read it for real */ - while ((rc = recvmsg(fd, &msg, 0)) == -1 && errno == EINTR); - - return rc; -} - -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; -} - -static int is_same_net(struct in_addr a, struct in_addr b, struct in_addr mask) -{ - return (a.s_addr & mask.s_addr) == (b.s_addr & mask.s_addr); -} - -static struct in_addr find_interface(struct in_addr client, int fd, int index) -{ - struct sockaddr_nl addr; - struct nlmsghdr *h; - ssize_t len; - - struct { - struct nlmsghdr nlh; - struct rtgenmsg g; - } req; - - addr.nl_family = AF_NETLINK; - addr.nl_pad = 0; - addr.nl_groups = 0; - addr.nl_pid = 0; /* address to kernel */ - - req.nlh.nlmsg_len = sizeof(req); - req.nlh.nlmsg_type = RTM_GETADDR; - req.nlh.nlmsg_flags = NLM_F_ROOT | NLM_F_MATCH | NLM_F_REQUEST | NLM_F_ACK; - req.nlh.nlmsg_pid = 0; - req.nlh.nlmsg_seq = 1; - req.g.rtgen_family = AF_INET; - - if (sendto(fd, (void *)&req, sizeof(req), 0, - (struct sockaddr *)&addr, sizeof(addr)) == -1) - { - perror("sendto failed"); - exit(1); - } - - while (1) - { - if ((len = netlink_recv(fd)) == -1) - { - perror("netlink"); - exit(1); - } - - for (h = (struct nlmsghdr *)iov.iov_base; NLMSG_OK(h, (size_t)len); h = NLMSG_NEXT(h, len)) - if (h->nlmsg_type == NLMSG_DONE) - exit(0); - else if (h->nlmsg_type == RTM_NEWADDR) - { - struct ifaddrmsg *ifa = NLMSG_DATA(h); - struct rtattr *rta; - unsigned int len1 = h->nlmsg_len - NLMSG_LENGTH(sizeof(*ifa)); - - if (ifa->ifa_index == index && ifa->ifa_family == AF_INET) - { - struct in_addr netmask, addr; - - netmask.s_addr = htonl(0xffffffff << (32 - ifa->ifa_prefixlen)); - addr.s_addr = 0; - - for (rta = IFA_RTA(ifa); RTA_OK(rta, len1); rta = RTA_NEXT(rta, len1)) - if (rta->rta_type == IFA_LOCAL) - addr = *((struct in_addr *)(rta+1)); - - if (addr.s_addr && is_same_net(addr, client, netmask)) - return addr; - } - } - } - - exit(0); -} - -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); - int nl = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); - struct iovec iov; - - iov.iov_len = 200; - iov.iov_base = malloc(iov.iov_len); - - if (argc < 4 || argc > 5) - { - fprintf(stderr, "usage: dhcp_release <interface> <addr> <mac> [<client_id>]\n"); - exit(1); - } - - if (fd == -1 || nl == -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]); - if (setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, sizeof(ifr)) == -1) - { - perror("cannot setup interface"); - exit(1); - } - - - lease.s_addr = inet_addr(argv[2]); - server = find_interface(lease, nl, if_nametoindex(argv[1])); - - 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 deleted file mode 100755 index 46509b3..0000000 --- a/contrib/wrt/lease_update.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/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. - -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/doc.html b/doc.html deleted file mode 100755 index 18a4b24..0000000 --- a/doc.html +++ /dev/null @@ -1,113 +0,0 @@ -<HTML> -<HEAD> -<TITLE> Dnsmasq - a DNS forwarder for NAT firewalls.</TITLE> -</HEAD> -<BODY BGCOLOR="WHITE"> -<H1 ALIGN=center>Dnsmasq</H1> -Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP - server. It is designed to provide DNS and, optionally, DHCP, to a - small network. It can serve the names of local machines which are - not in the global DNS. The DHCP server integrates with the DNS - server and allows machines with DHCP-allocated addresses - to appear in the DNS with names configured either in each host or - in a central configuration file. Dnsmasq supports static and dynamic - DHCP leases and BOOTP/TFTP/PXE for network booting of diskless machines. -<P> - Dnsmasq is targeted at home networks using NAT and -connected to the internet via a modem, cable-modem or ADSL -connection but would be a good choice for any smallish network (up to -1000 clients is known to work) where low -resource use and ease of configuration are important. -<P> -Supported platforms include Linux (with glibc and uclibc), *BSD, -Solaris and Mac OS X. -Dnsmasq is included in at least the following Linux distributions: -Gentoo, Debian, Slackware, Suse, Fedora, -Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, fli4l, -CoyoteLinux, Endian Firewall and -Clarkconnect. It is also available as FreeBSD, OpenBSD and NetBSD ports and is used in -Linksys wireless routers (dd-wrt, openwrt and the stock firmware) and the m0n0wall project. -<P> -Dnsmasq provides the following features: -<DIR> - -<LI> -The DNS configuration of machines behind the firewall is simple and -doesn't depend on the details of the ISP's dns servers -<LI> -Clients which try to do DNS lookups while a modem link to the -internet is down will time out immediately. -</LI> -<LI> -Dnsmasq will serve names from the /etc/hosts file on the firewall -machine: If the names of local machines are there, then they can all -be addressed without having to maintain /etc/hosts on each machine. -</LI> -<LI> -The integrated DHCP server supports static and dynamic DHCP leases and -multiple networks and IP ranges. It works across BOOTP relays and -supports DHCP options including RFC3397 DNS search lists. -Machines which are configured by DHCP have their names automatically -included in the DNS and the names can specified by each machine or -centrally by associating a name with a MAC address in the dnsmasq -config file. -</LI> -<LI> -Dnsmasq caches internet addresses (A records and AAAA records) and address-to-name -mappings (PTR records), reducing the load on upstream servers and -improving performance (especially on modem connections). -</LI> -<LI> -Dnsmasq can be configured to automatically pick up the addresses of -its upstream nameservers from ppp or dhcp configuration. It will -automatically reload this information if it changes. This facility -will be of particular interest to maintainers of Linux firewall -distributions since it allows dns configuration to be made automatic. -</LI> -<LI> -On IPv6-enabled boxes, dnsmasq can both talk to upstream servers via IPv6 -and offer DNS service via IPv6. On dual-stack (IPv4 and IPv6) boxes it talks -both protocols and can even act as IPv6-to-IPv4 or IPv4-to-IPv6 forwarder. -</LI> -<LI> -Dnsmasq can be configured to send queries for certain domains to -upstream servers handling only those domains. This makes integration -with private DNS systems easy. -</LI> -<LI> -Dnsmasq supports MX and SRV records and can be configured to return MX records -for any or all local machines. -</LI> -</DIR> - -<H2>Download.</H2> - -<A HREF="http://www.thekelleys.org.uk/dnsmasq/"> Download</A> dnsmasq here. -The tarball includes this documentation, source, and manpage. -There is also a <A HREF="CHANGELOG"> CHANGELOG</A> and a <A HREF="FAQ">FAQ</A>. -Dnsmasq is part of the Debian distribution, it can be downloaded from -<A HREF="http://ftp.debian.org/debian/pool/main/d/dnsmasq/"> here</A> or installed using <TT>apt</TT>. - -<H2>Links.</H2> -Damien Raude-Morvan has an article in French at <A HREF="http://www.drazzib.com/docs-dnsmasq.html">http://www.drazzib.com/docs-dnsmasq.html</A> -There is a good article about dnsmasq at <A -HREF="http://www.enterprisenetworkingplanet.com/netos/article.php/3377351">http://www.enterprisenetworkingplanet.com/netos/article.php/3377351</A> -and another at <A -HREF="http://www.linux.com/articles/149040">http://www.linux.com/articles/149040</A> -and Ilya Evseev has an article in Russian about dnsmasq to be found at -<A HREF="http://ilya-evseev.narod.ru/articles/dnsmasq"> -http://ilya-evseev.narod.ru/articles/dnsmasq</A>. Ismael Ull has an -article about dnsmasq in Spanish at <A HREF="http://www.mey-online.com.ar/blog/index.php/archives/guia-rapida-de-dnsmasq">http://www.mey-online.com.ar/blog/index.php/archives/guia-rapida-de-dnsmasq</A> -<H2>License.</H2> -Dnsmasq is distributed under the GPL. See the file COPYING in the distribution -for details. - -<H2>Contact.</H2> -There is a dnsmasq mailing list at <A -HREF="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss"> -http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</A> which should be the -first location for queries, bugreports, suggestions etc. -Dnsmasq was written by Simon Kelley. You can contact me at <A -HREF="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</A>. -</BODY> - diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 deleted file mode 100755 index a5eac63..0000000 --- a/man/dnsmasq.8 +++ /dev/null @@ -1,1290 +0,0 @@ -.TH DNSMASQ 8 -.SH NAME -dnsmasq \- A lightweight DHCP and caching DNS server. -.SH SYNOPSIS -.B dnsmasq -.I [OPTION]... -.SH "DESCRIPTION" -.BR dnsmasq -is a lightweight DNS, TFTP and DHCP server. It is intended to provide -coupled DNS and DHCP service to a LAN. -.PP -Dnsmasq accepts DNS queries and either answers them from a small, local, -cache or forwards them to a real, recursive, DNS server. It loads the -contents of /etc/hosts so that local hostnames -which do not appear in the global DNS can be resolved and also answers -DNS queries for DHCP configured hosts. -.PP -The dnsmasq DHCP server supports static address assignments and multiple -networks. It automatically -sends a sensible default set of DHCP options, and can be configured to -send any desired set of DHCP options, including vendor-encapsulated -options. It includes a secure, read-only, -TFTP server to allow net/PXE boot of DHCP hosts and also supports BOOTP. -.PP -Dnsmasq -supports IPv6 for DNS, but not DHCP. -.SH OPTIONS -Note that in general missing parameters are allowed and switch off -functions, for instance "--pid-file" disables writing a PID file. On -BSD, unless the GNU getopt library is linked, the long form of the -options does not work on the command line; it is still recognised in -the configuration file. -.TP -.B --test -Read and syntax check configuration file(s). Exit with code 0 if all -is OK, or a non-zero code otherwise. Do not start up dnsmasq. -.TP -.B \-h, --no-hosts -Don't read the hostnames in /etc/hosts. -.TP -.B \-H, --addn-hosts=<file> -Additional hosts file. Read the specified file as well as /etc/hosts. If -h is given, read -only the specified file. This option may be repeated for more than one -additional hosts file. If a directory is given, then read all the files contained in that directory. -.TP -.B \-E, --expand-hosts -Add the domain to simple names (without a period) in /etc/hosts -in the same way as for DHCP-derived names. Note that this does not -apply to domain names in cnames, PTR records, TXT records etc. -.TP -.B \-T, --local-ttl=<time> -When replying with information from /etc/hosts or the DHCP leases -file dnsmasq by default sets the time-to-live field to zero, meaning -that the requestor should not itself cache the information. This is -the correct thing to do in almost all situations. This option allows a -time-to-live (in seconds) to be given for these replies. This will -reduce the load on the server at the expense of clients using stale -data under some circumstances. -.TP -.B --neg-ttl=<time> -Negative replies from upstream servers normally contain time-to-live -information in SOA records which dnsmasq uses for caching. If the -replies from upstream servers omit this information, dnsmasq does not -cache the reply. This option gives a default value for time-to-live -(in seconds) which dnsmasq uses to cache negative replies even in -the absence of an SOA record. -.TP -.B \-k, --keep-in-foreground -Do not go into the background at startup but otherwise run as -normal. This is intended for use when dnsmasq is run under daemontools -or launchd. -.TP -.B \-d, --no-daemon -Debug mode: don't fork to the background, don't write a pid file, -don't change user id, generate a complete cache dump on receipt on -SIGUSR1, log to stderr as well as syslog, don't fork new processes -to handle TCP queries. -.TP -.B \-q, --log-queries -Log the results of DNS queries handled by dnsmasq. Enable a full cache dump on receipt of SIGUSR1. -.TP -.B \-8, --log-facility=<facility> -Set the facility to which dnsmasq will send syslog entries, this -defaults to DAEMON, and to LOCAL0 when debug mode is in operation. If -the facility given contains at least one '/' character, it is taken to -be a filename, and dnsmasq logs to the given file, instead of -syslog. (Errors whilst reading configuration will still go to syslog, -but all output from a successful startup, and all output whilst -running, will go exclusively to the file.) When logging to a file, -dnsmasq will close and reopen the file when it receives SIGUSR2. This -allows the log file to be rotated without stopping dnsmasq. -.TP -.B --log-async[=<lines>] -Enable asynchronous logging and optionally set the limit on the -number of lines -which will be queued by dnsmasq when writing to the syslog is slow. -Dnsmasq can log asynchronously: this -allows it to continue functioning without being blocked by syslog, and -allows syslog to use dnsmasq for DNS queries without risking deadlock. -If the queue of log-lines becomes full, dnsmasq will log the -overflow, and the number of messages lost. The default queue length is -5, a sane value would be 5-25, and a maximum limit of 100 is imposed. -.TP -.B \-x, --pid-file=<path> -Specify an alternate path for dnsmasq to record its process-id in. Normally /var/run/dnsmasq.pid. -.TP -.B \-u, --user=<username> -Specify the userid to which dnsmasq will change after startup. Dnsmasq must normally be started as root, but it will drop root -privileges after startup by changing id to another user. Normally this user is "nobody" but that -can be over-ridden with this switch. -.TP -.B \-g, --group=<groupname> -Specify the group which dnsmasq will run -as. The defaults to "dip", if available, to facilitate access to -/etc/ppp/resolv.conf which is not normally world readable. -.TP -.B \-v, --version -Print the version number. -.TP -.B \-p, --port=<port> -Listen on <port> instead of the standard DNS port (53). Setting this -to zero completely disables DNS function, leaving only DHCP and/or TFTP. -.TP -.B \-P, --edns-packet-max=<size> -Specify the largest EDNS.0 UDP packet which is supported by the DNS -forwarder. Defaults to 1280, which is the RFC2671-recommended maximum -for ethernet. -.TP -.B \-Q, --query-port=<query_port> -Send outbound DNS queries from, and listen for their replies on, the -specific UDP port <query_port> instead of using random ports. NOTE -that using this option will make dnsmasq less secure against DNS -spoofing attacks but it may be faster and use less resources. Setting this option -to zero makes dnsmasq use a single port allocated to it by the -OS: this was the default behaviour in versions prior to 2.43. -.TP -.B --min-port=<port> -Do not use ports less than that given as source for outbound DNS -queries. Dnsmasq picks random ports as source for outbound queries: -when this option is given, the ports used will always to larger -than that specified. Useful for systems behind firewalls. -.TP -.B \-i, --interface=<interface name> -Listen only on the specified interface(s). Dnsmasq automatically adds -the loopback (local) interface to the list of interfaces to use when -the -.B \--interface -option is used. If no -.B \--interface -or -.B \--listen-address -options are given dnsmasq listens on all available interfaces except any -given in -.B \--except-interface -options. IP alias interfaces (eg "eth1:0") cannot be used with -.B --interface -or -.B --except-interface -options, use --listen-address instead. -.TP -.B \-I, --except-interface=<interface name> -Do not listen on the specified interface. Note that the order of -.B \--listen-address -.B --interface -and -.B --except-interface -options does not matter and that -.B --except-interface -options always override the others. -.TP -.B \-2, --no-dhcp-interface=<interface name> -Do not provide DHCP or TFTP on the specified interface, but do provide DNS service. -.TP -.B \-a, --listen-address=<ipaddr> -Listen on the given IP address(es). Both -.B \--interface -and -.B \--listen-address -options may be given, in which case the set of both interfaces and -addresses is used. Note that if no -.B \--interface -option is given, but -.B \--listen-address -is, dnsmasq will not automatically listen on the loopback -interface. To achieve this, its IP address, 127.0.0.1, must be -explicitly given as a -.B \--listen-address -option. -.TP -.B \-z, --bind-interfaces -On systems which support it, dnsmasq binds the wildcard address, -even when it is listening on only some interfaces. It then discards -requests that it shouldn't reply to. This has the advantage of -working even when interfaces come and go and change address. This -option forces dnsmasq to really bind only the interfaces it is -listening on. About the only time when this is useful is when -running another nameserver (or another instance of dnsmasq) on the -same machine. Setting this option also enables multiple instances of -dnsmasq which provide DHCP service to run in the same machine. -.TP -.B \-y, --localise-queries -Return answers to DNS queries from /etc/hosts which depend on the interface over which the query was -received. If a name in /etc/hosts has more than one address associated with -it, and at least one of those addresses is on the same subnet as the -interface to which the query was sent, then return only the -address(es) on that subnet. This allows for a server to have multiple -addresses in /etc/hosts corresponding to each of its interfaces, and -hosts will get the correct address based on which network they are -attached to. Currently this facility is limited to IPv4. -.TP -.B \-b, --bogus-priv -Bogus private reverse lookups. All reverse lookups for private IP ranges (ie 192.168.x.x, etc) -which are not found in /etc/hosts or the DHCP leases file are answered -with "no such domain" rather than being forwarded upstream. -.TP -.B \-V, --alias=[<old-ip>]|[<start-ip>-<end-ip>],<new-ip>[,<mask>] -Modify IPv4 addresses returned from upstream nameservers; old-ip is -replaced by new-ip. If the optional mask is given then any address -which matches the masked old-ip will be re-written. So, for instance -.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 -will map 1.2.3.56 to 6.7.8.56 and 1.2.3.67 to 6.7.8.67. This is what -Cisco PIX routers call "DNS doctoring". If the old IP is given as -range, then only addresses in the range, rather than a whole subnet, -are re-written. So -.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 -maps 192.168.0.10->192.168.0.40 to 10.0.0.10->10.0.0.40 -.TP -.B \-B, --bogus-nxdomain=<ipaddr> -Transform replies which contain the IP address given into "No such -domain" replies. This is intended to counteract a devious move made by -Verisign in September 2003 when they started returning the address of -an advertising web page in response to queries for unregistered names, -instead of the correct NXDOMAIN response. This option tells dnsmasq to -fake the correct response when it sees this behaviour. As at Sept 2003 -the IP address being returned by Verisign is 64.94.110.11 -.TP -.B \-f, --filterwin2k -Later versions of windows make periodic DNS requests which don't get sensible answers from -the public DNS and can cause problems by triggering dial-on-demand links. This flag turns on an option -to filter such requests. The requests blocked are for records of types SOA and SRV, and type ANY where the -requested name has underscores, to catch LDAP requests. -.TP -.B \-r, --resolv-file=<file> -Read the IP addresses of the upstream nameservers from <file>, instead of -/etc/resolv.conf. For the format of this file see -.BR resolv.conf (5) -the only lines relevant to dnsmasq are nameserver ones. Dnsmasq can -be told to poll more than one resolv.conf file, the first file name specified -overrides the default, subsequent ones add to the list. This is only -allowed when polling; the file with the currently latest modification -time is the one used. -.TP -.B \-R, --no-resolv -Don't read /etc/resolv.conf. Get upstream servers only from the command -line or the dnsmasq configuration file. -.TP -.B \-1, --enable-dbus -Allow dnsmasq configuration to be updated via DBus method calls. The -configuration which can be changed is upstream DNS servers (and -corresponding domains) and cache clear. Requires that dnsmasq has -been built with DBus support. -.TP -.B \-o, --strict-order -By default, dnsmasq will send queries to any of the upstream servers -it knows about and tries to favour servers that are known to -be up. Setting this flag forces dnsmasq to try each query with each -server strictly in the order they appear in /etc/resolv.conf -.TP -.B --all-servers -By default, when dnsmasq has more than one upstream server available, -it will send queries to just one server. Setting this flag forces -dnsmasq to send all queries to all available servers. The reply from -the server which answers first will be returned to the original requestor. -.TP -.B --stop-dns-rebind -Reject (and log) addresses from upstream nameservers which are in the -private IP ranges. This blocks an attack where a browser behind a -firewall is used to probe machines on the local network. -.TP -.B \-n, --no-poll -Don't poll /etc/resolv.conf for changes. -.TP -.B --clear-on-reload -Whenever /etc/resolv.conf is re-read, clear the DNS cache. -This is useful when new nameservers may have different -data than that held in cache. -.TP -.B \-D, --domain-needed -Tells dnsmasq to never forward queries for plain names, without dots -or domain parts, to upstream nameservers. If the name is not known -from /etc/hosts or DHCP then a "not found" answer is returned. -.TP -.B \-S, --local, --server=[/[<domain>]/[domain/]][<ipaddr>[#<port>][@<source-ip>|<interface>[#<port>]] -Specify IP address of upstream servers directly. Setting this flag does -not suppress reading of /etc/resolv.conf, use -R to do that. If one or -more -optional domains are given, that server is used only for those domains -and they are queried only using the specified server. This is -intended for private nameservers: if you have a nameserver on your -network which deals with names of the form -xxx.internal.thekelleys.org.uk at 192.168.1.1 then giving the flag -.B -S /internal.thekelleys.org.uk/192.168.1.1 -will send all queries for -internal machines to that nameserver, everything else will go to the -servers in /etc/resolv.conf. An empty domain specification, -.B // -has the special meaning of "unqualified names only" ie names without any -dots in them. A non-standard port may be specified as -part of the IP -address using a # character. -More than one -S flag is allowed, with -repeated domain or ipaddr parts as required. - -Also permitted is a -S -flag which gives a domain but no IP address; this tells dnsmasq that -a domain is local and it may answer queries from /etc/hosts or DHCP -but should never forward queries on that domain to any upstream -servers. -.B local -is a synonym for -.B server -to make configuration files clearer in this case. - -The optional string after the @ character tells -dnsmasq how to set the source of the queries to this -nameserver. It should be an ip-address, which should belong to the machine on which -dnsmasq is running otherwise this server line will be logged and then -ignored, or an interface name. If an interface name is given, then -queries to the server will be forced via that interface; if an -ip-address is given then the source address of the queries will be set -to that address. -The query-port flag is ignored for any servers which have a -source address specified but the port may be specified directly as -part of the source address. Forcing queries to an interface is not -implemented on all platforms supported by dnsmasq. -.TP -.B \-A, --address=/<domain>/[domain/]<ipaddr> -Specify an IP address to return for any host in the given domains. -Queries in the domains are never forwarded and always replied to -with the specified IP address which may be IPv4 or IPv6. To give -both IPv4 and IPv6 addresses for a domain, use repeated -A flags. -Note that /etc/hosts and DHCP leases override this for individual -names. A common use of this is to redirect the entire doubleclick.net -domain to some friendly local web server to avoid banner ads. The -domain specification works in the same was as for --server, with the -additional facility that /#/ matches any domain. Thus ---address=/#/1.2.3.4 will always return 1.2.3.4 for any query not -answered from /etc/hosts or DHCP and not sent to an upstream -nameserver by a more specific --server directive. -.TP -.B \-m, --mx-host=<mx name>[[,<hostname>],<preference>] -Return an MX record named <mx name> pointing to the given hostname (if -given), or -the host specified in the --mx-target switch -or, if that switch is not given, the host on which dnsmasq -is running. The default is useful for directing mail from systems on a LAN -to a central server. The preference value is optional, and defaults to -1 if not given. More than one MX record may be given for a host. -.TP -.B \-t, --mx-target=<hostname> -Specify the default target for the MX record returned by dnsmasq. See ---mx-host. If --mx-target is given, but not --mx-host, then dnsmasq -returns a MX record containing the MX target for MX queries on the -hostname of the machine on which dnsmasq is running. -.TP -.B \-e, --selfmx -Return an MX record pointing to itself for each local -machine. Local machines are those in /etc/hosts or with DHCP leases. -.TP -.B \-L, --localmx -Return an MX record pointing to the host given by mx-target (or the -machine on which dnsmasq is running) for each -local machine. Local machines are those in /etc/hosts or with DHCP -leases. -.TP -.B \-W, --srv-host=<_service>.<_prot>.[<domain>],[<target>[,<port>[,<priority>[,<weight>]]]] -Return a SRV DNS record. See RFC2782 for details. If not supplied, the -domain defaults to that given by -.B --domain. -The default for the target domain is empty, and the default for port -is one and the defaults for -weight and priority are zero. Be careful if transposing data from BIND -zone files: the port, weight and priority numbers are in a different -order. More than one SRV record for a given service/domain is allowed, -all that match are returned. -.TP -.B \-Y, --txt-record=<name>[[,<text>],<text>] -Return a TXT DNS record. The value of TXT record is a set of strings, -so any number may be included, split by commas. -.TP -.B --ptr-record=<name>[,<target>] -Return a PTR DNS record. -.TP -.B --naptr-record=<name>,<order>,<preference>,<flags>,<service>,<regexp>[,<replacement>] -Return an NAPTR DNS record, as specified in RFC3403. -.TP -.B --cname=<cname>,<target> -Return a CNAME record which indicates that <cname> is really -<target>. There are significant limitations on the target; it must be a -DNS name which is known to dnsmasq from /etc/hosts (or additional -hosts files) or from DHCP. If the target does not satisfy this -criteria, the whole cname is ignored. The cname must be unique, but it -is permissable to have more than one cname pointing to the same target. -.TP -.B --interface-name=<name>,<interface> -Return a DNS record associating the name with the primary address on -the given interface. This flag specifies an A record for the given -name in the same way as an /etc/hosts line, except that the address is -not constant, but taken from the given interface. If the interface is -down, not configured or non-existent, an empty record is returned. The -matching PTR record is also created, mapping the interface address to -the name. More than one name may be associated with an interface -address by repeating the flag; in that case the first instance is used -for the reverse address-to-name mapping. -.TP -.B \-c, --cache-size=<cachesize> -Set the size of dnsmasq's cache. The default is 150 names. Setting the cache size to zero disables caching. -.TP -.B \-N, --no-negcache -Disable negative caching. Negative caching allows dnsmasq to remember -"no such domain" answers from upstream nameservers and answer -identical queries without forwarding them again. -.TP -.B \-0, --dns-forward-max=<queries> -Set the maximum number of concurrent DNS queries. The default value is -150, which should be fine for most setups. The only known situation -where this needs to be increased is when using web-server log file -resolvers, which can generate large numbers of concurrent queries. -.TP -.B \-F, --dhcp-range=[[net:]network-id,]<start-addr>,<end-addr>[[,<netmask>],<broadcast>][,<lease time>] -Enable the DHCP server. Addresses will be given out from the range -<start-addr> to <end-addr> and from statically defined addresses given -in -.B dhcp-host -options. If the lease time is given, then leases -will be given for that length of time. The lease time is in seconds, -or minutes (eg 45m) or hours (eg 1h) or "infinite". If not given, -the default lease time is one hour. The -minimum lease time is two minutes. This -option may be repeated, with different addresses, to enable DHCP -service to more than one network. For directly connected networks (ie, -networks on which the machine running dnsmasq has an interface) the -netmask is optional. It is, however, required for networks which -receive DHCP service via a relay agent. The broadcast address is -always optional. It is always -allowed to have more than one dhcp-range in a single subnet. The optional -network-id is a alphanumeric label which marks this network so that -dhcp options may be specified on a per-network basis. -When it is prefixed with 'net:' then its meaning changes from setting -a tag to matching it. Only one tag may be set, but more than one tag may be matched. -The end address may be replaced by the keyword -.B static -which tells dnsmasq to enable DHCP for the network specified, but not -to dynamically allocate IP addresses: only hosts which have static -addresses given via -.B dhcp-host -or from /etc/ethers will be served. The end address may be replaced by -the keyword -.B proxy -in which case dnsmasq will provide proxy-DHCP on the specified -subnet. (See -.B pxe-prompt -and -.B pxe-service -for details.) -.TP -.B \-G, --dhcp-host=[<hwaddr>][,id:<client_id>|*][,net:<netid>][,<ipaddr>][,<hostname>][,<lease_time>][,ignore] -Specify per host parameters for the DHCP server. This allows a machine -with a particular hardware address to be always allocated the same -hostname, IP address and lease time. A hostname specified like this -overrides any supplied by the DHCP client on the machine. It is also -allowable to ommit the hardware address and include the hostname, in -which case the IP address and lease times will apply to any machine -claiming that name. For example -.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite -tells dnsmasq to give -the machine with hardware address 00:20:e0:3b:13:af the name wap, and -an infinite DHCP lease. -.B --dhcp-host=lap,192.168.0.199 -tells -dnsmasq to always allocate the machine lap the IP address -192.168.0.199. Addresses allocated like this are not constrained to be -in the range given by the --dhcp-range option, but they must be on the -network being served by the DHCP server. It is allowed to use client identifiers rather than -hardware addresses to identify hosts by prefixing with 'id:'. Thus: -.B --dhcp-host=id:01:02:03:04,..... -refers to the host with client identifier 01:02:03:04. It is also -allowed to specify the client ID as text, like this: -.B --dhcp-host=id:clientidastext,..... - -The special option id:* means "ignore any client-id -and use MAC addresses only." This is useful when a client presents a client-id sometimes -but not others. - -If a name appears in /etc/hosts, the associated address can be -allocated to a DHCP lease, but only if a -.B --dhcp-host -option specifying the name also exists. The special keyword "ignore" -tells dnsmasq to never offer a DHCP lease to a machine. The machine -can be specified by hardware address, client ID or hostname, for -instance -.B --dhcp-host=00:20:e0:3b:13:af,ignore -This is -useful when there is another DHCP server on the network which should -be used by some machines. - -The net:<network-id> sets the network-id tag -whenever this dhcp-host directive is in use. This can be used to -selectively send DHCP options just for this host. When a host matches any -dhcp-host directive (or one implied by /etc/ethers) then the special -network-id tag "known" is set. This allows dnsmasq to be configured to -ignore requests from unknown machines using -.B --dhcp-ignore=#known -Ethernet addresses (but not client-ids) may have -wildcard bytes, so for example -.B --dhcp-host=00:20:e0:3b:13:*,ignore -will cause dnsmasq to ignore a range of hardware addresses. Note that -the "*" will need to be escaped or quoted on a command line, but not -in the configuration file. - -Hardware addresses normally match any -network (ARP) type, but it is possible to restrict them to a single -ARP type by preceding them with the ARP-type (in HEX) and "-". so -.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 -will only match a -Token-Ring hardware address, since the ARP-address type for token ring -is 6. - -As a special case, it is possible to include more than one -hardware address. eg: -.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2 -This allows an IP address to be associated with -multiple hardware addresses, and gives dnsmasq permission to abandon a -DHCP lease to one of the hardware addresses when another one asks for -a lease. Beware that this is a dangerous thing to do, it will only -work reliably if only one of the hardware addresses is active at any -time and there is no way for dnsmasq to enforce this. It is, for instance, -useful to allocate a stable IP address to a laptop which -has both wired and wireless interfaces. -.TP -.B --dhcp-hostsfile=<file> -Read DHCP host information from the specified file. The file contains -information about one host per line. The format of a line is the same -as text to the right of '=' in --dhcp-host. The advantage of storing DHCP host information -in this file is that it can be changed without re-starting dnsmasq: -the file will be re-read when dnsmasq receives SIGHUP. -.TP -.B --dhcp-optsfile=<file> -Read DHCP option information from the specified file. The advantage of -using this option is the same as for --dhcp-hostsfile: the -dhcp-optsfile will be re-read when dnsmasq receives SIGHUP. Note that -it is possible to encode the information in a -.B --dhcp-boot -flag as DHCP options, using the options names bootfile-name, -server-ip-address and tftp-server. This allows these to be included -in a dhcp-optsfile. -.TP -.B \-Z, --read-ethers -Read /etc/ethers for information about hosts for the DHCP server. The -format of /etc/ethers is a hardware address, followed by either a -hostname or dotted-quad IP address. When read by dnsmasq these lines -have exactly the same effect as -.B --dhcp-host -options containing the same information. /etc/ethers is re-read when -dnsmasq receives SIGHUP. -.TP -.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]] -Specify different or extra options to DHCP clients. By default, -dnsmasq sends some standard options to DHCP clients, the netmask and -broadcast address are set to the same as the host running dnsmasq, and -the DNS server and default route are set to the address of the machine -running dnsmasq. If the domain name option has been set, that is sent. -This configuration allows these defaults to be overridden, -or other options specified. The option, to be sent may be given as a -decimal number or as "option:<option-name>" The option numbers are -specified in RFC2132 and subsequent RFCs. The set of option-names -known by dnsmasq can be discovered by running "dnsmasq --help dhcp". -For example, to set the default route option to -192.168.4.4, do -.B --dhcp-option=3,192.168.4.4 -or -.B --dhcp-option = option:router, 192.168.4.4 -and to set the time-server address to 192.168.0.4, do -.B --dhcp-option = 42,192.168.0.4 -or -.B --dhcp-option = option:ntp-server, 192.168.0.4 -The special address 0.0.0.0 is taken to mean "the address of the -machine running dnsmasq". Data types allowed are comma separated -dotted-quad IP addresses, a decimal number, colon-separated hex digits -and a text string. If the optional network-ids are given then -this option is only sent when all the network-ids are matched. - -Special processing is done on a text argument for option 119, to -conform with RFC 3397. Text or dotted-quad IP addresses as arguments -to option 120 are handled as per RFC 3361. Dotted-quad IP addresses -which are followed by a slash and then a netmask size are encoded as -described in RFC 3442. - -Be careful: no checking is done that the correct type of data for the -option number is sent, it is quite possible to -persuade dnsmasq to generate illegal DHCP packets with injudicious use -of this flag. When the value is a decimal number, dnsmasq must determine how -large the data item is. It does this by examining the option number and/or the -value, but can be overridden by appending a single letter flag as follows: -b = one byte, s = two bytes, i = four bytes. This is mainly useful with -encapsulated vendor class options (see below) where dnsmasq cannot -determine data size from the option number. Option data which -consists solely of periods and digits will be interpreted by dnsmasq -as an IP address, and inserted into an option as such. To force a -literal string, use quotes. For instance when using option 66 to send -a literal IP address as TFTP server name, it is necessary to do -.B --dhcp-option=66,"1.2.3.4" - -Encapsulated Vendor-class options may also be specified using ---dhcp-option: for instance -.B --dhcp-option=vendor:PXEClient,1,0.0.0.0 -sends the encapsulated vendor -class-specific option "mftp-address=0.0.0.0" to any client whose -vendor-class matches "PXEClient". The vendor-class matching is -substring based (see --dhcp-vendorclass for details). If a -vendor-class option (number 60) is sent by dnsmasq, then that is used -for selecting encapsulated options in preference to any sent by the -client. It is -possible to omit the vendorclass completely; -.B --dhcp-option=vendor:,1,0.0.0.0 -in which case the encapsulated option is always sent. - -Options may be encapsulated within other options: for instance -.B --dhcp-option=encap:175, 190, "iscsi-client0" -will send option 175, within which is the option 190. If multiple -options are given which are encapsulated with the same option number -then they will be correctly combined into one encapsulated option. -encap: and vendor: are may not both be set in the same dhcp-option. - -The address 0.0.0.0 is not treated specially in -encapsulated options. -.TP -.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]] -This works in exactly the same way as -.B --dhcp-option -except that the option will always be sent, even if the client does -not ask for it in the parameter request list. This is sometimes -needed, for example when sending options to PXELinux. -.TP -.B --dhcp-no-override -Disable re-use of the DHCP servername and filename fields as extra -option space. If it can, dnsmasq moves the boot server and filename -information (from dhcp-boot) out of their dedicated fields into -DHCP options. This make extra space available in the DHCP packet for -options but can, rarely, confuse old or broken clients. This flag -forces "simple and safe" behaviour to avoid problems in such a case. -.TP -.B \-U, --dhcp-vendorclass=<network-id>,<vendor-class> -Map from a vendor-class string to a network id tag. Most DHCP clients provide a -"vendor class" which represents, in some sense, the type of host. This option -maps vendor classes to tags, so that DHCP options may be selectively delivered -to different classes of hosts. For example -.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect -will allow options to be set only for HP printers like so: -.B --dhcp-option=printers,3,192.168.4.4 -The vendor-class string is -substring matched against the vendor-class supplied by the client, to -allow fuzzy matching. -.TP -.B \-j, --dhcp-userclass=<network-id>,<user-class> -Map from a user-class string to a network id tag (with substring -matching, like vendor classes). Most DHCP clients provide a -"user class" which is configurable. This option -maps user classes to tags, so that DHCP options may be selectively delivered -to different classes of hosts. It is possible, for instance to use -this to set a different printer server for hosts in the class -"accounts" than for hosts in the class "engineering". -.TP -.B \-4, --dhcp-mac=<network-id>,<MAC address> -Map from a MAC address to a network-id tag. The MAC address may include -wildcards. For example -.B --dhcp-mac=3com,01:34:23:*:*:* -will set the tag "3com" for any host whose MAC address matches the pattern. -.TP -.B --dhcp-circuitid=<network-id>,<circuit-id>, --dhcp-remoteid=<network-id>,<remote-id> -Map from RFC3046 relay agent options to network-id tags. This data may -be provided by DHCP relay agents. The circuit-id or remote-id is -normally given as colon-separated hex, but is also allowed to be a -simple string. If an exact match is achieved between the circuit or -agent ID and one provided by a relay agent, the network-id tag is set. -.TP -.B --dhcp-subscrid=<network-id>,<subscriber-id> -Map from RFC3993 subscriber-id relay agent options to network-id tags. -.TP -.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>] -Without a value, set the network-id tag if the client sends a DHCP -option of the given number or name. When a value is given, set the tag only if -the option is sent and matches the value. The value may be of the form -"01:ff:*:02" in which case the value must match (apart from widcards) -but the option sent may have unmatched data past the end of the -value. The value may also be of the same form as in -.B dhcp-option -in which case the option sent is treated as an array, and one element -must match, so - ---dhcp-match=efi-ia32,option:client-arch,6 - -will set the tag "efi-ia32" if the the number 6 appears in the list of -architectures sent by the client in option 93. (See RFC 4578 for -details.) If the value is a string, substring matching is used. -.TP -.B \-J, --dhcp-ignore=<network-id>[,<network-id>] -When all the given network-ids match the set of network-ids derived -from the net, host, vendor and user classes, ignore the host and do -not allocate it a DHCP lease. -.TP -.B --dhcp-ignore-names[=<network-id>[,<network-id>]] -When all the given network-ids match the set of network-ids derived -from the net, host, vendor and user classes, ignore any hostname -provided by the host. Note that, unlike dhcp-ignore, it is permissible -to supply no netid tags, in which case DHCP-client supplied hostnames -are always ignored, and DHCP hosts are added to the DNS using only -dhcp-host configuration in dnsmasq and the contents of /etc/hosts and -/etc/ethers. -.TP -.B --dhcp-broadcast=<network-id>[,<network-id>] -When all the given network-ids match the set of network-ids derived -from the net, host, vendor and user classes, always use broadcast to -communicate with the host when it is unconfigured. Most DHCP clients which -need broadcast replies set a flag in their requests so that this -happens automatically, some old BOOTP clients do not. -.TP -.B \-M, --dhcp-boot=[net:<network-id>,]<filename>,[<servername>[,<server address>]] -Set BOOTP options to be returned by the DHCP server. Server name and -address are optional: if not provided, the name is left empty, and the -address set to the address of the machine running dnsmasq. If dnsmasq -is providing a TFTP service (see -.B --enable-tftp -) then only the filename is required here to enable network booting. -If the optional network-id(s) are given, -they must match for this configuration to be sent. Note that -network-ids are prefixed by "net:" to distinguish them. -.TP -.B --pxe-service=[net:<network-id>,]<CSA>,<menu text>,<basename>|<bootservicetype>[,<server address>] -Most uses of PXE boot-ROMS simply allow the PXE -system to obtain an IP address and then download the file specified by -.B dhcp-boot -and execute it. However the PXE system is capable of more complex -functions when supported by a suitable DHCP server. - -This specifies a boot option which may appear in a PXE boot menu. <CSA> is -client system type, only services of the correct type will appear in a -menu. The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, -Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI; an -integer may be used for other types. The -parameter after the menu text may be a file name, in which case dnsmasq acts as a -boot server and directs the PXE client to download the file by TFTP, -either from itself ( -.B enable-tftp -must be set for this to work) or another TFTP server if the final IP -address is given. -Note that the "layer" -suffix (normally ".0") is supplied by PXE, and should not be added to -the basename. If an integer boot service type, rather than a basename -is given, then the PXE client will search for a -suitable boot service for that type on the network. This search may be done -by multicast or broadcast, or direct to a server if its IP address is provided. A boot service -type of 0 is special, and will abort the net boot procedure and -continue booting from local media. -.TP -.B --pxe-prompt=[net:<network-id>,]<prompt>[,<timeout>] -Setting this provides a prompt to be displayed after PXE boot. If the -timeout is given then after the -timeout has elapsed with no keyboard input, the first available menu -option will be automatically executed. If the timeout is zero then the first available menu -item will be executed immediately. If -.B pxe-prompt -is ommitted the system will wait for user input if there are multiple -items in the menu, but boot immediately if -there is only one. See -.B pxe-service -for details of menu items. - -Dnsmasq supports PXE "proxy-DHCP", in this case another DHCP server on -the network is responsible for allocating IP addresses, and dnsmasq -simply provides the information given in -.B pxe-prompt -and -.B pxe-service -to allow netbooting. This mode is enabled using the -.B proxy -keyword in -.B dhcp-range. -.TP -.B \-X, --dhcp-lease-max=<number> -Limits dnsmasq to the specified maximum number of DHCP leases. The -default is 150. This limit is to prevent DoS attacks from hosts which -create thousands of leases and use lots of memory in the dnsmasq -process. -.TP -.B \-K, --dhcp-authoritative -Should be set when dnsmasq is definitely the only DHCP server on a network. -It changes the behaviour from strict RFC compliance so that DHCP requests on -unknown leases from unknown hosts are not ignored. This allows new hosts -to get a lease without a tedious timeout under all circumstances. It also -allows dnsmasq to rebuild its lease database without each client needing to -reacquire a lease, if the database is lost. -.TP -.B --dhcp-alternate-port[=<server port>[,<client port>]] -Change the ports used for DHCP from the default. If this option is -given alone, without arguments, it changes the ports used for DHCP -from 67 and 68 to 1067 and 1068. If a single argument is given, that -port number is used for the server and the port number plus one used -for the client. Finally, two port numbers allows arbitrary -specification of both server and client ports for DHCP. -.TP -.B \-3, --bootp-dynamic[=<network-id>[,<network-id>]] -Enable dynamic allocation of IP addresses to BOOTP clients. Use this -with care, since each address allocated to a BOOTP client is leased -forever, and therefore becomes permanently unavailable for re-use by -other hosts. if this is given without tags, then it unconditionally -enables dynamic allocation. With tags, only when the tags are all -set. It may be repeated with different tag sets. -.TP -.B \-5, --no-ping -By default, the DHCP server will attempt to ensure that an address in -not in use before allocating it to a host. It does this by sending an -ICMP echo request (aka "ping") to the address in question. If it gets -a reply, then the address must already be in use, and another is -tried. This flag disables this check. Use with caution. -.TP -.B --log-dhcp -Extra logging for DHCP: log all the options sent to DHCP clients and -the netid tags used to determine them. -.TP -.B \-l, --dhcp-leasefile=<path> -Use the specified file to store DHCP lease information. -.TP -.B \-6 --dhcp-script=<path> -Whenever a new DHCP lease is created, or an old one destroyed, the -executable specified by this option is run. The arguments to the process -are "add", "old" or "del", the MAC -address of the host, 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 (also, lease length or expiry and client-id, if leasefile-ro is set). -If the MAC address is from a network type other than ethernet, -it will have the network type prepended, eg "06-01:23:45:67:89:ab" for -token ring. The process is run as root (assuming that dnsmasq was originally run as -root) even if dnsmasq is configured to change UID to an unprivileged user. -The environment is inherited from the invoker of dnsmasq, and if the -host provided a client-id, this is stored in the environment variable -DNSMASQ_CLIENT_ID. If the fully-qualified domain name of the host is -known, the domain part is stored in DNSMASQ_DOMAIN. -If the client provides vendor-class, hostname or user-class, - these are provided in DNSMASQ_VENDOR_CLASS -DNSMASQ_SUPPLIED_HOSTNAME and -DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn variables, but only for -"add" actions or "old" actions when a host resumes an existing lease, -since these data are not held in dnsmasq's lease -database. 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. The number of seconds until lease expiry is -always stored in DNSMASQ_TIME_REMAINING. -If a lease used to have a hostname, which is -removed, an "old" event is generated with the new state of the lease, -ie no name, and the former name is provided in the environment -variable DNSMASQ_OLD_HOSTNAME. DNSMASQ_INTERFACE stores the name of -the interface on which the request arrived; this is not set for "old" -actions when dnsmasq restarts. DNSMASQ_RELAY_ADDRESS is set if the client -used a DHCP relay to contact dnsmasq and the IP address of the relay is known. -All file descriptors are -closed except stdin, stdout and stderr which are open to /dev/null -(except in debug mode). -The script is not invoked concurrently: if subsequent lease -changes occur, the script is not invoked again until any existing -invocation 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. When dnsmasq -receives a HUP signal, the script will be invoked for existing leases -with an "old " event. -.TP -.B --dhcp-scriptuser -Specify the user as which to run the lease-change script. This defaults to root, but can be changed to another user using this flag. -.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 -invocations 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 --bridge-interface=<interface>,<alias>[,<alias>] -Treat DHCP request packets arriving at any of the <alias> interfaces -as if they had arrived at <interface>. This option is necessary when -using "old style" bridging on BSD platforms, since -packets arrive at tap interfaces which don't have an IP address. -.TP -.B \-s, --domain=<domain>[,<address range>] -Specifies DNS domains for the DHCP server. Domains may be be given -unconditionally (without the IP range) or for limited IP ranges. This has two effects; -firstly it causes the DHCP server to return the domain to any hosts -which request it, and secondly it sets the domain which it is legal -for DHCP-configured hosts to claim. The intention is to constrain -hostnames so that an untrusted host on the LAN cannot advertise -its name via dhcp as e.g. "microsoft.com" and capture traffic not -meant for it. If no domain suffix is specified, then any DHCP -hostname with a domain part (ie with a period) will be disallowed -and logged. If suffix is specified, then hostnames with a domain -part are allowed, provided the domain part matches the suffix. In -addition, when a suffix is set then hostnames without a domain -part have the suffix added as an optional domain part. Eg on my network I can set -.B --domain=thekelleys.org.uk -and have a machine whose DHCP hostname is "laptop". The IP address for that machine is available from -.B dnsmasq -both as "laptop" and "laptop.thekelleys.org.uk". If the domain is -given as "#" then the domain is read from the first "search" directive -in /etc/resolv.conf (or equivalent). The address range can be of the form -<ip address>,<ip address> or <ip address>/<netmask> or just a single -<ip address>. See -.B --dhcp-fqdn -which can change the behaviour of dnsmasq with domains. -.TP -.B --dhcp-fqdn -In the default mode, dnsmasq inserts the unqualified names of -DHCP clients into the DNS. For this reason, the names must be unique, -even if two clients which have the same name are in different -domains. If a second DHCP client appears which has the same name as an -existing client, the name is transfered to the new client. If -.B --dhcp-fqdn -is set, this behaviour changes: the unqualified name is no longer -put in the DNS, only the qualified name. Two DHCP clients with the -same name may both keep the name, provided that the domain part is -different (ie the fully qualified names differ.) To ensure that all -names have a domain part, there must be at least -.B --domain -without an address specified when -.B --dhcp-fqdn -is set. -.TP -.B --enable-tftp -Enable the TFTP server function. This is deliberately limited to that -needed to net-boot a client. Only reading is allowed; the tsize and -blksize extensions are supported (tsize is only supported in octet mode). -.TP -.B --tftp-root=<directory> -Look for files to transfer using TFTP relative to the given -directory. When this is set, TFTP paths which include ".." are -rejected, to stop clients getting outside the specified root. -Absolute paths (starting with /) are allowed, but they must be within -the tftp-root. -.TP -.B --tftp-unique-root -Add the IP address of the TFTP client as a path component on the end -of the TFTP-root (in standard dotted-quad format). Only valid if a -tftp-root is set and the directory exists. For instance, if tftp-root is "/tftp" and client -1.2.3.4 requests file "myfile" then the effective path will be -"/tftp/1.2.3.4/myfile" if /tftp/1.2.3.4 exists or /tftp/myfile otherwise. -.TP -.B --tftp-secure -Enable TFTP secure mode: without this, any file which is readable by -the dnsmasq process under normal unix access-control rules is -available via TFTP. When the --tftp-secure flag is given, only files -owned by the user running the dnsmasq process are accessible. If -dnsmasq is being run as root, different rules apply: --tftp-secure -has no effect, but only files which have the world-readable bit set -are accessible. It is not recommended to run dnsmasq as root with TFTP -enabled, and certainly not without specifying --tftp-root. Doing so -can expose any world-readable file on the server to any host on the net. -.TP -.B --tftp-max=<connections> -Set the maximum number of concurrent TFTP connections allowed. This -defaults to 50. When serving a large number of TFTP connections, -per-process file descriptor limits may be encountered. Dnsmasq needs -one file descriptor for each concurrent TFTP connection and one -file descriptor per unique file (plus a few others). So serving the -same file simultaneously to n clients will use require about n + 10 file -descriptors, serving different files simultaneously to n clients will -require about (2*n) + 10 descriptors. If -.B --tftp-port-range -is given, that can affect the number of concurrent connections. -.TP -.B --tftp-no-blocksize -Stop the TFTP server from negotiating the "blocksize" option with a -client. Some buggy clients request this option but then behave badly -when it is granted. -.TP -.B --tftp-port-range=<start>,<end> -A TFTP server listens on a well-known port (69) for connection initiation, -but it also uses a dynamically-allocated port for each -connection. Normally these are allocated by the OS, but this option -specifies a range of ports for use by TFTP transfers. This can be -useful when TFTP has to traverse a firewall. The start of the range -cannot be lower than 1025 unless dnsmasq is running as root. The number -of concurrent TFTP connections is limited by the size of the port range. -.TP -.B \-C, --conf-file=<file> -Specify a different configuration file. The conf-file option is also allowed in -configuration files, to include multiple configuration files. -.TP -.B \-7, --conf-dir=<directory>[,<file-extension>......] -Read all the files in the given directory as configuration -files. If extension(s) are given, any files which end in those -extensions are skipped. Any files whose names end in ~ or start with . or start and end -with # are always skipped. This flag may be given on the command -line or in a configuration file. -.SH CONFIG FILE -At startup, dnsmasq reads -.I /etc/dnsmasq.conf, -if it exists. (On -FreeBSD, the file is -.I /usr/local/etc/dnsmasq.conf -) (but see the -.B \-C -and -.B \-7 -options.) The format of this -file consists of one option per line, exactly as the long options detailed -in the OPTIONS section but without the leading "--". Lines starting with # are comments and ignored. For -options which may only be specified once, the configuration file overrides -the command line. Quoting is allowed in a config file: -between " quotes the special meanings of ,:. and # are removed and the -following escapes are allowed: \\\\ \\" \\t \\e \\b \\r and \\n. The later -corresponding to tab, escape, backspace, return and newline. -.SH NOTES -When it receives a SIGHUP, -.B dnsmasq -clears its cache and then re-loads -.I /etc/hosts -and -.I /etc/ethers -and any file given by --dhcp-hostsfile, --dhcp-optsfile or --addn-hosts. -The dhcp lease change script is called for all -existing DHCP leases. If -.B ---no-poll -is set SIGHUP also re-reads -.I /etc/resolv.conf. -SIGHUP -does NOT re-read the configuration file. -.PP -When it receives a SIGUSR1, -.B dnsmasq -writes statistics to the system log. It writes the cache size, -the number of names which have had to removed from the cache before -they expired in order to make room for new names and the total number -of names that have been inserted into the cache. For each upstream -server it gives the number of queries sent, and the number which -resulted in an error. In -.B --no-daemon -mode or when full logging is enabled (-q), a complete dump of the -contents of the cache is made. -.PP -When it receives SIGUSR2 and it is logging direct to a file (see -.B --log-facility -) -.B dnsmasq -will close and reopen the log file. Note that during this operation, -dnsmasq will not be running as root. When it first creates the logfile -dnsmasq changes the ownership of the file to the non-root user it will run -as. Logrotate should be configured to create a new log file with -the ownership which matches the existing one before sending SIGUSR2. -If TCP DNS queries are in progress, the old logfile will remain open in -child processes which are handling TCP queries and may continue to be -written. There is a limit of 150 seconds, after which all existing TCP -processes will have expired: for this reason, it is not wise to -configure logfile compression for logfiles which have just been -rotated. Using logrotate, the required options are -.B create -and -.B delaycompress. - - -.PP -Dnsmasq is a DNS query forwarder: it it not capable of recursively -answering arbitrary queries starting from the root servers but -forwards such queries to a fully recursive upstream DNS server which is -typically provided by an ISP. By default, dnsmasq reads -.I /etc/resolv.conf -to discover the IP -addresses of the upstream nameservers it should use, since the -information is typically stored there. Unless -.B --no-poll -is used, -.B dnsmasq -checks the modification time of -.I /etc/resolv.conf -(or equivalent if -.B \--resolv-file -is used) and re-reads it if it changes. This allows the DNS servers to -be set dynamically by PPP or DHCP since both protocols provide the -information. -Absence of -.I /etc/resolv.conf -is not an error -since it may not have been created before a PPP connection exists. Dnsmasq -simply keeps checking in case -.I /etc/resolv.conf -is created at any -time. Dnsmasq can be told to parse more than one resolv.conf -file. This is useful on a laptop, where both PPP and DHCP may be used: -dnsmasq can be set to poll both -.I /etc/ppp/resolv.conf -and -.I /etc/dhcpc/resolv.conf -and will use the contents of whichever changed -last, giving automatic switching between DNS servers. -.PP -Upstream servers may also be specified on the command line or in -the configuration file. These server specifications optionally take a -domain name which tells dnsmasq to use that server only to find names -in that particular domain. -.PP -In order to configure dnsmasq to act as cache for the host on which it is running, put "nameserver 127.0.0.1" in -.I /etc/resolv.conf -to force local processes to send queries to -dnsmasq. Then either specify the upstream servers directly to dnsmasq -using -.B \--server -options or put their addresses real in another file, say -.I /etc/resolv.dnsmasq -and run dnsmasq with the -.B \-r /etc/resolv.dnsmasq -option. This second technique allows for dynamic update of the server -addresses by PPP or DHCP. -.PP -Addresses in /etc/hosts will "shadow" different addresses for the same -names in the upstream DNS, so "mycompany.com 1.2.3.4" in /etc/hosts will ensure that -queries for "mycompany.com" always return 1.2.3.4 even if queries in -the upstream DNS would otherwise return a different address. There is -one exception to this: if the upstream DNS contains a CNAME which -points to a shadowed name, then looking up the CNAME through dnsmasq -will result in the unshadowed address associated with the target of -the CNAME. To work around this, add the CNAME to /etc/hosts so that -the CNAME is shadowed too. - -.PP -The network-id system works as follows: For each DHCP request, dnsmasq -collects a set of valid network-id tags, one from the -.B dhcp-range -used to allocate the address, one from any matching -.B dhcp-host -(and "known" if a dhcp-host matches) -the tag "bootp" for BOOTP requests, a tag whose name is the -name if the interface on which the request arrived, -and possibly many from matching vendor classes and user -classes sent by the DHCP client. Any -.B dhcp-option -which has network-id tags will be used in preference to an untagged -.B dhcp-option, -provided that _all_ the tags match somewhere in the -set collected as described above. The prefix '#' on a tag means 'not' -so --dhcp=option=#purple,3,1.2.3.4 sends the option when the -network-id tag purple is not in the set of valid tags. -.PP -If the network-id in a -.B dhcp-range -is prefixed with 'net:' then its meaning changes from setting a -tag to matching it. Thus if there is more than dhcp-range on a subnet, -and one is tagged with a network-id which is set (for instance -from a vendorclass option) then hosts which set the netid tag will be -allocated addresses in the tagged range. -.PP -The DHCP server in dnsmasq will function as a BOOTP server also, -provided that the MAC address and IP address for clients are given, -either using -.B dhcp-host -configurations or in -.I /etc/ethers -, and a -.B dhcp-range -configuration option is present to activate the DHCP server -on a particular network. (Setting --bootp-dynamic removes the need for -static address mappings.) The filename -parameter in a BOOTP request is matched against netids in -.B dhcp-option -configurations, as is the tag "bootp", allowing some control over the options returned to -different classes of hosts. - -.SH EXIT CODES -.PP -0 - Dnsmasq successfully forked into the background, or terminated -normally if backgrounding is not enabled. -.PP -1 - A problem with configuration was detected. -.PP -2 - A problem with network access occurred (address in use, attempt -to use privileged ports without permission). -.PP -3 - A problem occurred with a filesystem operation (missing -file/directory, permissions). -.PP -4 - Memory allocation failure. -.PP -5 - Other miscellaneous problem. -.PP -11 or greater - a non zero return code was received from the -lease-script process "init" call. The exit code from dnsmasq is the -script's exit code with 10 added. - -.SH LIMITS -The default values for resource limits in dnsmasq are generally -conservative, and appropriate for embedded router type devices with -slow processors and limited memory. On more capable hardware, it is -possible to increase the limits, and handle many more clients. The -following applies to dnsmasq-2.37: earlier versions did not scale as well. - -.PP -Dnsmasq is capable of handling DNS and DHCP for at least a thousand -clients. Clearly to do this the value of -.B --dhcp-lease-max -must be increased, -and lease times should not be very short (less than one hour). The -value of -.B --dns-forward-max -can be increased: start with it equal to -the number of clients and increase if DNS seems slow. Note that DNS -performance depends too on the performance of the upstream -nameservers. The size of the DNS cache may be increased: the hard -limit is 10000 names and the default (150) is very low. Sending -SIGUSR1 to dnsmasq makes it log information which is useful for tuning -the cache size. See the -.B NOTES -section for details. - -.PP -The built-in TFTP server is capable of many simultaneous file -transfers: the absolute limit is related to the number of file-handles -allowed to a process and the ability of the select() system call to -cope with large numbers of file handles. If the limit is set too high -using -.B --tftp-max -it will be scaled down and the actual limit logged at -start-up. Note that more transfers are possible when the same file is -being sent than when each transfer sends a different file. - -.PP -It is possible to use dnsmasq to block Web advertising by using a list -of known banner-ad servers, all resolving to 127.0.0.1 or 0.0.0.0, in -.B /etc/hosts -or an additional hosts file. The list can be very long, -dnsmasq has been tested successfully with one million names. That size -file needs a 1GHz processor and about 60Mb of RAM. - -.SH INTERNATIONALISATION -Dnsmasq can be compiled to support internationalisation. To do this, -the make targets "all-i18n" and "install-i18n" should be used instead of -the standard targets "all" and "install". When internationalisation -is compiled in, dnsmasq will produce log messages in the local -language and support internationalised domain names (IDN). Domain -names in /etc/hosts, /etc/ethers and /etc/dnsmasq.conf which contain -non-ASCII characters will be translated to the DNS-internal punycode -representation. Note that -dnsmasq determines both the language for messages and the assumed -charset for configuration -files from the LANG environment variable. This should be set to the system -default value by the script which is responsible for starting -dnsmasq. When editing the configuration files, be careful to do so -using only the system-default locale and not user-specific one, since -dnsmasq has no direct way of determining the charset in use, and must -assume that it is the system default. - -.SH FILES -.IR /etc/dnsmasq.conf - -.IR /usr/local/etc/dnsmasq.conf - -.IR /etc/resolv.conf - -.IR /etc/hosts - -.IR /etc/ethers - -.IR /var/lib/misc/dnsmasq.leases - -.IR /var/db/dnsmasq.leases - -.IR /var/run/dnsmasq.pid -.SH SEE ALSO -.BR hosts (5), -.BR resolver (5) -.SH AUTHOR -This manual page was written by Simon Kelley <simon@thekelleys.org.uk>. - - diff --git a/man/es/dnsmasq.8 b/man/es/dnsmasq.8 deleted file mode 100755 index 7197212..0000000 --- a/man/es/dnsmasq.8 +++ /dev/null @@ -1,1310 +0,0 @@ -.TH DNSMASQ 8 -.SH NOMBRE -dnsmasq \- Un ligero servidor DHCP y DNS con caché. -.SH SINOPSIS -.B dnsmasq -.I [OPCION]... -.SH "DESCRIPCIÓN" -.BR dnsmasq -es un ligero servidor DNS, TFTP y DHCP. Su propósito es proveer servicios DNS -y DHCP a una red de área local. -.PP -Dnsmasq acepta búsquedas DNS y las responde desde un pequeño -caché local, o las reenvía hacia un servidor DNS real recursivo. -Carga el contenido de /etc/hosts, de tal forma que nombres de -hosts locales los cuales no aparecen en el DNS mundial puedan ser -resueltos. También responde a búsquedas DNS para hosts configurados -vía DHCP. -.PP -El servidor DHCP dnsmasq incluye soporte para asignación de direcciones -estáticas y redes múltiples. Automáticamente envía un predeterminado sensible de -opciones DHCP, y puede ser configurado para enviar cualquier opciones DHCP deseadas, -incluyendo opciones encapsuladas por vendedores. Incluye un servidor seguro -TFTP solo-lectura para permitir el inicio vía red/PXE de hosts DHCP. Tambíen -incluye soporte para BOOTP. -.PP -Dnsmasq -incluye soporte IPv6 para DNS, pero no para DHCP. -.SH OPCIONES -Nótese que en general parámetros ausentes son permitidos y deshabilitan -funciones, por ejemplo "--pid-file=" deshabilita la escritura de un -archivo PID. En BSD, a menos que la librería GNU getopt esté enlazada, -la forma larga de las opciones no funciona en la línea de comandos, -pero todavía es reconocida en el archivo de configuración. -.TP -.B --test -Leer archivo(s) de configuración y revisar su sintaxis. Salir con código -0 si todo está bien, o un código no-cero en cualquier otro caso. No -iniciar dnsmasq. -.TP -.B \-h, --no-hosts -No leer los nombres de hosts en /etc/hosts. -.TP -.B \-H, --addn-hosts=<archivo> -Archivo de hosts adicional. Leer el archivo especificado adicionalmente -a /etc/hosts. Si se brinda -h, leer solo el archivo especificado. Esta -opción puede ser repetida para más de un archivo de hosts adicional. Si -un directorio es brindado, entonces leer todos los archivos contenidos en -ese directorio. -.TP -.B \-E, --expand-hosts -Agregar el dominio a nombres sencillos (sin punto) en /etc/hosts de la -misma manera que con nombres derivados de DHCP. -.TP -.B \-T, --local-ttl=<tiempo> -Al responder con información desde /etc/hosts o desde el archivo -de arriendos DHCP, dnsmasq fija el tiempo de vida (TTL) a cero por -predeterminado, significando que el remitente no debrá cachear -la información por sí mismo. Esto es lo correcto a hacer en casi -todas las situaciones. Esta opción permite que se especifique -cierto tiempo de vida (en segundos) para estas respuestas. Esto -reduce la carga sobre el servidor al costo de que los clientes -usaran datos añejos bajo algunas circunstancias. -.TP -.B --neg-ttl=<tiempo> -Respuestas negativas desde servidores upstream normalmente contienen -información time-to-live (tiempo de vida) en expedientes SOA que -dnsmasq usa para hacer caché. Si las respuestas de servidores upstream -omiten esta información, dnsmasq no mete la respuesta en el caché. -Esta opción brinda un valor predeterminado para el time-to-live que -dnsmasq usa para meter respuestas en el caché aún en la ausencia de -un expediente SOA. -.TP -.B \-k, --keep-in-foreground -No ir hacia el fondo al iniciar, pero aparte de eso ejecutar como -normal. La intención de esto es para cuando dnsmasq es ejecutado -bajo daemontools o launchd. -.TP -.B \-d, --no-daemon -Modo debug: no hacer un fork hacia el fondo, no crear un archivo PID, -no cambiar el ID del usuario, generar un cache dump completo al -recibir un SIGUSR1, bitacorear a stderr al igual que a syslog, no -forkear procesos nuevos para manejar búsquedas TCP. -.TP -.B \-q, --log-queries -Bitacorear los resultados de búsquedas DNS manejadas por dnsmasq. -Habilitar un dump de caché completo al recibir un SIGUSR1. -.TP -.B \-8, --log-facility=<facilidad> -Fijar la facilidad a la cual dnsmasq deberá enviar mensajes syslog, -esto es DAEMON por predeterminado, y LOCAL0 cuando el modo debug está -en operación. Si la facilidad brindada contiene por lo menos un carácter -"/", se trata como un nombre de archivo, y dnsmasq bitacoreará a dicho -archivo, en vez de syslog. (Errores durante la lectura de la configuración -irán a syslog todavía, pero todo output desde un inicio exitoso, y todo -output mientras en ejecución, irá a este archivo exclusivamente.) -Al bitacorear a un archivo, dnsmasq cerrará y reabrirá el archivo al -recibir un SIGUSR2. Esto permite que el archivo de bitácora sea rotado -sin detener a dnsmasq. -.TP -.B --log-async[=<líneas>] -Habilitar bitacoréo asincrónico y opcionalmente fijar el límite de número -de líneas que serán enviadas a la coleta por dnsmasq cuando syslog está -lento. Dnsmasq puede bitacorear asincrónicamente: esto le permite continuar -funcionando sin ser bloqueado por syslog, y permite a syslog usar dnsmasq -para búsquedas DNS sin riesgo de tranque. Si la coleta de líneas de bitácora -se llena, dnsmasq bitacoreará el desbordamiento, y el número de mensajes -perdidos. El tamaño predeterminado de coleta es 5, un valor sano sería 5-25, -y un límite de 100 es impuesto. -.TP -.B \-x, --pid-file=<path> -Especificar un path alterno donde dnsmasq debe guardar su PID. -Normalmente es /var/run/dnsmasq.pid. -.TP -.B \-u, --user=<usuario> -Especificar el userid al cual dnsmasq debe cambiarse despues de iniciar. -Dnsmasq normalmente debe ser iniciado como root, pero soltará los -privilegios root despues del inicio, cambiando a otro usuario. -Normalmente este usuario es "nobody", pero eso se puede cambiar -con esta opción. -.TP -.B \-g, --group=<grupo> -Especificar el grupo como el cual dnsmasq correrá. El predeterminado -es "dip", si está disponible, para facilitar el acceso a -/etc/ppp/resolv.conf el cuál normálmente no es globalmente leíble. -.TP -.B \-v, --version -Mostrar el número de versión. -.TP -.B \-p, --port=<puerto> -Escuchar en el puerto <puerto> en vez del puerto estándar DNS (53). -Fijar esto a cero deshabilita completamente la función DNS, dejando -solo DHCP y/o TFTP. -.TP -.B \-P, --edns-packet-max=<tamaño> -Especificar el paquete UDP EDNS.0 más grande que es soportado por -el reenviador DNS. Por predeterminado es 1280, lo cual es el -máximo recomendado en RFC2671 para ethernet. -.TP -.B \-Q, --query-port=<puerto> -Enviar búsquedas outbound desde, y escuchar por respuestas en, -el puerto UDP <puerto> en vez de usar puertos aleatorios. Nótese -que usar esta opción hace que dnsmasq sea menos seguro contra -ataques de spoofing DNS, pero puede ser más rápido y usar menos -recursos. -Fijar esta opción a zero hace que dnsmasq use un solo puerto, -asignado por el sistema operativo (esto era el comportamiento -predeterminado en versiones anteriores a 2.43). -.TP -.B --min-port=<puerto> -No usar puertos menores a <puerto> como remitentes para búsquedas -DNS outbound. Dnsmasq escoje puertos aleatorios como remitentes -para búsquedas DNS outbound. Cuando esta opción es brindada, los -puertos usados siempre serán mayores que el especificado. Esto es -útil para sistemas detras de firewalls. -.TP -.B \-i, --interface=<nombre de interface> -Escuchar solo en las interfaces especificadas. Dnsmasq automáticamente -agrega la interface loopback a la lista de interfaces para usar cuando -la opción -.B \--interface -es usada. Si ninguna opción -.B \--interface -o -.B \--listen-address -es brindada, dnsmasq escucha en todas las interfaces disponibles excepto -cualquiera fijada con opciones -.B \--except-interface -Interfaces IP alias (por ejemplo, "eth1:0") no pueden ser utilizadas con -.B --interface -o -.B --except-interface -, usar --listen-address en vez. -.TP -.B \-I, --except-interface=<nombre de interface> -No escuchar en la interface especificada. Nótese que el orden de -las opciones -.B \--listen-address -.B --interface -y -.B --except-interface -no importa y las opciones -.B --except-interface -siempre invalidan a las otras. -.TP -.B \-2, --no-dhcp-interface=<nombre de interface> -No proveer DHCP ni TFTP en la interface especificada, pero sí -proveer servicio DNS. -.TP -.B \-a, --listen-address=<dirección IP> -Escuchar en la(s) dirección(es) IP especificada(s). Las opciones -.B \--interface -y -.B \--listen-address -ambas pueden ser brindadas, y en tal caso el juego de ambas -direcciones IP y interfaces es usada. Nótese que si ninguna opción -.B \--interface -es brindada, pero sí se brinda la opción -.B \--listen-address -, entonces dnsmasq no escuchará automáticamente en la interface -loopback. Para obtener esto, su dirección IP, 127.0.0.1, debe ser -explícitamente brindada como una opción -.B \--listen-address -.TP -.B \-z, --bind-interfaces -En sistemas que inluyen el soporte, dnsmasq acopla la dirección -de comodín, aún cuando está escuchando solamente en algunas -interfaces. Entonces descarta búsquedas a las cuales no debe -responder. Esto tiene la ventaja de funcionar aún cuando -interfaces van y vienen y cambian direcciones. Esta opción forza -a dnsmasq a acoplarse realmente solo a las interfaces en -las cuales está escuchando. Casi la única vez que esto es útil -es cuando se está corriendo otro servidor DNS (o otra instancia -de dnsmasq) en la misma máquina. Fijar esta opción tambien -habilita multiples instancias de dnsmasq, las cuales proveen -servicio DHCP en la misma máquina. -.TP -.B \-y, --localise-queries -Retornar respuestas a búsquedas DNS desde /etc/hosts las cuales dependen -de la interface donde entró la búsqueda. Si un nombre en /etc/hosts tiene -mas de una dirección asociada con el, y por lo menos una de esas direcciones -está en la misma subred de la interface donde fue enviada, entónces -retornar solo las direcciones en esa subred. Esto permite a un servidor -tener direcciones múltiples en /etc/hosts correspondientes a cada una de -sus interfaces y cada host recibirá la respuesta adecuada -dependiendo de cual red tengan adjunta. Por el momento, esta facilidad -está limitada a IPv4. -.TP -.B \-b, --bogus-priv -Búsquedas privadas reversas raras. Toda búsqueda reversa para rangos de IP -privados (192.168.x.x, etc.) los cuales no se encuentren en -/etc/hosts o en el archivo de arriendos DHCP es respondida con -"dominio no existente" en vez de ser reenviada upstream. -.TP -.B \-V, --alias=[<IP viejo>]|[<IP inicio>-<IP final>],<IP nuevo>[,<máscara>] -Modificar direcciones IPv4 retornadas desde servidores DNS upstream; -<IP viejo> es remplazado con <IP nuevo>. Si la máscara opcional -es brindada, entonces cualquier dirección que coincida con el -<IP viejo> enmascarado será re-escrita. Así que, por ejemplo, -.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 trazará 1.2.3.56 a 6.7.8.56 -y 1.2.3.67 a 6.7.8.67. Esto es lo que -ruteadores Cisco PIX llaman "DNS doctoring". Si la dirección vieja es -brindada como un rango, entonces solo direcciones en ese rango, y no -la subred entera, son re-escritas. De tal manera que -.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 -relaciona 192.168.0.10->192.168.0.40 a 10.0.0.10->10.0.0.40 -.TP -.B \-B, --bogus-nxdomain=<dirección IP> -Transformar respuestas que contienen la dirección IP brindada a -respuestas tipo "Dominio no existe". La intención de esto es actuar -en contra de una movida desviada hecha por Verisign en septiembre -del 2003, cuando comenzaron a retornar la dirección de un servidor -de publicidad en respuesta a búsquedas por nombres no registrados, -en vez de la correcta respuesta NXDOMAIN. Esta opción le dice a dnsmasq -que debe forjear la respuesta correcta cuando ve este comportamiento. -Para septiembre 2003 la dirección IP siendo retornada por Verisign -es 64.94.110.11 -.TP -.B \-f, --filterwin2k -Algunas versiones de Windows hacen búsquedas DNS periódicas las cuales no -reciben respuestas sensibles desde el DNS público y pueden causar problemas -activando enlaces marcación-en-demanda. Esta opción filtra dichas búsquedas. -Las búsquedas filtradas son para registros tipo SOA y SRV, al igual que -tipo ANY donde el nombre pedido contiene _, para atrapar búsquedas LDAP. -.TP -.B \-r, --resolv-file=<archivo> -Leer las direcciones IP de servidores DNS upstream desde <archivo>, -en vez de /etc/resolv.conf. Para el formato de este archivo, ver -.BR resolv.conf (5) -Las únicas líneas relevantes a dnsmasq son las de servidores DNS. A -dnsmasq se le puede decir que revise más de un archivo resolv.conf, -el primer archivo especificado remplaza al predeterminado, y los -subsiguientes son agregados a la lista. Esto es solo -permitido al hacer polling; el archivo con la actual fecha -de modificación más nueva es el que será usado. -.TP -.B \-R, --no-resolv -No leer /etc/resolv.conf. Obtener los servidores DNS upstream solo -desde la línea de comandos o desde el archivo de configuración de -dnsmasq. -.TP -.B \-1, --enable-dbus -Permitir que la configuración de dnsmasq sea actualizada vía llamadas -de método DBus. La configuración que puede ser cambiada es servidores -DNS upstream (y dominios correspondientes) y limpieza de caché. Esta -opción requiere que dnsmasq haya sido compilado con soporte para DBus. -.TP -.B \-o, --strict-order -Por predeterminado, dnsmasq enviará búsquedas a cualquiera de los -servidores upstream que conoce, y trata de favorecer servidores los -cuales sabe que están activos. Fijar esta opción forza a dnsmasq a -probar cada búsqueda con cada servidor estrictamente en el orden -que aparecen en /etc/resolv.conf -.TP -.B --all-servers -Por predeterminado, cuando dnsmasq tiene más de un servidor upstream -disponible, enviará búsquedas a solo un servidor. Fijar esta opción -forza a dnsmasq a enviar todas las búsquedas a todos los servidores -disponibles. La respuesta del servidor que responda primero será -devuelta al solicitante original. -.TP -.B --stop-dns-rebind -Denegar (y bitacorear) direcciones de servidores upstream que están -dentro de rangos IP privados. Esto bloquea un ataque donde un navegador -detrás de un firewall es usado para analizar máquinas en la red local. -.TP -.B \-n, --no-poll -No revisar periodicamente a /etc/resolv.conf en busca de cambios. -.TP -.B --clear-on-reload -Cuando sea que /etc/resolv.conf es re-leida, liberar el caché DNS. -Esto es útil cuando servidores DNS nuevos puedan tener datos diferentes -a los contenidos en el caché. -.TP -.B \-D, --domain-needed -Le dice a dnsmasq que no debe reenviar búsquedas para nombres sencillos, -sin puntos o partes de dominios, a servidores upstream. Si el nombre -no se conoce desde /etc/hosts o desde DHCP entonces una respuesta -"no encontrado" es devuelta. -.TP -.B \-S, --local, --server=[/[<dominio>]/[dominio/]][<dirección IP>[#<puerto>][@<IP de remitente>|<interface>[#<puerto>]] -Especificar la dirección IP de servidores upstream directamente. Fijar -esta opción no suprime la lectura de /etc/resolv.conf, use -R para -hacer eso. Si uno a más dominios opcionales son brindados, ese servidor -es usado solo para esos dominios y las búsquedas son hechas usando -el servidor especificado solamente. La intención de esto es para el -uso con servidores DNS privados: si usted tiene un servidor DNS en su -red el cual lidea con nombres de la forma -xxx.internal.thekelleys.org.uk en 192.168.1.1 entonces brindar la -opción -.B -S /internal.thekelleys.org.uk/192.168.1.1 -enviará todas las búsquedas de máquinas internas a ese servidor DNS, -todas las demás búsquedas serán enviadas a los servidores en -/etc/resolv.conf. Una especificación de dominio en blanco, -.B // -tiene el significado especial de "solo nombres no calificados", o -sea nombres sin ningún punto en ellos. Un puerto no-estándar puede -ser especificado como parte de la dirección IP usando el caracter -#. Más de una opción -S es permitida, con partes de dominio o -dirección IP repetidas como sea necesario. - -También se permite una opción -S la cual brinda un dominio pero -ninguna dirección IP; esto le dice a dnsmasq que un dominio es local -y puede responder a búsquedas desde /etc/hosts o DHCP pero nunca -deberá reenviar búsquedas en ese dominio a ningún servidor upstream. -.B local -es un sinónimo de -.B server -para hacer los archivos de configuración mas claros en este caso. - -El string opcional despues del carácter @ le dice a dnsmasq como fijar -el remitente de las búsquedas hacia este servidor DNS. Debe ser una -dirección IP, la cual debe ser perteneciente a la máquina en la cual -corre dnsmasq, de forma contraria esta línea de servidor será bitacoreada -y después ignorada, o un nombre de interface. Si un nombre de interface -es brindado, entonces búsquedas hacia el servidor serán forzadas vía esa -interface; si una dirección IP es brindada, entonces la dirección de -remitente de las búsquedas será fijada a esa dirección. -La etiqueta query-port es ignorada para cualquier servidores que tengan -una dirección remitente especificada, pero el puerto puede ser -especificado directamente como parte de la dirección remitente. Forzar -búsquedas a una interface no está implementado en todas las plataformas -soportadas por dnsmasq. -.TP -.B \-A, --address=/<dominio>/[dominio/]<dirección IP> -Especificar una dirección IP para retornar por cualquier host en -los dominios brindados. Búsquedas en estos dominios nunca son -reenviadas, y siempre son respondidas con la dirección IP -especificada, la cual puede ser IPv4 o IPv6. Para brindar ambas -direcciones IPv4 y IPv6 para un dominio, usar opciones -A repetidas. -Nótese que /etc/hosts y arriendos DHCP invalidan esto para nombres -individuales. Un uso común para esto es redireccionar el dominio -doubleclick.net entero a algún servidor web local amigable para -evitar banners de publicidad. La especificación funciona de la misma -forma que con --server, con la facilidad adicional que /#/ coincide -con cualquier dominio. De tal forma, --address=/#/1.2.3.4 siempre -retornará 1.2.3.4 para cualquier búsqueda no respondida desde -/etc/hosts o DHCP y que no haya sido enviada a un servidor DNS -upstream por una directiva --server mas especifica. -.TP -.B \-m, --mx-host=<nombre mx>[[,<nombre de host>],<preferencia>] -Retornar un record llamado <mx name> apuntando hacia el nombre de -host brindado (opcionalmente), o el host especificado en la opción ---mx-target, o si esa opción no es brindada, el host en el cual -dnsmasq está corriendo. El predeterminado es útil para redireccionar -correo de sistemas en la red local hacia un servidor central. La -opción de preferencia es opcional, y su predeterminado es 1 si no -es brindada. Más de un record MX puede ser brindado para un host. -.TP -.B \-t, --mx-target=<nombre de host> -Especificar el target predeterminado para el record MX devuelto -por dnsmasq. Ver --mx-host. Si --mx-target es brindado, pero no ---mx-host, entonces dnsmasq devuelve un record MX conteniendo -el target MX para búsquedas MX en el nombre de host de la máquina donde -dnsmasq está corriendo. -.TP -.B \-e, --selfmx -Retornar un record MX apuntándose a sí mismo para cada máquina local. -Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP. -.TP -.B \-L, --localmx -Retornar un record MX apuntando al host brindado por mx-target (o -la máquina donde dnsmasq está corriendo) para cada máquina local. -Máquinas locales son aquellas en /etc/hosts o con arriendos DHCP. -.TP -.B \-W, --srv-host=<_servicio>.<_prot>.[<dominio>],[<target>[,<puerto>[,<prioridad>[,<peso>]]]] -Retornar un record DNS SRV. Ver RFC2782 para detalles. Si no es -brindada, el dominio se predetermina a el brindado por -.B --domain. -El predeterminado para el dominio target está vacío, el predeterminado -para puerto es uno, y los predeterminados para peso y prioridad son cero. -Tener cuidado al transponer data desde archivos de zona BIND: los -números de puerto, peso, y prioridad están en un orden diferente. Más -de un record SRV para un servicio/dominio es permitido, todos los que -coincidan son retornados. -.TP -.B \-Y, --txt-record=<nombre>[[,<texto>],<texto>] -Retornar un récord DNS TXT. El valor del récord TXT es una serie de -strings, así que cualquier número puede ser incluido, dividido por -comas. -.TP -.B --ptr-record=<nombre>[,<target>] -Retornar un récord DNS PTR. -.TP -.B --naptr-record=<nombre>,<orden>,<preferencia>,<opciones>,<servicio>,<regexp>[,<remplazo>] -Retornar un récord DNS NAPTR, como especificado en RFC3403. -.TP -.B --cname=<cname>,<target> -Retornar un expediente CNAME que indica que <cname> es realmente <target>. Hay -limitaciones significativas en el target. Debe ser un nombre DNS que le es conocido -a dnsmasq desde /etc/hosts (o archivos hosts adicionales) o de DHCP. Si el target -no satisface este criterio, el cname entero es ignorado. El cname debe ser único, -pero es permisible tener más de un cname indicando el mismo target. -.TP -.B --interface-name=<nombre>,<interface> -Retornar un expediente DNS, asociando el nombre con la dirección primaria -en la interface brindada. Esta opción especifica un expediente tipo A -para el nombre brindado de la misma forma que una línea de /etc/hosts, -excepto que la dirección no es constante y es en vez tomada de la -interface brindada. Si la interface está deshabilitada, nó configurada, -o nó existente, un récord vacío es devuelto. El récord PTR relevante -tambien es creado, trazando la dirección de la interface a el nombre. -Más de un nombre puede ser asociado con una dirección de interface, -repitiendo la opción. En tal caso, la primera instancia es usada para -la traza reversa dirección-a-nombre. -.TP -.B \-c, --cache-size=<tamaño de caché> -Fijar el tamaño del caché de dnsmasq. El predeterminado es 150 nombres. -Fijar el tamaño a cero deshabilita el caché. -.TP -.B \-N, --no-negcache -Deshabilitar caché negativo. El caché negativo le permite a dnsmasq -recordar resultados tipo "dominio no existe" desde servidores DNS -upstream y responder búsquedas idénticas sin reenviarlas nuevamente. -.TP -.B \-0, --dns-forward-max=<búsquedas> -Fijar el número máximo de búsquedas DNS simultáneas. El valor -predeterminado es 150, lo cuál debería estar bien para la mayoría -de casos. La única situación conocida donde esto debe ser incrementado -es al usar resolvedores de bitácoras de servidores web, los cuales pueden -generar un número inmenso de búsquedas simultáneas. -.TP -.B \-F, --dhcp-range=[[net:]network-id,]<dirección-inicio>,<dirección-final>[[,<máscara>],<broadcast>][,<tiempo de arriendo>] -Habilitar el servidor DHCP. Direcciones serán distribuidas desde el -rango <dirección-inicio> hasta <dirección-final> y desde direcciones definidas -estáticamente en opciones -.B dhcp-host -Si el tiempo de arriendo es especificado, entonces arriendos serán -otorgados por esa cantidad de tiempo. El tiempo de arriendo es en -segundos, o minutos (por ejemplo, 45m), u horas (por ejemplo, 1h), o -"infinite". Si no es brindada, el tiempo de arriendo predeterminado -es de una hora. El tiempo de arriendo mínimo es de dos minutos. -Esta opción puede ser repetida, con diferentes -direcciones, para habilitar servicio DHCP en más de una red. Para -redes conectadas diréctamente (en otras palabras, redes en las -cuales la máquina corriendo dnsmasq tiene una interface) la -máscara de subred es opcional. Pero, es requerida para redes que -reciben servicio DHCP vía un agente de relay. La dirección de -broadcast siempre es opcional. Siempre se permite tener más de -un rango dhcp (dhcp-range) en una subred. El parámetro opcional -network-id es una etiqueta alfanumérica la cual marca esta red de -tal forma que opciones dhcp puedan ser especificadas en base a cada red. -Cuando es prefijada con 'net:' entonces el significado cambia -de "fijar etiqueta" a "coincidir con etiqueta". Solo una etiqueta puede -ser fijada, pero más de una puede ser revisada por coincidencias. La -dirección final puede ser remplazada por la palabra clave -.B static -la cual le dice a dnsmasq que debe habilitar DHCP para la red -especificada, pero no alocar dinámicamente direcciones IP: -Solo hosts que tienen direcciones estáticas brindadas vía -.B dhcp-host -o desde /etc/ethers serán servidas. La dirección final puede ser -remplazada por la palabra clave -.B proxy -caso en el cual dnsmasq proveerá proxy-DHCP en la subred especificada. (Ver -.B pxe-prompt -y -.B pxe-service -para detalles.) -.TP -.B \-G, --dhcp-host=[<dirección de hardware>][,id:<client_id>|*][,net:<netid>][,<dirección IP>][,<nombre de host>][,<tiempo de arriendo>][,ignore] -Especificar parámetros por host para el servidor DHCP. Esto permite -que una máquina con una dirección de hardware particular sea siempre -alocada el mismo nombre de host, dirección IP, y tiempo de arriendo. -Un nombre de host especificado de esta manera toma presedencia -sobre cualquiera suministrado por el cliente DHCP en la máquina. -También se permite omitir la direccion de hardware y incluir el -nombre de host; en tal caso la dirección IP y los tiempos de arriendo -serán aplicables a cualquier máquina que reclame ese nombre. -Por ejemplo: -.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite -le dice a dnsmasq que debe darle a la máquina con dirección -ethernet 00:20:e0:3b:13:af el nombre wap, y un arriendo DHCP infinito. -.B --dhcp-host=lap,192.168.0.199 -le dice a dnsmasq que siempre debe alocarle a la maquina lap -la dirección IP 192.168.0.199. Direcciones alocadas de esta manera -no tienen que estar dentro del rango dado con la opción --dhcp-range, -pero deben estar en la red siendo servida por el servidor DHCP. Se -permite usar identificadores de clientes en vez de direcciones de -hardware para identificar hosts prefijando 'id:'. O sea que: -.B --dhcp-host=id:01:02:03:04,..... -se refiere al host con identificador de cliente 01:02:03:04. -También se permite especificar el ID de cliente como texto, así: -.B --dhcp-host=id:iddeclientecomotexto,..... - -La opción especial id:* significa "ignorar cualquier ID de cliente -y usar solamente direcciones MAC." Esto es útil cuando un cliente -presenta un ID de cliente algunas veces pero otras no. - -Si un nombre aparece en /etc/hosts, la dirección asociada puede -ser alocada a un arriendo DHCP, pero solo si existe una opción -.B --dhcp-host -la cual especifica el nombre también. La palabra clave "ignore" -le dice a dnsmasq que no debe ofrecer jamás un arriendo DHCP a -una máquina. La máquina puede ser especificada por dirección de -hardware, ID de cliente, o nombre de host, por ejemplo: -.B --dhcp-host=00:20:e0:3b:13:af,ignore -Esto es útil cuando hay otro servidor DHCP en la red que debe ser -usado por algúnas máquinas. - -El net:<network-id> fija la etiqueta network-id cuando sea que -esta directiva dhcp-host está en uso. Esto puede ser usado para -enviar selectivamente opciones DHCP a este host. Cuando un host -coincide con cualquier directiva dhcp-host (o una implicada por -/etc/ethers) entonces la etiqueta network-id especial "known" es -fijada. Esto permite que dnsmasq sea configurado para ignorar -pedidos desde máquinas desconocidas usando -.B --dhcp-ignore=#known -Direcciones ethernet (pero no client-ids) pueden tener bytes -comodínes, así que por ejemplo -.B --dhcp-host=00:20:e0:3b:13:*,ignore -causará que dnsmasq ignore un rango de direcciones ethernet. Nótese -que el "*" necesitará ser escapado o escrito entre comillas en la -línea de comandos, pero no en el archivo de configuración. - -Direcciones de hardware normalmente coinciden con cualquier -tipo de red (ARP), pero es posible restringirlas a un tipo ARP -singular precediendolo con el tipo ARP (en HEX) y "-". Así que -.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 -solo coincidiría con una dirección de hardware Token-Ring, dado que -el tipo ARP para Token-Ring es 6. - -Como caso especial, es posible incluir más de una dirección de -hardware. Ejemplo: -.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2 -Esto permite que una dirección IP sea asociada con -direcciones de hardware múltiples, y le brinda a dnsmasq permiso -para abandonar un arriendo DHCP a una de las direcciones de hardware -cuando otra pide un arriendo. Nótese que esto es algo peligroso, -sólo funcionará dependiblemente si una de las direcciones de hardware -está activa en cualquier momento y dnsmasq no tiene forma de enforzar -esto. Pero es útil, por ejemplo, para alocar una dirección IP estable -a una laptop que tiene interface alámbrica e inalámbrica. -.TP -.B --dhcp-hostsfile=<archivo> -Leer información host DHCP desde el archivo especificado. El archivo contiene información de un host por línea. El formato de una línea es igual que texto hacia la derecha de '=' en --dhcp-host. La ventaja de almacenar información host DHCP en este archivo es que puede ser cambiada sin tener que reiniciar dnsmasq. El archivo será re-leído cuando dnsmasq recibe un SIGHUP. -.TP -.B --dhcp-optsfile=<archivo> -Leer información sobre opciones DHCP desde el archivo especificado. La -ventaja de usar esta opción es la misma que con --dhcp-hostsfile: el -archivo dhcp-optsfile será re-leído cuando dnsmasq recibe un SIGHUP. -.TP -.B \-Z, --read-ethers -Leer /etc/ethers en busca de información sobre hosts para el servidor -DHCP. El formato de /etc/ethers es una dirección de hardware, seguida -por ya sea un nombre de host o una dirección IP. Al ser leidas por -dnsmasq, estas líneas tienen exáctamente el mismo efecto que opciones -.B --dhcp-host -que contienen la misma información. /etc/ethers es re-leída cuando dnsmasq recibe un SIGHUP. -.TP -.B \-O, --dhcp-option=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],][<opt>|option:<opt-name>],[<value>[,<value>]] -Especificar opciones diferentes o extra a clientes DHCP. Por -predeterminado, dnsmasq envía algunas opciones estándar a clientes -DHCP. La máscara de subred y dirección broadcast son fijadas igual -a las del host que corre dnsmasq, y el servidor DNS y ruteador -a la dirección de la máquina que corre dnsmasq. Si la opción de -nombre de dominio ha sido fijada, es enviada. Esta opción permite -que esos predeterminados sean sobrescritos, o que sean especificadas -otras opciones. La opción a ser enviada puede ser brindada como un -número decimal o como "option:<option-name>". Los números de opción -están especificados en RFC2132 y RFCs subsiguientes. El juego de -option-names conocido por dnsmasq puede ser descubierto ejecutando -"dnsmasq --help dhcp". Por ejemplo, para fijar la ruta predeterminada a -192.168.4.4, hágase un -.B --dhcp-option=3,192.168.4.4 -o -.B --dhcp-option=option:router, 192.168.4.4 -y para fijar la dirección de servidor de tiempo a 192.168.0.4, -hágase un -.B --dhcp-option=42,192.168.0.4 -o -.B --dhcp-option=option:ntp-server, 192.168.0.4 -La dirección especial 0.0.0.0 es entendida que significa "la -dirección de la máquina que corre dnsmasq". Tipos de data permitidos -son direcciones IP de cuatro segmentos, un número decimal, dígitos hex -separados por colones, y un string de texto. Si las network-ids -opcionales son brindadas, entonces esta opción es solo enviada cuando -todas las network-ids coinciden. - -Procesamiento especial es llevado a cabo en un argumento de texto para -la opción 119, en conforme con RFC3397. Direcciones IP textuales o de -cuatro segmentos como argumentos a la opción 120 son manejados mediante -RFC3361. Direcciones IP de cuatro segmentos que son seguidas por un diagonal -(slash) y después una máscara son codificados mediante RFC3442. - -Tener cuidado: niguna verificación es hecha sobre si el número de tipo -correcto es enviado, y es muy posible persuadir a dnsmasq para que -genere paquetes DHCP ilegales mediante uso inadecuado de esta opción. -Cuando el valor es un número decimal, dnsmasq debe determinar qué tan -grande es el objeto de data. Esto es hecho mediante una examinación del -número de opción, y/o el valor, pero puede ser invalidado agregándole -una opción de una sola letra de esta forma: b = un byte, s = dos bytes, -i = cuatro bytes. Esto es principalmente útil con opciones encapsuladas -tipo vendedor (ver abajo) donde dnsmasq no puede determinar el tamaño -de data usando el número de opción. Data de opción la cual consiste -solo de puntos y dígitos será interpretada por dnsmasq como una -dirección IP, y será insertada dentro de una opción de esa manera. -Para forzar un string literal, usar comillas. Por ejemplo, cuando se -usa la opción 66 para enviar una IP literal como un nombre de servidor -TFTP, es necesario hacer: -.B --dhcp-option=66,"1.2.3.4" - -Opciones encapsuladas vendor-class también pueden ser especificadas usando ---dhcp-option: por ejemplo -.B --dhcp-option=vendor:PXEClient,1,0.0.0.0 -envía la opción específica de clase de vendedor "mftp-address=0.0.0.0" a -cualquier cliente cuyo vendor-class -coincida con "PXEClient". El revisado de coincidencias vendor-class está -basado en substrings (ver --dhcp-vendorclass para detalles). Si una opción -vendor-class (número 60) es enviada por dnsmasq, entonces es usada para -seleccionar opciones encapsuladas en preferencia sobre cualquiera enviada -por el cliente. Es posible omitir el vendorclass completamente; -.B --dhcp-option=vendor:,1,0.0.0.0 -caso en el cuál la opción encapsulada siempre es enviada. -Opciones pueden ser encapsuladas dentro de otras opciones, por ejemplo: -.B --dhcp-option=encap:175, 190, "iscsi-client0" -enviará opción 175, dentro de la cual está opción 190. Si múltiples -opciones son brindadas que están encapsuladas con el mismo número de -opción entonces serán correctamente combinadas en una opción encapsulada. -encap: y vendor: no pueden ser fijadas ambas dentro de la misma opción dhcp-option. -La dirección 0.0.0.0 no es tratada de forma especial en opciones encapsuladas. -.TP -.B --dhcp-option-force=[<network-id>,[<network-id>,]][encap:<opt>,][vendor:[<vendor-class>],]<opt>,[<value>[,<value>]] -Esto funciona exáctamente de la misma forma que -.B --dhcp-option -excepto que la opción siempre será enviada, aún si el cliente no la pide en -la lista de pedido de parámetros. Esto se necesita aveces, por ejemplo cuando -enviando opciones a PXELinux. -.TP -.B --dhcp-no-override -Deshabilitar la reutilización de los campos DHCP de nombre de servidor y -archivo como espacio para opciones extra. Si puede, dnsmasq mueve la información -del servidor boot y del nombre de archivo (de dhcp-boot) de sus campos dedicados -hacia opciones DHCP. Esto crea espacio extra en el paquete DHCP para opciones, -pero puede raramente confundir clientes viejos o defectuosos. Esta opción forza -comportamiento "simple y sencillo" para prevenir problemas en tales casos. -.TP -.B \-U, --dhcp-vendorclass=<network-id>,<vendor-class> -Trazar desde un string vendor-class a un network id. La mayoría de los -clientes DHCP proveen una "vendor class" la cual representa, en cierto -sentido, el tipo de host. Esta opción traza clases de vendedor a network -ids, de tal forma que opciones DHCP pueden ser selectivamente entregadas -a diferentes clases de hosts. Por ejemplo -.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect -peritiría que opciones sean fijadas solo para impresoras HP así: -.B --dhcp-option=printers,3,192.168.4.4 -El string vendor-class es coordinado con el vendor-class proveido por -el cliente, para permitir coincidencias borrosas. -.TP -.B \-j, --dhcp-userclass=<network-id>,<user-class> -Trazar desde un string user-class a un network id (con coordinación -substring, como con vendor-class). La mayoría de los clientes DHCP -proveen un "user class" el cual es configurable. Esta opción traza -clases user a network ids, de tal manera que opciones DHCP puedan -ser selectivamente enviadas a diferentes tipos de hosts. Es posible, -por ejemplo, usar esto para especificar una impresora diferente para -hosts en la clase "cuentas" que para los de la clase "ingenieria". -.TP -.B \-4, --dhcp-mac=<network-id>,<dirección MAC> -Trazar desde una dirección MAC a una network id. La dirección MAC -puede incluir comodínes. Por ejemplo: -.B --dhcp-mac=3com,01:34:23:*:*:* -fijaría el tag "3com" a cualquier host el cual su MAC coincida con -el patrón. -.TP -.B --dhcp-circuitid=<network-id>,<circuit-id>, --dhcp-remoteid=<network-id>,<remote-id> -Trazar de opciones agente de relay RFC3046 a opciones network-id. Estos -datos pueden ser proveídos por agentes de relay DHCP. El circuit-id o -remote-id es normlamente brindado como hex separado por doblepuntos, pero -también se permite un string simple. Si se obtiene una coincidencia exacta -entre el circuit o agent ID y uno proveído por un agente de relay, -network-id es fijado. -.TP -.B --dhcp-subscrid=<network-id>,<subscriber-id> -Trazar de opciones relay subscriber-id RFC3993 a opciones network-id. -.TP -.B --dhcp-match=<network-id>,<option number>|option:<option name>[,<value>] -Sin un valor, fijar la etiqueta network-id si el cliente envía una opción -DHCP del número o valor brindado. Cuando un valor es brindado, fijar la -etiqueta solo si la opción es enviada y coincide con el valor. El valor puede -ser de la forma "01:ff:*:02", caso en el cual el valor debe coincidir (aparte -de los comodines) pero la opción enviada puede tener data que no coincide despues -del final del valor. El valor también puede ser de la misma forma que -.B dhcp-option -caso en el cual la opción enviada es tratada como un array, y un elemento debe -coincidir, así que - ---dhcp-match=efi-ia32,option:client-arch,6 - -fijará la etiqueta a "efi-ia32" si el número 6 aparece en la lista de -architecturas enviada por los clientes en opción 93. (Ver RFC 4578 para -detalles.) Si el valor es un string, coincidencia substring es usada. -.B \-J, --dhcp-ignore=<network-id>[,<network-id>] -Cuando todos los network ids brindados coincidan con el juego de -network ids derivados de las clases net, host, y vendor, ignorar -el host y no brindarle un arriendo DHCP. -.TP -.B --dhcp-ignore-names[=<network-id>[,<network-id>]] -Cuando todos los network-ids brindados coinciden con el juego de -network-ids derivado de la red, host, classes de vendedor y usuario, -ignorar cualquier nombre de host proveido por el host. Nótese que, -a diferencia de dhcp-ignore, es permisible no brindar ningún tag netid, -y en tal caso nombres de host proveidos por clientes DHCP siempre son -ignorados, y hosts DHCP son agregados al DNS usando solo la configuración -dhcp-host en dnsmasq y el contenido de /etc/hosts y /etc/ethers. -.TP -.B --dhcp-broadcast=<network-id>[,<network-id>] -Cuando todos los network-ids brindados coinciden con el juego de network-ids -derivados de la red, host, clases de vendedor y usuarios, siempre usar -broadcast para comunicarse con el host cuando está sin configurar. La -mayoría de clientes DHCP que necesitan respuestas broadcast fijan una -opción en sus pedidos para que esto pase automaticamente, algunos -clientes BOOTP viejos no lo hacen. -.TP -.B \-M, --dhcp-boot=[net:<network-id>,]<filename>,[<servername>[,<server address>]] -Fijar opciones BOOTP que han de ser devueltas por el servidor DHCP. Nombre -y dirección de servidor son opcionales: si no son brindadas, el nombre es -dejado en blanco, y la dirección es fijada a la de la máquina que corre -dnsmasq. Si dnsmasq está brindando servicio TFTP (ver -.B --enable-tftp -) entonces solo el nombre de archivo es requirido aquí para habilitar -el inicio atravéz de una red. Si las opcionales network-ids son brindadas, -ellas deberán coincidir para que esta configuración sea enviada. Nótese -que network-ids están prefijadas con "net:" para distinguirlas. -.TP -.B --pxe-service=[net:<network-id>,]<CSA>,<texto de menú>,<nombre base>|<tipo de servicio boot>[,<dirección de servidor>] -La mayoría de usos para boot-ROMS PXE simplemente permiten al sistema PXE -obtener una dirección IP y entonces bajar el archivo especificado por -.B dhcp-boot -y ejecutarlo. Sin embargo, el sistema PXE es capaz de llevar -a cabo funciones más complejas cuando están soportadas por un -servidor DHCP adecuado. - -Esto especifica una opción boot que puede aparecer en un menú de boot -PXE. <CSA> es tipo de sistema de cliente, solo servicios del tipo correcto -aparecerán en un menú. Los tipos conocidos son x86PC, PC98, IA64_EFI, -Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI y X86-64_EFI; -un número entero puede ser utilizado para otros tipos. El parámetro después -del texto de menú puede ser un nombre de archivo, caso en el cuál dnsmasq -actúa como un servidor boot y le ordena al cliente PXE bajar el archivo -vía TFTP, ya sea de sí mismo ( -.B enable-tftp -debe estar fijado para que esto funcione) o desde otro servidor TFTP si la -dirección IP final es brindada. -Nótese que el sufijo "layer" (normalmente ".0") es brindado por PXE, y -no debe ser agregado al nombre base. Si un número entero es brindado en vez -de un nombre base, entonces el cliente PXE buscará un servicio boot adecuado -para ese tipo de red. Esta búsqueda puede ser hecha mediante multicast o -broadcast, o directamente a un servidor si la dirección IP es brindada. Un -tipo de servicio boot de 0 es especial, y abortará el proceso boot de red -y continuará desde medio local. -.TP -.B --pxe-prompt=[net:<network-id>,]<prompt>[,<timeout>] -Fijar esto hace que un aviso sea expuesto despues del boot PXE. Si el timeout -es brindado, entonces despues que el timeout se haya vencido sin input del -teclado, la primera opción del menú sera automaticamente ejecutada. Si el -timeout es cero entonces la primera opción del menú sera automaticamente -ejecutada. Si -.B pxe-prompt -es omitido, el sistema esperará para el input del usuario si hay múltiples -artículos en el menú, pero hará boot imediatamente si hay solo uno. Ver -.B pxe-service -para detalles sobre artículos de menu. - -Dnsmasq tiene soporte para "proxy-DHCP" PXE, en este caso otro servidor -DHCP en la red es responsable por asignar direcciones IP, y dnsmasq -simplemente provee la dirección brindada en -.B pxe-prompt -y -.B pxe-service -para permitir boot a travez de la red. Este modo es habilitado usando -la palabra clave -.B proxy -en -.B dhcp-range. -.TP -.B \-X, --dhcp-lease-max=<número> -Limita a dnsmasq a el número especificado de arriendos DHCP. El -predeterminado es 150. El limite es para prevenir ataques DoS desde -hosts que crean cientos de arriendos y usan mucha de la memoria del -proceso dnsmasq. -.TP -.B \-K, --dhcp-authoritative -Esta opción debe ser fijada cuando dnsmasq es definitivamente el único -servidor DHCP en la red. Cambia el comportamiento de RFC de tal manera -que pedidos desde hosts no conocidos no serán ignorados. Esto permite que -hosts nuevos puedan conseguir un arriendo sin sin un timeout bajo toda -circunstancia. También permite que dnsmasq reconstruya su base de datos -de arriendos sin que cada cliente necesite readquirir un arriendo -si la base de datos es perdida. -.TP -.B --dhcp-alternate-port[=<puerto de servidor>[,<puerto de cliente>]] -Cambiar del predeterminado los puertos usados para DHCP. Si esta opción -es brindada sola, sin argumentos, cambia los puertos usados para DHCP -de 67 y 68 a 1067 y 1068. Si un solo argumento es brindado, ese puerto -es usado para el servidor y el número de puerto mas uno es usado -para el cliente. Finalmente, dos números permiten que se especifiquen -ambos los puertos de servidor y cliente para DHCP. -.TP -.B \-3, --bootp-dynamic[=<network-id>[,<network-id>]] -Habilitar alocación dinámica de direcciones IP a clientes BOOTP. Usar -esto con cuidado, ya que cada dirección alocada a un cliente BOOTP -es arrendada para siempre, y consecuentemente queda no-disponible -para re-uso por otros hosts. Si esto es brindado sin etiquetas, -entonces incondicionalmente habilita alocación dinámica. Con -etiquetas, solo cuando todas las etiquetas están fijadas. Puede -ser repetido con diferentes juegos de etiquetas. -.TP -.B \-5, --no-ping -Por predetermindado, el servidor DHCP tratará de asegurarse que una -dirección no esté en uso antes de alocarsela a un host. Hace esto -enviando un echo ICMP (ping) a la dirección referente. Si recibe una -respuesta, entonces la dirección debe estar siendo usada, y se repite -la prueba con otra. Esta opción deshabilita esta prueba. Usar con -cuidado. -.TP -.B --log-dhcp -Bitacoréo extra para DHCP: Bitacorear todas las opciones enviadas a -clientes DHCP y las etiquetas netid usadas para determinarlos. -.TP -.B \-l, --dhcp-leasefile=<path> -Usar el archivo especificado para almacenar información de arriendos -DHCP. -.TP -.B \-6 --dhcp-script=<path> -Cuando un arriendo DHCP nuevo es creado, o uno viejo es -destruido, el ejecutable especificado por esta opción es ejecutado. -Los argumentos para el binario son "add", "old", o "del", la dirección -MAC del host, la dirección IP, y el hostname, si es -conocido. "add" significa que un arriendo ha sido creado, "del" que -ha sido destruido, y "old" es una notificación de un arriendo existente -cuando dnsmasq inicia o un cambio a una MAC o nombre host de un arriendo -existente (también, tiempo de arriendo o vencimiento y client-id, si -leasefile-ro está fijado). Si la dirección MAC es de un tipo de red -que no es ethernet, tendrá el tipo de red precolocado, por ejemplo -"06-01:23:45:67:89:ab" para token ring. El proceso es ejecutado como root -(asumiendo que dnsmasq fue originalmente ejecutado como root) aún si dnsmasq -está configurado para cambiar su UID a un usuario sin privilegios. -El ambiente es heredado del usuario que ha invocado a dnsmasq, y si el -host brindó un client-id, es almacenado en la variable de ambiente -DNSMASQ_CLIENT_ID. Si el dominio completamente calificado del host -es conocido, la parte de dominio es almacenada en DNSMASQ_DOMAIN. Si -el cliente brinda información de clase de vendedoro usuario, -estos son brindados en las variables DNSMASQ_VENDOR_CLASS y -DNSMASQ_USER_CLASS0..DNSMASQ_USER_CLASSn, pero solo para acciones "add" -y "old" cuando un host resume un arriendo existente, dado a que estos -datos no son almacenados en la base de datos de arriendos de dnsmasq. -Si dnsmasq fue compilado con HAVE_BROKEN_RTC, entonces la duración del -arriendo (en segundos) es almacenada en DNSMASQ_LEASE_LENGTH, de otra -manera el tiempo de vencimiento es almacenado en DNSMASQ_LEASE_EXPIRES. -El número de segundos faltante para el vencimiento del arriendo siempre -es almacenado en DNSMASQ_TIME_REMAINING. -Si un arriendo solía tener un nombre de host, el cual es removido, un -evento "old" es generado con el nuevo estado del arriendo, (por ejemplo, sin -nombre), y el nombre anterior es brindado en la variable de ambiente -DNSMASQ_OLD_HOSTNAME. DNSMASQ_INTERFACE almacena el nombre de la interface -en la cual llegó el pedido; esto no es fijado para acciones "viejas" -cuando dnsmasq re-inicia. -Todos los descriptores de archivo están cerrados -excepto stdin, stdout, y stderr los cuales están abiertos a /dev/null -(excepto en modo debug). -Este guión no es invocado concurrentemente: si cambios de arriendos -subsiguientes ocurren, el guión no es invocado otra vez hasta que -cualquier invocación existente haga exit. Al inicio de dnsmasq, el guión -será invocado para todos los arriendos existentes mientras van siendo -leídos desde el archivo de arriendos. Arriendos vencidos serán llamados -con "del" y otros con "old". <path> debe ser un path absoluto, ninguna -búsqueda PATH ocurre. Cuando dnsmasq recibe una señal HUP, el guión será -invocado para arriendos existentes con un evento "old". -.TP -.B --dhcp-scriptuser -Especificar el usuario como el cual se debe correr el archivo -guión de cambio de arriendos. Este es root por predeterminado, -pero puede ser cambiado a otro usuario mediante esta opción. -.TP -.B \-9, --leasefile-ro -Suprimir completamente el uso del archivo de arriendos. El archivo no será -creado, leído, ni escrito. Cambiar la manera en la cuál el archivo guión de -cambio de arriendo (si es brindado) es llamado, de tal forma que la base de -datos de arriendospueda ser mantenida en almacenaje externo por el archivo -guión. Adicionálmente a las invocaciones brindadas en -.B --dhcp-script -el archivo de cambio de arriendos es llamado una vez, al inicio de dnsmasq, -con el único argumento "init". Cuando invocado de esta forma, el guión debería -escribir el estado guardado de la base de datos de arriendos, en formato de -archivo de arriendos dnsmasq, a stdout y hacer exit con código exit cero. Fijar -esta opción también forza que el archivo de cambio de arriendos sea llamado -cuando hay cambios hechos a el client-id y tiempos de arriendo y vencimiento. -.TP -.B --bridge-interface=<nombre de interface>,<alias>[,<alias>] -Tratar paquetes de pedidos DHCP que llegan a cualquiera de las interfaces <alias> -como si hubieran llegado a la interface <nombre de interface>. Esta opción -es necesaria al usar bridging estilo viejo en plataformas BSD, dado a que -los paquetes llegan a interfaces tap que no tienen una dirección IP. -.TP -.B \-s, --domain=<dominio>[,<rango de IPs>] -Especifica los dominios DNS para el servidor DHCP. Dominios pueden ser -brindados incondicionalmente (sin el rango de IPs) o para rangos limitados. Esto -tiene dos efectos: Primeramente, causa que el servidor DHCP le devuelva el -dominio a cualquier host que lo pida. Segundamente, fija el dominio para el -cual es legal para hosts configurados mediante DHCP reclamar. La intención es -restringir nombres de host para que un host no-confiado en la LAN no -pueda proclamar su nombre vía DHCP, como por ejemplo "microsoft.com" y -capturar tráfico no destinado a ella. Si ningún sufijo de dominio es -especificado, entonces cualquier nombre de host con una parte de dominio -(o sea con un punto) será negada y bitacorada. Si un sufijo es especificado, -entonces nombres de host con una parte de dominio son permitidos, con tal -que la parte de dominio coincida con el sufijo. Adicionalmente, cuando -un sufijo es fijado, entonces nombres de host sin parte de dominio tienen -el sufijo agregado como una parte de dominio opcional. Por ejemplo, en -mi red puedo fijar -.B --domain=thekelleys.org.uk -y tener una maquina cuyo nombre host DHCP es "laptop". La dirección IP -de esa máquina es disponible desde -.B dnsmasq -como "laptop" y "laptop.thekelleys.org.uk". Si el dominio es brindado -como "#" entonces el dominio es leido desde la primera directiva search -en /etc/resolv.conf (o equivalente). El rango de direcciones puede ser -<dirección IP>,<dirección IP> or <dirección IP>/<máscara de subred>. Ver -.B --dhcp-fqdn el cual puede cambiar el comportamiento de dnsmasq con -dominios. -.TP -.B --dhcp-fqdn -En el modo predeterminado, dnsmasq pone los nombres no-calificados -de clientes DHCP en el DNS. Por esta razón, los nombres deben ser únicos, -aún si dos clientes que tienen el mismo nombre están en dominios -diferentes. Si un segundo cliente DHCP aparece el cual tiene el mismo -nombre que un cliente existente, el nombre es transferido al cliente nuevo. Si -.B --dhcp-fqdn -está fijado, este comportamiento cambia: El nombre no-calificado -no es puesto en el DNS, solo el nombre calificado. Dos clientes DHCP con -el mismo nombre pueden ambos quedarse con el nombre, con tal que la parte -de dominio sea diferente (o sea que los nombres completamente calificados -difieran). Para asegurar que todos los nombres tengan una parte de dominio, -debe haber al menos -.B --domain -sin una dirección especificada cuando -.B --dhcp-fqdn -está fijado. -.TP -.B --enable-tftp -Habilitar la función de servidor TFTP. Esto está deliberadamente limitado -a lo necesario para hacerle a un cliente un inicio vía red. Solo lectura es -permitida; las extensiones tsize y blksize son soportadas (tsize solo es -soportada en modo octeto). -.TP -.B --tftp-root=<directorio> -Buscar, relativo al directorio brindado, archivos para transferir mediante el -uso de TFTP. Cuando esta opción está fijada, paths TFTP que incluyen ".." son -rechazados, para prevenir que clientes salgan de la raíz especificada. Paths -absolutos (los que comienzan con "/") están permitidos, pero deben estar -dentro del tftp-root. -.TP -.B --tftp-unique-root -Agregar la dirección IP del cliente TFTP como un componente path del lado del -TFTP-root (en formato estándar de cuatro puntos). Solo válido si un tftp-root -está fijado y el directorio existe. Por ejemplo, si tftp-root es "/tftp" y el -cliente 1.2.3.4 pide el archivo "miarchivo" entonces el path efectivo será -"/tftp/1.2.3.4/miarchivo" si /tftp/1.2.3.4 existe o /tftp/miarchivo si no. -.TP -.B --tftp-secure -Habilitar modo TFTP seguro: sin esto, cualquier archivo que es leíble por el -proceso dnsmasq bajo reglas normales de control de acceso UNIX, está disponible -vía TFTP. Cuando la opción --tftp-secure es fijada, solo archivos -pertenecientes al usuario que corre el proceso dnsmasq están accesibles. Si -dnsmasq está corriendo como root, reglas diferentes aplican: --tftp-secure no -tiene ningún efecto, pero solo archivos que tienen el bit de lectura global -fijados están accesibles. No se recomienda correr dnsmasq como root con TFTP -habilitado, y mucho menos sin especificar --tftp-root, ya que se puede exponer -cualquier archivo de lectura global en el servidor a cualquier host de la red. -.TP -.B --tftp-max=<conecciones> -Fijar el número máximo permitido de conecciones TFTP simultáneas. Esto es 50 -por predeterminado. Al servir un número grande de conecciones TFTP, límites -de descriptor de archivo por proceso pueden ser encontrados. Dnsmasq necesita -un descriptor de archivo por cada coneccion TFTP concurrente, y por archivo -único (mas algunos otros). De tal manera que servirle el mismo archivo -simultáneo a n clientes requerirá el uso de n + 10 descriptores de archivo, -y servirles archivos diferentes simultáneamente requerirá (2*n) + 10 -descriptores. Si -.B --tftp-port-range -es brindado, eso puede afectar el número de conexiones simultáneas. -.TP -.B --tftp-no-blocksize -No permitir que el servidor negocie la opción "blocksize" con un cliente. -Algunos clientes con errores piden esta opción pero se portán mal cuando se -les brinda. -.TP -.B --tftp-port-range=<inicio>,<final> -Un servidor TFTP escucha por inicios de conexión en un puerto bien conocido -(69), pero tambien usa un puerto dinamicamente seleccionado para cada -conexión. Normalmente estos son seleccionados por el sistema operativo, -pero esta opción especifica un rango de puertos para ser usado por transferencias -TFTP. Esto puede ser útil cuando TFTP tiene que pasar atraves de un firewall. -El comienzo del rango no puede ser menor a 1025 a menos que dnsmasq esté corriendo -como root. El número de conexiones simultáneas está limitado por el tamaño del -rango de puertos. -.TP -.B \-C, --conf-file=<archivo> -Especificar un archivo de configuración diferente. La opción conf-file -también es permitida en archivos de configuración, para incluir múltiples -archivos de configuración. -.TP -.B \-7, --conf-dir=<directorio> -Leer todos los archivos dentro del directorio brindado como archivos -de configuración. Archivos cuyos nombres terminen con ~ o comienzen -con . o comienzen y terminen con # son ignorados. Esta opción puede -ser brindada en la línea de comandos o en un archivo de configuración. -.SH ARCHIVO DE CONFIGURACION -Al inicio, dnsmasq lee -.I /etc/dnsmasq.conf, -si existe. (En FreeBSD, el archivo es -.I /usr/local/etc/dnsmasq.conf -) (pero ver las opciónes -.B \-C -y -.B \-7 -porfavor.) El formato de este archivo consiste de una opción por línea, -exáctamente como las opciones largas detalladas en la sección OPCIONES -pero sin el "--" al frente. Líneas que comienzan con # son comentarios -y son ignoradas. Para opciones que solo pueden ser especificadas una -sola vez, el archivo de configuración invalida la línea de comandos. -Las comillas son permitidas en el archivo de configuración: entre comillas -tipo " los significados especiales de ,:. y # son eliminados y los -siguientes escapes son permitidos: \\\\ \\" \\t \\e \\b \\r y \\n. -Corresponden a tab, escape, backspace, return y newline. -.SH NOTAS -Al recibir un SIGHUP -.B dnsmasq -libera su cache y entonces recarga -.I /etc/hosts -y -.I /etc/ethers -al igual que cualquier archivo brindado con --dhcp-hostsfile, --dhcp-optsfile, -o --addn-hosts. -El archivo guión de cambio de arriendos es llamado para todos los arriendos -DHCP existentes. Si -.B ---no-poll -está fijado entonces SIGHUP también re-lee -.I /etc/resolv.conf. -SIGHUP -NO re-lee el archivo de configuración. -.PP -Al recibir un SIGUSR1, -.B dnsmasq -escribe estadísticas a la bitácora del sistema. Escribe el tamaño -del caché, el numero de nombres que han tenido que ser removidos del -caché antes de que vencieran para hacer espacio para nombres nuevos, y el -número total de nombres que han sido insertados en el caché. Para cada -servidor upstream brinda el número de búsquedas enviadas, y el -número que resultaron en error. En modo -.B --no-daemon -o cuando bitacoréo completo está habilitado (-q), una descarga completa de -el contenido del caché es hecha. -.PP -Cuando recibe un SIGUSR2 y está bitacoreando diréctamente a un archivo (ver -.B --log-facility -) -.B dnsmasq -cerrará y reabrirá el archivo de bitácora. Nótese que durante esta -operación, dnsmasq no estará corriendo como root. Al crear el archivo de -bitácora, dnsmasq cambia el dueño del archivo a el usuario normal como -el que correrá. Logrotate debe ser configurado para crear un archivo de -bitácora nuevo con permisos iguales al existente, antes de enviar -SIGUSR2. Si búsquedas DNS TCP están en progreso, el archivo de bitácora -viejo se mantendrá abierto en procesos hijos que están manejando -búsquedas TCP, y puede continuarse a escribirle. Hay un límite de 150 -segundos, después de lo cual todos los procesos TCP existentes se habrán -vencido: por esta razón, no es sabio configurar compresión de archivos -de bitácora para archivos que acaban de ser rotados. Con logrotate, las -opciones requeridas son -.B create -y -.B delaycompress. -.PP -Dnsmasq es un reenviador de búsquedas DNS: no puede responder búsquedas -arbitrarias comenzando desde los servidores root pero reenvía dichas -búsquedas a un servidor DNS recursivo, el cual es típicamente proveído -por el proveedor de Internet. Por predeterminado, dnsmasq lee -.I /etc/resolv.conf -para descubir las direcciones IP de los servidores DNS upstream que -debe usar, dado a que esta información es normalmente almacenada allí. -Amenos que -.B --no-poll -sea usado, -.B dnsmasq -revisa el tiempo de modificación de -.I /etc/resolv.conf -(o equivalente si -.B \--resolv-file -es usado) y lo re-lee si ha cambiado. Esto permite que servidores DNS séan -fijados dinámicamente vía PPP o DHCP ya que ambos protocolos brindan esta -información. -La ausencia de -.I /etc/resolv.conf -no es un error ya que pudo haber sido creada antes de que una conexión PPP -haya existido. Dnsmasq simplemente sigue revisando en caso de que -.I /etc/resolv.conf -sea creado en algún momento. A dnsmasq se le puede decir que revise más -de un archivo resolv.conf. Esto es útil en una laptop, donde ambos PPP y -DHCP podrían estar siendo usados: dnsmasq puede ser fijado para revisar ambos -.I /etc/ppp/resolv.conf -y -.I /etc/dhcpc/resolv.conf -y usará el contenido del que haya cambiado mas recientemente, -brindando así la habilidad de cambio automático entre servidores DNS. -.PP -Servidores upstream también pueden ser especificados en la línea de -comandos o en el archivo de configuración. Estas especificaciones de -servidor opcionalmente llevan un nombre de dominio el cual le dice a -dnsmasq que debe usar ese servidor solo para encontrar nombres en ese -dominio en particular. -.PP -Para configurar dnsmasq como caché para el host donde está -corriendo, poner un "nameserver 127.0.0.1" en -.I /etc/resolv.conf -para así forzar procesos locales a enviar búsquedas a dnsmasq. Entonces, -o especificar los servidores upstream diréctamente a dnsmasq usando opciones -.B \--server -o poniendo sus direcciones reales en otro archivo, digamos -.I /etc/resolv.dnsmasq -y correr dnsmasq con la opcion -.B \-r /etc/resolv.dnsmasq -Esta segunda técnica permite la actualización dinámica de las direcciones -de servidor mediante PPP o DHCP. -.PP -Direcciones en /etc/hosts "harán sombra" a diferentes direcciones para -los mismos nombres en servidores DNS upstream, así que -"miempresa.com 1.2.3.4" en /etc/hosts se asegurará que las búsquedas -por "miempresa.com" siempre retornarán 1.2.3.4 aún si búsquedas en el -servidor DNS upstream devolverían una dirección diferente. Hay una -excepción a esto: si el servidor DNS upstream contiene un CNAME que -apunta a un nombre sombreado, entonces buscando el CNAME a travéz de -dnsmasq resultará en que la dirección no-sombreada será asociada con -el destino del CNAME. Para circumventar esto, agregar el CNAME a -/etc/hosts de tal manera que el CNAME es sombreado también. -.PP -El sistema network-id funciona de la siguiente manera: Para cada pedido -DHCP, dnsmasq colecciona un juego de etiquetas network-id válidas, -una del -.B dhcp-range -usado para alocar la dirección, una de cualquier -.B dhcp-host -que coincida (y "known" si un dhcp-host coincide), la etiqueta "bootp" -para pedidos BOOTP, una etiqueta cuyo nombre es el nombre de la -interface donde llegó el pedido, y posiblemente muchas de clases -de vendedor y usuario que coincidan que hayan sido enviadas por -el cliente DHCP. Cualquier opción -.B dhcp-option -que tenga etiquetas network-id será usada en preferencia de una opción -.B dhcp-option, -sin etiqueta, con tal que _todas_ las etiquetas coincidan en alguna -parte del juego coleccionado describido arriba. El prefijo "#" en una -etiqueta significa "no" así que --dhcp=option=#purple,3,1.2.3.4 envía -la opción cuando la etiqueta network-id "purple" no está en el juego -de etiquetas válidas. -.PP -Si el network-id en un -.B dhcp-range -es prefijado con "net:", entonces su significado cambia de "fijar -etiqueta" a "coincidir con etiqueta". O sea que si hay más de un -dhcp-range en en una subred, y uno tiene una etiqueta network-id la -cual está fijada (por ejemplo una opción de clase de vendedor) entonces -hosts que fijen la etiqueta network-id serán alocados direcciones en -el rango etiquetado. -.PP -El servidor DHCP de dnsmasq funcionará como servidor BOOTP tambien, -con tal que las direcciones MAC y IP de los clientes sean brindadas, -ya sea usando configuraciones -.B dhcp-host -o en -.I /etc/ethers -, y una configuración -.B dhcp-range -esté presente para activar el servidor DHCP en una red particular. -(Fijar --bootp-dynamic elimina la necesidad de trazados estáticos.) El -parámetro de nombre de archivos en un pedido BOOTP es revisado para -ver si coincide con algún network-id en configuraciónes -.B dhcp-option -al igual que la etiqueta "bootp", permitiendo así algún control sobre -las opciones devueltas a diferentes clases de hosts. - -.SH CÓDIGOS EXIT -.PP -0 - Dnsmasq hizo fork hacia el fondo exitosamente, o terminó de manera -normal si ir al fondo no está habilitado. -.PP -1 - Un problema con la configuración ha sido detectado. -.PP -2 - Un problema con acceso a redes ocurrió (dirección en uso, intento -de usar puertos privilegiados sin permiso). -.PP -3 - Un problema con una operación de sistema de archivos ocurrió (archivo -o directorio ausente, permisos). -.PP -4 - Falla de alocación de memoria. -.PP -5 - Otro problema misceláneo. -.PP -11 o mayor - un codigo de retorno no cero fué recibido del llamado "init" -del proceso de archivo guión de arriendos. El código exit de dnsmasq es -el código exit del archivo guión con 10 sumado. - -.SH LIMITES -Los valores predeterminados para limites de recursos son generálmente -conservadores, y apropiados para uso en dispositivos tipo enrutador -encrustrado con procesadores lentos y poca memoria. En hardware más -capáz, es posible incrementar los límites, y soportar muchos mas -clientes. Lo siguiente se aplica a dnsmasq-2.37: versiones previas -no escalaban tan bien. - -.PP -Dnsmasq es capaz de soportar con DNS y DHCP a por lo menos mil (1,000) -clientes. Por supuesto que para lograr esto debe aumentarse el valor de -.B --dhcp-lease-max -, y tiempos de arriendo no deben ser muy cortos (menos de una hora). -El valor de -.B --dns-forward-max -puede ser aumentado: comienze con el equivalente a el número de clientes y -auméntelo si parece lento el DNS. Nótese que el rendimiento DNS depende -también de los servidores DNS upstream. El tamaño del caché DNS puede ser -incrementado: el límite obligatorio es 10,000 nombres y el predeterminado -(150) es muy bajo. El enviarle un SIGUSR1 a dnsmasq hace que bitacorée -información que es útil para afinar el tamaño de caché. Ver la sección -.B NOTAS -para detalles. - -.PP -El servidor TFTP incorporado es capáz de soportar varias transferencias -simultáneas de archivos: el límite absoluto está relacionado con el número -de file-handles permitidos a un proceso y la habilidad del system call -select() a soportar números grandes de file-handles. Si el límite es fijado -demasiado alto con -.B --tftp-max -será de-escalado y el límite real será bitacoreado al inicio. Nótese que más -transferencias son posibles cuando el mismo archivo es enviado qué cuando -cada transferencia envía un archivo diferente. - -.PP -Es posible usar dnsmasq para negar publicidad Web usando una lista de -servidores de banners bien conocidos, todos resolviendose a 127.0.0.1 o -0.0.0.0 en -.B /etc/hosts -o en un archivo hosts adicional. La lista puede ser muy larga. Dnsmasq ha sido -probado exitósamente con un millón de nombres. Ese tamaño de archivo necesita -un CPU de 1GHz y aproximadamente 60MB de RAM. - -.SH ARCHIVOS -.IR /etc/dnsmasq.conf - -.IR /usr/local/etc/dnsmasq.conf - -.IR /etc/resolv.conf - -.IR /etc/hosts - -.IR /etc/ethers - -.IR /var/lib/misc/dnsmasq.leases - -.IR /var/db/dnsmasq.leases - -.IR /var/run/dnsmasq.pid -.SH VER TAMBIEN -.BR hosts (5), -.BR resolver (5) -.SH AUTOR -Este manual fue escrito por Simon Kelley <simon@thekelleys.org.uk>. - -Traducido a español por Christopher Chatham <chrislinux@gmail.com>. diff --git a/man/fr/dnsmasq.8 b/man/fr/dnsmasq.8 deleted file mode 100755 index 92ec024..0000000 --- a/man/fr/dnsmasq.8 +++ /dev/null @@ -1,1449 +0,0 @@ -.TH DNSMASQ 8 -.SH NAME -Dnsmasq \- Un serveur DHCP et cache DNS poids-plume. -.SH SYNOPSIS -.B dnsmasq -.I [OPTION]... -.SH "DESCRIPTION" -.BR dnsmasq -est un serveur DHCP et DNS à faible empreinte mémoire. Il offre à la fois les -services DNS et DHCP pour un réseau local (LAN). -.PP -Dnsmasq accepte les requêtes DNS et y réponds soit en utilisant un petit cache -local, soit en effectuant une requête à un serveur DNS récursif externe (par -exemple celui de votre fournisseur d'accès internet). Il charge le contenu du -fichier /etc/hosts afin que les noms locaux n'apparaissant pas dans les DNS -globaux soient tout de même résolus, et assure également la résolution de nom -pour les hôtes présents dans le service DHCP. -.PP -Le serveur DHCP Dnsmasq DHCP supporte les définitions d'adresses statiques et les -réseaux multiples. Il envoie par défaut un jeu raisonnable de paramètres DHCP, et -peut être configuré pour envoyer n'importe quel option DHCP. -Il inclut un serveur TFTP sécurisé en lecture seule permettant le démarrage via -le réseau/PXE de clients DHCP et supporte également le protocole BOOTP. -.PP -Dnsmasq supporte IPv6 pour le DNS mais pas pour le DHCP. -.SH OPTIONS -Notes : Il est possible d'utiliser des options sans leur donner de paramètre. -Dans ce cas, la fonction correspondante sera désactivée. Par exemple -.B --pid-file= -(sans paramètre après le =) désactive l'écriture du fichier PID. -Sur BSD, à moins que le logiciel ne soit compilé avec la bibliothèque GNU -getopt, la forme longue des options ne fonctionne pas en ligne de commande; Elle -est toujours supportée dans le fichier de configuration. -.TP -.B --test -Vérifie la syntaxe du ou des fichiers de configurations. Se termine avec le -code de retour 0 si tout est OK, ou un code différent de 0 dans le cas -contraire. Ne démarre pas Dnsmasq. -.TP -.B \-h, --no-hosts -Ne pas charger les noms du fichier /etc/hosts. -.TP -.B \-H, --addn-hosts=<fichier> -Fichiers d'hôtes additionnels. Lire le fichier spécifié en plus de /etc/hosts. -Si -.B -h -est spécifié, lire uniquement le fichier spécifié. Cette option peut être -répétée afin d'ajouter d'autres fichiers. Si un répertoire est donné, lis les -fichiers contenus dans ce répertoire. -.TP -.B \-E, --expand-hosts -Ajoute le nom de domaine aux noms simples (ne contenant pas de point dans le -nom) contenus dans le fichier /etc/hosts, de la même façon que pour le service -DHCP. Notez que cela ne s'applique pas au nom de domaine dans les CNAME, les -enregistrements PTR, TXT, etc... -.TP -.B \-T, --local-ttl=<durée> -Lorsque Dnsmasq répond avec une information provenant du fichier /etc/hosts ou -avec un bail DHCP, il donne un temps de vie (time-to-live) positionné à zéro, -afin d'indiquer à la machine faisant la requête que celle-ci ne doit pas être -mise dans un cache. Ceci est le comportement correct dans presque toutes les -situations. -Cette option permet de spécifier la valeur de time-to-live à retourner (en -secondes). Cela permet de réduire la charge sur le serveur, mais les clients -risquent d'utiliser des données périmées dans certains cas. -.TP -.B --neg-ttl=<durée> -Les réponses négatives provenant des serveurs amonts contiennent normalement -une information de durée de vie (time-to-live) dans les enregistrements SOA, -information dont dnsmasq se sert pour mettre la réponse en cache. Si la réponse -du serveur amont omet cette information, dnsmasq ne cache pas la réponse. Cette -option permet de doner une valeur de durée de vie par défaut (en secondes) que -dnsmasq utilise pour mettre les réponses négatives dans son cache, même en -l'absence d'enregistrement SOA. -.TP -.B \-k, --keep-in-foreground -Ne pas aller en tâche de fond au lancement, mais en dehors de cela, fonctionner -normalement. Ce mode est prévu pour les cas où Dnsmasq est lancé par daemontools -ou launchd. -.TP -.B \-d, --no-daemon -Mode debug (déverminage) : ne pas aller en tâche de fond, ne pas écrire de -fichier pid, ne pas changer d'identifiant utilisateur, générer un état complet -du cache lors de la réception d'un signal SIGUSR1, envoyer les logs sur la -sortie standard d'erreur ("stderr") de même que dans le syslog, ne pas créer de -processus fils pour traiter les requêtes TCP. -.TP -.B \-q, --log-queries -Enregistrer les résultats des requêtes DNS traitées par Dnsmasq dans un fichier -de traces ("logs"). Active la génération d'un état complet du cache lors de la -réception d'un signal SIGUSR1. -.TP -.B \-8, --log-facility=<facility> -Définit la "facility" dans laquelle Dnsmasq enverra ses entrées syslog, par -défaut DAEMON ou LOCAL0 si le mode debug est activé. Si la "facility" contient -au moins un caractère "/", alors Dnsmasq considère qu'il s'agit d'un fichier et -enverra les logs dans le fichier correspondant à la place du syslog. (Les -erreurs lors de la lecture de la configuration vont toujours vers le syslog, -mais tous les messages postérieures à un démarrage réussi seront exclusivement -envoyés vers le fichier de logs). Lorsque Dnsmasq est configuré pour envoyer -ses traces vers un fichier, la réception d'un signal SIGUSR2 entraine la -fermeture et réouverture du fichier. Cela permet la rotation de fichiers de -traces sans nécessiter l'arrêt de Dnsmasq. -.TP -.B --log-async[=<lignes>] -Permet l'envoi de traces de manière asynchrone, et de manière optionnelle, le -nombre de lignes devant être mises dans la file d'attente par Dnsmasq lorsque -l'écriture vers le syslog est lente. -Dnsmasq peut envoyer ses logs de manière asynchrone : cela lui permet de -continuer à fonctionner sans être bloqué par le syslog, et permet à syslog -d'utiliser Dnsmasq pour les résolutions DNS sans risque d'interblocage. -Si la file d'attente devient pleine, Dnsmasq loggera le dépassement de file et -le nombre de messages perdus. La longueur par défaut de la file d'attente est de -5 et une valeur saine sera comprise entre 5 et 25, avec une limite maximum -imposée de 100. -.TP -.B \-x, --pid-file=<chemin> -Spécifie un fichier dans lequel stocker le numéro de processus (pid). La valeur -par défaut est /var/run/dnsmasq.pid. -.TP -.B \-u, --user=<nom d'utilisateur> -Spécifie l'identité (nom d'utilisateur) prise par Dnsmasq après le démarrage. -Dnsmasq doit normalement être démarré en temps que root ("super-utilisateur"), -mais abandonne ses privilèges après le démarrage en changeant d'identité. -Normalement cet utilisateur est l'utilisateur nobody ("personne"), mais il est -possible d'en définir un autre par le biais de ce paramètre. -.TP -.B \-g, --group=<nom de groupe> -Spécifie le groupe sous lequel Dnsmasq s'exécute. Par défaut, il s'agit du -groupe "dip", afin de faciliter l'accès au fichier /etc/ppp/resolv.conf qui -n'est en général pas en lecture par tout le monde. -.TP -.B \-v, --version -Imprime le numéro de version. -.TP -.B \-p, --port=<port> -Ecoute sur le port numéro <port> au lieu du port DNS standard (53). Paramétrer -cette valeur à zéro désactive complètement la fonction DNS pour ne laisser actif -que le DHCP ou le TFTP. -.TP -.B \-P, --edns-packet-max=<taille> -Spécifie la taille maximum de paquet UDP EDNS.0 supporté par le relai DNS. Le -défaut est de 1280, qui est la valeur maximale -recommandée pour ethernet dans la RFC2671. -.TP -.B \-Q, --query-port=<numéro de port> -Envoie et écoute les requêtes DNS sortantes depuis le port UDP spécifié par -<numéro de port>, et non sur un port aléatoire. NOTE : Cette option rends -dnsmasq moins sûr contre les attaques par usurpation DNS ("DNS spoofing"), mais -cela peut permettre d'utiliser moins de ressources et d'être plus rapide. Donner -une valeur de zéro à cette option restaure le comportement par défaut présent dans -les versions de dnsmasq inférieures à 2.43 qui consiste à n'allouer qu'un seul port -alloué par le système d'exploitation. -.TP -.B --min-port=<port> -Ne pas utiliser de port dont le numéro est inférieur à la valeur donnée en paramètre -pour les requêtes DNS sortantes. Dnsmasq choisis un port source aléatoire pour les -requêtes sortantes : lorsque cette option est fournie, les ports utilisés seront toujours -au dessus de la valeur spécifiée. Utile pour des systèmes derrière des dispositifs -garde-barrières ("firewalls"). -.TP -.B \-i, --interface=<nom d'interface> -N'écouter que sur l'interface réseau spécifiée. Dnsmasq aujoute automatiquement -l'interface locale ("loopback") à la liste des interfaces lorsque l'option -.B --interface -est utilisée. -Si aucune option -.B --interface -ou -.B --listen-address -n'est donnée, Dnsmasq écoutera sur toutes les interfaces disponibles sauf -celle(s) spécifiée(s) par l'option -.B --except-interface. -Les alias d'interfaces IP (e-g "eth1:0") ne peuvent être utilisés ni avec -.B --interface -ni -.B \--except-interface. -Utiliser l'option -.B --listen-address -à la place. -.TP -.B \-I, --except-interface=<interface name> -Ne pas écouter sur l'interface spécifiée. Notez que l'ordre dans lesquelles les -options -.B \--listen-address -, -.B --interface -et -.B --except-interface -sont fournies n'importe pas, et que l'option -.B --except-interface -l'emporte toujours sur les autres. -.TP -.B \-2, --no-dhcp-interface=<nom d'interface> -Ne pas fournir de service DHCP sur l'interface spécifiée, mais fournir tout de -même le service DNS. -.TP -.B \-a, --listen-address=<adresse IP> -Ecouter sur la ou les adresse(s) IP spécifiée(s). Les options -.B \--interface -et -.B \--listen-address -peuvent-être spécifiées simultanément, auquel cas un jeu d'interfaces et -d'adresses seront utilisées. Notez que si -aucune option -.B \--interface -n'est donnée alors qu'une option -.B \--listen-address -l'est, Dnsmasq n'écoutera pas automatiquement sur l'interface locale -("loopback"). Pour activer l'écoute sur l'interface locale, il est alors -nécessaire de fournir explicitement son adresse IP, 127.0.0.1 via l'option -.B \--listen-address. -.TP -.B \-z, --bind-interfaces -Sur les systèmes qui le supporte, Dnsmasq s'associe avec l'interface joker -("wildcard"), même lorsqu'il ne doit écouter que sur certaines interfaces. Par -la suite, il rejette les requêtes auxquelles il ne doit pas répondre. Cette -situation présente l'avantage de fonctionner même lorsque les interfaces vont -et viennent ou changent d'adresses. L'option -.B --bind-interfaces -force Dnsmasq à ne réellement s'associer qu'avec les interfaces sur lesquelles -il doit écouter. L'un des seuls cas où cette option est utile est celui où un -autre serveur de nom (ou une autre instance de Dnsmasq) tourne sur la même -machine. Utiliser cette option permet également d'avoir plusieurs instances de -Dnsmasq fournissant un service DHCP sur la même machine. -.TP -.B \-y, --localise-queries -Retourne des réponses aux requêtes DNS dépendantes de l'interface sur laquelle -la requête a été reçue, à partir du fichier /etc/hosts. Si un nom dans -/etc/hosts a plus d'une adresse associée avec lui, et qu'une des adresses au -moins est dans le même sous-réseau que l'interface sur laquelle la requête a été -reçue, alors ne retourne que la(les) adresse(s) du sous-réseau considéré. Cela -permet d'avoir dans /etc/hosts un serveur avec de multiples adresses, une pour -chacune de ses interfaces, et de fournir aux hôtes l'adresse correcte (basée sur -le réseau auquel ils sont attachés). Cette possibilité est actuellement limitée -à IPv4. -.TP -.B \-b, --bogus-priv -Fausse résolution inverse pour les réseaux privés. Toutes les requêtes DNS -inverses pour des adresses IP privées (ie 192.168.x.x, etc...) qui ne sont pas -trouvées dans /etc/hosts ou dans le fichier de baux DHCP se voient retournées -une réponse "pas de tel domaine" ("no such domain") au lieu d'être transmises -aux serveurs de nom amont ("upstream server"). -.TP -.B \-V, --alias=[<ancienne IP>]|[<IP de début>-<IP de fin>],<nouvelle IP>[,<masque>] -Modifie les adresses IPv4 retournées par les serveurs de nom amont; -<ancienne IP> est remplacée par <nouvelle IP>. Si le <masque> optionnel est -fourni, alors toute adresse correspondant à l'adresse <ancienne IP>/<masque> -sera réécrite. Ainsi par exemple -.B --alias=1.2.3.0,6.7.8.0,255.255.255.0 -modifiera 1.2.3.56 en 6.7.8.56 et 1.2.3.67 en 6.7.8.67. -Cette fonctionnalité correspond à ce que les routeurs Cisco PIX appellent -"bidouillage DNS" ("DNS doctoring"). Si l'ancienne IP est donnée sous la forme -d'une gamme d'adresses, alors seules les adresses dans cette gamme seront -réecrites, et non le sous-réseau dans son ensemble. Ainsi, -.B --alias=192.168.0.10-192.168.0.40,10.0.0.0,255.255.255.0 -fait correspondre 192.168.0.10->192.168.0.40 à 10.0.0.10->10.0.0.40 -.TP -.B \-B, --bogus-nxdomain=<adresse IP> -Transforme les réponses contenant l'adresse IP fournie en réponses "pas de tel -domaine" ("no such domain"). Ceci a pour but de neutraliser la modification -sournoise mise en place par Verisign en septembre 2003, lorsqu'ils ont commencé -à retourner l'adresse d'un serveur web publicitaire en réponse aux requêtes pour -les noms de domaines non enregistrés, au lieu de la réponse correcte "NXDOMAIN". -Cette option demande à Dnsmasq de retourner la réponse correcte lorsqu'il -constate ce comportement. L'adresse retournée par Verisign en septembre 2003 -est 64.94.110.11. -.TP -.B \-f, --filterwin2k -Les dernières versions de windows font des requêtes DNS périodiques auxquelles -non seulement les serveurs DNS publics ne peuvent donner de réponse, mais qui, -de surcroît, peuvent poser des problèmes en déclenchant des connexions -intempestives pour des liens réseaux avec des connexions "à la demande". Fournir -cette option active le filtrage des requêtes de ce type. Les requêtes bloquées -sont les requêtes pour les entrées de type SOA ou SRV, ainsi que les requêtes de -type ANY avec des noms possédant des caractères sous-lignés (requêtes pour des -serveurs LDAP). -.TP -.B \-r, --resolv-file=<fichier> -Lis les adresses des serveurs de nom amont dans le fichier de nom <fichier>, -au lieu du fichier /etc/resolv.conf. Pour le format de ce fichier, voir dans le -manuel pour -.BR resolv.conf (5) -les entrées correspondant aux serveurs de noms (nameserver). Dnsmasq peut lire -plusieurs fichiers de type resolv.conf, le premier fichier spécifié remplace le -fichier par défaut, le contenu des suivants est rajouté dans la liste des -fichiers à consulter. Seul le fichier ayant la dernière date de modification -sera chargé en mémoire. -.TP -.B \-R, --no-resolv -Ne pas lire le contenu du fichier /etc/resolv.conf. N'obtenir l'adresse des -serveurs de nom amont que depuis la ligne de commande ou le fichier de -configuration de Dnsmasq. -.TP -.B \-1, --enable-dbus -Autoriser la mise à jour de la configuration de Dnsmasq par le biais d'appel de -méthodes DBus. Il est possible par ce biais de mettre à jour l'adresse de -serveurs DNS amont (et les domaines correspondants) et de vider le cache. Cette -option nécessite que Dnsmasq soit compilé avec le support DBus. -.TP -.B \-o, --strict-order -Par défaut, Dnsmasq envoie les requêtes à n'importe lequel des serveurs amonts -dont il a connaissance tout en essayant de favoriser les serveurs qu'il sait -fonctionner. Cette option force Dnsmasq à essayer d'interroger, pour chaque -requête, les serveurs DNS dans leur ordre d'apparition dans le fichier -/etc/resolv.conf. -.TP -.B --all-servers -Par défaut, lorsque dnsmasq a plus d'un serveur amont disponible, il n'envoie -les requêtes qu'à un seul serveur. Spécifier cette option force dnsmasq à -effectuer ses requêtes à tous les serveurs disponibles. Le résultat renvoyé -au client sera celui fournit par le premier serveur ayant répondu. -.TP -.B --stop-dns-rebind -Rejete (et enregistre dans le journal d'activité) les adresses dans la gamme -d'adresses IP privée (au sens RFC1918) qui pourraient être renvoyées par les -serveurs amonts suite à une résolution de nom. Cela bloque les attaques cherchant -à détourner de leur usage les logiciels de navigation web ('browser') en s'en -servant pour découvrir les machines situées sur le réseau local. -.TP -.B \-n, --no-poll -Ne pas vérifier régulièrement si le fichier /etc/resolv.conf a été modifié. -.TP -.B --clear-on-reload -Lorsque le fichier /etc/resolv.conf est relu, vider le cache DNS. -Cela est utile si les nouveaux serveurs sont susceptibles d'avoir des données -différentes de celles stockées dans le cache. -.TP -.B \-D, --domain-needed -Indique à Dnsmasq de ne jamais transmettre en amont de requêtes pour des noms -simples, ne comprenant donc ni points ni nom de domaine. Si un nom n'est pas -dans /etc/hosts ou dans la liste des baux DHCP, alors une réponse de type -"non trouvé" est renvoyée. -.TP -.B \-S, --local, --server=[/[<domaine>]/[domaine/]][<Adresse IP>[#<port>][@<Adresse IP source>|<interface>[#<port>]]] -Spécifie directement l'adresse IP d'un serveur de nom amont. Cette option ne -supprime pas la lecture du fichier /etc/resolv.conf : utiliser pour cela -l'option -.B -R . -Si un ou plusieurs nom(s) de domaine(s) optionnel(s) sont fournis, ce -serveur sera uniquement utilisé uniquement pour ce(s) domaine(s), et toute -requête concernant ce(s) domaine(s) sera adressée uniquement à ce serveur. -Cette option est destinée aux serveurs de nom privés : si vous avez un serveur -de nom sur votre réseau ayant pour adresse IP 192.168.1.1 et effectuant la -résolution des noms de la forme xxx.internal.thekelleys.org.uk, alors -.B -S /internal.thekelleys.org.uk/192.168.1.1 -enverra toutes les requêtes pour les machines internes vers ce serveur de nom, -alors que toutes les autres requêtes seront adressées aux serveurs indiqués dans -le fichier /etc/resolv.conf. Une spécification de nom de domaine vide, -.B // -possède le sens particulier de "pour les noms non qualifiés uniquement", -c'est-à -dire les noms ne possédant pas de points. Un port non standard peut être -rajouté à la suite des adresses IP en utilisant le caractère #. Plus d'une -option -.B -S -est autorisée, en répétant les domaines et adresses IP comme requis. - -Il est également permis de donner une option -.B -S -avec un nom de domaine mais sans -adresse IP; Cela informe Dnsmasq que le domaine est local et qu'il doit répondre -aux requêtes le concernant depuis les entrées contenues dans le fichier -/etc/hosts ou les baux DHCP, et ne doit en aucun cas transmettre les requêtes -aux serveurs amonts. -.B local -est synonyme de -.B server -("serveur") afin de rendre plus claire l'utilisation de cette option pour cet -usage particulier. - -La chaîne de caractères optionnelle suivant le caractère @ permet de définir -la source que Dnsmasq doit utiliser pour les réponses à ce -serveur de nom. Il doit s'agir d'une des adresses IP appartenant à la machine sur -laquelle tourne Dnsmasq ou sinon la ligne sera ignorée et une erreur sera -consignée dans le journal des événements, ou alors d'un nom d'interface. Si un nom -d'interface est donné, alors les requêtes vers le serveur de nom seront envoyées -depuis cette interface; si une adresse ip est donnée, alors l'adresse source de -la requête sera l'adresse en question. L'option query-port est ignorée pour tous -les serveurs ayant une adresse source spécifiée, mais il est possible de la donner -directement dans la spécification de l'adresse source. Forcer les requêtes à être -émises depuis une interface spécifique n'est pas possible sur toutes les plateformes -supportées par dnsmasq. -.TP -.B \-A, --address=/<domaine>/[domaine/]<adresse IP> -Spécifie une adresse IP à retourner pour toute requête pour les domaines fournis -en option. Les requêtes pour ce(s) domaine(s) ne sont jamais transmises aux -serveurs amonts et reçoivent comme réponse l'adresse IP spécifiée qui peut être -une adresse IPv4 ou IPv6. Pour donner à la fois une adresse IPv4 et une adresse -IPv6 pour un domaine, utiliser plusieurs options -.B -A. -Il faut noter que le -contenu du fichier /etc/hosts et de celui des baux DHCP supplante ceci pour des -noms individuels. Une utilisation courante de cette option est de rediriger la -totalité du domaine doubleclick.net vers un serveur web local afin d'éviter les -bannières publicitaires. La spécification de domaine fonctionne de la même façon -que -.B --server, -avec la caractéristique supplémentaire que -.B /#/ -coïncide avec tout domaine. Ainsi, -.B --address=/#/1.2.3.4 -retournera 1.2.3.4 pour toute requête -n'ayant de réponse ni dans /etc/hosts, ni dans les baux DHCP, et n'étant pas -transmise à un serveur spécifique par le biais d'une directive -.B --server. -.TP -.B \-m, --mx-host=<nom de l'hôte>[[,<nom du MX>],<préference>] -Spécifie un enregistrement de type MX pour <nom de l'hôte> retournant le nom -donné dans <nom du MX> (s'il est présent), ou sinon le nom spécifié dans -l'option -.B --mx-target -si elle est présente. Sinon retourne le nom de la machine -sur laquelle Dnsmasq tourne. La valeur par défaut (spécifiée dans l'option -.B --mx-target -) est utile dans un réseau local pour rediriger les courriers -électroniques vers un serveur central. La valeur de préférence est optionnelle -et vaut par défaut 1 si elle n'est pas spécifiée. Plus d'une entrée MX peut être -fournie pour un hôte donné. -.TP -.B \-t, --mx-target=<nom d'hôte> -Spécifie la réponse par défaut fournie par Dnsmasq pour les requêtes sur des -enregistrements de type MX. Voir -.B --mx-host. -Si -.B --mx-target -est donné mais pas de -.B --mx-host, -alors Dnsmasq retourne comme réponse un enregistrement MX -contenant le nom d'hôte spécifié dans l'option -.B --mx-target -pour toute requête -concernant le MX de la machine sur laquelle tourne Dnsmasq. -.TP -.B \-e, --selfmx -Définit, pour toutes les machines locales, un MX correspondant à l'hôte -considéré. Les machines locales sont celles définies dans le fichier /etc/hosts -ou dans un bail DHCP. -.TP -.B \-L, --localmx -Définit, pour toutes les machines locales, un enregistrement MX pointant sur -l'hôte spécifié par mx-target (ou la machine sur laquelle Dnsmasq tourne). Les -machines locales sont celles définies dans le fichier /etc/hosts ou dans un bail -DHCP. -.TP -.B \-W --srv-host=<_service>.<_protocole>.[<domaine>],[<cible>[,<port>[,<priorité>[,<poids>]]]] -Spécifie un enregistrement DNS de type SRV. Voir la RFC2782 pour plus de -détails. Si le champs <domaine> n'est pas fourni, prends par défaut la valeur -fournie dans l'option -.B --domain. -La valeur par défaut pour le domaine est vide et le port par défaut est 1, alors -que les poids et priorités par défaut sont 0. Attention lorsque vous transposez -des valeurs issues d'une configuration BIND : les ports, poids et priorités sont -dans un ordre différents. Pour un service/domaine donné, plus d'un -enregistrement SRV est autorisé et tous les enregistrements qui coïncident sont -retournés dans la réponse. -.TP -.B \-Y, --txt-record=<nom>[[,<texte>],<texte>] -Définit un enregistrement DNS de type TXT. La valeur de l'enregistrement TXT est -un ensemble de chaînes de caractères, donc un nombre variable de chaînes de -caractères peuvent être spécifiées, séparées par des virgules. -.TP -.B --ptr-record=<nom>[,<cible>] -Définit un enregistrement DNS de type PTR. -.TP -.B --naptr-record=<nom>,<ordre>,<préférence>,<drapeaux>,<service>,<expr. régulière>[,<remplacement>] -Retourne un enregistrement de type NAPTR, tel que spécifié dans le RFC3403. -.TP -.B --cname=<cname>,<cible> -Retourne un enregistrement de type CNAME qui indique que <cname> est en -réalité <cible>. Il existe des contraintes significatives sur la valeur -de cible; il doit s'agir d'un nom DNS qui est connu de dnsmasq via /etc/hosts -(ou un fichier hôtes additionnel) ou via DHCP. Si une cible ne satisfait -pas ces critères, le CNAME est ignoré. Le CNAME doit être unique, mais -il est autorisé d'avoir plus d'un CNAME pointant vers la même cible. -.TP -.B --interface-name=<nom>,<interface> -Définit un entregistrement DNS associant le nom avec l'adresse primaire sur -l'interface donnée en argument. Cette option spécifie un enregistrement de type -A pour le nom donné en argument de la même façon que s'il était défini par une -ligne de /etc/hosts, sauf que l'adresse n'est pas constante mais dépendante de -l'interface définie. Si l'interface est inactive, non existante ou non -configurée, une réponse vide est fournie. Un enregistrement inverse (PTR) est -également créé par cette option, associant l'adresse de l'interface avec le nom. -Plus d'un nom peut être associé à une interface donnée en répétant cette option -plusieurs fois; dans ce cas, l'enregistrement inverse pointe vers le nom fourni -dans la première instance de cette option. -.TP -.B \-c, --cache-size=<taille> -Définit la taille du cache de Dnsmasq. La valeur par défaut est de 150 noms. -Définir une valeur de zéro désactive le cache. -.TP -.B \-N, --no-negcache -Désactive le "cache négatif". Le "cache négatif" permet à Dnsmasq de se souvenir -des réponses de type "no such domain" fournies par les serveurs DNS en amont et -de fournir les réponses sans avoir à re-transmettre les requêtes aux serveurs -amont. -.TP -.B \-0, --dns-forward-max=<nombre de requêtes> -Définit le nombre maximum de requêtes DNS simultanées. La valeur par défaut est -150, ce qui devrait être suffisant dans la majorité des configurations. La seule -situation identifiée dans laquelle cette valeur nécessite d'être augmentée est -lorsqu'un serveur web a la résolution de nom activée pour l'enregistrement de -son journal des requêtes, ce qui peut générer un nombre important de requêtes -simultanées. -.TP -.B \-F, --dhcp-range=[[net:]identifiant de réseau,]<adresse de début>,<adresse de fin>[[,<masque de réseau>],<broadcast>][,<durée de bail>] -Active le serveur DHCP. Les adresses seront données dans la plage comprise entre -<adresse de début> et <adresse de fin> et à partir des adresses définies -statiquement dans l'option -.B dhcp-host. -Si une durée de bail est donnée, alors les baux seront donnés pour cette -durée. La durée de bail est donnée en secondes, en minutes (exemple : 45m), -en heures (exemple : 1h) ou être la chaine de caractère "infinite" pour une -durée indéterminée. Si aucune valeur n'est donnée, une durée de bail par défaut -de une heure est appliquée. La valeur minimum pour un bail DHCP est de 2 -minutes. -Cette option peut être répétée, avec différentes adresses, -pour activer le service DHCP sur plus d'un réseau. Pour des réseaux directement -connectés (c'est-à -dire des réseaux dans lesquels la machine sur laquelle tourne -Dnsmasq possède une interface), le masque de réseau est optionnel. Il est par -contre requis pour les réseaux pour lesquels le service DHCP se fait via un -relais DHCP ("relay agent"). L'adresse de broadcast est toujours optionnelle. - -Il est toujours possible d'avoir plus d'une plage DHCP pour un même -sous-réseau. - -L'identifiant de réseau optionnel est un label alphanumérique qui permet de -marquer ce réseau afin de fournir des options DHCP spécifiques à chaque réseau. -Lorsque préfixé par 'net:', la signification change est au lieu de définir un -label, il définit le label pour laquelle la règle s'applique. Un seul label peut- -être défini mais plusieurs labels peuvent coïncider. - -L'adresse de fin peut être remplacée par le mot-clef -.B static -("statique") qui indique à Dnsmasq d'activer le service DHCP pour le réseau -spécifié, mais de ne pas activer l'allocation dynamique d'adresses IP : Seuls -les hôtes possédant des adresses IP statiques fournies via -.B dhcp-host -ou présentes dans le fichier /etc/ethers seront alors servis par le DHCP. - -L'adresse de fin peut-être remplacée par le mot-clef -.B proxy -, auquel cas Dnsmasq fournira un service de DHCP proxy pour le sous-réseau -spécifié. (voir -.B pxe-prompt -et -.B pxe-service -pour plus de détails). -.TP -.B \-G, --dhcp-host=[<adresse matérielle>][,id:<identifiant client>|*][,net:<identifiant de réseau>][,<adresse IP>][,<nom d'hôte>][,<durée de bail>][,ignore] -Spécifie les paramètres DHCP relatifs à un hôte. Cela permet à une machine -possédant une adresse matérielle spécifique de se voir toujours allouée les -mêmes nom d'hôte, adresse IP et durée de bail. Un nom d'hôte spécifié comme -ceci remplace le nom fourni par le client DHCP de la machine hôte. Il est -également possible d'omettre l'adresse matérielle et d'inclure le nom d'hôte, -auquel cas l'adresse IP et la durée de bail s'appliqueront à toute machine se -réclamant de ce nom. Par exemple -.B --dhcp-host=00:20:e0:3b:13:af,wap,infinite -spécifie à Dnsmasq de fournir à la machine d'adresse matérielle -00:20:e0:3b:13:af le nom, et un bail de durée indéterminée. - -.B --dhcp-host=lap,192.168.0.199 -spécifie à Dnsmasq d'allouer toujours à la machine portant le nom lap -l'adresse IP 92.168.0.199. Les adresses allouées comme ceci ne sont pas -contraintes dans une plage d'adresse spécifiée par une option --dhcp-range, mais -elles doivent être sur un réseau servi par le serveur DHCP. Il est possible -d'utiliser des identifiants clients plutôt que des adresses matérielles pour -identifier les hôtes, en préfixant par ceux-ci par 'id:'. Ainsi, -.B --dhcp-host=id:01:02:03:04,..... -réfère à l'hôte d'identifiant 01:02:03:04. Il est également possible de -spécifier l'identifiant client sous la forme d'une chaîne de caractères, comme -ceci : -.B --dhcp-host=id:identifiantclientsousformedechaine,..... - -L'option spéciale id:* signifie : "ignorer tout identifiant client et n'utiliser -que l'adresse matérielle". Cela est utile lorsqu'un client présente un -identifiant client mais pas les autres. - -Si un nom apparaît dans /etc/hosts, l'adresse associée peut être allouée à un -bail DHCP mais seulement si une option -.B --dhcp-host -spécifiant le nom existe par ailleurs. Le mot clef "ignore" ("ignorer") indique -à Dnsmasq de ne jamais fournir de bail DHCP à une machine. La machine peut être -spécifiée par son adresse matérielle, son identifiant client ou son nom d'hôte. -Par exemple -.B --dhcp-host=00:20:e0:3b:13:af,ignore -Cela est utile lorsqu'un autre serveur DHCP sur le réseau doit être utilisé par -certaines machines. - -Le paramètre net:<identifiant réseau> permet de définir un -identifiant de réseau lorsque l'option dhcp-host est utilisée. Cela peut servir -à sélectionner des options DHCP juste pour cet hôte. Lorsqu'une machine coïncide -avec une directive dhcp-host (ou une impliquée par /etc/ethers), alors -l'identifiant réseau réservé "known" ("connu") est associé. Cela permet à -Dnsmasq d'être configuré pour ignorer les requêtes issus de machines inconnue - par le biais de -.B --dhcp-ignore=#known. - -Les adresses ethernet (mais pas les identifiants clients) peuvent être définies -avec des octets joker, ainsi par exemple -.B --dhcp-host=00:20:e0:3b:13:*,ignore -demande à Dnsmasq d'ignorer une gamme d'adresses matérielles. Il est à noter -que "*" doit-être précédé d'un caractère d'échappement ou mis entre guillemets -lorsque spécifié en option de ligne de commande, mais pas dans le fichier de -configuration. - -Les adresses matérielles coïncident en principe avec n'importe -quel type de réseau (ARP), mais il est possible de les limiter à un seul type -ARP en les précédant du type ARP (en Hexadécimal) et de "-". Ainsi -.B --dhcp-host=06-00:20:e0:3b:13:af,1.2.3.4 -coïncidera uniquement avec des adresses matérielles Token-Ring, puisque le type -ARP pour une adresse Token-Ring est 6. - -Un cas spécial correspond à l'inclusion d'une ou plusieurs adresses -matérielles, c-à -d : -.B --dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.2. -Cela permet à une adresse IP d'être associé à plusieurs adresses -matérielles, et donne à dnsmasq la permission d'abandonner un bail DHCP -attribué à l'une de ces adresses lorsqu'une autre adresse dans la liste -demande un bail. Ceci est une opération dangereuse qui ne fonctionnera -de manière fiable que si une adresse matérielle est active à un moment -donné et dnsmasq n'a aucun moyen de s'assurer de cela. Cela est utile, -par exemple, pour allouer une adresse IP stable à un laptop qui -aurait à la fois une connexion filaire et sans-fil. -.TP -.B --dhcp-hostsfile=<fichier> -Lis les informations d'hôtes DHCP dans le fichier spécifié. Le fichier contient -des informations à raison d'un hôte par ligne. Le format d'une ligne est la même -que le texte fourni à la droite sur caractère "=" dans l'option -.B --dhcp-host. -L'avantage de stocker les informations sur les hôtes DHCP dans ce fichier est -que celles-ci peuvent être modifiées sans recharger Dnsmasq; le fichier sera -relu lorsque Dnsmasq reçoit un signal SIGHUP. -.TP -.B --dhcp-optsfile=<fichier> -Lis les informations relatives aux options DHCP dans le fichier spécifié. -L'intérêt d'utiliser cette option est le même que pour --dhcp-hostsfile : le -fichier spécifié sera rechargé à la réception par dnsmasq d'un signal SIGHUP. -Notez qu'il est possible d'encoder l'information via -.B --dhcp-boot -en utilisant les noms optionnels bootfile-name, server-ip-address et -tftp-server. Ceci permet d'inclure ces options dans un fichier "dhcp-optsfile".DNSMASQ_SUPPLIED_HOSTNAME -.TP -.B \-Z, --read-ethers -Lis les informations d'hôtes DHCP dans le fichier /etc/ethers. Le format de -/etc/ethers est une adresse matérielle suivie, soit par un nom d'hôte, soit par -une adresse IP sous la forme de 4 chiffres séparés par des points. Lorsque lu -par Dnsmasq, ces lignes ont exactement le même effet que l'option -.B --dhcp-host -contenant les mêmes informations. /etc/ethers est relu à la réception d'un -signal SIGHUP par Dnsmasq. -.TP -.B \-O, --dhcp-option=[<identifiant_de_réseau>,[<identifiant_de_réseau>,]][encap:<option>,][vendor:[<classe_vendeur>],][<option>|option:<nom d'option>],[<valeur>[,<valeur>]] -Spécifie des options différentes ou supplémentaires pour des clients DHCP. Par -défaut, Dnsmasq envoie un ensemble standard d'options aux clients DHCP : le -masque de réseau et l'adresse de broadcast sont les mêmes que pour l'hôte -sur lequel tourne Dnsmasq, et le serveur DNS ainsi que la route par défaut -prennent comme valeur l'adresse de la machine sur laquelle tourne Dnsmasq. Si -une option de nom de domaine a été définie, son contenu est transmis. Cette -option de configuration permet de changer toutes ces valeurs par défaut, ou de -spécifier d'autres options. L'option DHCP à transmettre peut être fournie sous -forme d'un nombre décimal ou sous la forme "option:<nom d'option>". Les nombres -correspondants aux options sont définis dans la RFC2132 et suivants. Les noms -d'options connus par Dnsmasq peuvent être obtenus via "Dnsmasq --help dhcp". -Par exemple, pour définir la route par défaut à 192.168.4.4, il est possible de -faire -.B --dhcp-option=3,192.168.4.4 -ou -.B --dhcp-option = option:router, 192.168.4.4 -ou encore, pour positionner l'adresse du serveur de temps à 192.168.0.4, on peut -faire -.B --dhcp-option = 42,192.168.0.4 -ou -.B --dhcp-option = option:ntp-server, 192.168.0.4 -L'adresse 0.0.0.0 prends ici le sens "d'adresse de la machine sur laquelle -tourne Dnsmasq". Les types de données autorisées sont des adresses IP sous la -forme de 4 chiffres séparés par des points, un nombre décimal, une liste de -caractères hexadécimaux séparés par des 2 points, ou une chaîne de caractères. -Si des identifiants de réseaux sont fournis, alors cette option n'est envoyée -qu'aux réseaux dont tous les identifiants coïncident. - -Un traitement spécial est effectué sur les chaînes de caractères fournies pour -l'option 119, conformément à la RFC 3397. Les chaînes de caractères ou les -adresses IP sous forme de 4 chiffres séparés par des points donnés en arguments -de l'option 120 sont traités conforméments à la RFC 3361. Les adresses IP sous -forme de 4 chiffres séparés par des points suivies par une barre montante "/", -puis une taille de masque sont encodés conforméments à la RFC 3442. - -Attention : aucun test n'étant fait pour vérifier que des données d'un type -adéquat sont envoyées pour un numéro d'option donné, il est tout à fait possible -de persuader Dnsmasq de générer des paquets DHCP illégaux par une utilisation -incorrecte de cette option. Lorsque la valeur est un nombre décimal, Dnsmasq -doit déterminer la taille des données. Cela est fait en examinant le numéro de -l'option et/ou la valeur, mais peut-être évité en rajoutant un suffixe d'une -lettre comme suit : -b = un octet, s = 2 octets, i = 4 octets. Cela sert essentiellement pour des -options encapsulées de classes de vendeurs (voir plus bas), pour lesquelles -Dnsmasq ne peut déterminer la taille de la valeur. Les données d'options -consistant uniquement de points et de décimaux sont interprétées par Dnsmasq -comme des adresses IP, et envoyées comme telles. Pour forcer l'envoi sous forme -de chaîne de caractère, il est nécessaire d'utiliser des guillemets doubles. Par -exemple, l'utilisation de l'option 66 pour fournir une adresse IP sous la forme -d'une chaîne de caractères comme nom de serveur TFTP, il est nécessaire de faire -comme suit : -.B --dhcp-option=66,"1.2.3.4" - -Les options encapsulées de classes de vendeurs peuvent-être aussi spécifiées en -utilisant -.B --dhcp-option -: par exemple -.B --dhcp-option=vendor:PXEClient,1,0.0.0.0 -envoie l'option encapsulée de classe de vendeur "mftp-address=0.0.0.0" à -n'importe quel client dont la classe de vendeur correspond à "PXEClient". La -correspondance pour les classes de vendeur s'effectue sur des sous-chaînes de -caractères (voir -.B --dhcp-vendorclass -pour plus de détails). Si une option de -classe de vendeur (numéro 60) est envoyée par Dnsmasq, alors cela est utilisé -pour sélectionner les options encapsulées, de préférence à toute option envoyée -par le client. Il est possible d'omettre complètement une classe de vendeur : -.B --dhcp-option=vendor:,1,0.0.0.0 -Dans ce cas l'option encapsulée est toujours envoyée. - -Les options peuvent-être encapsulées au sein d'autres options : -par exemple -.B --dhcp-option=encap:175, 190, "iscsi-client0" -enverra l'option 175, au sein de laquelle se trouve l'option 190. -Plusieurs options encapsulées avec le même numéro d'option seront correctement -combinées au sein d'une seule option encapsulée. Il n'est pas possible de -spécifier encap: et vendor: au sein d'une même option dhcp. - -L'adresse 0.0.0.0 n'est pas traitée de manière particulière lorsque fournie dans -une option encapsulée. -.TP -.B --dhcp-option-force=[<identifiant de réseau>,[<identifiant de réseau>,]][encap:<option>,][vendor:[<classe de vendeur>],]<option>,[<valeur>[,<valeur>]] -Cela fonctionne exactement de la même façon que -.B --dhcp-option -sauf que cette option sera toujours envoyée, même si le client ne la demande pas -dans la liste de paramêtres requis. Cela est parfois nécessaire, par exemple lors -de la fourniture d'options à PXELinux. -.TP -.B --dhcp-no-override -Désactive la réutilisation des champs DHCP nom de serveur et nom de -fichier comme espace supplémentaire pour les options. Si cela est -possible, dnsmasq déplace les informations sur le serveur de démarrage -et le nom de fichier (fournis par 'dhcp-boot') en dehors des champs -dédiés à cet usage dans les options DHCP. Cet espace supplémentaire est -alors disponible dans le paquet DHCP pour d'autres options, mais peut, dans -quelques rares cas, perturber des clients vieux ou défectueux. Cette -option force le comportement à l'utilisation des valeurs "simples et sûres" -afin d'éviter des problèmes dans de tels cas. -.TP -.B \-U, --dhcp-vendorclass=<identifiant de réseau>,<classe de vendeur> -Associe une chaîne de classe de vendeur à un indentifiant de réseau. La plupart -des clients DHCP fournissent une "classe de vendeur" ("vendor class") qui -représente, d'une certaine façon, le type d'hôte. Cette option associe des -classes de vendeur à des labels, de telle sorte que des options DHCP peuvent-être -fournie de manière sélective aux différentes classes d'hôtes. Par exemple, -.B dhcp-vendorclass=printers,Hewlett-Packard JetDirect -permet de n'allouer des options qu'aux imprimantes HP de la manière suivante : -.B --dhcp-option=printers,3,192.168.4.4 -La chaîne de caractères de la classe de vendeur founie en argument est cherchée -en temps que sous-chaîne de caractères au sein de la classe de vendeur fournie -par le client, de façon à permettre la recherche d'un sous-ensemble de la chaîne -de caractères ("fuzzy matching"). -.TP -.B \-j, --dhcp-userclass=<identifiant de réseau>,<classe utilisateur> -Associe une chaîne de classe d'utilisateur à un identifiant réseau (effectue la -recherche sur des sous-chaînes, comme pour les classes de vendeur). La plupart -des clients permettent de configurer une "classe d'utilisateur". Cette option -associe une classe d'utilisateur à un label, de telle manière qu'il soit -possible de fournir des options DHCP spécifiques à différentes classes d'hôtes. -Il est possible, par exemple, d'utiliser ceci pour définir un serveur -d'impression différent pour les hôtes de la classe "comptes" et ceux de la -classe "ingénierie". -.TP -.B \-4, --dhcp-mac=<identifiant de réseau>,<adresse MAC> -Associe une adresse matérielle (MAC) à un identifiant réseau. L'adresse -matérielle peut inclure des jokers. Par exemple -.B --dhcp-mac=3com,01:34:23:*:*:* -permet de définir le label "3com" pour n'importe quel hôte dont l'adresse -matérielle coïncide avec les critères définis. -.TP -.B --dhcp-circuitid=<identifiant de réseau>,<identifiant de circuit>, --dhcp-remoteid=<identifiant de réseau>,<identifiant distant> -Associe des options de relais DHCP issus de la RFC3046 à des identifiants de -réseau. Cette information peut-être fournie par des relais DHCP. L'identifiant -de circuit ou l'identifiant distant est normalement fourni sous la forme d'une -chaîne de valeurs hexadécimales séparées par des ":", mais il est également -possible qu'elle le soit sous la forme d'une simple chaîne de caractères. Si -l'identifiant de circuit ou d'agent correspond exactement à celui fourni par le -relais DHCP, alors l'identifiant de réseau est positionné. -.TP -.B --dhcp-subscrid=<identifiant de réseau>,<identifiant d'abonné> -Associe des options de relais DHCP issues de la RFC3993 à des identifiants de -réseau. -.TP -.B --dhcp-match=<identifiant de réseau>,<numéro d'option>|option:<nom d'option>[,<valeur>] -Si aucune valeur n'est spécifiée, associe l'identifiant de réseau si le client -envoie une option DHCP avec le numéro ou le nom spécifié. Lorsqu'une valeur est -fournie, positionne le label seulement dans le cas où l'option est fournie et -correspond à la valeur. La valeur peut-être de la forme "01:ff:*:02", auquel -cas le début de l'option doit correspondre (en respectant les jokers). La -valeur peut aussi être de la même forme que dans -.B dhcp-option -, auquel cas l'option est traitée comme un tableau de valeur, et un des -éléments doit correspondre, ainsi - ---dhcp-match=efi-ia32,option:client-arch,6 - -spécifie le label "efi-ia32" si le numéro 6 apparaît dnas la liste -d'architectures envoyé par le client au sein de l'option 93. (se réferer -au RFC 4578 pour plus de détails). Si la valeur est un chaine de caractères, -celle-ci est recherchée (correspondance en temps que sous-chaîne). -.TP -.B \-J, --dhcp-ignore=<identifiant de réseau>[,<identifiant de réseau>] -Lorsque tous les identifiants de réseau fournis coïncident avec la liste -d'identifiants réseau dérivée des classes de réseau, hôte, vendeur et -utilisateur, ignorer l'hôte et ne pas donner de bail DHCP. -.TP -.B --dhcp-ignore-names[=<identifiant de réseau>[,<identifiant de réseau>]] -Lorsque tous les identifiant de réseau coïncident avec la liste d'identifiants -réseau dérivées des classes de réseau, hôte, vendeur et utilisateur, ignorer le -nom de machine fourni par l'hôte. Il est à noter que, à la différence de -l'option "dhcp-ignore", il est permis de ne pas fournir d'identifiant réseau. -Dans ce cas, les noms d'hôtes fournis par les clients DHCP seront toujours -ignorés, et les noms d'hôtes seront ajoutés au DNS en utilisant uniquement la -configuration dhcp-host de Dnsmasq, ainsi que le contenu des fichiers /etc/hosts -et /etc/ethers. -.TP -.B --dhcp-broadcast=<identifiant de réseau>[,<identifiant de réseau>] -Lorsque tous les identifiants de réseaux fournis correspondent à ceux -obtenus à partir des classes de réseau, d'hôte ou d'utilisateur, force -l'utilisation du broadcast pour communiquer avec l'hôte lorsque celui-ci n'est -pas configuré. La plupart des clients DHCP nécessitant une réponse par le biais -d'un broadcast activent une option dans leur requête, ce qui fait que cela -se fait automatiquement, mais ce n'est pas la cas de certains vieux clients BOOTP. -.TP -.B \-M, --dhcp-boot=[net:<identifiant de réseau>,]<nom de fichier>,[<nom de serveur>[,<adresse de serveur>]] -Spécifie les options BOOTP devant être retournées par le serveur DHCP. Le nom de -serveur ainsi que l'adresse sont optionnels : s'ils ne sont pas fournis, le nom -est laissé vide et l'adresse fournie est celle de la machine sur laquelle -s'exécute Dnsmasq. Si Dnsmasq founit un service TFTP (voir -.B --enable-tftp -), alors seul un nom de fichier est requis ici pour permettre un démarrage par -le réseau. -Si d'éventuels identifiants de réseau sont fournis, ils doivent coïncider avec -ceux du client pour que cet élement de configuration lui soit envoyé. Il est à -noter que les identifiants de réseau doivent-être préfixés par "net:". -.TP -.B --pxe-service=[net:<identifiant de réseau>,]<CSA>,<entrée de menu>,<nom de fichier>|<type de service de démarrage>[,<adresse de serveur>] -La plupart des ROMS de démarrage PXE ne permettent au système PXE que la simple -obtention d'une adresse IP, le téléchargement du fichier spécifié dans -.B dhcp-boot -et son exécution. Cependant, le système PXE est capable de fonctions bien plus -complexes pour peu que le serveur DHCP soit adapté. - -Ceci spécifie l'option de démarrage qui apparaitra dans un menu de démarrage -PXE. <CSA> est le type du système client. Seuls des types de services valides -apparaitront dans un menu. Les types connus sont x86PC, PC98, IA64_EFI, Alpha, -Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI et X86-64_EFI; -D'autres types peuvent-être spécifiés sous la forme d'une valeur entière. Le -paramètre après le texte correspondant à l'entrée dans le menu peut être un nom -de fichier, auquel cas Dnsmasq agit comme un serveur de démarrage et indique au -client PXE qu'il faut télécharger ce fichier via TFTP, soit depuis ce serveur -(l'option -.B enable-tftp -doit être spécifiée pour que cela marche), soit depuis un autre serveur TFTP -si une adresse de serveur est fournie. -Veuillez noter que le suffixe de "couche" (en principe ".0") est fourni par PXE -et ne doit pas être rajouté au nom de fichier. Si une valeur numérique entière -est fournir pour le type de démarrage, en remplacement du nom de fichier, le -client PXE devra chercher un service de démarrage de ce type sur le réseau. -Cette recherche peut être faite via multicast ou broadcast, ou directement -auprès d'un serveur si son adresse IP est fournie dans l'option. Un service de -démarrage de type 0 est spécial et provoquera une interruption du démarrage par -le réseau ainsi que la poursuite du démarrage sur un média local. -.TP -.B --pxe-prompt=[net:<identifiant de réseau>,]<invite>[,<délai>] -Cette option permet d'afficher une invite à la suite du démarrage PXE. Si un -délai est fourni, alors la première entrée du menu de démarrage sera -automatiquement exécutée après ce délai. Si le délai vaut 0, alors la première -entrée disponible sera exécutée immédiatement. Si -.B pxe-prompt -est omis, le système attendra un choix de l'utilisateur s'il existe plusieurs -entrées dans le menu, ou démarrera immédiatement dans le cas où il n'y a qu'une -seule entrée. Voir -.B pxe-service -pour plus de détails sur les entrées de menu. - -Dnsmasq peut servir de "proxy-DHCP" PXE, dans le cas où un autre serveur DHCP -sur le réseau est responsable de l'allocation des adresses IP, auquel cas -Dnsmasq se contente de fournir les informations données dans les options -.B pxe-prompt -et -.B pxe-service -pour permettre le démarrage par le réseau. Ce mode est activé en utilisant le -mot-clef -.B proxy -dans -.B dhcp-range. -.TP -.B \-X, --dhcp-lease-max=<nombre> -Limite Dnsmasq à un maximum de <nombre> baux DHCP. Le défaut est de 150. Cette -limite permet d'éviter des attaques de déni de service ("DoS") par des hôtes -créant des milliers de baux et utilisant beaucoup de mémoire dans le processus -Dnsmasq. -.TP -.B \-K, --dhcp-authoritative -Cette option doit être donnée lorsque Dnsmasq est le seul serveur DHCP sur le -réseau. Cela change le comportement par défaut qui est celui d'un strict respect -des RFC, afin que les requêtes DHCP pour des baux inconnus par des hôtes -inconnus ne soient pas ignorées. Cela permet à de nouveaux hôtes d'obtenir des -baux sans tenir compte de fastidieuses temporisations ("timeout"). Cela permet -également à Dnsmasq de reconstruire sa base de donnée contenant les baux sans -que les clients n'aient besoin de redemander un bail, si celle-ci est perdue. -.TP -.B --dhcp-alternate-port[=<port serveur>[,<port client>]] -Change les ports utilisés par défaut pour le DHCP. Si cette option est donnée -toute seule sans arguments, alors change les ports utilisés pour le DHCP -de 67 et 68 respectivement à 1067 et 1068. Si un seul argument est donné, ce -numéro est utilisé pour le port serveur et ce numéro plus 1 est utilisé pour le -port client. Enfin, en fournissant deux numéros de ports, il est possible de -spécifier arbitrairement 2 ports à la fois pour le serveur et pour le client DHCP. -.TP -.B \-3, --bootp-dynamic[=<identifiant de réseau>[,<identifiant de réseau>]] -Permet l'allocation dynamique d'adresses IP à des clients BOOTP. Utiliser cette -option avec précaution, une adresse allouée à un client BOOTP étant perpétuelle, -et de fait n'est plus disponibles pour d'autres hôtes. Si aucun argument n'est -donné, alors cette option permet une allocation dynamique dans tous les cas. Si -des arguments sont spécifiés, alors l'allocation ne se fait que lorsque tous -les identifiants coïncident. Il est possible de répeter cette option avec -plusieurs jeux d'arguments. -.TP -.B \-5, --no-ping -Par défaut, le serveur DHCP tente de s'assurer qu'une adresse n'est pas utilisée -avant de l'allouer à un hôte. Cela est fait en envoyant une requête ICMP de type -"echo request" (aussi connue sous le nom de "ping") à l'adresse en question. Si -le serveur obtient une réponse, alors l'adresse doit déjà être utilisée et une -autre est essayée. Cette option permet de supprimer cette vérification. A -utiliser avec précaution. -.TP -.B --log-dhcp -Traces additionnelles pour le service DHCP : enregistre toutes les options -envoyées aux clients DHCP et les identifiants de réseaux utilisés pour la -détermination de celles-ci. -.TP -.B \-l, --dhcp-leasefile=<chemin de fichier> -Utilise le fichier dont le chemin est fourni pour stocker les informations de -baux DHCP. -.TP -.B \-6 --dhcp-script=<chemin de fichier> -Lorsqu'un bail DHCP est créé, ou qu'un ancien est supprimé, le fichier dont le -chemin est spécifié est exécuté. Les arguments fournis à celui-ci sont soit -"add" ("ajouter"), "old" ("ancien") ou "del" ("supprimer"), suivi de l'adresse -MAC de l'hôte puis l'adresse IP et le nom d'hôte si celui-ci est -connu."add" signifie qu'un bail a été créé, "del" signifie qu'il a été supprimé, -"old" notifie que le bail existait au lancement de Dnsmasq, ou un changement -d'adresse MAC ou de nom d'hôte pour un bail existant (ou, dans le cas où -leasefile-ro est spécifié, un changement de durée de bail ou d'identifiant -d'hôte). Si l'adresse Mac est d'un type de réseau autre qu'ethernet, il est -nécessaire de la préceder du type de réseau, par exemple "06-01:23:45:67:89:ab" -pour du token ring. Le processus est exécuté en temps que super-utilisateur -(si Dnsmasq a été lancé en temps que "root"), même si Dnsmasq est configuré -pour changer son UID pour celle d'un utilisateur non-privilégié. -L'environnement est hérité de celui de l'invocation du processus Dnsmasq, et -si l'hôte fournit un identifiant de client, celui-ci est stocké dans la -variable d'environnement DNSMASQ_CLIENT_ID. Si un nom de domaine pleinement -qualifié (FQDN) est connu pour l'hôte, la part relative au domaine est stockée -dans DNSMASQ_DOMAIN. Si le client fournit une information de classe de vendeur, -de classe d'utilisateur ou un nom d'hôte, celles-ci sont positionnées dans les -variables DNSMASQ_VENDOR_CLASS et DNSMASQ_USER_CLASS0 à DNSMASQ_USER_CLASSn -et DNSMASQ_SUPPLIED_HOSTNAME respectivement, mais seulement pour les actions -"add" et "old" lorsqu'un hôte reprend un bail existant, ces variables n'étant -pas stockées dans la base de baux de Dnsmasq. Si Dnsmasq a été compilé avec -l'option HAVE_BROKEN_RTC ("horloge RTC défectueuse"), alors la durée du bail -(en secondes) est stockée dans la variable DNSMASQ_LEASE_LENGTH, sinon la date -d'expiration du bail est toujours stocké dans la variable d'environnement -DNSMASQ_LEASE_EXPIRES. Le nombre de secondes avant expiration est toujours -stocké dans DNSMASQ_TIME_REMAINING. Si un bail était associé à un nom d'hôte et -que celui-ci est supprimé, un évênement de type "old" est généré avec le -nouveau statut du bail, c-à -d sans nom d'hôte, et le nom initial est fourni -dans la variable d'environnement DNSMASQ_OLD_HOSTNAME. La variable -DNSMASQ_INTERFACE contient le nom de l'interface sur laquelle la requête est -arrivée; ceci n'est pas renseigné dans le cas des actions "old" ayant lieu -après un redémarrage de dnsmasq. La variable DNSMASQ_RELAY_ADDRESS est -renseignée si le client a utilisé un relai DHCP pour contacter Dnsmasq, si -l'adresse IP du relai est connue. -Tous les descripteurs de fichiers sont fermés, sauf stdin, stdout et stderr qui -sont ouverts sur /dev/null (sauf en mode déverminage). -Le script n'est pas lancé de manière concurrente : si un autre changement de -bail intervient, le script ne sera relancé que lorsque l'exécution actuelle sera -terminée. -Au démarrage de Dnsmasq, le script sera invoqué pour chacun des baux existants -dans le fichier des baux. Le script sera lancé avec l'action "del" pour les baux -expirés, et "old" pour les autres. <chemin de fichier> doit être un chemin -absolu (c'est-à -dire partant de la racine "/"), aucune recherche n'aura lieu -dans les répertoires de la variable d'environnement PATH. Lorsque Dnsmasq reçoit -un signal HUP, le script sera invoqué avec une action "old" pour tous les baux -existants. -.TP -.B --dhcp-scriptuser -Spécifie l'utilisateur sous lequel le script lease-change doit être exécuté. La -valeur par défaut correspond à l'utilisateur root mais peut-être changée par le -biais de cette option. -.TP -.B \-9, --leasefile-ro -Supprimer complètement l'usage du fichier servant de base de donnée pour les -baux DHCP. Le fichier ne sera ni créé, ni lu, ni écrit. Change la façon dont le -script de changement d'état de bail est lancé (si celui-ci est fourni par le -biais de l'option -.B --dhcp-script -), de sorte que la base de données de baux puisse -être complètement gérée par le script sur un stockage externe. En addition aux -actions décrites dans -.B --dhcp-script, -le script de changement d'état de bail est appellé une fois, au lancement de -Dnsmasq, avec pour seul argument "init". Lorsqu'appellé de la sorte, le script -doit fournir l'état de la base de baux, dans le format de fichier de baux de -Dnsmasq, sur sa sortie standard (stdout) et retourner un code de retour de 0. -Positionner cette option provoque également une invocation du script de -changement d'état de bail à chaque changement de l'identifiant de client, de -longueur de bail ou de date d'expiration. -.TP -.B --bridge-interface=<interface>,<alias>[,<alias>] -Traiter les requêtes DHCP arrivant sur n'importe laquelle des interfaces <alias> -comme si elles arrivaient de l'interface <interface>. Cette option est -nécessaire lors de l'utilisation de pont ethernet "ancien mode" sur plate-forme -BSD, puisque dans ce cas les paquets arrivent sur des interfaces "tap" n'ont -pas d'adresse IP. -.TP -.B \-s, --domain=<domaine>[,<gamme d'adresses>] -Spécifie le domaine du serveur DHCP. Le domaine peut être donné de manière -inconditionnelle (sans spécifier de gamme d'adresses IP) ou pour des gammes -d'adresses IP limitées. Cela a deux effets; tout d'abord, le -serveur DHCP retourne le domaine à tous les hôtes le demandant, deuxièmement, -cela spécifie le domaine valide pour les hôtes DHCP configurés. Le but de cela -est de contraindre les noms d'hôte afin qu'aucun hôte sur le LAN ne puisse -fournir via DHCP un nom tel que par exemple "microsoft.com" et capturer du -trafic de manière illégitime. Si aucun nom de domaine n'est spécifié, alors -les noms d'hôtes avec un nom de domaine (c-à -d un point dans le nom) seront -interdits et enregistrés dans le journal (logs). Si un suffixe est fourni, alors -les noms d'hôtes possédant un domaine sont autorisés, pour peu que le nom de -domaine coïncide avec le nom fourni. De plus, si un suffixe est fourni, alors -les noms d'hôtes ne possédant pas de nom de domain se voient rajouter le -suffixe fourni dans l'option -.B --domain. -Ainsi, sur mon réseau, je peux configurer -.B --domain=thekelleys.org.uk -et avoir une machine dont le nom DHCP serait "laptop". L'adresse IP de cette -machine sera disponible à la fois pour "laptop" et "laptop.thekelleys.org.uk". -Si la valeur fournie pour <domaine> est "#", alors le nom de domaine est -positionné à la première valeur de la directive "search" du fichier -/etc/resolv.conf (ou équivalent). La gamme d'adresses peut être de la forme -<adresse ip>,<adresse ip> ou <adresse ip>/<masque de réseau> voire une simple -<adresse ip>. Voir -.B --dhcp-fqdn -qui peut changer le comportement de dnsmasq relatif aux domaines. -.TP -.B --dhcp-fqdn -Dans le mode par défaut, dnsmasq insère les noms non-qualifiés des clients -DHCP dans le DNS. Pour cette raison, les noms doivent être uniques, même si -deux clients ayant le même nom sont dans deux domaines différents. Si un -deuxième client DHCP apparaît ayant le même nom qu'un client déjà existant, -ce nom est transféré au nouveau client. Si -.B --dhcp-fqdn -est spécifié, ce comportement change : les noms non qualifiés ne sont plus -rajoutés dans le DNS, seuls les noms qualifiés le sont. Deux clients DHCP -avec le même nom peuvent tous les deux garder le nom, pour peu que la partie -relative au domaine soit différente (c-à -d que les noms pleinements qualifiés -diffèrent). Pour d'assurer que tous les noms ont une partie domaine, il doit-y -avoir au moins un -.B --domain -sans gamme d'adresses de spécifié lorsque l'option -.B --dhcp-fqdn -est configurée. -.TP -.B --enable-tftp -Active la fonction serveur TFTP. Celui-ci est de manière délibérée limité aux -fonctions nécessaires au démarrage par le réseau ("net-boot") d'un client. Seul -un accès en lecture est possible; les extensions tsize et blksize sont supportées -(tsize est seulement supporté en mode octet). -.TP -.B --tftp-root=<répertoire> -Les fichiers à fournir dans les transferts TFTP seront cherchés en prenant le -répertoire fourni comme racine. Lorsque cela est fourni, les chemins TFTP -incluant ".." sont rejetés, afin d'éviter que les clients ne puissent sortir de -la racine spécifiée. Les chemins absolus (commençant par "/") sont autorisés, -mais ils doivent être à la racine TFTP fournie. -.TP -.B --tftp-unique-root -Ajouter l'adresse IP du client TFTP en temps qu'élément de chemin, à la suite -de la racine tftp (adresse sous forme de 4 chiffres séparés par des points). -Uniquement valable si une racine TFTP est spécifiée et si le répertoire -correspond existe. Ainsi, si la valeur pour tftp-root est "/tftp" et que le -client d'adresse IP 1.2.3.4 requiert le fichier "monfichier", alors le chemin -effective résultant sera "/tftp/1.2.3.4/monfichier" si /tftp/1.2.3.4 existe, ou -"/tftp/monfichier" dans le cas contraire. -.TP -.B --tftp-secure -Active le mode TFTP sécurisé : sans cela, tout fichier lisible -par Dnsmasq est disponible via TFTP (les règles de contrôle d'accès unix -habituelles s'appliquent). Lorsque l'option -.B --tftp-secure -est spécifiée, seuls les fichiers possédés par l'utilisateur sous lequel tourne -le processus Dnsmasq sont accessibles. Si Dnsmasq est exécuté en temps que -super-utilisateur ("root"), des règles différentes s'appliquent : -.B --tftp-secure -n'a aucun effet, mais seuls les fichiers ayant un droit de lecture pour tout le -monde sont accessibles. Il n'est pas recommandé d'exécuter Dnsmasq sous -l'utilisateur "root" lorsque le service TFTP est activé, et il est formellement -déconseillé de le faire sans fournir l'option -.B --tftp-root. -Sans cela, en effet, l'accès de tous les fichiers du serveur pour lequel le -droit de lecture pour tout le monde est positionné ("world-readable") devient -possible par n'importe quel hôte sur le réseau. -.TP -.B --tftp-max=<connexions> -Définit le nombre maximum de connexions TFTP simultanées autorisées. La valeur -par défaut est de 50. Lorsqu'un grand nombre de connexions TFTP est spécifié, -il se peut que la limite de nombre de descripteurs de fichiers par processus -soit atteinte. Dnsmasq nécessite quelques descripteurs de fichiers, ainsi qu'un -descripteur de fichier pour chaque connexion TFTP simultanée et pour chacun des -fichiers devant être fournis. De fait, servir le même fichier à n clients ne -nécessitera qu'environ n + 10 descripteurs de fichiers, alors que fournir des -fichiers tous différents à n clients utilisera environ (2*n) + 10 descripteurs. -Si elle est donnée, l'option -.B --tftp-port-range -peut affecter le nombre maximum de connexions concurrentes. -.TP -.B --tftp-no-blocksize -Empêche le serveur TFTP de négocier l'option "blocksize" (taille de bloc) avec -les clients. Certains clients buggés spécifient cette option mais se comportent -ensuite de manière incorrecte si celle-ci est accordée. -.TP -.B --tftp-port-range=<début>,<fin> -Un serveur TFTP écoute sur le port prédéfini 69 ("well-known port") pour -l'initiation de la connexion, mais utilise également un port dynamiquement -alloué pour chaque connexion. Normalement, ces ports sont alloués par -le système d'exploitation, mais cette option permet de spécifier une gamme -de ports à utiliser pour les transferts TFTP. Cela peut-être utile si -TFTP doit traverser un dispositif garde-barrière ("firewall"). La valeur -de début pour la plage de port ne peut-être inférieure à 1025 sauf si -dnsmasq tourne en temps que super-utilisateur ("root"). Le nombre de -connexions TFTP concurrentes est limitée par la taille de la gamme de -ports ainsi spécifiée. -.TP -.B --tftp-port-range=<début>,<fin> -Un serveur TFTP écoute sur un numéro de port bien connu (69) pour l'initiation -de la connexion, et alloue dynamiquement un port pour chaque connexion. Ces -numéros de ports sont en principe alloués par le système d'exploitation, mais -cette option permet de spécifier une gamme de ports à utiliser pour les -transferts TFTP. Cela peut-être utile lorsque ceux-ci doivent traverser un -dispositif garde-barrière ("firewall"). Le début de la plage ne peut-être -inférieur à 1024 à moins que Dnsmasq ne fonctionne en temps que -super-utilisateur ("root"). Le nombre maximal de connexions TFTP concurrentes -est limitée par la taille de la plage de ports ainsi définie. -.TP -.B \-C, --conf-file=<fichier> -Spécifie un fichier de configuration différent. L'option "conf-file" est -également autorisée dans des fichiers de configuration, ce qui permet -l'inclusion de multiples fichiers de configuration. -.TP -.B \-7, --conf-dir=<répertoire>[,<extension de fichier>...] -Lis tous les fichiers du répertoire spécifié et les traite comme des fichiers de -configuration. Si des extensions sont données, tout fichier finissant par ces -extensions seront ignorés. Tout fichier dont le nom se termine en ~ ou commence -par ., ainsi que ceux commençant ou se terminant par # seront systématiquement -ignorés. -Cette option peut être donnée en ligne de commande ou dans un fichier de -configuration. -.SH FICHIER DE CONFIGURATION -Au démarrage, Dnsmasq lis -.I /etc/dnsmasq.conf, -si ce fichier existe. (Sur FreeBSD, ce fichier est -.I /usr/local/etc/dnsmasq.conf -) (voir cependant les options -.B \-C -et -.B \-7 -). Le format de ce fichier consiste en une option par ligne, exactement comme -les options longues détaillées dans la section OPTIONS, mais sans être précédées -par "--". Les lignes commençant par # sont des commentaires et sont ignorées. -Pour les options qui ne peuvent-être spécifiées qu'une seule fois, celle du -fichier de configuration prends le pas sur celle fournie en ligne de commande. -Il est possible d'utiliser des guillemets afin d'éviter que les ",",":","." et -"#" ne soit interprêtés, et il est possible d'utiliser les séquences -d'échappement suivantes : \\\\ \\" \\t \\e \\b \\r et \\n. Elles correspondent -respectivement à la barre oblique descendante ("anti-slash"), guillemets doubles, -tabulation, caractère d'échappement ("escape"), suppression ("backspace"), retour ("return") et -nouvelle ligne ("newline"). -.SH NOTES -A la réception d'un signal SIGHUP, -.B Dnsmasq -vide son cache et recharge les fichiers -.I /etc/hosts -et -.I /etc/ethers -ainsi que tout autre fichier spécifié par les options -.B --dhcp-hostsfile -, -.B --dhcp-optsfile -ou -.B --addn-hosts. -Le script de changement de bail est appellé pour chaque bail DHCP existant. Si -l'option -.B --no-poll -est positionnée, alors le fichier -.I /etc/resolv.conf -est également rechargé. -SIGHUP ne provoque PAS de rechargement du fichier de configuration. -.PP -A la réception d'un signal SIGUSR1, -.B Dnsmasq -écrit des statistiques dans les traces système. Les informations fournies sont : -la taille du cache, le nombre de noms ayant été supprimés du cache avant -expiration afin de faire de la place pour les nouveaux noms, ainsi que le nombre -total d'entrées ayant été insérées dans le cache. Pour chaque serveur amont, il fournit -le nomnbre de requêtes transmises ainsi que le nombre de requêtes ayant résulté par une -erreur. Lorsque Dnsmasq a été lancé via -.B --no-daemon -ou lorsque la traçabilité maximale a été activée ( -.B -q -), la totalité du contenu du -cache est de surcroît fournie. -.PP -A la réception d'un signal SIGUSR2 et lorsqu'il enregistre directement ses -traces dans un fichier (voir -.B --log-facility -), alors -.B Dnsmasq -ferme et re-rouvre le fichier de traces. Il faut noter que pendant cette -opération Dnsmasq ne s'exécute pas en temps que "root". Lorsqu'il créé un -fichier de traces pour la première fois, Dnsmasq change le propriétaire du -fichier afin de le faire appartenir à l'utilisateur non "root" sous lequel -Dnsmasq s'exécute. Le logiciel de rotation de fichiers de trace logrotate doit -être configuré pour créer un nouveau fichier avec un propriétaire identique au -fichier existant avant d'envoyer le signal SIGUSR2. Si une requête DNS TCP est -en cours, l'ancien fichier de traces reste ouvert dans le processus fils qui -traite la requête TCP et il peut y être écrit. Il existe cependant une limite -de 150 secondes après laquelle tous les processus traitant des requêtes TCP -expirent : pour cette raison, il est préférable de ne pas configurer la -compression des fichiers de traces venant juste de faire l'objet d'une rotation. -Dans le cas de l'utilisation du logiciel logrotate, les options requises sont -.B create -et -.B delaycompress. - - -.PP -Dnsmasq est un logiciel de transmission de requêtes DNS : il n'est pas capable -d'effectuer une résolution de nom récursive en partant des serveurs DNS racine, -mais transmet de telles requêtes à un serveur DNS amont capable de telles -recherches récursives, ce qui est typiquement le cas d'un serveur DNS de FAI. -Par défaut, Dnsmasq lis -.I /etc/resolv.conf -pour découvrir les adresses IP des serveurs DNS amonts à utiliser, puisque cette -information est en général stockée à cet endroit. A moins que l'option -.B --no-poll -ne soit utilisée, -.B Dnsmasq -vérifie la date de modification du fichier -.I /etc/resolv.conf -(ou l'équivalent si -.B \--resolv-file -est utilisé), et le relis lorsqu'il change. Cela permet de définir les serveurs -DNS amont de manière dynamique lorsque PPP ou DHCP sont utilisés, puisque ces -protocoles fournissent cette information. -L'absence du fichier -.I /etc/resolv.conf -ne conduit pas à une erreur, puisqu'il peut très bien ne pas être créé avant -qu'une connexion PPP ne soit établie. Dans ce cas, Dnsmasq vérifie régulièrement -pour voir si un fichier -.I /etc/resolv.conf -est créé. Dnsmasq peut être configuré pour lire plus d'un fichier resolv.conf. -Cela est utile sur un ordinateur portable où PPP et DHCP peuvent-être utilisés : -Dnsmasq peut alors être configuré pour lire à la fois -.I /etc/ppp/resolv.conf -et -.I /etc/dhcpc/resolv.conf -et utilisera le contenu du fichier ayant changé en dernier, ce qui permet de -passer automatiquement de serveurs DNS à d'autres. -.PP -Les serveurs amonts peuvent aussi être spécifiés sur la ligne de commande ou -dans un fichier de configuration. Ces spécifications de serveurs peuvent -éventuellement se voir adjoindre d'un nom de domaine qui précise à Dnsmasq quel -serveur utiliser pour trouver les noms d'un domaine donné. -.PP -Pour configurer Dnsmasq afin qu'il se comporte comme un cache pour la machine -sur laquelle il tourne, mettre "nameserver 127.0.0.1" dans le fichier -.I /etc/resolv.conf -afin de forcer les processus locaux à envoyer leurs requêtes à Dnsmasq. Ensuite, -spécifier les serveurs DNS amont soit en les fournissant directement à Dnsmasq -via l'option -.B \--server -ou alors en mettant leurs adresses dans un autre fichier, par exemple -.I /etc/resolv.dnsmasq -et en lançant Dnsmasq avec l'option -.B \-r /etc/resolv.dnsmasq. -Cette deuxième technique permet la mise-à -jour dynamique des addresses de -serveurs DNS amont par le biais de PPP ou DHCP. -.PP -Les adresses dans /etc/hosts prennent le dessus sur celles fournies par le -serveur DNS amont, ainsi "macompagnie.com 1.2.3.4" dans /etc/hosts assure que -les requêtes pour "macompagnie.com" retourneront toujours 1.2.3.4, même si une -requête au serveur DNS amont retournerait une adresse différente. Il y a une -exception à ceci : si le DNS amont contient un CNAME qui pointe vers un nom -présent dans /etc/hosts, alors la recherche du CNAME via Dnsmasq fournira -l'adresse DNS amont. Pour contourner cela, il suffit de mettre l'entrée -correspondant au CNAME dans /etc/hosts. - -.PP -les identifiants de réseau fonctionnent comme suit : Dnsmasq associe à chaque -requête DHCP un ensemble d'identifiants de réseau; un pour la plage d'adresse -DHCP ( -.B dhcp-range -) utilisée pour allouer l'adresse, un identifiant pour chaque entrée -.B dhcp-host -associée (il ajoute "known" lorsqu'une entrée dhcp-host coïncide), l'étiquette -"bootp" pour les requêtes BOOTP, un identifiant dont le nom est le nom de -l'interface sur laquelle la requête est arrivée, et éventuellement un -identifiant pour chaque classe de vendeur ou d'utilisateur -fournie par le client DHCP dans sa requête. Les options DHCP ( -.B dhcp-option -) ayant un identifiant de réseau seront utilisés de préférence à celles -sans identifiants de réseau, pour peu que -.I tous -les labels correspondent. -Le préfixe '#' sur un label est un indicateur de négation, ainsi -.B --dhcp=option=#purple,3,1.2.3.4 -envoie l'option lorsque le label "purple" n'est pas dans la liste de labels -valides pour l'hôte considéré. -.PP -Si l'identifiant de réseau dans la plage d'adresses DHCP ( -.B dhcp-range -) est préfixé par 'net:', alors sa signification change : au lieu d'associer un -label à la plage spécifiée, cela indique un label de réseau devant être spécifié -par le client DHCP. Ainsi, s'il y a plus d'une plage d'adresses DHCP sur un -sous-réseau, et que l'une est préfixée par un identifiant de réseau (par exemple -l'un spécifié dans une option de classe de vendeur), alors un hôte ayant -l'identifiant de réseau en question positionné se verra allouer une adresse dans -la plage d'adresses DHCP préfixée. -.PP -Le serveur DHCP intégré dans Dnsmasq fonctionne également en temps que serveur -BOOTP, pour peu que l'adresse MAC et l'adresse IP des clients soient fournies, -que ce soit par le biais de l'option -.B dhcp-host -ou dans le fichier -.I /etc/ethers -, et que l'option -.B dhcp-range -soit présente afin d'activer le serveur DHCP pour un réseau donné (L'option -.B --bootp-dynamic -supprime la nécessité des associations statiques). Le paramètre -"filename" (nom de fichier) de la requête BOOTP est comparé avec les -identifiants de réseaux des options -.B dhcp-option -ainsi que le label "bootp", ce qui permet de contrôler les options retournées -aux différentes classes d'hôtes. - -.SH CODES DE SORTIE -.PP -0 - Dnsmasq s'est correctement lancé en tâche de fond, ou alors s'est -correctement terminé si le lancement en tâche de fond n'a pas été activé. -.PP -1 - Un problème de configuration a été détecté. -.PP -2 - Un problème est survenu avec un accès réseau (adresse déjà utilisée, -tentative d'utiliser un port privilégié sans les permissions nécessaires). -.PP -3 - Un problème est survenu avec une opération sur un système de fichier -(fichier ou répertoire manquant, permissions). -.PP -4 - Impossibilité d'allouer de la mémoire. -.PP -5 - Autre problème. -.PP -11 ou plus - un code de retour différent de 0 a été reçu lors de l'appel au -processus "init" du script des bails. Le code de retour de Dnsmasq correspond -au code de retour du script plus 10. - -.SH LIMITES -Les valeurs par défaut pour les limites de ressources de Dnsmasq sont en général -conservatrices et appropriées pour des utilisations embarquées sur des machines -de type routeur ayant des processeurs lents et une mémoire limitée. Sur du -matériel plus performant, il est possible d'augmenter les limites et de gérer -plus de clients. Les remarques suivantes s'appliquent à Dnsmasq version 2.37 et -ultérieur : les versions précédentes ne montaient pas en charge aussi bien. - -.PP -Dnsmasq est capable de gérer le DNS et DHCP pour au moins un millier de clients. -Evidement, pour cela la valeur de -.B --dhcp-lease-max -doit être augmentée et la durée des baux ne doit pas être très courte (moins -d'une heure). La valeur de -.B --dns-forward-max -peut-être augmentée : commencer par la rendre égale au nombre de clients et -l'augmenter si le DNS semble lent. Noter que la performance du DNS dépends -également de la performance des serveurs amonts. La taille du cache DNS peut- -être augmentée : la limite en dur est de 10000 entrées et la valeur par défaut -(150) est très basse. Envoyer un signal SIGUSR1 à Dnsmasq le fait émettre des -informations utiles pour paramétrer la taille de cache. Voir la section -.B NOTES -pour plus de détails. -.PP -Le serveur TFTP intégré est capable de plusieurs transferts de fichiers -simultanés : La limite absolue est liée au nombre maximal de descripteurs de -fichiers alloué à un processus et à la capacité de l'appel système select() à -gérer un grand nombre de HANDLE de fichier. Si la limite est fixée trop haut par -le biais de -.B --tftp-max -elle sera réduite et la limite actuelle sera enregistrée au démarrage. Il faut -noter que plus de transferts sont possible lorsque le même fichier est transmis -au lieu d'avoir un fichier différent pour chaque transfert. - -.PP -Il est possible d'utiliser Dnsmasq pour bloquer la publicité sur la toile -en associant des serveurs de publicité bien connus à l'adresse 127.0.0.1 ou -0.0.0.0 par le biais du fichier -.B /etc/hosts -ou d'un fichier d'hôte additionnel. Cette liste peut-être très longue, Dnsmasq -ayant été testé avec succès avec un million de noms. Cette taille de fichier -nécessite un processeur à 1 Ghz et environ 60 Mo de RAM. - -.SH FICHIERS -.IR /etc/dnsmasq.conf - -.IR /usr/local/etc/dnsmasq.conf - -.IR /etc/resolv.conf - -.IR /etc/hosts - -.IR /etc/ethers - -.IR /var/lib/misc/dnsmasq.leases - -.IR /var/db/dnsmasq.leases - -.IR /var/run/dnsmasq.pid -.SH VOIR AUSSI -.BR hosts (5), -.BR resolver (5) -.SH AUTEUR -Cette page de manuel a été écrite par Simon Kelley <simon@thekelleys.org.uk>. - -La traduction dans un français bancal a été commise par Gildas Le Nadan -<3ntr0p13@gmail.com> : Toute révision/correction permettant de corriger -orthographe ou grammaire mais surtout les éventuelles fautes de sens sera la -bienvenue! diff --git a/po/de.po b/po/de.po deleted file mode 100755 index 6e1c440..0000000 --- a/po/de.po +++ /dev/null @@ -1,1462 +0,0 @@ -# German translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.24\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "" - -# @Simon: Here I need an example to understand it :) -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "" - -# @Simon: Here I need an example to understand it :) -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "lese %s - %d Adressen" - -# @Simon: 'lese' is present, is that ok? If it should be past, it would be -# @Simon: "gelesen: %s - %d Adressen" - note the colon, it's a must, then. -#: cache.c:902 -msgid "cleared cache" -msgstr "Cache geleert" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "" - -# @Simon: "Cache geleert" is literally "Cache emptied" but I think other translations could be misleading -# @Simon: (I don't know a good german replacement for "Cache" but AFAIK "Cache" is common in german) -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "Name %s wurde nicht dem DHCP 'Mieter' von %s zugewiesen, da der Name in %smit der Adresse %s bereits existiert" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -# @Simon: "Mieter" is rather 'logder, renter, tenant, lessee' but I couldn't find anything that fits better. -# @Simon: So I thought I put it in ''-marks :) -#: cache.c:1130 -#, fuzzy, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "Cache Größe %d, %d/%d Cache-Einfügungen verwendeten nicht abgelaufene Cache-Einträge wieder." - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "" - -# @Simon: "re-used" = "wiederverwenden", but in such a case it must be split apart to "verwendet ... wieder" -# @Simon: "unexpired" = "nicht abgelaufen" (expired=abgelaufen) -- altogether it sounds complicated in german, -# @Simon: I would prefer to use "noch gültige" = "still valid", would that fit to the sense? Then it would be: -# @Simon: msgstr "Cache Größe %d, %d/%d Cache-Einfügungen verwendeten noch gültige Cache-Einträge wieder." -# @Simon: btw, what is the "%d/%d"-part? -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "Speicher nicht verfügbar" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "" - -# @Simon: not perfect but I cannot get nearer right now. -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "unendlich" - -#: option.c:228 -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:229 -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:230 -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:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Behandle IP-Adr als NXDOMAIN (wehrt Verisign-Platzhalter ab)." - -# @Simon: or "Behandle IP-Adr als NXDOMAIN (gegen Verisign-Platzhalter)." -# @Simon: "gegen" = "against", I believe that might be clumsy in english but it is fine in german. -# @Simon: Just by chance I know what this is for - it is merely against verisign's use of wildcard -# @Simon: entries (that lead to their own servers), right. Therefore, how about: -# @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:232 -#, 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:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Angabe der Konfigurationsdatei (Voreinstellung: %s)." - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "NICHT in den Hintergrund gehen: Betrieb im Debug-Modus" - -# @Simon: = "DO NOT go into the background: Operation in debug-mode" -# @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:235 -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:236 -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:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "Erweitere einfache Namen in /etc/hosts mit der Domänen-Endung" - -#: option.c:238 -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:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "" - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "" - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "" - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "" - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "" - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "" - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "" - -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "" - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "" - -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "" - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "" - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "" - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "" - -#: option.c:258 -msgid "Specify an MX record." -msgstr "" - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "" - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "" - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "" - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "" - -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "" - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "" - -#: option.c:266 -#, c-format -msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." -msgstr "" - -#: option.c:267 -msgid "Log DNS queries." -msgstr "" - -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "" - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "" - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "" - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "" - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "" - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "" - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "" - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "" - -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "" - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "" - -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "" - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "" - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "" - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "" - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, fuzzy, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Angabe der Konfigurationsdatei (Voreinstellung: %s)." - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "" - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "" - -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "" - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "" - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "" - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "" - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "" - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "" - -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "" - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "" - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "" - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "" - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "" - -# @Simon: Here I need an example to understand it :) -#: option.c:792 -#, fuzzy -msgid "bad IP address" -msgstr "lese %s - %d Adressen" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "" - -#: option.c:1188 -msgid "bad MX name" -msgstr "" - -#: option.c:1202 -msgid "bad MX target" -msgstr "" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -msgid "bad port range" -msgstr "" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "" - -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "" - -#: option.c:2284 -msgid "invalid alias range" -msgstr "" - -#: option.c:2297 -msgid "bad interface name" -msgstr "" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -msgid "bad PTR record" -msgstr "" - -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "" - -#: option.c:2488 -msgid "invalid priority" -msgstr "" - -#: option.c:2495 -msgid "invalid weight" -msgstr "" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "" - -#: option.c:2626 -msgid "missing \"" -msgstr "" - -#: option.c:2673 -msgid "bad option" -msgstr "" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "" - -#: option.c:2677 -msgid "missing parameter" -msgstr "" - -#: option.c:2685 -msgid "error" -msgstr "" - -# @Simon: "Speicher nicht verfügbar" = "memory not available" -# @Simon: "could not get memory" = "konnte keinen Speicher bekommen" or "konnte Speicher nicht bekommen" -# @Simon: ("keinen Speicher" = "no memory", "... nicht bekommen" = "... not get") -# @Simon: both would be correct - but would sound rather clumsy in german -# @Simon: how about "Nicht genügend Speicher verfügbar" = "Not enough memory available" ? -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s in Zeile %d von %%s" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "" - -#: option.c:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "" - -#: network.c:720 -msgid "unqualified" -msgstr "" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "" - -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -msgid "enabled" -msgstr "" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "" - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "" - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "" - -#: rfc2131.c:337 -msgid "via" -msgstr "" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -# @Simon: I would like to have an example :) - instead of "von" it would be possible to use "aus", -# @Simon: both translate to "of" and nothing else, but depending on the sense one could be better -# @Simon: than the other. -#: log.c:415 -msgid "FAILED to start up" -msgstr "Start gescheitert" - -# @Simon: Here I need an example to understand it :) -#, fuzzy -#~ msgid "read %s - %d hosts" -#~ msgstr "lese %s - %d Adressen" diff --git a/po/es.po b/po/es.po deleted file mode 100755 index 201e171..0000000 --- a/po/es.po +++ /dev/null @@ -1,1500 +0,0 @@ -# Spanish translations for dnsmasq package. -# This file is put in the public domain. -# Christopher Chatham <chrislinux@gmail.com>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.24\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cache.c:764 -#, fuzzy, c-format -msgid "failed to load names from %s: %s" -msgstr "no se pudo cargar nombres desde %s: %s" - -#: cache.c:798 dhcp.c:785 -#, fuzzy, c-format -msgid "bad address at %s line %d" -msgstr "dirección errónea en %s línea %d" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "nombre erróneo en %s línea %d" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "direcciónes %s - %d leídas" - -#: cache.c:902 -msgid "cleared cache" -msgstr "el caché fue liberado" - -#: cache.c:933 option.c:1055 -#, fuzzy, c-format -msgid "cannot access directory %s: %s" -msgstr "no se puede accesar directorio %s: %s" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "no otorgando nombre %s al arriendo DHCP de %s porque el nombre existe en %s con dirección %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "tiempo %lu" - -#: cache.c:1130 -#, fuzzy, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "tamaño de caché %d, %d/%d inserciónes de caché reutilizaron objetos no vencidos." - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "búsquedas reenviadas %u, búsquedas respondidas localmente %u" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "servidor %s#%d: búsquedas enviadas %u, reintentadas o fallidas %u" - -#: util.c:59 -#, fuzzy, c-format -msgid "failed to seed the random number generator: %s" -msgstr "no se pudo crear valor semilla para el generador de números aleatorios: %s" - -#: util.c:191 -#, fuzzy -msgid "failed to allocate memory" -msgstr "no se pudo alocar %d bytes" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "no se pudo adquirir memoria" - -#: util.c:239 -#, fuzzy, c-format -msgid "cannot create pipe: %s" -msgstr "no se puede crear pipe: %s" - -#: util.c:247 -#, fuzzy, c-format -msgid "failed to allocate %d bytes" -msgstr "no se pudo alocar %d bytes" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "infinito" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "Especificar dirección(es) locales dónde escuchar." - -#: option.c:229 -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:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Falsificar búsquedas reversas para rangos de dirección privados RFC1918." - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Tratar ipaddr (dirección IP) como NXDOMAIN (derrota comodín Verisign)." - -#: option.c:232 -#, 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:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Especificar archivo de configuración (%s por predeterminado)." - -#: option.c:234 -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:235 -msgid "Do NOT forward queries with no domain part." -msgstr "NO reenviar búsquedas sin parte de dominio." - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "Retornar expedientes MX auto-señaladores para hosts locales." - -#: option.c:237 -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:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "No reenviar pedidos DNS falsos desde máquinas Windows." - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "Habilitar DHCP dentro del rango brindado con duración del arriendo." - -#: option.c:240 -#, 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:241 -msgid "Set address or hostname for a specified machine." -msgstr "Fijar dirección o nombre de host para una máquina especificada." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "Leer especificaciones DHCP de host desde archivo" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "Leer opciones DHCP de host desde archivo" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "NO cargar archivo %s." - -#: option.c:245 -#, 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:246 -msgid "Specify interface(s) to listen on." -msgstr "Especificar interface(s) donde escuchar." - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Especificar interface(s) donde NO escuchar." - -#: option.c:248 -#, fuzzy -msgid "Map DHCP user class to tag." -msgstr "Trazar clase de usuario DHCP a etiqueta." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "Trazar circuit-id (identificación de circuito) RFC3046 a etiqueta." - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "Trazar remote-id (identificación remota) RFC3046 a etiqueta." - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "Trazar subscriber-id (identificación de suscritor) RFC3993 a etiqueta." - -#: option.c:252 -#, fuzzy -msgid "Don't do DHCP for hosts with tag set." -msgstr "No hacer DHCP para hosts con etiqueta fijada." - -#: option.c:253 -#, fuzzy -msgid "Force broadcast replies for hosts with tag set." -msgstr "Forzar respuestas broadcast para hosts con etiqueta fijada." - -#: option.c:254 -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:255 -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:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "Especificar donde almacenar arriendos DHCP (%s por predeterminado)." - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "Retornar expedientes MX para hosts locales." - -#: option.c:258 -msgid "Specify an MX record." -msgstr "Especificar un expediente MX." - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Especificar opciones BOOTP a servidor DHCP." - -#: option.c:260 -#, 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:261 -msgid "Do NOT cache failed search results." -msgstr "NO almacenar en caché resultados de búsquedas fallidas." - -#: option.c:262 -#, 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:263 -#, fuzzy -msgid "Specify options to be sent to DHCP clients." -msgstr "Especificar opciones para ser enviadas a clientes DHCP." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "Opción DHCP enviada aún si el cliente no la pide." - -#: option.c:265 -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:266 -#, 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:267 -#, fuzzy -msgid "Log DNS queries." -msgstr "Bitacorear búsquedas DNS." - -#: option.c:268 -#, fuzzy -msgid "Force the originating port for upstream DNS queries." -msgstr "Enforzar el puerto original para búsquedas DNS upstream." - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "NO leer resolv.conf." - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Especificar el path hacia resolv.conf (%s por predeterminado)." - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "Especificar dirección(es) de servidores upstream con dominios opcionales." - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "Nunca reenviar búsquedas a dominios especificados." - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Especificar el dominio para ser asignado en arriendos DHCP." - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Especificar destino predeterminado en un expediente MX." - -#: option.c:275 -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:276 -#, fuzzy -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Especificar tiempo de vida en segundos para caché negativo." - -#: option.c:277 -#, 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:278 -#, fuzzy -msgid "Map DHCP vendor class to tag." -msgstr "Trazar clase de vendedor DHCP a etiqueta." - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "Mostrar información sobre la versión y copyright de dnsmasq." - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "Traducir direcciones IPv4 desde servidores upstream." - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "Especificar un expediente SRV." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "Mostrar este mensaje. Usar --help dhcp para opciones DHCP conocidas." - -#: option.c:283 -#, fuzzy, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Especificar path de archivo PID (%s por predeterminado)." - -#: option.c:284 -#, 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:285 -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:286 -msgid "Specify TXT DNS record." -msgstr "Especificar expediente DNS TXT." - -#: option.c:287 -#, fuzzy -msgid "Specify PTR DNS record." -msgstr "Especificar expediente DNS PTR." - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "Otorgar nombre DNS a dirección IPv4 de interface." - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Acoplar solo a interfaces en uso." - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "Leer información sobre hosts DHCP estáticos desde %s." - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "Habilitar la interface DBus para fijar servidores upstream, etc." - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "No proveer DHCP en esta interface, sólo proveer DNS." - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "Habilitar alocación dinámica de direcciónes para BOOTP." - -#: option.c:294 -#, fuzzy -msgid "Map MAC address (with wildcards) to option set." -msgstr "Trazar dirección MAC (con comodínes) a opción fijada." - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "Tratar pedidos DHCP en alias como si llegaran de la interface." - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "Deshabilitar verificación de direcciónes para echo ICMP en el servidor DHCP." - -#: option.c:297 -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:298 -msgid "Read configuration from all the files in this directory." -msgstr "Leer configuración desde todos los archivos en este directorio." - -#: option.c:299 -#, fuzzy -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Bitacorear a esta facilidad syslog o archivo. (DAEMON por predeterminado)" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "No usar archivo de arriendos." - -#: option.c:301 -#, fuzzy, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "Número máximo de búsquedas DNS simultáneas. (%s por predeterminado)" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "Liberar caché DNS al recargar %s." - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "Ignorar nombres de host brindados por clientes DHCP." - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "NO reutilizar campos de nombre de archivo y servidor para opciones DHCP extra." - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "Habilitar servidor integrado TFTP solo-lectura." - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "Exportar archivos vía TFTP solo del sub-árbol especificado." - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "Agregar IP de cliente a tftp-root." - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "Permitir acceso solo a archivos pertenecientes al usuario que corre dnsmasq." - -#: option.c:309 -#, fuzzy, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Número máximo de transferencias TFTP simultáneas (%s por predeterminado)." - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "Deshabilitar la extensión TFTP blocksize (tamaño de bloque)." - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "Rango de puertos efímeros para ser usados por transferencias TFTP." - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "Bitacoreo extra para DHCP." - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "Habilitar bitacoreo asincrónico; opcionalmente fijar tamaño de cola." - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "Detener revinculación DNS. Filtrar rangos de IP privados al resolver." - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "Siempre realizar búsquedas DNS a todos los servidores." - -#: option.c:316 -#, fuzzy -msgid "Set tag if client includes matching option in request." -msgstr "Fijar etiqueta si cliente incluye opción coincidente en pedido." - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "Usar puertos alternativos para DHCP." - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "Correr archivo guión de cambio de arriendos como este usuario." - -#: option.c:319 -#, fuzzy -msgid "Specify NAPTR DNS record." -msgstr "Especificar expediente DNS NAPTR." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "Especificar puerto más bajo disponible para transmisión de búsquedas DNS." - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "Usar solo nombres de dominio completamente calificados para clientes DHCP." - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "Especificar nombre alias para nombre DNS LOCAL." - -#: option.c:323 -#, fuzzy -msgid "Prompt to send to PXE clients." -msgstr "Aviso a ser enviado a clientes PXE." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "Servico boot para menú PXE." - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "Revisar sintaxis de configuración." - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"Modo de uso: dnsmasq [opciones]\n" -"\n" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "Usar opciones cortas solo en la línea de comandos.\n" - -#: option.c:617 -#, fuzzy, c-format -msgid "Valid options are:\n" -msgstr "Opciones válidas son :\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "Opciones DHCP conocidas:\n" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "opción dhcp-option errónea" - -#: option.c:792 -#, fuzzy -msgid "bad IP address" -msgstr "dirección IP errónea" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "dominio erróneo en dhcp-option" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "opción dhcp-option demasiado larga" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "dhcp-match ilegal" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "opción repetida ilegal" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "palabra clave repetida ilegal" - -#: option.c:1086 tftp.c:359 -#, fuzzy, c-format -msgid "cannot access %s: %s" -msgstr "no se puede accesar %s: %s" - -#: option.c:1131 -#, fuzzy -msgid "only one dhcp-hostsfile allowed" -msgstr "solo un dhcp-hostsfile permitido" - -#: option.c:1138 -#, fuzzy -msgid "only one dhcp-optsfile allowed" -msgstr "solo un dhcp-optsfile permitido" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "preferencia MX errónea" - -#: option.c:1188 -msgid "bad MX name" -msgstr "nombre MX erróneo" - -#: option.c:1202 -msgid "bad MX target" -msgstr "destino MX erróneo" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "no se pueden correr archivos guiónes bajo uClinux" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "puerto erróneo" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "vinculación de interface no está soportado" - -#: option.c:1611 -#, fuzzy -msgid "bad port range" -msgstr "rango de puertos erróneo" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "opción bridge-interface (interface puente) errónea" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "opción dhcp-range (rango DHCP) errónea" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "solo una etiqueta netid permitida" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "rango DHCP inconsistente" - -#: option.c:1912 -#, fuzzy -msgid "bad DHCP host name" -msgstr "nombre de host DHCP erróneo" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "número de puerto inválido" - -#: option.c:2284 -#, fuzzy -msgid "invalid alias range" -msgstr "rango alias inválido" - -#: option.c:2297 -#, fuzzy -msgid "bad interface name" -msgstr "nombre de interface erróneo" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "CNAME duplicado" - -#: option.c:2347 -#, fuzzy -msgid "bad PTR record" -msgstr "expediente PTR erróneo" - -#: option.c:2378 -#, fuzzy -msgid "bad NAPTR record" -msgstr "expediente NAPTR erróneo" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "expediente TXT demasiado largo" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "expediente TXT erróneo" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "expediente SRV erróneo" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "destino SRV erróneo" - -#: option.c:2488 -msgid "invalid priority" -msgstr "prioridad inválida" - -#: option.c:2495 -msgid "invalid weight" -msgstr "peso inválido" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "opción no soportada (verificar que dnsmasq fue compilado con soporte para DHCP/TFTP/DBus)" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "archivos jerarquizados demasiado profundo en %s" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "no se puede leer %s: %s" - -#: option.c:2626 -msgid "missing \"" -msgstr "falta \"" - -#: option.c:2673 -msgid "bad option" -msgstr "opción errónea" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "parámetro extraño" - -#: option.c:2677 -msgid "missing parameter" -msgstr "parámetro ausente" - -#: option.c:2685 -msgid "error" -msgstr "error" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s en línea %d de %%s" - -#: option.c:2740 option.c:2771 -#, fuzzy, c-format -msgid "read %s" -msgstr "leyendo %s" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "Dnsmasq versión %s %s\n" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"Opciones de compilación %s\n" -"\n" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Este software viene SIN NINGUNA GARANTIA.\n" - -#: option.c:2846 -#, 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:2847 -#, fuzzy, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "bajo los términos de la GNU General Public License, versión 2 o 3.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "pruebe --help" - -#: option.c:2860 -msgid "try -w" -msgstr "pruebe -w" - -#: option.c:2863 -#, fuzzy, c-format -msgid "bad command line options: %s" -msgstr "opciones de línea de comandos erróneas: %s" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "no se puede obtener host-name (nombre de host): %s" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "solo un archivo resolv.conf permitido en modo no-poll." - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "debe haber exáctamente un resolv.conf desde donde leer dominio." - -#: option.c:2945 network.c:754 dhcp.c:734 -#, fuzzy, c-format -msgid "failed to read %s: %s" -msgstr "no se pudo leer %s: %s" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "ninguna directiva de búsqueda encontrada en %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "debe haber un dominio predeterminado cuando --dhcp-fqdn está fijado" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "revisión de sintaxis OK" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "servidor DNS %s se reusó a hacer una búsqueda recursiva" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "posible ataque de revinculación DNS detectado" - -#: network.c:73 -#, fuzzy, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "interface desconocida %s en bridge-interface" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "no se pudo crear un socket escuchador: %s" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "no se pudo fijar opciones IPv6 sobre socket escuchador: %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "no se pudo acoplar socket escuchador para %s: %s" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "no se pudo escuchar en socket: %s" - -#: network.c:467 -#, fuzzy, c-format -msgid "failed to create TFTP socket: %s" -msgstr "no se pudo crear socket TFTP: %s" - -#: network.c:661 -#, fuzzy, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "no se pudo acoplar socket escuchador para %s: %s" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "ignorando servidor DNS %s - interface local" - -#: network.c:705 -#, fuzzy, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "ignorando servidor DNS %s - no se puede crear/acoplar socket: %s" - -#: network.c:720 -msgid "unqualified" -msgstr "no calificado" - -#: network.c:720 -msgid "names" -msgstr "nombres" - -#: network.c:722 -msgid "default" -msgstr "predeterminado" - -#: network.c:724 -msgid "domain" -msgstr "dominio" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "usando direcciones locales solo para %s %s" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "usando servidor DNS %s#%d para %s %s" - -#: network.c:732 -#, fuzzy, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "usando servidor DNS %s#%d(vía %s)" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "usando servidor DNS %s#%d" - -#: dnsmasq.c:146 -#, fuzzy -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "servidor TFTP no disponible: fijar HAVE_TFTP en src/config.h" - -#: dnsmasq.c:151 -#, fuzzy -msgid "asychronous logging is not available under Solaris" -msgstr "bitacoreo asincrónico no está disponible bajo Solaris" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "no se pudo encontrar lista de interfaces: %s" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "interface desconocida %s" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "ninguna interface con dirección %s" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "error DBus: %s" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "DBus no disponible: fijar HAVE_DBUS en src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "usuario o grupo desconocido: %s" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "no se puede cambiar directorio a raíz de sistema de archivos: %s" - -#: dnsmasq.c:448 -#, fuzzy, c-format -msgid "started, version %s DNS disabled" -msgstr "iniciado, versión %s DNS deshabilitado" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "iniciado, versión %s tamaño de caché %d" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "iniciado, versión %s caché deshabilitado" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "opciones de compilación: %s" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "soporte DBus habilitado: conectado a bus de sistema" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "soporte DBus habilitado: conección a bus pendiente" - -#: dnsmasq.c:467 -#, fuzzy, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "advertencia: no se pudo cambiar dueño de %s: %s" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "fijando opción --bind-interfaces debido a limitaciones de sistema operativo" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "advertencia: interface %s no existe actuálmente" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "advertencia: ignorando opción resolv-file porque no-resolv está fijado" - -#: dnsmasq.c:484 -#, fuzzy -msgid "warning: no upstream servers configured" -msgstr "advertencia: ningún servidor upstream configurado" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "bitacoreo asincrónico habilitado, límite de cola es %d mensajes" - -#: dnsmasq.c:501 -#, 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:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "DHCP, proxy en subred %.0s%s%.0s" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP, rango de IPs %s -- %s, tiempo de arriendo %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "root es " - -#: dnsmasq.c:519 -#, fuzzy -msgid "enabled" -msgstr "habilitado" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "modo seguro" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "limitando número máximo de transferencias TFTP simultáneas a %d" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "conectado a DBus de sistema" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "no se puede hacer fork hacia el fondo: %s" - -#: dnsmasq.c:760 -#, fuzzy, c-format -msgid "failed to create helper: %s" -msgstr "no se pudo crear ayudante: %s" - -#: dnsmasq.c:763 -#, fuzzy, c-format -msgid "setting capabilities failed: %s" -msgstr "configuración de capacidades ha fallado: %s" - -#: dnsmasq.c:767 -#, fuzzy, c-format -msgid "failed to change user-id to %s: %s" -msgstr "no se pudo cambiar user-id a %s: %s" - -#: dnsmasq.c:772 -#, fuzzy, c-format -msgid "failed to change group-id to %s: %s" -msgstr "no se pudo cambiar group-id a %s: %s" - -#: dnsmasq.c:775 -#, fuzzy, c-format -msgid "failed to open pidfile %s: %s" -msgstr "no se pudo abrir archivo PID %s: %s" - -#: dnsmasq.c:778 -#, fuzzy, c-format -msgid "cannot open %s: %s" -msgstr "no se puede abrir %s: %s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "proceso hijo eliminado por señal %d" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "proceso hijo hizo exit con estado %d" - -#: dnsmasq.c:841 -#, fuzzy, c-format -msgid "failed to execute %s: %s" -msgstr "no se pudo ejecutar %s: %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "saliendo al recibir SIGTERM" - -#: dnsmasq.c:903 -#, fuzzy, c-format -msgid "failed to access %s: %s" -msgstr "no se pudo accesar %s: %s" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "leyendo %s" - -#: dnsmasq.c:936 -#, fuzzy, c-format -msgid "no servers found in %s, will retry" -msgstr "ningún servidor encontrado en %s, se reintentará" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "no se puede crear socket DHCP: %s" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "no se pudo fijar opciones en socket DHCP: %s" - -#: dhcp.c:65 -#, fuzzy, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "no se pudo fijar SO_REUSE{ADDR|PORT} en socket DHCP: %s" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "no se pudo acoplar socket de servidor DHCP: %s" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "no se puede crear socket crudo ICMP: %s." - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "Paquete DHCP recibido en %s que no tiene dirección" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "rango DHCP %s -- %s no coincide con máscara de subred %s" - -#: dhcp.c:772 -#, fuzzy, c-format -msgid "bad line at %s line %d" -msgstr "línea errónea en %s línea %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "dirección IP duplicada %s en directiva dhcp-config." - -#: dhcp.c:900 -#, fuzzy, c-format -msgid "duplicate IP address %s in %s." -msgstr "dirección IP duplicada %s en %s." - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "%s tiene más de una dirección en hostsfile, usando %s para DHCP" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "dirección IP duplicada %s (%s) en directiva dhcp-config" - -#: lease.c:66 -#, fuzzy, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "no se puede abrir o crear archivo de arriendos %s: %s" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "demasiados arriendos almacenados" - -#: lease.c:128 -#, fuzzy, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "no se puede ejecutar archivo guión lease-init %s: %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "archivo guión lease-init retornó exit code %s" - -#: lease.c:234 -#, fuzzy, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "error al escribir %s: %s (reintentar en %us)" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "ningún rango de direcciónes disponible para pedido DHCP %s %s" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "con selector de subred" - -#: rfc2131.c:337 -msgid "via" -msgstr "vía" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "%u Subred DHCP disponible: %s/%s" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "%u Rango DHCP disponible: %s -- %s" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "deshabilitado" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "ignorado" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "dirección en uso" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "ninguna dirección disponible" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "red equivocada" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "ninguna dirección configurada" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "no sobra ningún arriendo" - -#: rfc2131.c:558 -#, fuzzy, c-format -msgid "%u client provides name: %s" -msgstr "%u cliente provee nombre: %s" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "%u Clase de vendedor: %s" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "%u Clase de usuario: %s" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "no hay soporte para BIS PXE" - -#: rfc2131.c:853 -#, fuzzy, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "deshabilitando dirección DHCP estática %s para %s" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "arriendo desconocido" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "no usando dirección configurada %s porque está arrendada a %s" - -#: rfc2131.c:916 -#, fuzzy, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "no usando dirección configurada %s porque está en uso por el servidor o relay" - -#: rfc2131.c:919 -#, fuzzy, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "no usando dirección configurada %s porque fué previamente denegada" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "ningún unique-id (identificación única)" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "ID de servidor equivocada" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "dirección equivocada" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "arriendo no encontrado" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "dirección no disponible" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "arriendo estático disponible" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "dirección reservada" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "abandonando arriendo a %s de %s" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "%u etiquetas: %s" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "%u nombre de bootfile: %s" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "%u nombre de servidor: %s" - -#: rfc2131.c:1613 -#, fuzzy, c-format -msgid "%u next server: %s" -msgstr "%u siguiente servidor: %s" - -#: rfc2131.c:1680 -#, fuzzy, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "no se puede enviar opción DHCP/BOOTP %d: no queda espacio en paquete" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "menú PXE demasiado grande" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "Ignorando dominio %s para nombre de host DHCP %s" - -#: rfc2131.c:2052 -#, fuzzy, c-format -msgid "%u requested options: %s" -msgstr "%u opciones solicitadas: %s" - -#: netlink.c:66 -#, fuzzy, c-format -msgid "cannot create netlink socket: %s" -msgstr "no se puede crear socket netlink: %s" - -#: netlink.c:265 -#, fuzzy, c-format -msgid "netlink returns error: %s" -msgstr "netlink retorna error: %s" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "intento de fijar dirección de servidor IPv6 vía DBus - no hay soporte IPv6" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "fijando servidores upstream desde DBus" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "no se pudo registrar un manejador de mensajes DBus" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "no se puede crear socket BPF DHCP: %s" - -#: bpf.c:178 -#, fuzzy, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "pedido DHCP por tipo de hardware no-soportado (%d) recibido en %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "incapaz de conseguir puerto libre para TFTP" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "pedido no-soportado desde %s" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "TFTP envió %s a %s" - -#: tftp.c:305 -#, fuzzy, c-format -msgid "file %s not found" -msgstr "archivo %s no encontrado" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "error TFTP %d %s recibido de %s" - -#: tftp.c:447 -#, fuzzy, c-format -msgid "TFTP failed sending %s to %s" -msgstr "TFTP no pudo enviar %s a %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "desbordamiento: %d entradas de bitácora perdidas" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "bitácora falló: %s" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "el inicio ha FALLADO" - -#~ msgid "DHCP packet: transaction-id is %u" -#~ msgstr "paquete DHCP: transaction-id (identificación de transacción) es %u" - -#~ msgid "must set exactly one interface on broken systems without IP_RECVIF" -#~ msgstr "debe fijarse exáctamente una interface en sistemas rotos sin IP_RECVIF" - -#, fuzzy -#~ msgid "failed to load %s: %s" -#~ msgstr "no se pudo cargar %s: %s" - -#~ msgid "bad name in %s" -#~ msgstr "nombre erróneo en %s" - -#~ msgid "Ignoring DHCP lease for %s because it has an illegal domain part" -#~ msgstr "Ignorando arriendo DHCP para %s porque tiene una parte ilegal de dominio" - -#~ msgid "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" -#~ msgstr "integración dhcpd ISC no disponible: fijar HAVE_ISC_READER en src/config.h" - -#, fuzzy -#~ msgid "illegal domain %s in dhcp-config directive." -#~ msgstr "dominio ilegal %s en directiva dhcp-config." - -#~ msgid "illegal domain %s in %s." -#~ msgstr "dominio ilegal %s en %s." - -#~ msgid "running as root" -#~ msgstr "corriendo como root" - -#~ msgid "Read leases at startup, but never write the lease file." -#~ msgstr "Leer arriendos al inicio, pero nunca escribir el archivo de arriendos." - -#, fuzzy -#~ msgid "read %s - %d hosts" -#~ msgstr "direcciónes %s - %d leídas" - -#~ msgid "Limit of %d leases exceeded." -#~ msgstr "Límite de %d arriendos excedido." - -#~ msgid "bad dhcp-host" -#~ msgstr "opción dhcp-host errónea" - -#~ msgid "domains" -#~ msgstr "dominios" - -#~ 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" - -#~ msgid "Display this message." -#~ msgstr "Mostrar este mensaje." - -#~ msgid "failed to read %s: %m" -#~ msgstr "no se pudo leer %s: %m" - -#~ msgid "failed to read %s:%m" -#~ msgstr "no se pudo leer %s:%m" diff --git a/po/fi.po b/po/fi.po deleted file mode 100755 index a0a6fbd..0000000 --- a/po/fi.po +++ /dev/null @@ -1,1411 +0,0 @@ -# Finnish translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.24\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "" - -#: cache.c:902 -msgid "cleared cache" -msgstr "" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -#: cache.c:1130 -#, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "" - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "" - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "" - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "" - -#: option.c:232 -#, c-format -msgid "Specify the size of the cache in entries (defaults to %s)." -msgstr "" - -#: option.c:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "" - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "" - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "" - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "" - -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "" - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "" - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "" - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "" - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "" - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "" - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "" - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "" - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "" - -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "" - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "" - -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "" - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "" - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "" - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "" - -#: option.c:258 -msgid "Specify an MX record." -msgstr "" - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "" - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "" - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "" - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "" - -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "" - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "" - -#: option.c:266 -#, c-format -msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." -msgstr "" - -#: option.c:267 -msgid "Log DNS queries." -msgstr "" - -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "" - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "" - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "" - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "" - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "" - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "" - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "" - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "" - -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "" - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "" - -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "" - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "" - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "" - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "" - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "" - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "" - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "" - -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "" - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "" - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "" - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "" - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "" - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "" - -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "" - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "" - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "" - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "" - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "" - -#: option.c:792 -msgid "bad IP address" -msgstr "" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "" - -#: option.c:1188 -msgid "bad MX name" -msgstr "" - -#: option.c:1202 -msgid "bad MX target" -msgstr "" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -msgid "bad port range" -msgstr "" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "" - -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "" - -#: option.c:2284 -msgid "invalid alias range" -msgstr "" - -#: option.c:2297 -msgid "bad interface name" -msgstr "" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -msgid "bad PTR record" -msgstr "" - -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "" - -#: option.c:2488 -msgid "invalid priority" -msgstr "" - -#: option.c:2495 -msgid "invalid weight" -msgstr "" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "" - -#: option.c:2626 -msgid "missing \"" -msgstr "" - -#: option.c:2673 -msgid "bad option" -msgstr "" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "" - -#: option.c:2677 -msgid "missing parameter" -msgstr "" - -#: option.c:2685 -msgid "error" -msgstr "" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "" - -#: option.c:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "" - -#: network.c:720 -msgid "unqualified" -msgstr "" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "" - -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -msgid "enabled" -msgstr "" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "" - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "" - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "" - -#: rfc2131.c:337 -msgid "via" -msgstr "" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "" diff --git a/po/fr.po b/po/fr.po deleted file mode 100755 index c9f2f9f..0000000 --- a/po/fr.po +++ /dev/null @@ -1,1504 +0,0 @@ -# French translations for dnsmasq package. -# This file is put in the public domain. -# Lionel Tricon <lionel.tricon@free.fr>, 2005. -# Translation completed by Gildas Le Nadan <3ntr0p13@gmail.com> -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.51\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+0100\n" -"PO-Revision-Date: 2009-09-30 10:22+0100\n" -"Last-Translator: Gildas Le Nadan <3ntr0p13@gmail.com>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "Impossible de charger les noms à partir de %s : %s" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "mauvaise adresse dans %s ligne %d" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "mauvais nom dans %s ligne %d" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "lecture %s - %d adresses" - -#: cache.c:902 -msgid "cleared cache" -msgstr "cache vidé" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "Ne peut pas lire le répertoire %s : %s" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "ne donne pas de nom %s au bail DHCP de %s parce-que le nom existe dans %s avec l'adresse %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "horodatage %lu" - -#: cache.c:1130 -#, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "taille de cache %d, %d/%d insertions dans le cache entrées non-expirées réutilisées" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "requêtes transmises %u, requêtes résolues localement %u" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "serveur %s#%d: requêtes envoyées %u, requêtes réessayées ou échouées %u" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "impossible d'initialiser le générateur de nombre aléatoire : %s" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "impossible d'allouer la mémoire" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "impossible d'allouer de la mémoire" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "Ne peut pas créer le tube %s : %s" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "impossible d'allouer %d octets" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "illimité(e)" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "Spécifie la ou les adresse(s) locales où le démon doit se mettre à l'écoute." - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "Retourne les adresses IP pour toutes les machines présentes dans les domaines spécifiés" - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Traduction inverse truquée pour la plage d'adresse privée RFC1918" - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Traite l'adresse IP comme un domaine inexistant NXDOMAIN (contourne le systeme de redirection de Verisign)" - -#: option.c:232 -#, c-format -msgid "Specify the size of the cache in entries (defaults to %s)." -msgstr "Spécifie le nombre d'entrées que contiendra le cache (par défaut : %s)." - -#: option.c:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Spécifie le nom du fichier de configuration (par défaut : %s)" - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "Ne passe pas en tâche de fond : démarre en mode debug" - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "Ne retransmet pas les requêtes qui n'ont pas de domaine." - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "Retourne les champs MX pour les machines locales." - -#: option.c:237 -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:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "Ne retransmet pas les fausses requêtes DNS en provenance des machines Windows." - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "Autorise DHCP dans la plage d'adresses donnée sur la durée de validité du bail." - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "On change pour ce groupe après le démarrage (par défaut : %s)." - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "On assigne une adresse ou un nom pour une machine spécifiée." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "Lecture des spécifications d'hôtes DHCP à partir du fichier" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "Lecture des options DHCP à partir du fichier" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "Ne charge PAS le fichier %s." - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "Spécifie un nom de fichier hosts à lire en complément de %s" - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "Spécifie la ou les interface(s) où le démon doit se mettre à l'écoute." - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Spécifie la ou les interface(s) que le démon ne doit PAS traiter." - -# -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "Associe les classes d'utilisateurs ('user class') DHCP aux options." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "Associe les identifiants de circuits RFC3046 ('circuit-id') aux options" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "Associe les identifiants distants RFC3046 ('remote-id') aux options" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "Associe les identifiants de souscripteurs RFC3993 ('subscriber-id') aux options" - -# -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "Ne pas autoriser DHCP pour les machines énumerées dans les options." - -# -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "Forcer les réponses par 'broadcast' pour les machines énumerées dans les options." - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "Ne passe pas en tâche de fond, ne pas s'exécuter en mode debug." - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "On considère que l'on est le seul serveur DHCP sur le réseau local." - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "Spécifie où il faut sauvegarder les baux DHCP (par défaut : %s)." - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "Retourne les champs MX pour les machines locales." - -#: option.c:258 -msgid "Specify an MX record." -msgstr "Spécifie un champ MX." - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Spécifie les options BOOTP pour le serveur DHCP." - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "Ne pas scruter le fichier %s, ne recharger les modifications que sur réception du signal SIGHUP." - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "Ne place pas en cache le résultat des requêtes qui ont échouées." - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "Utilise les serveurs de noms dans l'ordre donné dans %s." - -# -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "Options supplémentaires à associer aux clients DHCP." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "Option DHCP envoyée même si le client de la demande pas." - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "Spécifie le port où il faut écouter les requêtes DNS (par défaut : 53)." - -#: option.c:266 -#, c-format -msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." -msgstr "Taille maximale des paquets UDP supportés pour EDNS.0 (par défaut : %s)." - -# -#: option.c:267 -msgid "Log DNS queries." -msgstr "Enregistre les requêtes DNS dans un journal d'activité." - -# -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "Force le port d'origine pour les requêtes vers les serveurs amonts." - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "Ne pas lire le fichier resolv.conf." - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Spécifie le chemin pour le fichier resolv.conf (par défaut : %s)." - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "Spécifie la ou les adresses des serveurs amonts avec des domaines optionels." - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "Ne jamais retransmettre les requêtes pour les domaines spécifiés." - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Spécifie le domaine qui doit etre assigné aux baux DHCP." - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Spécifie la cible par défaut dans un champ MX." - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts." - -# -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Spécifie le TTL en secondes pour les réponses qui utilisent /etc/hosts." - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "Change pour cet utilisateur après le démarrage (par défaut : %s)." - -# -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "Associe les classes de fournisseurs ('vendor class') DHCP aux options." - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "Affiche la version de Dnsmasq et les informations liées au copyright." - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "Traduit les adresses IPV4 des serveurs amonts." - -#: option.c:281 -msgid "Specify a SRV record." -msgstr " Spécifie un champ SRV." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "Afficher ce message. Utiliser --help dhcp pour obtenir la liste des options DHCP connues." - -#: option.c:283 -#, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Spécifie un chemin pour le fichier PID (par défaut : %s)." - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "Spécifie le nombre maximum de baux DHCP (par défaut : %s)." - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "Repond aux requêtes DNS en se basant sur l'interface ou a été envoyée la requête." - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "Spécifie un champ DNS TXT" - -# -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "Spécifie un champ DNS PTR" - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "Donne le nom DNS pour l'adresse IPv4 de l'interface." - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Association uniquement aux interfaces réseau actuellement actives." - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "Lecture des informations de DHCP statique à partir de %s." - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "Autorise l'interface DBus pour la configuration des serveurs amonts, etc." - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "Ne pas assurer de fonction DHCP sur cette interface, mais seulement la fonction DNS." - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "Autorise l'allocation dynamique d'adresse pour bootp." - -# -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "Associe l'adresse MAC (avec les jokers) aux options." - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "Traiter les requêtes DHCP sur les alias comme arrivant de l'interface." - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "Supprime la vérification d'adresse sur le serveur au moyen de paquets ICMP echo" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "Script à exécuter lors de la création ou destruction de bail DHCP." - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "Lecture de la configuration dans tous les fichiers de ce répertoire." - -# -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Enregistrer les journaux d'activité dans cette facilité syslog. (défaut : DAEMON)" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "Ne pas utiliser de fichier de baux." - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "Spécifie le nombre maximum de requêtes DHCP concurrentes (par défaut : %s)." - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "Vider le cache DNS lors du rechargement de %s." - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "Ignorer les noms d'hôtes fournis par les clients DHCP" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "Ne pas réutiliser les champs nom de fichier et serveur dans les options DHCP supplémentaires." - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "Activer le server TFTP intégré (fonctionnant en lecture seulement)" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "N'exporter par TFTP que les fichiers de l'arborescence de fichier spécifiée" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "Ajouter les adresses IP clientes à la racine tftp ('tftp-root')." - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "Accès aux seuls fichiers appartenants à l'utilisateur sous lequel tourne dnsmasq" - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Spécifie le nombre maximum de transfert TFTP concurrents (défaut : %s)." - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "Désactivation de l'extension TFTP « taille de bloc »" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "Gamme de ports dans laquelle seront choisis les ports temporaires utilisés dans les transferts TFTP." - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "Traces supplémentaires pour le DHCP." - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "Active l'écriture de traces en mode asynchrone. Peut prendre en option la valeur de la longueur de la queue." - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "Stopper la réassociation DNS ('DNS rebinding'). Filtre les gammes d'adresses IP privées lors de la résolution." - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "Toujours effectuer les requêtes DNS à tous les serveurs." - -# -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "Spécifie le label si le client inclus l'option dans la requête." - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "Utiliser des ports alternatifs pour le DHCP." - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "Lancer le script 'lease-change' avec cet utilisateur." - -# -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "Spécifie un champ DNS NAPTR." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "Définie le plus petit port utilisé pour la transmission d'une requête DNS." - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "Utilise seulement les noms de domaine pleinement qualifiés pour les clients DHCP." - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "Spécifie un alias pour un nom DNS local." - -# -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "Invite à envoyer aux clients PXE." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "Service de démarrage pour menu PXE" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "vérification de la syntaxe de la configuration" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"Usage : dnsmasq [options]\n" -"\n" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "Utilisez les options courtes uniquement sur la ligne de commande.\n" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "Les options valides sont :\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "Options DHCP connues :\n" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "mauvaise valeur de 'dhcp-option'" - -# -#: option.c:792 -msgid "bad IP address" -msgstr "mauvaise adresse IP" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "mauvais domaine dans dhcp-option" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "dhcp-option trop long" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "valeur illégale pour 'dhcp-match'" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "Une option ne pouvant être spécifié qu'une seule fois à été donnée plusieurs fois." - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "Mot-clef ne pouvant être répété" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "Ne peut pas lire %s : %s" - -# -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "une seule valeur est autorisée pour 'dhcp-hostsfile'" - -# -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "une seule valeur est autorisée pour 'dhcp-optsfile'" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "Mauvaise préference MX" - -#: option.c:1188 -msgid "bad MX name" -msgstr "mauvais nom MX" - -#: option.c:1202 -msgid "bad MX target" -msgstr "mauvaise cible MX" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "ne peut exécuter de script sous uClinux" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "pour permettre l'exécution de scripts au changement de bail (lease-change), recompiler en définissant HAVE_SCRIPT" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "mauvais port" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "association d'interface non supportée" - -# -#: option.c:1611 -msgid "bad port range" -msgstr "mauvaise gamme de ports" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "mauvaise interface-pont" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "mauvaise plage d'adresses DHCP (dhcp-range)" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "une seule étiquette netid est autorisée" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "plage d'adresses DHCP incohérente" - -# -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "mauvais nom d'hôte DHCP" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "numéro de port invalide" - -# -#: option.c:2284 -msgid "invalid alias range" -msgstr "poids invalide" - -# -#: option.c:2297 -msgid "bad interface name" -msgstr "mauvais nom d'interface" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "mauvais CNAME" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "ce CNAME existe déja" - -# -#: option.c:2347 -msgid "bad PTR record" -msgstr "mauvais champ PTR" - -# -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "mauvais champ NAPTR" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "chaîne du champ TXT trop longue" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "mauvais champ TXT" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "mauvais champ SRV" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "mauvaise cible SRV" - -#: option.c:2488 -msgid "invalid priority" -msgstr "priorité invalide" - -#: option.c:2495 -msgid "invalid weight" -msgstr "poids invalide" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "option non supportée (vérifier que Dnsmasq a été compilé avec le support DHCP/TFTP/DBus)" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "trop de niveaux de récursion pour les fichiers dans %s" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "Ne peut pas lire %s : %s" - -#: option.c:2626 -msgid "missing \"" -msgstr "il manque \"" - -#: option.c:2673 -msgid "bad option" -msgstr "mauvaise option" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "paramètre en trop" - -#: option.c:2677 -msgid "missing parameter" -msgstr "paramètre manquant" - -#: option.c:2685 -msgid "error" -msgstr "erreur" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s à la ligne %d de %%s" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "Lecture de %s" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "Version de Dnsmasq %s %s\n" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"Options à la compilation %s\n" -"\n" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Ce logiciel est fourni sans AUCUNE GARANTIE.\n" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "Dnsmasq est un logiciel libre, il vous est permis de le redistribuer\n" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "sous les termes de la licence GPL (GNU General Public License), version 2 ou 3.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "essayez avec --help" - -#: option.c:2860 -msgid "try -w" -msgstr "essayez avec -w" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "mauvaises options en ligne de commande : %s." - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "ne peut pas obtenir le nom de la machine : %s" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "seul un fichier resolv.conf est autorisé dans le mode no-poll" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "un fichier resolv.conf (et un seul) est nécessaire pour y récuperer le nom de domaine." - -#: option.c:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "impossible de lire %s : %s" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "pas de directive de recherche trouvée dans %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "un domaine par défaut doit être spécifié lorsque l'option --dhcp-fqdn est utilisée" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "vérification de syntaxe OK" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "le serveur de nom %s a refusé de faire une recherche récursive" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "détection d'une possible attaque de type DNS-rebind" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "interface %s inconnue spécifiée comme interface de pont" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "impossible de créer une socket de lecture : %s" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "impossible d'activer les options IPV6 sur la socket de lecture : %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "impossible de lier la socket de lecture pour %s : %s" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "impossible de lire sur la socket : %s" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "impossible de créer une socket TFTP : %s" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "impossible de lier la socket de serveur pour %s : %s" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "ignore le serveur de nom %s - interface locale" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "ignore le serveur de nom %s - ne peut construire/lier la socket : %m" - -#: network.c:720 -msgid "unqualified" -msgstr "non-qualifié(e)" - -#: network.c:720 -msgid "names" -msgstr "noms" - -#: network.c:722 -msgid "default" -msgstr "défaut" - -#: network.c:724 -msgid "domain" -msgstr "domaine" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "utilise les adresses locales seulement pour %s %s" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "utilise le serveur de nom %s#%d pour %s %s" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "utilise le serveur de nom %s#%d (via %s)" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "utilise le serveur de nom %s#%d" - -# -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "TFTP n'est pas disponible : activez HAVE_TFTP dans src/config.h" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "l'écriture de traces en mode asynchrone n'est pas disponible sous Solaris." - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "impossible de trouver la liste des interfaces : %s" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "interface %s inconnue" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "pas d'interface avec l'adresse %s" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "Erreur DBus : %s" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "DBus n'est pas disponible : activez HAVE_DBUS dans src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "utilisateur ou groupe inconnu : %s" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "Ne peut effectuer un 'chdir' à la racine du système de fichier : %s" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "démarrage avec le DNS désactivé (version %s)" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "demarré, version %s (taille de cache %d)" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "démarrage avec le cache désactivé (version %s)" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "options à la compilation : %s" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "Support DBus autorisé : connecté au bus système" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "Support DBus autorisé : connexion au bus en attente" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "Impossible de changer pour l'utilisateur %s : %s" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "active l'option --bind-interfaces à cause de limitations dans le système d'exploitation" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "attention : l'interface %s n'existe pas actuellement" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "attention : l'option « resolv-file » sera ignorée car « no-resolv » a été spécifié" - -# -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "attention : aucun serveur amont n'est configuré" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "mode asynchrone d'écriture de traces, la taille maximum de la queue est de %d messages." - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "baux statiques DHCP seulement sur %.0s%s, durée de validité de bail %s" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "DHCP, proxy sur le sous-réseau %.0s%s%.0s" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP, plage d'adresses %s -- %s, durée de bail %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "root est" - -# -#: dnsmasq.c:519 -msgid "enabled" -msgstr "activé" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "mode sécurisé" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "le nombre maximum de transferts TFTP simultanés sera restreint à %d" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "connecté au systeme DBus" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "Ne peut se lancer en tâche de fond : %s" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "impossible de créer le 'helper' : %s" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "impossible de configurer la capacité %s" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "Impossible de changer l'identifiant utilisateur pour %s : %s" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "Impossible de changer l'identifiant de groupe pour %s : %s" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "impossible de lire le fichier de PID %s : %s" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "Ne peut pas lire %s : %s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "Le processus fils a été terminé par le signal %d" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "Le processus fils s'est terminé avec le statut %d" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "impossible d'exécuter à %s : %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "sortie sur réception du signal SIGTERM" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "impossible d'accéder à %s : %s" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "Lecture de %s" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "aucun serveur trouvé dans %s, va réessayer" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "ne peut créer la socket DHCP: %s" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "impossible d'appliquer les options sur la socket DHCP : %s" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "impossible de déclarer SO_REUSE{ADDR|PORT} sur la socket DHCP : %s" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "impossible de lier la socket serveur DHCP : %s" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "ne peut créer de socket en mode raw pour ICMP : %s." - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "Paquet DHCP reçu sur %s qui n'a pas d'adresse" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "La plage d'adresses DHCP %s -- %s n'est pas cohérente avec le masque de réseau %s" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "mauvaise ligne dans %s ligne %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "ignore %s à la ligne %d : duplication de nom ou d'adresse IP" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "adresse IP %s dupliquée dans la directive dhcp-config." - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "adresse IP %s dupliquée dans %s." - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "%s a plus d'une adresse dans le fichier d'hôte, utilisation de %s pour le DHCP." - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "adresse IP %s (%s) dupliquée dans la directive dhcp-config." - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "ne peut ouvrir ou créer le fichiers de baux %s : %s" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "beaucoup trop de baux enregistrés" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "Ne peut pas exécuter le script lease-init %s : %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "le script lease-init a retourné le code %s" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "impossible de lire %s : %s (prochain essai dans %us)" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "pas de plage d'adresse disponible pour la requête DHCP %s %s" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "avec sélecteur de sous-reseau" - -#: rfc2131.c:337 -msgid "via" -msgstr "par l'intermédiaire de" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "%u sous-réseaux DHCP disponibles : %s/%s" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "%u la gamme DHCP disponible est : %s -- %s" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "désactivé" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "ignoré" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "adresse déjà utilisée" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "pas d'adresse disponible" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "mauvais réseau" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "pas d'adresse configurée" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "plus aucun bail disponible" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "le client %u fourni le nom : %s" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "%u Classe de vendeur ('Vendor Class') : %s" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "%u Classe d'utilisateur : %s" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "Service PXE BIS (Boot Integrity Services) non supporté" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "désactive l'adresse statique DHCP %s pour %s" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "bail inconnu" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "L'adresse statique %s ne sera pas utilisée car un bail est déjà attribué à %s" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "L'adresse statique %s ne sera pas utilisée car elle est utilisée par le serveur ou un relai" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "L'adresse statique %s ne sera pas utilisée car elle a préalablement été refusée" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "pas d'identifiant unique" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "mauvais identifiant de serveur" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "mauvaise adresse" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "bail non trouvé" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "adresse non disponible" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "bail statique disponible" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "adresse reservée" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "abandon du bail de %s pour %s" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "%u options: %s" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "%u nom de fichier 'bootfile' : %s" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "%u nom du serveur : %s" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "%u serveur suivant : %s" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "Impossible d'envoyer l'option DHCP/BOOTP %d : pas assez d'espace dans le paquet" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "menu PXE trop grand" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "Le domaine %s est ignoré pour l'hôte DHCP %s" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "%u options demandées : %s" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "ne peux lier une socket netlink : %s" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "Erreur netlink : %s" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "tentative de lier une adresse serveur IPV6 via DBus - pas de support IPV6" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "configuration des serveurs amonts à partir de DBus" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "ne peut enregistrer une routine de traitement des messages DBus" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "impossible de créer une socket BPF pour DHCP : %s" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "requête DHCP pour un type de matériel non supporté (%d) reçue sur %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "impossible d'obtenir un port libre pour TFTP" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "requête de %s non supportée" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "TFTP envoyé %s à %s" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "fichier %s non trouvé" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "TFTP erreur %d %s reçu de %s" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "TFTP : impossible d'envoyer %s à %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "débordement : %d traces perdues" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "trace perdue : %s" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "IMPOSSIBLE de démarrer" - -#~ msgid "DHCP packet: transaction-id is %u" -#~ msgstr "paquet DHCP : l'identifiant de transaction ('transaction-id') est %u" - -#~ msgid "failed to read %s:%s" -#~ msgstr "impossible de lire %s : %s" - -#~ msgid "must set exactly one interface on broken systems without IP_RECVIF" -#~ msgstr "Une interface et une seule doit être déclarée sur les systèmes sans IP_RECVIF" - -# -#~ msgid "failed to load %s: %s" -#~ msgstr "impossible de charger %s : %m" - -#~ msgid "bad name in %s" -#~ msgstr "mauvais nom dans %s" - -#~ msgid "Ignoring DHCP lease for %s because it has an illegal domain part" -#~ msgstr "On ignore le bail DHCP pour %s car il possède un nom de domaine illégal" - -#~ msgid "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" -#~ msgstr "L'intégration DHCP ISC n'est pas disponible : activez HAVE_ISC_READER dans src/config.h" - -# -#~ msgid "illegal domain %s in dhcp-config directive." -#~ msgstr "domaine %s dupliqué dans la directive dhcp-config." - -#~ msgid "illegal domain %s in %s." -#~ msgstr "domaine %s illégal dans %s." - -#~ msgid "running as root" -#~ msgstr "executé en temps que root" - -#~ msgid "Read leases at startup, but never write the lease file." -#~ msgstr "Lecture des baux au démarrage, mais aucune écriture de fichier de baux" - -# -#~ msgid "read %s - %d hosts" -#~ msgstr "lecture %s - %d hôtes" - -#~ msgid "bad dhcp-host" -#~ msgstr "mauvais dhcp-host" - -#~ msgid "domains" -#~ msgstr "domaines" - -#~ msgid "Ignoring DHCP host name %s because it has an illegal domain part" -#~ msgstr "Le nom de machine DHCP %s sera ignoré parce qu'il possède un nom de domaine illégal" - -#~ msgid "Display this message." -#~ msgstr "Affiche ce message." - -#~ msgid "failed to read %s: %m" -#~ msgstr "impossible de lire %s : %m" - -#~ msgid "failed to read %s:%m" -#~ msgstr "impossible de lire %s : %m" - -# -#~ msgid "cannot send encapsulated option %d: no space left in wrapper" -#~ msgstr "Impossible d'envoyer l'option DHCP %d : pas assez d'espace dans le paquet" - -#~ msgid "More than one vendor class matches, using %s" -#~ msgstr "Plusieurs classes de fournisseurs correspondent, %s sera utilisé" diff --git a/po/id.po b/po/id.po deleted file mode 100755 index a5ff6e8..0000000 --- a/po/id.po +++ /dev/null @@ -1,1727 +0,0 @@ -# Indonesian translations for dnsmasq package. -# This file is put in the public domain. -# Salman AS <sas@salman.or.id>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.24\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" - -# OK -#: cache.c:764 -#, fuzzy, c-format -msgid "failed to load names from %s: %s" -msgstr "gagal memuat nama-nama dari %s: %s" - -# OK -#: cache.c:798 dhcp.c:785 -#, fuzzy, c-format -msgid "bad address at %s line %d" -msgstr "kesalahan nama pada %s baris %d" - -# OK -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "kesalahan nama pada %s baris %d" - -# OK -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "membaca %s - %d alamat" - -# OK -#: cache.c:902 -msgid "cleared cache" -msgstr "cache telah dihapus" - -# OK -#: cache.c:933 option.c:1055 -#, fuzzy, c-format -msgid "cannot access directory %s: %s" -msgstr "tidak bisa membaca %s: %s" - -# OK -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "tidak memberikan nama %s kepada lease DHCP %s karena nama telah ada dalam %sdengan alamat %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -# OK -#: cache.c:1130 -#, fuzzy, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "ukuran cache %d, %d/%d penyisipan cache menimpa cache yang belum kadaluwarsa" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -# OK -#: util.c:59 -#, fuzzy, c-format -msgid "failed to seed the random number generator: %s" -msgstr "gagal mendengarkan di socket: %s" - -# OK -#: util.c:191 -#, fuzzy -msgid "failed to allocate memory" -msgstr "gagal memuat %S: %m" - -# OK -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "tidak bisa mendapatkan memory" - -# OK -#: util.c:239 -#, fuzzy, c-format -msgid "cannot create pipe: %s" -msgstr "tidak bisa membaca %s: %s" - -# OK -#: util.c:247 -#, fuzzy, c-format -msgid "failed to allocate %d bytes" -msgstr "gagal memuat %S: %m" - -# OK -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "tak terbatas" - -# OK -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "Tentukan alamat lokal untuk mendengarkan." - -# OK -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "Menghasilkan ipaddr untuk semua host dalam domain yang dipilih." - -# OK -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Fake pencarian balik untuk alamat private sesuai dengan RFC1918." - -# OK -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Perlakukan ipaddr sebagai NXDOMAIN (mengalahkan wildcard Verisign)." - -# OK -#: option.c:232 -#, 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:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Tentukan file konfigurasi (default %s)." - -# OK -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "JANGAN berjalan di background: berjalan dalam modus debug." - -# OK -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "JANGAN teruskan permintaan tanpa bagian domain." - -# OK -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "Mengembalikan record MX untuk diri sendiri host-host lokal." - -# OK -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "Melengkapi nama-nama di /etc/hosts dengan akhiran domain." - -# OK -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "Jangan meneruskan permintaan DNS spurious dari host-host Windows." - -# OK -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "Bolehkan DHCP dalam jangkauan yang diberikan dengan durasi lease." - -# OK -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "Ubah ke group ini setelah mulai (default %s)." - -# OK -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "Setel alamat atau nama host untuk mesin yang disebutkan." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -# OK -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "JANGAN muat file %s." - -# OK -#: option.c:245 -#, 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:246 -msgid "Specify interface(s) to listen on." -msgstr "Sebutkan antarmuka untuk mendengarkan." - -# OK -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Sebutkan antarmuka untuk TIDAK mendengarkan." - -# OK -#: option.c:248 -#, fuzzy -msgid "Map DHCP user class to tag." -msgstr "Petakan kelas user DHCP ke setelan yang dipilih." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -# OK -#: option.c:252 -#, fuzzy -msgid "Don't do DHCP for hosts with tag set." -msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih." - -# OK -#: option.c:253 -#, fuzzy -msgid "Force broadcast replies for hosts with tag set." -msgstr "Jangan menggunakan DHCP untuk host-host yang dipilih." - -# OK -#: option.c:254 -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:255 -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:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "Sebutkan lokasi untuk menyimpan lease DHCP (default %s)." - -# OK -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "Kembalikan rekord MX untuk host-host lokal." - -# OK -#: option.c:258 -msgid "Specify an MX record." -msgstr "Sebutkan sebuah rekord MX." - -# OK -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Sebutkan pilihan-pilihan BOOTP untuk DHCP server." - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "Jangan kumpulkan file %s, muat kembali saat SIGHUP." - -# OK -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "JANGAN menyimpan hasil pencarian yang gagal." - -# OK -#: option.c:262 -#, 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:263 -#, fuzzy -msgid "Specify options to be sent to DHCP clients." -msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -# OK -#: option.c:265 -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:266 -#, 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:267 -#, fuzzy -msgid "Log DNS queries." -msgstr "Permintaan log." - -# OK -#: option.c:268 -#, fuzzy -msgid "Force the originating port for upstream DNS queries." -msgstr "Paksa port asal untuk permintaan ke atas." - -# OK -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "JANGAN baca resolv.conf." - -# OK -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Sebutkan path ke resolv.conf (default %s)." - -# OK -#: option.c:271 -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:272 -msgid "Never forward queries to specified domains." -msgstr "JANGAN pernah meneruskan permintaan ke domain yang disebutkan." - -# OK -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Sebutkan domain yang digunakan dalam lease DHCP." - -# OK -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Sebutkan tujuan default dalam rekord MX." - -# OK -#: option.c:275 -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:276 -#, fuzzy -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Sebutkan time-to-live dalam detik untuk jawaban dari /etc/hosts." - -# OK -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "Ubah ke user ini setelah mulai. (default %s)." - -# OK -#: option.c:278 -#, fuzzy -msgid "Map DHCP vendor class to tag." -msgstr "Memetakan kelas vendor DHCP ke daftar pilihan." - -# OK -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "Menampilkan versi dan informasi hak cipta dnsmasq." - -# OK -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "Terjemahkan alamat-alamat IPv4 dari server-server di atas." - -# OK -#: option.c:281 -msgid "Specify a SRV record." -msgstr "Sebutkan rekord SRV." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -# OK -#: option.c:283 -#, fuzzy, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Sebutkan path file PID. (default %s)." - -# OK -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)." - -# OK -#: option.c:285 -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:286 -msgid "Specify TXT DNS record." -msgstr "Sebutkan rekord TXT DNS." - -# OK -#: option.c:287 -#, fuzzy -msgid "Specify PTR DNS record." -msgstr "Sebutkan rekord TXT DNS." - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -# OK -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Hanya kaitkan ke antarmuka yang sedang digunakan saja." - -# OK -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "Baca informasi statik host DHCP dari %s." - -# OK -#: option.c:291 -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:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "JANGAN menyediakan DHCP pada antarmuka ini, hanya menyediakan DNS." - -# OK -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "Mungkinkan alokasi alamat dinamis untuk bootp." - -# OK -#: option.c:294 -#, fuzzy -msgid "Map MAC address (with wildcards) to option set." -msgstr "Memetakan kelas vendor DHCP ke daftar pilihan." - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -# OK -#: option.c:299 -#, fuzzy -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Ubah ke user ini setelah mulai. (default %s)." - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -# OK -#: option.c:301 -#, fuzzy, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)." - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -# OK -#: option.c:309 -#, fuzzy, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Sebutkan jumlah maksimum lease DHCP (default %s)." - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -# OK -#: option.c:319 -#, fuzzy -msgid "Specify NAPTR DNS record." -msgstr "Sebutkan rekord TXT DNS." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -# OK -#: option.c:323 -#, fuzzy -msgid "Prompt to send to PXE clients." -msgstr "Setel pilihan-pilihan tambahan yang akan disetel untuk klien-klien DHCP." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -# OK -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"Penggunaan: dnsmasq [pilihan]\n" -"\n" - -# OK -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "Gunakan pilihan pendek saja pada perintah baris.\n" - -# OK -#: option.c:617 -#, fuzzy, c-format -msgid "Valid options are:\n" -msgstr "Pilihan yang boleh adalah:\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -# OK -#: option.c:735 -msgid "bad dhcp-option" -msgstr "dhcp-option salah" - -# OK -#: option.c:792 -#, fuzzy -msgid "bad IP address" -msgstr "membaca %s - %d alamat" - -# OK -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "domain dalam dhcp-option salah" - -# OK -#: option.c:950 -msgid "dhcp-option too long" -msgstr "dhcp-option terlalu panjang" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -# OK -#: option.c:1086 tftp.c:359 -#, fuzzy, c-format -msgid "cannot access %s: %s" -msgstr "tidak bisa membaca %s: %s" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -# OK -#: option.c:1183 -msgid "bad MX preference" -msgstr "kesukaan MX salah" - -# OK -#: option.c:1188 -msgid "bad MX name" -msgstr "nama MX salah" - -# OK -#: option.c:1202 -msgid "bad MX target" -msgstr "target MX salah" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -# OK -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "port salah" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -# OK -#: option.c:1611 -#, fuzzy -msgid "bad port range" -msgstr "port salah" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -# OK -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "dhcp-range salah" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -# OK -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "jangkauan DHCP tidak konsisten" - -# OK -#: option.c:1912 -#, fuzzy -msgid "bad DHCP host name" -msgstr "nama MX salah" - -# OK -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "nomor port tidak benar" - -# OK -#: option.c:2284 -#, fuzzy -msgid "invalid alias range" -msgstr "weight tidak benar" - -# OK -#: option.c:2297 -#, fuzzy -msgid "bad interface name" -msgstr "nama MX salah" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -# OK -#: option.c:2347 -#, fuzzy -msgid "bad PTR record" -msgstr "rekord SRV salah" - -# OK -#: option.c:2378 -#, fuzzy -msgid "bad NAPTR record" -msgstr "rekord SRV salah" - -# OK -#: option.c:2403 -msgid "TXT record string too long" -msgstr "string rekord TXT terlalu panjang" - -# OK -#: option.c:2451 -msgid "bad TXT record" -msgstr "rekord TXT salah" - -# OK -#: option.c:2467 -msgid "bad SRV record" -msgstr "rekord SRV salah" - -# OK -#: option.c:2474 -msgid "bad SRV target" -msgstr "target SRV salah" - -# OK -#: option.c:2488 -msgid "invalid priority" -msgstr "prioritas tidak benar" - -# OK -#: option.c:2495 -msgid "invalid weight" -msgstr "weight tidak benar" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -# OK -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "tidak bisa membaca %s: %s" - -# OK -#: option.c:2626 -msgid "missing \"" -msgstr "kurang \"" - -# OK -#: option.c:2673 -msgid "bad option" -msgstr "pilihan salah" - -# OK -#: option.c:2675 -msgid "extraneous parameter" -msgstr "parameter berlebihan" - -# OK -#: option.c:2677 -msgid "missing parameter" -msgstr "parameter kurang" - -# OK -#: option.c:2685 -msgid "error" -msgstr "kesalahan" - -# OK -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s pada baris %d dari %%s" - -# OK -#: option.c:2740 option.c:2771 -#, fuzzy, c-format -msgid "read %s" -msgstr "membaca %s" - -# OK -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "Dnsmasq versi %s %s\n" - -# OK -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"Pilihan-pilihan saat kompilasi %s\n" -"\n" - -# OK -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Perangkat lunak ini tersedia TANPA JAMINAN SEDIKITPUN.\n" - -# OK -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "Dnsdmasq adalah perangkat lunak bebas, dan Anda dipersilahkan untuk membagikannya\n" - -# OK -#: option.c:2847 -#, fuzzy, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "dengan aturan GNU General Public License, versi 2.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -# OK -#: option.c:2863 -#, fuzzy, c-format -msgid "bad command line options: %s" -msgstr "pilihan baris perintah salah: %s." - -# OK -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "tidak bisa mendapatkan host-name: %s" - -# OK -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "hanya satu file resolv.conf yang diperbolehkan dalam modus no-poll." - -# OK -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "harus mempunyai tepat satu resolv.conf untuk mendapatkan nama domain." - -# OK -#: option.c:2945 network.c:754 dhcp.c:734 -#, fuzzy, c-format -msgid "failed to read %s: %s" -msgstr "gagal membaca %s: %s" - -# OK -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "tidak ditemukan direktif search di %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -# OK -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "nameserver %s menolak melakukan resolusi rekursif" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -# OK -#: network.c:73 -#, fuzzy, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "antarmuka tidak dikenal %s" - -# OK -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "gagal membuat socket: %s " - -# OK -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "gagal menyetel IPV6 pada socket: %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "gagal mem-bind socket untuk mendengarkan %s: %s" - -# OK -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "gagal mendengarkan di socket: %s" - -# OK -#: network.c:467 -#, fuzzy, c-format -msgid "failed to create TFTP socket: %s" -msgstr "gagal membuat socket: %s " - -#: network.c:661 -#, fuzzy, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "gagal mem-bind socket untuk mendengarkan %s: %s" - -# OK -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "mengabaikan nameserver %s - antarmuka lokal" - -# OK -#: network.c:705 -#, fuzzy, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "mengabaikan nameserver %s - tak dapat membuat/mem-bind socket: %s" - -# OK -#: network.c:720 -msgid "unqualified" -msgstr "tidak memenuhi syarat" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -# OK -#: network.c:724 -msgid "domain" -msgstr "domain" - -# OK -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "menggunakan alamat lokal saja untuk %s %s" - -# OK -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "menggunakan nameserver %s#%d untuk %s %s" - -# OK -#: network.c:732 -#, fuzzy, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "menggunakan nameserver %s#%d" - -# OK -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "menggunakan nameserver %s#%d" - -# OK -#: dnsmasq.c:146 -#, fuzzy -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -# OK -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "gagal mendapatkan daftar antarmuka: %s" - -# OK -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "antarmuka tidak dikenal %s" - -# OK -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "tidak ada antarmuka dengan alamat %s" - -# OK -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "DBus error: %s" - -# OK -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "DBus tidak tersedia: setel HAVE_DBUS dalam src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -# OK -#: dnsmasq.c:448 -#, fuzzy, c-format -msgid "started, version %s DNS disabled" -msgstr "dimulai, cache versi %s di disable" - -# OK -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "dimulai, versi %s ukuran cache %d" - -# OK -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "dimulai, cache versi %s di disable" - -# OK -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "pilihan-pilihan saat kompilasi: %s" - -# OK -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "dukungan DBus dimungkinkan: terkoneksi pada bus sistem" - -# OK -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "dukungan DBus dimungkinkan: koneksi bus ditunda" - -# OK -#: dnsmasq.c:467 -#, fuzzy, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "gagal memuat nama-nama dari %s: %s" - -# OK -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "setelan opsi --bind-interfaces disebabkan keterbatasan OS" - -# OK -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "peringatan: antarmuka %s tidak ada" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -# OK -#: dnsmasq.c:484 -#, fuzzy -msgid "warning: no upstream servers configured" -msgstr "menyetel server-server di atas dengan DBus" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -# OK -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "DHCP, lease static pada %.0s%s, waktu lease %s" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -# OK -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP, jangkaun IP %s -- %s, waktu lease %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -# OK -#: dnsmasq.c:519 -#, fuzzy -msgid "enabled" -msgstr "di disable" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -# OK -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "terhubung ke sistem DBus" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -# OK -#: dnsmasq.c:760 -#, fuzzy, c-format -msgid "failed to create helper: %s" -msgstr "gagal membaca %s: %s" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -# OK -#: dnsmasq.c:767 -#, fuzzy, c-format -msgid "failed to change user-id to %s: %s" -msgstr "gagal memuat nama-nama dari %s: %s" - -# OK -#: dnsmasq.c:772 -#, fuzzy, c-format -msgid "failed to change group-id to %s: %s" -msgstr "gagal memuat nama-nama dari %s: %s" - -# OK -#: dnsmasq.c:775 -#, fuzzy, c-format -msgid "failed to open pidfile %s: %s" -msgstr "gagal membaca %s: %s" - -# OK -#: dnsmasq.c:778 -#, fuzzy, c-format -msgid "cannot open %s: %s" -msgstr "tidak bisa membuka %s:%s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -# OK -#: dnsmasq.c:841 -#, fuzzy, c-format -msgid "failed to execute %s: %s" -msgstr "gagal mengakses %s: %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "keluar karena menerima SIGTERM" - -# OK -#: dnsmasq.c:903 -#, fuzzy, c-format -msgid "failed to access %s: %s" -msgstr "gagal mengakses %s: %s" - -# OK -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "membaca %s" - -# OK -#: dnsmasq.c:936 -#, fuzzy, c-format -msgid "no servers found in %s, will retry" -msgstr "tidak ditemukan direktif search di %s" - -# OK -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "tidak bisa membuat socket DHCP: %s" - -# OK -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "gagal menyetel opsi pada socket DHCP: %s" - -# OK -#: dhcp.c:65 -#, fuzzy, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "gagal menyetel SO_REUSEADDR pada socket DHCP: %s" - -# OK -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "gagal mem-bind socket server DHCP: %s" - -# OK -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "tidak dapat membuat socket ICMP raw: %s" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -# OK -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "jangkauan DHCP %s -- %s tidak konsisten dengan netmask %s" - -# OK -#: dhcp.c:772 -#, fuzzy, c-format -msgid "bad line at %s line %d" -msgstr "kesalahan nama pada %s baris %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -# OK -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "alamat IP kembar %s dalam direktif dhcp-config" - -# OK -#: dhcp.c:900 -#, fuzzy, c-format -msgid "duplicate IP address %s in %s." -msgstr "alamat IP kembar %s dalam direktif dhcp-config" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -# OK -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "alamat IP kembar %s (%s) dalam direktif dhcp-config" - -# OK -#: lease.c:66 -#, fuzzy, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "tidak dapat membuka atau membuat file lease: %s" - -# OK -#: lease.c:92 -msgid "too many stored leases" -msgstr "terlalu banyak lease yang disimpan" - -# OK -#: lease.c:128 -#, fuzzy, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "tidak bisa membaca %s: %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -# OK -#: lease.c:234 -#, fuzzy, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "gagal membaca %s: %s" - -# OK -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "tidak ada alamat yang bisa dipakai untuk permintaan DHCP %s %s" - -# OK -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "dengan pemilih subnet" - -# OK -#: rfc2131.c:337 -msgid "via" -msgstr "lewat" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -# OK -#: rfc2131.c:384 -msgid "disabled" -msgstr "di disable" - -# OK -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "diabaikan" - -# OK -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "alamat telah digunakan" - -# OK -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "tak ada alamat yang tersedia" - -# OK -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "jaringan yang salah" - -# OK -#: rfc2131.c:467 -msgid "no address configured" -msgstr "tak ada alamat yang disetel" - -# OK -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "tak ada lease yang tersisa" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -# OK -#: rfc2131.c:853 -#, fuzzy, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "men-disable alamat statik DHCP %s" - -# OK -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "lease tidak diketahui" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -# OK -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "alamat salah" - -# OK -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "lease tak ditemukan" - -# OK -#: rfc2131.c:1071 -msgid "address not available" -msgstr "alamat tak tersedia" - -# OK -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "lease statik tak tersedia" - -# OK -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "alamat telah dipesan" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -# OK -#: rfc2131.c:1605 -#, fuzzy, c-format -msgid "%u server name: %s" -msgstr "DBus error: %s" - -# OK -#: rfc2131.c:1613 -#, fuzzy, c-format -msgid "%u next server: %s" -msgstr "DBus error: %s" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -# OK -#: rfc2131.c:2052 -#, fuzzy, c-format -msgid "%u requested options: %s" -msgstr "pilihan-pilihan saat kompilasi: %s" - -# OK -#: netlink.c:66 -#, fuzzy, c-format -msgid "cannot create netlink socket: %s" -msgstr "tidak bisa mem-bind netlink socket: %s" - -# OK -#: netlink.c:265 -#, fuzzy, c-format -msgid "netlink returns error: %s" -msgstr "DBus error: %s" - -# OK -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "mencoba menyetel sebuah alamat IPv6 server lewat DBus - tidak ada dukungan untuk IPv6" - -# OK -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "menyetel server-server di atas dengan DBus" - -# OK -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "tidak bisa mendaftar sebuah DBus message handler" - -# OK -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "tidak dapat membuat socket DHCP BPF: %s" - -# OK -#: bpf.c:178 -#, fuzzy, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "permintaan DHCP untuk tipe hardware yang tidak didukung (%d) diterima pada %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -# OK -#: tftp.c:305 -#, fuzzy, c-format -msgid "file %s not found" -msgstr "lease tak ditemukan" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -# OK -#: tftp.c:447 -#, fuzzy, c-format -msgid "TFTP failed sending %s to %s" -msgstr "gagal membaca %s: %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -# OK -#: log.c:415 -msgid "FAILED to start up" -msgstr "GAGAL untuk memulai" - -# OK -#~ msgid "must set exactly one interface on broken systems without IP_RECVIF" -#~ msgstr "harus menyetel satu antarmuka saja pada sistem yang tidak benar dengan IP_RECVIF" - -# OK -#, fuzzy -#~ msgid "failed to load %s: %s" -#~ msgstr "gagal memuat %S: %s" - -# OK -#~ msgid "bad name in %s" -#~ msgstr "kesalahan nama di %s" - -# OK -#~ msgid "Ignoring DHCP lease for %s because it has an illegal domain part" -#~ msgstr "Mengabaikan lease DHCP untuk %s sebab terdapat bagian domain yang tidak sah" - -# OK -#~ msgid "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" -#~ msgstr "Integrasi dengan dhcpd ISC tidak tersedia: atur HAVE_ISC_READER dalam src/config.h" - -# OK -#, fuzzy -#~ msgid "illegal domain %s in dhcp-config directive." -#~ msgstr "alamat IP kembar %s dalam direktif dhcp-config" - -# OK -#~ msgid "running as root" -#~ msgstr "berjalan menggunakan root" - -# OK -#, fuzzy -#~ msgid "read %s - %d hosts" -#~ msgstr "membaca %s - %d alamat" - -# OK -#~ msgid "bad dhcp-host" -#~ msgstr "dhcp-host salah" - -# OK -#~ msgid "domains" -#~ msgstr "domain-domain" - -# OK -#~ 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 -#~ msgid "Display this message." -#~ msgstr "Menampilkan pesan ini." - -# OK -#~ msgid "failed to read %s: %m" -#~ msgstr "gagal membaca %s: %m" - -# OK -#~ msgid "failed to read %s:%m" -#~ msgstr "gagal membaca %s:%m" - -# OK -#~ msgid "More than one vendor class matches, using %s" -#~ msgstr "Lebih dari satu kelas vendor yang sesuai, menggunakan %s" - -# OK -#~ msgid "forwarding table overflow: check for server loops." -#~ msgstr "meneruskan tabel overflow: memeriksa apakah terjadi loop server." - -# OK -#~ msgid "nested includes not allowed" -#~ msgstr "includes bersarang tidak diijinkan" - -# OK -#~ msgid "DHCP, %s will be written every %s" -#~ msgstr "DHCP, %s akan ditulis setiap %s" - -# OK -#~ msgid "cannot create DHCP packet socket: %s. Is CONFIG_PACKET enabled in your kernel?" -#~ msgstr "tidak dapat membuat socket packet DHCP: %s. Apakah CONFIG_PACKET dimungkinkan pada kernel?" diff --git a/po/it.po b/po/it.po deleted file mode 100755 index 37a8c4b..0000000 --- a/po/it.po +++ /dev/null @@ -1,1411 +0,0 @@ -# Italian translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.32\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "" - -#: cache.c:902 -msgid "cleared cache" -msgstr "" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -#: cache.c:1130 -#, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "" - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "" - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "" - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "" - -#: option.c:232 -#, c-format -msgid "Specify the size of the cache in entries (defaults to %s)." -msgstr "" - -#: option.c:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "" - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "" - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "" - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "" - -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "" - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "" - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "" - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "" - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "" - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "" - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "" - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "" - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "" - -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "" - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "" - -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "" - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "" - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "" - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "" - -#: option.c:258 -msgid "Specify an MX record." -msgstr "" - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "" - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "" - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "" - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "" - -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "" - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "" - -#: option.c:266 -#, c-format -msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." -msgstr "" - -#: option.c:267 -msgid "Log DNS queries." -msgstr "" - -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "" - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "" - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "" - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "" - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "" - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "" - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "" - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "" - -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "" - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "" - -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "" - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "" - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "" - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "" - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "" - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "" - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "" - -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "" - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "" - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "" - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "" - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "" - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "" - -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "" - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "" - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "" - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "" - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "" - -#: option.c:792 -msgid "bad IP address" -msgstr "" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "" - -#: option.c:1188 -msgid "bad MX name" -msgstr "" - -#: option.c:1202 -msgid "bad MX target" -msgstr "" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -msgid "bad port range" -msgstr "" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "" - -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "" - -#: option.c:2284 -msgid "invalid alias range" -msgstr "" - -#: option.c:2297 -msgid "bad interface name" -msgstr "" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -msgid "bad PTR record" -msgstr "" - -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "" - -#: option.c:2488 -msgid "invalid priority" -msgstr "" - -#: option.c:2495 -msgid "invalid weight" -msgstr "" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "" - -#: option.c:2626 -msgid "missing \"" -msgstr "" - -#: option.c:2673 -msgid "bad option" -msgstr "" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "" - -#: option.c:2677 -msgid "missing parameter" -msgstr "" - -#: option.c:2685 -msgid "error" -msgstr "" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "" - -#: option.c:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "" - -#: network.c:720 -msgid "unqualified" -msgstr "" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "" - -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -msgid "enabled" -msgstr "" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "" - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "" - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "" - -#: rfc2131.c:337 -msgid "via" -msgstr "" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "" diff --git a/po/no.po b/po/no.po deleted file mode 100755 index f70e56b..0000000 --- a/po/no.po +++ /dev/null @@ -1,1508 +0,0 @@ -# Norwegian translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2006. -# -# Current translator: Jan Erik Askildt <jeaskildt@gmail.com>, 2006 -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.25\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-1\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: cache.c:764 -#, fuzzy, c-format -msgid "failed to load names from %s: %s" -msgstr "feilet å laste navn fra %s: %s" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "dårlig adresse ved %s linje %d" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "dårlig navn ved %s linje %d" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "les %s - %d adresser" - -#: cache.c:902 -msgid "cleared cache" -msgstr "mellomlager tømt" - -#: cache.c:933 option.c:1055 -#, fuzzy, c-format -msgid "cannot access directory %s: %s" -msgstr "kan ikke lese %s: %s" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "gir ikke navnet %s til DHCP leien for %s fordi navnet eksisterer i %s med adressen %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -#: cache.c:1130 -#, fuzzy, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "mellomlager størrelse %d, %d/%d mellomlager innsettinger re-bruker mellomlager plasser som ikke er utløpt" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, fuzzy, c-format -msgid "failed to seed the random number generator: %s" -msgstr "feilet å lytte på socket: %s" - -#: util.c:191 -#, fuzzy -msgid "failed to allocate memory" -msgstr "feilet å laste %d bytes" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "kunne ikke få minne" - -#: util.c:239 -#, fuzzy, c-format -msgid "cannot create pipe: %s" -msgstr "kan ikke lese %s: %s" - -#: util.c:247 -#, fuzzy, c-format -msgid "failed to allocate %d bytes" -msgstr "feilet å laste %d bytes" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "uendelig" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "Spesifiser lokal(e) adresse(r) å lytte på." - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "Returner ipaddr for alle verter i det spesifiserte domenet." - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Forfalsk revers oppslag for RFC1918 private adresse områder." - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Behandle ipaddr som NXDOMAIN (omgår Verisign wildcard)." - -#: option.c:232 -#, 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:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Spesifiser konfigurasjonsfil (standard er %s)." - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "IKKE legg (fork) som bakgrunnsprosess: kjør i debug modus." - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "IKKE videresend oppslag som mangler domene del." - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "Returner selv-pekende MX post for lokale verter." - -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "Utvid enkle navn i /etc/hosts med domene-suffiks." - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "Ikke videresend falske/uekte DNS forespørsler fra Windows verter." - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "Aktiver DHCP i det gitte området med leie varighet" - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "Skift til denne gruppen etter oppstart (standard er %s)." - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "Sett adresse eller vertsnavn for en spesifikk maskin." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "IKKE last %s filen." - -#: option.c:245 -#, 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:246 -msgid "Specify interface(s) to listen on." -msgstr "Spesifiser nettverkskort det skal lyttes på." - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Spesifiser nettverkskort det IKKE skal lyttes på." - -#: option.c:248 -#, fuzzy -msgid "Map DHCP user class to tag." -msgstr "Map DHCP bruker klasse til opsjon sett." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -#, fuzzy -msgid "Don't do DHCP for hosts with tag set." -msgstr "Ikke utfør DHCP for klienter i opsjon sett." - -#: option.c:253 -#, fuzzy -msgid "Force broadcast replies for hosts with tag set." -msgstr "Ikke utfør DHCP for klienter i opsjon sett." - -#: option.c:254 -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:255 -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:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "Spesifiser hvor DHCP leiene skal lagres (standard er %s)." - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "Returner MX records for lokale verter." - -#: option.c:258 -msgid "Specify an MX record." -msgstr "Spesifiser en MX post." - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Spesifiser BOOTP opsjoner til DHCP tjener." - -#: option.c:260 -#, 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:261 -msgid "Do NOT cache failed search results." -msgstr "IKKE mellomlagre søkeresultater som feiler." - -#: option.c:262 -#, 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:263 -#, fuzzy -msgid "Specify options to be sent to DHCP clients." -msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "Spesifiser lytteport for DNS oppslag (standard er 53)." - -#: option.c:266 -#, 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:267 -#, fuzzy -msgid "Log DNS queries." -msgstr "Logg oppslag." - -#: option.c:268 -#, fuzzy -msgid "Force the originating port for upstream DNS queries." -msgstr "Tving bruk av opprinnelig port for oppstrøms oppslag." - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "IKKE les resolv.conf." - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Spesifiser stien til resolv.conf (standard er %s)." - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "Spesifiser adressen(e) til oppstrøms tjenere med valgfrie domener." - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "Aldri videresend oppslag til spesifiserte domener." - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Spesifiser domenet som skal tildeles i DHCP leien." - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Spesifiser default mål i en MX post." - -#: option.c:275 -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:276 -#, fuzzy -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Spesifiser time-to-live i sekunder for svar fra /etc/hosts." - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "Skift til denne bruker etter oppstart (standard er %s)." - -#: option.c:278 -#, fuzzy -msgid "Map DHCP vendor class to tag." -msgstr "Map DHCP produsent klasse til opsjon sett." - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "Vis dnsmasq versjon og copyright informasjon." - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "Oversett IPv4 adresser fra oppstrøms tjenere." - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "Spesifiser en SRV post." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, fuzzy, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Spesifiser stien til PID fil. (standard er %s)." - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)" - -#: option.c:285 -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:286 -msgid "Specify TXT DNS record." -msgstr "Spesifiser TXT DNS post." - -#: option.c:287 -#, fuzzy -msgid "Specify PTR DNS record." -msgstr "Spesifiser TXT DNS post." - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Bind kun til nettverkskort som er i bruk." - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "Les DHCP statisk vert informasjon fra %s." - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "Aktiver DBus interface for å sette oppstrøms tjenere, osv." - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "Ikke lever DHCP på dette nettverkskortet, kun lever DNS." - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "Aktiver dynamisk adresse allokering for bootp." - -#: option.c:294 -#, fuzzy -msgid "Map MAC address (with wildcards) to option set." -msgstr "Map DHCP produsent klasse til opsjon sett." - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -#, fuzzy -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Skift til denne bruker etter oppstart (standard er %s)." - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, fuzzy, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, fuzzy, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Spesifiser maksimum antall DHCP leier (standard er %s)" - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -#, fuzzy -msgid "Specify NAPTR DNS record." -msgstr "Spesifiser TXT DNS post." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -#, fuzzy -msgid "Prompt to send to PXE clients." -msgstr "Sett ekstra opsjoner som skal fordeles til DHCP klientene." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"Bruk: dnsmasq [opsjoner]\n" -"\n" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "Bruk korte opsjoner kun på kommandolinjen.\n" - -#: option.c:617 -#, fuzzy, c-format -msgid "Valid options are:\n" -msgstr "Gyldige opsjoner er :\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "dårlig dhcp-opsjon" - -#: option.c:792 -#, fuzzy -msgid "bad IP address" -msgstr "les %s - %d adresser" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "dårlig domene i dhcp-opsjon" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "dhcp-opsjon for lang" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, fuzzy, c-format -msgid "cannot access %s: %s" -msgstr "kan ikke lese %s: %s" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "dårlig MX preferanse" - -#: option.c:1188 -msgid "bad MX name" -msgstr "dårlig MX navn" - -#: option.c:1202 -msgid "bad MX target" -msgstr "dårlig MX mål" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "dårlig port" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -#, fuzzy -msgid "bad port range" -msgstr "dårlig port" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "dårlig dhcp-område" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "ikke konsistent DHCP område" - -#: option.c:1912 -#, fuzzy -msgid "bad DHCP host name" -msgstr "dårlig MX navn" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "ugyldig portnummer" - -#: option.c:2284 -#, fuzzy -msgid "invalid alias range" -msgstr "ugyldig vekt" - -#: option.c:2297 -#, fuzzy -msgid "bad interface name" -msgstr "dårlig MX navn" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -#, fuzzy -msgid "bad PTR record" -msgstr "dårlig SRV post" - -#: option.c:2378 -#, fuzzy -msgid "bad NAPTR record" -msgstr "dårlig SRV post" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "TXT post streng for lang" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "dårlig TXT post" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "dårlig SRV post" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "dårlig SRV mål" - -#: option.c:2488 -msgid "invalid priority" -msgstr "ugyldig prioritet" - -#: option.c:2495 -msgid "invalid weight" -msgstr "ugyldig vekt" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "kan ikke lese %s: %s" - -#: option.c:2626 -msgid "missing \"" -msgstr "mangler \"" - -#: option.c:2673 -msgid "bad option" -msgstr "dårlig opsjon" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "overflødig parameter" - -#: option.c:2677 -msgid "missing parameter" -msgstr "mangler parameter" - -#: option.c:2685 -msgid "error" -msgstr "feil" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s på linje %d av %%s" - -#: option.c:2740 option.c:2771 -#, fuzzy, c-format -msgid "read %s" -msgstr "leser %s" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "Dnsmasq versjon %s %s\n" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"Kompileringsopsjoner %s\n" -"\n" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Denne programvaren kommer med ABSOLUTT INGEN GARANTI.\n" - -#: option.c:2846 -#, 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:2847 -#, fuzzy, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "under vilkårene gitt i GNU General Public License, versjon 2.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, fuzzy, c-format -msgid "bad command line options: %s" -msgstr "dårlige kommandlinje opsjoner: %s." - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "klarer ikke å få vertsnavn: %s" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "kun en resolv.conf fil tillat i no-poll modus." - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "må ha nøyaktig en resolv.conf å lese domene fra." - -#: option.c:2945 network.c:754 dhcp.c:734 -#, fuzzy, c-format -msgid "failed to read %s: %s" -msgstr "feilet å lese %s: %s" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "intet søke direktiv funnet i %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "navnetjener %s nektet å gjøre et rekursivt oppslag" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, fuzzy, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "ukjent tilknytning (interface) %s" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "feilet å lage lytte socket: %s" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "feilet å sette IPv6 opsjoner på lytte socket: %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "feilet å binde lytte socket for %s: %s" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "feilet å lytte på socket: %s" - -#: network.c:467 -#, fuzzy, c-format -msgid "failed to create TFTP socket: %s" -msgstr "feilet å lage lytte socket: %s" - -#: network.c:661 -#, fuzzy, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "feilet å binde lytte socket for %s: %s" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "ignorerer navnetjener %s - lokal tilknytning" - -#: network.c:705 -#, fuzzy, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "ignorerer navnetjener %s - kan ikke lage/dinde socket: %s" - -#: network.c:720 -msgid "unqualified" -msgstr "ikke kvalifisert" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "domene" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "benytter lokale adresser kun for %s %s" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "benytter navnetjener %s#%d for %s %s" - -#: network.c:732 -#, fuzzy, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "benytter navnetjener %s#%d" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "benytter navnetjener %s#%d" - -#: dnsmasq.c:146 -#, fuzzy -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "feilet å finne liste av tilknytninger (interfaces): %s" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "ukjent tilknytning (interface) %s" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "ingen tilknytning (interface) med adresse %s" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "DBus feil: %s" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "DBus ikke tilgjengelig: sett HAVE_DBUS i src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, fuzzy, c-format -msgid "started, version %s DNS disabled" -msgstr "startet, versjon %s mellomlager deaktivert" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "startet, versjon %s mellomlager størrelse %d" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "startet, versjon %s mellomlager deaktivert" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "kompilerings opsjoner: %s" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "DBus støtte aktivert: koblet til system buss" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "DBus støtte aktivert: avventer buss tilkobling" - -#: dnsmasq.c:467 -#, fuzzy, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "feilet å laste navn fra %s: %s" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "setter --bind-interfaces opsjon på grunn av OS begrensninger" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "advarsel: nettverkskort %s eksisterer ikke for tiden" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -#, fuzzy -msgid "warning: no upstream servers configured" -msgstr "setter oppstrøms tjener fra DBus" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, 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:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP, IP område %s -- %s, leie tid %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -#, fuzzy -msgid "enabled" -msgstr "deaktivert" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "tilkoblet til system DBus" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, fuzzy, c-format -msgid "failed to create helper: %s" -msgstr "feilet å lese %s: %s" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -#: dnsmasq.c:767 -#, fuzzy, c-format -msgid "failed to change user-id to %s: %s" -msgstr "feilet å laste navn fra %s: %s" - -#: dnsmasq.c:772 -#, fuzzy, c-format -msgid "failed to change group-id to %s: %s" -msgstr "feilet å laste navn fra %s: %s" - -#: dnsmasq.c:775 -#, fuzzy, c-format -msgid "failed to open pidfile %s: %s" -msgstr "feilet å lese %s: %s" - -#: dnsmasq.c:778 -#, fuzzy, c-format -msgid "cannot open %s: %s" -msgstr "kan ikke åpne %s:%s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, fuzzy, c-format -msgid "failed to execute %s: %s" -msgstr "feilet å få tilgang til %s: %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "avslutter etter mottak av SIGTERM" - -#: dnsmasq.c:903 -#, fuzzy, c-format -msgid "failed to access %s: %s" -msgstr "feilet å få tilgang til %s: %s" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "leser %s" - -#: dnsmasq.c:936 -#, fuzzy, c-format -msgid "no servers found in %s, will retry" -msgstr "intet søke direktiv funnet i %s" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "kan ikke lage DHCP socket: %s" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "feilet å sette opsjoner på DHCP socket: %s" - -#: dhcp.c:65 -#, fuzzy, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "feilet å sette SO_REUSEADDR på DHCP socket: %s" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "feilet å binde DHCP tjener socket: %s" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "kan ikke lage ICMP raw socket: %s" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, 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:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "dårlig linje ved %s linje %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "dubliserte IP adresser i %s dhcp-config direktiv." - -#: dhcp.c:900 -#, fuzzy, c-format -msgid "duplicate IP address %s in %s." -msgstr "dubliserte IP adresser i %s dhcp-config direktiv." - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "dubliserte IP adresser i %s (%s) i dhcp-config direktiv" - -#: lease.c:66 -#, fuzzy, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "kan ikke åpne eller lage leie fil: %s" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "for mange lagrede leier" - -#: lease.c:128 -#, fuzzy, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "kan ikke lese %s: %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, fuzzy, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "feilet å lese %s: %s" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "ingen adresse område tilgjengelig for DHCP krav %s %s" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "med subnet velger" - -#: rfc2131.c:337 -msgid "via" -msgstr "via" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "deaktivert" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "oversett" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "adresse i bruk" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "ingen adresse tilgjengelig" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "galt nettverk" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "ingen adresse konfigurert" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "ingen leier igjen" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, fuzzy, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "deaktiverer DHCP statisk adresse %s" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "ukjent leie" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "gal adresse" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "leie ikke funnet" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "adresse ikke tilgjengelig" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "statisk leie tilgjengelig" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "adresse reservert" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, fuzzy, c-format -msgid "%u server name: %s" -msgstr "DBus feil: %s" - -#: rfc2131.c:1613 -#, fuzzy, c-format -msgid "%u next server: %s" -msgstr "DBus feil: %s" - -#: rfc2131.c:1680 -#, fuzzy, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, fuzzy, c-format -msgid "%u requested options: %s" -msgstr "kompilerings opsjoner: %s" - -#: netlink.c:66 -#, fuzzy, c-format -msgid "cannot create netlink socket: %s" -msgstr "kan ikke binde netlink socket: %s" - -#: netlink.c:265 -#, fuzzy, c-format -msgid "netlink returns error: %s" -msgstr "DBus feil: %s" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "forsøk på å sette en IPv6 tjener adresse via DBus - ingen IPv6 støtte" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "setter oppstrøms tjener fra DBus" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "kunne ikke registrere en DBus meldingshåndterer" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "kan ikke lage DHCP BPF socket: %s" - -#: bpf.c:178 -#, fuzzy, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "DHCP krav for ikke støttet maskinvare type (%d) mottatt på %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, fuzzy, c-format -msgid "file %s not found" -msgstr "leie ikke funnet" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, fuzzy, c-format -msgid "TFTP failed sending %s to %s" -msgstr "feilet å lese %s: %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "FEILET å starte opp" - -#~ 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" - -#, fuzzy -#~ msgid "failed to load %s: %s" -#~ msgstr "feilet å laste %s: %s" - -#~ msgid "bad name in %s" -#~ msgstr "dårlig navn i %s" - -#~ msgid "Ignoring DHCP lease for %s because it has an illegal domain part" -#~ msgstr "Ignorerer DHCP leie for %s siden den har en ulovlig domene del" - -#~ msgid "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" -#~ msgstr "ISC dhcpf integrasjon ikke tilgjengelig: sett HAVE_ISC_READER i src/config.h" - -#, fuzzy -#~ msgid "illegal domain %s in dhcp-config directive." -#~ msgstr "dubliserte IP adresser i %s dhcp-config direktiv." - -#~ msgid "running as root" -#~ msgstr "kjører som rot (root)" - -#, fuzzy -#~ msgid "read %s - %d hosts" -#~ msgstr "les %s - %d adresser" - -#~ msgid "bad dhcp-host" -#~ msgstr "dårlig dhcp-vert" - -#~ msgid "domains" -#~ msgstr "domener" - -#~ 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" - -#~ msgid "Display this message." -#~ msgstr "Vis denne meldingen." - -#~ msgid "failed to read %s: %m" -#~ msgstr "feilet å lese %s: %m" - -#~ msgid "failed to read %s:%m" -#~ msgstr "feilet å lese %s:%m" - -#, fuzzy -#~ msgid "cannot send encapsulated option %d: no space left in wrapper" -#~ msgstr "kan ikke sende DHCP opsjon %d: ikke mer plass i pakken" - -#~ msgid "More than one vendor class matches, using %s" -#~ msgstr "Mer enn en produsent klasse som passer, bruker %s" - -#~ msgid "forwarding table overflow: check for server loops." -#~ msgstr "fremsendelse (forwarding) tabell overflyt: sjekk etter tjener løkker." - -#~ msgid "nested includes not allowed" -#~ msgstr "nøstede inkluderinger er ikke tillatt" - -#~ msgid "DHCP, %s will be written every %s" -#~ msgstr "DHCP, %s vil bli skrevet hver %s" - -#~ msgid "cannot create DHCP packet socket: %s. Is CONFIG_PACKET enabled in your kernel?" -#~ msgstr "kan ikke lage DHCP pakke socket: %s. Er CONFIG_PACKET aktivert i din kjerne?" - -#~ msgid "Cannot use RTnetlink socket, falling back to ioctl API" -#~ msgstr "Kan ikke benytte RTnetlink socket, faller tilbake til ioctl API" diff --git a/po/pl.po b/po/pl.po deleted file mode 100755 index accaa60..0000000 --- a/po/pl.po +++ /dev/null @@ -1,1420 +0,0 @@ -# translation of pl.po to polski -# Polish translations for dnsmasq package. -# This file is put in the public domain. -# -# Tomasz Sochañski <nerdhero@gmail.com>, 2005. -# Jan Psota <jasiu@belsznica.pl>, 2008, 2009. -msgid "" -msgstr "" -"Project-Id-Version: pl\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-10 20:57+0100\n" -"PO-Revision-Date: 2009-10-02 20:30+0200\n" -"Last-Translator: Jan Psota <jasiu@belsznica.pl>\n" -"Language-Team: Polish <kde-i18n-doc@kde.org>\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ISO-8859-2\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Lokalize 1.0\n" -"X-Language: pl_PL\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "nie potrafiê wczytaæ nazw z %s: %s" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "b³êdny adres w pliku %s, w linii %d" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "b³êdna nazwa w pliku %s, w linii %d" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "wczyta³em %s - %d adresów" - -#: cache.c:902 -msgid "cleared cache" -msgstr "wyczyszczono pamiêæ podrêczn±" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "brak dostêpu do katalogu %s: %s" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "nazwa %s nie zosta³a nadana dzier¿awie DHCP %s,poniewa¿ nazwa istnieje w %s i ma ju¿ adres %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "czas %lu" - -#: cache.c:1130 -#, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "wielko¶æ pamiêci podrêcznej: %d; %d z %d miejsc aktualnych wpisów u¿yto ponownie." - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "%u zapytañ przes³anych dalej, %u odpowiedzi udzielonych samodzielnie" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "serwer %s#%d: %u zapytañ wys³anych, %u ponowionych lub nieudanych" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "brak mo¿liwo¶ci u¿ycia generatora liczb losowych: %s" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "nie uda³o siê przydzieliæ pamiêci" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "nie mo¿na dostaæ pamiêci" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "b³±d podczas próby utworzenia potoku: %s" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "niemo¿liwo¶æ przydzielenia %d bajtów pamiêci" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "nieskoñczona" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "Wskazanie adresów, na których nale¿y nas³uchiwaæ." - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "Zwracanie adresu IP dla wszystkich hostów we wskazanych domenach." - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Wy³±czenie przekazywania zapytañ odwrotnych dla prywatnych zakresów IP." - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Traktowanie adresu IP jako NXDOMAIN (uniewa¿nia ,,Verisign wildcard'')." - -#: option.c:232 -#, c-format -msgid "Specify the size of the cache in entries (defaults to %s)." -msgstr "Wskazanie wielko¶ci pamiêci podrêcznej (domy¶lnie: %s miejsc)." - -#: option.c:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Wskazanie pliku konfiguracyjnego (domy¶lnie: %s)." - -#: option.c:234 -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:235 -msgid "Do NOT forward queries with no domain part." -msgstr "Wy³±czenie przekazywania zapytañ bez podanej czê¶ci domenowej." - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "Zwracanie samowskazuj±cego rekordu MX dla lokalnych hostów." - -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "Rozwijanie prostych nazw z /etc/hosts przyrostkiem domenowym." - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "Wy³±czenie przekazywania pozornych zapytañ DNS z komputerów dzia³aj±cych pod Windows." - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "W³±czenie serwera DHCP dla wskazanego zakresu adresów." - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "Po uruchomieniu zmiana grupy procesu na podan± (domy¶lnie: %s)." - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "Ustawienie adresu lub nazwy dla wskazanego komputera." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "Wczytanie z podanego pliku opisu maszyn na potrzeby DHCP." - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "Wczytanie z podanego pliku warto¶ci opcji DHCP." - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "Nie wczytywanie pliku %s." - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "Wskazanie dodatkowego pliku 'hosts' oprócz %s." - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "Interfejsy, na których nas³uchiwaæ." - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Interfejsy, na których NIE nas³uchiwaæ." - -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od klasy u¿ytkownika DHCP." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od numeru obwodu (w rozumieniu RFC3046)." - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od numeru agenta (w rozumieniu RFC3046)." - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od numeru subskrybenta (w rozumieniu RFC3993)." - -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "Wy³±czenie DHCP dla hostów z okre¶lonym znacznikiem." - -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "Wymuszenie odpowiedzi w trybie rozg³oszeniowym dla hostów z okre¶lonym znacznikiem." - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "NIE twórz procesu potomnego w tle i NIE w³±czaj trybu debugowania." - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "Zak³adanie, ¿e jeste¶my jedynym serwerem DHCP w sieci lokalnej." - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "¦cie¿ka przechowywania pliku dzier¿aw DHCP (domy¶lnie: %s)." - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "W³±czenie zwracania rekordu MX dla hostów lokalnych." - -#: option.c:258 -msgid "Specify an MX record." -msgstr "Specyfikacja rekordu MX." - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Okre¶lenie opcji BOOTP serwera DHCP." - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "Wy³±czenie obserwacji pliku %s, ponowne odczytywanie tylko po odebraniu sygna³u SIGHUP." - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "Wy³±czenie przechowywania w pamiêci podrêcznej wyników nieudanych wyszukiwañ." - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "Odpytywanie serwerów nazw w kolejno¶ci ich wyst±pienia w %s." - -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "Specyfikacja opcji wysy³anej do klientów DHCP." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "Opcja DHCP wysy³ana nawet je¿eli klient o ni± nie prosi." - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "Wskazanie portu do nas³uchiwania zapytañ DNS (domy¶lnie: 53)." - -#: option.c:266 -#, 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:267 -msgid "Log DNS queries." -msgstr "W³±czenie spisywania zapytañ DNS do logu." - -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "Wymuszenie u¿ycia wskazanego portu UDP do odpytywania nadrzêdnych serwerów DNS i odbierania od nich odpowiedzi." - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "Wy³±czenie czytania pliku resolv.conf." - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Wskazanie po³o¿enia pliku resolv.conf (domy¶lnie: %s)." - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "Wskazywanie adresów serwerów nazw, opcjonalnie z przypisaniem do domeny." - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "Wy³±czenie przekazywania zapytañ do wskazanych domen." - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Wskazanie domeny dla serwera DHCP." - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Okre¶lenie domy¶lnego celu w rekordzie MX." - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "Okre¶lenie (w sekundach) czasu wa¿no¶ci odpowiedzi udzielonych na podstawie /etc/hosts (domy¶lnie 0)." - -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Okre¶lenie (w sekundach) czasu wa¿no¶ci negatywnych odpowiedzi." - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "Zmiana u¿ytkownika procesu na wskazanego (po uruchomieniu, domy¶lnie: %s)." - -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od typu klienta DHCP." - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "Wydrukowanie informacji o programie i ochronie praw autorskich." - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "T³umaczenie adresów IPv4 z serwerów nadrzêdnych." - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "Okre¶lenie rekordu SRV." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "Wy¶wietla ten komunikat. U¿yj '--help dhcp' chc±c przejrzeæ listê opcji DHCP (dhcp-option=xxx,...)." - -#: option.c:283 -#, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Okre¶lenie ¶cie¿ki do pliku PID (domy¶lnie: %s)." - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "Maksymalna liczba dzier¿aw DHCP (domy¶lnie: %s)." - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "Uzale¿nienie odpowiedzi DNS od interfejsu, na którym odebrano zapytanie (wygodne dla serwerów kilku podsieci z ró¿nymi adresami w /etc/hosts)." - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "Specyfikacja rekordu DNS TXT." - -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "Specyfikacja rekordu DNS PTR." - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "Zwraca nazwê domenow± powi±zan± z adresem interfejsu sieciowego." - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Nas³uchiwanie tylko na wykorzystywanych interfejsach (umo¿liwia uruchomienie osobnych serwerów dla ró¿nych kart)." - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "Wczytanie przyporz±dkowañ adresów z %s." - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "W³±czenie u¿ywania interfejsu DBus do informowania o zmianach konfiguracji." - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "Uruchomienie na wskazanym interfejsie tylko DNS-a, bez us³ug DHCP i TFTP." - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "W³±czenie dynamicznego przydzielania adresów dla klientów BOOTP." - -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "Przyporz±dkowanie znacznika w zale¿no¶ci od adresu MAC (mo¿na u¿ywaæ uogólnieñ: *)." - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "Traktowanie ¿±dañ DHCP odebranych na interfejsach alias, ..., jako odebranych na iface." - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "Pominiêcie sprawdzania za pomoc± ICMP niezajêto¶ci adresu przed jego wydzier¿awieniem." - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "Wskazanie skryptu uruchamianego w przypadku wydzier¿awienia adresu lub wyga¶niêcia dzier¿awy." - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "Wczytanie wszystkich plików ze wskazanego katalogu jako konfiguracyjnych." - -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Wskazanie kana³u syslog-a do którego maj± trafiaæ komunikaty (domy¶lnie: DAEMON)" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "Nieu¿ywanie bazy dzier¿aw." - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "Maksymalna liczba jednocze¶nie obs³ugiwanych zapytañ DNS (domy¶lnie: %s)" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "Czyszczenie pamiêci podrêcznej serwera nazw w przypadku ponownego odczytu %s." - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "Nie zwracanie uwagi na nazwê podawan± przez klienta w przypadku dopasowania wszystkich wymienionych znaczników." - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "Wy³±czenie oszczêdzania miejsca w pakiecie DHCP przez przesuwanie pól servername i filename do opcji DHCP. Wymusza prostszy tryb budowy pakietu rozwi±zuj±c problemy z nieprzystosowanymi klientami DHCP." - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "W³±czenie wbudowanego serwera TFTP (tylko do wysy³ania)." - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "Ograniczenie dzia³ania serwera TFTP do wskazanego katalogu i podkatalogów. Nazwy z .. s± odrzucane, / odnosi siê do wskazanego katalogu." - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "Doklejanie adresu IP klienta do g³ównego katalogu TFTP. Je¿eli wynikowy katalog nie istnieje, nadal wykorzystuje siê tftp-root." - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "Ograniczenie dostêpu do plików przez TFTP do tych, których w³a¶cicielem jest u¿ytkownik uruchamiaj±cy dnsmasq-a." - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Maksymalna liczba jednocze¶nie obs³ugiwanych po³±czeñ TFTP (domy¶lnie %s)." - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "Wy³±czenie mo¿liwo¶ci negocjowania wielko¶ci bloku dla przesy³ów przez TFTP." - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "Wskazanie zakresu portów do u¿ytku TFTP." - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "W³±czenie spisywania w logu operacji DHCP." - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "W³±czenie asynchronicznego zapisywania do logu z ewentualnym wskazaniem d³ugo¶ci kolejki." - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "Odfiltrowywanie adresów wskazuj±cych na komputery w sieciach wewnêtrznych spo¶ród odpowiedzi od zewnêtrznych serwerów DNS." - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "Jednoczesne odpytywanie wszystkich serwerów nadrzêdnych; klientowi przekazywana jest pierwsza odpowied¼." - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "Ustawienie znacznika je¿eli w ¿±daniu DHCP pojawi siê wskazana opcja, ewentualnie o konkretnej warto¶ci." - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "U¿ycie alternatywnych portów dla us³ugi DHCP." - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "Uruchamianie skryptu dhcp-script jako wskazany u¿ytkownik." - -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "Specyfikacja rekordu DNS NAPTR." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "Ustawienie dolnej granicy numerów portów do przesy³ania zapytañ DNS." - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "Przechowywanie w serwerze DNS dnsmasq-a tylko w pe³ni kwalifikowanych nazw zg³aszanych przez klientów DHCP." - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "Wskazanie synonimu nazwy komputera lokalnego - znanego z /etc/hosts albo z DHCP." - -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "Zg³oszenie wysy³ane klientom PXE." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "Sk³adnik menu PXE (--> man)." - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "Sprawd¼ sk³adniê." - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"U¿ycie: dnsmasq [opcje]\n" -"\n" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "W tym systemie w linii poleceñ mo¿na u¿ywaæ wy³±cznie jednoliterowych opcji.\n" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "Dostêpne opcje:\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "Znane opcje DHCP:\n" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "b³±d w dhcp-option" - -#: option.c:792 -msgid "bad IP address" -msgstr "z³y adres IP" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "nieprawid³owa nazwa domeny w dhcp-option" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "zbyt d³uga dhcp-option (>255 znaków)" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "niedopuszczalne dhcp-match" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "wielokrotne u¿ycie opcji niedozwolone (pojawi³a siê wcze¶niej w linii poleceñ)" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "wielokrotne u¿ycie opcji niedozwolone (pojawi³a siê wsze¶niej w pliku konfiguracyjnym)" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "brak dostêpu do %s: %s" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "mo¿na wskazaæ tylko jeden plik dhcp-hostsfile" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "mo¿na wskazaæ tylko jeden plik dhcp-optsfile" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "nieprawid³owa warto¶æ preferencji MX" - -#: option.c:1188 -msgid "bad MX name" -msgstr "nieprawid³owa nazwa MX" - -#: option.c:1202 -msgid "bad MX target" -msgstr "nieprawid³owa warto¶æ celu MX" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "w uClinuksie nie ma mo¿liwo¶ci uruchamiania skryptów" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "¿eby mieæ mo¿liwo¶æ u¿ywania skryptów wywo³ywanych przy zmianie dzier¿awy, przekompiluj dnsmasq-a z w³±czon± flag± HAVE_SCRIPT" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "nieprawid³owy numer portu" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "nie ma mo¿liwo¶ci dowi±zywania do interfejsu" - -#: option.c:1611 -msgid "bad port range" -msgstr "nieprawid³owy zakres numerów portów" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "nieprawid³owa nazwa urz±dzenia w bridge-interface" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "nieprawid³owy zakres dhcp-range" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "mo¿na wskazaæ tylko jeden znacznik sieci" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "niespójny zakres adresów DHCP" - -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "niedopuszczalna nazwa komputera w dhcp-host" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "nieprawid³owy numer portu" - -#: option.c:2284 -msgid "invalid alias range" -msgstr "nieprawid³owy zakres adresów w --alias" - -#: option.c:2297 -msgid "bad interface name" -msgstr "nieprawid³owa nazwa interfejsu" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "z³a CNAME" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "powtórzona CNAME" - -#: option.c:2347 -msgid "bad PTR record" -msgstr "nieprawid³owy zapis rekordu PTR" - -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "nieprawid³owy zapis rekordu NAPTR" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "zbyt d³ugi rekord TXT" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "nieprawid³owy zapis rekordu TXT" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "nieprawid³owy zapis rekordu SRV" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "nieprawid³owa warto¶æ celu SRV" - -#: option.c:2488 -msgid "invalid priority" -msgstr "nieprawid³owy priorytet" - -#: option.c:2495 -msgid "invalid weight" -msgstr "nieprawid³owa waga" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "nieobs³ugiwana opcja (sprawd¼, czy obs³uga DHCP/TFTP/DBus zosta³a wkompilowana)" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "zbyt du¿e zag³êbienie plików w %s" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "b³±d odczytu z pliku %s: %s" - -#: option.c:2626 -msgid "missing \"" -msgstr "brakuje \"" - -#: option.c:2673 -msgid "bad option" -msgstr "nieprawid³owa opcja" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "nadwy¿kowy parametr" - -#: option.c:2677 -msgid "missing parameter" -msgstr "brak parametru" - -#: option.c:2685 -msgid "error" -msgstr "b³±d" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s w linii %d pliku %%s" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "przeczyta³em %s" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "Dnsmasq, wersja %s %s\n" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"Wkompilowane opcje %s\n" -"\n" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Autor nie daje ¯ADNYCH GWARANCJI egzekwowalnych prawnie.\n" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "Dnsmasq jest wolnym oprogramowaniem, mo¿esz go rozprowadzaæ\n" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "na warunkach okre¶lonych w GNU General Public Licence, w wersji 2 lub 3.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "spróbuj: --help" - -#: option.c:2860 -msgid "try -w" -msgstr "spróbuj: -w" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "nieprawid³owa opcja w linii poleceñ %s" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "nie mo¿na pobraæ nazwy hosta: %s" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "w trybie no-poll mo¿na wskazaæ najwy¿ej jeden plik resolv.conf." - -#: option.c:2942 -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:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "nie uda³o siê odczytaæ %s: %s" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "brak wytycznych wyszukiwania w %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "w przypadku u¿ywania --dhcp-fqdn trzeba wskazaæ domy¶ln± domenê" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "sk³adnia sprawdzona, jest prawid³owa" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "serwer nazw %s odmawia wykonania zapytania rekurencyjnego" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "prawdopodobnie wykryto atak DNS-rebind" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "nieznany interfejs %s w bridge-u" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "b³±d podczas tworzenia gniazda: %s" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "b³±d ustawiania opcji IPV6 na nas³uchuj±cym gnie¼dzie: %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "b³±d przy przyznawaniu nazwy gniazdu %s: %s" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "b³±d przy w³±czaniu nas³uchu na gnie¼dzie: %s" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "nie powiod³o siê otwieranie gniazda dla us³ugi TFTP: %s" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "b³±d przy przyznawaniu nazwy gniazdu serwera %s: %s" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "ignorowanie serwera nazw %s - interfejs lokalny" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "ignorowanie serwera nazw %s - nie mo¿na utworzyæ/dowi±zaæ gniazda: %s" - -#: network.c:720 -msgid "unqualified" -msgstr "niekwalifikowane(-a)" - -#: network.c:720 -msgid "names" -msgstr "nazwy" - -#: network.c:722 -msgid "default" -msgstr "domy¶lne" - -#: network.c:724 -msgid "domain" -msgstr "domeny" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "u¿ywam adresów lokalnych tylko dla %s %s" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "u¿ywam serwera nazw %s#%d dla %s %s" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "u¿ywam serwera nazw %s#%d (przez %s)" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "u¿ywam serwera nazw %s#%d" - -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "Serwer TFTP nie zosta³ wkompilowany -- ustaw HAVE_TFTP w src/config.h" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "zapis do logów w trybie asynchronicznym nie jest dostêpny w Solarisie" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "b³±d podczas tworzenia listy interfejsów sieciowych: %s" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "nieznany interfejs %s" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "brak interfejsu z adresem %s" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "b³±d DBus: %s" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "Obs³uga DBus nie zosta³a wkompilowana -- ustaw HAVE_DBUS w src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "nieznany u¿ytkownik lub grupa: %s" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "nie potrafiê wej¶æ do g³ównego katalogu: %s" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "uruchomiony, wersja %s, DNS wy³±czony" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "uruchomiony, wersja %s, %d miejsc w pamiêci podrêcznej" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "uruchomiony, wersja %s, pamiêæ podrêczna wy³±czona" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "opcje kompilacji: %s" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "obs³uga DBus w³±czona, pod³±czono do serwera DBus" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "obs³uga DBus w³±czona, trwa pod³±czanie do serwera DBus" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "UWAGA! Nie uda³o siê zmieniæ u¿ytkownika pliku %s: %s" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "ustawiam --bind-interfaces z powodu ograniczeñ systemu operacyjnego" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "uwaga: interfejs %s nie jest w³±czony" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "uwaga: ignorujê opcjê resolv-file, poniewa¿ wybrano tryb no-resolv" - -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "uwaga: nie wskazano nadrzêdnych serwerów DNS" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "w³±czono asynchroniczny tryb zapisu do logów z kolejk± na %d komunikatów" - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "DHCP: tylko statyczne dzier¿awy na %.0s%s, czas dzier¿awy %s" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "DHCP: po¶rednik na podsieci %.0s%s%.0s" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP: zakres IP %s -- %s, czas dzier¿awy %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "z g³ównym katalogiem w " - -#: dnsmasq.c:519 -msgid "enabled" -msgstr "w³±czony" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "w trybie bezpiecznym" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "ograniczam ilo¶æ jednoczesnych przes³añ TFTP do %d" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "pod³±czono do DBus-a" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "nie potrafiê prze³±czyæ siê do pracy w tle: %s" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "nie uda³o siê utworzyæ procesu pomocniczego: %s" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "nie powiod³o siê ustawianie ograniczeñ (capabilities): %s" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "nie uda³o siê zmieniæ u¿ytkownika procesu na %s: %s" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "nie uda³o siê zmieniæ grupy procesu na %s: %s" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "nie uda³o siê otworzyæ pliku z PID-em %s: %s" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "nie mo¿na otworzyæ %s: %s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "proces potomny zabity sygna³em %d" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "proces potomny zakoñczy³ siê z kodem powrotu %d" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "nie uda³o siê uruchomiæ %s: %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "zakoñczy³em dzia³anie z powodu odebrania SIGTERM" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "brak dostêpu do %s: %s" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "czytanie %s" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "w %s nie znalaz³em serwerów, spróbujê ponownie pó¼niej" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "nie uda³o siê utworzyæ gniazda dla DHCP: %s" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "b³±d podczas ustawiania opcji gniazda DHCP: %s" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "nie uda³o siê ustawiæ SO_REUSE{ADDR|PORT} gniazda DHCP: %s" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "b³±d przy przyznawaniu nazwy gniazdu serwera DHCP: %s" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "nie uda³o siê utworzyæ surowego gniazda ICMP: %s." - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "¿±danie DHCP odebrano na interfejsie %s, który nie ma adresu" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "zakres adresów DHCP %s -- %s jest niespójny z mask± sieci %s" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "z³a zawarto¶æ pliku %s, w linii %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "w %s pomijam liniê %d -- powtórzona nazwa lub adres IP" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "powtórzony adres IP (%s) w parametrze dhcp-config" - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "powtórzony adres IP (%s) w pliku %s" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "do komputera o nazwie %s pasuje wiêcej ni¿ jeden adres, w odpowiedzi DHCP wysy³am %s" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "powtórzenie adresu IP %s (%s) w opcji dhcp-config" - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "nie potrafiê otworzyæ albo utworzyæ pliku dzier¿aw %s: %s" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "zbyt du¿a ilo¶æ zapisanych dzier¿aw" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "nie potrafiê uruchomiæ skryptu %s: %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "skrypt zakoñczy³ siê z kodem powrotu %s" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "b³±d zapisu do %s: %s (spróbujê ponownie za %us)" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "nie zdefiniowano zakresu adresów odpowiedniego dla ¿±dania %s %s" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "z wyborem podsieci" - -#: rfc2131.c:337 -msgid "via" -msgstr "przez" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "%u Dostêpna podsieæ DHCP: %s/%s" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "%u zakres adresów na u¿ytek DHCP: %s -- %s" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "wy³±czony(a)" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "ignorujê" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "adres jest w u¿yciu" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "brak dostêpnego adresu" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "nieprawid³owa sieæ" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "brak skonfigurowanego adresu" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "brak wolnych dzier¿aw" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "klient %u przedstawia siê jako %s" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "%u klasa klienta: %s" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "%u Klasa u¿ytkownika: %s" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "PXE BIS nie jest obs³ugiwane" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "wy³±czam statyczne przypisanie adresu %s dla %s" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "nieznana dzier¿awa" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo jest on ju¿ wydzier¿awiony komputerowi %s" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo u¿ywa go który¶ z serwerów" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "nie proponujê zak³adanego w konfiguracji adresu %s, bo ju¿ poprzednio zosta³ odrzucony" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "brak unikalnego id" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "nieprawid³owy identyfikator serwera (server-ID)" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "b³êdny adres" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "dzier¿awa nieznaleziona" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "adres niedostêpny" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "dostêpna statyczna dzier¿awa" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "adres zarezerwowany" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "porzucam przypisanie do %s nazwy %s" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "%u cechy: %s" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "%u nazwa pliku bootowania: %s" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "%u nazwa serwera: %s" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "%u nastêpny serwer: %s" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "nie mam mo¿liwo¶ci wys³ania opcji %d DHCP/BOOTP: niedostateczna ilo¶æ miejsca w pakiecie" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "menu PXE zbyt du¿e" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "Nie uwzglêdniam czê¶ci domenowej (%s) dla komputera %s" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "%u wskazane opcje: %s" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "nie potrafiê utworzyæ po³±czenia netlink %s" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "wyst±pi³ b³±d w po³±czeniu netlink %s" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "próba ustawienia adresu IPv6 serwera przez DBus, ale brak obs³ugi IPv6" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "ustawiam adresy serwerów nadrzêdnych na podstawie informacji odebranych z DBus" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "nie mo¿na zarejestrowaæ uchwytu DBus" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "nie potrafiê utworzyæ gniazda DHCP BPF: %s" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "¿±danie DHCP od urz±dzenia nieobs³ugiwanego typu (%d) odebrano na %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "brak wolnego portu dla us³ugi TFTP" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "nieobs³ugiwane ¿±danie od komputera %s" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "plik %s przes³ano za pomoc± TFTP do %s" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "plik %s nie zosta³ znaleziony" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "b³±d TFTP: %d bajtów odebrano (%s) z %s" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "b³±d wysy³ania przez TFTP pliku %s do komputera %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "przepe³nienie: stracono %d wpisów do logów" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "nie uda³o siê zapisaæ komunikatów do %s" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "B£¡D: nie uda³o siê uruchomiæ dnsmasq-a" - diff --git a/po/pt_BR.po b/po/pt_BR.po deleted file mode 100755 index 89b8133..0000000 --- a/po/pt_BR.po +++ /dev/null @@ -1,1411 +0,0 @@ -# Portuguese translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2006. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.26\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=ASCII\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: cache.c:764 -#, c-format -msgid "failed to load names from %s: %s" -msgstr "" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "" - -#: cache.c:902 -msgid "cleared cache" -msgstr "" - -#: cache.c:933 option.c:1055 -#, c-format -msgid "cannot access directory %s: %s" -msgstr "" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -#: cache.c:1130 -#, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "" - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, c-format -msgid "failed to seed the random number generator: %s" -msgstr "" - -#: util.c:191 -msgid "failed to allocate memory" -msgstr "" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "" - -#: util.c:239 -#, c-format -msgid "cannot create pipe: %s" -msgstr "" - -#: util.c:247 -#, c-format -msgid "failed to allocate %d bytes" -msgstr "" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "" - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "" - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "" - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "" - -#: option.c:232 -#, c-format -msgid "Specify the size of the cache in entries (defaults to %s)." -msgstr "" - -#: option.c:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "" - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "" - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "" - -#: option.c:236 -msgid "Return self-pointing MX records for local hosts." -msgstr "" - -#: option.c:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "" - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "" - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "" - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "" - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "" - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "" - -#: option.c:245 -#, c-format -msgid "Specify a hosts file to be read in addition to %s." -msgstr "" - -#: option.c:246 -msgid "Specify interface(s) to listen on." -msgstr "" - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "" - -#: option.c:248 -msgid "Map DHCP user class to tag." -msgstr "" - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -msgid "Don't do DHCP for hosts with tag set." -msgstr "" - -#: option.c:253 -msgid "Force broadcast replies for hosts with tag set." -msgstr "" - -#: option.c:254 -msgid "Do NOT fork into the background, do NOT run in debug mode." -msgstr "" - -#: option.c:255 -msgid "Assume we are the only DHCP server on the local network." -msgstr "" - -#: option.c:256 -#, c-format -msgid "Specify where to store DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:257 -msgid "Return MX records for local hosts." -msgstr "" - -#: option.c:258 -msgid "Specify an MX record." -msgstr "" - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "" - -#: option.c:260 -#, c-format -msgid "Do NOT poll %s file, reload only on SIGHUP." -msgstr "" - -#: option.c:261 -msgid "Do NOT cache failed search results." -msgstr "" - -#: option.c:262 -#, c-format -msgid "Use nameservers strictly in the order given in %s." -msgstr "" - -#: option.c:263 -msgid "Specify options to be sent to DHCP clients." -msgstr "" - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -msgid "Specify port to listen for DNS requests on (defaults to 53)." -msgstr "" - -#: option.c:266 -#, c-format -msgid "Maximum supported UDP packet size for EDNS.0 (defaults to %s)." -msgstr "" - -#: option.c:267 -msgid "Log DNS queries." -msgstr "" - -#: option.c:268 -msgid "Force the originating port for upstream DNS queries." -msgstr "" - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "" - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "" - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "" - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "" - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "" - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "" - -#: option.c:275 -msgid "Specify time-to-live in seconds for replies from /etc/hosts." -msgstr "" - -#: option.c:276 -msgid "Specify time-to-live in seconds for negative caching." -msgstr "" - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "" - -#: option.c:278 -msgid "Map DHCP vendor class to tag." -msgstr "" - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "" - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "" - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "" - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "" - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "" - -#: option.c:285 -msgid "Answer DNS queries based on the interface a query was sent to." -msgstr "" - -#: option.c:286 -msgid "Specify TXT DNS record." -msgstr "" - -#: option.c:287 -msgid "Specify PTR DNS record." -msgstr "" - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "" - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "" - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "" - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "" - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "" - -#: option.c:294 -msgid "Map MAC address (with wildcards) to option set." -msgstr "" - -#: option.c:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "" - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, c-format -msgid "Maximum number of concurrent DNS queries. (defaults to %s)" -msgstr "" - -#: option.c:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "" - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -msgid "Specify NAPTR DNS record." -msgstr "" - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -msgid "Prompt to send to PXE clients." -msgstr "" - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "" - -#: option.c:617 -#, c-format -msgid "Valid options are:\n" -msgstr "" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "" - -#: option.c:792 -msgid "bad IP address" -msgstr "" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, c-format -msgid "cannot access %s: %s" -msgstr "" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "" - -#: option.c:1188 -msgid "bad MX name" -msgstr "" - -#: option.c:1202 -msgid "bad MX target" -msgstr "" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -msgid "bad port range" -msgstr "" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "" - -#: option.c:1912 -msgid "bad DHCP host name" -msgstr "" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "" - -#: option.c:2284 -msgid "invalid alias range" -msgstr "" - -#: option.c:2297 -msgid "bad interface name" -msgstr "" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -msgid "bad PTR record" -msgstr "" - -#: option.c:2378 -msgid "bad NAPTR record" -msgstr "" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "" - -#: option.c:2488 -msgid "invalid priority" -msgstr "" - -#: option.c:2495 -msgid "invalid weight" -msgstr "" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "" - -#: option.c:2626 -msgid "missing \"" -msgstr "" - -#: option.c:2673 -msgid "bad option" -msgstr "" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "" - -#: option.c:2677 -msgid "missing parameter" -msgstr "" - -#: option.c:2685 -msgid "error" -msgstr "" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "" - -#: option.c:2740 option.c:2771 -#, c-format -msgid "read %s" -msgstr "" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "" - -#: option.c:2847 -#, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, c-format -msgid "bad command line options: %s" -msgstr "" - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "" - -#: option.c:2945 network.c:754 dhcp.c:734 -#, c-format -msgid "failed to read %s: %s" -msgstr "" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "" - -#: network.c:467 -#, c-format -msgid "failed to create TFTP socket: %s" -msgstr "" - -#: network.c:661 -#, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "" - -#: network.c:705 -#, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "" - -#: network.c:720 -msgid "unqualified" -msgstr "" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "" - -#: network.c:732 -#, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "" - -#: dnsmasq.c:146 -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, c-format -msgid "started, version %s DNS disabled" -msgstr "" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "" - -#: dnsmasq.c:467 -#, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -msgid "warning: no upstream servers configured" -msgstr "" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, c-format -msgid "DHCP, static leases only on %.0s%s, lease time %s" -msgstr "" - -#: dnsmasq.c:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -msgid "enabled" -msgstr "" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, c-format -msgid "failed to create helper: %s" -msgstr "" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -#: dnsmasq.c:767 -#, c-format -msgid "failed to change user-id to %s: %s" -msgstr "" - -#: dnsmasq.c:772 -#, c-format -msgid "failed to change group-id to %s: %s" -msgstr "" - -#: dnsmasq.c:775 -#, c-format -msgid "failed to open pidfile %s: %s" -msgstr "" - -#: dnsmasq.c:778 -#, c-format -msgid "cannot open %s: %s" -msgstr "" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, c-format -msgid "failed to execute %s: %s" -msgstr "" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "" - -#: dnsmasq.c:903 -#, c-format -msgid "failed to access %s: %s" -msgstr "" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "" - -#: dnsmasq.c:936 -#, c-format -msgid "no servers found in %s, will retry" -msgstr "" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "" - -#: dhcp.c:65 -#, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "" - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "" - -#: dhcp.c:900 -#, c-format -msgid "duplicate IP address %s in %s." -msgstr "" - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "" - -#: lease.c:66 -#, c-format -msgid "cannot open or create lease file %s: %s" -msgstr "" - -#: lease.c:92 -msgid "too many stored leases" -msgstr "" - -#: lease.c:128 -#, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "" - -#: rfc2131.c:337 -msgid "via" -msgstr "" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, c-format -msgid "%u server name: %s" -msgstr "" - -#: rfc2131.c:1613 -#, c-format -msgid "%u next server: %s" -msgstr "" - -#: rfc2131.c:1680 -#, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, c-format -msgid "%u requested options: %s" -msgstr "" - -#: netlink.c:66 -#, c-format -msgid "cannot create netlink socket: %s" -msgstr "" - -#: netlink.c:265 -#, c-format -msgid "netlink returns error: %s" -msgstr "" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "" - -#: bpf.c:178 -#, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, c-format -msgid "file %s not found" -msgstr "" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, c-format -msgid "TFTP failed sending %s to %s" -msgstr "" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "" diff --git a/po/ro.po b/po/ro.po deleted file mode 100755 index f6c2492..0000000 --- a/po/ro.po +++ /dev/null @@ -1,1503 +0,0 @@ -# Romanian translations for dnsmasq package. -# This file is put in the public domain. -# Simon Kelley <simon@thekelleys.org.uk>, 2005. -# -msgid "" -msgstr "" -"Project-Id-Version: dnsmasq 2.24\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-18 12:24+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" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -# for compatibility purposes the letters â, ă, ÅŸ, Å£ and î can be written as their look-alike correspondent. -#: cache.c:764 -#, fuzzy, c-format -msgid "failed to load names from %s: %s" -msgstr "încărcarea numelor din %s: %s a eÅŸuat" - -#: cache.c:798 dhcp.c:785 -#, c-format -msgid "bad address at %s line %d" -msgstr "adresă greÅŸită în %s, linia %d" - -#: cache.c:856 dhcp.c:801 -#, c-format -msgid "bad name at %s line %d" -msgstr "nume greÅŸit în %s linia %d" - -#: cache.c:863 dhcp.c:875 -#, c-format -msgid "read %s - %d addresses" -msgstr "citesc %s - %d adrese" - -#: cache.c:902 -msgid "cleared cache" -msgstr "memoria temporară a fost ÅŸtearsă" - -#: cache.c:933 option.c:1055 -#, fuzzy, c-format -msgid "cannot access directory %s: %s" -msgstr "nu pot citi %s: %s" - -#: cache.c:1052 -#, c-format -msgid "not giving name %s to the DHCP lease of %s because the name exists in %s with address %s" -msgstr "nu pot da numele %s împrumutului de adresă DHCP a lui %s deoarece numeleexistă în %s cu adresa %s" - -#: cache.c:1129 -#, c-format -msgid "time %lu" -msgstr "" - -#: cache.c:1130 -#, fuzzy, c-format -msgid "cache size %d, %d/%d cache insertions re-used unexpired cache entries." -msgstr "cantitate de memorie temporară %d, %d/%d stocări temporare aureutilizat locaÅ£ii neexpirate." - -#: cache.c:1132 -#, c-format -msgid "queries forwarded %u, queries answered locally %u" -msgstr "" - -#: cache.c:1155 -#, c-format -msgid "server %s#%d: queries sent %u, retried or failed %u" -msgstr "" - -#: util.c:59 -#, fuzzy, c-format -msgid "failed to seed the random number generator: %s" -msgstr "ascultarea pe socket a eÅŸuat: %s" - -#: util.c:191 -#, fuzzy -msgid "failed to allocate memory" -msgstr "nu pot încărca %d bytes" - -#: util.c:229 option.c:548 -msgid "could not get memory" -msgstr "nu am putut aloca memorie" - -#: util.c:239 -#, fuzzy, c-format -msgid "cannot create pipe: %s" -msgstr "nu pot citi %s: %s" - -#: util.c:247 -#, fuzzy, c-format -msgid "failed to allocate %d bytes" -msgstr "nu pot încărca %d bytes" - -#: util.c:352 -#, c-format -msgid "infinite" -msgstr "infinit" - -#: option.c:228 -msgid "Specify local address(es) to listen on." -msgstr "SpecificaÅ£i adresele locale deservite." - -#: option.c:229 -msgid "Return ipaddr for all hosts in specified domains." -msgstr "AfiÅŸează adresele IP ale maÅŸinilor în domeniul dat." - -#: option.c:230 -msgid "Fake reverse lookups for RFC1918 private address ranges." -msgstr "Simulează căutări după adresă pentru domenii de adresă private (RFC1918)." - -#: option.c:231 -msgid "Treat ipaddr as NXDOMAIN (defeats Verisign wildcard)." -msgstr "Interpretează adresa IP ca NXDOMAIN (împotriva manipulărilor Verisign)" - -#: option.c:232 -#, 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:233 -#, c-format -msgid "Specify configuration file (defaults to %s)." -msgstr "Specifică fiÅŸier de configurare (implicit e %s)." - -#: option.c:234 -msgid "Do NOT fork into the background: run in debug mode." -msgstr "NU porneÅŸte în fundal: rulează în modul depanare." - -#: option.c:235 -msgid "Do NOT forward queries with no domain part." -msgstr "NU înainta cererile ce nu conÅ£in domeniu DNS." - -#: option.c:236 -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:237 -msgid "Expand simple names in /etc/hosts with domain-suffix." -msgstr "Adaugă numelor simple din /etc/hosts numele domeniului ca sufix." - -#: option.c:238 -msgid "Don't forward spurious DNS requests from Windows hosts." -msgstr "Nu inainta cereri DNS defecte provenite de la maÅŸini Windows." - -#: option.c:239 -msgid "Enable DHCP in the range given with lease duration." -msgstr "Activează DHCP în domeniul dat cu durată limitată de împrumut." - -#: option.c:240 -#, c-format -msgid "Change to this group after startup (defaults to %s)." -msgstr "Rulează sub acest grup după pornire (implicit e %s)." - -#: option.c:241 -msgid "Set address or hostname for a specified machine." -msgstr "Schimbă adresa sau numele maÅŸinii specificate." - -#: option.c:242 -msgid "Read DHCP host specs from file" -msgstr "" - -#: option.c:243 -msgid "Read DHCP option specs from file" -msgstr "" - -#: option.c:244 -#, c-format -msgid "Do NOT load %s file." -msgstr "Nu încarcă fiÅŸierul %s." - -#: option.c:245 -#, 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:246 -msgid "Specify interface(s) to listen on." -msgstr "Specifică interfeÅ£ele deservite." - -#: option.c:247 -msgid "Specify interface(s) NOT to listen on." -msgstr "Specifică interfeÅ£ele NE-deservite." - -#: option.c:248 -#, fuzzy -msgid "Map DHCP user class to tag." -msgstr "Leagă clasa de utilizator DHCP cu grup de opÅ£iuni." - -#: option.c:249 -msgid "Map RFC3046 circuit-id to tag." -msgstr "" - -#: option.c:250 -msgid "Map RFC3046 remote-id to tag." -msgstr "" - -#: option.c:251 -msgid "Map RFC3993 subscriber-id to tag." -msgstr "" - -#: option.c:252 -#, fuzzy -msgid "Don't do DHCP for hosts with tag set." -msgstr "Nu furniza DHCP maÅŸinilor din grupul de opÅ£iuni." - -#: option.c:253 -#, fuzzy -msgid "Force broadcast replies for hosts with tag set." -msgstr "Nu furniza DHCP maÅŸinilor din grupul de opÅ£iuni." - -#: option.c:254 -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:255 -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:256 -#, 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:257 -msgid "Return MX records for local hosts." -msgstr "Răspunde cu întregistrări MX pentru maÅŸini locale." - -#: option.c:258 -msgid "Specify an MX record." -msgstr "Specifică o înregistrare MX." - -#: option.c:259 -msgid "Specify BOOTP options to DHCP server." -msgstr "Specifică opÅ£iuni BOOTP serverului DHCP." - -#: option.c:260 -#, 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:261 -msgid "Do NOT cache failed search results." -msgstr "NU memora rezultatele de căutare DNS eÅŸuatată." - -#: option.c:262 -#, 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:263 -#, fuzzy -msgid "Specify options to be sent to DHCP clients." -msgstr "Configurează opÅ£iuni în plusce trebuie trimise clienÅ£ilor DHCP." - -#: option.c:264 -msgid "DHCP option sent even if the client does not request it." -msgstr "" - -#: option.c:265 -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:266 -#, 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:267 -#, fuzzy -msgid "Log DNS queries." -msgstr "ÃŽnregistrează tranzacÅ£iile." - -#: option.c:268 -#, fuzzy -msgid "Force the originating port for upstream DNS queries." -msgstr "ForÅ£ează acest port pentru datele ce pleacă." - -#: option.c:269 -msgid "Do NOT read resolv.conf." -msgstr "NU citi fiÅŸierul resolv.conf" - -#: option.c:270 -#, c-format -msgid "Specify path to resolv.conf (defaults to %s)." -msgstr "Specifică calea către resolv.conf (implicit e %s)." - -#: option.c:271 -msgid "Specify address(es) of upstream servers with optional domains." -msgstr "Specifică adresele server(elor) superioare cu domenii opÅ£ionale." - -#: option.c:272 -msgid "Never forward queries to specified domains." -msgstr "Nu înaintează cererile spre domeniile specificate." - -#: option.c:273 -msgid "Specify the domain to be assigned in DHCP leases." -msgstr "Specifică domeniul de transmis prin DHCP." - -#: option.c:274 -msgid "Specify default target in an MX record." -msgstr "Specifică o Å£intă într-o înregistrare MX." - -#: option.c:275 -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:276 -#, fuzzy -msgid "Specify time-to-live in seconds for negative caching." -msgstr "Specifică TTL în secunde pentru răspunsurile din /etc/hosts." - -#: option.c:277 -#, c-format -msgid "Change to this user after startup. (defaults to %s)." -msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)." - -#: option.c:278 -#, fuzzy -msgid "Map DHCP vendor class to tag." -msgstr "Trimite opÅ£iuni DHCP în funcÅ£ie de marca plăcii de reÅ£ea." - -#: option.c:279 -msgid "Display dnsmasq version and copyright information." -msgstr "AfiÅŸează versiunea dnsmasq ÅŸi drepturile de autor." - -#: option.c:280 -msgid "Translate IPv4 addresses from upstream servers." -msgstr "Traduce adresele IPv4 de la serverele DNS superioare." - -#: option.c:281 -msgid "Specify a SRV record." -msgstr "Specifică o înregistrare SRV." - -#: option.c:282 -msgid "Display this message. Use --help dhcp for known DHCP options." -msgstr "" - -#: option.c:283 -#, fuzzy, c-format -msgid "Specify path of PID file (defaults to %s)." -msgstr "Specifică o cale pentru fiÅŸierul PID. (implicit %s)." - -#: option.c:284 -#, c-format -msgid "Specify maximum number of DHCP leases (defaults to %s)." -msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)." - -#: option.c:285 -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:286 -msgid "Specify TXT DNS record." -msgstr "Specifică o înregistrare TXT." - -#: option.c:287 -#, fuzzy -msgid "Specify PTR DNS record." -msgstr "Specifică o înregistrare TXT." - -#: option.c:288 -msgid "Give DNS name to IPv4 address of interface." -msgstr "" - -#: option.c:289 -msgid "Bind only to interfaces in use." -msgstr "Ascultă doar pe interfeÅ£ele active." - -#: option.c:290 -#, c-format -msgid "Read DHCP static host information from %s." -msgstr "CiteÅŸte informaÅ£ii DHCP statice despre maÅŸină din %s." - -#: option.c:291 -msgid "Enable the DBus interface for setting upstream servers, etc." -msgstr "Activeaza interfaÅ£a DBus pentru configurarea serverelor superioare." - -#: option.c:292 -msgid "Do not provide DHCP on this interface, only provide DNS." -msgstr "Nu activează DHCP ci doar DNS pe această interfaţă." - -#: option.c:293 -msgid "Enable dynamic address allocation for bootp." -msgstr "Activează alocarea dinamică a adreselor pentru BOOTP." - -#: option.c:294 -#, 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:295 -msgid "Treat DHCP requests on aliases as arriving from interface." -msgstr "" - -#: option.c:296 -msgid "Disable ICMP echo address checking in the DHCP server." -msgstr "" - -#: option.c:297 -msgid "Script to run on DHCP lease creation and destruction." -msgstr "" - -#: option.c:298 -msgid "Read configuration from all the files in this directory." -msgstr "" - -#: option.c:299 -#, fuzzy -msgid "Log to this syslog facility or file. (defaults to DAEMON)" -msgstr "Rulează sub acest utilizator după pornire. (implicit e %s)." - -#: option.c:300 -msgid "Do not use leasefile." -msgstr "" - -#: option.c:301 -#, 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:302 -#, c-format -msgid "Clear DNS cache when reloading %s." -msgstr "" - -#: option.c:303 -msgid "Ignore hostnames provided by DHCP clients." -msgstr "" - -#: option.c:304 -msgid "Do NOT reuse filename and server fields for extra DHCP options." -msgstr "" - -#: option.c:305 -msgid "Enable integrated read-only TFTP server." -msgstr "" - -#: option.c:306 -msgid "Export files by TFTP only from the specified subtree." -msgstr "" - -#: option.c:307 -msgid "Add client IP address to tftp-root." -msgstr "" - -#: option.c:308 -msgid "Allow access only to files owned by the user running dnsmasq." -msgstr "" - -#: option.c:309 -#, fuzzy, c-format -msgid "Maximum number of conncurrent TFTP transfers (defaults to %s)." -msgstr "Specifică numărul maxim de împrumuturi DHCP (implicit %s)." - -#: option.c:310 -msgid "Disable the TFTP blocksize extension." -msgstr "" - -#: option.c:311 -msgid "Ephemeral port range for use by TFTP transfers." -msgstr "" - -#: option.c:312 -msgid "Extra logging for DHCP." -msgstr "" - -#: option.c:313 -msgid "Enable async. logging; optionally set queue length." -msgstr "" - -#: option.c:314 -msgid "Stop DNS rebinding. Filter private IP ranges when resolving." -msgstr "" - -#: option.c:315 -msgid "Always perform DNS queries to all servers." -msgstr "" - -#: option.c:316 -msgid "Set tag if client includes matching option in request." -msgstr "" - -#: option.c:317 -msgid "Use alternative ports for DHCP." -msgstr "" - -#: option.c:318 -msgid "Run lease-change script as this user." -msgstr "" - -#: option.c:319 -#, fuzzy -msgid "Specify NAPTR DNS record." -msgstr "Specifică o înregistrare TXT." - -#: option.c:320 -msgid "Specify lowest port available for DNS query transmission." -msgstr "" - -#: option.c:321 -msgid "Use only fully qualified domain names for DHCP clients." -msgstr "" - -#: option.c:322 -msgid "Specify alias name for LOCAL DNS name." -msgstr "" - -#: option.c:323 -#, fuzzy -msgid "Prompt to send to PXE clients." -msgstr "Configurează opÅ£iuni în plusce trebuie trimise clienÅ£ilor DHCP." - -#: option.c:324 -msgid "Boot service for PXE menu." -msgstr "" - -#: option.c:325 -msgid "Check configuration syntax." -msgstr "" - -#: option.c:613 -#, c-format -msgid "" -"Usage: dnsmasq [options]\n" -"\n" -msgstr "" -"Utilizare: dnsmasq [opÅ£iuni]\n" -"\n" - -#: option.c:615 -#, c-format -msgid "Use short options only on the command line.\n" -msgstr "FolosiÅ£i opÅ£iunile prescurtate doar în linie de comandă.\n" - -#: option.c:617 -#, fuzzy, c-format -msgid "Valid options are:\n" -msgstr "OpÅ£iunile valide sunt:\n" - -#: option.c:658 -#, c-format -msgid "Known DHCP options:\n" -msgstr "" - -#: option.c:735 -msgid "bad dhcp-option" -msgstr "dhcp-option invalid" - -#: option.c:792 -#, fuzzy -msgid "bad IP address" -msgstr "citesc %s - %d adrese" - -#: option.c:891 -msgid "bad domain in dhcp-option" -msgstr "domeniu DNS invalid în declaraÅ£ia dhcp-option" - -#: option.c:950 -msgid "dhcp-option too long" -msgstr "declararea dhcp-option este prea lungă" - -#: option.c:959 -msgid "illegal dhcp-match" -msgstr "" - -#: option.c:995 -msgid "illegal repeated flag" -msgstr "" - -#: option.c:1003 -msgid "illegal repeated keyword" -msgstr "" - -#: option.c:1086 tftp.c:359 -#, fuzzy, c-format -msgid "cannot access %s: %s" -msgstr "nu pot citi %s: %s" - -#: option.c:1131 -msgid "only one dhcp-hostsfile allowed" -msgstr "" - -#: option.c:1138 -msgid "only one dhcp-optsfile allowed" -msgstr "" - -#: option.c:1183 -msgid "bad MX preference" -msgstr "preferinţă MX invalidă" - -#: option.c:1188 -msgid "bad MX name" -msgstr "nume MX invalid" - -#: option.c:1202 -msgid "bad MX target" -msgstr "Å£intă MX invalidă" - -#: option.c:1212 -msgid "cannot run scripts under uClinux" -msgstr "" - -#: option.c:1214 -msgid "recompile with HAVE_SCRIPT defined to enable lease-change scripts" -msgstr "" - -#: option.c:1442 option.c:1446 -msgid "bad port" -msgstr "port invalid" - -#: option.c:1465 option.c:1490 -msgid "interface binding not supported" -msgstr "" - -#: option.c:1611 -#, fuzzy -msgid "bad port range" -msgstr "port invalid" - -#: option.c:1628 -msgid "bad bridge-interface" -msgstr "" - -#: option.c:1669 -msgid "bad dhcp-range" -msgstr "dhcp-range invalid" - -#: option.c:1695 -msgid "only one netid tag allowed" -msgstr "" - -#: option.c:1740 -msgid "inconsistent DHCP range" -msgstr "domeniu DHCP inconsistent" - -#: option.c:1912 -#, fuzzy -msgid "bad DHCP host name" -msgstr "nume MX invalid" - -#: option.c:2201 option.c:2481 -msgid "invalid port number" -msgstr "număr de port invalid" - -#: option.c:2284 -#, fuzzy -msgid "invalid alias range" -msgstr "pondere invalidă" - -#: option.c:2297 -#, fuzzy -msgid "bad interface name" -msgstr "nume MX invalid" - -#: option.c:2322 -msgid "bad CNAME" -msgstr "" - -#: option.c:2327 -msgid "duplicate CNAME" -msgstr "" - -#: option.c:2347 -#, fuzzy -msgid "bad PTR record" -msgstr "înregistrare SRV invalidă" - -#: option.c:2378 -#, fuzzy -msgid "bad NAPTR record" -msgstr "înregistrare SRV invalidă" - -#: option.c:2403 -msgid "TXT record string too long" -msgstr "ÅŸirul de caractere pentru înregistrarea TXT este prea lung" - -#: option.c:2451 -msgid "bad TXT record" -msgstr "înregistrare TXT invalidă" - -#: option.c:2467 -msgid "bad SRV record" -msgstr "înregistrare SRV invalidă" - -#: option.c:2474 -msgid "bad SRV target" -msgstr "Å£intă SRV invalidă" - -#: option.c:2488 -msgid "invalid priority" -msgstr "prioritate invalidă" - -#: option.c:2495 -msgid "invalid weight" -msgstr "pondere invalidă" - -#: option.c:2514 -msgid "unsupported option (check that dnsmasq was compiled with DHCP/TFTP/DBus support)" -msgstr "" - -#: option.c:2557 -#, c-format -msgid "files nested too deep in %s" -msgstr "" - -#: option.c:2565 tftp.c:513 -#, c-format -msgid "cannot read %s: %s" -msgstr "nu pot citi %s: %s" - -#: option.c:2626 -msgid "missing \"" -msgstr "lipseÅŸte \"" - -#: option.c:2673 -msgid "bad option" -msgstr "opÅ£iune invalidă" - -#: option.c:2675 -msgid "extraneous parameter" -msgstr "parametru nerecunoscut" - -#: option.c:2677 -msgid "missing parameter" -msgstr "parametru lipsa" - -#: option.c:2685 -msgid "error" -msgstr "eroare" - -#: option.c:2691 -#, c-format -msgid "%s at line %d of %%s" -msgstr "%s la linia %d din %%s" - -#: option.c:2740 option.c:2771 -#, fuzzy, c-format -msgid "read %s" -msgstr "citesc %s" - -#: option.c:2843 -#, c-format -msgid "Dnsmasq version %s %s\n" -msgstr "dnsmasq versiunea %s %s\n" - -#: option.c:2844 -#, c-format -msgid "" -"Compile time options %s\n" -"\n" -msgstr "" -"OpÅ£iuni cu care a fost compilat %s\n" -"\n" - -#: option.c:2845 -#, c-format -msgid "This software comes with ABSOLUTELY NO WARRANTY.\n" -msgstr "Acest program vine FÄ‚RÄ‚ NICI O GARANÅ¢IE.\n" - -#: option.c:2846 -#, c-format -msgid "Dnsmasq is free software, and you are welcome to redistribute it\n" -msgstr "Dnsmasq este un program gratuit, sunteÅ£i invitaÅ£i să-l redistribuiÅ£i\n" - -#: option.c:2847 -#, fuzzy, c-format -msgid "under the terms of the GNU General Public License, version 2 or 3.\n" -msgstr "în termenii LicenÅ£ei publice generale GNU, versiunea 2.\n" - -#: option.c:2858 -msgid "try --help" -msgstr "" - -#: option.c:2860 -msgid "try -w" -msgstr "" - -#: option.c:2863 -#, fuzzy, c-format -msgid "bad command line options: %s" -msgstr "opÅ£iuni în linie de comandă invalide: %s." - -#: option.c:2904 -#, c-format -msgid "cannot get host-name: %s" -msgstr "nu pot citi numele maÅŸinii: %s" - -#: option.c:2932 -msgid "only one resolv.conf file allowed in no-poll mode." -msgstr "se permite un singur fiÅŸier resolv.conf în modul no-poll" - -#: option.c:2942 -msgid "must have exactly one resolv.conf to read domain from." -msgstr "am nevoie de un singur resolv.conf din care să citesc numele domeniului." - -#: option.c:2945 network.c:754 dhcp.c:734 -#, fuzzy, c-format -msgid "failed to read %s: %s" -msgstr "nu pot citi %s: %s" - -#: option.c:2962 -#, c-format -msgid "no search directive found in %s" -msgstr "nu s-a găsit nici un criteriu de căutare în %s" - -#: option.c:2983 -msgid "there must be a default domain when --dhcp-fqdn is set" -msgstr "" - -#: option.c:2987 -msgid "syntax check OK" -msgstr "" - -#: forward.c:409 -#, c-format -msgid "nameserver %s refused to do a recursive query" -msgstr "serverul DNS %s refuză interogările recursive" - -#: forward.c:437 -msgid "possible DNS-rebind attack detected" -msgstr "" - -#: network.c:73 -#, fuzzy, c-format -msgid "unknown interface %s in bridge-interface" -msgstr "interfaţă necunoscută %s" - -#: network.c:417 dnsmasq.c:189 -#, c-format -msgid "failed to create listening socket: %s" -msgstr "creearea socket-ului de ascultare a eÅŸuat: %s" - -#: network.c:424 -#, c-format -msgid "failed to set IPV6 options on listening socket: %s" -msgstr "configurarea opÅ£iunilor IPv6 a eÅŸuat pe socket-ul de ascultare: %s" - -#: network.c:450 -#, c-format -msgid "failed to bind listening socket for %s: %s" -msgstr "activarea socket-ului de ascultare pentru %s a eÅŸuat: %s" - -#: network.c:455 -#, c-format -msgid "failed to listen on socket: %s" -msgstr "ascultarea pe socket a eÅŸuat: %s" - -#: network.c:467 -#, fuzzy, c-format -msgid "failed to create TFTP socket: %s" -msgstr "creearea socket-ului de ascultare a eÅŸuat: %s" - -#: network.c:661 -#, fuzzy, c-format -msgid "failed to bind server socket for %s: %s" -msgstr "activarea socket-ului de ascultare pentru %s a eÅŸuat: %s" - -#: network.c:694 -#, c-format -msgid "ignoring nameserver %s - local interface" -msgstr "ignorăm serverul DNS %s - interfaţă locală" - -#: network.c:705 -#, fuzzy, c-format -msgid "ignoring nameserver %s - cannot make/bind socket: %s" -msgstr "ignorăm serverul DNS %s - nu pot creea/activa socket-ul: %s" - -#: network.c:720 -msgid "unqualified" -msgstr "invalid" - -#: network.c:720 -msgid "names" -msgstr "" - -#: network.c:722 -msgid "default" -msgstr "" - -#: network.c:724 -msgid "domain" -msgstr "domeniu" - -#: network.c:727 -#, c-format -msgid "using local addresses only for %s %s" -msgstr "folosim adresele locale doar pentru %S %s" - -#: network.c:729 -#, c-format -msgid "using nameserver %s#%d for %s %s" -msgstr "folosim serverul DNS %s#%d pentru %s %s" - -#: network.c:732 -#, fuzzy, c-format -msgid "using nameserver %s#%d(via %s)" -msgstr "folosim serverul DNS %s#%d" - -#: network.c:734 -#, c-format -msgid "using nameserver %s#%d" -msgstr "folosim serverul DNS %s#%d" - -#: dnsmasq.c:146 -#, fuzzy -msgid "TFTP server not available: set HAVE_TFTP in src/config.h" -msgstr "DBus nu este disponibil: puneÅ£i HAVE_DBUS in src/config.h" - -#: dnsmasq.c:151 -msgid "asychronous logging is not available under Solaris" -msgstr "" - -#: dnsmasq.c:170 -#, c-format -msgid "failed to find list of interfaces: %s" -msgstr "enumerarea interfeÅ£elor a eÅŸuat: %s" - -#: dnsmasq.c:178 -#, c-format -msgid "unknown interface %s" -msgstr "interfaţă necunoscută %s" - -#: dnsmasq.c:184 -#, c-format -msgid "no interface with address %s" -msgstr "nu exista interfaţă pentru adresa %s" - -#: dnsmasq.c:201 dnsmasq.c:665 -#, c-format -msgid "DBus error: %s" -msgstr "eroare DBus: %s" - -#: dnsmasq.c:204 -msgid "DBus not available: set HAVE_DBUS in src/config.h" -msgstr "DBus nu este disponibil: puneÅ£i HAVE_DBUS in src/config.h" - -#: dnsmasq.c:230 -#, c-format -msgid "unknown user or group: %s" -msgstr "" - -#: dnsmasq.c:287 -#, c-format -msgid "cannot chdir to filesystem root: %s" -msgstr "" - -#: dnsmasq.c:448 -#, fuzzy, c-format -msgid "started, version %s DNS disabled" -msgstr "am pornit, versiunea %s memorie temporară dezactivată" - -#: dnsmasq.c:450 -#, c-format -msgid "started, version %s cachesize %d" -msgstr "am ponit, versiunea %s memorie temporară %d" - -#: dnsmasq.c:452 -#, c-format -msgid "started, version %s cache disabled" -msgstr "am pornit, versiunea %s memorie temporară dezactivată" - -#: dnsmasq.c:454 -#, c-format -msgid "compile time options: %s" -msgstr "compilat cu opÅ£iunile: %s" - -#: dnsmasq.c:460 -msgid "DBus support enabled: connected to system bus" -msgstr "suportul DBus activ: sunt conectat la magistrala sistem" - -#: dnsmasq.c:462 -msgid "DBus support enabled: bus connection pending" -msgstr "suportul DBus activ: aÅŸtept conexiunea la magistrală" - -# for compatibility purposes the letters â, ă, ÅŸ, Å£ and î can be written as their look-alike correspondent. -#: dnsmasq.c:467 -#, fuzzy, c-format -msgid "warning: failed to change owner of %s: %s" -msgstr "încărcarea numelor din %s: %s a eÅŸuat" - -#: dnsmasq.c:471 -msgid "setting --bind-interfaces option because of OS limitations" -msgstr "specific opÅ£iunea --bind-interfaces din cauza limitărilor SO" - -#: dnsmasq.c:476 -#, c-format -msgid "warning: interface %s does not currently exist" -msgstr "atenÅ£ie: interfaÅ£a %s nu există momentan" - -#: dnsmasq.c:481 -msgid "warning: ignoring resolv-file flag because no-resolv is set" -msgstr "" - -#: dnsmasq.c:484 -#, fuzzy -msgid "warning: no upstream servers configured" -msgstr "configurăm serverele superioare prin Dbus" - -#: dnsmasq.c:488 -#, c-format -msgid "asynchronous logging enabled, queue limit is %d messages" -msgstr "" - -#: dnsmasq.c:501 -#, 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:503 -#, c-format -msgid "DHCP, proxy on subnet %.0s%s%.0s" -msgstr "" - -#: dnsmasq.c:504 -#, c-format -msgid "DHCP, IP range %s -- %s, lease time %s" -msgstr "DHCP, domeniu IP %s -- %s, timpul reînoirii %s" - -#: dnsmasq.c:519 -msgid "root is " -msgstr "" - -#: dnsmasq.c:519 -#, fuzzy -msgid "enabled" -msgstr "dezactivat" - -#: dnsmasq.c:521 -msgid "secure mode" -msgstr "" - -#: dnsmasq.c:547 -#, c-format -msgid "restricting maximum simultaneous TFTP transfers to %d" -msgstr "" - -#: dnsmasq.c:667 -msgid "connected to system DBus" -msgstr "magistrala sistem Dbus conectată" - -#: dnsmasq.c:757 -#, c-format -msgid "cannot fork into background: %s" -msgstr "" - -#: dnsmasq.c:760 -#, fuzzy, c-format -msgid "failed to create helper: %s" -msgstr "nu pot citi %s: %s" - -#: dnsmasq.c:763 -#, c-format -msgid "setting capabilities failed: %s" -msgstr "" - -# for compatibility purposes the letters â, ă, ÅŸ, Å£ and î can be written as their look-alike correspondent. -#: dnsmasq.c:767 -#, fuzzy, c-format -msgid "failed to change user-id to %s: %s" -msgstr "încărcarea numelor din %s: %s a eÅŸuat" - -# for compatibility purposes the letters â, ă, ÅŸ, Å£ and î can be written as their look-alike correspondent. -#: dnsmasq.c:772 -#, fuzzy, c-format -msgid "failed to change group-id to %s: %s" -msgstr "încărcarea numelor din %s: %s a eÅŸuat" - -#: dnsmasq.c:775 -#, fuzzy, c-format -msgid "failed to open pidfile %s: %s" -msgstr "nu pot citi %s: %s" - -#: dnsmasq.c:778 -#, fuzzy, c-format -msgid "cannot open %s: %s" -msgstr "nu pot deschide %s:%s" - -#: dnsmasq.c:833 -#, c-format -msgid "child process killed by signal %d" -msgstr "" - -#: dnsmasq.c:837 -#, c-format -msgid "child process exited with status %d" -msgstr "" - -#: dnsmasq.c:841 -#, fuzzy, c-format -msgid "failed to execute %s: %s" -msgstr "accesarea serverului %s a eÅŸuat: %s" - -#: dnsmasq.c:885 -msgid "exiting on receipt of SIGTERM" -msgstr "am primit SIGTERM, am terminat" - -#: dnsmasq.c:903 -#, fuzzy, c-format -msgid "failed to access %s: %s" -msgstr "accesarea serverului %s a eÅŸuat: %s" - -#: dnsmasq.c:925 -#, c-format -msgid "reading %s" -msgstr "citesc %s" - -#: dnsmasq.c:936 -#, 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" - -#: dhcp.c:40 -#, c-format -msgid "cannot create DHCP socket: %s" -msgstr "nu pot creea socket DHCP: %s" - -#: dhcp.c:52 -#, c-format -msgid "failed to set options on DHCP socket: %s" -msgstr "configurarea opÅ£iunilor socketului DHCP a eÅŸuat: %s" - -#: dhcp.c:65 -#, fuzzy, c-format -msgid "failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s" -msgstr "configurarea SO_REUSEADDR pe socket-ul DHCP a eÅŸuat: %s" - -#: dhcp.c:77 -#, c-format -msgid "failed to bind DHCP server socket: %s" -msgstr "activarea socket-ului server-ului DHCP a eÅŸuat: %s" - -#: dhcp.c:90 -#, c-format -msgid "cannot create ICMP raw socket: %s." -msgstr "nu pot creea socket ICMP raw: %s." - -#: dhcp.c:226 -#, c-format -msgid "DHCP packet received on %s which has no address" -msgstr "" - -#: dhcp.c:385 -#, c-format -msgid "DHCP range %s -- %s is not consistent with netmask %s" -msgstr "domeniu DHCP %s -- %s nu este consistent cu masca de reÅ£ea %s" - -#: dhcp.c:772 -#, c-format -msgid "bad line at %s line %d" -msgstr "linie invalidă în %s rândul %d" - -#: dhcp.c:815 -#, c-format -msgid "ignoring %s line %d, duplicate name or IP address" -msgstr "" - -#: dhcp.c:897 -#, c-format -msgid "duplicate IP address %s in dhcp-config directive." -msgstr "adresă IP duplicat %s în declaraÅ£ia dhcp-config." - -#: dhcp.c:900 -#, fuzzy, c-format -msgid "duplicate IP address %s in %s." -msgstr "adresă IP duplicat %s în declaraÅ£ia dhcp-config." - -#: dhcp.c:943 -#, c-format -msgid "%s has more than one address in hostsfile, using %s for DHCP" -msgstr "" - -#: dhcp.c:948 -#, c-format -msgid "duplicate IP address %s (%s) in dhcp-config directive" -msgstr "adresă IP duplicat %s (%s) în declaraÅ£ia dhcp-config." - -#: lease.c:66 -#, 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:92 -msgid "too many stored leases" -msgstr "prea multe împrumuturi stocate" - -#: lease.c:128 -#, fuzzy, c-format -msgid "cannot run lease-init script %s: %s" -msgstr "nu pot citi %s: %s" - -#: lease.c:134 -#, c-format -msgid "lease-init script returned exit code %s" -msgstr "" - -#: lease.c:234 -#, fuzzy, c-format -msgid "failed to write %s: %s (retry in %us)" -msgstr "nu pot citi %s: %s" - -#: rfc2131.c:336 -#, c-format -msgid "no address range available for DHCP request %s %s" -msgstr "nici un domeniu de adrese disponibil pentru cererea DHCP %s %s" - -#: rfc2131.c:337 -msgid "with subnet selector" -msgstr "cu selectorul de subreÅ£ea" - -#: rfc2131.c:337 -msgid "via" -msgstr "prin" - -#: rfc2131.c:352 -#, c-format -msgid "%u Available DHCP subnet: %s/%s" -msgstr "" - -#: rfc2131.c:355 -#, c-format -msgid "%u Available DHCP range: %s -- %s" -msgstr "" - -#: rfc2131.c:384 -msgid "disabled" -msgstr "dezactivat" - -#: rfc2131.c:418 rfc2131.c:883 rfc2131.c:1242 -msgid "ignored" -msgstr "ignorat" - -#: rfc2131.c:433 rfc2131.c:1100 -msgid "address in use" -msgstr "adresa este folosită" - -#: rfc2131.c:447 rfc2131.c:937 -msgid "no address available" -msgstr "nici o adresă disponibilă" - -#: rfc2131.c:454 rfc2131.c:1063 -msgid "wrong network" -msgstr "reÅ£ea greÅŸită" - -#: rfc2131.c:467 -msgid "no address configured" -msgstr "adresă lipsă" - -#: rfc2131.c:473 rfc2131.c:1113 -msgid "no leases left" -msgstr "nu mai am de unde să împrumut" - -#: rfc2131.c:558 -#, c-format -msgid "%u client provides name: %s" -msgstr "" - -#: rfc2131.c:696 -#, c-format -msgid "%u Vendor class: %s" -msgstr "" - -#: rfc2131.c:698 -#, c-format -msgid "%u User class: %s" -msgstr "" - -#: rfc2131.c:737 -msgid "PXE BIS not supported" -msgstr "" - -#: rfc2131.c:853 -#, fuzzy, c-format -msgid "disabling DHCP static address %s for %s" -msgstr "dezactivăm adresele DHCP statice %s" - -#: rfc2131.c:874 -msgid "unknown lease" -msgstr "împrumut necunoscut" - -#: rfc2131.c:906 -#, c-format -msgid "not using configured address %s because it is leased to %s" -msgstr "" - -#: rfc2131.c:916 -#, c-format -msgid "not using configured address %s because it is in use by the server or relay" -msgstr "" - -#: rfc2131.c:919 -#, c-format -msgid "not using configured address %s because it was previously declined" -msgstr "" - -#: rfc2131.c:935 rfc2131.c:1106 -msgid "no unique-id" -msgstr "" - -#: rfc2131.c:1003 -msgid "wrong server-ID" -msgstr "" - -#: rfc2131.c:1022 -msgid "wrong address" -msgstr "adresă greÅŸită" - -#: rfc2131.c:1039 -msgid "lease not found" -msgstr "împrumutul nu a fost găsit" - -#: rfc2131.c:1071 -msgid "address not available" -msgstr "adresă indisponibilă" - -#: rfc2131.c:1082 -msgid "static lease available" -msgstr "împrumut static este disponibil" - -#: rfc2131.c:1086 -msgid "address reserved" -msgstr "adresă rezervată" - -#: rfc2131.c:1094 -#, c-format -msgid "abandoning lease to %s of %s" -msgstr "" - -#: rfc2131.c:1583 -#, c-format -msgid "%u tags: %s" -msgstr "" - -#: rfc2131.c:1596 -#, c-format -msgid "%u bootfile name: %s" -msgstr "" - -#: rfc2131.c:1605 -#, fuzzy, c-format -msgid "%u server name: %s" -msgstr "eroare DBus: %s" - -#: rfc2131.c:1613 -#, fuzzy, c-format -msgid "%u next server: %s" -msgstr "eroare DBus: %s" - -#: rfc2131.c:1680 -#, fuzzy, c-format -msgid "cannot send DHCP/BOOTP option %d: no space left in packet" -msgstr "nu pot trimite opÅ£iunea DHCP %d: nu mai este loc în pachet" - -#: rfc2131.c:1919 -msgid "PXE menu too large" -msgstr "" - -#: rfc2131.c:2034 -#, c-format -msgid "Ignoring domain %s for DHCP host name %s" -msgstr "" - -#: rfc2131.c:2052 -#, fuzzy, c-format -msgid "%u requested options: %s" -msgstr "compilat cu opÅ£iunile: %s" - -#: netlink.c:66 -#, fuzzy, c-format -msgid "cannot create netlink socket: %s" -msgstr "nu pot să activez socket-ul netlink: %s" - -#: netlink.c:265 -#, fuzzy, c-format -msgid "netlink returns error: %s" -msgstr "eroare DBus: %s" - -#: dbus.c:150 -msgid "attempt to set an IPv6 server address via DBus - no IPv6 support" -msgstr "incerc să configurez un server IPv6 prin Dbus - nu este suport IPv6" - -#: dbus.c:286 -msgid "setting upstream servers from DBus" -msgstr "configurăm serverele superioare prin Dbus" - -#: dbus.c:324 -msgid "could not register a DBus message handler" -msgstr "nu pot activa o interfaţă de mesaje DBus" - -#: bpf.c:150 -#, c-format -msgid "cannot create DHCP BPF socket: %s" -msgstr "nu pot creea socket DHCP BPF: %s" - -#: bpf.c:178 -#, fuzzy, c-format -msgid "DHCP request for unsupported hardware type (%d) received on %s" -msgstr "cerere DHCP pentru dispozitiv nesuportat (%d) recepÅ£ionată prin %s" - -#: tftp.c:179 -msgid "unable to get free port for TFTP" -msgstr "" - -#: tftp.c:194 -#, c-format -msgid "unsupported request from %s" -msgstr "" - -#: tftp.c:282 -#, c-format -msgid "TFTP sent %s to %s" -msgstr "" - -#: tftp.c:305 -#, fuzzy, c-format -msgid "file %s not found" -msgstr "împrumutul nu a fost găsit" - -#: tftp.c:416 -#, c-format -msgid "TFTP error %d %s received from %s" -msgstr "" - -#: tftp.c:447 -#, fuzzy, c-format -msgid "TFTP failed sending %s to %s" -msgstr "nu pot citi %s: %s" - -#: log.c:169 -#, c-format -msgid "overflow: %d log entries lost" -msgstr "" - -#: log.c:246 -#, c-format -msgid "log failed: %s" -msgstr "" - -#: log.c:415 -msgid "FAILED to start up" -msgstr "pornirea A EÅžUAT" - -#~ msgid "must set exactly one interface on broken systems without IP_RECVIF" -#~ msgstr "trebuie specificată exact o singură interfaţă pe sistemele defectece nu au IP_RECVIF" - -#, fuzzy -#~ msgid "failed to load %s: %s" -#~ msgstr "nu pot încărca %s: %s" - -#~ msgid "bad name in %s" -#~ msgstr "nume invalid în %s" - -#~ msgid "Ignoring DHCP lease for %s because it has an illegal domain part" -#~ msgstr "ÃŽmprumutul DHCP pentru %s va fi ignorat deoarece are domeniu invalid" - -#~ msgid "ISC dhcpd integration not available: set HAVE_ISC_READER in src/config.h" -#~ msgstr "Integrarea cu ISC dhcpd nu este disponibilă:puneÅ£i HAVE_ISC_HEADER în src/config.h" - -#, fuzzy -#~ msgid "illegal domain %s in dhcp-config directive." -#~ msgstr "adresă IP duplicat %s în declaraÅ£ia dhcp-config." - -#~ msgid "running as root" -#~ msgstr "rulez ca root" - -#, fuzzy -#~ msgid "read %s - %d hosts" -#~ msgstr "citesc %s - %d adrese" - -#~ msgid "bad dhcp-host" -#~ msgstr "dhcp-host invalid" - -#~ msgid "domains" -#~ msgstr "domenii" - -#~ 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" - -#~ msgid "Display this message." -#~ msgstr "AfiÅŸează acest mesaj." - -#~ msgid "failed to read %s:%m" -#~ msgstr "citirea %s:%n a eÅŸuat" - -#, fuzzy -#~ msgid "cannot send encapsulated option %d: no space left in wrapper" -#~ msgstr "nu pot trimite opÅ£iunea DHCP %d: nu mai este loc în pachet" - -#~ msgid "More than one vendor class matches, using %s" -#~ msgstr "Se potrivesc mai multe clase de mărci de interfeÅ£e, folosim %s" - -#~ msgid "forwarding table overflow: check for server loops." -#~ msgstr "depăşire de memorie în tabela cu înaintări DNS: verificaÅ£i de bucle." - -#~ msgid "nested includes not allowed" -#~ msgstr "incluziunile locale nu sunt permise" - -#~ msgid "DHCP, %s will be written every %s" -#~ msgstr "DHCP, %s va fi rescris odată la fiecare %s" - -#~ msgid "cannot create DHCP packet socket: %s. Is CONFIG_PACKET enabled in your kernel?" -#~ msgstr "nu pot creea socket DHCP packet: %s. AveÅ£i activată în nucleulsistemului opÅ£iunea CONFIG_PACKET ?" diff --git a/setup.html b/setup.html deleted file mode 100755 index 1183f3b..0000000 --- a/setup.html +++ /dev/null @@ -1,231 +0,0 @@ -<HTML> -<HEAD> -<TITLE> Configuring Dnsmasq.</TITLE> -</HEAD> -<BODY BGCOLOR="WHITE"> -<H1 ALIGN=center>Dnsmasq setup</H1> -<H2>Installation.</H2> -To compile and install dnsmasq, the following command (as root) is enough. - -<PRE> -make install -</PRE> - -You might want to edit config.h. Dnsmasq has -been run on (at least) Linux, uCLinux, AIX 4.1.5, FreeBSD 4.4 OpenBSD and Tru64 4.x - -Dnsmasq is normally run on a firewall machine (the machine with the -modem or other connection to your ISP.) but it can run on any machine -with access to the ISPs nameservers. - -Put the binary in <TT>/usr/local/sbin/dnsmasq</TT> (running <TT>make install</TT> will do this) and arrange for it -to be started at boot time. - -Note that dnsmasq needs to run as root, since it binds privileged ports. It will drop root privileges after start-up. Dnsmasq -logs problems using the syslog facility as a daemon. It logs debugging -information to local0 -<P> -<H2>Configuration.</H2> -Configuration for dnsmasq is pretty simple in almost all cases. The -program has collected a fair few options as it has developed but most of them -are not needed most of the time. A machine which already has a DNS -configuration (ie one or more external nameservers in <TT>/etc/resolv.conf</TT> -and any local hosts in <TT>/etc/hosts</TT>) can be turned into a nameserver -simply by running dnsmasq, with no options or configuration at -all. Set the IP address of the machine running dnsmasq as the DNS -server in all the other machines on your network, and you're done. -<P> -With a few option flags, it is possible to make dnsmasq do more clever -tricks. Options for dnsmasq can be set either on the command line -when starting dnsmasq, or in its configuration file, <TT>/etc/dnsmasq.conf</TT>. - -<h2>Making the nameserver machine use dnsmasq.</h2> -In the simple configuration described above, processes local to the -machine will not use dnsmasq, since they get their information about -which nameservers to use from /etc/resolv.conf, which is set to the -upstream nameservers. To fix this, simply replace the nameserver in -<TT>/etc/resolv.conf</TT> with the local address 127.0.0.1 and give the -address(es) of the upstream nameserver(s) to dnsmasq directly. You can -do this using either the <TT>server</TT> option, or by putting them into -another file, and telling dnsmasq about its location with -the <TT>resolv-file</TT> option. - -<h2>Automatic nameserver configuration.</h2> -The two protocols most used for automatic IP network configuration -(PPP and DHCP) can determine the IP addresses for nameservers automatically. -The daemons can be made to write out a file in the resolv.conf format with the -nameservers in which is perfect for dnsmasq to use. When the -nameservers change, for instance on dialling into a new ISP using PPP, -dnsmasq will automatically re-read this file and begin using the new -nameserver(s) completely transparently. - -<h3>Automatic DNS server configuration with PPP.</h3> -Later versions of pppd have an option "usepeerdns" which instructs it to write a file containing -the address(es) of the DNS severs in <TT>/etc/ppp/resolv.conf</TT>. Configure dnsmasq -as above with "nameserver 127.0.0.1" in <TT>/etc/resolv.conf</TT> and run dnsmasq -with to option <TT>resolv-file=/etc/ppp/resolv.conf</TT>. -<P> -On Redhat (at least versions 7.1, 7.2 and 7.3) you can set pppd -options by adding "PPPOPTIONS=usepeerdns" to -<TT>/etc/sysconfig/network-scripts/ifcfg-ippp0</TT>. In the same file, make sure -that "PEERDNS=no" to stop RedHat's network initscripts from copying -<TT>/etc/ppp/resolv.conf</TT> into <TT>/etc/resolv.conf</TT>.<BR> - -On SuSE (at least version 8.1, and 8.2) you should use YaST to activate -<TT>[x] Modify DNS when connected</TT> then stop SuSEs network initscripts -from copying <TT>/etc/ppp/resolv.conf</TT> into <TT>/etc/resolv.conf</TT> -by modifying MODIFY_RESOLV_CONF_DYNAMICALLY="no" in <TT>/etc/sysconfig/network/config</TT>. - - -<h3>Automatic DNS server configuration with DHCP.</h3> -You need to get your DHCP client to write the addresse(s) of the DNS -servers to a file other than <TT>/etc/resolv.conf</TT>. For dhcpcd, the -<TT>dhcpcd.exe</TT> script gets run with the addresses of the nameserver(s) in -the shell variable <TT>$DNS</TT>. The following bit of shell script -uses that to write a file suitable for dnsmasq. -<PRE> - -echo -n >|/etc/dhcpc/resolv.conf -dnsservs=${DNS//,/ } -for serv in $dnsservs; do - echo "nameserver $serv" >>/etc/dhcpc/resolv.conf -done - -</PRE> - -Remember to give dhcpcd the <TT>-R</TT> flag to stop it overwriting -<TT>/etc/resolv.conf</TT>. - -<P> -For other DHCP clients it should be possible to achieve the same effect. - -<h3> DHCP and PPP.</h3> -On a laptop which may potentially connect via a modem and PPP or -ethernet and DHCP it is possible to combine both of the above -configurations. Running dnsmasq with the flags -<TT>resolv-file=/etc/ppp/resolv.conf resolv-file=/etc/dhcpc/resolv.conf</TT> -makes it poll <B>both</B> files and use whichever was updated -last. The result is automatic switching between DNS servers. -</H3> - -<H2> Integration with DHCP.</H2> -Dnsmasq reads <TT>/etc/hosts</TT> so that the names of local machines are -available in DNS. This is fine when you give all your local machines -static IP addresses which can go in <TT>/etc/hosts</TT>, but it doesn't work -when local machines are configured via DHCP, since the IP address -allocated to machine is not fixed. Dnsmasq comes with an integrated -DHCP daemon to solve this problem. -<P> -The dnsmasq DHCP daemon allocates addresses to hosts on the network and tries -to determine their names. If it succeeds it add the name and address -pair to the DNS. There are basically two ways to associate a name with -a DHCP-configured machine; either the machine knows its name which it -gets a DHCP lease, or dnsmasq gives it a name, based on the MAC -address of its ethernet card. For the former to work, a machine needs to know its name when it -requests a DHCP lease. For dhcpcd, the -h option specifies this. The -names may be anything as far as DHCP is concerned, but dnsmasq adds -some limitations. By default the names must no have a domain part, ie -they must just be a alphanumeric name, without any dots. This is a -security feature to stop a machine on your network telling DHCP that -its name is "www.microsoft.com" and thereby grabbing traffic which -shouldn't go to it. A domain part is only allowed by dnsmasq in DHCP machine names -if the <TT>domain-suffix</TT> option is set, the domain part must match the -suffix. -<P> -As an aside, make sure not to tell DHCP to set the hostname when it -obtains a lease (in dhcpcd that's the -H flag.) -This is not reliable since the DHCP server gets the -hostname from DNS which in this case is dnsmasq. There is a race -condition because the host's name in the DNS may change as a -result of it getting a DHCP lease, but this does not propagate before -the name is looked up. The net effect may be that the host believes it -is called something different to its name in the DNS. To be safe, set -the hostname on a machine locally, and pass the same name to DHCP when -requesting a lease. -<P> -<H2>Setting up a mailhub.</H2> -If you generate mail on the machines attached to your private network, you may - be interested in the MX record feature of dnsmasq. This allows you to have all - the machines on your network use your firewall or another machine as a "smarthost" and -deliver mail to it. The details of how to set this up are highly dependent on -your mailer, system and distribution. The only thing that's relevant to dnsmasq is that the mailer -needs to be able to interrogate the DNS and find an MX record for your mailhub. -<P> -By giving dnsmasq the <TT>mx-host</TT> option -you instruct dnsmasq to serve an MX record for the specified address. -By default the MX record -points to the machine on which dnsmasq is running, so mail delivered to that -name will get sent to the mailer on your firewall machine. You can -have the MX record point to another machine by using the <TT>mx-target</TT> -option. -<P> -In some cases it's useful for all local machines to see an MX record -pointing at themselves: this allows mailers which insist on an MX record and -don't fall back to A records to deliver mail within the -machine. These MX records are enabled using the <TT>selfmx</TT> option. - -<H2>Using special servers.</H2> -Dnsmasq has the ability to direct DNS queries for certain domains to -specific upstream nameservers. This feature was added for use with -VPNs but it is fully general. The scenario is this: you have a -standard internet connection via an ISP, and dnsmasq is configured to -forward queries to the ISP's nameservers, then you make a VPN -connection into your companies network, giving access to hosts inside -the company firewall. You have access, but since many of the internal hosts -aren't visible on the public internet, your company doesn't publish -them to the public DNS and you can't get their IP address from the ISP -nameservers. The solution is to use the companies nameserver for -private domains within the company, and dnsmasq allows this. Assuming -that internal company machines are all in the domain internal.myco.com -and the companies nameserver is at 192.168.10.1 then the option -<TT>server=/internal.myco.com/192.168.10.1</TT> will direct all -queries in the internal domain to the correct nameserver. You can -specify more than one domain in each server option. If there is -more than one nameserver just include as many -<TT>server</TT> options as is needed to specify them all. - -<H2>Local domains.</H2> -Sometimes people have local domains which they do not want forwarded -to upstream servers. This is accomodated by using server options -without the server IP address. To make things clearer <TT>local</TT> -is a synonym for <TT>server</TT>. For example the option -<TT>local=/localnet/</TT> ensures that any domain name query which ends in -<TT>.localnet</TT> will be answered if possible from -<TT>/etc/hosts</TT> or DHCP, but never sent to an upstream server. - -<H2>Defeating wildcards in top level domains.</H2> -In September 2003 Verisign installed a wildcard record in the .com and -.net top level domains. The effect of this is that queries for -unregistered .com and .net names now return the address of Verisign's -sitefinder service, rather than a "no such domain" response. To -restore the correct behaviour, you can tell dnsmasq the address of the -sitefinder host and have it substitute an NXDOMAIN reply when it sees -that address. The sitefinder address is currently 64.94.110.11, so -giving the option <TT>bogus-nxdomain=64.94.110.11</TT> will enable -this facility for Verisign. If other TLDs do that same thing you can -add the correct addresses for them too. See the dnsmasq FAQ for more -details on the <TT>bogus-nxdomain</TT> option. - -<H2>Other configuration details.</H2> -By default dnsmasq offers DNS service on all the configured interfaces -of a host. It's likely that you don't (for instance) want to offer a -DNS service to the world via an interface connected to ADSL or -cable-modem so dnsmasq allows you to specify which interfaces it will -listen on. Use either the <TT>interface</TT> or <TT>address</TT> options to do this. -<P> -The <TT>filterwin2k</TT> option makes dnsmasq ignore certain DNS requests which -are made by Windows boxen every few minutes. The requests generally -don't get sensible answers in the global DNS and cause trouble by -triggering dial-on-demand internet links. -<P> -Sending SIGHUP to the dnsmasq process will cause it to empty its cache and -then re-load <TT>/etc/hosts</TT> and <TT>/etc/resolv.conf</TT>. -<P> Sending SIGUSR1 (killall -10 dnsmasq) to the dnsmasq process will -cause to to write cache usage statisticss to the log, typically -<TT>/var/log/syslog</TT> or <TT>/var/log/messages</TT>. -<P> The <TT>log-queries</TT> option tells dnsmasq to verbosely log the queries -it is handling and causes SIGUSR1 to trigger a complete dump of the -contents of the cache to the syslog. - -<P>For a complete listing of options please take a look at the manpage -dnsmasq(8). diff --git a/src/Android.mk b/src/Android.mk index 7c729ef..0ec872a 100644 --- a/src/Android.mk +++ b/src/Android.mk @@ -3,7 +3,7 @@ LOCAL_PATH := $(call my-dir) ######################### include $(CLEAR_VARS) -LOCAL_SRC_FILES := bpf.c cache.c dhcp.c dnsmasq.c forward.c helper.c lease.c log.c \ +LOCAL_SRC_FILES := cache.c dhcp.c dnsmasq.c forward.c helper.c lease.c log.c \ netlink.c network.c option.c rfc1035.c rfc2131.c util.c LOCAL_MODULE := dnsmasq diff --git a/src/bpf.c b/src/bpf.c deleted file mode 100755 index abde78c..0000000 --- a/src/bpf.c +++ /dev/null @@ -1,254 +0,0 @@ -/* dnsmasq is Copyright (c) 2000-2009 Simon Kelley - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 dated June, 1991, or - (at your option) version 3 dated 29 June, 2007. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include "dnsmasq.h" - -#if defined(HAVE_BSD_NETWORK) || defined(HAVE_SOLARIS_NETWORK) - -static struct iovec ifconf = { - .iov_base = NULL, - .iov_len = 0 -}; - -static struct iovec ifreq = { - .iov_base = NULL, - .iov_len = 0 -}; - -int iface_enumerate(void *parm, int (*ipv4_callback)(), int (*ipv6_callback)()) -{ - char *ptr; - struct ifreq *ifr; - struct ifconf ifc; - int fd, errsav, ret = 0; - int lastlen = 0; - size_t len = 0; - - if ((fd = socket(PF_INET, SOCK_DGRAM, 0)) == -1) - return 0; - - while(1) - { - len += 10*sizeof(struct ifreq); - - if (!expand_buf(&ifconf, len)) - goto err; - - ifc.ifc_len = len; - ifc.ifc_buf = ifconf.iov_base; - - if (ioctl(fd, SIOCGIFCONF, &ifc) == -1) - { - if (errno != EINVAL || lastlen != 0) - goto err; - } - else - { - if (ifc.ifc_len == lastlen) - break; /* got a big enough buffer now */ - lastlen = ifc.ifc_len; - } - } - - for (ptr = ifc.ifc_buf; ptr < (char *)(ifc.ifc_buf + ifc.ifc_len); ptr += len) - { - /* subsequent entries may not be aligned, so copy into - an aligned buffer to avoid nasty complaints about - unaligned accesses. */ - - len = sizeof(struct ifreq); - -#ifdef HAVE_SOCKADDR_SA_LEN - ifr = (struct ifreq *)ptr; - if (ifr->ifr_addr.sa_len > sizeof(ifr->ifr_ifru)) - len = ifr->ifr_addr.sa_len + offsetof(struct ifreq, ifr_ifru); -#endif - - if (!expand_buf(&ifreq, len)) - goto err; - - ifr = (struct ifreq *)ifreq.iov_base; - memcpy(ifr, ptr, len); - - if (ifr->ifr_addr.sa_family == AF_INET && ipv4_callback) - { - struct in_addr addr, netmask, broadcast; - broadcast.s_addr = 0; - addr = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr; - if (ioctl(fd, SIOCGIFNETMASK, ifr) == -1) - continue; - netmask = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr; - if (ioctl(fd, SIOCGIFBRDADDR, ifr) != -1) - broadcast = ((struct sockaddr_in *) &ifr->ifr_addr)->sin_addr; - if (!((*ipv4_callback)(addr, - (int)if_nametoindex(ifr->ifr_name), - netmask, broadcast, - parm))) - goto err; - } -#ifdef HAVE_IPV6 - else if (ifr->ifr_addr.sa_family == AF_INET6 && ipv6_callback) - { - struct in6_addr *addr = &((struct sockaddr_in6 *)&ifr->ifr_addr)->sin6_addr; - /* voodoo to clear interface field in address */ - if (!(daemon->options & OPT_NOWILD) && IN6_IS_ADDR_LINKLOCAL(addr)) - { - addr->s6_addr[2] = 0; - addr->s6_addr[3] = 0; - } - if (!((*ipv6_callback)(addr, - (int)((struct sockaddr_in6 *)&ifr->ifr_addr)->sin6_scope_id, - (int)if_nametoindex(ifr->ifr_name), - parm))) - goto err; - } -#endif - } - - ret = 1; - - err: - errsav = errno; - close(fd); - errno = errsav; - - return ret; -} -#endif - - -#if defined(HAVE_BSD_NETWORK) && defined(HAVE_DHCP) -#include <net/bpf.h> - -void init_bpf(void) -{ - int i = 0; - - while (1) - { - /* useful size which happens to be sufficient */ - if (expand_buf(&ifreq, sizeof(struct ifreq))) - { - sprintf(ifreq.iov_base, "/dev/bpf%d", i++); - if ((daemon->dhcp_raw_fd = open(ifreq.iov_base, O_RDWR, 0)) != -1) - return; - } - if (errno != EBUSY) - die(_("cannot create DHCP BPF socket: %s"), NULL, EC_BADNET); - } -} - -void send_via_bpf(struct dhcp_packet *mess, size_t len, - struct in_addr iface_addr, struct ifreq *ifr) -{ - /* Hairy stuff, packet either has to go to the - net broadcast or the destination can't reply to ARP yet, - but we do know the physical address. - Build the packet by steam, and send directly, bypassing - the kernel IP stack */ - - struct ether_header ether; - struct ip ip; - struct udphdr { - u16 uh_sport; /* source port */ - u16 uh_dport; /* destination port */ - u16 uh_ulen; /* udp length */ - u16 uh_sum; /* udp checksum */ - } udp; - - u32 i, sum; - struct iovec iov[4]; - - /* Only know how to do ethernet on *BSD */ - if (mess->htype != ARPHRD_ETHER || mess->hlen != ETHER_ADDR_LEN) - { - my_syslog(MS_DHCP | LOG_WARNING, _("DHCP request for unsupported hardware type (%d) received on %s"), - mess->htype, ifr->ifr_name); - return; - } - - ifr->ifr_addr.sa_family = AF_LINK; - if (ioctl(daemon->dhcpfd, SIOCGIFADDR, ifr) < 0) - return; - - memcpy(ether.ether_shost, LLADDR((struct sockaddr_dl *)&ifr->ifr_addr), ETHER_ADDR_LEN); - ether.ether_type = htons(ETHERTYPE_IP); - - if (ntohs(mess->flags) & 0x8000) - { - memset(ether.ether_dhost, 255, ETHER_ADDR_LEN); - ip.ip_dst.s_addr = INADDR_BROADCAST; - } - else - { - memcpy(ether.ether_dhost, mess->chaddr, ETHER_ADDR_LEN); - ip.ip_dst.s_addr = mess->yiaddr.s_addr; - } - - ip.ip_p = IPPROTO_UDP; - ip.ip_src.s_addr = iface_addr.s_addr; - ip.ip_len = htons(sizeof(struct ip) + - sizeof(struct udphdr) + - len) ; - ip.ip_hl = sizeof(struct ip) / 4; - ip.ip_v = IPVERSION; - ip.ip_tos = 0; - ip.ip_id = htons(0); - ip.ip_off = htons(0x4000); /* don't fragment */ - ip.ip_ttl = IPDEFTTL; - ip.ip_sum = 0; - for (sum = 0, i = 0; i < sizeof(struct ip) / 2; i++) - sum += ((u16 *)&ip)[i]; - while (sum>>16) - sum = (sum & 0xffff) + (sum >> 16); - ip.ip_sum = (sum == 0xffff) ? sum : ~sum; - - udp.uh_sport = htons(daemon->dhcp_server_port); - udp.uh_dport = htons(daemon->dhcp_client_port); - if (len & 1) - ((char *)mess)[len] = 0; /* for checksum, in case length is odd. */ - udp.uh_sum = 0; - udp.uh_ulen = sum = htons(sizeof(struct udphdr) + len); - sum += htons(IPPROTO_UDP); - sum += ip.ip_src.s_addr & 0xffff; - sum += (ip.ip_src.s_addr >> 16) & 0xffff; - sum += ip.ip_dst.s_addr & 0xffff; - sum += (ip.ip_dst.s_addr >> 16) & 0xffff; - for (i = 0; i < sizeof(struct udphdr)/2; i++) - sum += ((u16 *)&udp)[i]; - for (i = 0; i < (len + 1) / 2; i++) - sum += ((u16 *)mess)[i]; - while (sum>>16) - sum = (sum & 0xffff) + (sum >> 16); - udp.uh_sum = (sum == 0xffff) ? sum : ~sum; - - ioctl(daemon->dhcp_raw_fd, BIOCSETIF, ifr); - - iov[0].iov_base = ðer; - iov[0].iov_len = sizeof(ether); - iov[1].iov_base = &ip; - iov[1].iov_len = sizeof(ip); - iov[2].iov_base = &udp; - iov[2].iov_len = sizeof(udp); - iov[3].iov_base = mess; - iov[3].iov_len = len; - - while (writev(daemon->dhcp_raw_fd, iov, 4) == -1 && retry_send()); -} - -#endif - - diff --git a/src/config.h b/src/config.h index 9e43696..5a88c1d 100755 --- a/src/config.h +++ b/src/config.h @@ -33,7 +33,6 @@ #define DHCP_PACKET_MAX 16384 /* hard limit on DHCP packet size */ #define SMALLDNAME 40 /* most domain names are smaller than this */ #define HOSTSFILE "/etc/hosts" -#define ETHERSFILE "/etc/ethers" #ifdef __uClinux__ # define RESOLVFILE "/etc/config/resolv.conf" #else @@ -83,24 +83,9 @@ void dhcp_init(void) daemon->dhcpfd = fd; -#if defined(HAVE_BSD_NETWORK) - /* When we're not using capabilities, we need to do this here before - we drop root. Also, set buffer size small, to avoid wasting - kernel buffers */ - - if (daemon->options & OPT_NO_PING) - daemon->dhcp_icmp_fd = -1; - else if ((daemon->dhcp_icmp_fd = make_icmp_sock()) == -1 || - setsockopt(daemon->dhcp_icmp_fd, SOL_SOCKET, SO_RCVBUF, &oneopt, sizeof(oneopt)) == -1 ) - die(_("cannot create ICMP raw socket: %s."), NULL, EC_BADNET); - - /* Make BPF raw send socket */ - init_bpf(); -#endif - check_dhcp_hosts(1); - - daemon->dhcp_packet.iov_len = sizeof(struct dhcp_packet); + + daemon->dhcp_packet.iov_len = sizeof(struct dhcp_packet); daemon->dhcp_packet.iov_base = safe_malloc(daemon->dhcp_packet.iov_len); } @@ -123,10 +108,6 @@ void dhcp_packet(time_t now) struct cmsghdr align; /* this ensures alignment */ #if defined(HAVE_LINUX_NETWORK) char control[CMSG_SPACE(sizeof(struct in_pktinfo))]; -#elif defined(HAVE_SOLARIS_NETWORK) - char control[CMSG_SPACE(sizeof(unsigned int))]; -#elif defined(HAVE_BSD_NETWORK) - char control[CMSG_SPACE(sizeof(struct sockaddr_dl))]; #endif } control_u; @@ -171,10 +152,10 @@ void dhcp_packet(time_t now) msg.msg_namelen = sizeof(dest); while ((sz = recvmsg(daemon->dhcpfd, &msg, 0)) == -1 && errno == EINTR); - + if ((msg.msg_flags & MSG_TRUNC) || sz < (ssize_t)(sizeof(*mess) - sizeof(mess->options))) return; - + #if defined (HAVE_LINUX_NETWORK) if (msg.msg_controllen >= sizeof(struct cmsghdr)) for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr)) @@ -184,22 +165,8 @@ void dhcp_packet(time_t now) if (((struct in_pktinfo *)CMSG_DATA(cmptr))->ipi_addr.s_addr != INADDR_BROADCAST) unicast_dest = 1; } - -#elif defined(HAVE_BSD_NETWORK) - if (msg.msg_controllen >= sizeof(struct cmsghdr)) - for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr)) - if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_RECVIF) - iface_index = ((struct sockaddr_dl *)CMSG_DATA(cmptr))->sdl_index; - - -#elif defined(HAVE_SOLARIS_NETWORK) - if (msg.msg_controllen >= sizeof(struct cmsghdr)) - for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr)) - if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_RECVIF) - iface_index = *((unsigned int *)CMSG_DATA(cmptr)); - #endif - + if (!indextoname(daemon->dhcpfd, iface_index, ifr.ifr_name)) return; @@ -320,42 +287,8 @@ void dhcp_packet(time_t now) req.arp_flags = ATF_COM; ioctl(daemon->dhcpfd, SIOCSARP, &req); } -#elif defined(HAVE_SOLARIS_NETWORK) - else if ((ntohs(mess->flags) & 0x8000) || mess->hlen != ETHER_ADDR_LEN || mess->htype != ARPHRD_ETHER) - { - /* broadcast to 255.255.255.255 (or mac address invalid) */ - dest.sin_addr.s_addr = INADDR_BROADCAST; - dest.sin_port = htons(daemon->dhcp_client_port); - /* note that we don't specify the interface here: that's done by the - IP_BOUND_IF sockopt lower down. */ - } - else - { - /* unicast to unconfigured client. Inject mac address direct into ARP cache. - Note that this only works for ethernet on solaris, because we use SIOCSARP - and not SIOCSXARP, which would be perfect, except that it returns ENXIO - mysteriously. Bah. Fall back to broadcast for other net types. */ - struct arpreq req; - dest.sin_addr = mess->yiaddr; - dest.sin_port = htons(daemon->dhcp_client_port); - *((struct sockaddr_in *)&req.arp_pa) = dest; - req.arp_ha.sa_family = AF_UNSPEC; - memcpy(req.arp_ha.sa_data, mess->chaddr, mess->hlen); - req.arp_flags = ATF_COM; - ioctl(daemon->dhcpfd, SIOCSARP, &req); - } -#elif defined(HAVE_BSD_NETWORK) - else - { - send_via_bpf(mess, iov.iov_len, iface_addr, &ifr); - return; - } #endif - -#ifdef HAVE_SOLARIS_NETWORK - setsockopt(daemon->dhcpfd, IPPROTO_IP, IP_BOUND_IF, &iface_index, sizeof(iface_index)); -#endif - + while(sendmsg(daemon->dhcpfd, &msg, 0) == -1 && retry_send()); } @@ -720,166 +653,6 @@ struct dhcp_config *find_config(struct dhcp_config *configs, return candidate; } -void dhcp_read_ethers(void) -{ - FILE *f = fopen(ETHERSFILE, "r"); - unsigned int flags; - char *buff = daemon->namebuff; - char *ip, *cp; - struct in_addr addr; - unsigned char hwaddr[ETHER_ADDR_LEN]; - struct dhcp_config **up, *tmp; - struct dhcp_config *config; - int count = 0, lineno = 0; - - addr.s_addr = 0; /* eliminate warning */ - - if (!f) - { - my_syslog(MS_DHCP | LOG_ERR, _("failed to read %s: %s"), ETHERSFILE, strerror(errno)); - return; - } - - /* This can be called again on SIGHUP, so remove entries created last time round. */ - for (up = &daemon->dhcp_conf, config = daemon->dhcp_conf; config; config = tmp) - { - tmp = config->next; - if (config->flags & CONFIG_FROM_ETHERS) - { - *up = tmp; - /* cannot have a clid */ - if (config->flags & CONFIG_NAME) - free(config->hostname); - free(config->hwaddr); - free(config); - } - else - up = &config->next; - } - - while (fgets(buff, MAXDNAME, f)) - { - char *host = NULL; - - lineno++; - - while (strlen(buff) > 0 && isspace((int)buff[strlen(buff)-1])) - buff[strlen(buff)-1] = 0; - - if ((*buff == '#') || (*buff == '+') || (*buff == 0)) - continue; - - for (ip = buff; *ip && !isspace((int)*ip); ip++); - for(; *ip && isspace((int)*ip); ip++) - *ip = 0; - if (!*ip || parse_hex(buff, hwaddr, ETHER_ADDR_LEN, NULL, NULL) != ETHER_ADDR_LEN) - { - my_syslog(MS_DHCP | LOG_ERR, _("bad line at %s line %d"), ETHERSFILE, lineno); - continue; - } - - /* check for name or dotted-quad */ - for (cp = ip; *cp; cp++) - if (!(*cp == '.' || (*cp >='0' && *cp <= '9'))) - break; - - if (!*cp) - { - if ((addr.s_addr = inet_addr(ip)) == (in_addr_t)-1) - { - my_syslog(MS_DHCP | LOG_ERR, _("bad address at %s line %d"), ETHERSFILE, lineno); - continue; - } - - flags = CONFIG_ADDR; - - for (config = daemon->dhcp_conf; config; config = config->next) - if ((config->flags & CONFIG_ADDR) && config->addr.s_addr == addr.s_addr) - break; - } - else - { - int nomem; - if (!(host = canonicalise(ip, &nomem)) || !legal_hostname(host)) - { - if (!nomem) - my_syslog(MS_DHCP | LOG_ERR, _("bad name at %s line %d"), ETHERSFILE, lineno); - free(host); - continue; - } - - flags = CONFIG_NAME; - - for (config = daemon->dhcp_conf; config; config = config->next) - if ((config->flags & CONFIG_NAME) && hostname_isequal(config->hostname, host)) - break; - } - - if (config && (config->flags & CONFIG_FROM_ETHERS)) - { - my_syslog(MS_DHCP | LOG_ERR, _("ignoring %s line %d, duplicate name or IP address"), ETHERSFILE, lineno); - continue; - } - - if (!config) - { - for (config = daemon->dhcp_conf; config; config = config->next) - { - struct hwaddr_config *conf_addr = config->hwaddr; - if (conf_addr && - conf_addr->next == NULL && - conf_addr->wildcard_mask == 0 && - conf_addr->hwaddr_len == ETHER_ADDR_LEN && - (conf_addr->hwaddr_type == ARPHRD_ETHER || conf_addr->hwaddr_type == 0) && - memcmp(conf_addr->hwaddr, hwaddr, ETHER_ADDR_LEN) == 0) - break; - } - - if (!config) - { - if (!(config = whine_malloc(sizeof(struct dhcp_config)))) - continue; - config->flags = CONFIG_FROM_ETHERS; - config->hwaddr = NULL; - config->domain = NULL; - config->next = daemon->dhcp_conf; - daemon->dhcp_conf = config; - } - - config->flags |= flags; - - if (flags & CONFIG_NAME) - { - config->hostname = host; - host = NULL; - } - - if (flags & CONFIG_ADDR) - config->addr = addr; - } - - config->flags |= CONFIG_NOCLID; - if (!config->hwaddr) - config->hwaddr = whine_malloc(sizeof(struct hwaddr_config)); - if (config->hwaddr) - { - memcpy(config->hwaddr->hwaddr, hwaddr, ETHER_ADDR_LEN); - config->hwaddr->hwaddr_len = ETHER_ADDR_LEN; - config->hwaddr->hwaddr_type = ARPHRD_ETHER; - config->hwaddr->wildcard_mask = 0; - config->hwaddr->next = NULL; - } - count++; - - free(host); - - } - - fclose(f); - - my_syslog(MS_DHCP | LOG_INFO, _("read %s - %d addresses"), ETHERSFILE, count); -} - void check_dhcp_hosts(int fatal) { /* If the same IP appears in more than one host config, then DISCOVER diff --git a/src/dnsmasq.c b/src/dnsmasq.c index 27f8bce..3d7bdb5 100755 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -4,18 +4,33 @@ it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 dated June, 1991, or (at your option) version 3 dated 29 June, 2007. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "dnsmasq.h" +#include <sys/stat.h> + +#if defined(HAVE_BSD_NETWORK) +#error Should not HAVE_BSD_NETWORK +#endif + +#if defined(HAVE_SOLARIS_NETWORK) +#error Should not HAVE_SOLARIS_NETWORK +#endif + +#if !defined(HAVE_LINUX_NETWORK) +#error Should HAVE_LINUX_NETWORK +#endif + + struct daemon *daemon; static char *compile_opts = @@ -62,11 +77,52 @@ static int set_android_listeners(fd_set *set, int *maxfdp); static int check_android_listeners(fd_set *set); #endif +void setupSignalHandling() { + struct sigaction sigact; + + sigact.sa_handler = sig_handler; + sigact.sa_flags = 0; + sigemptyset(&sigact.sa_mask); + sigaction(SIGUSR1, &sigact, NULL); + sigaction(SIGUSR2, &sigact, NULL); + sigaction(SIGHUP, &sigact, NULL); + sigaction(SIGTERM, &sigact, NULL); + sigaction(SIGALRM, &sigact, NULL); + sigaction(SIGCHLD, &sigact, NULL); + + /* ignore SIGPIPE */ + sigact.sa_handler = SIG_IGN; + sigaction(SIGPIPE, &sigact, NULL); +} + +void closeUnwantedFileDescriptors() { + const long kMaxFd = sysconf(_SC_OPEN_MAX); + long i; + struct stat stat_buf; + + /* Close any file descriptors we inherited apart from std{in|out|err}. */ + for (i = 0; i < kMaxFd; i++) { + // TODO: Evaluate just skipping STDIN, since netd does not + // (intentionally) pass in any other file descriptors. + if (i == STDOUT_FILENO || i == STDERR_FILENO || i == STDIN_FILENO) { + continue; + } + + if (fstat(i, &stat_buf) != 0) { + if (errno == EBADF) continue; + my_syslog(LOG_ERR, "fstat(%d) error: %d/%s", i, errno, strerror(errno)); + } else { + my_syslog(LOG_ERR, "Closing inherited file descriptor %d (%u:%u)", + i, stat_buf.st_dev, stat_buf.st_ino); + } + close(i); + } +} + int main (int argc, char **argv) { int bind_fallback = 0; time_t now; - struct sigaction sigact; struct iname *if_tmp; int piperead, pipefd[2], err_pipe[2]; struct passwd *ent_pw = NULL; @@ -89,19 +145,7 @@ int main (int argc, char **argv) textdomain("dnsmasq"); #endif - sigact.sa_handler = sig_handler; - sigact.sa_flags = 0; - sigemptyset(&sigact.sa_mask); - sigaction(SIGUSR1, &sigact, NULL); - sigaction(SIGUSR2, &sigact, NULL); - sigaction(SIGHUP, &sigact, NULL); - sigaction(SIGTERM, &sigact, NULL); - sigaction(SIGALRM, &sigact, NULL); - sigaction(SIGCHLD, &sigact, NULL); - - /* ignore SIGPIPE */ - sigact.sa_handler = SIG_IGN; - sigaction(SIGPIPE, &sigact, NULL); + setupSignalHandling(); umask(022); /* known umask, create leases and pid files as 0644 */ @@ -120,11 +164,8 @@ int main (int argc, char **argv) daemon->lease_file = LEASEFILE; } #endif - - /* Close any file descriptors we inherited apart from std{in|out|err} */ - for (i = 0; i < max_fd; i++) - if (i != STDOUT_FILENO && i != STDERR_FILENO && i != STDIN_FILENO) - close(i); + + closeUnwantedFileDescriptors(); #ifdef HAVE_LINUX_NETWORK netlink_init(); @@ -138,15 +179,10 @@ int main (int argc, char **argv) } #endif -#ifdef HAVE_SOLARIS_NETWORK - if (daemon->max_logs != 0) - die(_("asychronous logging is not available under Solaris"), NULL, EC_BADCONF); -#endif - rand_init(); - + now = dnsmasq_time(); - + #ifdef HAVE_DHCP if (daemon->dhcp) { @@ -373,28 +409,8 @@ int main (int argc, char **argv) /* Tell kernel to not clear capabilities when dropping root */ if (capset(hdr, data) == -1 || prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) == -1) bad_capabilities = errno; - -#elif defined(HAVE_SOLARIS_NETWORK) - /* http://developers.sun.com/solaris/articles/program_privileges.html */ - priv_set_t *priv_set; - - if (!(priv_set = priv_str_to_set("basic", ",", NULL)) || - priv_addset(priv_set, PRIV_NET_ICMPACCESS) == -1 || - priv_addset(priv_set, PRIV_SYS_NET_CONFIG) == -1) - bad_capabilities = errno; - - if (priv_set && bad_capabilities == 0) - { - priv_inverse(priv_set); - - if (setppriv(PRIV_OFF, PRIV_LIMIT, priv_set) == -1) - bad_capabilities = errno; - } - if (priv_set) - priv_freeset(priv_set); - -#endif +#endif if (bad_capabilities != 0) { @@ -601,43 +617,29 @@ int main (int argc, char **argv) } } -static void sig_handler(int sig) -{ - if (pid == 0) - { - /* ignore anything other than TERM during startup - and in helper proc. (helper ignore TERM too) */ - if (sig == SIGTERM) - exit(EC_MISC); - } - else if (pid != getpid()) - { - /* alarm is used to kill TCP children after a fixed time. */ - if (sig == SIGALRM) - _exit(0); - } - else - { - /* master process */ - int event, errsave = errno; - - if (sig == SIGHUP) - event = EVENT_RELOAD; - else if (sig == SIGCHLD) - event = EVENT_CHILD; - else if (sig == SIGALRM) - event = EVENT_ALARM; - else if (sig == SIGTERM) - event = EVENT_TERM; - else if (sig == SIGUSR1) - event = EVENT_DUMP; - else if (sig == SIGUSR2) - event = EVENT_REOPEN; - else - return; - - send_event(pipewrite, event, 0); - errno = errsave; +static void sig_handler(int sig) { + if (pid == 0) { + /* ignore anything other than TERM during startup + and in helper proc. (helper ignore TERM too) */ + if (sig == SIGTERM) exit(EC_MISC); + } else if (pid != getpid()) { + /* alarm is used to kill TCP children after a fixed time. */ + if (sig == SIGALRM) _exit(0); + } else { + /* master process */ + const int errsave = errno; + int event; + + if (sig == SIGHUP) event = EVENT_RELOAD; + else if (sig == SIGCHLD) event = EVENT_CHILD; + else if (sig == SIGALRM) event = EVENT_ALARM; + else if (sig == SIGTERM) event = EVENT_TERM; + else if (sig == SIGUSR1) event = EVENT_DUMP; + else if (sig == SIGUSR2) event = EVENT_REOPEN; + else return; + + send_event(pipewrite, event, 0); + errno = errsave; } } @@ -853,22 +855,17 @@ static void poll_resolv() } } -void clear_cache_and_reload(time_t now) -{ - if (daemon->port != 0) - cache_reload(); - +void clear_cache_and_reload(time_t now) { + if (daemon->port != 0) cache_reload(); + #ifdef HAVE_DHCP - if (daemon->dhcp) - { - if (daemon->options & OPT_ETHERS) - dhcp_read_ethers(); - reread_dhcp(); - dhcp_update_configs(daemon->dhcp_conf); - check_dhcp_hosts(0); - lease_update_from_configs(); - lease_update_file(now); - lease_update_dns(); + if (daemon->dhcp) { + reread_dhcp(); + dhcp_update_configs(daemon->dhcp_conf); + check_dhcp_hosts(0); + lease_update_from_configs(); + lease_update_file(now); + lease_update_dns(); } #endif } @@ -1139,7 +1136,7 @@ int icmp_ping(struct in_addr addr) int gotreply = 0; time_t start, now; -#if defined(HAVE_LINUX_NETWORK) || defined (HAVE_SOLARIS_NETWORK) +#if defined(HAVE_LINUX_NETWORK) if ((fd = make_icmp_sock()) == -1) return 0; #else @@ -1210,7 +1207,7 @@ int icmp_ping(struct in_addr addr) } } -#if defined(HAVE_LINUX_NETWORK) || defined(HAVE_SOLARIS_NETWORK) +#if defined(HAVE_LINUX_NETWORK) close(fd); #else opt = 1; diff --git a/src/dnsmasq.h b/src/dnsmasq.h index 2a78497..5b696b2 100755 --- a/src/dnsmasq.h +++ b/src/dnsmasq.h @@ -63,9 +63,6 @@ #include <arpa/inet.h> #include <sys/stat.h> #include <sys/ioctl.h> -#if defined(HAVE_SOLARIS_NETWORK) -#include <sys/sockio.h> -#endif #include <sys/select.h> #include <sys/wait.h> #include <sys/time.h> @@ -112,8 +109,6 @@ extern int capget(cap_user_header_t header, cap_user_data_t data); #define LINUX_CAPABILITY_VERSION_3 0x20080522 #include <sys/prctl.h> -#elif defined(HAVE_SOLARIS_NETWORK) -#include <priv.h> #endif /* daemon is function in the C library.... */ @@ -173,7 +168,6 @@ struct event_desc { #define OPT_NO_NEG (1u<<11) #define OPT_NODOTS_LOCAL (1u<<12) #define OPT_NOWILD (1u<<13) -#define OPT_ETHERS (1u<<14) #define OPT_RESOLV_DOMAIN (1u<<15) #define OPT_NO_FORK (1u<<16) #define OPT_AUTHORITATIVE (1u<<17) @@ -462,7 +456,6 @@ struct dhcp_config { #define CONFIG_ADDR 32 #define CONFIG_NETID 64 #define CONFIG_NOCLID 128 -#define CONFIG_FROM_ETHERS 256 /* entry created by /etc/ethers */ #define CONFIG_ADDR_HOSTS 512 /* address added by from /etc/hosts */ #define CONFIG_DECLINED 1024 /* address declined by client */ #define CONFIG_BANK 2048 /* from dhcp hosts file */ @@ -644,11 +637,7 @@ extern struct daemon { /* DHCP state */ int dhcpfd, helperfd; -#if defined(HAVE_LINUX_NETWORK) int netlinkfd; -#elif defined(HAVE_BSD_NETWORK) - int dhcp_raw_fd, dhcp_icmp_fd; -#endif struct iovec dhcp_packet; char *dhcp_buff, *dhcp_buff2; struct ping_result *ping_results; @@ -783,7 +772,6 @@ struct dhcp_config *find_config(struct dhcp_config *configs, unsigned char *hwaddr, int hw_len, int hw_type, char *hostname); void dhcp_update_configs(struct dhcp_config *configs); -void dhcp_read_ethers(void); void check_dhcp_hosts(int fatal); struct dhcp_config *config_find_by_address(struct dhcp_config *configs, struct in_addr addr); char *strip_hostname(char *hostname); @@ -833,13 +821,6 @@ void netlink_init(void); void netlink_multicast(void); #endif -/* bpf.c */ -#ifdef HAVE_BSD_NETWORK -void init_bpf(void); -void send_via_bpf(struct dhcp_packet *mess, size_t len, - struct in_addr iface_addr, struct ifreq *ifr); -#endif - /* bpf.c or netlink.c */ int iface_enumerate(void *parm, int (*ipv4_callback)(), int (*ipv6_callback)()); diff --git a/src/forward.c b/src/forward.c index a121123..4937fc0 100755 --- a/src/forward.c +++ b/src/forward.c @@ -591,9 +591,6 @@ void receive_query(struct listener *listen, time_t now) #endif #if defined(HAVE_LINUX_NETWORK) char control[CMSG_SPACE(sizeof(struct in_pktinfo))]; -#elif defined(IP_RECVDSTADDR) && defined(HAVE_SOLARIS_NETWORK) - char control[CMSG_SPACE(sizeof(struct in_addr)) + - CMSG_SPACE(sizeof(unsigned int))]; #elif defined(IP_RECVDSTADDR) char control[CMSG_SPACE(sizeof(struct in_addr)) + CMSG_SPACE(sizeof(struct sockaddr_dl))]; @@ -661,11 +658,7 @@ void receive_query(struct listener *listen, time_t now) if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_RECVDSTADDR) dst_addr_4 = dst_addr.addr.addr4 = *((struct in_addr *)CMSG_DATA(cmptr)); else if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_RECVIF) -#ifdef HAVE_SOLARIS_NETWORK - if_index = *((unsigned int *)CMSG_DATA(cmptr)); -#else if_index = ((struct sockaddr_dl *)CMSG_DATA(cmptr))->sdl_index; -#endif } #endif @@ -114,9 +114,7 @@ int log_reopen(char *log_file) return log_fd != -1; } else -#if defined(HAVE_SOLARIS_NETWORK) || defined(__ANDROID__) - /* Solaris logging is "different", /dev/log is not unix-domain socket. - Just leave log_fd == -1 and use the vsyslog call for everything.... */ +#if defined(__ANDROID__) # define _PATH_LOG "" /* dummy */ log_fd = -1; #else diff --git a/src/option.c b/src/option.c index 3b190ab..627754f 100755 --- a/src/option.c +++ b/src/option.c @@ -23,35 +23,6 @@ static volatile int mem_recover = 0; static jmp_buf mem_jmp; static void one_file(char *file, int nest, int hard_opt); -/* Solaris headers don't have facility names. */ -#ifdef HAVE_SOLARIS_NETWORK -static const struct { - char *c_name; - unsigned int c_val; -} facilitynames[] = { - { "kern", LOG_KERN }, - { "user", LOG_USER }, - { "mail", LOG_MAIL }, - { "daemon", LOG_DAEMON }, - { "auth", LOG_AUTH }, - { "syslog", LOG_SYSLOG }, - { "lpr", LOG_LPR }, - { "news", LOG_NEWS }, - { "uucp", LOG_UUCP }, - { "audit", LOG_AUDIT }, - { "cron", LOG_CRON }, - { "local0", LOG_LOCAL0 }, - { "local1", LOG_LOCAL1 }, - { "local2", LOG_LOCAL2 }, - { "local3", LOG_LOCAL3 }, - { "local4", LOG_LOCAL4 }, - { "local5", LOG_LOCAL5 }, - { "local6", LOG_LOCAL6 }, - { "local7", LOG_LOCAL7 }, - { NULL, 0 } -}; -#endif - #ifndef HAVE_GETOPT_LONG struct myoption { const char *name; @@ -116,7 +87,7 @@ static const struct myoption opts[] = { "help", 0, 0, 'w' }, { "no-daemon", 0, 0, 'd' }, { "log-queries", 0, 0, 'q' }, - { "user", 2, 0, 'u' }, + { "user", 1, 0, 'u' }, { "group", 2, 0, 'g' }, { "resolv-file", 2, 0, 'r' }, { "mx-host", 1, 0, 'm' }, @@ -155,7 +126,6 @@ static const struct myoption opts[] = { "domain-needed", 0, 0, 'D' }, { "dhcp-lease-max", 1, 0, 'X' }, { "bind-interfaces", 0, 0, 'z' }, - { "read-ethers", 0, 0, 'Z' }, { "alias", 1, 0, 'V' }, { "dhcp-vendorclass", 1, 0, 'U' }, { "dhcp-userclass", 1, 0, 'j' }, @@ -291,7 +261,6 @@ static struct { { LOPT_PTR, ARG_DUP, "name,target", gettext_noop("Specify PTR DNS record."), NULL }, { LOPT_INTNAME, ARG_DUP, "name,interface", gettext_noop("Give DNS name to IPv4 address of interface."), NULL }, { 'z', OPT_NOWILD, NULL, gettext_noop("Bind only to interfaces in use."), NULL }, - { 'Z', OPT_ETHERS, NULL, gettext_noop("Read DHCP static host information from %s."), ETHERSFILE }, { '1', OPT_DBUS, NULL, gettext_noop("Enable the DBus interface for setting upstream servers, etc."), NULL }, { '2', ARG_DUP, "interface", gettext_noop("Do not provide DHCP on this interface, only provide DNS."), NULL }, { '3', ARG_DUP, "[=<id>[,<id>]]", gettext_noop("Enable dynamic address allocation for bootp."), NULL }, |