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;

Reply via email to