From 7cbd533265e97b3f7d288f1d287e6a5699ebace8 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Sat, 9 May 2015 21:21:34 +0200 Subject: [PATCH 01/37] dnsmasq: import latest upstream patches --- lfs/dnsmasq | 4 +- ...mentation-of-large-packets-is-broken.patch | 331 ++++++++++++++++++ ...ped-IPv6-addresses-with--stop-rebind.patch | 58 +++ 3 files changed, 392 insertions(+), 1 deletion(-) create mode 100644 src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch create mode 100644 src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch diff --git a/lfs/dnsmasq b/lfs/dnsmasq index b98e66217..7e6e849eb 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2015 Michael Tremer & Christian Schmidt # # # # 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 # @@ -160,6 +160,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \ diff --git a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch new file mode 100644 index 000000000..0b12cb803 --- /dev/null +++ b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch @@ -0,0 +1,331 @@ +From a77cec8d58231d71cbc26615f0c0f0292c09ef54 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Fri, 8 May 2015 16:25:38 +0100 +Subject: [PATCH] Handle UDP packet loss when fragmentation of large packets + is broken. + +--- + CHANGELOG | 6 ++++++ + src/config.h | 1 + + src/dnsmasq.h | 5 +++-- + src/dnssec.c | 11 +++++++++-- + src/forward.c | 37 +++++++++++++++++++++++++++++-------- + src/network.c | 1 + + src/option.c | 18 +++++++++++------- + src/rfc1035.c | 22 ++++++---------------- + 8 files changed, 66 insertions(+), 35 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index af2b22c..d8fc57a 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -109,6 +109,12 @@ version 2.73 + by quiet-dhcp6. Thanks to J. Pablo Abonia for + spotting the problem. + ++ Try and handle net connections with broken fragmentation ++ that lose large UDP packets. If a server times out, ++ reduce the maximum UDP packet size field in the EDNS0 ++ header to 1280 bytes. If it then answers, make that ++ change permanent. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/config.h b/src/config.h +index 8def6f2..f75fe9d 100644 +--- a/src/config.h ++++ b/src/config.h +@@ -19,6 +19,7 @@ + #define CHILD_LIFETIME 150 /* secs 'till terminated (RFC1035 suggests > 120s) */ + #define TCP_MAX_QUERIES 100 /* Maximum number of queries per incoming TCP connection */ + #define EDNS_PKTSZ 4096 /* default max EDNS.0 UDP packet from RFC5625 */ ++#define SAFE_PKTSZ 1280 /* "go anywhere" UDP packet size */ + #define KEYBLOCK_LEN 40 /* choose to mininise fragmentation when storing DNSSEC keys */ + #define DNSSEC_WORK 50 /* Max number of queries to validate one question */ + #define TIMEOUT 10 /* drop UDP queries after TIMEOUT seconds */ +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index 824a860..ab16f79 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -504,7 +504,7 @@ struct server { + char interface[IF_NAMESIZE+1]; + struct serverfd *sfd; + char *domain; /* set if this server only handles a domain. */ +- int flags, tcpfd; ++ int flags, tcpfd, edns_pktsz; + unsigned int queries, failed_queries; + #ifdef HAVE_LOOP + u32 uid; +@@ -594,6 +594,7 @@ struct hostsfile { + #define FREC_DO_QUESTION 64 + #define FREC_ADDED_PHEADER 128 + #define FREC_CHECK_NOSIGN 256 ++#define FREC_TEST_PKTSZ 512 + + #ifdef HAVE_DNSSEC + #define HASH_SIZE 20 /* SHA-1 digest size */ +@@ -1148,7 +1149,7 @@ int in_zone(struct auth_zone *zone, char *name, char **cut); + #endif + + /* dnssec.c */ +-size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr); ++size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr, int edns_pktsz); + int dnssec_validate_by_ds(time_t now, struct dns_header *header, size_t n, char *name, char *keyname, int class); + int dnssec_validate_ds(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int class); + int dnssec_validate_reply(time_t now, struct dns_header *header, size_t plen, char *name, char *keyname, int *class, int *neganswer, int *nons); +diff --git a/src/dnssec.c b/src/dnssec.c +index a9e1215..e91d7c2 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -2162,10 +2162,12 @@ int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen) + } + } + +-size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, int type, union mysockaddr *addr) ++size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, int class, ++ int type, union mysockaddr *addr, int edns_pktsz) + { + unsigned char *p; + char *types = querystr("dnssec-query", type); ++ size_t ret; + + if (addr->sa.sa_family == AF_INET) + log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, name, (struct all_addr *)&addr->in.sin_addr, types); +@@ -2194,7 +2196,12 @@ size_t dnssec_generate_query(struct dns_header *header, char *end, char *name, i + PUTSHORT(type, p); + PUTSHORT(class, p); + +- return add_do_bit(header, p - (unsigned char *)header, end); ++ ret = add_do_bit(header, p - (unsigned char *)header, end); ++ ++ if (find_pseudoheader(header, ret, NULL, &p, NULL)) ++ PUTSHORT(edns_pktsz, p); ++ ++ return ret; + } + + /* Go through a domain name, find "pointers" and fix them up based on how many bytes +diff --git a/src/forward.c b/src/forward.c +index a8e403c..592243f 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -253,6 +253,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + void *hash = &crc; + #endif + unsigned int gotname = extract_request(header, plen, daemon->namebuff, NULL); ++ unsigned char *pheader; + + (void)do_bit; + +@@ -261,19 +262,32 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + forward = NULL; + else if (forward || (hash && (forward = lookup_frec_by_sender(ntohs(header->id), udpaddr, hash)))) + { ++ /* If we didn't get an answer advertising a maximal packet in EDNS, ++ fall back to 1280, which should work everywhere on IPv6. ++ If that generates an answer, it will become the new default ++ for this server */ ++ forward->flags |= FREC_TEST_PKTSZ; ++ + #ifdef HAVE_DNSSEC + /* If we've already got an answer to this query, but we're awaiting keys for validation, + there's no point retrying the query, retry the key query instead...... */ + if (forward->blocking_query) + { + int fd; +- ++ ++ forward->flags &= ~FREC_TEST_PKTSZ; ++ + while (forward->blocking_query) + forward = forward->blocking_query; ++ ++ forward->flags |= FREC_TEST_PKTSZ; + + blockdata_retrieve(forward->stash, forward->stash_len, (void *)header); + plen = forward->stash_len; + ++ if (find_pseudoheader(header, plen, NULL, &pheader, NULL)) ++ PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : forward->sentto->edns_pktsz, pheader); ++ + if (forward->sentto->addr.sa.sa_family == AF_INET) + log_query(F_NOEXTRA | F_DNSSEC | F_IPV4, "retry", (struct all_addr *)&forward->sentto->addr.in.sin_addr, "dnssec"); + #ifdef HAVE_IPV6 +@@ -417,7 +431,7 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + plen = new_plen; + } + #endif +- ++ + while (1) + { + /* only send to servers dealing with our domain. +@@ -464,6 +478,9 @@ static int forward_query(int udpfd, union mysockaddr *udpaddr, + } + #endif + } ++ ++ if (find_pseudoheader(header, plen, NULL, &pheader, NULL)) ++ PUTSHORT((forward->flags & FREC_TEST_PKTSZ) ? SAFE_PKTSZ : start->edns_pktsz, pheader); + + if (retry_send(sendto(fd, (char *)header, plen, 0, + &start->addr.sa, +@@ -760,7 +777,6 @@ void reply_query(int fd, int family, time_t now) + } + + server = forward->sentto; +- + if ((forward->sentto->flags & SERV_TYPE) == 0) + { + if (RCODE(header) == REFUSED) +@@ -781,7 +797,12 @@ void reply_query(int fd, int family, time_t now) + if (!option_bool(OPT_ALL_SERVERS)) + daemon->last_server = server; + } +- ++ ++ /* We tried resending to this server with a smaller maximum size and got an answer. ++ Make that permanent. */ ++ if (server && (forward->flags & FREC_TEST_PKTSZ)) ++ server->edns_pktsz = SAFE_PKTSZ; ++ + /* If the answer is an error, keep the forward record in place in case + we get a good reply from another server. Kill it when we've + had replies from all to avoid filling the forwarding table when +@@ -890,7 +911,7 @@ void reply_query(int fd, int family, time_t now) + { + new->flags |= FREC_DNSKEY_QUERY; + nn = dnssec_generate_query(header, ((char *) header) + daemon->packet_buff_sz, +- daemon->keyname, forward->class, T_DNSKEY, &server->addr); ++ daemon->keyname, forward->class, T_DNSKEY, &server->addr, server->edns_pktsz); + } + else + { +@@ -899,7 +920,7 @@ void reply_query(int fd, int family, time_t now) + else + new->flags |= FREC_DS_QUERY; + nn = dnssec_generate_query(header,((char *) header) + daemon->packet_buff_sz, +- daemon->keyname, forward->class, T_DS, &server->addr); ++ daemon->keyname, forward->class, T_DS, &server->addr, server->edns_pktsz); + } + if ((hash = hash_questions(header, nn, daemon->namebuff))) + memcpy(new->hash, hash, HASH_SIZE); +@@ -1526,7 +1547,7 @@ static int tcp_check_for_unsigned_zone(time_t now, struct dns_header *header, s + + /* Can't find it in the cache, have to send a query */ + +- m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr); ++ m = dnssec_generate_query(header, ((char *) header) + 65536, name_start, class, T_DS, &server->addr, server->edns_pktsz); + + *length = htons(m); + +@@ -1638,7 +1659,7 @@ static int tcp_key_recurse(time_t now, int status, struct dns_header *header, si + + another_tcp_key: + m = dnssec_generate_query(new_header, ((char *) new_header) + 65536, keyname, class, +- new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr); ++ new_status == STAT_NEED_KEY ? T_DNSKEY : T_DS, &server->addr, server->edns_pktsz); + + *length = htons(m); + +diff --git a/src/network.c b/src/network.c +index 992f023..a1d90c8 100644 +--- a/src/network.c ++++ b/src/network.c +@@ -1396,6 +1396,7 @@ void add_update_server(int flags, + serv->domain = domain_str; + serv->next = next; + serv->queries = serv->failed_queries = 0; ++ serv->edns_pktsz = daemon->edns_pktsz; + #ifdef HAVE_LOOP + serv->uid = rand32(); + #endif +diff --git a/src/option.c b/src/option.c +index f91cfbb..c7add88 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -4498,15 +4498,19 @@ void read_opts(int argc, char **argv, char *compile_opts) + { + struct server *tmp; + for (tmp = daemon->servers; tmp; tmp = tmp->next) +- if (!(tmp->flags & SERV_HAS_SOURCE)) +- { +- if (tmp->source_addr.sa.sa_family == AF_INET) +- tmp->source_addr.in.sin_port = htons(daemon->query_port); ++ { ++ tmp->edns_pktsz = daemon->edns_pktsz; ++ ++ if (!(tmp->flags & SERV_HAS_SOURCE)) ++ { ++ if (tmp->source_addr.sa.sa_family == AF_INET) ++ tmp->source_addr.in.sin_port = htons(daemon->query_port); + #ifdef HAVE_IPV6 +- else if (tmp->source_addr.sa.sa_family == AF_INET6) +- tmp->source_addr.in6.sin6_port = htons(daemon->query_port); ++ else if (tmp->source_addr.sa.sa_family == AF_INET6) ++ tmp->source_addr.in6.sin6_port = htons(daemon->query_port); + #endif +- } ++ } ++ } + } + + if (daemon->if_addrs) +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 5828055..8b1709d 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -552,7 +552,7 @@ static size_t add_pseudoheader(struct dns_header *header, size_t plen, unsigned + return plen; + *p++ = 0; /* empty name */ + PUTSHORT(T_OPT, p); +- PUTSHORT(daemon->edns_pktsz, p); /* max packet length */ ++ PUTSHORT(SAFE_PKTSZ, p); /* max packet length, this will be overwritten */ + PUTSHORT(0, p); /* extended RCODE and version */ + PUTSHORT(set_do ? 0x8000 : 0, p); /* DO flag */ + lenp = p; +@@ -1537,7 +1537,6 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + unsigned short flag; + int q, ans, anscount = 0, addncount = 0; + int dryrun = 0, sec_reqd = 0, have_pseudoheader = 0; +- int is_sign; + struct crec *crecp; + int nxdomain = 0, auth = 1, trunc = 0, sec_data = 1; + struct mx_srv_record *rec; +@@ -1557,28 +1556,19 @@ size_t answer_request(struct dns_header *header, char *limit, size_t qlen, + forward rather than answering from the cache, which doesn't include + security information, unless we're in DNSSEC validation mode. */ + +- if (find_pseudoheader(header, qlen, NULL, &pheader, &is_sign)) ++ if (find_pseudoheader(header, qlen, NULL, &pheader, NULL)) + { +- unsigned short udpsz, flags; +- unsigned char *psave = pheader; +- ++ unsigned short flags; ++ + have_pseudoheader = 1; + +- GETSHORT(udpsz, pheader); +- pheader += 2; /* ext_rcode */ ++ pheader += 4; /* udp size, ext_rcode */ + GETSHORT(flags, pheader); + + if ((sec_reqd = flags & 0x8000)) + *do_bit = 1;/* do bit */ +- *ad_reqd = 1; +- +- /* If our client is advertising a larger UDP packet size +- than we allow, trim it so that we don't get an overlarge +- response from upstream */ +- +- if (!is_sign && (udpsz > daemon->edns_pktsz)) +- PUTSHORT(daemon->edns_pktsz, psave); + ++ *ad_reqd = 1; + dryrun = 1; + } + +-- +1.7.10.4 diff --git a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch new file mode 100644 index 000000000..33463b692 --- /dev/null +++ b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch @@ -0,0 +1,58 @@ +From b059c96dc69dfe3055c5b32b078a05c53b11ebb3 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Fri, 8 May 2015 20:25:51 +0100 +Subject: [PATCH] Check IPv4-mapped IPv6 addresses with --stop-rebind. + +--- + CHANGELOG | 3 +++ + src/rfc1035.c | 21 +++++++++++++++++---- + 2 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index d8fc57a..94a521f 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -115,6 +115,9 @@ version 2.73 + header to 1280 bytes. If it then answers, make that + change permanent. + ++ Check IPv4-mapped IPv6 addresses when --stop-rebind ++ is active. Thanks to Jordan Milne for spotting this. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 8b1709d..5e3f566 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -1117,10 +1117,23 @@ int extract_addresses(struct dns_header *header, size_t qlen, char *name, time_t + memcpy(&addr, p1, addrlen); + + /* check for returned address in private space */ +- if (check_rebind && +- (flags & F_IPV4) && +- private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND))) +- return 1; ++ if (check_rebind) ++ { ++ if ((flags & F_IPV4) && ++ private_net(addr.addr.addr4, !option_bool(OPT_LOCAL_REBIND))) ++ return 1; ++ ++#ifdef HAVE_IPV6 ++ if ((flags & F_IPV6) && ++ IN6_IS_ADDR_V4MAPPED(&addr.addr.addr6)) ++ { ++ struct in_addr v4; ++ v4.s_addr = ((const uint32_t *) (&addr.addr.addr6))[3]; ++ if (private_net(v4, !option_bool(OPT_LOCAL_REBIND))) ++ return 1; ++ } ++#endif ++ } + + #ifdef HAVE_IPSET + if (ipsets && (flags & (F_IPV4 | F_IPV6))) +-- +1.7.10.4 From bbe4537de3ef49c0d584896374876e5a3cdece75 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Sun, 17 May 2015 00:39:39 +0200 Subject: [PATCH 02/37] dnsmasq: again - latest upstream patches --- lfs/dnsmasq | 5 + .../0090-Tweak-EDNS-timeout-code.patch | 29 +++ ...hive-mailing-list-mirror-in-doc-html.patch | 27 +++ ...w-T1-and-T2-DHCPv4-options-to-be-set.patch | 200 ++++++++++++++++++ ...DHCP-context-for-PXE-proxy-server-id.patch | 29 +++ ...uffer-overflow-introduced-in-2-73rc6.patch | 49 +++++ 6 files changed, 339 insertions(+) create mode 100644 src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch create mode 100644 src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch create mode 100644 src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch create mode 100644 src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch create mode 100644 src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 7e6e849eb..3dac04285 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -162,6 +162,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-packets-is-broken.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with--stop-rebind.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \ diff --git a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch new file mode 100644 index 000000000..de1e0e6ef --- /dev/null +++ b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch @@ -0,0 +1,29 @@ +From 86fa1046920dedc8134136a6244ca96e8a37e9d8 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sun, 10 May 2015 13:50:59 +0100 +Subject: [PATCH] Tweak EDNS timeout code. + +--- + src/forward.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/forward.c b/src/forward.c +index 592243f..74e5ab6 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -799,8 +799,10 @@ void reply_query(int fd, int family, time_t now) + } + + /* We tried resending to this server with a smaller maximum size and got an answer. +- Make that permanent. */ +- if (server && (forward->flags & FREC_TEST_PKTSZ)) ++ Make that permanent. To avoid reduxing the packet size for an single dropped packet, ++ only do this when we get a truncated answer, or one larger than the safe size. */ ++ if (server && (forward->flags & FREC_TEST_PKTSZ) && ++ ((header->hb3 & HB3_TC) || n >= SAFE_PKTSZ)) + server->edns_pktsz = SAFE_PKTSZ; + + /* If the answer is an error, keep the forward record in place in case +-- +1.7.10.4 + diff --git a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch new file mode 100644 index 000000000..6ebfa81fb --- /dev/null +++ b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc-html.patch @@ -0,0 +1,27 @@ +From 585840b03365372679907f175b07a01c9d621ae0 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Wed, 13 May 2015 12:35:57 +0100 +Subject: [PATCH] Pointer to mail-archive mailing list mirror in doc.html. + +--- + doc.html | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/doc.html b/doc.html +index 92c9d0d..54f59bb 100644 +--- a/doc.html ++++ b/doc.html +@@ -74,7 +74,9 @@ for details. + There is a dnsmasq mailing list at + http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss which should be the +-first location for queries, bugreports, suggestions etc. ++first location for queries, bugreports, suggestions etc. The list is mirrored, with a ++search facility, at ++https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/. + You can contact me at simon@thekelleys.org.uk. + +-- +1.7.10.4 + diff --git a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch new file mode 100644 index 000000000..a0987679c --- /dev/null +++ b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch @@ -0,0 +1,200 @@ +From ca85a28241ef87919d68d52c843b6964b7070e11 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Wed, 13 May 2015 22:33:04 +0100 +Subject: [PATCH] Allow T1 and T2 DHCPv4 options to be set. + +--- + CHANGELOG | 3 +++ + dnsmasq.conf.example | 8 ++++++ + src/dhcp-common.c | 4 +-- + src/rfc2131.c | 71 +++++++++++++++++++++++++++++++++++--------------- + 4 files changed, 63 insertions(+), 23 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index 94a521f..ef39a41 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -118,6 +118,9 @@ version 2.73 + Check IPv4-mapped IPv6 addresses when --stop-rebind + is active. Thanks to Jordan Milne for spotting this. + ++ Allow DHCPv4 options T1 and T2 to be set using --dhcp-option. ++ Thanks to Kevin Benton for patches and work on this. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example +index 67be99a..1ae11df 100644 +--- a/dnsmasq.conf.example ++++ b/dnsmasq.conf.example +@@ -345,6 +345,14 @@ + # Ask client to poll for option changes every six hours. (RFC4242) + #dhcp-option=option6:information-refresh-time,6h + ++# Set option 58 client renewal time (T1). Defaults to half of the ++# lease time if not specified. (RFC2132) ++#dhcp-option=option:T1:1m ++ ++# Set option 59 rebinding time (T2). Defaults to 7/8 of the ++# lease time if not specified. (RFC2132) ++#dhcp-option=option:T2:2m ++ + # Set the NTP time server address to be the same machine as + # is running dnsmasq + #dhcp-option=42,0.0.0.0 +diff --git a/src/dhcp-common.c b/src/dhcp-common.c +index ce11520..bc48f41 100644 +--- a/src/dhcp-common.c ++++ b/src/dhcp-common.c +@@ -545,8 +545,8 @@ static const struct opttab_t { + { "parameter-request", 55, OT_INTERNAL }, + { "message", 56, OT_INTERNAL }, + { "max-message-size", 57, OT_INTERNAL }, +- { "T1", 58, OT_INTERNAL | OT_TIME}, +- { "T2", 59, OT_INTERNAL | OT_TIME}, ++ { "T1", 58, OT_TIME}, ++ { "T2", 59, OT_TIME}, + { "vendor-class", 60, 0 }, + { "client-id", 61, OT_INTERNAL }, + { "nis+-domain", 64, OT_NAME }, +diff --git a/src/rfc2131.c b/src/rfc2131.c +index 5552644..a10e499 100644 +--- a/src/rfc2131.c ++++ b/src/rfc2131.c +@@ -52,7 +52,9 @@ static void do_options(struct dhcp_context *context, + int null_term, int pxearch, + unsigned char *uuid, + int vendor_class_len, +- time_t now); ++ time_t now, ++ unsigned int lease_time, ++ unsigned short fuzz); + + + static void match_vendor_opts(unsigned char *opt, struct dhcp_opt *dopt); +@@ -610,7 +612,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, + + clear_packet(mess, end); + do_options(context, mess, end, NULL, hostname, get_domain(mess->yiaddr), +- netid, subnet_addr, 0, 0, -1, NULL, vendor_class_len, now); ++ netid, subnet_addr, 0, 0, -1, NULL, vendor_class_len, now, 0xffffffff, 0); + } + } + +@@ -1042,13 +1044,8 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, + option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr)); + option_put(mess, end, OPTION_LEASE_TIME, 4, time); + /* T1 and T2 are required in DHCPOFFER by HP's wacky Jetdirect client. */ +- if (time != 0xffffffff) +- { +- option_put(mess, end, OPTION_T1, 4, (time/2)); +- option_put(mess, end, OPTION_T2, 4, (time*7)/8); +- } + do_options(context, mess, end, req_options, offer_hostname, get_domain(mess->yiaddr), +- netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now); ++ netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, time, fuzz); + + return dhcp_packet_size(mess, agent_id, real_end); + +@@ -1367,15 +1364,8 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, + option_put(mess, end, OPTION_MESSAGE_TYPE, 1, DHCPACK); + option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, ntohl(server_id(context, override, fallback).s_addr)); + option_put(mess, end, OPTION_LEASE_TIME, 4, time); +- if (time != 0xffffffff) +- { +- while (fuzz > (time/16)) +- fuzz = fuzz/2; +- option_put(mess, end, OPTION_T1, 4, (time/2) - fuzz); +- option_put(mess, end, OPTION_T2, 4, ((time/8)*7) - fuzz); +- } + do_options(context, mess, end, req_options, hostname, get_domain(mess->yiaddr), +- netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now); ++ netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, time, fuzz); + } + + return dhcp_packet_size(mess, agent_id, real_end); +@@ -1440,7 +1430,7 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, + } + + do_options(context, mess, end, req_options, hostname, get_domain(mess->ciaddr), +- netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now); ++ netid, subnet_addr, fqdn_flags, borken_opt, pxearch, uuid, vendor_class_len, now, 0xffffffff, 0); + + *is_inform = 1; /* handle reply differently */ + return dhcp_packet_size(mess, agent_id, real_end); +@@ -2137,7 +2127,9 @@ static void do_options(struct dhcp_context *context, + int null_term, int pxe_arch, + unsigned char *uuid, + int vendor_class_len, +- time_t now) ++ time_t now, ++ unsigned int lease_time, ++ unsigned short fuzz) + { + struct dhcp_opt *opt, *config_opts = daemon->dhcp_opts; + struct dhcp_boot *boot; +@@ -2261,7 +2253,42 @@ static void do_options(struct dhcp_context *context, + /* rfc3011 says this doesn't need to be in the requested options list. */ + if (subnet_addr.s_addr) + option_put(mess, end, OPTION_SUBNET_SELECT, INADDRSZ, ntohl(subnet_addr.s_addr)); +- ++ ++ if (lease_time != 0xffffffff) ++ { ++ unsigned int t1val = lease_time/2; ++ unsigned int t2val = (lease_time*7)/8; ++ unsigned int hval; ++ ++ /* If set by user, sanity check, so not longer than lease. */ ++ if ((opt = option_find2(OPTION_T1))) ++ { ++ hval = ntohl(*((unsigned int *)opt->val)); ++ if (hval < lease_time && hval > 2) ++ t1val = hval; ++ } ++ ++ if ((opt = option_find2(OPTION_T2))) ++ { ++ hval = ntohl(*((unsigned int *)opt->val)); ++ if (hval < lease_time && hval > 2) ++ t2val = hval; ++ } ++ ++ /* ensure T1 is still < T2 */ ++ if (t2val <= t1val) ++ t1val = t2val - 1; ++ ++ while (fuzz > (t1val/8)) ++ fuzz = fuzz/2; ++ ++ t1val -= fuzz; ++ t2val -= fuzz; ++ ++ option_put(mess, end, OPTION_T1, 4, t1val); ++ option_put(mess, end, OPTION_T2, 4, t2val); ++ } ++ + /* replies to DHCPINFORM may not have a valid context */ + if (context) + { +@@ -2356,12 +2383,14 @@ static void do_options(struct dhcp_context *context, + if (!(opt->flags & DHOPT_FORCE) && !in_list(req_options, optno)) + continue; + +- /* prohibit some used-internally options */ ++ /* prohibit some used-internally options. T1 and T2 already handled. */ + if (optno == OPTION_CLIENT_FQDN || + optno == OPTION_MAXMESSAGE || + optno == OPTION_OVERLOAD || + optno == OPTION_PAD || +- optno == OPTION_END) ++ optno == OPTION_END || ++ optno == OPTION_T1 || ++ optno == OPTION_T2) + continue; + + if (optno == OPTION_SNAME && done_server) +-- +1.7.10.4 + diff --git a/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch b/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch new file mode 100644 index 000000000..64efd4f41 --- /dev/null +++ b/src/patches/dnsmasq/0093-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch @@ -0,0 +1,29 @@ +From 62018e1f720fa11e83879111a4b1b3753b5c25bb Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Thu, 14 May 2015 21:30:00 +0100 +Subject: [PATCH] Use correct DHCP context for PXE-proxy server-id. + +--- + src/rfc2131.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/rfc2131.c b/src/rfc2131.c +index b95f9be..70d1e59 100644 +--- a/src/rfc2131.c ++++ b/src/rfc2131.c +@@ -888,10 +888,10 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index, + + option_put(mess, end, OPTION_MESSAGE_TYPE, 1, + mess_type == DHCPDISCOVER ? DHCPOFFER : DHCPACK); +- option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(context->local.s_addr)); ++ option_put(mess, end, OPTION_SERVER_IDENTIFIER, INADDRSZ, htonl(tmp->local.s_addr)); + pxe_misc(mess, end, uuid); + prune_vendor_opts(tagif_netid); +- do_encap_opts(pxe_opts(pxearch, tagif_netid, context->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0); ++ do_encap_opts(pxe_opts(pxearch, tagif_netid, tmp->local, now), OPTION_VENDOR_CLASS_OPT, DHOPT_VENDOR_MATCH, mess, end, 0); + + log_packet("PXE", NULL, emac, emac_len, iface_name, ignore ? "proxy-ignored" : "proxy", NULL, mess->xid); + log_tags(tagif_netid, ntohl(mess->xid)); +-- +1.7.10.4 + diff --git a/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch b/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch new file mode 100644 index 000000000..cb56c79cd --- /dev/null +++ b/src/patches/dnsmasq/0094-Fix-buffer-overflow-introduced-in-2-73rc6.patch @@ -0,0 +1,49 @@ +From 5d07d77e75e0f02bc0a8f6029ffbc8b371fa804e Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Fri, 15 May 2015 18:13:06 +0100 +Subject: [PATCH] Fix buffer overflow introduced in 2.73rc6. + +Fix off-by-one in code which checks for over-long domain names +in received DNS packets. This enables buffer overflow attacks +which can certainly crash dnsmasq and may allow for arbitrary +code execution. The problem was introduced in commit b8f16556d, +release 2.73rc6, so has not escaped into any stable release. +Note that the off-by-one was in the label length determination, +so the buffer can be overflowed by as many bytes as there are +labels in the name - ie, many. + +Thanks to Ron Bowes, who used lcmatuf's afl-fuzz tool to find +the problem. +--- + src/rfc1035.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/rfc1035.c b/src/rfc1035.c +index 5e3f566..a95241f 100644 +--- a/src/rfc1035.c ++++ b/src/rfc1035.c +@@ -94,8 +94,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp, + count = 256; + digs = ((count-1)>>2)+1; + +- /* output is \[x/siz]. which is digs+6/7/8 chars */ +- namelen += digs+6; ++ /* output is \[x/siz]. which is digs+7/8/9 chars */ ++ namelen += digs+7; + if (count > 9) + namelen++; + if (count > 99) +@@ -125,8 +125,8 @@ int extract_name(struct dns_header *header, size_t plen, unsigned char **pp, + } + else + { /* label_type = 0 -> label. */ +- namelen += l; +- if (namelen+1 >= MAXDNAME) ++ namelen += l + 1; /* include period */ ++ if (namelen >= MAXDNAME) + return 0; + if (!CHECK_LEN(header, p, plen, l)) + return 0; +-- +1.7.10.4 + From 905a9dc346e08aab4ded6c92e9b0a04bcaf0f394 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jun 2015 17:08:49 +0200 Subject: [PATCH 03/37] maniac theme: Remove unnecessary Thumbs.db file Reported-by: Lars Schuhmacher Signed-off-by: Michael Tremer --- config/rootfiles/common/web-user-interface | 1 - html/html/themes/maniac/images/Thumbs.db | Bin 13312 -> 0 bytes 2 files changed, 1 deletion(-) delete mode 100644 html/html/themes/maniac/images/Thumbs.db diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface index 3f22b725c..dc22367ec 100644 --- a/config/rootfiles/common/web-user-interface +++ b/config/rootfiles/common/web-user-interface @@ -341,7 +341,6 @@ srv/web/ipfire/html/themes/ipfire/include/js/refreshInetInfo.js srv/web/ipfire/html/themes/maniac srv/web/ipfire/html/themes/maniac/images srv/web/ipfire/html/themes/maniac/images/IPFire.png -srv/web/ipfire/html/themes/maniac/images/Thumbs.db srv/web/ipfire/html/themes/maniac/images/b1.gif srv/web/ipfire/html/themes/maniac/images/b2.gif srv/web/ipfire/html/themes/maniac/images/b3.gif diff --git a/html/html/themes/maniac/images/Thumbs.db b/html/html/themes/maniac/images/Thumbs.db deleted file mode 100644 index 37ec790fdd3ace817f124710d57c4e77bfb8da3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13312 zcmeI22V4}_*1#`Kq$nt0LBmE+kSFcQ5F>`3al*OQ~* zMhFNJL|Byw7K&7531y`hrNgqjGxN@% zkp=RG<8BlPZ*BBx5=hL*>?oP}v$W7Ze!-ISc|syk>AfCMhmHW~{WNw6v6@l+?KK6J^JZpDp@5)o2H!V`oSACi!qGfDLc_j4dhG1Eh{*F%7cNG}#$CO3{l?As zgp@m}X?N3q&bap|=aYlFfNt-_Y39+|t_C-P7CGKQPE0;!*Pw zLL%>`_1nxonAZfDm$0a)h^ROHM8F)_K$h7k+g^qygZQ!pn$kh?6KJ*WaY?v z`>3NVcq){g+Wa2MW(-Th^qmuL9?cWl16tw=+T{*fq61pxIjmjpY!8V1Z}R_Gr2i`zQyB!|A~})F|_y!#gBe8P;qm&}Q;>VDpB=3ArC?*ABs`5(S;{g7#KM`D{PS z=Zr*!`FGkoxlUN$s}Nttqe>E8&*@D%&ES}3^<$T5U6*Qj%);>gYh$QMmFk0kWHNlM2RYviUoVC;%0r-hsL{0_@gMGer2jC| zUKt+d=iq-RBeVZg_LuUTKP7!k{G|*7>I^H-JD>d%#~+R-!KEHfqv>k~RLZ3me@Ilk z@F|IkzbHNbE909&eM(=bM8ztflBn@1J3_^2)IE%*uWz8zxMAal(EnrqlglC$ig0~= zHY|2~NVI~roOkZS9KmGVgXqS^hy)V(4$(g>{$m5Ig3&3?yM>oFvbYXd-}An>cWpG= zY<_nQgRUphecJzY{G{NEw(yR@SMB~w z@LWMlqBY-(h_>A%Q?42;UQriFqJhc*e0HMEentS{>rfMHFWyX|4HwBu*A5xUCg!;} z7VBfP62I}-Gy0%xWc^P3$o2n={D0X$_%}Nv|7rh#r`BQKbgYIym3X5dsD4w_f_a}@ zaU(|1@+0dmtUMji{a5WD>Q)MsH&$*U^L67m~_&l!Nt__Q&ClLk<2Z z9!@?7{|P>7e(|6F>HEn+up)XJ0KJY1HK220>^;kzzN_aa0&7Hus)yy>Rg2H&M^he$`J9kyWyv{#~JbP(k^m zRV#w5OA)QxN0yJLUzDkQzkKQPn3U9+G7Fc9)+dhHC+)k* zlSIm_uk!Dh?cM0SYI&ige#9CFwsum}hQZQiuUT(P2Mqrf%PEKro_A}&Lqg`41Bm?lv}=m>%TT-F&34c05-#c>bc7Nqw1~ z-W@t@k7H6{N2flko~>m!W*PD@5xKUD)iqRflG&#fAWkB&mn=clrW3n=BzCQFyx{>m zHdRxe%Pl5Rj({~J*Y6u-U+Qa0yfAaR!97+GTB)tXE1Vy>AX;^dp~`i;?z|Z(nTj^t zZ8kC_DoSN?4NI{ho$PHSI^-9^HaEr-G0tWZJ#xLiO_458ArXAPb0>1{Mr#ucw*SzT z9VH%0i`}NQ?YW{i;1V6o(%_uOjGwD%X|J$gcPeQ2S3mLOG-YHl>*-Hbj*}?#NEe9& zd@B+iUI}Z_S@>!8(4y<69+``cto$LNJ~)>}jtBi;e4 z+CLo0S{h@LHf4QfR%c4a+|#eRu@fZfP@hbk zW>-Af_psE7ek|x)tnFO}>*A&{dL&AFNuuc_>bt(ZelN{pNM)!PPcX%AWb2aX73W7r z>yGlq{#K}FjHNa|?&ME53dgmh?>}OBg9wjNI^JVu1C39CPBarn64tfaC9 z{X?*kExK|it1E-?b{vV)%Xy3@hlWZ%)Y4$-;M)*cu zWvR}6n*5qImGNqoEDzZT?w|c{Q!RPPiJv~PRrZ>98VN=b&3Q#4{>%mhx-komN@o819 zv(_s4G;yBG5`V9=)kSDQ!vPOjYa4cP6spJs4Tj@V4}emKQheE%aVo z*xhbM>dsZaemB>?*=j zSX?jw*9;Oa(O1zpE@#a*bl(ujF&`+Ibf3z6ZCyKwTfy#iWHDDqPjjlW2sJ*x^h~74 zhO_dMz81F1)nDnx$VtkcMxqz3^+f`i6wt2aJbti}`-c2o>g#QKNTlLqoyo6kVBN{< z$l$dPhV(2@yN?KMID!QIa{dJ>m@7fKnWsPfITzfOw~E805`wDT$#r%T_rV&Bw}jP_zey}5l@)YQ^8)psF5qt zdUM+?<7fV+ilaU`JFn*N;;JVty{6GN?*3$ryMyPi?C)D}tkTa;a(ASei{V*6`|3Uy zgTC~F9|w2W7*L1tklSqa*<79ik zoFyMX|Hbc$PDNseujyW|m5aB%bvw^~En4}#^7nBPGnZuQ$vse!HZ5FONaT0Zaf!iN z?qm-V<+Ufxd020r>6{?vS-8_k!m#w5=k>_2u-lfe9`!4yIy<;Gt^B$8ei>GIMVmx1 z=6n(fcYw{nX&+|z1lz##TiB0vL7?`emi+?W;~5e?h#ERaH}p1=8SpsHXtBwLoJ@?s zEI+s`>t^-Itc9h#ND%gB8>8q6iR!EcPtz3z5c(ZTyF?V%z+#ZR=Kb3V=Nmj`^{Le| z>YPDXXi4WVFB`5J>o~UE=6kmPu>$zHPiRQqHOp)G>GhS>ot1_q^xA=j+@KCOTF#~3 zyy6DQY$?TCTV}62v7>)r4V_L8>3av_2#@-#;2E$=w3^^4<}}8yOW=1t zFOB*<1g24s8GT0EXsG`p;iRHE_UT^YP z@dIz`SCl%LV_p7u2&`LI{pE`~ia>8)FoQ{S(2pSqN#eTXm@8*?pE|lfIHuq#yS3!G zPtUKvF60j`nz?A5rOM^X(@G1c*f*Pq_goqSj>CTlhW`=TcGHdECswtWmAv4`QLK5h zlPYC$MHIUuro|XW)K&SMwNh8D+UexhcB|rVH_OtNvG(>mGvV791T}w>3K*T~&6d$5 zs-+jg@05C7_-}@an^=QYy|KrT*-L^S;v1NR4+vUf4`5_vF^QyPh-f0MQQj7hTJjTP b`^&fcSOP7K=f(S1Wxsu<_>(*Mw4%QQYzwiG From 508288ab6b369451614dada8837d7883e8bec2c6 Mon Sep 17 00:00:00 2001 From: Matthias Fischer Date: Wed, 17 Jun 2015 13:01:53 +0200 Subject: [PATCH 04/37] dnsmasq: Update to 2.73 --- lfs/dnsmasq | 104 ++-------------------------------------------------- 1 file changed, 3 insertions(+), 101 deletions(-) diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 857434c3d..e4410cc15 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# Copyright (C) 2015 Michael Tremer & Christian Schmidt # # # # 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 # @@ -24,7 +24,7 @@ include Config -VER = 2.72 +VER = 2.73 THISAPP = dnsmasq-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -43,7 +43,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 0256e0a71e27c8d8a5c89a0d18f3cfe2 +$(DL_FILE)_MD5 = b8bfe96d22945c8cf4466826ba9b21bd install : $(TARGET) @@ -73,104 +73,6 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0020-Initialise-return-value.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0021-Add-ignore-address-option.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0022-Bad-packet-protection.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0035-Update-German-translation.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0040-inotify-documentation-updates.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0042-BSD-make-support.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0044-Manpage-typo-fix.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0047-man-page-typo.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0049-Typos.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0067-Merge-message-translations.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0069-Whitespace-fixes.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0093-Tweak-last-commit.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch - cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \ From a1468f66f0c5f52428ed17bd809a18c10b260cee Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 17 Jun 2015 14:01:40 +0200 Subject: [PATCH 05/37] dhcp.cgi: Never save the search query Signed-off-by: Michael Tremer --- html/cgi-bin/dhcp.cgi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/dhcp.cgi b/html/cgi-bin/dhcp.cgi index dd48d58cb..c49988e1d 100644 --- a/html/cgi-bin/dhcp.cgi +++ b/html/cgi-bin/dhcp.cgi @@ -244,7 +244,7 @@ if ($dhcpsettings{'ACTION'} eq $Lang::tr{'save'}) { } # enabled }#loop interface verify - map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must not be saved + map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2','q'); # Must not be saved &General::writehash($setting, \%dhcpsettings); # Save good settings $dhcpsettings{'ACTION'} = $Lang::tr{'save'}; # create an 'ACTION' map ($dhcpsettings{$_} = '',@nosaved,'KEY1','KEY2'); # and reinit vars to empty @@ -267,7 +267,7 @@ if ($ENV{'QUERY_STRING'} =~ /^FETHER|^FIPADDR/ ) { $newsort.=$Rev; } $dhcpsettings{'SORT_FLEASELIST'}=$newsort; - map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2'); # Must never be saved + map (delete ($dhcpsettings{$_}) ,@nosaved,'ACTION','KEY1','KEY2', 'q'); # Must never be saved &General::writehash($setting, \%dhcpsettings); &sortcurrent2; $dhcpsettings{'ACTION'} = 'SORT'; # create an 'ACTION' From e353470a8c8d64543960bdf4d20eb86725c939d5 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 17 Jun 2015 14:02:05 +0200 Subject: [PATCH 06/37] dhcp.cgi: Count up key when skippingh search entries This caused a bug that when the user wanted to edit one of the static leases and clicked on the edit icon that an other entry opened up for editing. Signed-off-by: Michael Tremer --- html/cgi-bin/dhcp.cgi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/html/cgi-bin/dhcp.cgi b/html/cgi-bin/dhcp.cgi index c49988e1d..971c51e6c 100644 --- a/html/cgi-bin/dhcp.cgi +++ b/html/cgi-bin/dhcp.cgi @@ -942,7 +942,10 @@ foreach my $line (@current2) { # Skip all entries that do not match the search query if ($search_query ne "") { - next if (!grep(/$search_query/, @temp)); + if (!grep(/$search_query/, @temp)) { + $key++; + next; + } } if ($dhcpsettings{'KEY2'} eq $key) { From cef2c534b8ac70be6211c942f291d4dde93eef1d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 17 Jun 2015 14:48:57 +0200 Subject: [PATCH 07/37] Start Core Update 92 Signed-off-by: Michael Tremer --- config/rootfiles/core/92/exclude | 20 ++++++++ config/rootfiles/core/92/filelists/files | 9 ++++ config/rootfiles/core/92/meta | 1 + config/rootfiles/core/92/update.sh | 61 ++++++++++++++++++++++++ make.sh | 2 +- 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 config/rootfiles/core/92/exclude create mode 100644 config/rootfiles/core/92/filelists/files create mode 100644 config/rootfiles/core/92/meta create mode 100644 config/rootfiles/core/92/update.sh diff --git a/config/rootfiles/core/92/exclude b/config/rootfiles/core/92/exclude new file mode 100644 index 000000000..18e9b4d24 --- /dev/null +++ b/config/rootfiles/core/92/exclude @@ -0,0 +1,20 @@ +boot/config.txt +etc/collectd.custom +etc/ipsec.conf +etc/ipsec.secrets +etc/ipsec.user.conf +etc/ipsec.user.secrets +etc/localtime +etc/shadow +etc/ssh/ssh_config +etc/ssh/sshd_config +etc/ssl/openssl.cnf +etc/sudoers +etc/sysconfig/firewall.local +etc/sysconfig/rc.local +etc/udev/rules.d/30-persistent-network.rules +srv/web/ipfire/html/proxy.pac +var/ipfire/ovpn +var/log/cache +var/state/dhcp/dhcpd.leases +var/updatecache diff --git a/config/rootfiles/core/92/filelists/files b/config/rootfiles/core/92/filelists/files new file mode 100644 index 000000000..fe764dbb8 --- /dev/null +++ b/config/rootfiles/core/92/filelists/files @@ -0,0 +1,9 @@ +etc/system-release +etc/issue +srv/web/ipfire/cgi-bin/connections.cgi +srv/web/ipfire/cgi-bin/dhcp.cgi +srv/web/ipfire/cgi-bin/vpnmain.cgi +srv/web/ipfire/cgi-bin/webaccess.cgi +var/ipfire/network-functions.pl +var/ipfire/langs +var/ipfire/urlfilter/bin/autoupdate.pl diff --git a/config/rootfiles/core/92/meta b/config/rootfiles/core/92/meta new file mode 100644 index 000000000..d547fa86f --- /dev/null +++ b/config/rootfiles/core/92/meta @@ -0,0 +1 @@ +DEPS="" diff --git a/config/rootfiles/core/92/update.sh b/config/rootfiles/core/92/update.sh new file mode 100644 index 000000000..0314d80c4 --- /dev/null +++ b/config/rootfiles/core/92/update.sh @@ -0,0 +1,61 @@ +#!/bin/bash +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 3 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2015 IPFire-Team . # +# # +############################################################################ +# +. /opt/pakfire/lib/functions.sh +/usr/local/bin/backupctrl exclude >/dev/null 2>&1 + +# Remove old core updates from pakfire cache to save space... +core=92 +for (( i=1; i<=$core; i++ )) +do + rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire +done + +# Stop services +/etc/init.d/ipsec stop + +# Extract files +extract_files + +# Update Language cache +/usr/local/bin/update-lang-cache + +# Regenerate IPsec configuration +sudo -u nobody /srv/web/ipfire/cgi-bin/vpnmain.cgi + +sync + +# Start services +if [ `grep "ENABLED=on" /var/ipfire/vpn/settings` ]; then + /etc/init.d/ipsec start +fi + +# This update need a reboot... +#touch /var/run/need_reboot + +# Finish +/etc/init.d/fireinfo start +sendprofile + +# Don't report the exitcode last command +exit 0 diff --git a/make.sh b/make.sh index 29245bc59..bcbeffb41 100755 --- a/make.sh +++ b/make.sh @@ -25,7 +25,7 @@ NAME="IPFire" # Software name SNAME="ipfire" # Short name VERSION="2.17" # Version number -CORE="91" # Core Level (Filename) +CORE="92" # Core Level (Filename) PAKFIRE_CORE="91" # Core Level (PAKFIRE) GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` # Git Branch SLOGAN="www.ipfire.org" # Software slogan From dc0e82e56342e8bb6609e5f3aa8eedbf79119793 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 17 Jun 2015 14:50:40 +0200 Subject: [PATCH 08/37] Move older core updates to archive Signed-off-by: Michael Tremer --- config/rootfiles/{core => oldcore}/88/exclude | 0 config/rootfiles/{core => oldcore}/88/filelists/files | 0 config/rootfiles/{core => oldcore}/88/filelists/fireinfo | 0 config/rootfiles/{core => oldcore}/88/filelists/openssh | 0 config/rootfiles/{core => oldcore}/88/filelists/openssl | 0 config/rootfiles/{core => oldcore}/88/filelists/openssl-compat | 0 config/rootfiles/{core => oldcore}/88/meta | 0 config/rootfiles/{core => oldcore}/88/update.sh | 0 config/rootfiles/{core => oldcore}/89/exclude | 0 config/rootfiles/{core => oldcore}/89/filelists/collectd | 0 config/rootfiles/{core => oldcore}/89/filelists/daq | 0 config/rootfiles/{core => oldcore}/89/filelists/ddns | 0 config/rootfiles/{core => oldcore}/89/filelists/dnsmasq | 0 config/rootfiles/{core => oldcore}/89/filelists/ethtool | 0 config/rootfiles/{core => oldcore}/89/filelists/fcron | 0 config/rootfiles/{core => oldcore}/89/filelists/file | 0 config/rootfiles/{core => oldcore}/89/filelists/files | 0 config/rootfiles/{core => oldcore}/89/filelists/fuse | 0 config/rootfiles/{core => oldcore}/89/filelists/gnupg | 0 config/rootfiles/{core => oldcore}/89/filelists/grep | 0 config/rootfiles/{core => oldcore}/89/filelists/hdparm | 0 config/rootfiles/{core => oldcore}/89/filelists/libart | 0 config/rootfiles/{core => oldcore}/89/filelists/libcap | 0 config/rootfiles/{core => oldcore}/89/filelists/libffi | 0 config/rootfiles/{core => oldcore}/89/filelists/libpcap | 0 config/rootfiles/{core => oldcore}/89/filelists/ntfs-3g | 0 config/rootfiles/{core => oldcore}/89/filelists/openssh | 0 config/rootfiles/{core => oldcore}/89/filelists/openssl | 0 config/rootfiles/{core => oldcore}/89/filelists/openssl-compat | 0 config/rootfiles/{core => oldcore}/89/filelists/pcre | 0 config/rootfiles/{core => oldcore}/89/filelists/screen | 0 config/rootfiles/{core => oldcore}/89/filelists/setup | 0 config/rootfiles/{core => oldcore}/89/filelists/smartmontools | 0 config/rootfiles/{core => oldcore}/89/filelists/snort | 0 config/rootfiles/{core => oldcore}/89/filelists/sqlite | 0 config/rootfiles/{core => oldcore}/89/filelists/squid | 0 config/rootfiles/{core => oldcore}/89/filelists/strongswan | 0 config/rootfiles/{core => oldcore}/89/filelists/tar | 0 config/rootfiles/{core => oldcore}/89/filelists/tzdata | 0 config/rootfiles/{core => oldcore}/89/filelists/wget | 0 config/rootfiles/{core => oldcore}/89/filelists/zlib | 0 config/rootfiles/{core => oldcore}/89/meta | 0 config/rootfiles/{core => oldcore}/89/update.sh | 0 config/rootfiles/{core => oldcore}/90/exclude | 0 config/rootfiles/{core => oldcore}/90/filelists/Locale-Country | 0 config/rootfiles/{core => oldcore}/90/filelists/apache2 | 0 config/rootfiles/{core => oldcore}/90/filelists/armv5tel/glibc | 0 .../{core => oldcore}/90/filelists/armv5tel/linux-kirkwood | 0 .../rootfiles/{core => oldcore}/90/filelists/armv5tel/linux-multi | 0 .../rootfiles/{core => oldcore}/90/filelists/armv5tel/linux-rpi | 0 config/rootfiles/{core => oldcore}/90/filelists/curl | 0 config/rootfiles/{core => oldcore}/90/filelists/cyrus-sasl | 0 config/rootfiles/{core => oldcore}/90/filelists/ddns | 0 config/rootfiles/{core => oldcore}/90/filelists/dhcp | 0 config/rootfiles/{core => oldcore}/90/filelists/dhcpcd | 0 config/rootfiles/{core => oldcore}/90/filelists/dnsmasq | 0 config/rootfiles/{core => oldcore}/90/filelists/dracut | 0 config/rootfiles/{core => oldcore}/90/filelists/expat | 0 config/rootfiles/{core => oldcore}/90/filelists/files | 0 config/rootfiles/{core => oldcore}/90/filelists/fireinfo | 0 config/rootfiles/{core => oldcore}/90/filelists/flag-icons | 0 config/rootfiles/{core => oldcore}/90/filelists/groff | 0 config/rootfiles/{core => oldcore}/90/filelists/i586/acpid | 0 config/rootfiles/{core => oldcore}/90/filelists/i586/glibc | 0 config/rootfiles/{core => oldcore}/90/filelists/i586/linux | 0 config/rootfiles/{core => oldcore}/90/filelists/i586/linux-initrd | 0 config/rootfiles/{core => oldcore}/90/filelists/i586/openssl-sse2 | 0 config/rootfiles/{core => oldcore}/90/filelists/iptables | 0 config/rootfiles/{core => oldcore}/90/filelists/iputils | 0 config/rootfiles/{core => oldcore}/90/filelists/libjpeg | 0 config/rootfiles/{core => oldcore}/90/filelists/logrotate | 0 config/rootfiles/{core => oldcore}/90/filelists/logwatch | 0 config/rootfiles/{core => oldcore}/90/filelists/openldap | 0 config/rootfiles/{core => oldcore}/90/filelists/openssl | 0 .../rootfiles/{core => oldcore}/90/filelists/openssl-0.9.8-files | 0 config/rootfiles/{core => oldcore}/90/filelists/perl-Text-CSV_XS | 0 config/rootfiles/{core => oldcore}/90/filelists/squid | 0 config/rootfiles/{core => oldcore}/90/filelists/strongswan | 0 config/rootfiles/{core => oldcore}/90/filelists/tzdata | 0 config/rootfiles/{core => oldcore}/90/filelists/udev | 0 config/rootfiles/{core => oldcore}/90/filelists/wpa_supplicant | 0 config/rootfiles/{core => oldcore}/90/filelists/xtables-addons | 0 config/rootfiles/{core => oldcore}/90/filelists/xz | 0 config/rootfiles/{core => oldcore}/90/meta | 0 config/rootfiles/{core => oldcore}/90/update.sh | 0 config/rootfiles/{core => oldcore}/91/exclude | 0 config/rootfiles/{core => oldcore}/91/filelists/files | 0 config/rootfiles/{core => oldcore}/91/filelists/i586/openssl-sse2 | 0 .../{core => oldcore}/91/filelists/i586/strongswan-padlock | 0 config/rootfiles/{core => oldcore}/91/filelists/libnet | 0 config/rootfiles/{core => oldcore}/91/filelists/libtool | 0 config/rootfiles/{core => oldcore}/91/filelists/libxml2 | 0 config/rootfiles/{core => oldcore}/91/filelists/libxslt | 0 config/rootfiles/{core => oldcore}/91/filelists/newt | 0 config/rootfiles/{core => oldcore}/91/filelists/openssh | 0 config/rootfiles/{core => oldcore}/91/filelists/openssl | 0 config/rootfiles/{core => oldcore}/91/filelists/pcre | 0 config/rootfiles/{core => oldcore}/91/filelists/slang | 0 config/rootfiles/{core => oldcore}/91/filelists/strongswan | 0 config/rootfiles/{core => oldcore}/91/meta | 0 config/rootfiles/{core => oldcore}/91/update.sh | 0 101 files changed, 0 insertions(+), 0 deletions(-) rename config/rootfiles/{core => oldcore}/88/exclude (100%) rename config/rootfiles/{core => oldcore}/88/filelists/files (100%) rename config/rootfiles/{core => oldcore}/88/filelists/fireinfo (100%) rename config/rootfiles/{core => oldcore}/88/filelists/openssh (100%) rename config/rootfiles/{core => oldcore}/88/filelists/openssl (100%) rename config/rootfiles/{core => oldcore}/88/filelists/openssl-compat (100%) rename config/rootfiles/{core => oldcore}/88/meta (100%) rename config/rootfiles/{core => oldcore}/88/update.sh (100%) rename config/rootfiles/{core => oldcore}/89/exclude (100%) rename config/rootfiles/{core => oldcore}/89/filelists/collectd (100%) rename config/rootfiles/{core => oldcore}/89/filelists/daq (100%) rename config/rootfiles/{core => oldcore}/89/filelists/ddns (100%) rename config/rootfiles/{core => oldcore}/89/filelists/dnsmasq (100%) rename config/rootfiles/{core => oldcore}/89/filelists/ethtool (100%) rename config/rootfiles/{core => oldcore}/89/filelists/fcron (100%) rename config/rootfiles/{core => oldcore}/89/filelists/file (100%) rename config/rootfiles/{core => oldcore}/89/filelists/files (100%) rename config/rootfiles/{core => oldcore}/89/filelists/fuse (100%) rename config/rootfiles/{core => oldcore}/89/filelists/gnupg (100%) rename config/rootfiles/{core => oldcore}/89/filelists/grep (100%) rename config/rootfiles/{core => oldcore}/89/filelists/hdparm (100%) rename config/rootfiles/{core => oldcore}/89/filelists/libart (100%) rename config/rootfiles/{core => oldcore}/89/filelists/libcap (100%) rename config/rootfiles/{core => oldcore}/89/filelists/libffi (100%) rename config/rootfiles/{core => oldcore}/89/filelists/libpcap (100%) rename config/rootfiles/{core => oldcore}/89/filelists/ntfs-3g (100%) rename config/rootfiles/{core => oldcore}/89/filelists/openssh (100%) rename config/rootfiles/{core => oldcore}/89/filelists/openssl (100%) rename config/rootfiles/{core => oldcore}/89/filelists/openssl-compat (100%) rename config/rootfiles/{core => oldcore}/89/filelists/pcre (100%) rename config/rootfiles/{core => oldcore}/89/filelists/screen (100%) rename config/rootfiles/{core => oldcore}/89/filelists/setup (100%) rename config/rootfiles/{core => oldcore}/89/filelists/smartmontools (100%) rename config/rootfiles/{core => oldcore}/89/filelists/snort (100%) rename config/rootfiles/{core => oldcore}/89/filelists/sqlite (100%) rename config/rootfiles/{core => oldcore}/89/filelists/squid (100%) rename config/rootfiles/{core => oldcore}/89/filelists/strongswan (100%) rename config/rootfiles/{core => oldcore}/89/filelists/tar (100%) rename config/rootfiles/{core => oldcore}/89/filelists/tzdata (100%) rename config/rootfiles/{core => oldcore}/89/filelists/wget (100%) rename config/rootfiles/{core => oldcore}/89/filelists/zlib (100%) rename config/rootfiles/{core => oldcore}/89/meta (100%) rename config/rootfiles/{core => oldcore}/89/update.sh (100%) rename config/rootfiles/{core => oldcore}/90/exclude (100%) rename config/rootfiles/{core => oldcore}/90/filelists/Locale-Country (100%) rename config/rootfiles/{core => oldcore}/90/filelists/apache2 (100%) rename config/rootfiles/{core => oldcore}/90/filelists/armv5tel/glibc (100%) rename config/rootfiles/{core => oldcore}/90/filelists/armv5tel/linux-kirkwood (100%) rename config/rootfiles/{core => oldcore}/90/filelists/armv5tel/linux-multi (100%) rename config/rootfiles/{core => oldcore}/90/filelists/armv5tel/linux-rpi (100%) rename config/rootfiles/{core => oldcore}/90/filelists/curl (100%) rename config/rootfiles/{core => oldcore}/90/filelists/cyrus-sasl (100%) rename config/rootfiles/{core => oldcore}/90/filelists/ddns (100%) rename config/rootfiles/{core => oldcore}/90/filelists/dhcp (100%) rename config/rootfiles/{core => oldcore}/90/filelists/dhcpcd (100%) rename config/rootfiles/{core => oldcore}/90/filelists/dnsmasq (100%) rename config/rootfiles/{core => oldcore}/90/filelists/dracut (100%) rename config/rootfiles/{core => oldcore}/90/filelists/expat (100%) rename config/rootfiles/{core => oldcore}/90/filelists/files (100%) rename config/rootfiles/{core => oldcore}/90/filelists/fireinfo (100%) rename config/rootfiles/{core => oldcore}/90/filelists/flag-icons (100%) rename config/rootfiles/{core => oldcore}/90/filelists/groff (100%) rename config/rootfiles/{core => oldcore}/90/filelists/i586/acpid (100%) rename config/rootfiles/{core => oldcore}/90/filelists/i586/glibc (100%) rename config/rootfiles/{core => oldcore}/90/filelists/i586/linux (100%) rename config/rootfiles/{core => oldcore}/90/filelists/i586/linux-initrd (100%) rename config/rootfiles/{core => oldcore}/90/filelists/i586/openssl-sse2 (100%) rename config/rootfiles/{core => oldcore}/90/filelists/iptables (100%) rename config/rootfiles/{core => oldcore}/90/filelists/iputils (100%) rename config/rootfiles/{core => oldcore}/90/filelists/libjpeg (100%) rename config/rootfiles/{core => oldcore}/90/filelists/logrotate (100%) rename config/rootfiles/{core => oldcore}/90/filelists/logwatch (100%) rename config/rootfiles/{core => oldcore}/90/filelists/openldap (100%) rename config/rootfiles/{core => oldcore}/90/filelists/openssl (100%) rename config/rootfiles/{core => oldcore}/90/filelists/openssl-0.9.8-files (100%) rename config/rootfiles/{core => oldcore}/90/filelists/perl-Text-CSV_XS (100%) rename config/rootfiles/{core => oldcore}/90/filelists/squid (100%) rename config/rootfiles/{core => oldcore}/90/filelists/strongswan (100%) rename config/rootfiles/{core => oldcore}/90/filelists/tzdata (100%) rename config/rootfiles/{core => oldcore}/90/filelists/udev (100%) rename config/rootfiles/{core => oldcore}/90/filelists/wpa_supplicant (100%) rename config/rootfiles/{core => oldcore}/90/filelists/xtables-addons (100%) rename config/rootfiles/{core => oldcore}/90/filelists/xz (100%) rename config/rootfiles/{core => oldcore}/90/meta (100%) rename config/rootfiles/{core => oldcore}/90/update.sh (100%) rename config/rootfiles/{core => oldcore}/91/exclude (100%) rename config/rootfiles/{core => oldcore}/91/filelists/files (100%) rename config/rootfiles/{core => oldcore}/91/filelists/i586/openssl-sse2 (100%) rename config/rootfiles/{core => oldcore}/91/filelists/i586/strongswan-padlock (100%) rename config/rootfiles/{core => oldcore}/91/filelists/libnet (100%) rename config/rootfiles/{core => oldcore}/91/filelists/libtool (100%) rename config/rootfiles/{core => oldcore}/91/filelists/libxml2 (100%) rename config/rootfiles/{core => oldcore}/91/filelists/libxslt (100%) rename config/rootfiles/{core => oldcore}/91/filelists/newt (100%) rename config/rootfiles/{core => oldcore}/91/filelists/openssh (100%) rename config/rootfiles/{core => oldcore}/91/filelists/openssl (100%) rename config/rootfiles/{core => oldcore}/91/filelists/pcre (100%) rename config/rootfiles/{core => oldcore}/91/filelists/slang (100%) rename config/rootfiles/{core => oldcore}/91/filelists/strongswan (100%) rename config/rootfiles/{core => oldcore}/91/meta (100%) rename config/rootfiles/{core => oldcore}/91/update.sh (100%) diff --git a/config/rootfiles/core/88/exclude b/config/rootfiles/oldcore/88/exclude similarity index 100% rename from config/rootfiles/core/88/exclude rename to config/rootfiles/oldcore/88/exclude diff --git a/config/rootfiles/core/88/filelists/files b/config/rootfiles/oldcore/88/filelists/files similarity index 100% rename from config/rootfiles/core/88/filelists/files rename to config/rootfiles/oldcore/88/filelists/files diff --git a/config/rootfiles/core/88/filelists/fireinfo b/config/rootfiles/oldcore/88/filelists/fireinfo similarity index 100% rename from config/rootfiles/core/88/filelists/fireinfo rename to config/rootfiles/oldcore/88/filelists/fireinfo diff --git a/config/rootfiles/core/88/filelists/openssh b/config/rootfiles/oldcore/88/filelists/openssh similarity index 100% rename from config/rootfiles/core/88/filelists/openssh rename to config/rootfiles/oldcore/88/filelists/openssh diff --git a/config/rootfiles/core/88/filelists/openssl b/config/rootfiles/oldcore/88/filelists/openssl similarity index 100% rename from config/rootfiles/core/88/filelists/openssl rename to config/rootfiles/oldcore/88/filelists/openssl diff --git a/config/rootfiles/core/88/filelists/openssl-compat b/config/rootfiles/oldcore/88/filelists/openssl-compat similarity index 100% rename from config/rootfiles/core/88/filelists/openssl-compat rename to config/rootfiles/oldcore/88/filelists/openssl-compat diff --git a/config/rootfiles/core/88/meta b/config/rootfiles/oldcore/88/meta similarity index 100% rename from config/rootfiles/core/88/meta rename to config/rootfiles/oldcore/88/meta diff --git a/config/rootfiles/core/88/update.sh b/config/rootfiles/oldcore/88/update.sh similarity index 100% rename from config/rootfiles/core/88/update.sh rename to config/rootfiles/oldcore/88/update.sh diff --git a/config/rootfiles/core/89/exclude b/config/rootfiles/oldcore/89/exclude similarity index 100% rename from config/rootfiles/core/89/exclude rename to config/rootfiles/oldcore/89/exclude diff --git a/config/rootfiles/core/89/filelists/collectd b/config/rootfiles/oldcore/89/filelists/collectd similarity index 100% rename from config/rootfiles/core/89/filelists/collectd rename to config/rootfiles/oldcore/89/filelists/collectd diff --git a/config/rootfiles/core/89/filelists/daq b/config/rootfiles/oldcore/89/filelists/daq similarity index 100% rename from config/rootfiles/core/89/filelists/daq rename to config/rootfiles/oldcore/89/filelists/daq diff --git a/config/rootfiles/core/89/filelists/ddns b/config/rootfiles/oldcore/89/filelists/ddns similarity index 100% rename from config/rootfiles/core/89/filelists/ddns rename to config/rootfiles/oldcore/89/filelists/ddns diff --git a/config/rootfiles/core/89/filelists/dnsmasq b/config/rootfiles/oldcore/89/filelists/dnsmasq similarity index 100% rename from config/rootfiles/core/89/filelists/dnsmasq rename to config/rootfiles/oldcore/89/filelists/dnsmasq diff --git a/config/rootfiles/core/89/filelists/ethtool b/config/rootfiles/oldcore/89/filelists/ethtool similarity index 100% rename from config/rootfiles/core/89/filelists/ethtool rename to config/rootfiles/oldcore/89/filelists/ethtool diff --git a/config/rootfiles/core/89/filelists/fcron b/config/rootfiles/oldcore/89/filelists/fcron similarity index 100% rename from config/rootfiles/core/89/filelists/fcron rename to config/rootfiles/oldcore/89/filelists/fcron diff --git a/config/rootfiles/core/89/filelists/file b/config/rootfiles/oldcore/89/filelists/file similarity index 100% rename from config/rootfiles/core/89/filelists/file rename to config/rootfiles/oldcore/89/filelists/file diff --git a/config/rootfiles/core/89/filelists/files b/config/rootfiles/oldcore/89/filelists/files similarity index 100% rename from config/rootfiles/core/89/filelists/files rename to config/rootfiles/oldcore/89/filelists/files diff --git a/config/rootfiles/core/89/filelists/fuse b/config/rootfiles/oldcore/89/filelists/fuse similarity index 100% rename from config/rootfiles/core/89/filelists/fuse rename to config/rootfiles/oldcore/89/filelists/fuse diff --git a/config/rootfiles/core/89/filelists/gnupg b/config/rootfiles/oldcore/89/filelists/gnupg similarity index 100% rename from config/rootfiles/core/89/filelists/gnupg rename to config/rootfiles/oldcore/89/filelists/gnupg diff --git a/config/rootfiles/core/89/filelists/grep b/config/rootfiles/oldcore/89/filelists/grep similarity index 100% rename from config/rootfiles/core/89/filelists/grep rename to config/rootfiles/oldcore/89/filelists/grep diff --git a/config/rootfiles/core/89/filelists/hdparm b/config/rootfiles/oldcore/89/filelists/hdparm similarity index 100% rename from config/rootfiles/core/89/filelists/hdparm rename to config/rootfiles/oldcore/89/filelists/hdparm diff --git a/config/rootfiles/core/89/filelists/libart b/config/rootfiles/oldcore/89/filelists/libart similarity index 100% rename from config/rootfiles/core/89/filelists/libart rename to config/rootfiles/oldcore/89/filelists/libart diff --git a/config/rootfiles/core/89/filelists/libcap b/config/rootfiles/oldcore/89/filelists/libcap similarity index 100% rename from config/rootfiles/core/89/filelists/libcap rename to config/rootfiles/oldcore/89/filelists/libcap diff --git a/config/rootfiles/core/89/filelists/libffi b/config/rootfiles/oldcore/89/filelists/libffi similarity index 100% rename from config/rootfiles/core/89/filelists/libffi rename to config/rootfiles/oldcore/89/filelists/libffi diff --git a/config/rootfiles/core/89/filelists/libpcap b/config/rootfiles/oldcore/89/filelists/libpcap similarity index 100% rename from config/rootfiles/core/89/filelists/libpcap rename to config/rootfiles/oldcore/89/filelists/libpcap diff --git a/config/rootfiles/core/89/filelists/ntfs-3g b/config/rootfiles/oldcore/89/filelists/ntfs-3g similarity index 100% rename from config/rootfiles/core/89/filelists/ntfs-3g rename to config/rootfiles/oldcore/89/filelists/ntfs-3g diff --git a/config/rootfiles/core/89/filelists/openssh b/config/rootfiles/oldcore/89/filelists/openssh similarity index 100% rename from config/rootfiles/core/89/filelists/openssh rename to config/rootfiles/oldcore/89/filelists/openssh diff --git a/config/rootfiles/core/89/filelists/openssl b/config/rootfiles/oldcore/89/filelists/openssl similarity index 100% rename from config/rootfiles/core/89/filelists/openssl rename to config/rootfiles/oldcore/89/filelists/openssl diff --git a/config/rootfiles/core/89/filelists/openssl-compat b/config/rootfiles/oldcore/89/filelists/openssl-compat similarity index 100% rename from config/rootfiles/core/89/filelists/openssl-compat rename to config/rootfiles/oldcore/89/filelists/openssl-compat diff --git a/config/rootfiles/core/89/filelists/pcre b/config/rootfiles/oldcore/89/filelists/pcre similarity index 100% rename from config/rootfiles/core/89/filelists/pcre rename to config/rootfiles/oldcore/89/filelists/pcre diff --git a/config/rootfiles/core/89/filelists/screen b/config/rootfiles/oldcore/89/filelists/screen similarity index 100% rename from config/rootfiles/core/89/filelists/screen rename to config/rootfiles/oldcore/89/filelists/screen diff --git a/config/rootfiles/core/89/filelists/setup b/config/rootfiles/oldcore/89/filelists/setup similarity index 100% rename from config/rootfiles/core/89/filelists/setup rename to config/rootfiles/oldcore/89/filelists/setup diff --git a/config/rootfiles/core/89/filelists/smartmontools b/config/rootfiles/oldcore/89/filelists/smartmontools similarity index 100% rename from config/rootfiles/core/89/filelists/smartmontools rename to config/rootfiles/oldcore/89/filelists/smartmontools diff --git a/config/rootfiles/core/89/filelists/snort b/config/rootfiles/oldcore/89/filelists/snort similarity index 100% rename from config/rootfiles/core/89/filelists/snort rename to config/rootfiles/oldcore/89/filelists/snort diff --git a/config/rootfiles/core/89/filelists/sqlite b/config/rootfiles/oldcore/89/filelists/sqlite similarity index 100% rename from config/rootfiles/core/89/filelists/sqlite rename to config/rootfiles/oldcore/89/filelists/sqlite diff --git a/config/rootfiles/core/89/filelists/squid b/config/rootfiles/oldcore/89/filelists/squid similarity index 100% rename from config/rootfiles/core/89/filelists/squid rename to config/rootfiles/oldcore/89/filelists/squid diff --git a/config/rootfiles/core/89/filelists/strongswan b/config/rootfiles/oldcore/89/filelists/strongswan similarity index 100% rename from config/rootfiles/core/89/filelists/strongswan rename to config/rootfiles/oldcore/89/filelists/strongswan diff --git a/config/rootfiles/core/89/filelists/tar b/config/rootfiles/oldcore/89/filelists/tar similarity index 100% rename from config/rootfiles/core/89/filelists/tar rename to config/rootfiles/oldcore/89/filelists/tar diff --git a/config/rootfiles/core/89/filelists/tzdata b/config/rootfiles/oldcore/89/filelists/tzdata similarity index 100% rename from config/rootfiles/core/89/filelists/tzdata rename to config/rootfiles/oldcore/89/filelists/tzdata diff --git a/config/rootfiles/core/89/filelists/wget b/config/rootfiles/oldcore/89/filelists/wget similarity index 100% rename from config/rootfiles/core/89/filelists/wget rename to config/rootfiles/oldcore/89/filelists/wget diff --git a/config/rootfiles/core/89/filelists/zlib b/config/rootfiles/oldcore/89/filelists/zlib similarity index 100% rename from config/rootfiles/core/89/filelists/zlib rename to config/rootfiles/oldcore/89/filelists/zlib diff --git a/config/rootfiles/core/89/meta b/config/rootfiles/oldcore/89/meta similarity index 100% rename from config/rootfiles/core/89/meta rename to config/rootfiles/oldcore/89/meta diff --git a/config/rootfiles/core/89/update.sh b/config/rootfiles/oldcore/89/update.sh similarity index 100% rename from config/rootfiles/core/89/update.sh rename to config/rootfiles/oldcore/89/update.sh diff --git a/config/rootfiles/core/90/exclude b/config/rootfiles/oldcore/90/exclude similarity index 100% rename from config/rootfiles/core/90/exclude rename to config/rootfiles/oldcore/90/exclude diff --git a/config/rootfiles/core/90/filelists/Locale-Country b/config/rootfiles/oldcore/90/filelists/Locale-Country similarity index 100% rename from config/rootfiles/core/90/filelists/Locale-Country rename to config/rootfiles/oldcore/90/filelists/Locale-Country diff --git a/config/rootfiles/core/90/filelists/apache2 b/config/rootfiles/oldcore/90/filelists/apache2 similarity index 100% rename from config/rootfiles/core/90/filelists/apache2 rename to config/rootfiles/oldcore/90/filelists/apache2 diff --git a/config/rootfiles/core/90/filelists/armv5tel/glibc b/config/rootfiles/oldcore/90/filelists/armv5tel/glibc similarity index 100% rename from config/rootfiles/core/90/filelists/armv5tel/glibc rename to config/rootfiles/oldcore/90/filelists/armv5tel/glibc diff --git a/config/rootfiles/core/90/filelists/armv5tel/linux-kirkwood b/config/rootfiles/oldcore/90/filelists/armv5tel/linux-kirkwood similarity index 100% rename from config/rootfiles/core/90/filelists/armv5tel/linux-kirkwood rename to config/rootfiles/oldcore/90/filelists/armv5tel/linux-kirkwood diff --git a/config/rootfiles/core/90/filelists/armv5tel/linux-multi b/config/rootfiles/oldcore/90/filelists/armv5tel/linux-multi similarity index 100% rename from config/rootfiles/core/90/filelists/armv5tel/linux-multi rename to config/rootfiles/oldcore/90/filelists/armv5tel/linux-multi diff --git a/config/rootfiles/core/90/filelists/armv5tel/linux-rpi b/config/rootfiles/oldcore/90/filelists/armv5tel/linux-rpi similarity index 100% rename from config/rootfiles/core/90/filelists/armv5tel/linux-rpi rename to config/rootfiles/oldcore/90/filelists/armv5tel/linux-rpi diff --git a/config/rootfiles/core/90/filelists/curl b/config/rootfiles/oldcore/90/filelists/curl similarity index 100% rename from config/rootfiles/core/90/filelists/curl rename to config/rootfiles/oldcore/90/filelists/curl diff --git a/config/rootfiles/core/90/filelists/cyrus-sasl b/config/rootfiles/oldcore/90/filelists/cyrus-sasl similarity index 100% rename from config/rootfiles/core/90/filelists/cyrus-sasl rename to config/rootfiles/oldcore/90/filelists/cyrus-sasl diff --git a/config/rootfiles/core/90/filelists/ddns b/config/rootfiles/oldcore/90/filelists/ddns similarity index 100% rename from config/rootfiles/core/90/filelists/ddns rename to config/rootfiles/oldcore/90/filelists/ddns diff --git a/config/rootfiles/core/90/filelists/dhcp b/config/rootfiles/oldcore/90/filelists/dhcp similarity index 100% rename from config/rootfiles/core/90/filelists/dhcp rename to config/rootfiles/oldcore/90/filelists/dhcp diff --git a/config/rootfiles/core/90/filelists/dhcpcd b/config/rootfiles/oldcore/90/filelists/dhcpcd similarity index 100% rename from config/rootfiles/core/90/filelists/dhcpcd rename to config/rootfiles/oldcore/90/filelists/dhcpcd diff --git a/config/rootfiles/core/90/filelists/dnsmasq b/config/rootfiles/oldcore/90/filelists/dnsmasq similarity index 100% rename from config/rootfiles/core/90/filelists/dnsmasq rename to config/rootfiles/oldcore/90/filelists/dnsmasq diff --git a/config/rootfiles/core/90/filelists/dracut b/config/rootfiles/oldcore/90/filelists/dracut similarity index 100% rename from config/rootfiles/core/90/filelists/dracut rename to config/rootfiles/oldcore/90/filelists/dracut diff --git a/config/rootfiles/core/90/filelists/expat b/config/rootfiles/oldcore/90/filelists/expat similarity index 100% rename from config/rootfiles/core/90/filelists/expat rename to config/rootfiles/oldcore/90/filelists/expat diff --git a/config/rootfiles/core/90/filelists/files b/config/rootfiles/oldcore/90/filelists/files similarity index 100% rename from config/rootfiles/core/90/filelists/files rename to config/rootfiles/oldcore/90/filelists/files diff --git a/config/rootfiles/core/90/filelists/fireinfo b/config/rootfiles/oldcore/90/filelists/fireinfo similarity index 100% rename from config/rootfiles/core/90/filelists/fireinfo rename to config/rootfiles/oldcore/90/filelists/fireinfo diff --git a/config/rootfiles/core/90/filelists/flag-icons b/config/rootfiles/oldcore/90/filelists/flag-icons similarity index 100% rename from config/rootfiles/core/90/filelists/flag-icons rename to config/rootfiles/oldcore/90/filelists/flag-icons diff --git a/config/rootfiles/core/90/filelists/groff b/config/rootfiles/oldcore/90/filelists/groff similarity index 100% rename from config/rootfiles/core/90/filelists/groff rename to config/rootfiles/oldcore/90/filelists/groff diff --git a/config/rootfiles/core/90/filelists/i586/acpid b/config/rootfiles/oldcore/90/filelists/i586/acpid similarity index 100% rename from config/rootfiles/core/90/filelists/i586/acpid rename to config/rootfiles/oldcore/90/filelists/i586/acpid diff --git a/config/rootfiles/core/90/filelists/i586/glibc b/config/rootfiles/oldcore/90/filelists/i586/glibc similarity index 100% rename from config/rootfiles/core/90/filelists/i586/glibc rename to config/rootfiles/oldcore/90/filelists/i586/glibc diff --git a/config/rootfiles/core/90/filelists/i586/linux b/config/rootfiles/oldcore/90/filelists/i586/linux similarity index 100% rename from config/rootfiles/core/90/filelists/i586/linux rename to config/rootfiles/oldcore/90/filelists/i586/linux diff --git a/config/rootfiles/core/90/filelists/i586/linux-initrd b/config/rootfiles/oldcore/90/filelists/i586/linux-initrd similarity index 100% rename from config/rootfiles/core/90/filelists/i586/linux-initrd rename to config/rootfiles/oldcore/90/filelists/i586/linux-initrd diff --git a/config/rootfiles/core/90/filelists/i586/openssl-sse2 b/config/rootfiles/oldcore/90/filelists/i586/openssl-sse2 similarity index 100% rename from config/rootfiles/core/90/filelists/i586/openssl-sse2 rename to config/rootfiles/oldcore/90/filelists/i586/openssl-sse2 diff --git a/config/rootfiles/core/90/filelists/iptables b/config/rootfiles/oldcore/90/filelists/iptables similarity index 100% rename from config/rootfiles/core/90/filelists/iptables rename to config/rootfiles/oldcore/90/filelists/iptables diff --git a/config/rootfiles/core/90/filelists/iputils b/config/rootfiles/oldcore/90/filelists/iputils similarity index 100% rename from config/rootfiles/core/90/filelists/iputils rename to config/rootfiles/oldcore/90/filelists/iputils diff --git a/config/rootfiles/core/90/filelists/libjpeg b/config/rootfiles/oldcore/90/filelists/libjpeg similarity index 100% rename from config/rootfiles/core/90/filelists/libjpeg rename to config/rootfiles/oldcore/90/filelists/libjpeg diff --git a/config/rootfiles/core/90/filelists/logrotate b/config/rootfiles/oldcore/90/filelists/logrotate similarity index 100% rename from config/rootfiles/core/90/filelists/logrotate rename to config/rootfiles/oldcore/90/filelists/logrotate diff --git a/config/rootfiles/core/90/filelists/logwatch b/config/rootfiles/oldcore/90/filelists/logwatch similarity index 100% rename from config/rootfiles/core/90/filelists/logwatch rename to config/rootfiles/oldcore/90/filelists/logwatch diff --git a/config/rootfiles/core/90/filelists/openldap b/config/rootfiles/oldcore/90/filelists/openldap similarity index 100% rename from config/rootfiles/core/90/filelists/openldap rename to config/rootfiles/oldcore/90/filelists/openldap diff --git a/config/rootfiles/core/90/filelists/openssl b/config/rootfiles/oldcore/90/filelists/openssl similarity index 100% rename from config/rootfiles/core/90/filelists/openssl rename to config/rootfiles/oldcore/90/filelists/openssl diff --git a/config/rootfiles/core/90/filelists/openssl-0.9.8-files b/config/rootfiles/oldcore/90/filelists/openssl-0.9.8-files similarity index 100% rename from config/rootfiles/core/90/filelists/openssl-0.9.8-files rename to config/rootfiles/oldcore/90/filelists/openssl-0.9.8-files diff --git a/config/rootfiles/core/90/filelists/perl-Text-CSV_XS b/config/rootfiles/oldcore/90/filelists/perl-Text-CSV_XS similarity index 100% rename from config/rootfiles/core/90/filelists/perl-Text-CSV_XS rename to config/rootfiles/oldcore/90/filelists/perl-Text-CSV_XS diff --git a/config/rootfiles/core/90/filelists/squid b/config/rootfiles/oldcore/90/filelists/squid similarity index 100% rename from config/rootfiles/core/90/filelists/squid rename to config/rootfiles/oldcore/90/filelists/squid diff --git a/config/rootfiles/core/90/filelists/strongswan b/config/rootfiles/oldcore/90/filelists/strongswan similarity index 100% rename from config/rootfiles/core/90/filelists/strongswan rename to config/rootfiles/oldcore/90/filelists/strongswan diff --git a/config/rootfiles/core/90/filelists/tzdata b/config/rootfiles/oldcore/90/filelists/tzdata similarity index 100% rename from config/rootfiles/core/90/filelists/tzdata rename to config/rootfiles/oldcore/90/filelists/tzdata diff --git a/config/rootfiles/core/90/filelists/udev b/config/rootfiles/oldcore/90/filelists/udev similarity index 100% rename from config/rootfiles/core/90/filelists/udev rename to config/rootfiles/oldcore/90/filelists/udev diff --git a/config/rootfiles/core/90/filelists/wpa_supplicant b/config/rootfiles/oldcore/90/filelists/wpa_supplicant similarity index 100% rename from config/rootfiles/core/90/filelists/wpa_supplicant rename to config/rootfiles/oldcore/90/filelists/wpa_supplicant diff --git a/config/rootfiles/core/90/filelists/xtables-addons b/config/rootfiles/oldcore/90/filelists/xtables-addons similarity index 100% rename from config/rootfiles/core/90/filelists/xtables-addons rename to config/rootfiles/oldcore/90/filelists/xtables-addons diff --git a/config/rootfiles/core/90/filelists/xz b/config/rootfiles/oldcore/90/filelists/xz similarity index 100% rename from config/rootfiles/core/90/filelists/xz rename to config/rootfiles/oldcore/90/filelists/xz diff --git a/config/rootfiles/core/90/meta b/config/rootfiles/oldcore/90/meta similarity index 100% rename from config/rootfiles/core/90/meta rename to config/rootfiles/oldcore/90/meta diff --git a/config/rootfiles/core/90/update.sh b/config/rootfiles/oldcore/90/update.sh similarity index 100% rename from config/rootfiles/core/90/update.sh rename to config/rootfiles/oldcore/90/update.sh diff --git a/config/rootfiles/core/91/exclude b/config/rootfiles/oldcore/91/exclude similarity index 100% rename from config/rootfiles/core/91/exclude rename to config/rootfiles/oldcore/91/exclude diff --git a/config/rootfiles/core/91/filelists/files b/config/rootfiles/oldcore/91/filelists/files similarity index 100% rename from config/rootfiles/core/91/filelists/files rename to config/rootfiles/oldcore/91/filelists/files diff --git a/config/rootfiles/core/91/filelists/i586/openssl-sse2 b/config/rootfiles/oldcore/91/filelists/i586/openssl-sse2 similarity index 100% rename from config/rootfiles/core/91/filelists/i586/openssl-sse2 rename to config/rootfiles/oldcore/91/filelists/i586/openssl-sse2 diff --git a/config/rootfiles/core/91/filelists/i586/strongswan-padlock b/config/rootfiles/oldcore/91/filelists/i586/strongswan-padlock similarity index 100% rename from config/rootfiles/core/91/filelists/i586/strongswan-padlock rename to config/rootfiles/oldcore/91/filelists/i586/strongswan-padlock diff --git a/config/rootfiles/core/91/filelists/libnet b/config/rootfiles/oldcore/91/filelists/libnet similarity index 100% rename from config/rootfiles/core/91/filelists/libnet rename to config/rootfiles/oldcore/91/filelists/libnet diff --git a/config/rootfiles/core/91/filelists/libtool b/config/rootfiles/oldcore/91/filelists/libtool similarity index 100% rename from config/rootfiles/core/91/filelists/libtool rename to config/rootfiles/oldcore/91/filelists/libtool diff --git a/config/rootfiles/core/91/filelists/libxml2 b/config/rootfiles/oldcore/91/filelists/libxml2 similarity index 100% rename from config/rootfiles/core/91/filelists/libxml2 rename to config/rootfiles/oldcore/91/filelists/libxml2 diff --git a/config/rootfiles/core/91/filelists/libxslt b/config/rootfiles/oldcore/91/filelists/libxslt similarity index 100% rename from config/rootfiles/core/91/filelists/libxslt rename to config/rootfiles/oldcore/91/filelists/libxslt diff --git a/config/rootfiles/core/91/filelists/newt b/config/rootfiles/oldcore/91/filelists/newt similarity index 100% rename from config/rootfiles/core/91/filelists/newt rename to config/rootfiles/oldcore/91/filelists/newt diff --git a/config/rootfiles/core/91/filelists/openssh b/config/rootfiles/oldcore/91/filelists/openssh similarity index 100% rename from config/rootfiles/core/91/filelists/openssh rename to config/rootfiles/oldcore/91/filelists/openssh diff --git a/config/rootfiles/core/91/filelists/openssl b/config/rootfiles/oldcore/91/filelists/openssl similarity index 100% rename from config/rootfiles/core/91/filelists/openssl rename to config/rootfiles/oldcore/91/filelists/openssl diff --git a/config/rootfiles/core/91/filelists/pcre b/config/rootfiles/oldcore/91/filelists/pcre similarity index 100% rename from config/rootfiles/core/91/filelists/pcre rename to config/rootfiles/oldcore/91/filelists/pcre diff --git a/config/rootfiles/core/91/filelists/slang b/config/rootfiles/oldcore/91/filelists/slang similarity index 100% rename from config/rootfiles/core/91/filelists/slang rename to config/rootfiles/oldcore/91/filelists/slang diff --git a/config/rootfiles/core/91/filelists/strongswan b/config/rootfiles/oldcore/91/filelists/strongswan similarity index 100% rename from config/rootfiles/core/91/filelists/strongswan rename to config/rootfiles/oldcore/91/filelists/strongswan diff --git a/config/rootfiles/core/91/meta b/config/rootfiles/oldcore/91/meta similarity index 100% rename from config/rootfiles/core/91/meta rename to config/rootfiles/oldcore/91/meta diff --git a/config/rootfiles/core/91/update.sh b/config/rootfiles/oldcore/91/update.sh similarity index 100% rename from config/rootfiles/core/91/update.sh rename to config/rootfiles/oldcore/91/update.sh From 96396af0437be1147fc59a23b22ea68c07c05e3b Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jun 2015 18:03:51 +0200 Subject: [PATCH 09/37] perl-Net-SMTP-SSL: New package This is needed for "git send-email" in order to send emails using TLS. Signed-off-by: Michael Tremer --- config/rootfiles/packages/perl-Net-SMTP-SSL | 6 ++ lfs/perl-Net-SMTP-SSL | 83 +++++++++++++++++++++ make.sh | 1 + 3 files changed, 90 insertions(+) create mode 100644 config/rootfiles/packages/perl-Net-SMTP-SSL create mode 100644 lfs/perl-Net-SMTP-SSL diff --git a/config/rootfiles/packages/perl-Net-SMTP-SSL b/config/rootfiles/packages/perl-Net-SMTP-SSL new file mode 100644 index 000000000..c39425e44 --- /dev/null +++ b/config/rootfiles/packages/perl-Net-SMTP-SSL @@ -0,0 +1,6 @@ +#usr/lib/perl5/site_perl/5.12.3/Net/SMTP +usr/lib/perl5/site_perl/5.12.3/Net/SMTP/SSL.pm +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Net/SMTP +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Net/SMTP/SSL +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Net/SMTP/SSL/.packlist +#usr/share/man/man3/Net::SMTP::SSL.3 diff --git a/lfs/perl-Net-SMTP-SSL b/lfs/perl-Net-SMTP-SSL new file mode 100644 index 000000000..2e2ec578f --- /dev/null +++ b/lfs/perl-Net-SMTP-SSL @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2015 IPFire Team # +# # +# 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 3 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, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.02 + +THISAPP = Net-SMTP-SSL-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = perl-Net-SMTP-SSL +DEPS = "" +PAK_VER = 1 + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = e67b4d842a51b9a453aeeaeed45fb8e1 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 29245bc59..8f9cd636a 100755 --- a/make.sh +++ b/make.sh @@ -702,6 +702,7 @@ buildipfire() { ipfiremake mpd ipfiremake libmpdclient ipfiremake mpc + ipfiremake perl-Net-SMTP-SSL ipfiremake git ipfiremake squidclamav ipfiremake vnstat From 60c16cfdcfe017f0390ff60b7cbc1c08f6012487 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jun 2015 18:03:52 +0200 Subject: [PATCH 10/37] perl-MIME-Base64: New package Required for "git send-email". Signed-off-by: Michael Tremer --- config/rootfiles/packages/perl-MIME-Base64 | 7 ++ lfs/perl-MIME-Base64 | 83 ++++++++++++++++++++++ make.sh | 1 + 3 files changed, 91 insertions(+) create mode 100644 config/rootfiles/packages/perl-MIME-Base64 create mode 100644 lfs/perl-MIME-Base64 diff --git a/config/rootfiles/packages/perl-MIME-Base64 b/config/rootfiles/packages/perl-MIME-Base64 new file mode 100644 index 000000000..59ca61f4f --- /dev/null +++ b/config/rootfiles/packages/perl-MIME-Base64 @@ -0,0 +1,7 @@ +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/MIME +usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/MIME/Base64.pm +usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/MIME/QuotedPrint.pm +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/MIME/Base64 +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/MIME/Base64/.packlist +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/MIME/Base64/Base64.bs +usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/MIME/Base64/Base64.so diff --git a/lfs/perl-MIME-Base64 b/lfs/perl-MIME-Base64 new file mode 100644 index 000000000..f406ae9e7 --- /dev/null +++ b/lfs/perl-MIME-Base64 @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2015 IPFire Team # +# # +# 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 3 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, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 3.15 + +THISAPP = MIME-Base64-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = perl-MIME-Base64 +DEPS = "" +PAK_VER = 1 + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = ef958dc2bf96be5f759391c6ac1debd4 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 8f9cd636a..83f47cdf1 100755 --- a/make.sh +++ b/make.sh @@ -703,6 +703,7 @@ buildipfire() { ipfiremake libmpdclient ipfiremake mpc ipfiremake perl-Net-SMTP-SSL + ipfiremake perl-MIME-Base64 ipfiremake git ipfiremake squidclamav ipfiremake vnstat From 37672a3d53aae800f6905472d27823a6a2a48d85 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jun 2015 18:03:53 +0200 Subject: [PATCH 11/37] perl-Authen-SASL: New package Required to do authentication in "git send-email". Signed-off-by: Michael Tremer --- config/rootfiles/packages/perl-Authen-SASL | 28 ++++++++ lfs/perl-Authen-SASL | 83 ++++++++++++++++++++++ make.sh | 1 + 3 files changed, 112 insertions(+) create mode 100644 config/rootfiles/packages/perl-Authen-SASL create mode 100644 lfs/perl-Authen-SASL diff --git a/config/rootfiles/packages/perl-Authen-SASL b/config/rootfiles/packages/perl-Authen-SASL new file mode 100644 index 000000000..a44b726c3 --- /dev/null +++ b/config/rootfiles/packages/perl-Authen-SASL @@ -0,0 +1,28 @@ +#usr/lib/perl5/site_perl/5.12.3/Authen +#usr/lib/perl5/site_perl/5.12.3/Authen/SASL +usr/lib/perl5/site_perl/5.12.3/Authen/SASL.pm +#usr/lib/perl5/site_perl/5.12.3/Authen/SASL.pod +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/CRAM_MD5.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/EXTERNAL.pm +#usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl.pm +#usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl.pod +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/ANONYMOUS.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/CRAM_MD5.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/DIGEST_MD5.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/EXTERNAL.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/GSSAPI.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/LOGIN.pm +usr/lib/perl5/site_perl/5.12.3/Authen/SASL/Perl/PLAIN.pm +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Authen +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Authen/SASL +#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/Authen/SASL/.packlist +#usr/share/man/man3/Authen::SASL.3 +#usr/share/man/man3/Authen::SASL::Perl.3 +#usr/share/man/man3/Authen::SASL::Perl::ANONYMOUS.3 +#usr/share/man/man3/Authen::SASL::Perl::CRAM_MD5.3 +#usr/share/man/man3/Authen::SASL::Perl::DIGEST_MD5.3 +#usr/share/man/man3/Authen::SASL::Perl::EXTERNAL.3 +#usr/share/man/man3/Authen::SASL::Perl::GSSAPI.3 +#usr/share/man/man3/Authen::SASL::Perl::LOGIN.3 +#usr/share/man/man3/Authen::SASL::Perl::PLAIN.3 diff --git a/lfs/perl-Authen-SASL b/lfs/perl-Authen-SASL new file mode 100644 index 000000000..4052c44ae --- /dev/null +++ b/lfs/perl-Authen-SASL @@ -0,0 +1,83 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2015 IPFire Team # +# # +# 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 3 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, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2.16 + +THISAPP = Authen-SASL-$(VER) +DL_FILE = ${THISAPP}.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = perl-Authen-SASL +DEPS = "" +PAK_VER = 1 + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 7c03a689d4c689e5a9e2f18a1c586b2f + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 83f47cdf1..3bf532b4c 100755 --- a/make.sh +++ b/make.sh @@ -704,6 +704,7 @@ buildipfire() { ipfiremake mpc ipfiremake perl-Net-SMTP-SSL ipfiremake perl-MIME-Base64 + ipfiremake perl-Authen-SASL ipfiremake git ipfiremake squidclamav ipfiremake vnstat From 0967d2ba02339adb85b54130c1cd3c6fb95fd53f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 16 Jun 2015 18:03:54 +0200 Subject: [PATCH 12/37] git: Depend on perl modules required for 'send-email' Signed-off-by: Michael Tremer --- lfs/git | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lfs/git b/lfs/git index 23838e4e5..51936ab4d 100644 --- a/lfs/git +++ b/lfs/git @@ -32,9 +32,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = git -PAK_VER = 10 +PAK_VER = 11 -DEPS = "" +DEPS = "perl-Authen-SASL perl-MIME-Base64 perl-Net-SMTP-SSL" ############################################################################### # Top-level Rules From 697b4f04bf8a007b289e424cf88bfbba7a2df71a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 18 Jun 2015 12:38:38 +0200 Subject: [PATCH 13/37] dnsmasq: Import patches from upstream These fix minor bugs and contain smaller improvements. Signed-off-by: Michael Tremer --- config/rootfiles/core/92/filelists/dnsmasq | 1 + lfs/dnsmasq | 15 + ...ne-at-the-end-of-example-config-file.patch | 2 +- ...-when-an-empty-suffix-is-supplied-to.patch | 2 +- ...0003-Debian-build-fixes-for-kFreeBSD.patch | 2 +- ...t-conntrack-mark-before-connect-call.patch | 2 +- .../0005-Fix-typo-in-new-Dbus-code.patch | 2 +- .../0006-Fit-example-conf-file-typo.patch | 2 +- ...liance-when-unable-to-supply-address.patch | 4 +- ...8-Fix-conntrack-with-bind-interfaces.patch | 2 +- ...-inotify-instead-of-polling-on-Linux.patch | 2 +- ...-the-new-inotify-code-about-symlinks.patch | 2 +- ...oor-on-EDNS0-packet-size-with-DNSSEC.patch | 2 +- .../dnsmasq/0012-CHANGELOG-re.-inotify.patch | 2 +- ...eakage-of-domain-domain-subnet-local.patch | 2 +- ...dundant-IN6_IS_ADDR_ULA-a-macro-defn.patch | 2 +- ...rivacy-addresses-from-interface-name.patch | 4 +- ...h-in-cache-dump-to-avoid-truncating-.patch | 2 +- ...SEC-code-when-attempting-to-verify-l.patch | 2 +- ...k-for-CNAMEs-pointing-to-A-AAAA-reco.patch | 4 +- ...blems-validating-NSEC3-and-wildcards.patch | 2 +- .../0020-Initialise-return-value.patch | 2 +- .../0021-Add-ignore-address-option.patch | 2 +- .../dnsmasq/0022-Bad-packet-protection.patch | 2 +- ...d-failure-in-new-inotify-code-on-BSD.patch | 2 +- ...efile-dependencies-on-COPTS-variable.patch | 2 +- ...Fix-race-condition-issue-in-makefile.patch | 2 +- ...wn-search-for-limit-of-secure-delega.patch | 2 +- ...extra-option-for-more-complete-loggi.patch | 2 +- .../0028-Add-min-cache-ttl-option.patch | 2 +- ...f-requestor-when-doing-extra-logging.patch | 2 +- ...m-cache-RRsets-from-wildcards-as-we-.patch | 2 +- .../0031-Logs-for-DS-records-consistent.patch | 2 +- ...le-interfaces-with-the-same-LL-addre.patch | 3 +- ...reat-SERVFAIL-as-a-recoverable-error.patch | 2 +- ...0034-Add-dhcp-hostsdir-config-option.patch | 2 +- .../0035-Update-German-translation.patch | 2 +- ...HCPv6-SOLICIT-messages-when-not-conf.patch | 2 +- ...-be-disabled-at-compile-time-on-Linu.patch | 3 +- ...ode-to-dhcp-hostsdir-dhcp-optsdir-an.patch | 4 +- ...9-Update-copyrights-for-dawn-of-2015.patch | 2 +- .../0040-inotify-documentation-updates.patch | 2 +- ...1-Fix-broken-ECDSA-DNSSEC-signatures.patch | 2 +- .../dnsmasq/0042-BSD-make-support.patch | 2 +- .../0043-Fix-build-failure-on-openBSD.patch | 2 +- .../dnsmasq/0044-Manpage-typo-fix.patch | 2 +- ...gs-after-reading-extra-hostfiles-wit.patch | 2 +- .../0046-Extra-logging-for-inotify-code.patch | 2 +- src/patches/dnsmasq/0047-man-page-typo.patch | 2 +- ...script-which-returned-wrong-tag-in-s.patch | 4 +- src/patches/dnsmasq/0049-Typos.patch | 2 +- ...c-hosts-files-work-when-no-hosts-set.patch | 2 +- ...ial-memory-leaks-to-quieten-valgrind.patch | 2 +- ...ialized-value-used-in-get_client_mac.patch | 2 +- ...parsing-utils-in-contrib-reverse-dns.patch | 2 +- ...dnssec-timestamp-option-and-facility.patch | 2 +- ...to-not-crash-if-uid-changing-not-con.patch | 2 +- ...6-New-version-of-contrib-reverse-dns.patch | 2 +- ...estamp-code-to-create-file-later-rem.patch | 2 +- ...code-for-re-running-system-calls-on-.patch | 2 +- ...mple.com-equivalent-to-server-exampl.patch | 2 +- ...d-interface-via-cmsg-in-unicast-repl.patch | 3 +- ...C-when-a-signed-CNAME-dangles-into-a.patch | 2 +- ...n-SERVFAIL-when-validation-abandoned.patch | 2 +- ...tect-against-broken-DNSSEC-upstreams.patch | 2 +- ...x-for-non-ascii-characters-in-labels.patch | 2 +- ...aracters-in-names-in-the-cache-handl.patch | 4 +- .../0066-Fix-crash-in-last-commit.patch | 2 +- .../0067-Merge-message-translations.patch | 2 +- ...-no-fail-to-ignore-missing-tftp-root.patch | 2 +- .../dnsmasq/0069-Whitespace-fixes.patch | 2 +- ...rather-than-BOGUS-when-DS-proved-not.patch | 2 +- ...er-warning-when-not-including-DNSSEC.patch | 2 +- ...-by-looking-up-servers.bind-when-man.patch | 2 +- ...eipt-of-certain-malformed-DNS-reques.patch | 3 +- ...-in-auth-code-with-odd-configuration.patch | 2 +- ...replies-to-NS-and-SOA-in-.arpa-zones.patch | 2 +- ...duced-crash-in-new-tftp_no_fail-code.patch | 2 +- .../dnsmasq/0077-Note-CVE-2015-3294.patch | 2 +- ...-reporting-DNSSEC-validation-failure.patch | 2 +- ...s-command-line-arg-in-dhcp_release.c.patch | 2 +- ...74c51d96fef100285a0d225824534f9-and-.patch | 2 +- ...in-names-with-.-or-000-within-labels.patch | 2 +- ...to-previous-DNS-label-charset-commit.patch | 2 +- ...DHCPv6-not-suppressed-by-dhcp6-quiet.patch | 2 +- ...on-work-when-repo-is-a-git-submodule.patch | 2 +- ...er-botch-which-broke-DNSSEC-for-TCP-.patch | 2 +- ...IG-RR-from-answers-to-ANY-queries-wh.patch | 4 +- ...some-DHCP-lease-management-functions.patch | 2 +- ...t-loss-when-fragmentation-of-large-p.patch | 2 +- ...pped-IPv6-addresses-with-stop-rebind.patch | 2 +- .../0090-Tweak-EDNS-timeout-code.patch | 2 +- ...archive-mailing-list-mirror-in-doc.h.patch | 2 +- ...w-T1-and-T2-DHCPv4-options-to-be-set.patch | 2 +- .../dnsmasq/0093-Tweak-last-commit.patch | 2 +- ...DHCP-context-for-PXE-proxy-server-id.patch | 2 +- ...uffer-overflow-introduced-in-2.73rc6.patch | 2 +- ...support-for-DNS-Extended-Label-Types.patch | 2 +- ...HCP-context-when-in-PXE-bootserver-m.patch | 2 +- ...098-Tweak-immediately-previous-patch.patch | 2 +- src/patches/dnsmasq/0099-Man-page-typo.patch | 25 + ...dd-infiniband-to-example-config-file.patch | 30 + ...se-DNS-header-bits-in-answer-when-re.patch | 55 + ...RM-should-be-OK-for-any-address-on-l.patch | 43 + ...corner-cases-in-NSEC-coverage-checks.patch | 53 + ...ods-to-create-and-delete-DHCP-leases.patch | 329 + ...missed-logging-strings-to-the-catalo.patch | 32 + ...nknown-interface-in-bridge-interface.patch | 28 + ...-bridge-interface-aliasing-to-DHCPv6.patch | 65 + ...ertisements-to-have-the-off-link-bit.patch | 85 + ...erface-aliasing-to-solicited-router-.patch | 107 + ...erfaces-to-unsolicited-router-advert.patch | 131 + ...ates-for-bridge-interface-and-off-li.patch | 201 + ...-and-fix-makefile-process-to-do-this.patch | 21460 ++++++++++++++++ ...-DS-records-when-confirming-absence-.patch | 173 + 115 files changed, 22942 insertions(+), 105 deletions(-) create mode 120000 config/rootfiles/core/92/filelists/dnsmasq create mode 100644 src/patches/dnsmasq/0099-Man-page-typo.patch create mode 100644 src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch create mode 100644 src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch create mode 100644 src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch create mode 100644 src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch create mode 100644 src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch create mode 100644 src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch create mode 100644 src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch create mode 100644 src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch create mode 100644 src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch create mode 100644 src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch create mode 100644 src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch create mode 100644 src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch create mode 100644 src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch create mode 100644 src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch diff --git a/config/rootfiles/core/92/filelists/dnsmasq b/config/rootfiles/core/92/filelists/dnsmasq new file mode 120000 index 000000000..d469c7463 --- /dev/null +++ b/config/rootfiles/core/92/filelists/dnsmasq @@ -0,0 +1 @@ +../../../common/dnsmasq \ No newline at end of file diff --git a/lfs/dnsmasq b/lfs/dnsmasq index 857434c3d..a5d86e930 100644 --- a/lfs/dnsmasq +++ b/lfs/dnsmasq @@ -171,6 +171,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0099-Man-page-typo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0112-Merge-messages-and-fix-makefile-process-to-do-this.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq/0113-Handle-CNAMEs-to-DS-records-when-confirming-absence-.patch cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/dnsmasq-Add-support-to-read-ISC-DHCP-lease-file.patch cd $(DIR_APP) && sed -i src/config.h \ -e 's|/\* #define HAVE_IDN \*/|#define HAVE_IDN|g' \ diff --git a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch index 57c9ff13f..3c67b6417 100644 --- a/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch +++ b/src/patches/dnsmasq/0001-Add-newline-at-the-end-of-example-config-file.patch @@ -1,7 +1,7 @@ From f2658275b25ebfe691cdcb9fede85a3088cca168 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 25 Sep 2014 21:51:25 +0100 -Subject: [PATCH 01/98] Add newline at the end of example config file. +Subject: [PATCH 001/113] Add newline at the end of example config file. --- dnsmasq.conf.example | 2 +- diff --git a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch index 86eb603ae..090892dd1 100644 --- a/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch +++ b/src/patches/dnsmasq/0002-crash-at-startup-when-an-empty-suffix-is-supplied-to.patch @@ -1,7 +1,7 @@ From 00cd9d551998307225312fd21f761cfa8868bd2c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 2 Oct 2014 21:44:21 +0100 -Subject: [PATCH 02/98] crash at startup when an empty suffix is supplied to +Subject: [PATCH 002/113] crash at startup when an empty suffix is supplied to --conf-dir --- diff --git a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch index b0badb1f0..1fcb04122 100644 --- a/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch +++ b/src/patches/dnsmasq/0003-Debian-build-fixes-for-kFreeBSD.patch @@ -1,7 +1,7 @@ From 6ac3bc0452a74e16e3d620a0757b0f8caab182ec Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Oct 2014 08:48:11 +0100 -Subject: [PATCH 03/98] Debian build fixes for kFreeBSD +Subject: [PATCH 003/113] Debian build fixes for kFreeBSD --- src/tables.c | 6 +++++- diff --git a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch index b2725d4a2..f734fbc85 100644 --- a/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch +++ b/src/patches/dnsmasq/0004-Set-conntrack-mark-before-connect-call.patch @@ -1,7 +1,7 @@ From e9828b6f66b22ce8873f8d30a773137d1aef1b92 Mon Sep 17 00:00:00 2001 From: Karl Vogel Date: Fri, 3 Oct 2014 21:45:15 +0100 -Subject: [PATCH 04/98] Set conntrack mark before connect() call. +Subject: [PATCH 004/113] Set conntrack mark before connect() call. SO_MARK has to be done before issuing the connect() call on the TCP socket. diff --git a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch index 84be7de37..ef70ae3f2 100644 --- a/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch +++ b/src/patches/dnsmasq/0005-Fix-typo-in-new-Dbus-code.patch @@ -1,7 +1,7 @@ From 17b475912f6a4e72797a543dad59d4d5dde6bb1b Mon Sep 17 00:00:00 2001 From: Daniel Collins Date: Fri, 3 Oct 2014 21:58:43 +0100 -Subject: [PATCH 05/98] Fix typo in new Dbus code. +Subject: [PATCH 005/113] Fix typo in new Dbus code. Simon's fault. --- diff --git a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch index 0cb139f81..c6dc31e61 100644 --- a/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch +++ b/src/patches/dnsmasq/0006-Fit-example-conf-file-typo.patch @@ -1,7 +1,7 @@ From 3d9d2dd0018603a2ae4b9cd65ac6ff959f4fd8c7 Mon Sep 17 00:00:00 2001 From: Tomas Hozza Date: Mon, 6 Oct 2014 10:46:48 +0100 -Subject: [PATCH 06/98] Fit example conf file typo. +Subject: [PATCH 006/113] Fit example conf file typo. --- dnsmasq.conf.example | 2 +- diff --git a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch index 286ddcf68..bc2428138 100644 --- a/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch +++ b/src/patches/dnsmasq/0007-Improve-RFC-compliance-when-unable-to-supply-address.patch @@ -1,8 +1,8 @@ From b9ff5c8f435173cfa616e3c398bdc089ef690a07 Mon Sep 17 00:00:00 2001 From: Vladislav Grishenko Date: Mon, 6 Oct 2014 14:34:24 +0100 -Subject: [PATCH 07/98] Improve RFC-compliance when unable to supply addresses - in DHCPv6 +Subject: [PATCH 007/113] Improve RFC-compliance when unable to supply + addresses in DHCPv6 While testing https://github.com/sbyx/odhcp6c client I have noticed it permanently crashes after startup. diff --git a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch index f667cf3ce..47f0ea6f5 100644 --- a/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch +++ b/src/patches/dnsmasq/0008-Fix-conntrack-with-bind-interfaces.patch @@ -1,7 +1,7 @@ From 98906275a02ae260fe3f82133bd79054f8315f06 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Tue, 9 Dec 2014 22:22:53 +0000 -Subject: [PATCH 08/98] Fix conntrack with --bind-interfaces +Subject: [PATCH 008/113] Fix conntrack with --bind-interfaces Make sure dst_addr is assigned the correct address in receive_query when OPTNOWILD is enabled so the assigned mark can be correctly retrieved and set in forward_query when diff --git a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch index 3d6654068..3cefd02fc 100644 --- a/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch +++ b/src/patches/dnsmasq/0009-Use-inotify-instead-of-polling-on-Linux.patch @@ -1,7 +1,7 @@ From 193de4abf59e49c6b70d54cfe9720fcb95ca2f71 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 10 Dec 2014 17:32:16 +0000 -Subject: [PATCH 09/98] Use inotify instead of polling on Linux. +Subject: [PATCH 009/113] Use inotify instead of polling on Linux. This should solve problems people are seeing when a file changes twice within a second and thus is missed for polling. diff --git a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch index 2ddef28b6..35c405b76 100644 --- a/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch +++ b/src/patches/dnsmasq/0010-Teach-the-new-inotify-code-about-symlinks.patch @@ -1,7 +1,7 @@ From 857973e6f7e0a3d03535a9df7f9373fd7a0b65cc Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 15:58:13 +0000 -Subject: [PATCH 10/98] Teach the new inotify code about symlinks. +Subject: [PATCH 010/113] Teach the new inotify code about symlinks. --- src/inotify.c | 43 +++++++++++++++++++++++++++---------------- diff --git a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch index c4dd777cb..d1766f58d 100644 --- a/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch +++ b/src/patches/dnsmasq/0011-Remove-floor-on-EDNS0-packet-size-with-DNSSEC.patch @@ -1,7 +1,7 @@ From 800c5cc1e7438818fd80f08c2d472df249a6942d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 17:50:15 +0000 -Subject: [PATCH 11/98] Remove floor on EDNS0 packet size with DNSSEC. +Subject: [PATCH 011/113] Remove floor on EDNS0 packet size with DNSSEC. --- CHANGELOG | 6 +++++- diff --git a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch index 0044a39a2..5fe1dfb59 100644 --- a/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch +++ b/src/patches/dnsmasq/0012-CHANGELOG-re.-inotify.patch @@ -1,7 +1,7 @@ From ad946d555dce44eb690c7699933b6ff40ab85bb6 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 15 Dec 2014 17:52:22 +0000 -Subject: [PATCH 12/98] CHANGELOG re. inotify. +Subject: [PATCH 012/113] CHANGELOG re. inotify. --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch index 8f67d2a81..284b5cc4f 100644 --- a/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch +++ b/src/patches/dnsmasq/0013-Fix-breakage-of-domain-domain-subnet-local.patch @@ -1,7 +1,7 @@ From 3ad3f3bbd4ee716a7d2fb1e115cf89bd1b1a5de9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 16 Dec 2014 18:25:17 +0000 -Subject: [PATCH 13/98] Fix breakage of --domain=,,local +Subject: [PATCH 013/113] Fix breakage of --domain=,,local --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch index 19f03225d..65030e9e4 100644 --- a/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch +++ b/src/patches/dnsmasq/0014-Remove-redundant-IN6_IS_ADDR_ULA-a-macro-defn.patch @@ -1,7 +1,7 @@ From bd9520b7ade7098ee423acc38965376aa57feb07 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 16 Dec 2014 20:41:29 +0000 -Subject: [PATCH 14/98] Remove redundant IN6_IS_ADDR_ULA(a) macro defn. +Subject: [PATCH 014/113] Remove redundant IN6_IS_ADDR_ULA(a) macro defn. --- src/network.c | 4 ---- diff --git a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch index 2c9c2a64a..8aca09fef 100644 --- a/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch +++ b/src/patches/dnsmasq/0015-Eliminate-IPv6-privacy-addresses-from-interface-name.patch @@ -1,8 +1,8 @@ From 476693678e778886b64d0b56e27eb7695cbcca99 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 17 Dec 2014 12:41:56 +0000 -Subject: [PATCH 15/98] Eliminate IPv6 privacy addresses from --interface-name - answers. +Subject: [PATCH 015/113] Eliminate IPv6 privacy addresses from + --interface-name answers. --- CHANGELOG | 5 +++++ diff --git a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch index 3b984f34f..df1268fcd 100644 --- a/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch +++ b/src/patches/dnsmasq/0016-Tweak-field-width-in-cache-dump-to-avoid-truncating-.patch @@ -1,7 +1,7 @@ From 3267804598047bd1781cab91508d1bc516e5ddbb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 17 Dec 2014 20:38:20 +0000 -Subject: [PATCH 16/98] Tweak field width in cache dump to avoid truncating +Subject: [PATCH 016/113] Tweak field width in cache dump to avoid truncating IPv6 addresses. --- diff --git a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch index 0aa4fe912..81a39be30 100644 --- a/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch +++ b/src/patches/dnsmasq/0017-Fix-crash-in-DNSSEC-code-when-attempting-to-verify-l.patch @@ -1,7 +1,7 @@ From 094b5c3d904bae9aeb3206d9f3b8348926b84975 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 21 Dec 2014 16:11:52 +0000 -Subject: [PATCH 17/98] Fix crash in DNSSEC code when attempting to verify +Subject: [PATCH 017/113] Fix crash in DNSSEC code when attempting to verify large RRs. --- diff --git a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch index e80f0e395..6f41cf2e7 100644 --- a/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch +++ b/src/patches/dnsmasq/0018-Make-caching-work-for-CNAMEs-pointing-to-A-AAAA-reco.patch @@ -1,8 +1,8 @@ From cbc652423403e3cef00e00240f6beef713142246 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 21 Dec 2014 21:21:53 +0000 -Subject: [PATCH 18/98] Make caching work for CNAMEs pointing to A/AAAA records - shadowed in /etc/hosts +Subject: [PATCH 018/113] Make caching work for CNAMEs pointing to A/AAAA + records shadowed in /etc/hosts If the answer to an upstream query is a CNAME which points to an A/AAAA record which also exists in /etc/hosts and friends, then diff --git a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch index 7bd143ede..1755c3a55 100644 --- a/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch +++ b/src/patches/dnsmasq/0019-Fix-problems-validating-NSEC3-and-wildcards.patch @@ -1,7 +1,7 @@ From fbc5205702c7f6f431d9f1043c553d7fb62ddfdb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 23 Dec 2014 15:46:08 +0000 -Subject: [PATCH 19/98] Fix problems validating NSEC3 and wildcards. +Subject: [PATCH 019/113] Fix problems validating NSEC3 and wildcards. --- src/dnssec.c | 253 ++++++++++++++++++++++++++++++----------------------------- diff --git a/src/patches/dnsmasq/0020-Initialise-return-value.patch b/src/patches/dnsmasq/0020-Initialise-return-value.patch index 27d121710..2dd2f2658 100644 --- a/src/patches/dnsmasq/0020-Initialise-return-value.patch +++ b/src/patches/dnsmasq/0020-Initialise-return-value.patch @@ -1,7 +1,7 @@ From 83d2ed09fc0216b567d7fb2197e4ff3eae150b0d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 23 Dec 2014 18:42:38 +0000 -Subject: [PATCH 20/98] Initialise return value. +Subject: [PATCH 020/113] Initialise return value. --- src/dnssec.c | 7 +++++-- diff --git a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch index ab6e7a514..7ff57afd7 100644 --- a/src/patches/dnsmasq/0021-Add-ignore-address-option.patch +++ b/src/patches/dnsmasq/0021-Add-ignore-address-option.patch @@ -1,7 +1,7 @@ From 32fc6dbe03569d70dd394420ceb73532cf303c33 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Sat, 27 Dec 2014 15:28:12 +0000 -Subject: [PATCH 21/98] Add --ignore-address option. +Subject: [PATCH 021/113] Add --ignore-address option. --- CHANGELOG | 8 ++++++++ diff --git a/src/patches/dnsmasq/0022-Bad-packet-protection.patch b/src/patches/dnsmasq/0022-Bad-packet-protection.patch index 0c8250614..96c4696ba 100644 --- a/src/patches/dnsmasq/0022-Bad-packet-protection.patch +++ b/src/patches/dnsmasq/0022-Bad-packet-protection.patch @@ -1,7 +1,7 @@ From 0b1008d367d44e77352134a4c5178f896f0db3e7 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 27 Dec 2014 15:33:32 +0000 -Subject: [PATCH 22/98] Bad packet protection. +Subject: [PATCH 022/113] Bad packet protection. --- src/dnssec.c | 2 +- diff --git a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch index 5bf7d6300..f5dfad8ac 100644 --- a/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch +++ b/src/patches/dnsmasq/0023-Fix-build-failure-in-new-inotify-code-on-BSD.patch @@ -1,7 +1,7 @@ From d310ab7ecbffce79d3d90debba621e0222f9bced Mon Sep 17 00:00:00 2001 From: Matthias Andree Date: Sat, 27 Dec 2014 15:36:38 +0000 -Subject: [PATCH 23/98] Fix build failure in new inotify code on BSD. +Subject: [PATCH 023/113] Fix build failure in new inotify code on BSD. --- src/inotify.c | 4 ++-- diff --git a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch index 41662b7e3..6f29876c3 100644 --- a/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch +++ b/src/patches/dnsmasq/0024-Implement-makefile-dependencies-on-COPTS-variable.patch @@ -1,7 +1,7 @@ From 81c538efcebfce2ce4a1d3a420b6c885b8f08df9 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Sat, 3 Jan 2015 16:36:14 +0000 -Subject: [PATCH 24/98] Implement makefile dependencies on COPTS variable. +Subject: [PATCH 024/113] Implement makefile dependencies on COPTS variable. --- .gitignore | 2 +- diff --git a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch index 4de48837e..84245f88d 100644 --- a/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch +++ b/src/patches/dnsmasq/0025-Fix-race-condition-issue-in-makefile.patch @@ -1,7 +1,7 @@ From d8dbd903d024f84a149dac2f8a674a68dfed47a3 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Mon, 5 Jan 2015 17:03:35 +0000 -Subject: [PATCH 25/98] Fix race condition issue in makefile. +Subject: [PATCH 025/113] Fix race condition issue in makefile. --- Makefile | 4 +++- diff --git a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch index cb9c925ec..e715c50ae 100644 --- a/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch +++ b/src/patches/dnsmasq/0026-DNSSEC-do-top-down-search-for-limit-of-secure-delega.patch @@ -1,7 +1,7 @@ From 97e618a0e3f29465acc689d87288596b006f197e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 7 Jan 2015 21:55:43 +0000 -Subject: [PATCH 26/98] DNSSEC: do top-down search for limit of secure +Subject: [PATCH 026/113] DNSSEC: do top-down search for limit of secure delegation. --- diff --git a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch index 6b752538b..f64352714 100644 --- a/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch +++ b/src/patches/dnsmasq/0027-Add-log-queries-extra-option-for-more-complete-loggi.patch @@ -1,7 +1,7 @@ From 25cf5e373eb41c088d4ee5e625209c4cf6a5659e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 9 Jan 2015 15:53:03 +0000 -Subject: [PATCH 27/98] Add --log-queries=extra option for more complete +Subject: [PATCH 027/113] Add --log-queries=extra option for more complete logging. --- diff --git a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch index 6bb1c97fb..8714feb9c 100644 --- a/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch +++ b/src/patches/dnsmasq/0028-Add-min-cache-ttl-option.patch @@ -1,7 +1,7 @@ From 28de38768e2c7d763b9aa5b7a4d251d5e56bab0b Mon Sep 17 00:00:00 2001 From: RinSatsuki Date: Sat, 10 Jan 2015 15:22:21 +0000 -Subject: [PATCH 28/98] Add --min-cache-ttl option. +Subject: [PATCH 028/113] Add --min-cache-ttl option. --- CHANGELOG | 7 +++++++ diff --git a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch index 0e63180c2..6c4423e82 100644 --- a/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch +++ b/src/patches/dnsmasq/0029-Log-port-of-requestor-when-doing-extra-logging.patch @@ -1,7 +1,7 @@ From 9f79ee4ae34886c0319f06d8f162b81ef79d62fb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 20:18:18 +0000 -Subject: [PATCH 29/98] Log port of requestor when doing extra logging. +Subject: [PATCH 029/113] Log port of requestor when doing extra logging. --- src/cache.c | 6 +++--- diff --git a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch index 6817da140..3be42b4cc 100644 --- a/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch +++ b/src/patches/dnsmasq/0030-Don-t-answer-from-cache-RRsets-from-wildcards-as-we-.patch @@ -1,7 +1,7 @@ From 5e321739db381a1d7b5964d76e9c81471d2564c9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 23:16:56 +0000 -Subject: [PATCH 30/98] Don't answer from cache RRsets from wildcards, as we +Subject: [PATCH 030/113] Don't answer from cache RRsets from wildcards, as we don't have NSECs. --- diff --git a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch index 2b86121b1..eafd38103 100644 --- a/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch +++ b/src/patches/dnsmasq/0031-Logs-for-DS-records-consistent.patch @@ -1,7 +1,7 @@ From ae4624bf46b5e37ff1a9a2ba3c927e0dede95adb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 12 Jan 2015 23:22:08 +0000 -Subject: [PATCH 31/98] Logs for DS records consistent. +Subject: [PATCH 031/113] Logs for DS records consistent. --- src/rfc1035.c | 2 +- diff --git a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch index d3d1277fc..4997b837f 100644 --- a/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch +++ b/src/patches/dnsmasq/0032-Cope-with-multiple-interfaces-with-the-same-LL-addre.patch @@ -1,7 +1,8 @@ From 393415597c8b5b09558b789ab9ac238dbe3db65d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 18 Jan 2015 22:11:10 +0000 -Subject: [PATCH 32/98] Cope with multiple interfaces with the same LL address. +Subject: [PATCH 032/113] Cope with multiple interfaces with the same LL + address. --- CHANGELOG | 4 ++++ diff --git a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch index 07cc0804b..fe05a9c62 100644 --- a/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch +++ b/src/patches/dnsmasq/0033-Don-t-treat-SERVFAIL-as-a-recoverable-error.patch @@ -1,7 +1,7 @@ From 2ae195f5a71f7c5a75717845de1bd72fc7dd67f3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 18 Jan 2015 22:20:48 +0000 -Subject: [PATCH 33/98] Don't treat SERVFAIL as a recoverable error..... +Subject: [PATCH 033/113] Don't treat SERVFAIL as a recoverable error..... --- src/forward.c | 2 +- diff --git a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch index b93d9cce5..636e91d64 100644 --- a/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch +++ b/src/patches/dnsmasq/0034-Add-dhcp-hostsdir-config-option.patch @@ -1,7 +1,7 @@ From 5f4dc5c6ca50655ab14f572c7e30815ed74cd51a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 20 Jan 2015 20:51:02 +0000 -Subject: [PATCH 34/98] Add --dhcp-hostsdir config option. +Subject: [PATCH 034/113] Add --dhcp-hostsdir config option. --- CHANGELOG | 5 +++ diff --git a/src/patches/dnsmasq/0035-Update-German-translation.patch b/src/patches/dnsmasq/0035-Update-German-translation.patch index 820bce138..99f7687bb 100644 --- a/src/patches/dnsmasq/0035-Update-German-translation.patch +++ b/src/patches/dnsmasq/0035-Update-German-translation.patch @@ -1,7 +1,7 @@ From fbf01f7046e75f9aa73fd4aab2a94e43386d9052 Mon Sep 17 00:00:00 2001 From: Conrad Kostecki Date: Tue, 20 Jan 2015 21:07:56 +0000 -Subject: [PATCH 35/98] Update German translation. +Subject: [PATCH 035/113] Update German translation. --- po/de.po | 101 +++++++++++++++++++++++++++++---------------------------------- diff --git a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch index 88562363e..23d497ec4 100644 --- a/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch +++ b/src/patches/dnsmasq/0036-Don-t-reply-to-DHCPv6-SOLICIT-messages-when-not-conf.patch @@ -1,7 +1,7 @@ From 61b838dd574c51d96fef100285a0d225824534f9 Mon Sep 17 00:00:00 2001 From: Win King Wan Date: Wed, 21 Jan 2015 20:41:48 +0000 -Subject: [PATCH 36/98] Don't reply to DHCPv6 SOLICIT messages when not +Subject: [PATCH 036/113] Don't reply to DHCPv6 SOLICIT messages when not configured for statefull DHCPv6. --- diff --git a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch index 2a4df45c0..d962964c3 100644 --- a/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch +++ b/src/patches/dnsmasq/0037-Allow-inotify-to-be-disabled-at-compile-time-on-Linu.patch @@ -1,7 +1,8 @@ From 0491805d2ff6e7727f0272c94fd97d9897d1e22c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 26 Jan 2015 11:23:43 +0000 -Subject: [PATCH 37/98] Allow inotify to be disabled at compile time on Linux. +Subject: [PATCH 037/113] Allow inotify to be disabled at compile time on + Linux. --- CHANGELOG | 4 +++- diff --git a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch index cd35f366a..20599227e 100644 --- a/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch +++ b/src/patches/dnsmasq/0038-Expand-inotify-code-to-dhcp-hostsdir-dhcp-optsdir-an.patch @@ -1,8 +1,8 @@ From 70d1873dd9e70041ed4bb88c69d5b886b7cc634c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 19:59:29 +0000 -Subject: [PATCH 38/98] Expand inotify code to dhcp-hostsdir, dhcp-optsdir and - hostsdir. +Subject: [PATCH 038/113] Expand inotify code to dhcp-hostsdir, dhcp-optsdir + and hostsdir. --- src/cache.c | 81 +++++++++++++++++--------- diff --git a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch index 7cf3fa7cc..4b56034fd 100644 --- a/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch +++ b/src/patches/dnsmasq/0039-Update-copyrights-for-dawn-of-2015.patch @@ -1,7 +1,7 @@ From aff3396280e944833f0e23d834aa6acd5fe2605a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 20:13:40 +0000 -Subject: [PATCH 39/98] Update copyrights for dawn of 2015. +Subject: [PATCH 039/113] Update copyrights for dawn of 2015. --- Makefile | 2 +- diff --git a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch index 3ed1b15ea..0a4a91acb 100644 --- a/src/patches/dnsmasq/0040-inotify-documentation-updates.patch +++ b/src/patches/dnsmasq/0040-inotify-documentation-updates.patch @@ -1,7 +1,7 @@ From 3d04f46334d0e345f589eda1372e638b946fe637 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 21:59:13 +0000 -Subject: [PATCH 40/98] inotify documentation updates. +Subject: [PATCH 040/113] inotify documentation updates. --- man/dnsmasq.8 | 11 +++++++++-- diff --git a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch index 56dcc5f13..01033f459 100644 --- a/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch +++ b/src/patches/dnsmasq/0041-Fix-broken-ECDSA-DNSSEC-signatures.patch @@ -1,7 +1,7 @@ From 6ef15b34ca83c62a939f69356d5c3f7a6bfef3d0 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 31 Jan 2015 22:44:26 +0000 -Subject: [PATCH 41/98] Fix broken ECDSA DNSSEC signatures. +Subject: [PATCH 041/113] Fix broken ECDSA DNSSEC signatures. --- CHANGELOG | 2 ++ diff --git a/src/patches/dnsmasq/0042-BSD-make-support.patch b/src/patches/dnsmasq/0042-BSD-make-support.patch index 65842537c..6e9bc4745 100644 --- a/src/patches/dnsmasq/0042-BSD-make-support.patch +++ b/src/patches/dnsmasq/0042-BSD-make-support.patch @@ -1,7 +1,7 @@ From 106266761828a0acb006346ae47bf031dee46a5d Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Feb 2015 00:15:16 +0000 -Subject: [PATCH 42/98] BSD make support +Subject: [PATCH 042/113] BSD make support --- Makefile | 6 ++++-- diff --git a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch index a8c26bf39..6953204fa 100644 --- a/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch +++ b/src/patches/dnsmasq/0043-Fix-build-failure-on-openBSD.patch @@ -1,7 +1,7 @@ From 8d8a54ec79d9f96979fabbd97b1dd2ddebc7d78f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Feb 2015 21:48:46 +0000 -Subject: [PATCH 43/98] Fix build failure on openBSD. +Subject: [PATCH 043/113] Fix build failure on openBSD. --- src/tables.c | 2 +- diff --git a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch index f8bd5fc18..5c01cfeb2 100644 --- a/src/patches/dnsmasq/0044-Manpage-typo-fix.patch +++ b/src/patches/dnsmasq/0044-Manpage-typo-fix.patch @@ -1,7 +1,7 @@ From d36b732c4cfa91ea09af64b5dc0f3a85a075e5bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thi=C3=A9baud=20Weksteen?= Date: Mon, 2 Feb 2015 21:37:27 +0000 -Subject: [PATCH 44/98] Manpage typo fix. +Subject: [PATCH 044/113] Manpage typo fix. --- man/dnsmasq.8 | 2 +- diff --git a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch index 7f6d39f6c..b4c274880 100644 --- a/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch +++ b/src/patches/dnsmasq/0045-Fixup-dhcp-configs-after-reading-extra-hostfiles-wit.patch @@ -1,7 +1,7 @@ From 2941d3ac898cf84b544e47c9735c5e4111711db1 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 2 Feb 2015 22:36:42 +0000 -Subject: [PATCH 45/98] Fixup dhcp-configs after reading extra hostfiles with +Subject: [PATCH 045/113] Fixup dhcp-configs after reading extra hostfiles with inotify. --- diff --git a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch index b15ef9a65..d4f823d72 100644 --- a/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch +++ b/src/patches/dnsmasq/0046-Extra-logging-for-inotify-code.patch @@ -1,7 +1,7 @@ From f9c863708c6b0aea31ff7a466647685dc739de50 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 3 Feb 2015 21:52:48 +0000 -Subject: [PATCH 46/98] Extra logging for inotify code. +Subject: [PATCH 046/113] Extra logging for inotify code. --- src/cache.c | 9 ++++----- diff --git a/src/patches/dnsmasq/0047-man-page-typo.patch b/src/patches/dnsmasq/0047-man-page-typo.patch index 5557b5131..bcf53f123 100644 --- a/src/patches/dnsmasq/0047-man-page-typo.patch +++ b/src/patches/dnsmasq/0047-man-page-typo.patch @@ -1,7 +1,7 @@ From efb8b5566aafc1f3ce18514a2df93af5a2e4998c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 7 Feb 2015 22:36:34 +0000 -Subject: [PATCH 47/98] man page typo. +Subject: [PATCH 047/113] man page typo. --- man/dnsmasq.8 | 1 + diff --git a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch index c70ca4612..47ada5bc5 100644 --- a/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch +++ b/src/patches/dnsmasq/0048-Fix-get-version-script-which-returned-wrong-tag-in-s.patch @@ -1,8 +1,8 @@ From f4f400776b3c1aa303d1a0fcd500f0ab5bc970f2 Mon Sep 17 00:00:00 2001 From: Shantanu Gadgil Date: Wed, 11 Feb 2015 20:16:59 +0000 -Subject: [PATCH 48/98] Fix get-version script which returned wrong tag in some - situations. +Subject: [PATCH 048/113] Fix get-version script which returned wrong tag in + some situations. --- bld/get-version | 2 +- diff --git a/src/patches/dnsmasq/0049-Typos.patch b/src/patches/dnsmasq/0049-Typos.patch index 1c711806e..88ace389a 100644 --- a/src/patches/dnsmasq/0049-Typos.patch +++ b/src/patches/dnsmasq/0049-Typos.patch @@ -1,7 +1,7 @@ From 8ff70de618eb7de9147dbfbd4deca4a2dd62f0cb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 14 Feb 2015 20:02:37 +0000 -Subject: [PATCH 49/98] Typos. +Subject: [PATCH 049/113] Typos. --- src/inotify.c | 3 ++- diff --git a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch index 38736c7a7..fda7094a9 100644 --- a/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch +++ b/src/patches/dnsmasq/0050-Make-dynamic-hosts-files-work-when-no-hosts-set.patch @@ -1,7 +1,7 @@ From caeea190f12efd20139f694aac4942d1ac00019f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 14 Feb 2015 20:08:56 +0000 -Subject: [PATCH 50/98] Make dynamic hosts files work when --no-hosts set. +Subject: [PATCH 050/113] Make dynamic hosts files work when --no-hosts set. --- src/cache.c | 21 +++++++++++---------- diff --git a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch index fb15cc2b9..72bd1caf7 100644 --- a/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch +++ b/src/patches/dnsmasq/0051-Fix-trivial-memory-leaks-to-quieten-valgrind.patch @@ -1,7 +1,7 @@ From 28b879ac47b872af6e8c5e86d76806c69338434d Mon Sep 17 00:00:00 2001 From: Chen Wei Date: Tue, 17 Feb 2015 22:07:35 +0000 -Subject: [PATCH 51/98] Fix trivial memory leaks to quieten valgrind. +Subject: [PATCH 051/113] Fix trivial memory leaks to quieten valgrind. --- src/dnsmasq.c | 2 ++ diff --git a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch index dabc770a4..1e28322e1 100644 --- a/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch +++ b/src/patches/dnsmasq/0052-Fix-uninitialized-value-used-in-get_client_mac.patch @@ -1,7 +1,7 @@ From 0705a7e2d57654b27c7e14f35ca77241c1821f4d Mon Sep 17 00:00:00 2001 From: Tomas Hozza Date: Mon, 23 Feb 2015 21:26:26 +0000 -Subject: [PATCH 52/98] Fix uninitialized value used in get_client_mac() +Subject: [PATCH 052/113] Fix uninitialized value used in get_client_mac() --- src/dhcp6.c | 4 +++- diff --git a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch index 82e38fcde..9a5314944 100644 --- a/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch +++ b/src/patches/dnsmasq/0053-Log-parsing-utils-in-contrib-reverse-dns.patch @@ -1,7 +1,7 @@ From 47b9ac59c715827252ae6e6732903c3dabb697fb Mon Sep 17 00:00:00 2001 From: Joachim Zobel Date: Mon, 23 Feb 2015 21:38:11 +0000 -Subject: [PATCH 53/98] Log parsing utils in contrib/reverse-dns +Subject: [PATCH 053/113] Log parsing utils in contrib/reverse-dns --- contrib/reverse-dns/README | 18 ++++++++++++++++++ diff --git a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch index 6d57b653a..4eebb74a2 100644 --- a/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch +++ b/src/patches/dnsmasq/0054-Add-dnssec-timestamp-option-and-facility.patch @@ -1,7 +1,7 @@ From f6e62e2af96f5fa0d1e3d93167a93a8f09bf6e61 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 1 Mar 2015 18:17:54 +0000 -Subject: [PATCH 54/98] Add --dnssec-timestamp option and facility. +Subject: [PATCH 054/113] Add --dnssec-timestamp option and facility. --- CHANGELOG | 6 +++++ diff --git a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch index 53e1388b9..e41596b72 100644 --- a/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch +++ b/src/patches/dnsmasq/0055-Fix-last-commit-to-not-crash-if-uid-changing-not-con.patch @@ -1,7 +1,7 @@ From 9003b50b13da624ca45f3e0cf99abb623b8d026b Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 2 Mar 2015 22:47:23 +0000 -Subject: [PATCH 55/98] Fix last commit to not crash if uid changing not +Subject: [PATCH 055/113] Fix last commit to not crash if uid changing not configured. --- diff --git a/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch b/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch index 32cd7431a..50b0db387 100644 --- a/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch +++ b/src/patches/dnsmasq/0056-New-version-of-contrib-reverse-dns.patch @@ -1,7 +1,7 @@ From 4c960fa90a975d20f75a1ecabd217247f1922c8f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 4 Mar 2015 20:32:26 +0000 -Subject: [PATCH 56/98] New version of contrib/reverse-dns +Subject: [PATCH 056/113] New version of contrib/reverse-dns --- contrib/reverse-dns/README | 22 +++--- diff --git a/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch b/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch index d63c04744..f33e4d218 100644 --- a/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch +++ b/src/patches/dnsmasq/0057-Tweak-DNSSEC-timestamp-code-to-create-file-later-rem.patch @@ -1,7 +1,7 @@ From 360f2513ab12a9bf1e262d388dd2ea8a566590a3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 7 Mar 2015 18:28:06 +0000 -Subject: [PATCH 57/98] Tweak DNSSEC timestamp code to create file later, +Subject: [PATCH 057/113] Tweak DNSSEC timestamp code to create file later, removing need to chown it. --- diff --git a/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch b/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch index f746fcfbf..18bae1299 100644 --- a/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch +++ b/src/patches/dnsmasq/0058-Fix-boilerplate-code-for-re-running-system-calls-on-.patch @@ -1,7 +1,7 @@ From ff841ebf5a5d6864ff48571f607c32ce80dbb75a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 11 Mar 2015 21:36:30 +0000 -Subject: [PATCH 58/98] Fix boilerplate code for re-running system calls on +Subject: [PATCH 058/113] Fix boilerplate code for re-running system calls on EINTR and EAGAIN etc. The nasty code with static variable in retry_send() which diff --git a/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch b/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch index d986e8eaa..83690d377 100644 --- a/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch +++ b/src/patches/dnsmasq/0059-Make-address-example.com-equivalent-to-server-exampl.patch @@ -1,7 +1,7 @@ From 979fe86bc8693f660eddea232ae39cbbb50b294c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 19 Mar 2015 22:50:22 +0000 -Subject: [PATCH 59/98] Make --address=/example.com/ equivalent to +Subject: [PATCH 059/113] Make --address=/example.com/ equivalent to --server=/example.com/ --- diff --git a/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch b/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch index 681093072..0033d01d2 100644 --- a/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch +++ b/src/patches/dnsmasq/0060-dhcp-set-outbound-interface-via-cmsg-in-unicast-repl.patch @@ -1,7 +1,8 @@ From 65c721200023ef0023114459a8d12f8b0a24cfd8 Mon Sep 17 00:00:00 2001 From: Lung-Pin Chang Date: Thu, 19 Mar 2015 23:22:21 +0000 -Subject: [PATCH 60/98] dhcp: set outbound interface via cmsg in unicast reply +Subject: [PATCH 060/113] dhcp: set outbound interface via cmsg in unicast + reply If multiple routes to the same network exist, Linux blindly picks the first interface (route) based on destination address, which might not be diff --git a/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch b/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch index af79f156d..67bf508b7 100644 --- a/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch +++ b/src/patches/dnsmasq/0061-Don-t-fail-DNSSEC-when-a-signed-CNAME-dangles-into-a.patch @@ -1,7 +1,7 @@ From 8805283088d670baecb92569252c01cf754cda51 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 26 Mar 2015 21:15:43 +0000 -Subject: [PATCH 61/98] Don't fail DNSSEC when a signed CNAME dangles into an +Subject: [PATCH 061/113] Don't fail DNSSEC when a signed CNAME dangles into an unsigned zone. --- diff --git a/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch b/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch index 0b64aa7ba..ed4068e4b 100644 --- a/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch +++ b/src/patches/dnsmasq/0062-Return-SERVFAIL-when-validation-abandoned.patch @@ -1,7 +1,7 @@ From 150162bc37170a6edae9d488435e836b1e4e3a4e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 27 Mar 2015 09:58:26 +0000 -Subject: [PATCH 62/98] Return SERVFAIL when validation abandoned. +Subject: [PATCH 062/113] Return SERVFAIL when validation abandoned. --- src/forward.c | 11 +++++++++-- diff --git a/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch b/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch index 9ecd43b7f..3372b2d2a 100644 --- a/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch +++ b/src/patches/dnsmasq/0063-Protect-against-broken-DNSSEC-upstreams.patch @@ -1,7 +1,7 @@ From 0b8a5a30a77331974ba24a04e43e720585dfbc61 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 27 Mar 2015 11:44:55 +0000 -Subject: [PATCH 63/98] Protect against broken DNSSEC upstreams. +Subject: [PATCH 063/113] Protect against broken DNSSEC upstreams. --- src/dnssec.c | 7 +++++-- diff --git a/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch b/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch index bfd703d3a..2a2632534 100644 --- a/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch +++ b/src/patches/dnsmasq/0064-DNSSEC-fix-for-non-ascii-characters-in-labels.patch @@ -1,7 +1,7 @@ From 1e153945def3c50d1e59ceea6a768db0ac770f98 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 28 Mar 2015 21:34:07 +0000 -Subject: [PATCH 64/98] DNSSEC fix for non-ascii characters in labels. +Subject: [PATCH 064/113] DNSSEC fix for non-ascii characters in labels. --- src/dnssec.c | 34 +++++++++++++++++----------------- diff --git a/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch b/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch index f67b65af1..fc41947f4 100644 --- a/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch +++ b/src/patches/dnsmasq/0065-Allow-control-characters-in-names-in-the-cache-handl.patch @@ -1,8 +1,8 @@ From 394ff492da6af5da7e7d356be9586683bc5fc011 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 29 Mar 2015 22:17:14 +0100 -Subject: [PATCH 65/98] Allow control characters in names in the cache, handle - when logging. +Subject: [PATCH 065/113] Allow control characters in names in the cache, + handle when logging. --- src/cache.c | 19 +++++++++++++++++-- diff --git a/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch b/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch index 7a227d557..8625daedf 100644 --- a/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch +++ b/src/patches/dnsmasq/0066-Fix-crash-in-last-commit.patch @@ -1,7 +1,7 @@ From 794fccca7ffebfba4468bfffc6276b68bbf6afd9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 29 Mar 2015 22:35:44 +0100 -Subject: [PATCH 66/98] Fix crash in last commit. +Subject: [PATCH 066/113] Fix crash in last commit. --- src/cache.c | 7 ++++--- diff --git a/src/patches/dnsmasq/0067-Merge-message-translations.patch b/src/patches/dnsmasq/0067-Merge-message-translations.patch index a88db2234..67849f628 100644 --- a/src/patches/dnsmasq/0067-Merge-message-translations.patch +++ b/src/patches/dnsmasq/0067-Merge-message-translations.patch @@ -1,7 +1,7 @@ From fd6ad9e481ab7c812a6b1515244908818cbb0442 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 30 Mar 2015 07:52:21 +0100 -Subject: [PATCH 67/98] Merge message translations. +Subject: [PATCH 067/113] Merge message translations. --- po/de.po | 803 +++++++++++++++++++++++++++++++++-------------------------- diff --git a/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch b/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch index b273220d6..e8f796eba 100644 --- a/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch +++ b/src/patches/dnsmasq/0068-add-tftp-no-fail-to-ignore-missing-tftp-root.patch @@ -1,7 +1,7 @@ From 30d0879ed55cb67b1b735beab3d93f3bb3ef1dd2 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Tue, 31 Mar 2015 22:32:11 +0100 -Subject: [PATCH 68/98] add --tftp-no-fail to ignore missing tftp root +Subject: [PATCH 068/113] add --tftp-no-fail to ignore missing tftp root --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0069-Whitespace-fixes.patch b/src/patches/dnsmasq/0069-Whitespace-fixes.patch index 684ef6421..49dca7190 100644 --- a/src/patches/dnsmasq/0069-Whitespace-fixes.patch +++ b/src/patches/dnsmasq/0069-Whitespace-fixes.patch @@ -1,7 +1,7 @@ From 7aa970e2c7043201663d86a4b5d8cd5c592cef39 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Wed, 1 Apr 2015 17:55:07 +0100 -Subject: [PATCH 69/98] Whitespace fixes. +Subject: [PATCH 069/113] Whitespace fixes. --- src/dnsmasq.c | 14 +++++++------- diff --git a/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch b/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch index aa24c012a..142f4c92d 100644 --- a/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch +++ b/src/patches/dnsmasq/0070-Return-INSECURE-rather-than-BOGUS-when-DS-proved-not.patch @@ -1,7 +1,7 @@ From fe3992f9fa69fa975ea31919c53933b5f6a63527 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Apr 2015 21:25:05 +0100 -Subject: [PATCH 70/98] Return INSECURE, rather than BOGUS when DS proved not +Subject: [PATCH 070/113] Return INSECURE, rather than BOGUS when DS proved not to exist. Return INSECURE when validating DNS replies which have RRSIGs, but diff --git a/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch b/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch index ac57b8bb1..37f09d706 100644 --- a/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch +++ b/src/patches/dnsmasq/0071-Fix-compiler-warning-when-not-including-DNSSEC.patch @@ -1,7 +1,7 @@ From 982faf402487e265ed11ac03524531d42b03c966 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 3 Apr 2015 21:42:30 +0100 -Subject: [PATCH 71/98] Fix compiler warning when not including DNSSEC. +Subject: [PATCH 071/113] Fix compiler warning when not including DNSSEC. --- src/forward.c | 3 ++- diff --git a/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch b/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch index 2303ec321..7baedf0b1 100644 --- a/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch +++ b/src/patches/dnsmasq/0072-Fix-crash-caused-by-looking-up-servers.bind-when-man.patch @@ -1,7 +1,7 @@ From 04b0ac05377936d121a36873bb63d492cde292c9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 6 Apr 2015 17:19:13 +0100 -Subject: [PATCH 72/98] Fix crash caused by looking up servers.bind when many +Subject: [PATCH 072/113] Fix crash caused by looking up servers.bind when many servers defined. --- diff --git a/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch b/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch index 82471ae99..cc7ed4b39 100644 --- a/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch +++ b/src/patches/dnsmasq/0073-Fix-crash-on-receipt-of-certain-malformed-DNS-reques.patch @@ -1,7 +1,8 @@ From ad4a8ff7d9097008d7623df8543df435bfddeac8 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 9 Apr 2015 21:48:00 +0100 -Subject: [PATCH 73/98] Fix crash on receipt of certain malformed DNS requests. +Subject: [PATCH 073/113] Fix crash on receipt of certain malformed DNS + requests. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch b/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch index 6a7d79874..4b4ff32e2 100644 --- a/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch +++ b/src/patches/dnsmasq/0074-Fix-crash-in-auth-code-with-odd-configuration.patch @@ -1,7 +1,7 @@ From 38440b204db65f9be16c4c3daa7e991e4356f6ed Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 12 Apr 2015 21:52:47 +0100 -Subject: [PATCH 74/98] Fix crash in auth code with odd configuration. +Subject: [PATCH 074/113] Fix crash in auth code with odd configuration. --- CHANGELOG | 32 +++++++++++++++++++++----------- diff --git a/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch b/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch index 76f31433f..b125a9278 100644 --- a/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch +++ b/src/patches/dnsmasq/0075-Auth-correct-replies-to-NS-and-SOA-in-.arpa-zones.patch @@ -1,7 +1,7 @@ From 78c6184752dce27849e36cce4360abc27b8d76d2 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 16 Apr 2015 15:05:30 +0100 -Subject: [PATCH 75/98] Auth: correct replies to NS and SOA in .arpa zones. +Subject: [PATCH 075/113] Auth: correct replies to NS and SOA in .arpa zones. --- CHANGELOG | 8 ++++++++ diff --git a/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch b/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch index 9401cb9e8..8702f538b 100644 --- a/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch +++ b/src/patches/dnsmasq/0076-Fix-srk-induced-crash-in-new-tftp_no_fail-code.patch @@ -1,7 +1,7 @@ From b4c0f092d8ce63ea4763c0ac17aa8d24318ad301 Mon Sep 17 00:00:00 2001 From: Stefan Tomanek Date: Thu, 16 Apr 2015 15:20:59 +0100 -Subject: [PATCH 76/98] Fix (srk induced) crash in new tftp_no_fail code. +Subject: [PATCH 076/113] Fix (srk induced) crash in new tftp_no_fail code. --- src/dnsmasq.c | 6 ++++-- diff --git a/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch b/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch index a14b1a815..9f2c6d8fb 100644 --- a/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch +++ b/src/patches/dnsmasq/0077-Note-CVE-2015-3294.patch @@ -1,7 +1,7 @@ From 0df29f5e23fd2f16181847db1fcf3a8b392d869a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 16 Apr 2015 15:24:52 +0100 -Subject: [PATCH 77/98] Note CVE-2015-3294 +Subject: [PATCH 077/113] Note CVE-2015-3294 --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch b/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch index 2204d246a..f833b9329 100644 --- a/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch +++ b/src/patches/dnsmasq/0078-Log-domain-when-reporting-DNSSEC-validation-failure.patch @@ -1,7 +1,7 @@ From 554b580e970275d5a869cb4fbfb2716f92b2f664 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 17 Apr 2015 22:50:20 +0100 -Subject: [PATCH 78/98] Log domain when reporting DNSSEC validation failure. +Subject: [PATCH 078/113] Log domain when reporting DNSSEC validation failure. --- src/forward.c | 15 ++++++++++----- diff --git a/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch b/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch index 6db33bbf9..9916cb745 100644 --- a/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch +++ b/src/patches/dnsmasq/0079-Check-IP-address-command-line-arg-in-dhcp_release.c.patch @@ -1,7 +1,7 @@ From a006eb7e1486023480ea40244720ef7aab51de71 Mon Sep 17 00:00:00 2001 From: Moshe Levi Date: Sun, 19 Apr 2015 22:10:40 +0100 -Subject: [PATCH 79/98] Check IP address command line arg in dhcp_release.c +Subject: [PATCH 079/113] Check IP address command line arg in dhcp_release.c --- contrib/wrt/dhcp_release.c | 5 +++++ diff --git a/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch b/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch index 4fe26ac01..c4e210312 100644 --- a/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch +++ b/src/patches/dnsmasq/0080-Revert-61b838dd574c51d96fef100285a0d225824534f9-and-.patch @@ -1,7 +1,7 @@ From 338b340be9e7198f5c0f68133d070d6598a0814c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 20 Apr 2015 21:34:05 +0100 -Subject: [PATCH 80/98] Revert 61b838dd574c51d96fef100285a0d225824534f9 and +Subject: [PATCH 080/113] Revert 61b838dd574c51d96fef100285a0d225824534f9 and just quieten log instead. --- diff --git a/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch b/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch index 13ff0595f..a2f10fe6e 100644 --- a/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch +++ b/src/patches/dnsmasq/0081-Handle-domain-names-with-.-or-000-within-labels.patch @@ -1,7 +1,7 @@ From cbe379ad6b52a538a4416a7cd992817e5637ccf9 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 21 Apr 2015 22:57:06 +0100 -Subject: [PATCH 81/98] Handle domain names with '.' or /000 within labels. +Subject: [PATCH 081/113] Handle domain names with '.' or /000 within labels. Only in DNSSEC mode, where we might need to validate or store such names. In none-DNSSEC mode, simply don't cache these, as before. diff --git a/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch b/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch index 2429e992b..1b2b73b1c 100644 --- a/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch +++ b/src/patches/dnsmasq/0082-Tweaks-to-previous-DNS-label-charset-commit.patch @@ -1,7 +1,7 @@ From b8f16556d36924cd8dc7663cb4129d7b1f3fc2be Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 22 Apr 2015 21:14:31 +0100 -Subject: [PATCH 82/98] Tweaks to previous, DNS label charset commit. +Subject: [PATCH 082/113] Tweaks to previous, DNS label charset commit. --- src/dns-protocol.h | 6 +++++- diff --git a/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch b/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch index 423b40e4e..bd800c795 100644 --- a/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch +++ b/src/patches/dnsmasq/0083-Logs-in-DHCPv6-not-suppressed-by-dhcp6-quiet.patch @@ -1,7 +1,7 @@ From a5ae1f85873829efe473075ad77806cc02792622 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sat, 25 Apr 2015 21:46:10 +0100 -Subject: [PATCH 83/98] Logs in DHCPv6 not suppressed by dhcp6-quiet. +Subject: [PATCH 083/113] Logs in DHCPv6 not suppressed by dhcp6-quiet. --- CHANGELOG | 6 +++++- diff --git a/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch b/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch index 555bd6cd5..bafdeb2fb 100644 --- a/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch +++ b/src/patches/dnsmasq/0084-Make-get-version-work-when-repo-is-a-git-submodule.patch @@ -1,7 +1,7 @@ From 8efd731cc4ed2baa42aa69d0a9d336392e9987cb Mon Sep 17 00:00:00 2001 From: "Johnny S. Lee" <_@jsl.io> Date: Sun, 26 Apr 2015 22:23:57 +0100 -Subject: [PATCH 84/98] Make get-version work when repo is a git submodule. +Subject: [PATCH 084/113] Make get-version work when repo is a git submodule. --- bld/get-version | 5 +++-- diff --git a/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch b/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch index 828c21f63..0b5a6cf78 100644 --- a/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch +++ b/src/patches/dnsmasq/0085-Fix-argument-order-botch-which-broke-DNSSEC-for-TCP-.patch @@ -1,7 +1,7 @@ From e66b4dff3c562c7836d5be4c26972d665ad783f1 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 28 Apr 2015 20:45:57 +0100 -Subject: [PATCH 85/98] Fix argument-order botch which broke DNSSEC for TCP +Subject: [PATCH 085/113] Fix argument-order botch which broke DNSSEC for TCP queries. --- diff --git a/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch b/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch index 9d3aadc89..afa4831af 100644 --- a/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch +++ b/src/patches/dnsmasq/0086-Don-t-remove-RRSIG-RR-from-answers-to-ANY-queries-wh.patch @@ -1,8 +1,8 @@ From 2ed162ac204f3609fe4d9f9a0430baeaa352d88f Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 28 Apr 2015 21:26:35 +0100 -Subject: [PATCH 86/98] Don't remove RRSIG RR from answers to ANY queries when - the do bit is not set. +Subject: [PATCH 086/113] Don't remove RRSIG RR from answers to ANY queries + when the do bit is not set. --- src/rfc1035.c | 5 +++++ diff --git a/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch b/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch index 743548ef3..0023ab536 100644 --- a/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch +++ b/src/patches/dnsmasq/0087-Constify-some-DHCP-lease-management-functions.patch @@ -1,7 +1,7 @@ From 64bcff1c7c72eecda8750bc2dca8b4c5dc38a837 Mon Sep 17 00:00:00 2001 From: Nicolas Cavallari Date: Tue, 28 Apr 2015 21:55:18 +0100 -Subject: [PATCH 87/98] Constify some DHCP lease management functions. +Subject: [PATCH 087/113] Constify some DHCP lease management functions. --- src/dnsmasq.h | 7 ++++--- diff --git a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch index af4d6d7b1..af8677657 100644 --- a/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch +++ b/src/patches/dnsmasq/0088-Handle-UDP-packet-loss-when-fragmentation-of-large-p.patch @@ -1,7 +1,7 @@ From a77cec8d58231d71cbc26615f0c0f0292c09ef54 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 8 May 2015 16:25:38 +0100 -Subject: [PATCH 88/98] Handle UDP packet loss when fragmentation of large +Subject: [PATCH 088/113] Handle UDP packet loss when fragmentation of large packets is broken. --- diff --git a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch index c75d864d7..a1011b023 100644 --- a/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch +++ b/src/patches/dnsmasq/0089-Check-IPv4-mapped-IPv6-addresses-with-stop-rebind.patch @@ -1,7 +1,7 @@ From b059c96dc69dfe3055c5b32b078a05c53b11ebb3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 8 May 2015 20:25:51 +0100 -Subject: [PATCH 89/98] Check IPv4-mapped IPv6 addresses with --stop-rebind. +Subject: [PATCH 089/113] Check IPv4-mapped IPv6 addresses with --stop-rebind. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch index b6d9c47cf..d774a23b2 100644 --- a/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch +++ b/src/patches/dnsmasq/0090-Tweak-EDNS-timeout-code.patch @@ -1,7 +1,7 @@ From 86fa1046920dedc8134136a6244ca96e8a37e9d8 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Sun, 10 May 2015 13:50:59 +0100 -Subject: [PATCH 90/98] Tweak EDNS timeout code. +Subject: [PATCH 090/113] Tweak EDNS timeout code. --- src/forward.c | 6 ++++-- diff --git a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch index b65bb87e6..abfea9ccf 100644 --- a/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch +++ b/src/patches/dnsmasq/0091-Pointer-to-mail-archive-mailing-list-mirror-in-doc.h.patch @@ -1,7 +1,7 @@ From 585840b03365372679907f175b07a01c9d621ae0 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 13 May 2015 12:35:57 +0100 -Subject: [PATCH 91/98] Pointer to mail-archive mailing list mirror in +Subject: [PATCH 091/113] Pointer to mail-archive mailing list mirror in doc.html. --- diff --git a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch index 84246c336..6fb21e827 100644 --- a/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch +++ b/src/patches/dnsmasq/0092-Allow-T1-and-T2-DHCPv4-options-to-be-set.patch @@ -1,7 +1,7 @@ From ca85a28241ef87919d68d52c843b6964b7070e11 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 13 May 2015 22:33:04 +0100 -Subject: [PATCH 92/98] Allow T1 and T2 DHCPv4 options to be set. +Subject: [PATCH 092/113] Allow T1 and T2 DHCPv4 options to be set. --- CHANGELOG | 3 +++ diff --git a/src/patches/dnsmasq/0093-Tweak-last-commit.patch b/src/patches/dnsmasq/0093-Tweak-last-commit.patch index 578e764b1..5192bbc2b 100644 --- a/src/patches/dnsmasq/0093-Tweak-last-commit.patch +++ b/src/patches/dnsmasq/0093-Tweak-last-commit.patch @@ -1,7 +1,7 @@ From 7c0f2543a7e761d1ec82738374556beeb8a35bef Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 14 May 2015 21:16:18 +0100 -Subject: [PATCH 93/98] Tweak last commit. +Subject: [PATCH 093/113] Tweak last commit. --- src/rfc2131.c | 8 ++++---- diff --git a/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch b/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch index a7d754613..ad18401a0 100644 --- a/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch +++ b/src/patches/dnsmasq/0094-Use-correct-DHCP-context-for-PXE-proxy-server-id.patch @@ -1,7 +1,7 @@ From 62018e1f720fa11e83879111a4b1b3753b5c25bb Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 14 May 2015 21:30:00 +0100 -Subject: [PATCH 94/98] Use correct DHCP context for PXE-proxy server-id. +Subject: [PATCH 094/113] Use correct DHCP context for PXE-proxy server-id. --- src/rfc2131.c | 4 ++-- diff --git a/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch b/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch index b1b06f267..a6a788f07 100644 --- a/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch +++ b/src/patches/dnsmasq/0095-Fix-buffer-overflow-introduced-in-2.73rc6.patch @@ -1,7 +1,7 @@ From 5d07d77e75e0f02bc0a8f6029ffbc8b371fa804e Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 15 May 2015 18:13:06 +0100 -Subject: [PATCH 95/98] Fix buffer overflow introduced in 2.73rc6. +Subject: [PATCH 095/113] Fix buffer overflow introduced in 2.73rc6. Fix off-by-one in code which checks for over-long domain names in received DNS packets. This enables buffer overflow attacks diff --git a/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch b/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch index db0a1e500..763a43dbc 100644 --- a/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch +++ b/src/patches/dnsmasq/0096-Remove-support-for-DNS-Extended-Label-Types.patch @@ -1,7 +1,7 @@ From 06568c663643b9ed1577d95efee69d734f427cf5 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 15 May 2015 20:43:48 +0100 -Subject: [PATCH 96/98] Remove support for DNS Extended Label Types. +Subject: [PATCH 096/113] Remove support for DNS Extended Label Types. The support was only partial, and the whole concept is now deprecated in the standards. diff --git a/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch b/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch index b9f2e63a4..896ba6d89 100644 --- a/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch +++ b/src/patches/dnsmasq/0097-Select-correct-DHCP-context-when-in-PXE-bootserver-m.patch @@ -1,7 +1,7 @@ From 7f8565b94ca52dde31f7688a9f9a0cc611d9dae3 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Tue, 19 May 2015 23:01:27 +0100 -Subject: [PATCH 97/98] Select correct DHCP context when in PXE bootserver +Subject: [PATCH 097/113] Select correct DHCP context when in PXE bootserver mode. --- diff --git a/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch b/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch index 1be4278c0..a478e77ad 100644 --- a/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch +++ b/src/patches/dnsmasq/0098-Tweak-immediately-previous-patch.patch @@ -1,7 +1,7 @@ From 549b1a478c5eee9dbd3a0709913a26ec29d30f2c Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Wed, 20 May 2015 20:20:24 +0100 -Subject: [PATCH 98/98] Tweak immediately previous patch. +Subject: [PATCH 098/113] Tweak immediately previous patch. --- src/rfc2131.c | 9 +++++++-- diff --git a/src/patches/dnsmasq/0099-Man-page-typo.patch b/src/patches/dnsmasq/0099-Man-page-typo.patch new file mode 100644 index 000000000..51831ad4b --- /dev/null +++ b/src/patches/dnsmasq/0099-Man-page-typo.patch @@ -0,0 +1,25 @@ +From 23facf0d7752b048521f0d900336bda89348ae67 Mon Sep 17 00:00:00 2001 +From: Christian Demsar +Date: Wed, 20 May 2015 20:26:23 +0100 +Subject: [PATCH 099/113] Man page typo. + +--- + man/dnsmasq.8 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index 6b4626cc0aad..f811dc326e9f 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -1388,7 +1388,7 @@ 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 +-(IPv4 only) By default, the DHCP server will attempt to ensure that an address in ++(IPv4 only) By default, the DHCP server will attempt to ensure that an address is + 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 +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch b/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch new file mode 100644 index 000000000..74c6800a6 --- /dev/null +++ b/src/patches/dnsmasq/0100-Add-infiniband-to-example-config-file.patch @@ -0,0 +1,30 @@ +From 46c89f2bd0e0734889e4707202a5aaed24f74daa Mon Sep 17 00:00:00 2001 +From: John Hanks +Date: Tue, 26 May 2015 22:07:57 +0100 +Subject: [PATCH 100/113] Add infiniband to example config file. + +--- + dnsmasq.conf.example | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/dnsmasq.conf.example b/dnsmasq.conf.example +index 67be99acb028..250a79204e8d 100644 +--- a/dnsmasq.conf.example ++++ b/dnsmasq.conf.example +@@ -251,6 +251,13 @@ + # the IP address 192.168.0.60 + #dhcp-host=id:01:02:02:04,192.168.0.60 + ++# Always give the Infiniband interface with hardware address ++# 80:00:00:48:fe:80:00:00:00:00:00:00:f4:52:14:03:00:28:05:81 the ++# ip address 192.168.0.61. The client id is derived from the prefix ++# ff:00:00:00:00:00:02:00:00:02:c9:00 and the last 8 pairs of ++# hex digits of the hardware address. ++#dhcp-host=id:ff:00:00:00:00:00:02:00:00:02:c9:00:f4:52:14:03:00:28:05:81,192.168.0.61 ++ + # Always give the host with client identifier "marjorie" + # the IP address 192.168.0.60 + #dhcp-host=id:marjorie,192.168.0.60 +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch b/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch new file mode 100644 index 000000000..e97e5f794 --- /dev/null +++ b/src/patches/dnsmasq/0101-Correctly-sanitise-DNS-header-bits-in-answer-when-re.patch @@ -0,0 +1,55 @@ +From bd7bfa21c4500fca8b18bc7f68890bf51cd737e3 Mon Sep 17 00:00:00 2001 +From: swigger +Date: Mon, 1 Jun 2015 20:54:59 +0100 +Subject: [PATCH 101/113] Correctly sanitise DNS header bits in answer when + recreating query for retry. + +--- + src/dns-protocol.h | 14 +++++++------- + src/forward.c | 3 ++- + 2 files changed, 9 insertions(+), 8 deletions(-) + +diff --git a/src/dns-protocol.h b/src/dns-protocol.h +index 4b71746f8d26..6cf515881c17 100644 +--- a/src/dns-protocol.h ++++ b/src/dns-protocol.h +@@ -84,15 +84,15 @@ struct dns_header { + u16 qdcount,ancount,nscount,arcount; + }; + +-#define HB3_QR 0x80 ++#define HB3_QR 0x80 /* Query */ + #define HB3_OPCODE 0x78 +-#define HB3_AA 0x04 +-#define HB3_TC 0x02 +-#define HB3_RD 0x01 ++#define HB3_AA 0x04 /* Authoritative Answer */ ++#define HB3_TC 0x02 /* TrunCated */ ++#define HB3_RD 0x01 /* Recursion Desired */ + +-#define HB4_RA 0x80 +-#define HB4_AD 0x20 +-#define HB4_CD 0x10 ++#define HB4_RA 0x80 /* Recursion Available */ ++#define HB4_AD 0x20 /* Authenticated Data */ ++#define HB4_CD 0x10 /* Checking Disabled */ + #define HB4_RCODE 0x0f + + #define OPCODE(x) (((x)->hb3 & HB3_OPCODE) >> 3) +diff --git a/src/forward.c b/src/forward.c +index 74e5ab66c423..8c3e71cebe87 100644 +--- a/src/forward.c ++++ b/src/forward.c +@@ -769,7 +769,8 @@ void reply_query(int fd, int family, time_t now) + header->arcount = htons(0); + if ((nn = resize_packet(header, (size_t)n, pheader, plen))) + { +- header->hb3 &= ~(HB3_QR | HB3_TC); ++ header->hb3 &= ~(HB3_QR | HB3_AA | HB3_TC); ++ header->hb4 &= ~(HB4_RA | HB4_RCODE); + forward_query(-1, NULL, NULL, 0, header, nn, now, forward, 0, 0); + return; + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch b/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch new file mode 100644 index 000000000..22b24cd6c --- /dev/null +++ b/src/patches/dnsmasq/0102-DHCPv6-DHCPCONFIRM-should-be-OK-for-any-address-on-l.patch @@ -0,0 +1,43 @@ +From 89130d91d684faa88cb244f46c85eb26a8c06d7a Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Wed, 3 Jun 2015 22:30:59 +0100 +Subject: [PATCH 102/113] DHCPv6: DHCPCONFIRM should be OK for any address on + link, not just dynamic addresses. + +--- + CHANGELOG | 5 +++++ + src/rfc3315.c | 2 +- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/CHANGELOG b/CHANGELOG +index ef39a415788b..9e1b5a5ab0b8 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -121,6 +121,11 @@ version 2.73 + Allow DHCPv4 options T1 and T2 to be set using --dhcp-option. + Thanks to Kevin Benton for patches and work on this. + ++ Fix code for DHCPCONFIRM DHCPv6 messages to confirm addresses ++ in the correct subnet, even of not in dynamic address ++ allocation range. Thanks to Steve Hirsch for spotting ++ the problem. ++ + + version 2.72 + Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. +diff --git a/src/rfc3315.c b/src/rfc3315.c +index b4f5dd2db61f..2665d0d3294a 100644 +--- a/src/rfc3315.c ++++ b/src/rfc3315.c +@@ -1089,7 +1089,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, void *inbuff, size_ + { + struct in6_addr *req_addr = opt6_ptr(ia_option, 0); + +- if (!address6_available(state->context, req_addr, tagif, 1)) ++ if (!address6_valid(state->context, req_addr, tagif, 1)) + { + o1 = new_opt6(OPTION6_STATUS_CODE); + put_opt6_short(DHCP6NOTONLINK); +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch b/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch new file mode 100644 index 000000000..c7cde8de0 --- /dev/null +++ b/src/patches/dnsmasq/0103-Handle-corner-cases-in-NSEC-coverage-checks.patch @@ -0,0 +1,53 @@ +From 4d25cf89d51c635af0a23c0ca3425c7aadbc0b55 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Sat, 6 Jun 2015 23:13:57 +0100 +Subject: [PATCH 103/113] Handle corner cases in NSEC coverage checks. + +--- + src/dnssec.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/dnssec.c b/src/dnssec.c +index e91d7c2cf040..93217b05a846 100644 +--- a/src/dnssec.c ++++ b/src/dnssec.c +@@ -1493,13 +1493,13 @@ static int prove_non_existence_nsec(struct dns_header *header, size_t plen, unsi + { + /* Normal case, name falls between NSEC name and next domain name, + wrap around case, name falls between NSEC name (rc == -1) and end */ +- if (hostname_cmp(workspace2, name) == 1 || hostname_cmp(workspace1, workspace2) == 1) ++ if (hostname_cmp(workspace2, name) >= 0 || hostname_cmp(workspace1, workspace2) >= 0) + return STAT_SECURE; + } + else + { + /* wrap around case, name falls between start and next domain name */ +- if (hostname_cmp(workspace1, workspace2) == 1 && hostname_cmp(workspace2, name) == 1) ++ if (hostname_cmp(workspace1, workspace2) >= 0 && hostname_cmp(workspace2, name) >=0 ) + return STAT_SECURE; + } + } +@@ -1632,17 +1632,17 @@ static int check_nsec3_coverage(struct dns_header *header, size_t plen, int dige + + return 1; + } +- else if (rc <= 0) ++ else if (rc < 0) + { + /* Normal case, hash falls between NSEC3 name-hash and next domain name-hash, + wrap around case, name-hash falls between NSEC3 name-hash and end */ +- if (memcmp(p, digest, digest_len) > 0 || memcmp(workspace2, p, digest_len) > 0) ++ if (memcmp(p, digest, digest_len) >= 0 || memcmp(workspace2, p, digest_len) >= 0) + return 1; + } + else + { + /* wrap around case, name falls between start and next domain name */ +- if (memcmp(workspace2, p, digest_len) > 0 && memcmp(p, digest, digest_len) > 0) ++ if (memcmp(workspace2, p, digest_len) >= 0 && memcmp(p, digest, digest_len) >= 0) + return 1; + } + } +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch b/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch new file mode 100644 index 000000000..684ffbb0e --- /dev/null +++ b/src/patches/dnsmasq/0104-Add-Dbus-methods-to-create-and-delete-DHCP-leases.patch @@ -0,0 +1,329 @@ +From c6d82c9ba64cdd50f76c9079dd06c48cca4fc39b Mon Sep 17 00:00:00 2001 +From: Nicolas Cavallari +Date: Tue, 9 Jun 2015 20:42:20 +0100 +Subject: [PATCH 104/113] Add Dbus methods to create and delete DHCP leases. + +--- + CHANGELOG | 3 + + dbus/DBus-interface | 74 ++++++++++++++++++++ + src/dbus.c | 191 ++++++++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 268 insertions(+) + +diff --git a/CHANGELOG b/CHANGELOG +index 9e1b5a5ab0b8..a5bd4dc02701 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -125,6 +125,9 @@ version 2.73 + in the correct subnet, even of not in dynamic address + allocation range. Thanks to Steve Hirsch for spotting + the problem. ++ ++ Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks ++ to Nicolas Cavallari for the patch. + + + version 2.72 +diff --git a/dbus/DBus-interface b/dbus/DBus-interface +index 9a895eb24a61..2db5c30b2eaa 100644 +--- a/dbus/DBus-interface ++++ b/dbus/DBus-interface +@@ -169,6 +169,80 @@ Return an array of strings, each string is the IP address of an upstream + server which has been found to loop queries back to this dnsmasq instance, and + it therefore not being used. + ++AddDhcpLease ++------------ ++ ++Returns nothing. Adds or updates a DHCP or DHCPv6 lease to the internal lease ++database, as if a client requested and obtained a lease. ++ ++If a lease for the IPv4 or IPv6 address already exist, it is overwritten. ++ ++Note that this function will trigger the DhcpLeaseAdded or DhcpLeaseUpdated ++D-Bus signal and will run the configured DHCP lease script accordingly. ++ ++This function takes many arguments which are the lease parameters: ++- A string with the textual representation of the IPv4 or IPv6 address of the ++ client. ++ ++ Examples: ++ "192.168.1.115" ++ "1003:1234:abcd::1%eth0" ++ "2001:db8:abcd::1" ++ ++- A string representing the hardware address of the client, using the same ++ format as the one used in the lease database. ++ ++ Examples: ++ ++ "00:23:45:67:89:ab" ++ "06-00:20:e0:3b:13:af" (token ring) ++ ++- The hostname of the client, as an array of bytes (so there is no problem ++ with non-ASCII character encoding). May be empty. ++ ++ Example (for "hostname.or.fqdn"): ++ [104, 111, 115, 116, 110, 97, 109, 101, 46, 111, 114, 46, 102, 113, 100, 110] ++ ++- The client identifier (IPv4) or DUID (IPv6) as an array of bytes. May be ++ empty. ++ ++ Examples: ++ ++ DHCPv6 DUID: ++ [0, 3, 0, 1, 0, 35, 69, 103, 137, 171] ++ DHCPv4 client identifier: ++ [255, 12, 34, 56, 78, 0, 1, 0, 1, 29, 9, 99, 190, 35, 69, 103, 137, 171] ++ ++- The duration of the lease, in seconds. If the lease is updated, then ++ the duration replaces the previous duration. ++ ++ Example: ++ ++ 7200 ++ ++- The IAID (Identity association identifier) of the DHCPv6 lease, as a network ++ byte-order unsigned integer. For DHCPv4 leases, this must be set to 0. ++ ++ Example (for IPv6): ++ ++ 203569230 ++ ++- A boolean which, if true, indicates that the DHCPv6 lease is for a temporary ++ address (IA_TA). If false, the DHCPv6 lease is for a non-temporary address ++ (IA_NA). For DHCPv4 leases, this must be set to false. ++ ++RemoveDhcpLease ++--------------- ++ ++Returns nothing. Removes a DHCP or DHCPv6 lease to the internal lease ++database, as if a client sent a release message to abandon a lease. ++ ++This function takes only one parameter: the text representation of the ++IPv4 or IPv6 address of the lease to remove. ++ ++Note that this function will trigger the DhcpLeaseRemoved signal and the ++configured DHCP lease script will be run with the "del" action. ++ + + + 2. SIGNALS +diff --git a/src/dbus.c b/src/dbus.c +index 5b69de518beb..801d4825001b 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -70,6 +70,21 @@ const char* introspection_xml_template = + " \n" + " \n" + " \n" ++#ifdef HAVE_DHCP ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++" \n" ++#endif + " \n" + "\n"; + +@@ -433,6 +448,172 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name) + return NULL; + } + ++#ifdef HAVE_DHCP ++static DBusMessage *dbus_add_lease(DBusMessage* message) ++{ ++ struct dhcp_lease *lease; ++ const char *ipaddr, *hwaddr, *hostname, *tmp; ++ const unsigned char* clid; ++ int clid_len, hostname_len, hw_len, hw_type; ++ dbus_uint32_t expires, ia_id; ++ dbus_bool_t is_temporary; ++ struct all_addr addr; ++ time_t now = dnsmasq_time(); ++ unsigned char dhcp_chaddr[DHCP_CHADDR_MAX]; ++ ++ DBusMessageIter iter, array_iter; ++ if (!dbus_message_iter_init(message, &iter)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Failed to initialize dbus message iter"); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as first argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ipaddr); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as second argument"); ++ ++ dbus_message_iter_get_basic(&iter, &hwaddr); ++ dbus_message_iter_next(&iter); ++ ++ if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) || ++ (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected byte array as third argument"); ++ ++ dbus_message_iter_recurse(&iter, &array_iter); ++ dbus_message_iter_get_fixed_array(&array_iter, &hostname, &hostname_len); ++ tmp = memchr(hostname, '\0', hostname_len); ++ if (tmp) ++ { ++ if (tmp == &hostname[hostname_len - 1]) ++ hostname_len--; ++ else ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Hostname contains an embedded NUL character"); ++ } ++ dbus_message_iter_next(&iter); ++ ++ if ((dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_ARRAY) || ++ (dbus_message_iter_get_element_type(&iter) != DBUS_TYPE_BYTE)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected byte array as fourth argument"); ++ ++ dbus_message_iter_recurse(&iter, &array_iter); ++ dbus_message_iter_get_fixed_array(&array_iter, &clid, &clid_len); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as fifth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &expires); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as sixth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ia_id); ++ dbus_message_iter_next(&iter); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected uint32 as sixth argument"); ++ ++ dbus_message_iter_get_basic(&iter, &is_temporary); ++ ++ if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4)) ++ { ++ if (ia_id != 0 || is_temporary) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "ia_id and is_temporary must be zero for IPv4 lease"); ++ ++ if (!(lease = lease_find_by_addr(addr.addr.addr4))) ++ lease = lease4_allocate(addr.addr.addr4); ++ } ++#ifdef HAVE_DHCP6 ++ else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6)) ++ { ++ if (!(lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0))) ++ lease = lease6_allocate(&addr.addr.addr6, ++ is_temporary ? LEASE_TA : LEASE_NA); ++ lease_set_iaid(lease, ia_id); ++ } ++#endif ++ else ++ return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS, ++ "Invalid IP address '%s'", ipaddr); ++ ++ hw_len = parse_hex((char*)hwaddr, dhcp_chaddr, DHCP_CHADDR_MAX, NULL, ++ &hw_type); ++ if (hw_type == 0 && hw_len != 0) ++ hw_type = ARPHRD_ETHER; ++ ++ lease_set_hwaddr(lease, dhcp_chaddr, clid, hw_len, hw_type, ++ clid_len, now, 0); ++ lease_set_expires(lease, expires, now); ++ if (hostname_len != 0) ++ lease_set_hostname(lease, hostname, 0, get_domain(lease->addr), NULL); ++ ++ lease_update_file(now); ++ lease_update_dns(0); ++ ++ return NULL; ++} ++ ++static DBusMessage *dbus_del_lease(DBusMessage* message) ++{ ++ struct dhcp_lease *lease; ++ DBusMessageIter iter; ++ const char *ipaddr; ++ DBusMessage *reply; ++ struct all_addr addr; ++ dbus_bool_t ret = 1; ++ time_t now = dnsmasq_time(); ++ ++ if (!dbus_message_iter_init(message, &iter)) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Failed to initialize dbus message iter"); ++ ++ if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING) ++ return dbus_message_new_error(message, DBUS_ERROR_INVALID_ARGS, ++ "Expected string as first argument"); ++ ++ dbus_message_iter_get_basic(&iter, &ipaddr); ++ ++ if (inet_pton(AF_INET, ipaddr, &addr.addr.addr4)) ++ lease = lease_find_by_addr(addr.addr.addr4); ++#ifdef HAVE_DHCP6 ++ else if (inet_pton(AF_INET6, ipaddr, &addr.addr.addr6)) ++ lease = lease6_find_by_addr(&addr.addr.addr6, 128, 0); ++#endif ++ else ++ return dbus_message_new_error_printf(message, DBUS_ERROR_INVALID_ARGS, ++ "Invalid IP address '%s'", ipaddr); ++ ++ if (lease) ++ { ++ lease_prune(lease, now); ++ lease_update_file(now); ++ lease_update_dns(0); ++ } ++ else ++ ret = 0; ++ ++ if ((reply = dbus_message_new_method_return(message))) ++ dbus_message_append_args(reply, DBUS_TYPE_BOOLEAN, &ret, ++ DBUS_TYPE_INVALID); ++ ++ ++ return reply; ++} ++#endif ++ + DBusHandlerResult message_handler(DBusConnection *connection, + DBusMessage *message, + void *user_data) +@@ -490,6 +671,16 @@ DBusHandlerResult message_handler(DBusConnection *connection, + { + reply = dbus_set_bool(message, OPT_BOGUSPRIV, "bogus-priv"); + } ++#ifdef HAVE_DHCP ++ else if (strcmp(method, "AddDhcpLease") == 0) ++ { ++ reply = dbus_add_lease(message); ++ } ++ else if (strcmp(method, "DeleteDhcpLease") == 0) ++ { ++ reply = dbus_del_lease(message); ++ } ++#endif + else if (strcmp(method, "ClearCache") == 0) + clear_cache = 1; + else +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch b/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch new file mode 100644 index 000000000..804a3375b --- /dev/null +++ b/src/patches/dnsmasq/0105-Add-a-couple-of-missed-logging-strings-to-the-catalo.patch @@ -0,0 +1,32 @@ +From d91b1fd402d8de127921dc4cca01007d9da23f92 Mon Sep 17 00:00:00 2001 +From: Simon Kelley +Date: Tue, 9 Jun 2015 20:45:07 +0100 +Subject: [PATCH 105/113] Add a couple of missed logging strings to the + catalogue. + +--- + src/dbus.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/dbus.c b/src/dbus.c +index 801d4825001b..3d686e86f41e 100644 +--- a/src/dbus.c ++++ b/src/dbus.c +@@ -436,12 +436,12 @@ static DBusMessage *dbus_set_bool(DBusMessage *message, int flag, char *name) + + if (enabled) + { +- my_syslog(LOG_INFO, "Enabling --%s option from D-Bus", name); ++ my_syslog(LOG_INFO, _("Enabling --%s option from D-Bus"), name); + set_option_bool(flag); + } + else + { +- my_syslog(LOG_INFO, "Disabling --%s option from D-Bus", name); ++ my_syslog(LOG_INFO, _("Disabling --%s option from D-Bus"), name); + reset_option_bool(flag); + } + +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch b/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch new file mode 100644 index 000000000..f08516cd4 --- /dev/null +++ b/src/patches/dnsmasq/0106-Fix-logging-of-unknown-interface-in-bridge-interface.patch @@ -0,0 +1,28 @@ +From 654f59e7620c857279843e50588ac76e88040b0f Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:06:33 +0100 +Subject: [PATCH 106/113] Fix logging of unknown interface in + --bridge-interface, DHPCv4. + +--- + src/dhcp.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/dhcp.c b/src/dhcp.c +index f1f43f8d8f90..eb1ea810b573 100644 +--- a/src/dhcp.c ++++ b/src/dhcp.c +@@ -236,7 +236,9 @@ void dhcp_packet(time_t now, int pxe_fd) + { + if (!(iface_index = if_nametoindex(bridge->iface))) + { +- my_syslog(LOG_WARNING, _("unknown interface %s in bridge-interface"), ifr.ifr_name); ++ my_syslog(MS_DHCP | LOG_WARNING, ++ _("unknown interface %s in bridge-interface"), ++ bridge->iface); + return; + } + else +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch b/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch new file mode 100644 index 000000000..8ae75d356 --- /dev/null +++ b/src/patches/dnsmasq/0107-Extend-bridge-interface-aliasing-to-DHCPv6.patch @@ -0,0 +1,65 @@ +From 0ddb8769bb809cd118840553e12be86297cdf246 Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:11:06 +0100 +Subject: [PATCH 107/113] Extend --bridge-interface aliasing to DHCPv6. + +--- + src/dhcp6.c | 28 +++++++++++++++++++++++++++- + 1 file changed, 27 insertions(+), 1 deletion(-) + +diff --git a/src/dhcp6.c b/src/dhcp6.c +index ee2aa5d3bf3c..4c60c6e86c0c 100644 +--- a/src/dhcp6.c ++++ b/src/dhcp6.c +@@ -144,6 +144,8 @@ void dhcp6_packet(time_t now) + + if ((port = relay_reply6(&from, sz, ifr.ifr_name)) == 0) + { ++ struct dhcp_bridge *bridge, *alias; ++ + for (tmp = daemon->if_except; tmp; tmp = tmp->next) + if (tmp->name && wildcard_match(tmp->name, ifr.ifr_name)) + return; +@@ -160,6 +162,30 @@ void dhcp6_packet(time_t now) + memset(&parm.fallback, 0, IN6ADDRSZ); + memset(&parm.ll_addr, 0, IN6ADDRSZ); + memset(&parm.ula_addr, 0, IN6ADDRSZ); ++ ++ /* If the interface on which the DHCPv6 request was received is ++ an alias of some other interface (as specified by the ++ --bridge-interfaces option), change parm.ind so that we look ++ for DHCPv6 contexts associated with the aliased interface ++ instead of with the aliasing one. */ ++ for (bridge = daemon->bridges; bridge; bridge = bridge->next) ++ { ++ for (alias = bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, ifr.ifr_name, IF_NAMESIZE)) ++ { ++ parm.ind = if_nametoindex(bridge->iface); ++ if (!parm.ind) ++ { ++ my_syslog(MS_DHCP | LOG_WARNING, ++ _("unknown interface %s in bridge-interface"), ++ bridge->iface); ++ return; ++ } ++ break; ++ } ++ if (alias) ++ break; ++ } + + for (context = daemon->dhcp6; context; context = context->next) + if (IN6_IS_ADDR_UNSPECIFIED(&context->start6) && context->prefix == 0) +@@ -208,7 +234,7 @@ void dhcp6_packet(time_t now) + /* May have configured relay, but not DHCP server */ + if (!daemon->doing_dhcp6) + return; +- ++ + lease_prune(NULL, now); /* lose any expired leases */ + + port = dhcp6_reply(parm.current, if_index, ifr.ifr_name, &parm.fallback, +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch b/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch new file mode 100644 index 000000000..576945d32 --- /dev/null +++ b/src/patches/dnsmasq/0108-Allow-router-advertisements-to-have-the-off-link-bit.patch @@ -0,0 +1,85 @@ +From 2fd5bc952dc802433ffebc90eacb78da3d30b80e Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:13:06 +0100 +Subject: [PATCH 108/113] Allow router advertisements to have the "off-link" + bit set. + +--- + src/dnsmasq.h | 1 + + src/option.c | 2 ++ + src/radv.c | 13 +++++++++---- + 3 files changed, 12 insertions(+), 4 deletions(-) + +diff --git a/src/dnsmasq.h b/src/dnsmasq.h +index ab16f79b3ec9..8d005d732e72 100644 +--- a/src/dnsmasq.h ++++ b/src/dnsmasq.h +@@ -868,6 +868,7 @@ struct dhcp_context { + #define CONTEXT_USED (1u<<15) + #define CONTEXT_OLD (1u<<16) + #define CONTEXT_V6 (1u<<17) ++#define CONTEXT_RA_OFF_LINK (1u<<18) + + struct ping_result { + struct in_addr addr; +diff --git a/src/option.c b/src/option.c +index c7add88de7ac..f99c3f59e9d3 100644 +--- a/src/option.c ++++ b/src/option.c +@@ -2699,6 +2699,8 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma + new->flags |= CONTEXT_RA_ROUTER | CONTEXT_RA; + else if (strcmp(a[leasepos], "ra-stateless") == 0) + new->flags |= CONTEXT_RA_STATELESS | CONTEXT_DHCP | CONTEXT_RA; ++ else if (strcmp(a[leasepos], "off-link") == 0) ++ new->flags |= CONTEXT_RA_OFF_LINK; + else if (leasepos == 1 && inet_pton(AF_INET6, a[leasepos], &new->end6)) + new->flags |= CONTEXT_DHCP; + else if (strstr(a[leasepos], "constructor:") == a[leasepos]) +diff --git a/src/radv.c b/src/radv.c +index d0faddf8684a..ec22464b78b9 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -313,8 +313,10 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + opt->type = ICMP6_OPT_PREFIX; + opt->len = 4; + opt->prefix_len = context->prefix; +- /* autonomous only if we're not doing dhcp, always set "on-link" */ +- opt->flags = do_slaac ? 0xC0 : 0x80; ++ /* autonomous only if we're not doing dhcp, set ++ "on-link" unless "off-link" was specified */ ++ opt->flags = (do_slaac ? 0x40 : 0) | ++ ((context->flags & CONTEXT_RA_OFF_LINK) ? 0 : 0x80); + opt->valid_lifetime = htonl(context->saved_valid - old); + opt->preferred_lifetime = htonl(0); + opt->reserved = 0; +@@ -514,6 +516,7 @@ static int add_prefixes(struct in6_addr *local, int prefix, + int deprecate = 0; + int constructed = 0; + int adv_router = 0; ++ int off_link = 0; + unsigned int time = 0xffffffff; + struct dhcp_context *context; + +@@ -586,6 +589,7 @@ static int add_prefixes(struct in6_addr *local, int prefix, + context->ra_time = 0; + context->flags |= CONTEXT_RA_DONE; + real_prefix = context->prefix; ++ off_link = (context->flags & CONTEXT_RA_OFF_LINK); + } + + param->first = 0; +@@ -636,8 +640,9 @@ static int add_prefixes(struct in6_addr *local, int prefix, + opt->type = ICMP6_OPT_PREFIX; + opt->len = 4; + opt->prefix_len = real_prefix; +- /* autonomous only if we're not doing dhcp, always set "on-link" */ +- opt->flags = 0x80; ++ /* autonomous only if we're not doing dhcp, set ++ "on-link" unless "off-link" was specified */ ++ opt->flags = (off_link ? 0 : 0x80); + if (do_slaac) + opt->flags |= 0x40; + if (adv_router) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch b/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch new file mode 100644 index 000000000..6518771e0 --- /dev/null +++ b/src/patches/dnsmasq/0109-Upply-bridge-interface-aliasing-to-solicited-router-.patch @@ -0,0 +1,107 @@ +From ba4fc0f99619014438621ccd2bc473657ab4c51c Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:14:49 +0100 +Subject: [PATCH 109/113] Upply --bridge-interface aliasing to solicited router + advertisements. + +--- + src/radv.c | 45 ++++++++++++++++++++++++++++++++++++++++----- + 1 file changed, 40 insertions(+), 5 deletions(-) + +diff --git a/src/radv.c b/src/radv.c +index ec22464b78b9..54784967df57 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -41,6 +41,8 @@ struct search_param { + }; + + static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest); ++static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, ++ int send_iface); + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam); +@@ -181,6 +183,7 @@ void icmp6_packet(time_t now) + else if (packet[0] == ND_ROUTER_SOLICIT) + { + char *mac = ""; ++ struct dhcp_bridge *bridge, *alias; + + /* look for link-layer address option for logging */ + if (sz >= 16 && packet[8] == ICMP6_OPT_SOURCE_MAC && (packet[9] * 8) + 8 <= sz) +@@ -191,12 +194,37 @@ void icmp6_packet(time_t now) + + if (!option_bool(OPT_QUIET_RA)) + my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac); +- /* source address may not be valid in solicit request. */ +- send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL); ++ ++ /* If the incoming interface is an alias of some other one (as ++ specified by the --bridge-interfaces option), send an RA ++ using the context of the aliased interface. */ ++ for (bridge = daemon->bridges; bridge; bridge = bridge->next) ++ { ++ int bridge_index = if_nametoindex(bridge->iface); ++ if (bridge_index) ++ { ++ for (alias = bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, interface, IF_NAMESIZE)) ++ { ++ /* Send an RA on if_index with information from ++ bridge_index. */ ++ send_ra_alias(now, bridge_index, bridge->iface, NULL, if_index); ++ break; ++ } ++ if (alias) ++ break; ++ } ++ } ++ ++ /* If the incoming interface wasn't an alias, send an RA using ++ the context of the incoming interface. */ ++ if (!bridge) ++ /* source address may not be valid in solicit request. */ ++ send_ra(now, if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL); + } + } + +-static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest) ++static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, int send_iface) + { + struct ra_packet *ra; + struct ra_param parm; +@@ -370,7 +398,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + } + #endif + +- iface_enumerate(AF_LOCAL, &iface, add_lla); ++ iface_enumerate(AF_LOCAL, &send_iface, add_lla); + + /* RDNSS, RFC 6106, use relevant DHCP6 options */ + (void)option_filter(parm.tags, NULL, daemon->dhcp_opts6); +@@ -478,7 +506,7 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + else + { + inet_pton(AF_INET6, ALL_NODES, &addr.sin6_addr); +- setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &iface, sizeof(iface)); ++ setsockopt(daemon->icmp6fd, IPPROTO_IPV6, IPV6_MULTICAST_IF, &send_iface, sizeof(send_iface)); + } + + while (retry_send(sendto(daemon->icmp6fd, daemon->outpacket.iov_base, +@@ -487,6 +515,13 @@ static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *de + + } + ++static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest) ++{ ++ /* Send an RA on the same interface that the RA content is based ++ on. */ ++ send_ra_alias(now, iface, iface_name, dest, iface); ++} ++ + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch b/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch new file mode 100644 index 000000000..3097211fa --- /dev/null +++ b/src/patches/dnsmasq/0110-Apply-bridge-interfaces-to-unsolicited-router-advert.patch @@ -0,0 +1,131 @@ +From 9bad339af848fc30bab4ea2759f022820f474e17 Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:16:35 +0100 +Subject: [PATCH 110/113] Apply --bridge-interfaces to unsolicited router + advertisements. + +--- + src/radv.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 84 insertions(+), 2 deletions(-) + +diff --git a/src/radv.c b/src/radv.c +index 54784967df57..300c31c83c78 100644 +--- a/src/radv.c ++++ b/src/radv.c +@@ -40,9 +40,18 @@ struct search_param { + char name[IF_NAMESIZE+1]; + }; + ++struct alias_param { ++ int iface; ++ struct dhcp_bridge *bridge; ++ int num_alias_ifs; ++ int max_alias_ifs; ++ int *alias_ifs; ++}; ++ + static void send_ra(time_t now, int iface, char *iface_name, struct in6_addr *dest); + static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_addr *dest, + int send_iface); ++static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm); + static int add_prefixes(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + unsigned int preferred, unsigned int valid, void *vparam); +@@ -723,6 +732,7 @@ time_t periodic_ra(time_t now) + struct search_param param; + struct dhcp_context *context; + time_t next_event; ++ struct alias_param aparam; + + param.now = now; + param.iface = 0; +@@ -770,12 +780,84 @@ time_t periodic_ra(time_t now) + if (tmp->name && wildcard_match(tmp->name, param.name)) + break; + if (!tmp) +- send_ra(now, param.iface, param.name, NULL); ++ { ++ send_ra(now, param.iface, param.name, NULL); ++ ++ /* Also send on all interfaces that are aliases of this ++ one. */ ++ for (aparam.bridge = daemon->bridges; ++ aparam.bridge; ++ aparam.bridge = aparam.bridge->next) ++ if ((int)if_nametoindex(aparam.bridge->iface) == param.iface) ++ { ++ /* Count the number of alias interfaces for this ++ 'bridge', by calling iface_enumerate with ++ send_ra_to_aliases and NULL alias_ifs. */ ++ aparam.iface = param.iface; ++ aparam.alias_ifs = NULL; ++ aparam.num_alias_ifs = 0; ++ iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); ++ my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => %d alias(es)", ++ param.name, daemon->addrbuff, aparam.num_alias_ifs); ++ ++ /* Allocate memory to store the alias interface ++ indices. */ ++ aparam.alias_ifs = (int *)whine_malloc(aparam.num_alias_ifs * ++ sizeof(int)); ++ if (aparam.alias_ifs) ++ { ++ /* Use iface_enumerate again to get the alias ++ interface indices, then send on each of ++ those. */ ++ aparam.max_alias_ifs = aparam.num_alias_ifs; ++ aparam.num_alias_ifs = 0; ++ iface_enumerate(AF_LOCAL, &aparam, send_ra_to_aliases); ++ for (; aparam.num_alias_ifs; aparam.num_alias_ifs--) ++ { ++ my_syslog(MS_DHCP | LOG_INFO, "RTR-ADVERT(%s) %s => i/f %d", ++ param.name, daemon->addrbuff, ++ aparam.alias_ifs[aparam.num_alias_ifs - 1]); ++ send_ra_alias(now, ++ param.iface, ++ param.name, ++ NULL, ++ aparam.alias_ifs[aparam.num_alias_ifs - 1]); ++ } ++ free(aparam.alias_ifs); ++ } ++ ++ /* The source interface can only appear in at most ++ one --bridge-interfaces. */ ++ break; ++ } ++ } + } + } + return next_event; + } +- ++ ++static int send_ra_to_aliases(int index, unsigned int type, char *mac, size_t maclen, void *parm) ++{ ++ struct alias_param *aparam = (struct alias_param *)parm; ++ char ifrn_name[IFNAMSIZ]; ++ struct dhcp_bridge *alias; ++ ++ (void)type; ++ (void)mac; ++ (void)maclen; ++ ++ if (if_indextoname(index, ifrn_name)) ++ for (alias = aparam->bridge->alias; alias; alias = alias->next) ++ if (wildcard_matchn(alias->iface, ifrn_name, IFNAMSIZ)) ++ { ++ if (aparam->alias_ifs && (aparam->num_alias_ifs < aparam->max_alias_ifs)) ++ aparam->alias_ifs[aparam->num_alias_ifs] = index; ++ aparam->num_alias_ifs++; ++ } ++ ++ return 1; ++} ++ + static int iface_search(struct in6_addr *local, int prefix, + int scope, int if_index, int flags, + int preferred, int valid, void *vparam) +-- +2.1.0 + diff --git a/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch b/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch new file mode 100644 index 000000000..b2b8bcb20 --- /dev/null +++ b/src/patches/dnsmasq/0111-Documenation-updates-for-bridge-interface-and-off-li.patch @@ -0,0 +1,201 @@ +From 4918bd550573844441a287a67202a6a3f0f6126a Mon Sep 17 00:00:00 2001 +From: Neil Jerram +Date: Wed, 10 Jun 2015 22:23:20 +0100 +Subject: [PATCH 111/113] Documenation updates for --bridge-interface and + "off-link". + +--- + CHANGELOG | 6 ++++++ + man/dnsmasq.8 | 17 +++++++++++------ + man/es/dnsmasq.8 | 12 ++++++++---- + man/fr/dnsmasq.8 | 18 ++++++++++++------ + src/dhcp.c | 9 +++++---- + src/dhcp6.c | 2 +- + src/radv.c | 6 +++--- + 7 files changed, 46 insertions(+), 24 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index a5bd4dc02701..7d8f73ffa61c 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -128,6 +128,12 @@ version 2.73 + + Add AddDhcpLease and DeleteDhcpLease DBus methods. Thanks + to Nicolas Cavallari for the patch. ++ ++ Allow configuration of router advertisements without the ++ "on-link" bit set. Thanks to Neil Jerram for the patch. ++ ++ Extend --bridge-interface to DHCPv6 and router ++ advertisements. Thanks to Neil Jerram for the patch. + + + version 2.72 +diff --git a/man/dnsmasq.8 b/man/dnsmasq.8 +index f811dc326e9f..ffa0c7b1f436 100644 +--- a/man/dnsmasq.8 ++++ b/man/dnsmasq.8 +@@ -833,7 +833,7 @@ and + for details.) + + For IPv6, the mode may be some combination of +-.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter. ++.B ra-only, slaac, ra-names, ra-stateless, ra-advrouter, off-link. + + .B ra-only + tells dnsmasq to offer Router Advertisement only on this subnet, +@@ -873,6 +873,9 @@ enables a mode where router address(es) rather than prefix(es) are included in t + This is described in RFC-3775 section 7.2 and is used in mobile IPv6. In this mode the interval option + is also included, as described in RFC-3775 section 7.3. + ++.B off-link ++tells dnsmasq to advertise the prefix without the on-link (aka L) bit set. ++ + .TP + .B \-G, --dhcp-host=[][,id:|*][,set:][,][,][,][,ignore] + Specify per host parameters for the DHCP server. This allows a machine +@@ -1597,11 +1600,13 @@ 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=,[,] +-Treat DHCP request packets arriving at any of the interfaces +-as if they had arrived at . 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. +-A trailing '*' wildcard can be used in each . ++Treat DHCP (v4 and v6) request and IPv6 Router Solicit packets ++arriving at any of the interfaces as if they had arrived at ++. This option allows dnsmasq to provide DHCP and RA ++service over unaddressed and unbridged Ethernet interfaces, e.g. on an ++OpenStack compute host where each such interface is a TAP interface to ++a VM, or as in "old style bridging" on BSD platforms. A trailing '*' ++wildcard can be used in each . + .TP + .B \-s, --domain=[,
[,local]] + Specifies DNS domains for the DHCP server. Domains may be be given +diff --git a/man/es/dnsmasq.8 b/man/es/dnsmasq.8 +index 65e4b7277a6b..81c745a48b6e 100644 +--- a/man/es/dnsmasq.8 ++++ b/man/es/dnsmasq.8 +@@ -1062,10 +1062,14 @@ esta opci + cuando hay cambios hechos a el client-id y tiempos de arriendo y vencimiento. + .TP + .B --bridge-interface=,[,] +-Tratar paquetes de pedidos DHCP que llegan a cualquiera de las interfaces +-como si hubieran llegado a la 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. ++Tratar paquetes de pedidos DHCP (v4 y v6) y de IPv6 Router Solicit que ++llegan a cualquiera de las interfaces como si hubieran llegado ++a la interface . Esta opción permite que dnsmasq ++puede proporcionar los servicios DHCP y RA a través de interfaces ++ethernet sin dirección y sin puente; por ejemplo en un nodo de cálculo ++de OpenStack, donde cada una de esas interfaces es una interfaz TAP ++para una máquina virtual, o al usar bridging estilo viejo en ++plataformas BSD. + .TP + .B \-s, --domain=[,] + Especifica los dominios DNS para el servidor DHCP. Dominios pueden ser +diff --git a/man/fr/dnsmasq.8 b/man/fr/dnsmasq.8 +index e0d1e9ad92e5..b4cc16dd3786 100644 +--- a/man/fr/dnsmasq.8 ++++ b/man/fr/dnsmasq.8 +@@ -852,7 +852,7 @@ et + pour plus de détails). + + Pour IPv6, le mode peut-être une combinaison des valeurs +-.B ra-only, slaac, ra-names, ra-stateless. ++.B ra-only, slaac, ra-names, ra-stateless, off-link. + + .B ra-only + indique à dnsmasq de n'effectuer que des annonces de routeur (Router +@@ -888,6 +888,9 @@ peut-être combiné avec + et + .B slaac. + ++.B off-link ++indique à dnsmasq d'annoncer le préfixe sans le bit L (sur lien). ++ + .TP + .B \-G, --dhcp-host=[][,id:|*][,set: