On DHCP Discover fail, don't send a NAK
authorAlan T. DeKok <aland@freeradius.org>
Tue, 6 Apr 2010 23:58:00 +0000 (01:58 +0200)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 8 Apr 2010 08:01:49 +0000 (10:01 +0200)
Instead, just don't respond

src/modules/frs_dhcp/frs_dhcp.c

index 69037cd..7687514 100644 (file)
@@ -147,16 +147,20 @@ static int dhcp_process(REQUEST *request)
                        request->reply->code = PW_DHCP_ACK;
                        break;
                }
-
-               /* FALL-THROUGH */
+               request->reply->code = PW_DHCP_NAK;
+               break;
 
        default:
        case RLM_MODULE_REJECT:
        case RLM_MODULE_FAIL:
        case RLM_MODULE_INVALID:
        case RLM_MODULE_NOOP:
-       case RLM_MODULE_NOTFOUND:
-               request->reply->code = PW_DHCP_NAK;
+       case RLM_MODULE_NOTFOUND:       
+               if (request->packet->code === PW_DHCP_DISCOVER) {
+                       request->reply->code = 0; /* ignore the packet */
+               } else {
+                       request->reply->code = PW_DHCP_NAK;
+               }
                break;
 
        case RLM_MODULE_HANDLED: