parent
7b60501ccc
commit
7a399e8938
3311
0001-dbus-clean-up-new-D-Bus-interface-getters-setters.patch
Normal file
3311
0001-dbus-clean-up-new-D-Bus-interface-getters-setters.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,47 +0,0 @@
|
|||||||
commit 8ee69e06336d65b15364f4db82d91775d0fe47c6
|
|
||||||
Author: Paul Stewart <pstew@google.com>
|
|
||||||
Date: Sat Oct 9 17:29:51 2010 +0300
|
|
||||||
|
|
||||||
dbus_new_handlers: Don't send NULL to dbus_message_new_error
|
|
||||||
|
|
||||||
The new DBus API helper function wpas_dbus_error_unknown_error
|
|
||||||
function can be called as a result of a failure within internal
|
|
||||||
getter calls, which will call this function with a NULL message
|
|
||||||
parameter. However, dbus_message_new_error looks very unkindly
|
|
||||||
(i.e, abort()) on a NULL message, so in this case, we should not
|
|
||||||
call it.
|
|
||||||
|
|
||||||
I've observed this course of events during a call to
|
|
||||||
wpas_dbus_getter_bss_wpa with a faileld parse of the IE parameter.
|
|
||||||
We got here through a call to fill_dict_with_properties which
|
|
||||||
explicitly calls getters with a NULL message parameter. Judging
|
|
||||||
from the way it is called, this could easily occur if an AP sends
|
|
||||||
out a malformed (or mis-received) probe response. I usually run
|
|
||||||
into this problem while driving through San Francisco, so I'm
|
|
||||||
exposed to any number of base stations along this path.
|
|
||||||
|
|
||||||
diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c
|
|
||||||
index 73f4e44..0ad51a0 100644
|
|
||||||
--- a/wpa_supplicant/dbus/dbus_new_handlers.c
|
|
||||||
+++ b/wpa_supplicant/dbus/dbus_new_handlers.c
|
|
||||||
@@ -117,6 +117,20 @@ static char * wpas_dbus_new_decompose_object_path(const char *path,
|
|
||||||
DBusMessage * wpas_dbus_error_unknown_error(DBusMessage *message,
|
|
||||||
const char *arg)
|
|
||||||
{
|
|
||||||
+ /*
|
|
||||||
+ * This function can be called as a result of a failure
|
|
||||||
+ * within internal getter calls, which will call this function
|
|
||||||
+ * with a NULL message parameter. However, dbus_message_new_error
|
|
||||||
+ * looks very unkindly (i.e, abort()) on a NULL message, so
|
|
||||||
+ * in this case, we should not call it.
|
|
||||||
+ */
|
|
||||||
+ if (message == NULL) {
|
|
||||||
+ wpa_printf(MSG_INFO, "dbus: wpas_dbus_error_unknown_error "
|
|
||||||
+ "called with NULL message (arg=%s)",
|
|
||||||
+ arg ? arg : "N/A");
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return dbus_message_new_error(message, WPAS_DBUS_ERROR_UNKNOWN_ERROR,
|
|
||||||
arg);
|
|
||||||
}
|
|
@ -2,7 +2,7 @@ Summary: WPA/WPA2/IEEE 802.1X Supplicant
|
|||||||
Name: wpa_supplicant
|
Name: wpa_supplicant
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 0.7.3
|
Version: 0.7.3
|
||||||
Release: 8%{?dist}
|
Release: 9%{?dist}
|
||||||
License: BSD
|
License: BSD
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Source0: http://w1.fi/releases/%{name}-%{version}.tar.gz
|
Source0: http://w1.fi/releases/%{name}-%{version}.tar.gz
|
||||||
@ -36,7 +36,7 @@ Patch6: wpa_supplicant-gui-qt4.patch
|
|||||||
# Send PropertyChanged notificationes when the BSS list changes
|
# Send PropertyChanged notificationes when the BSS list changes
|
||||||
Patch7: wpa_supplicant-bss-changed-prop-notify.patch
|
Patch7: wpa_supplicant-bss-changed-prop-notify.patch
|
||||||
# Don't crash trying to pass NULL to dbus
|
# Don't crash trying to pass NULL to dbus
|
||||||
Patch8: wpa_supplicant-dbus-null-error.patch
|
Patch8: 0001-dbus-clean-up-new-D-Bus-interface-getters-setters.patch
|
||||||
# Dirty hack for WiMAX
|
# Dirty hack for WiMAX
|
||||||
# http://linuxwimax.org/Download?action=AttachFile&do=get&target=wpa-1.5-README.txt
|
# http://linuxwimax.org/Download?action=AttachFile&do=get&target=wpa-1.5-README.txt
|
||||||
Patch100: wpa_supplicant-0.7.2-generate-libeap-peer.patch
|
Patch100: wpa_supplicant-0.7.2-generate-libeap-peer.patch
|
||||||
@ -97,7 +97,7 @@ Don't use this unless you know what you're doing.
|
|||||||
%patch5 -p1 -b .more-openssl-algs
|
%patch5 -p1 -b .more-openssl-algs
|
||||||
%patch6 -p1 -b .qt4
|
%patch6 -p1 -b .qt4
|
||||||
%patch7 -p1 -b .bss-changed-prop-notify
|
%patch7 -p1 -b .bss-changed-prop-notify
|
||||||
%patch8 -p1 -b .dbus-null
|
%patch8 -p1 -b .dbus-rework
|
||||||
|
|
||||||
%build
|
%build
|
||||||
pushd wpa_supplicant
|
pushd wpa_supplicant
|
||||||
@ -214,6 +214,9 @@ fi
|
|||||||
%postun -n libeap -p /sbin/ldconfig
|
%postun -n libeap -p /sbin/ldconfig
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 27 2011 Dan Williams <dcbw@redhat.com> - 1:0.7.3-9
|
||||||
|
- Fix various crashes with D-Bus interface (rh #678625) (rh #725517)
|
||||||
|
|
||||||
* Tue May 3 2011 Dan Williams <dcbw@redhat.com> - 1:0.7.3-8
|
* Tue May 3 2011 Dan Williams <dcbw@redhat.com> - 1:0.7.3-8
|
||||||
- Don't crash when trying to access invalid properties via D-Bus (rh #678625)
|
- Don't crash when trying to access invalid properties via D-Bus (rh #678625)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user