]> git.ipfire.org Git - people/ms/dnsmasq.git/blobdiff - src/rfc2131.c
Tweak immediately previous patch.
[people/ms/dnsmasq.git] / src / rfc2131.c
index e602a21585c9d0f27f4eebcc6ef5bb8fc57a8570..9f69ed5959032cdac7b9a7f480ff8fe84b57699b 100644 (file)
@@ -805,9 +805,14 @@ size_t dhcp_reply(struct dhcp_context *context, char *iface_name, int int_index,
            if (service->type == type)
              break;
          
-         if (!service || !service->basename || !(context = narrow_context(context, mess->ciaddr, tagif_netid)))
-           return 0;
+         for (; context; context = context->current)
+           if (match_netid(context->filter, tagif_netid, 1) &&
+               is_same_net(mess->ciaddr, context->start, context->netmask))
+             break;
          
+         if (!service || !service->basename || !context)
+           return 0;
+                 
          clear_packet(mess, end);
          
          mess->yiaddr = mess->ciaddr;