diff --git a/fi.w1.wpa_supplicant1.service b/fi.w1.wpa_supplicant1.service new file mode 100644 index 0000000..b308ec2 --- /dev/null +++ b/fi.w1.wpa_supplicant1.service @@ -0,0 +1,4 @@ +[D-BUS Service] +Name=fi.w1.wpa_supplicant1 +Exec=/usr/sbin/wpa_supplicant -u +User=root diff --git a/wpa_supplicant-dbus-events.patch b/wpa_supplicant-dbus-events.patch new file mode 100644 index 0000000..f819e74 --- /dev/null +++ b/wpa_supplicant-dbus-events.patch @@ -0,0 +1,62 @@ +From b80b5639935d37b95d00f86b57f2844a9c775f57 Mon Sep 17 00:00:00 2001 +From: Dan Williams +Date: Fri, 17 Dec 2010 15:56:01 +0200 +Subject: [PATCH 1/1] dbus: Emit property changed events when adding/removing BSSes + +The supplicant was not emitting property changed events when the BSSs +property changed. + +Signed-off-by: Dan Williams +(cherry picked from commit 1e6288df6b07a353a9246b77e0de2a840b5f2c72) +--- + wpa_supplicant/dbus/dbus_new.c | 6 ++++++ + wpa_supplicant/dbus/dbus_new.h | 1 + + 2 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c +index bdfbbac..c66640a 100644 +--- a/wpa_supplicant/dbus/dbus_new.c ++++ b/wpa_supplicant/dbus/dbus_new.c +@@ -691,6 +691,10 @@ void wpas_dbus_signal_prop_changed(struct wpa_supplicant *wpa_s, + wpas_dbus_getter_current_network; + prop = "CurrentNetwork"; + break; ++ case WPAS_DBUS_PROP_BSSS: ++ getter = (WPADBusPropertyAccessor) wpas_dbus_getter_bsss; ++ prop = "BSSs"; ++ break; + default: + wpa_printf(MSG_ERROR, "dbus: %s: Unknown Property value %d", + __func__, property); +@@ -1199,6 +1203,7 @@ int wpas_dbus_unregister_bss(struct wpa_supplicant *wpa_s, + } + + wpas_dbus_signal_bss_removed(wpa_s, bss_obj_path); ++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS); + + return 0; + } +@@ -1263,6 +1268,7 @@ int wpas_dbus_register_bss(struct wpa_supplicant *wpa_s, + } + + wpas_dbus_signal_bss_added(wpa_s, bss_obj_path); ++ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_BSSS); + + return 0; + +diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h +index 80ea98c..9cdefcb 100644 +--- a/wpa_supplicant/dbus/dbus_new.h ++++ b/wpa_supplicant/dbus/dbus_new.h +@@ -30,6 +30,7 @@ enum wpas_dbus_prop { + WPAS_DBUS_PROP_STATE, + WPAS_DBUS_PROP_CURRENT_BSS, + WPAS_DBUS_PROP_CURRENT_NETWORK, ++ WPAS_DBUS_PROP_BSSS, + }; + + enum wpas_dbus_bss_prop { +-- +1.7.4-rc1 + + diff --git a/wpa_supplicant.changes b/wpa_supplicant.changes index 8fc3914..a41f6a6 100644 --- a/wpa_supplicant.changes +++ b/wpa_supplicant.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Wed Mar 16 21:22:58 UTC 2011 - dimstar@opensuse.org + +- Add wpa_supplicant-dbus-events.patch: Emit property changed + events when adding/removing BSSes. Required by NetworkManager + 0.9 beta1 and later. +- Also install fi.w1.wpa_supplicant1.service, which was added as + source5, sourced from the wpa_supplicant source code, with + modified exec line pointing to /usr/sbin instead of /sbin. + ------------------------------------------------------------------- Tue Sep 7 23:08:14 CEST 2010 - vbotka@suse.de diff --git a/wpa_supplicant.spec b/wpa_supplicant.spec index 4360be5..99d556c 100644 --- a/wpa_supplicant.spec +++ b/wpa_supplicant.spec @@ -31,6 +31,7 @@ Source1: config Source2: %{name}.conf Source3: fi.epitest.hostap.WPASupplicant.service Source4: logrotate.wpa_supplicant +Source5: fi.w1.wpa_supplicant1.service Patch0: wpa_supplicant-driver-wext-debug.patch # wpa_supplicant-flush-debug-output.patch won't go upstream as it might # change timings @@ -39,6 +40,8 @@ Patch1: wpa_supplicant-flush-debug-output.patch # is not portable Patch2: wpa_supplicant-sigusr1-changes-debuglevel.patch Patch4: wpa_supplicant-errormsg.patch +# PATCH-FIX-UPSTREAM wpa_supplicant-dbus-events.patch dimstar@opensuse.org -- dbus: Emit property changed events when adding/removing BSSes, taken from git. +Patch5: wpa_supplicant-dbus-events.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: logrotate @@ -76,6 +79,7 @@ cp %{SOURCE1} wpa_supplicant/.config %patch1 -p0 %patch2 -p0 %patch4 -p0 +%patch5 -p1 %build cd wpa_supplicant @@ -95,6 +99,7 @@ install -d %{buildroot}/%{_sysconfdir}/%{name} install -m 0600 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name} install -d %{buildroot}/%{_datadir}/dbus-1/system-services install -m 0644 %{SOURCE3} %{buildroot}/%{_datadir}/dbus-1/system-services +install -m 0644 %{SOURCE5} %{buildroot}/%{_datadir}/dbus-1/system-services install -d %{buildroot}/%{_sysconfdir}/logrotate.d/ install -m 644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/logrotate.d/wpa_supplicant install -d %{buildroot}/%{_localstatedir}/run/%{name}