dnsmasq: latest pre-2.81 patches
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>v19.07.3_mercusys_ac12_duma
parent
40bb2ae211
commit
352db3e62a
@ -1,7 +1,8 @@
|
||||
From f52bb5be437ab33d7cd10f0ff1cdf0bb86857cf7 Mon Sep 17 00:00:00 2001
|
||||
From: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
||||
Date: Wed, 16 Jan 2019 09:48:07 +0000
|
||||
Subject: [PATCH 31/31] fix previous commit
|
||||
From d2d49907435433001ab00698a3e9ca2a7b5b3236 Mon Sep 17 00:00:00 2001
|
||||
From: Steven Siloti <ssiloti@gmail.com>
|
||||
Date: Thu, 17 Jan 2019 22:52:13 +0000
|
||||
Subject: [PATCH 31/32] Fix missing braces in
|
||||
8eac67c0a15b673c8d27002c248651b308093e4
|
||||
|
||||
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
||||
---
|
@ -0,0 +1,61 @@
|
||||
From 28cfe36e1eee9d2c234e0256ad459956b415a3bb Mon Sep 17 00:00:00 2001
|
||||
From: Brian Haley <haleyb.dev@gmail.com>
|
||||
Date: Thu, 17 Jan 2019 23:21:23 +0000
|
||||
Subject: [PATCH 32/32] Change read_leases() to skip invalid entries.
|
||||
|
||||
There's no reason to stop reading the existing lease file
|
||||
when dnsmasq is started and an invalid entry is found, it
|
||||
can just be ignored. This was fallout from an Openstack
|
||||
bug where the file was being written incorrectly with []
|
||||
around IPv6 addresses.
|
||||
|
||||
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
|
||||
---
|
||||
src/lease.c | 22 +++++++++++++++-------
|
||||
1 file changed, 15 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/src/lease.c
|
||||
+++ b/src/lease.c
|
||||
@@ -60,8 +60,13 @@ static int read_leases(time_t now, FILE
|
||||
|
||||
if (fscanf(leasestream, " %64s %255s %764s",
|
||||
daemon->namebuff, daemon->dhcp_buff, daemon->packet) != 3)
|
||||
- return 0;
|
||||
-
|
||||
+ {
|
||||
+ my_syslog(MS_DHCP | LOG_WARNING, _("ignoring invalid line in lease database: %s %s %s %s ..."),
|
||||
+ daemon->dhcp_buff3, daemon->dhcp_buff2,
|
||||
+ daemon->namebuff, daemon->dhcp_buff);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
if (inet_pton(AF_INET, daemon->namebuff, &addr.addr4))
|
||||
{
|
||||
if ((lease = lease4_allocate(addr.addr4)))
|
||||
@@ -92,7 +97,12 @@ static int read_leases(time_t now, FILE
|
||||
}
|
||||
#endif
|
||||
else
|
||||
- return 0;
|
||||
+ {
|
||||
+ my_syslog(MS_DHCP | LOG_WARNING, _("ignoring invalid line in lease database, bad address: %s"),
|
||||
+ daemon->namebuff);
|
||||
+ continue;
|
||||
+ }
|
||||
+
|
||||
|
||||
if (!lease)
|
||||
die (_("too many stored leases"), NULL, EC_MISC);
|
||||
@@ -172,10 +182,8 @@ void lease_init(time_t now)
|
||||
if (leasestream)
|
||||
{
|
||||
if (!read_leases(now, leasestream))
|
||||
- my_syslog(MS_DHCP | LOG_ERR, _("failed to parse lease database, invalid line: %s %s %s %s ..."),
|
||||
- daemon->dhcp_buff3, daemon->dhcp_buff2,
|
||||
- daemon->namebuff, daemon->dhcp_buff);
|
||||
-
|
||||
+ my_syslog(MS_DHCP | LOG_ERR, _("failed to parse lease database cleanly"));
|
||||
+
|
||||
if (ferror(leasestream))
|
||||
die(_("failed to read lease file %s: %s"), daemon->lease_file, EC_FILE);
|
||||
}
|
Loading…
Reference in New Issue