From a1a79edaeab9bbbaeeacc23cafc872ea511f6a43 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 15 Mar 2013 21:19:57 +0000 Subject: [PATCH] Bugfix for latest DHCPv6 update. --- src/rfc3315.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rfc3315.c b/src/rfc3315.c index ad22438..1478d97 100644 --- a/src/rfc3315.c +++ b/src/rfc3315.c @@ -677,11 +677,16 @@ static int dhcp6_no_relay(int msg_type, struct in6_addr *link_address, struct dh /* Suggest configured address(es) */ for (c = context; c; c = c->current) - if (!(c->flags & CONTEXT_CONF_USED) && config_valid(config, c, &addr) && check_address(&state, &addr)) + if (!(c->flags & CONTEXT_CONF_USED) && + match_netid(c->filter, solicit_tags, plain_range) && + config_valid(config, c, &addr) && + check_address(&state, &addr)) { mark_config_used(context, &addr); if (have_config(config, CONFIG_TIME)) lease_time = config->lease_time; + else + lease_time = c->lease_time; /* add address to output packet */ #ifdef OPTION6_PREFIX_CLASS if (dump_all_prefix_classes)