aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--THANKS.in1
-rw-r--r--plugins-root/check_dhcp.c13
2 files changed, 5 insertions, 9 deletions
diff --git a/THANKS.in b/THANKS.in
index 32a8868d..943acdb0 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -273,3 +273,4 @@ Jason Lunn
Alex Griffin
Marc Remy
Matej Vela
+Jason Ellison
diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c
index ac892747..b02ee49c 100644
--- a/plugins-root/check_dhcp.c
+++ b/plugins-root/check_dhcp.c
@@ -141,7 +141,7 @@ typedef struct dhcp_packet_struct{
u_int16_t flags; /* flags */
struct in_addr ciaddr; /* IP address of this machine (if we already have one) */
struct in_addr yiaddr; /* IP address of this machine (offered by the DHCP server) */
- struct in_addr siaddr; /* IP address of DHCP server */
+ struct in_addr siaddr; /* IP address of next server */
struct in_addr giaddr; /* IP address of DHCP relay */
unsigned char chaddr [MAX_DHCP_CHADDR_LENGTH]; /* hardware address of this machine */
char sname [MAX_DHCP_SNAME_LENGTH]; /* name of DHCP server */
@@ -587,11 +587,6 @@ int get_dhcp_offer(int sock){
/* Save a copy of "source" into "via" even if it's via itself */
memcpy(&via,&source,sizeof(source)) ;
- /* If siaddr is non-zero, set "source" to siaddr */
- if(offer_packet.siaddr.s_addr != 0L){
- source.sin_addr.s_addr = offer_packet.siaddr.s_addr ;
- }
-
if(verbose){
printf(_("DHCPOFFER from IP address %s"),inet_ntoa(source.sin_addr));
printf(_(" via %s\n"),inet_ntoa(via.sin_addr));
@@ -904,9 +899,9 @@ int add_dhcp_offer(struct in_addr source,dhcp_packet *offer_packet){
* the next bootstrap service (e.g., delivery of an operating system
* executable image). A DHCP server always returns its own address in
* the 'server identifier' option." 'serv_ident' is the 'server
- * identifier' option, 'source' is the 'siaddr' field or (if 'siaddr'
- * wasn't available) the IP address we received the DHCPOFFER from. If
- * 'serv_ident' isn't available for some reason, we use 'source'.
+ * identifier' option, 'source' is the IP address we received the
+ * DHCPOFFER from. If 'serv_ident' isn't available for some reason, we
+ * use 'source'.
*/
new_offer->server_address=serv_ident.s_addr?serv_ident:source;
new_offer->offered_address=offer_packet->yiaddr;