Rebuild against libnl3

This commit is contained in:
Dan Williams 2012-03-02 16:29:12 -06:00
parent cbc1a0f900
commit 661e6b910e
5 changed files with 25 additions and 49 deletions

View File

@ -1,43 +0,0 @@
From 5187ff694dfc9823460b8dea1bb74a7a30d2e58c Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Thu, 2 Feb 2012 15:43:25 -0600
Subject: [PATCH] Fall back to other drivers if global init for one driver
fails
Driver global init was considered a hard failure. Thus if, for
example, you used the Broadcom STA driver and didn't have nl80211
or cfg80211 loaded into the kernel, and specified a driver value
of "nl80211,wext", the nl80211 driver's global init would fail
with the following message:
nl80211: 'nl80211' generic netlink not found
Failed to initialize driver 'nl80211'
but since global init was a hard failure, creating the supplicant
interface would fail and the WEXT driver would not be tried.
Give other drivers a chance instead.
---
wpa_supplicant/wpa_supplicant.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index ee5ca8d..6320918 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1941,8 +1941,11 @@ static int wpa_supplicant_set_driver(struct wpa_supplicant *wpa_s,
for (i = 0; wpa_drivers[i]; i++) {
if (os_strlen(wpa_drivers[i]->name) == len &&
os_strncmp(driver, wpa_drivers[i]->name, len) ==
- 0)
- return select_driver(wpa_s, i);
+ 0) {
+ /* First driver that succeeds wins */
+ if (select_driver(wpa_s, i) == 0)
+ return 0;
+ }
}
driver = pos + 1;
--
1.7.7.6

View File

@ -3,6 +3,7 @@ CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
CONFIG_DRIVER_WEXT=y
CONFIG_LIBNL32=y
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WIRED=y
CONFIG_IEEE8021X_EAPOL=y

12
libnl3-includes.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo wpa_supplicant-1.0-rc2/src/drivers/drivers.mak
--- wpa_supplicant-1.0-rc2/src/drivers/drivers.mak.foo 2012-03-02 16:11:43.176448714 -0600
+++ wpa_supplicant-1.0-rc2/src/drivers/drivers.mak 2012-03-02 16:12:29.759866341 -0600
@@ -48,7 +48,7 @@ NEED_RFKILL=y
ifdef CONFIG_LIBNL32
DRV_LIBS += -lnl-3
DRV_LIBS += -lnl-genl-3
- DRV_CFLAGS += -DCONFIG_LIBNL20
+ DRV_CFLAGS += -DCONFIG_LIBNL20 `pkg-config --cflags libnl-3.0`
else
ifdef CONFIG_LIBNL_TINY
DRV_LIBS += -lnl-tiny

View File

@ -1 +1 @@
f2f90dfa7341e64dc3ac6766f49b3cb4 wpa_supplicant-1.0-rc2.tar.gz
eb3495560baa793f67c423409cc1fd5b wpa_supplicant-1.0-rc2.git20120302.tar.gz

View File

@ -1,13 +1,14 @@
%define rcver -rc2
%define snapshot .git20120302
Summary: WPA/WPA2/IEEE 802.1X Supplicant
Name: wpa_supplicant
Epoch: 1
Version: 1.0
Release: 0.2%{?dist}
Release: 0.3%{?dist}
License: BSD
Group: System Environment/Base
Source0: http://w1.fi/releases/%{name}-%{version}%{rcver}.tar.gz
Source0: http://w1.fi/releases/%{name}-%{version}%{rcver}%{snapshot}.tar.gz
Source1: build-config
Source2: %{name}.conf
Source3: %{name}.service
@ -37,7 +38,8 @@ Patch5: wpa_supplicant-openssl-more-algs.patch
Patch6: wpa_supplicant-gui-qt4.patch
# Need <unistd.h> for getopt
Patch7: wpa_supplicant-1.0-wpagui-getopt.patch
Patch8: 0001-Fall-back-to-other-drivers-if-global-init-for-one-dr.patch
# Fix libnl3 includes path
Patch8: libnl3-includes.patch
# Dirty hack for WiMAX
# http://linuxwimax.org/Download?action=AttachFile&do=get&target=wpa-1.5-README.txt
Patch100: wpa_supplicant-0.7.2-generate-libeap-peer.patch
@ -50,7 +52,7 @@ BuildRequires: qt-devel >= 4.0
BuildRequires: openssl-devel
BuildRequires: readline-devel
BuildRequires: dbus-devel
BuildRequires: libnl-devel
BuildRequires: libnl3-devel
BuildRequires: systemd-units
Requires(post): systemd-sysv
Requires(post): systemd-units
@ -102,7 +104,7 @@ Don't use this unless you know what you're doing.
%patch5 -p1 -b .more-openssl-algs
%patch6 -p1 -b .qt4
%patch7 -p1 -b .getopt
%patch8 -p1 -b .drv-fallback
%patch8 -p1 -b .libnl3
%build
pushd wpa_supplicant
@ -227,6 +229,10 @@ fi
%postun -n libeap -p /sbin/ldconfig
%changelog
* Fri Mar 2 2012 Dan Williams <dcbw@redhat.com> - 1:1.0-0.3
- Update to latest 1.0 git snapshot
- Rebuild against libnl3
* Thu Feb 2 2012 Dan Williams <dcbw@redhat.com> - 1:1.0-0.2
- Fix driver fallback for non nl80211-based drivers (rh #783712)