diff options
author | brooks <brooks@FreeBSD.org> | 2005-04-23 11:29:45 +0800 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2005-04-23 11:29:45 +0800 |
commit | 715e7d9634af5592e02fd04d4c6ad6b49b13a0d1 (patch) | |
tree | 7597d879bc38c8d8d3375a46618379835915a04b /security | |
parent | f1b8a6785268798c85c13cd75da32bd88d01ea6b (diff) | |
download | freebsd-ports-gnome-715e7d9634af5592e02fd04d4c6ad6b49b13a0d1.tar.gz freebsd-ports-gnome-715e7d9634af5592e02fd04d4c6ad6b49b13a0d1.tar.zst freebsd-ports-gnome-715e7d9634af5592e02fd04d4c6ad6b49b13a0d1.zip |
Fix wpa_cli. You need to pass all of the sockaddr, not just part of it.
Also be sure to keep the path null terminated as Stevens does.
While I'm here, take maintainership since I use this and seem to be
making most of the recent commits.
Diffstat (limited to 'security')
-rw-r--r-- | security/wpa_supplicant/Makefile | 3 | ||||
-rw-r--r-- | security/wpa_supplicant/files/patch-wpa__ctrl.c | 27 |
2 files changed, 29 insertions, 1 deletions
diff --git a/security/wpa_supplicant/Makefile b/security/wpa_supplicant/Makefile index 141e86adbcc3..9806eded4342 100644 --- a/security/wpa_supplicant/Makefile +++ b/security/wpa_supplicant/Makefile @@ -7,10 +7,11 @@ PORTNAME= wpa_supplicant PORTVERSION= 0.3.8 +PORTREVISION= 1 CATEGORIES= security net MASTER_SITES= http://hostap.epitest.fi/releases/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= brooks@FreeBSD.org COMMENT= Supplicant (client) for WPA/802.1x protocols USE_REINPLACE= yes diff --git a/security/wpa_supplicant/files/patch-wpa__ctrl.c b/security/wpa_supplicant/files/patch-wpa__ctrl.c new file mode 100644 index 000000000000..68887e26688b --- /dev/null +++ b/security/wpa_supplicant/files/patch-wpa__ctrl.c @@ -0,0 +1,27 @@ + +$FreeBSD$ + +--- wpa_ctrl.c.orig ++++ wpa_ctrl.c +@@ -88,7 +88,7 @@ + } + + ctrl->local.sun_family = AF_UNIX; +- snprintf(ctrl->local.sun_path, sizeof(ctrl->local.sun_path), ++ snprintf(ctrl->local.sun_path, sizeof(ctrl->local.sun_path) - 1, + "/tmp/wpa_ctrl_%d-%d", getpid(), counter++); + if (bind(ctrl->s, (struct sockaddr *) &ctrl->local, + sizeof(ctrl->local.sun_family) + +@@ -99,10 +99,9 @@ + } + + ctrl->dest.sun_family = AF_UNIX; +- strncpy(ctrl->dest.sun_path, ctrl_path, sizeof(ctrl->dest.sun_path)); ++ strncpy(ctrl->dest.sun_path, ctrl_path, sizeof(ctrl->dest.sun_path) - 1); + if (connect(ctrl->s, (struct sockaddr *) &ctrl->dest, +- sizeof(ctrl->dest.sun_family) + +- strlen(ctrl->dest.sun_path)) < 0) { ++ sizeof(ctrl->dest)) < 0) { + close(ctrl->s); + unlink(ctrl->local.sun_path); + free(ctrl); |