- Backport 'frequency' option for Ad-Hoc network configs

This commit is contained in:
Daniel Williams 2007-12-25 23:44:56 +00:00
parent 0e97297861
commit 27ff85c0e9
2 changed files with 88 additions and 1 deletions

View File

@ -0,0 +1,75 @@
diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
index 6a21bbc..10c454f 100644
--- a/wpa_supplicant/config.c
+++ b/wpa_supplicant/config.c
@@ -1157,7 +1157,8 @@ static const struct parse_data ssid_fiel
#ifdef CONFIG_IEEE80211W
{ INT_RANGE(ieee80211w, 0, 2) },
#endif /* CONFIG_IEEE80211W */
- { INT_RANGE(peerkey, 0, 1) }
+ { INT_RANGE(peerkey, 0, 1) },
+ { INT_RANGE(frequency, 0, 10000) }
};
#undef OFFSETdiff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
index d4c3654..393f750 100644
--- a/wpa_supplicant/config_ssid.h
+++ b/wpa_supplicant/config_ssid.h
@@ -851,6 +851,18 @@ struct wpa_ssid {
IEEE80211W_REQUIRED = 2
} ieee80211w;
#endif /* CONFIG_IEEE80211W */
+
+ /**
+ * frequency - Channel frequency in megahertz (MHz) for IBSS
+ *
+ * This value is used to configure the initial channel for IBSS (adhoc)
+ * networks, e.g., 2412 = IEEE 802.11b/g channel 1. It is ignored in
+ * the infrastructure mode. In addition, this value is only used by the
+ * station that creates the IBSS. If an IBSS network with the
+ * configured SSID is already present, the frequency of the network
+ * will be used instead of this configured value.
+ */
+ int frequency;
};
int wpa_config_allowed_eap_method(struct wpa_ssid *ssid, int vendor,
diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c
index d5342fe..35ddbcd 100644
--- a/wpa_supplicant/wpa_supplicant.c
+++ b/wpa_supplicant/wpa_supplicant.c
@@ -1468,6 +1468,8 @@ void wpa_supplicant_associate(struct wpa_supplicant *wpa_s,
params.ssid = ssid->ssid;
params.ssid_len = ssid->ssid_len;
}
+ if (ssid->mode == 1 && ssid->frequency > 0 && params.freq == 0)
+ params.freq = ssid->frequency; /* Initial channel for IBSS */
params.wpa_ie = wpa_ie;
params.wpa_ie_len = wpa_ie_len;
params.pairwise_suite = cipher_pairwise;
diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf
index dce9d87..ec8b0ee 100644
--- a/wpa_supplicant/wpa_supplicant.conf
+++ b/wpa_supplicant/wpa_supplicant.conf
@@ -192,6 +192,13 @@ fast_reauth=1
# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
# both), and psk must also be set.
#
+# frequency: Channel frequency in megahertz (MHz) for IBSS, e.g.,
+# 2412 = IEEE 802.11b/g channel 1. This value is used to configure the initial
+# channel for IBSS (adhoc) networks. It is ignored in the infrastructure mode.
+# In addition, this value is only used by the station that creates the IBSS. If
+# an IBSS network with the configured SSID is already present, the frequency of
+# the network will be used instead of this configured value.
+#
# proto: list of accepted protocols
# WPA = WPA/IEEE 802.11i/D3.0
# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
@@ -657,6 +664,7 @@ network={
network={
ssid="test adhoc"
mode=1
+ frequency=2412
proto=WPA
key_mgmt=WPA-NONE
pairwise=NONE

View File

@ -2,7 +2,7 @@ Summary: WPA/WPA2/IEEE 802.1X Supplicant
Name: wpa_supplicant
Epoch: 1
Version: 0.5.7
Release: 20%{?dist}
Release: 21%{?dist}
License: BSD
Group: System Environment/Base
Source0: http://hostap.epitest.fi/releases/%{name}-%{version}.tar.gz
@ -17,19 +17,27 @@ Patch0: wpa_supplicant-assoc-timeout.patch
Patch1: wpa_supplicant-driver-wext-debug.patch
Patch2: wpa_supplicant-wep-key-fix.patch
# http://hostap.epitest.fi/bugz/show_bug.cgi?id=192
# Upstream
Patch3: wpa_supplicant-fix-deprecated-dbus-function.patch
# Upstream
Patch4: wpa_supplicant-0.5.7-debug-file.patch
Patch5: wpa_supplicant-0.5.7-qmake-location.patch
# Upstream
Patch6: wpa_supplicant-0.5.7-flush-debug-output.patch
# Rejected by upstream
Patch7: wpa_supplicant-0.5.7-sigusr1-changes-debuglevel.patch
Patch8: wpa_supplicant-0.5.7-always-scan.patch
# Upstream
Patch9: wpa_supplicant-0.5.7-dbus-iface-segfault-fix.patch
Patch10: wpa_supplicant-0.5.7-dbus-blobs.patch
Patch11: wpa_supplicant-0.5.7-dbus-permissions-fix.patch
Patch12: wpa_supplicant-0.5.7-ignore-dup-ca-cert-addition.patch
# Upstream
Patch13: wpa_supplicant-0.5.7-fix-dynamic-wep-with-mac80211.patch
Patch14: wpa_supplicant-0.5.7-use-IW_ENCODE_TEMP.patch
# Upstream
Patch15: wpa_supplicant-0.5.7-fix-signal-leaks.patch
Patch16: wpa_supplicant-0.5.9-adhoc-frequency.patch
URL: http://w1.fi/wpa_supplicant/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -72,6 +80,7 @@ Graphical User Interface for wpa_supplicant written using QT3
%patch13 -p1 -b .fix-dynamic-wep-with-mac80211
%patch14 -p1 -b .use-IW_ENCODE_TEMP
%patch15 -p1 -b .signal-leak-fixes
%patch16 -p2 -b .adhoc-freq
%build
cp %{SOURCE1} ./.config
@ -160,6 +169,9 @@ fi
%{_bindir}/wpa_gui
%changelog
* Tue Dec 25 2007 Dan Williams <dcbw@redhat.com> - 0.5.7-21
- Backport 'frequency' option for Ad-Hoc network configs
* Mon Dec 24 2007 Dan Williams <dcbw@redhat.com> - 0.5.7-20
- Fix LSB initscript header to ensure 'messagebus' is started first (rh #244029)