|
|
@@ -1,8 +1,6 @@
|
|
|
-diff --git a/src/dnsmasq.c b/src/dnsmasq.c
|
|
|
-index 30fb419..776351a 100644
|
|
|
--- a/src/dnsmasq.c
|
|
|
+++ b/src/dnsmasq.c
|
|
|
-@@ -2025,6 +2025,10 @@ static void check_dns_listeners(time_t now)
|
|
|
+@@ -2021,6 +2021,10 @@ static void check_dns_listeners(time_t n
|
|
|
daemon->pipe_to_parent = pipefd[1];
|
|
|
}
|
|
|
|
|
|
@@ -13,11 +11,9 @@ index 30fb419..776351a 100644
|
|
|
/* start with no upstream connections. */
|
|
|
for (s = daemon->servers; s; s = s->next)
|
|
|
s->tcpfd = -1;
|
|
|
-diff --git a/src/dnsmasq.h b/src/dnsmasq.h
|
|
|
-index e455c3f..c84ba48 100644
|
|
|
--- a/src/dnsmasq.h
|
|
|
+++ b/src/dnsmasq.h
|
|
|
-@@ -1673,14 +1673,26 @@ void emit_dbus_signal(int action, struct dhcp_lease *lease, char *hostname);
|
|
|
+@@ -1670,14 +1670,26 @@ void emit_dbus_signal(int action, struct
|
|
|
|
|
|
/* ubus.c */
|
|
|
#ifdef HAVE_UBUS
|
|
|
@@ -44,11 +40,9 @@ index e455c3f..c84ba48 100644
|
|
|
#endif
|
|
|
|
|
|
/* ipset.c */
|
|
|
-diff --git a/src/forward.c b/src/forward.c
|
|
|
-index 32f37e4..3d28963 100644
|
|
|
--- a/src/forward.c
|
|
|
+++ b/src/forward.c
|
|
|
-@@ -803,7 +803,7 @@ static size_t process_reply(struct dns_header *header, time_t now, struct server
|
|
|
+@@ -803,7 +803,7 @@ static size_t process_reply(struct dns_h
|
|
|
cache_secure = 0;
|
|
|
}
|
|
|
|
|
|
@@ -57,8 +51,6 @@ index 32f37e4..3d28963 100644
|
|
|
cache_secure = 0;
|
|
|
|
|
|
/* check_for_bogus_wildcard() does it's own caching, so
|
|
|
-diff --git a/src/rfc1035.c b/src/rfc1035.c
|
|
|
-index 387d894..7bf7967 100644
|
|
|
--- a/src/rfc1035.c
|
|
|
+++ b/src/rfc1035.c
|
|
|
@@ -13,8 +13,10 @@
|
|
|
@@ -73,7 +65,7 @@ index 387d894..7bf7967 100644
|
|
|
|
|
|
int extract_name(struct dns_header *header, size_t plen, unsigned char **pp,
|
|
|
char *name, int isExtract, int extrabytes)
|
|
|
-@@ -384,10 +386,65 @@ static int private_net6(struct in6_addr *a, int ban_localhost)
|
|
|
+@@ -384,10 +386,65 @@ static int private_net6(struct in6_addr
|
|
|
((u32 *)a)[0] == htonl(0x20010db8); /* RFC 6303 4.6 */
|
|
|
}
|
|
|
|
|
|
@@ -140,7 +132,7 @@ index 387d894..7bf7967 100644
|
|
|
int done = 0;
|
|
|
|
|
|
if (!(p = skip_questions(header, qlen)))
|
|
|
-@@ -404,7 +461,7 @@ int do_doctor(struct dns_header *header, size_t qlen, char *namebuff)
|
|
|
+@@ -404,7 +461,7 @@ int do_doctor(struct dns_header *header,
|
|
|
|
|
|
GETSHORT(qtype, p);
|
|
|
GETSHORT(qclass, p);
|
|
|
@@ -149,7 +141,7 @@ index 387d894..7bf7967 100644
|
|
|
GETSHORT(rdlen, p);
|
|
|
|
|
|
if (qclass == C_IN && qtype == T_A)
|
|
|
-@@ -415,6 +472,9 @@ int do_doctor(struct dns_header *header, size_t qlen, char *namebuff)
|
|
|
+@@ -415,6 +472,9 @@ int do_doctor(struct dns_header *header,
|
|
|
if (!CHECK_LEN(header, p, qlen, INADDRSZ))
|
|
|
return done;
|
|
|
|
|
|
@@ -159,7 +151,7 @@ index 387d894..7bf7967 100644
|
|
|
/* alignment */
|
|
|
memcpy(&addr.addr4, p, INADDRSZ);
|
|
|
|
|
|
-@@ -444,6 +504,14 @@ int do_doctor(struct dns_header *header, size_t qlen, char *namebuff)
|
|
|
+@@ -444,6 +504,14 @@ int do_doctor(struct dns_header *header,
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
@@ -174,11 +166,9 @@ index 387d894..7bf7967 100644
|
|
|
|
|
|
if (!ADD_RDLEN(header, p, qlen, rdlen))
|
|
|
return done; /* bad packet */
|
|
|
-diff --git a/src/ubus.c b/src/ubus.c
|
|
|
-index a5758e7..f2a75a8 100644
|
|
|
--- a/src/ubus.c
|
|
|
+++ b/src/ubus.c
|
|
|
-@@ -72,6 +72,13 @@ static struct ubus_object ubus_object = {
|
|
|
+@@ -72,6 +72,13 @@ static struct ubus_object ubus_object =
|
|
|
.subscribe_cb = ubus_subscribe_cb,
|
|
|
};
|
|
|
|
|
|
@@ -192,7 +182,7 @@ index a5758e7..f2a75a8 100644
|
|
|
static void ubus_subscribe_cb(struct ubus_context *ctx, struct ubus_object *obj)
|
|
|
{
|
|
|
(void)ctx;
|
|
|
-@@ -105,13 +112,21 @@ static void ubus_disconnect_cb(struct ubus_context *ubus)
|
|
|
+@@ -105,13 +112,21 @@ static void ubus_disconnect_cb(struct ub
|
|
|
char *ubus_init()
|
|
|
{
|
|
|
struct ubus_context *ubus = NULL;
|