From 41db567455a283a26e9fda82a5da3d44288122f3 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 3 Apr 2012 16:51:28 +0200 Subject: update libnl to 3.2 --- package/hostapd/Makefile | 23 +-- package/hostapd/files/hostapd.config | 229 ++++++++++++++++++++- package/hostapd/files/hostapd.config.full | 176 ---------------- .../hostapd/patches/001-fix-bssid-generation.patch | 141 ------------- 4 files changed, 231 insertions(+), 338 deletions(-) delete mode 100644 package/hostapd/files/hostapd.config.full delete mode 100644 package/hostapd/patches/001-fix-bssid-generation.patch (limited to 'package/hostapd') diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile index dcbae2ad3..7b3fe5852 100644 --- a/package/hostapd/Makefile +++ b/package/hostapd/Makefile @@ -4,9 +4,10 @@ include ${TOPDIR}/rules.mk PKG_NAME:= hostapd -PKG_VERSION:= 0.7.3 +# git version from 03.04.2012 +PKG_VERSION:= 1.0 PKG_RELEASE:= 1 -PKG_MD5SUM:= 91a7c8d0f090b7104152d3455a84c112 +PKG_MD5SUM:= 2a93bb1ecfcdf23a9d7db1f272e5e764 PKG_DESCR:= an IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator PKG_SECTION:= wifi PKG_DEPENDS:= libnl @@ -24,9 +25,6 @@ PKGCD_WITH_GNUTLS:= use GnuTLS for crypto PKGCS_WITH_GNUTLS:= libgnutls PKGCB_WITH_GNUTLS:= gnutls -PKG_FLAVOURS_HOSTAPD:= WITH_DEBUG -PKGFD_WITH_DEBUG:= enable support for hostapd debugging - WRKSRC= ${WRKDIST}/${PKG_NAME} include ${TOPDIR}/mk/package.mk @@ -37,16 +35,13 @@ $(eval $(call PKG_template,HOSTAPD_UTILS,hostapd-utils,${PKG_VERSION}-${PKG_RELE CONFIG_STYLE:= manual INSTALL_STYLE:= manual +TARGET_CFLAGS+= -I$(STAGING_DIR)/usr/include/libnl3 + do-configure: - #${CP} ./files/hostapd.config ${WRKBUILD}/.config - ${CP} ./files/hostapd.config.full ${WRKBUILD}/.config -#ifneq (${ADK_PACKAGE_HOSTAPD_WITH_GNUTLS},) -# ${SED} "s#openssl#gnutls#" ${WRKBUILD}/.config -#endif -#ifneq (${ADK_PACKAGE_HOSTAPD_WITH_DEBUG},) -# ${SED} "s#CONFIG_NO_STDOUT_DEBUG=y#CONFIG_NO_STDOUT_DEBUG=n#" \ -# ${WRKBUILD}/.config -#endif + ${CP} ./files/hostapd.config ${WRKBUILD}/.config +ifneq (${ADK_PACKAGE_HOSTAPD_WITH_GNUTLS},) + ${SED} "s#openssl#gnutls#" ${WRKBUILD}/.config +endif do-install: ${INSTALL_DIR} ${IDIR_HOSTAPD_UTILS}/usr/sbin diff --git a/package/hostapd/files/hostapd.config b/package/hostapd/files/hostapd.config index 205482fc5..8ef0c6efd 100644 --- a/package/hostapd/files/hostapd.config +++ b/package/hostapd/files/hostapd.config @@ -9,28 +9,243 @@ # be modified from here. In most cass, these lines should use += in order not # to override previous values of the variables. -# use openssl by default -CONFIG_TLS=openssl +# Driver interface for Host AP driver +CONFIG_DRIVER_HOSTAP=y + +# Driver interface for wired authenticator +#CONFIG_DRIVER_WIRED=y + +# Driver interface for madwifi driver +#CONFIG_DRIVER_MADWIFI=y +#CFLAGS += -I../../madwifi # change to the madwifi source directory # Driver interface for drivers using the nl80211 kernel interface CONFIG_DRIVER_NL80211=y +CONFIG_LIBNL32=y + +# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) +#CONFIG_DRIVER_BSD=y +#CFLAGS += -I/usr/local/include +#LIBS += -L/usr/local/lib +#LIBS_p += -L/usr/local/lib +#LIBS_c += -L/usr/local/lib + +# Driver interface for no driver (e.g., RADIUS server only) +#CONFIG_DRIVER_NONE=y + +# IEEE 802.11F/IAPP +CONFIG_IAPP=y + +# WPA2/IEEE 802.11i RSN pre-authentication +CONFIG_RSN_PREAUTH=y + +# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) +CONFIG_PEERKEY=y + +# IEEE 802.11w (management frame protection) +# This version is an experimental implementation based on IEEE 802.11w/D1.0 +# draft and is subject to change since the standard has not yet been finalized. +# Driver support is also needed for IEEE 802.11w. +#CONFIG_IEEE80211W=y + +# Integrated EAP server +#CONFIG_EAP=y + +# EAP-MD5 for the integrated EAP server +#CONFIG_EAP_MD5=y + +# EAP-TLS for the integrated EAP server +#CONFIG_EAP_TLS=y + +# EAP-MSCHAPv2 for the integrated EAP server +#CONFIG_EAP_MSCHAPV2=y + +# EAP-PEAP for the integrated EAP server +#CONFIG_EAP_PEAP=y + +# EAP-GTC for the integrated EAP server +#CONFIG_EAP_GTC=y + +# EAP-TTLS for the integrated EAP server +#CONFIG_EAP_TTLS=y + +# EAP-SIM for the integrated EAP server +#CONFIG_EAP_SIM=y + +# EAP-AKA for the integrated EAP server +#CONFIG_EAP_AKA=y + +# EAP-AKA' for the integrated EAP server +# This requires CONFIG_EAP_AKA to be enabled, too. +#CONFIG_EAP_AKA_PRIME=y + +# EAP-PAX for the integrated EAP server +#CONFIG_EAP_PAX=y + +# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) +#CONFIG_EAP_PSK=y + +# EAP-pwd for the integrated EAP server (secure authentication with a password) +#CONFIG_EAP_PWD=y + +# EAP-SAKE for the integrated EAP server +#CONFIG_EAP_SAKE=y + +# EAP-GPSK for the integrated EAP server +#CONFIG_EAP_GPSK=y +# Include support for optional SHA256 cipher suite in EAP-GPSK +#CONFIG_EAP_GPSK_SHA256=y + +# EAP-FAST for the integrated EAP server +# Note: Default OpenSSL package does not include support for all the +# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, +# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) +# to add the needed functions. +#CONFIG_EAP_FAST=y + +# Wi-Fi Protected Setup (WPS) +#CONFIG_WPS=y +# Enable WSC 2.0 support +#CONFIG_WPS2=y +# Enable UPnP support for external WPS Registrars +#CONFIG_WPS_UPNP=y + +# EAP-IKEv2 +#CONFIG_EAP_IKEV2=y + +# Trusted Network Connect (EAP-TNC) +#CONFIG_EAP_TNC=y + +# PKCS#12 (PFX) support (used to read private key and certificate file from +# a file that usually has extension .p12 or .pfx) +CONFIG_PKCS12=y + +# RADIUS authentication server. This provides access to the integrated EAP +# server from external hosts using RADIUS. +#CONFIG_RADIUS_SERVER=y + +# Build IPv6 support for RADIUS operations +CONFIG_IPV6=y + +# IEEE Std 802.11r-2008 (Fast BSS Transition) +#CONFIG_IEEE80211R=y + +# Use the hostapd's IEEE 802.11 authentication (ACL), but without +# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) +#CONFIG_DRIVER_RADIUS_ACL=y + +# IEEE 802.11n (High Throughput) support +#CONFIG_IEEE80211N=y # Remove debugging code that is printing out debug messages to stdout. # This can be used to reduce the size of the hostapd considerably if debugging # code is not needed. CONFIG_NO_STDOUT_DEBUG=y +# Add support for writing debug log to a file: -f /tmp/hostapd.log +# Disabled by default. +#CONFIG_DEBUG_FILE=y + # Remove support for RADIUS accounting -CONFIG_NO_ACCOUNTING=y +#CONFIG_NO_ACCOUNTING=y # Remove support for RADIUS -CONFIG_NO_RADIUS=y +#CONFIG_NO_RADIUS=y # Remove support for VLANs -CONFIG_NO_VLAN=y +#CONFIG_NO_VLAN=y + +# Enable support for fully dynamic VLANs. This enables hostapd to +# automatically create bridge and VLAN interfaces if necessary. +#CONFIG_FULL_DYNAMIC_VLAN=y # Remove support for dumping state into a file on SIGUSR1 signal # This can be used to reduce binary size at the cost of disabling a debugging # option. -CONFIG_NO_DUMP_STATE=y -CONFIG_LIBNL20=y +#CONFIG_NO_DUMP_STATE=y + +# Enable tracing code for developer debugging +# This tracks use of memory allocations and other registrations and reports +# incorrect use with a backtrace of call (or allocation) location. +#CONFIG_WPA_TRACE=y +# For BSD, comment out these. +#LIBS += -lexecinfo +#LIBS_p += -lexecinfo +#LIBS_c += -lexecinfo + +# Use libbfd to get more details for developer debugging +# This enables use of libbfd to get more detailed symbols for the backtraces +# generated by CONFIG_WPA_TRACE=y. +#CONFIG_WPA_TRACE_BFD=y +# For BSD, comment out these. +#LIBS += -lbfd -liberty -lz +#LIBS_p += -lbfd -liberty -lz +#LIBS_c += -lbfd -liberty -lz + +# hostapd depends on strong random number generation being available from the +# operating system. os_get_random() function is used to fetch random data when +# needed, e.g., for key generation. On Linux and BSD systems, this works by +# reading /dev/urandom. It should be noted that the OS entropy pool needs to be +# properly initialized before hostapd is started. This is important especially +# on embedded devices that do not have a hardware random number generator and +# may by default start up with minimal entropy available for random number +# generation. +# +# As a safety net, hostapd is by default trying to internally collect +# additional entropy for generating random data to mix in with the data +# fetched from the OS. This by itself is not considered to be very strong, but +# it may help in cases where the system pool is not initialized properly. +# However, it is very strongly recommended that the system pool is initialized +# with enough entropy either by using hardware assisted random number +# generator or by storing state over device reboots. +# +# hostapd can be configured to maintain its own entropy store over restarts to +# enhance random number generation. This is not perfect, but it is much more +# secure than using the same sequence of random numbers after every reboot. +# This can be enabled with -e command line option. The specified +# file needs to be readable and writable by hostapd. +# +# If the os_get_random() is known to provide strong random data (e.g., on +# Linux/BSD, the board in question is known to have reliable source of random +# data from /dev/urandom), the internal hostapd random pool can be disabled. +# This will save some in binary size and CPU use. However, this should only be +# considered for builds that are known to be used on devices that meet the +# requirements described above. +#CONFIG_NO_RANDOM_POOL=y + +# Select TLS implementation +# openssl = OpenSSL (default) +# gnutls = GnuTLS +# internal = Internal TLSv1 implementation (experimental) +# none = Empty template +CONFIG_TLS=openssl + +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) +# can be enabled to get a stronger construction of messages when block ciphers +# are used. +#CONFIG_TLSV11=y + +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) +# can be enabled to enable use of stronger crypto algorithms. +#CONFIG_TLSV12=y + +# If CONFIG_TLS=internal is used, additional library and include paths are +# needed for LibTomMath. Alternatively, an integrated, minimal version of +# LibTomMath can be used. See beginning of libtommath.c for details on benefits +# and drawbacks of this option. +#CONFIG_INTERNAL_LIBTOMMATH=y +#ifndef CONFIG_INTERNAL_LIBTOMMATH +#LTM_PATH=/usr/src/libtommath-0.39 +#CFLAGS += -I$(LTM_PATH) +#LIBS += -L$(LTM_PATH) +#LIBS_p += -L$(LTM_PATH) +#endif +# At the cost of about 4 kB of additional binary size, the internal LibTomMath +# can be configured to include faster routines for exptmod, sqr, and div to +# speed up DH and RSA calculation considerably +#CONFIG_INTERNAL_LIBTOMMATH_FAST=y + +# Interworking (IEEE 802.11u) +# This can be used to enable functionality to improve interworking with +# external networks. +#CONFIG_INTERWORKING=y diff --git a/package/hostapd/files/hostapd.config.full b/package/hostapd/files/hostapd.config.full deleted file mode 100644 index c558ac916..000000000 --- a/package/hostapd/files/hostapd.config.full +++ /dev/null @@ -1,176 +0,0 @@ -# Example hostapd build time configuration -# -# This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. -# -# This file is included in Makefile, so variables like CFLAGS and LIBS can also -# be modified from here. In most cass, these lines should use += in order not -# to override previous values of the variables. - -# Driver interface for Host AP driver -#CONFIG_DRIVER_HOSTAP=y - -# Driver interface for wired authenticator -#CONFIG_DRIVER_WIRED=y - -# Driver interface for madwifi driver -#CONFIG_DRIVER_MADWIFI=y -#CFLAGS += -I../../madwifi # change to the madwifi source directory - -# Driver interface for drivers using the nl80211 kernel interface -CONFIG_DRIVER_NL80211=y -# driver_nl80211.c requires a rather new libnl (version 1.1) which may not be -# shipped with your distribution yet. If that is the case, you need to build -# newer libnl version and point the hostapd build to use it. -#LIBNL=/usr/src/libnl -#CFLAGS += -I$(LIBNL)/include -#LIBS += -L$(LIBNL)/lib -CONFIG_LIBNL20=y - -# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -#CONFIG_DRIVER_BSD=y -#CFLAGS += -I/usr/local/include -#LIBS += -L/usr/local/lib -#LIBS_p += -L/usr/local/lib -#LIBS_c += -L/usr/local/lib - -# Driver interface for no driver (e.g., RADIUS server only) -#CONFIG_DRIVER_NONE=y - -# IEEE 802.11F/IAPP -CONFIG_IAPP=y - -# WPA2/IEEE 802.11i RSN pre-authentication -CONFIG_RSN_PREAUTH=y - -# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - -# IEEE 802.11w (management frame protection) -# This version is an experimental implementation based on IEEE 802.11w/D1.0 -# draft and is subject to change since the standard has not yet been finalized. -# Driver support is also needed for IEEE 802.11w. -#CONFIG_IEEE80211W=y - -# Integrated EAP server -#CONFIG_EAP=y - -# EAP-MD5 for the integrated EAP server -#CONFIG_EAP_MD5=y - -# EAP-TLS for the integrated EAP server -#CONFIG_EAP_TLS=y - -# EAP-MSCHAPv2 for the integrated EAP server -#CONFIG_EAP_MSCHAPV2=y - -# EAP-PEAP for the integrated EAP server -#CONFIG_EAP_PEAP=y - -# EAP-GTC for the integrated EAP server -#CONFIG_EAP_GTC=y - -# EAP-TTLS for the integrated EAP server -#CONFIG_EAP_TTLS=y - -# EAP-SIM for the integrated EAP server -#CONFIG_EAP_SIM=y - -# EAP-AKA for the integrated EAP server -#CONFIG_EAP_AKA=y - -# EAP-AKA' for the integrated EAP server -# This requires CONFIG_EAP_AKA to be enabled, too. -#CONFIG_EAP_AKA_PRIME=y - -# EAP-PAX for the integrated EAP server -#CONFIG_EAP_PAX=y - -# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -#CONFIG_EAP_PSK=y - -# EAP-SAKE for the integrated EAP server -#CONFIG_EAP_SAKE=y - -# EAP-GPSK for the integrated EAP server -#CONFIG_EAP_GPSK=y -# Include support for optional SHA256 cipher suite in EAP-GPSK -#CONFIG_EAP_GPSK_SHA256=y - -# EAP-FAST for the integrated EAP server -# Note: Default OpenSSL package does not include support for all the -# functionality needed for EAP-FAST. If EAP-FAST is enabled with OpenSSL, -# the OpenSSL library must be patched (openssl-0.9.9-session-ticket.patch) -# to add the needed functions. -#CONFIG_EAP_FAST=y - -# Wi-Fi Protected Setup (WPS) -#CONFIG_WPS=y -# Enable UPnP support for external WPS Registrars -#CONFIG_WPS_UPNP=y - -# EAP-IKEv2 -#CONFIG_EAP_IKEV2=y - -# Trusted Network Connect (EAP-TNC) -#CONFIG_EAP_TNC=y - -# PKCS#12 (PFX) support (used to read private key and certificate file from -# a file that usually has extension .p12 or .pfx) -#CONFIG_PKCS12=y - -# RADIUS authentication server. This provides access to the integrated EAP -# server from external hosts using RADIUS. -#CONFIG_RADIUS_SERVER=y - -# Build IPv6 support for RADIUS operations -CONFIG_IPV6=y - -# IEEE Std 802.11r-2008 (Fast BSS Transition) -#CONFIG_IEEE80211R=y - -# Use the hostapd's IEEE 802.11 authentication (ACL), but without -# the IEEE 802.11 Management capability (e.g., madwifi or FreeBSD/net80211) -#CONFIG_DRIVER_RADIUS_ACL=y - -# IEEE 802.11n (High Throughput) support -CONFIG_IEEE80211N=y - -# Remove debugging code that is printing out debug messages to stdout. -# This can be used to reduce the size of the hostapd considerably if debugging -# code is not needed. -#CONFIG_NO_STDOUT_DEBUG=y - -# Remove support for RADIUS accounting -#CONFIG_NO_ACCOUNTING=y - -# Remove support for RADIUS -CONFIG_NO_RADIUS=y - -# Remove support for VLANs -#CONFIG_NO_VLAN=y - -# Remove support for dumping state into a file on SIGUSR1 signal -# This can be used to reduce binary size at the cost of disabling a debugging -# option. -#CONFIG_NO_DUMP_STATE=y - -# Enable tracing code for developer debugging -# This tracks use of memory allocations and other registrations and reports -# incorrect use with a backtrace of call (or allocation) location. -#CONFIG_WPA_TRACE=y -# For BSD, comment out these. -#LIBS += -lexecinfo -#LIBS_p += -lexecinfo -#LIBS_c += -lexecinfo - -# Use libbfd to get more details for developer debugging -# This enables use of libbfd to get more detailed symbols for the backtraces -# generated by CONFIG_WPA_TRACE=y. -#CONFIG_WPA_TRACE_BFD=y -# For BSD, comment out these. -#LIBS += -lbfd -liberty -lz -#LIBS_p += -lbfd -liberty -lz -#LIBS_c += -lbfd -liberty -lz diff --git a/package/hostapd/patches/001-fix-bssid-generation.patch b/package/hostapd/patches/001-fix-bssid-generation.patch deleted file mode 100644 index ca328e5aa..000000000 --- a/package/hostapd/patches/001-fix-bssid-generation.patch +++ /dev/null @@ -1,141 +0,0 @@ -Modified algorithm for generating BSSIDs. Always set locally -administered bit. Calculate the mask after calculating the -BSSIDs. This eliminates the "Invalid BSSID mask" caused when -addr & mask != addr. - -Signed-off-by: Bill Jordan rajant.com> ---- -Taken from http://permalink.gmane.org/gmane.linux.drivers.hostap/22207 ---- - src/ap/hostapd.c | 74 ++++++------------------------------------------------ - 1 files changed, 8 insertions(+), 66 deletions(-) - -diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c -index f4517f8..1dc6b66 100644 ---- a/src/ap/hostapd.c -+++ b/src/ap/hostapd.c -@@ -360,70 +360,26 @@ static int hostapd_validate_bssid_configuration(struct hostapd_iface *iface) - { - u8 mask[ETH_ALEN] = { 0 }; - struct hostapd_data *hapd = iface->bss[0]; -- unsigned int i = iface->conf->num_bss, bits = 0, j; -+ unsigned int i, j; - int res; -- int auto_addr = 0; - - if (hostapd_drv_none(hapd)) - return 0; - - /* Generate BSSID mask that is large enough to cover the BSSIDs. */ - -- /* Determine the bits necessary to cover the number of BSSIDs. */ -- for (i--; i; i >>= 1) -- bits++; -- - /* Determine the bits necessary to any configured BSSIDs, - if they are higher than the number of BSSIDs. */ - for (j = 0; j < iface->conf->num_bss; j++) { -- if (hostapd_mac_comp_empty(iface->conf->bss[j].bssid) == 0) { -- if (j) -- auto_addr++; -- continue; -- } -- - for (i = 0; i < ETH_ALEN; i++) { - mask[i] |= -- iface->conf->bss[j].bssid[i] ^ -+ iface->bss[j]->conf->bssid[i] ^ - hapd->own_addr[i]; - } - } - -- if (!auto_addr) -- goto skip_mask_ext; -- -- for (i = 0; i < ETH_ALEN && mask[i] == 0; i++) -- ; -- j = 0; -- if (i < ETH_ALEN) { -- j = (5 - i) * 8; -- -- while (mask[i] != 0) { -- mask[i] >>= 1; -- j++; -- } -- } -- -- if (bits < j) -- bits = j; -- -- if (bits > 40) { -- wpa_printf(MSG_ERROR, "Too many bits in the BSSID mask (%u)", -- bits); -- return -1; -- } -- -- os_memset(mask, 0xff, ETH_ALEN); -- j = bits / 8; -- for (i = 5; i > 5 - j; i--) -- mask[i] = 0; -- j = bits % 8; -- while (j--) -- mask[i] <<= 1; -- --skip_mask_ext: -- wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR " (%d bits)", -- (unsigned long) iface->conf->num_bss, MAC2STR(mask), bits); -+ wpa_printf(MSG_DEBUG, "BSS count %lu, BSSID mask " MACSTR , -+ (unsigned long) iface->conf->num_bss, MAC2STR(mask)); - - res = hostapd_valid_bss_mask(hapd, hapd->own_addr, mask); - if (res == 0) -@@ -436,21 +392,6 @@ skip_mask_ext: - return -1; - } - -- if (!auto_addr) -- return 0; -- -- for (i = 0; i < ETH_ALEN; i++) { -- if ((hapd->own_addr[i] & mask[i]) != hapd->own_addr[i]) { -- wpa_printf(MSG_ERROR, "Invalid BSSID mask " MACSTR -- " for start address " MACSTR ".", -- MAC2STR(mask), MAC2STR(hapd->own_addr)); -- wpa_printf(MSG_ERROR, "Start address must be the " -- "first address in the block (i.e., addr " -- "AND mask == addr)."); -- return -1; -- } -- } -- - return 0; - } - -@@ -492,6 +433,7 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first) - if (!first) { - if (hostapd_mac_comp_empty(hapd->conf->bssid) == 0) { - /* Allocate the next available BSSID. */ -+ hapd->own_addr[0] |= 2; /* locally administered address */ - do { - inc_byte_array(hapd->own_addr, ETH_ALEN); - } while (mac_in_conf(hapd->iconf, hapd->own_addr)); -@@ -672,9 +614,6 @@ static int setup_interface(struct hostapd_iface *iface) - iface->bss[i]->drv_priv = hapd->drv_priv; - } - -- if (hostapd_validate_bssid_configuration(iface)) -- return -1; -- - if (hapd->iconf->country[0] && hapd->iconf->country[1]) { - os_memcpy(country, hapd->iconf->country, 3); - country[3] = '\0'; -@@ -774,6 +713,9 @@ int hostapd_setup_interface_complete(struct hostapd_iface *iface, int err) - prev_addr = hapd->own_addr; - } - -+ if (hostapd_validate_bssid_configuration(iface)) -+ return -1; -+ - hostapd_tx_queue_params(iface); - - ap_list_init(iface); -- cgit v1.2.3