Module Name: src Committed By: roy Date: Tue Jan 19 17:22:57 UTC 2016
Modified Files: src/external/bsd/wpa/dist/src/drivers: driver_bsd.c Log Message: Downing the interface now disables it instead of removing it. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/external/bsd/wpa/dist/src/drivers/driver_bsd.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/wpa/dist/src/drivers/driver_bsd.c diff -u src/external/bsd/wpa/dist/src/drivers/driver_bsd.c:1.18 src/external/bsd/wpa/dist/src/drivers/driver_bsd.c:1.19 --- src/external/bsd/wpa/dist/src/drivers/driver_bsd.c:1.18 Tue Jan 19 16:47:44 2016 +++ src/external/bsd/wpa/dist/src/drivers/driver_bsd.c Tue Jan 19 17:22:57 2016 @@ -288,6 +288,7 @@ bsd_ctrl_iface(void *priv, int enable) strerror(errno)); return -1; } + drv->flags = ifr.ifr_flags; if (enable) { if (ifr.ifr_flags & IFF_UP) @@ -305,6 +306,7 @@ bsd_ctrl_iface(void *priv, int enable) return -1; } + drv->flags = ifr.ifr_flags; return 0; } @@ -1298,28 +1300,16 @@ wpa_driver_bsd_event_receive(int sock, v return; if ((ifm->ifm_flags & IFF_UP) == 0 && (drv->flags & IFF_UP) != 0) { - os_strlcpy(event.interface_status.ifname, drv->ifname, - sizeof(event.interface_status.ifname)); - event.interface_status.ievent = EVENT_INTERFACE_REMOVED; wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' DOWN", - event.interface_status.ifname); - wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_STATUS, - &event); + drv->ifname); + wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_DISABLED, + NULL); } else if ((ifm->ifm_flags & IFF_UP) != 0 && (drv->flags & IFF_UP) == 0) { - os_strlcpy(event.interface_status.ifname, drv->ifname, - sizeof(event.interface_status.ifname)); - event.interface_status.ievent = EVENT_INTERFACE_ADDED; wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' UP", - event.interface_status.ifname); - wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_STATUS, - &event); - } else { - os_strlcpy(event.interface_status.ifname, drv->ifname, - sizeof(event.interface_status.ifname)); - wpa_printf(MSG_DEBUG, "RTM_IFINFO: Interface '%s' " - "if=%x drv=%x", event.interface_status.ifname, - ifm->ifm_flags, drv->flags); + drv->ifname); + wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_ENABLED, + NULL); } drv->flags = ifm->ifm_flags; break;