From: Alan T. DeKok Date: Mon, 4 Mar 2013 16:00:58 +0000 (-0500) Subject: Don't encode giaddr on server messages X-Git-Tag: release_2_2_1~126 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac1876e724a6e9086845a5da2bfab0f18a390f62;p=thirdparty%2Ffreeradius-server.git Don't encode giaddr on server messages It does nothing other than fingerpint FR as a DHCP server. It's supposed to be zero in server packets --- diff --git a/src/lib/dhcp.c b/src/lib/dhcp.c index dc9cb734a80..30a489965d9 100644 --- a/src/lib/dhcp.c +++ b/src/lib/dhcp.c @@ -1201,8 +1201,14 @@ int fr_dhcp_encode(RADIUS_PACKET *packet) memcpy(p, &lvalue, 4); p += 4; - /* DHCP-Gateway-IP-Address */ - if ((vp = pairfind(packet->vps, DHCP2ATTR(266)))) { + /* + * DHCP-Gateway-IP-Address + * + * It's only sent in client messages. For responses from + * the server, it is always zero. + */ + if ((packet->data[0] == 1) && + (vp = pairfind(packet->vps, DHCP2ATTR(266)))) { lvalue = vp->vp_ipaddr; } else { lvalue = htonl(INADDR_ANY);