Compare commits

...
6 Commits
7 changed files with 76 additions and 48 deletions

No files matched your search

+5
View File
@@ -125,6 +125,11 @@ version 2.67
range. This was originally to avoid SLAAC addresses, but
we now explicitly autoconfig and privacy addresses instead.
Update Polish translation. Thanks to Jan Psota.
Fix problem in DHCPv6 vendorclass/userclass matching
code. Thanks to Tanguy Bouzeloc for the patch.
version 2.66
Add the ability to act as an authoritative DNS
+5
View File
@@ -114,6 +114,11 @@ merge :
echo -n msgmerge $(PO)/$$f && $(MSGMERGE) --no-wrap -U $(PO)/$$f $(BUILDDIR)/dnsmasq.pot; \
done
# Cannonicalise .po file.
%.po :
@cd $(BUILDDIR) && $(MAKE) -f $(top)/Makefile dnsmasq.pot
mv $(PO)/$*.po $(PO)/$*.po.orig && $(MSGMERGE) --no-wrap $(PO)/$*.po.orig $(BUILDDIR)/dnsmasq.pot >$(PO)/$*.po;
$(BUILDDIR):
mkdir -p $(BUILDDIR)
+1 -1
View File
@@ -25,7 +25,7 @@ DEB_BUILD_ARCH_OS := $(shell dpkg-architecture -qDEB_BUILD_ARCH_OS)
# Force package version based on git tags.
ifneq (,$(filter gitversion,$(DEB_BUILD_OPTIONS)))
PACKAGE_VERSION = $(shell bld/get-version `pwd` | sed 's/[a-z]/~&/; s/-/./g; s/$$/-1/; s/^/-v/';)
PACKAGE_VERSION = $(shell bld/get-version `pwd` | sed 's/test/~&/; s/[a-z]/~&/; s/-/./g; s/$$/-1/; s/^/-v/';)
endif
ifeq (,$(filter nodbus,$(DEB_BUILD_OPTIONS)))
+27 -32
View File
@@ -10,15 +10,15 @@ msgstr ""
"Project-Id-Version: pl\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-06-10 20:57+0100\n"
"PO-Revision-Date: 2013-04-02 01:44+0200\n"
"PO-Revision-Date: 2013-10-01 23:23+0200\n"
"Last-Translator: Jan Psota <jasiupsota@gmail.com>\n"
"Language-Team: polski <>\n"
"Language: \n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\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: poedit-1.4.6.1\n"
"Content-Transfer-Encoding: 8bits\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Gtranslator 2.91.6\n"
"X-Language: pl_PL\n"
#: cache.c:808
@@ -535,7 +535,7 @@ msgstr "Traktowanie wskazanych serwerów pośredniczących DHCP jako działając
#: option.c:394
msgid "Relay DHCP requests to a remote server"
msgstr ""
msgstr "Przekazywanie żądań DHCP do zdalnego serwera"
#: option.c:395
msgid "Specify alias name for LOCAL DNS name."
@@ -579,7 +579,7 @@ msgstr "Załączenie anonsowania (RA) na interfejsach serwujących DHCPv6"
#: option.c:405
msgid "Always send frequent router-advertisements"
msgstr ""
msgstr "Rozsyłanie wielokrotne anonsów rutera (RA)"
#: option.c:406
msgid "Specify DUID_EN-type DHCPv6 server DUID"
@@ -627,7 +627,7 @@ msgstr "Wyszczególnienie ipset-ów, do których będą dopisywane adresy IP le
#: option.c:417
msgid "Specify a domain and address range for sythesised names"
msgstr ""
msgstr "Określenie domeny i zakresu adresów dla tworzonych nazw"
#: option.c:419
msgid "Specify DHCPv6 prefix class"
@@ -775,28 +775,24 @@ msgid "inconsistent DHCP range"
msgstr "niespójny zakres adresów DHCP"
#: option.c:2459
#, fuzzy
msgid "prefix length must be exactly 64 for RA subnets"
msgstr "prefix musi mieć wartość =64 dla podsieci RA"
msgstr "długość prefiksu musi wynosić dokładnie 64 dla podsieci RA"
#: option.c:2461
#, fuzzy
msgid "prefix length must be exactly 64 for subnet constructors"
msgstr "prefix dla podsieci musi wynosić równo 64"
msgstr "długość prefiksu musi wynosić dokładnie 64 dla konstruktorów podsieci"
#: option.c:2465
#, fuzzy
msgid "prefix length must be at least 64"
msgstr "prefix musi mieć wartość >=64"
msgstr "długość prefiksu musi wynosić co najmniej 64"
#: option.c:2468
msgid "inconsistent DHCPv6 range"
msgstr "niespójny zakres adresów DHCPv6"
#: option.c:2479
#, fuzzy
msgid "prefix must be zero with \"constructor:\" argument"
msgstr "prefix dla podsieci musi wynosić równo 64"
msgstr "prefiks musi wynosić zero z argumentem \"constructor:\""
#: option.c:2590 option.c:2638
msgid "bad hex constant"
@@ -828,9 +824,8 @@ msgid "bad dhcp-proxy address"
msgstr "zły adres dhcp-proxy"
#: option.c:3210
#, fuzzy
msgid "Bad dhcp-relay"
msgstr "nieprawidłowy zakres dhcp-range"
msgstr "zły dhcp-relay"
#: option.c:3220
msgid "bad DUID"
@@ -1020,9 +1015,9 @@ msgid "possible DNS-rebind attack detected: %s"
msgstr "prawdopodobnie wykryto atak DNS-rebind: %s"
#: forward.c:1216
#, fuzzy, c-format
#, c-format
msgid "Maximum number of concurrent DNS queries reached (max: %d)"
msgstr "Maksymalna liczba jednocześnie obsługiwanych zapytań DNS (domyślnie: %s)"
msgstr "Osiągnięto graniczną ilość jednocześnie obsługiwanych zapytań DNS (maks: %d)"
#: network.c:551
#, c-format
@@ -1212,7 +1207,7 @@ msgstr "włączono asynchroniczny tryb zapisu do logów z kolejką na %d komunik
#: dnsmasq.c:659
msgid "IPv6 router advertisement enabled"
msgstr "anonsowanie routera IPv4 włączone"
msgstr "anonsowanie rutera IPv6 włączone"
#: dnsmasq.c:676
msgid "root is "
@@ -1367,7 +1362,7 @@ msgstr "w %s pomijam linię %d -- powtórzona nazwa lub adres IP"
#: dhcp.c:993 rfc3315.c:2047
#, c-format
msgid "DHCP relay %s -> %s"
msgstr ""
msgstr "przekazywanie DHCP %s -> %s"
#: lease.c:61
#, c-format
@@ -1685,9 +1680,9 @@ msgid "%u vendor class: %u"
msgstr "%u klasa dostawcy: %u"
#: rfc3315.c:418
#, fuzzy, c-format
#, c-format
msgid "%u client MAC address: %s"
msgstr "klient %u przedstawia się jako %s"
msgstr "adres MAC klienta %u: %s"
#: rfc3315.c:650
#, c-format
@@ -1736,7 +1731,7 @@ msgstr "adres został zwolniony"
#: rfc3315.c:2038
msgid "Cannot multicast to DHCPv6 server without correct interface"
msgstr ""
msgstr "Nie mogę rozesłać do serwerów DHCPv6 nie mając prawidłowego interfejsu"
#: dhcp-common.c:145
#, c-format
@@ -1802,25 +1797,25 @@ msgstr "%s, wykryto pośrednika na podsieci %.0s%s%.0s%.0s"
msgid "%s, IP range %s -- %s%s%.0s"
msgstr "%s, zakres IP %s -- %s%s%.0s"
#: dhcp-common.c:861
#: dhcp-common.c:866
#, c-format
msgid "DHCPv4-derived IPv6 names on %s%s"
msgstr "pochodzące z DHCPv4 nazwy IPv6 na %s%s"
#: dhcp-common.c:864
#: dhcp-common.c:869
#, c-format
msgid "router advertisement on %s%s"
msgstr "anonsowanie routera na %s%s"
msgstr "anonsowanie rutera na %s%s"
#: dhcp-common.c:875
#: dhcp-common.c:880
#, c-format
msgid "DHCP relay from %s to %s via %s"
msgstr ""
msgstr "przekazywanie DHCP z %s do %s za pomocą %s"
#: dhcp-common.c:877
#: dhcp-common.c:882
#, c-format
msgid "DHCP relay from %s to %s"
msgstr ""
msgstr "przekazywanie DHCP z %s do %s"
#: radv.c:93
#, c-format
+27 -11
View File
@@ -830,11 +830,11 @@ void log_context(int family, struct dhcp_context *context)
if (indextoname(daemon->icmp6fd, context->if_index, ifrn_name))
sprintf(p, "%s for %s", (context->flags & CONTEXT_OLD) ? "old prefix" : "constructed", ifrn_name);
}
else if (context->flags & CONTEXT_TEMPLATE)
else if (context->flags & CONTEXT_TEMPLATE && !(context->flags & CONTEXT_RA_STATELESS))
{
template = p;
p += sprintf(p, ", ");
sprintf(p, "template for %s", context->template_interface);
}
#endif
@@ -842,21 +842,37 @@ void log_context(int family, struct dhcp_context *context)
if (!(context->flags & CONTEXT_OLD) &&
((context->flags & CONTEXT_DHCP) || family == AF_INET))
{
inet_ntop(family, start, daemon->dhcp_buff, 256);
#ifdef HAVE_DHCP6
if (context->flags & CONTEXT_RA_STATELESS)
{
if (context->flags & CONTEXT_TEMPLATE)
strncpy(daemon->dhcp_buff, context->template_interface, 256);
else
strcpy(daemon->dhcp_buff, daemon->addrbuff);
}
else
#endif
inet_ntop(family, start, daemon->dhcp_buff, 256);
inet_ntop(family, end, daemon->dhcp_buff3, 256);
my_syslog(MS_DHCP | LOG_INFO,
(context->flags & CONTEXT_RA_STATELESS) ?
_("%s stateless on %s%.0s%.0s%s") :
(context->flags & CONTEXT_STATIC) ?
_("%s, static leases only on %.0s%s%s%.0s") :
(context->flags & CONTEXT_PROXY) ?
_("%s, proxy on subnet %.0s%s%.0s%.0s") :
_("%s, IP range %s -- %s%s%.0s"),
(family != AF_INET) ? "DHCPv6" : "DHCP",
(context->flags & CONTEXT_RA_STATELESS) ?
_("%s stateless on %s%.0s%.0s%s") :
(context->flags & CONTEXT_STATIC) ?
_("%s, static leases only on %.0s%s%s%.0s") :
(context->flags & CONTEXT_PROXY) ?
_("%s, proxy on subnet %.0s%s%.0s%.0s") :
_("%s, IP range %s -- %s%s%.0s"),
(family != AF_INET) ? "DHCPv6" : "DHCP",
daemon->dhcp_buff, daemon->dhcp_buff3, daemon->namebuff, template);
}
#ifdef HAVE_DHCP6
if (context->flags & CONTEXT_TEMPLATE)
{
strcpy(daemon->addrbuff, context->template_interface);
template = "";
}
if ((context->flags & CONTEXT_RA_NAME) && !(context->flags & CONTEXT_OLD))
my_syslog(MS_DHCP | LOG_INFO, _("DHCPv4-derived IPv6 names on %s%s"), daemon->addrbuff, template);
+3 -1
View File
@@ -64,8 +64,10 @@ struct script_data
#ifdef HAVE_TFTP
off_t file_len;
#endif
#ifdef HAVE_DHCP6
#ifdef HAVE_IPV6
struct in6_addr addr6;
#endif
#ifdef HAVE_DHCP6
int iaid, vendorclass_count;
#endif
unsigned char hwaddr[DHCP_CHADDR_MAX];
+8 -3
View File
@@ -66,6 +66,10 @@ static void calculate_times(struct dhcp_context *context, unsigned int *min_time
#define opt6_type(opt) (opt6_uint(opt, -4, 2))
#define opt6_ptr(opt, i) ((void *)&(((unsigned char *)(opt))[4+(i)]))
#define opt6_user_vendor_ptr(opt, i) ((void *)&(((unsigned char *)(opt))[2+(i)]))
#define opt6_user_vendor_len(opt) ((int)(opt6_uint(opt, -4, 2)))
#define opt6_user_vendor_next(opt, end) (opt6_next(((void *) opt) - 2, end))
unsigned short dhcp6_reply(struct dhcp_context *context, int interface, char *iface_name,
struct in6_addr *fallback, size_t sz, struct in6_addr *client_addr, time_t now)
@@ -355,9 +359,10 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_
offset = 4;
}
for (enc_opt = opt6_ptr(opt, offset); enc_opt; enc_opt = opt6_next(enc_opt, enc_end))
for (i = 0; i <= (opt6_len(enc_opt) - vendor->len); i++)
if (memcmp(vendor->data, opt6_ptr(enc_opt, i), vendor->len) == 0)
/* Note that format if user/vendor classes is different to DHCP options - no option types. */
for (enc_opt = opt6_ptr(opt, offset); enc_opt; enc_opt = opt6_user_vendor_next(enc_opt, enc_end))
for (i = 0; i <= (opt6_user_vendor_len(enc_opt) - vendor->len); i++)
if (memcmp(vendor->data, opt6_user_vendor_ptr(enc_opt, i), vendor->len) == 0)
{
vendor->netid.next = state->tags;
state->tags = &vendor->netid;