]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix compile on NetBSD.
authorRoy Marples <roy@marples.name>
Thu, 19 May 2016 08:38:13 +0000 (08:38 +0000)
committerRoy Marples <roy@marples.name>
Thu, 19 May 2016 08:38:13 +0000 (08:38 +0000)
arp.c
dhcp.c
ipv4ll.c

diff --git a/arp.c b/arp.c
index ad4eb8f48d4154c3b5191ef427843e7b379c88fa..5b35ccdd3ed9a0e2b9cee8a61c2731f9e50e3e12 100644 (file)
--- a/arp.c
+++ b/arp.c
@@ -431,15 +431,15 @@ arp_handleifa(int cmd, struct ipv4_addr *addr)
        struct iarp_state *state;
        struct arp_state *astate, *asn;
 
-       if (cmd != RTM_NEWADDR || (state = ARP_STATE(ifp)) == NULL)
+       if (cmd != RTM_NEWADDR || (state = ARP_STATE(addr->iface)) == NULL)
                return;
 
        TAILQ_FOREACH_SAFE(astate, &state->arp_states, next, asn) {
                if (astate->addr.s_addr == addr->addr.s_addr) {
-                       if (flags & IN_IFF_DUPLICATED) {
+                       if (addr->addr_flags & IN_IFF_DUPLICATED) {
                                if (astate->conflicted_cb)
                                        astate->conflicted_cb(astate, NULL);
-                       } else if (!(flags & IN_IFF_NOTUSEABLE)) {
+                       } else if (!(addr->addr_flags & IN_IFF_NOTUSEABLE)) {
                                if (astate->probed_cb)
                                        astate->probed_cb(astate);
                        }
diff --git a/dhcp.c b/dhcp.c
index 878ddff1183e1aa762b9a2b4e02e66cec379073b..63f315269300db8f1012cfba8d4c55b4a8ec33fa 100644 (file)
--- a/dhcp.c
+++ b/dhcp.c
@@ -2076,9 +2076,8 @@ dhcp_arp_conflicted(struct arp_state *astate, const struct arp_msg *amsg)
                    !state->lease.frominfo)
                        dhcp_decline(ifp);
 #ifdef IN_IFF_DUPLICATED
-               ia = ipv4_iffindaddr(ifp, &astate->addr->addr, NULL);
-               if (ia)
-                       ipv4_deladdr(ia->addr, 1);
+               if ((ia = ipv4_iffindaddr(ifp, &astate->addr, NULL)) != NULL)
+                       ipv4_deladdr(ia, 1);
 #endif
                arp_free(astate);
                eloop_timeout_delete(ifp->ctx->eloop, NULL, ifp);
@@ -2918,7 +2917,7 @@ dhcp_handledhcp(struct interface *ifp, struct bootp *bootp, size_t bootp_len,
                LOGDHCP(LOG_WARNING, "declined duplicate address");
                if (type)
                        dhcp_decline(ifp);
-               ipv4_deladdr(ifp, &ia->addr, &ia->mask, 0);
+               ipv4_deladdr(ia, 0);
                eloop_timeout_delete(ifp->ctx->eloop, NULL, ifp);
                eloop_timeout_add_sec(ifp->ctx->eloop,
                    DHCP_RAND_MAX, dhcp_discover, ifp);
@@ -3626,7 +3625,7 @@ dhcp_handleifa(int cmd, struct ipv4_addr *ia)
                return;
 
 #ifdef IN_IFF_NOTUSEABLE
-       if (ia->flags & IN_IFF_NOTUSEABLE)
+       if (ia->addr_flags & IN_IFF_NOTUSEABLE)
                return;
 #endif
 
index 287fb66b1e52c3d02777d645acf92cb5e7ffd738..9ad5ea393db73d01528fbb586d31776b6b859cf7 100644 (file)
--- a/ipv4ll.c
+++ b/ipv4ll.c
@@ -378,7 +378,7 @@ ipv4ll_start(void *arg)
        ia = ipv4_iffindlladdr(ifp);
 #ifdef IN_IFF_TENTATIVE
        if (ia != NULL && ia->addr_flags & IN_IFF_DUPLICATED) {
-               ipv4_deladdr(ifp, &ia->addr, &ia->net, 0);
+               ipv4_deladdr(ia, 0);
                ia = NULL;
        }
 #endif