diff options
| author | Roy Marples <roy@marples.name> | 2008-11-19 15:48:18 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2008-11-19 15:48:18 +0000 |
| commit | 299662da4f99217bf4dfdd62147c273c0a5e3f1b (patch) | |
| tree | c9d6c3ec127c587bcd3e14a5d23bd3c0b10b728c /dhcp.c | |
| parent | 0b10229bc6ae7eadcc84a3c5e5710aac11c4f163 (diff) | |
| download | dhcpcd-299662da4f99217bf4dfdd62147c273c0a5e3f1b.tar.xz | |
We are now a BOOTP client also :)
Diffstat (limited to 'dhcp.c')
| -rw-r--r-- | dhcp.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1277,7 +1277,11 @@ get_lease(struct dhcp_lease *lease, const struct dhcp_message *dhcp) { struct timeval now; - lease->addr.s_addr = dhcp->yiaddr; + /* BOOTP does not set yiaddr for replies when ciaddr is set. */ + if (dhcp->yiaddr) + lease->addr.s_addr = dhcp->yiaddr; + else + lease->addr.s_addr = dhcp->ciaddr; if (get_option_addr(&lease->net.s_addr, dhcp, DHO_SUBNETMASK) == -1) lease->net.s_addr = get_netmask(dhcp->yiaddr); if (get_option_uint32(&lease->leasetime, dhcp, DHO_LEASETIME) == 0) { |
