summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Kelley <simon@thekelleys.org.uk>2013-01-14 21:35:05 +0000
committerSimon Kelley <simon@thekelleys.org.uk>2013-01-14 21:35:05 +0000
commit21bac1bccd390f068402424f4abf0f3bc4fb6258 (patch)
treec153eae527c9db05ae99eddb449f4c41358ef1b5
parentb1a1b6def5110e4f20db489da26ee70f5299574c (diff)
downloaddnsmasq-21bac1bccd390f068402424f4abf0f3bc4fb6258.tar.gz
Check IAID as well as CLID for lease identity.v2.66test9
-rw-r--r--src/rfc3315.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rfc3315.c b/src/rfc3315.c
index 8fd050c..0fddc83 100644
--- a/src/rfc3315.c
+++ b/src/rfc3315.c
@@ -575,9 +575,9 @@ static int dhcp6_no_relay(int msg_type, struct in6_addr *link_address, struct dh
inet_ntop(AF_INET6, &config->addr6, daemon->addrbuff, ADDRSTRLEN);
if (ltmp && ltmp->clid &&
- (ltmp->clid_len != clid_len || memcmp(ltmp->clid, clid, clid_len) != 0))
- my_syslog(MS_DHCP | LOG_WARNING, _("not using configured address %s because it is leased to %s"),
- daemon->addrbuff, print_mac(daemon->namebuff, ltmp->clid, ltmp->clid_len));
+ (ltmp->clid_len != clid_len || memcmp(ltmp->clid, clid, clid_len) != 0 || ltmp->hwaddr_type != iaid))
+ my_syslog(MS_DHCP | LOG_WARNING, _("not using configured address %s because it is leased to %s:%d"),
+ daemon->addrbuff, print_mac(daemon->namebuff, ltmp->clid, ltmp->clid_len), lease->hwaddr_type);
else if (have_config(config, CONFIG_DECLINED) &&
difftime(now, config->decline_time) < (float)DECLINE_BACKOFF)
my_syslog(MS_DHCP | LOG_WARNING, _("not using configured address %s because it was previously declined"),