]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Don't request a NULL address and supply a serveraddress when we should.
authorRoy Marples <roy@marples.name>
Wed, 16 Jan 2008 17:38:02 +0000 (17:38 +0000)
committerRoy Marples <roy@marples.name>
Wed, 16 Jan 2008 17:38:02 +0000 (17:38 +0000)
dhcp.c

diff --git a/dhcp.c b/dhcp.c
index e26208b3414754635fbbb14a7b63a1e8f6107dc2..0c23a580b60ae6561df9e38d186dde7a4a64ac23 100644 (file)
--- a/dhcp.c
+++ b/dhcp.c
@@ -183,12 +183,15 @@ size_t send_message (const interface_t *iface, const dhcp_t *dhcp,
                        logger (LOG_ERR,
                                "cannot request a link local address");
                else {
-                       if (dhcp->address.s_addr != iface->previous_address.s_addr &&
+                       if (dhcp->address.s_addr &&
+                           dhcp->address.s_addr !=
+                           iface->previous_address.s_addr &&
                            type != DHCP_RELEASE)
                                PUTADDR (DHCP_ADDRESS, dhcp->address);
 
-                       if (dhcp->serveraddress.s_addr != 0 && dhcp->address.s_addr !=0 &&
-                           (iface->previous_address.s_addr == 0 || type == DHCP_RELEASE))
+                       if (dhcp->serveraddress.s_addr &&
+                           dhcp->address.s_addr &&
+                           (type == DHCP_REQUEST || type == DHCP_RELEASE))
                                PUTADDR (DHCP_SERVERIDENTIFIER,
                                         dhcp->serveraddress);
                }