Removed copies of hostapd/wpa to prepare for branch merge
authorJohn Marino <draco@marino.st>
Wed, 28 May 2014 10:50:04 +0000 (12:50 +0200)
committerJohn Marino <draco@marino.st>
Wed, 28 May 2014 15:20:23 +0000 (17:20 +0200)
The contrib directories for hostapd and wpa_supplicant were just
copies of their respective vendor branches.  They were never merged
into the master branch.

To prepare for their first merging, let's remove the existing copies of
these two contrib subdirectories completely to avoid conflicts.

This is the first of four steps to update WPA Supplicant in base.
Step 2: Merge in hostapd and wpa_supplicant vendor branches (ver 2.1)
Step 3: Add local modifications to hostapd and wpa_supplicant
Step 4: Update makefile and conf files accordingly

704 files changed:
contrib/hostapd/COPYING [deleted file]
contrib/hostapd/README [deleted file]
contrib/hostapd/README.DELETED [deleted file]
contrib/hostapd/README.DRAGONFLY [deleted file]
contrib/hostapd/hostapd/ChangeLog [deleted file]
contrib/hostapd/hostapd/README [deleted file]
contrib/hostapd/hostapd/README-WPS [deleted file]
contrib/hostapd/hostapd/accounting.c [deleted file]
contrib/hostapd/hostapd/accounting.h [deleted file]
contrib/hostapd/hostapd/ap.h [deleted file]
contrib/hostapd/hostapd/ap_list.c [deleted file]
contrib/hostapd/hostapd/ap_list.h [deleted file]
contrib/hostapd/hostapd/beacon.c [deleted file]
contrib/hostapd/hostapd/beacon.h [deleted file]
contrib/hostapd/hostapd/config.c [deleted file]
contrib/hostapd/hostapd/config.h [deleted file]
contrib/hostapd/hostapd/ctrl_iface.c [deleted file]
contrib/hostapd/hostapd/ctrl_iface.h [deleted file]
contrib/hostapd/hostapd/driver.h [deleted file]
contrib/hostapd/hostapd/driver_atheros.c [deleted file]
contrib/hostapd/hostapd/driver_bsd.c [deleted file]
contrib/hostapd/hostapd/driver_hostap.c [deleted file]
contrib/hostapd/hostapd/driver_madwifi.c [deleted file]
contrib/hostapd/hostapd/driver_nl80211.c [deleted file]
contrib/hostapd/hostapd/driver_none.c [deleted file]
contrib/hostapd/hostapd/driver_prism54.c [deleted file]
contrib/hostapd/hostapd/driver_test.c [deleted file]
contrib/hostapd/hostapd/driver_wired.c [deleted file]
contrib/hostapd/hostapd/drivers.c [deleted file]
contrib/hostapd/hostapd/eapol_sm.c [deleted file]
contrib/hostapd/hostapd/eapol_sm.h [deleted file]
contrib/hostapd/hostapd/hostap_common.h [deleted file]
contrib/hostapd/hostapd/hostapd.c [deleted file]
contrib/hostapd/hostapd/hostapd.h [deleted file]
contrib/hostapd/hostapd/hostapd_cli.c [deleted file]
contrib/hostapd/hostapd/hw_features.c [deleted file]
contrib/hostapd/hostapd/hw_features.h [deleted file]
contrib/hostapd/hostapd/iapp.c [deleted file]
contrib/hostapd/hostapd/iapp.h [deleted file]
contrib/hostapd/hostapd/ieee802_11.c [deleted file]
contrib/hostapd/hostapd/ieee802_11.h [deleted file]
contrib/hostapd/hostapd/ieee802_11_auth.c [deleted file]
contrib/hostapd/hostapd/ieee802_11_auth.h [deleted file]
contrib/hostapd/hostapd/ieee802_1x.c [deleted file]
contrib/hostapd/hostapd/ieee802_1x.h [deleted file]
contrib/hostapd/hostapd/logwatch/README [deleted file]
contrib/hostapd/hostapd/mlme.c [deleted file]
contrib/hostapd/hostapd/mlme.h [deleted file]
contrib/hostapd/hostapd/nt_password_hash.c [deleted file]
contrib/hostapd/hostapd/peerkey.c [deleted file]
contrib/hostapd/hostapd/pmksa_cache.c [deleted file]
contrib/hostapd/hostapd/pmksa_cache.h [deleted file]
contrib/hostapd/hostapd/preauth.c [deleted file]
contrib/hostapd/hostapd/preauth.h [deleted file]
contrib/hostapd/hostapd/prism54.h [deleted file]
contrib/hostapd/hostapd/priv_netlink.h [deleted file]
contrib/hostapd/hostapd/radiotap.c [deleted file]
contrib/hostapd/hostapd/radiotap.h [deleted file]
contrib/hostapd/hostapd/radiotap_iter.h [deleted file]
contrib/hostapd/hostapd/sta_info.c [deleted file]
contrib/hostapd/hostapd/sta_info.h [deleted file]
contrib/hostapd/hostapd/vlan_init.c [deleted file]
contrib/hostapd/hostapd/vlan_init.h [deleted file]
contrib/hostapd/hostapd/wme.c [deleted file]
contrib/hostapd/hostapd/wme.h [deleted file]
contrib/hostapd/hostapd/wpa.c [deleted file]
contrib/hostapd/hostapd/wpa.h [deleted file]
contrib/hostapd/hostapd/wpa_auth_i.h [deleted file]
contrib/hostapd/hostapd/wpa_auth_ie.c [deleted file]
contrib/hostapd/hostapd/wpa_auth_ie.h [deleted file]
contrib/hostapd/hostapd/wpa_ft.c [deleted file]
contrib/hostapd/hostapd/wps_hostapd.c [deleted file]
contrib/hostapd/hostapd/wps_hostapd.h [deleted file]
contrib/hostapd/patches/openssl-0.9.8-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.8d-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.8e-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.8g-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.8h-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.8i-tls-extensions.patch [deleted file]
contrib/hostapd/patches/openssl-0.9.9-session-ticket.patch [deleted file]
contrib/hostapd/src/common/defs.h [deleted file]
contrib/hostapd/src/common/eapol_common.h [deleted file]
contrib/hostapd/src/common/ieee802_11_common.c [deleted file]
contrib/hostapd/src/common/ieee802_11_common.h [deleted file]
contrib/hostapd/src/common/ieee802_11_defs.h [deleted file]
contrib/hostapd/src/common/nl80211_copy.h [deleted file]
contrib/hostapd/src/common/privsep_commands.h [deleted file]
contrib/hostapd/src/common/version.h [deleted file]
contrib/hostapd/src/common/wireless_copy.h [deleted file]
contrib/hostapd/src/common/wpa_common.c [deleted file]
contrib/hostapd/src/common/wpa_common.h [deleted file]
contrib/hostapd/src/common/wpa_ctrl.c [deleted file]
contrib/hostapd/src/common/wpa_ctrl.h [deleted file]
contrib/hostapd/src/crypto/aes.c [deleted file]
contrib/hostapd/src/crypto/aes.h [deleted file]
contrib/hostapd/src/crypto/aes_wrap.c [deleted file]
contrib/hostapd/src/crypto/aes_wrap.h [deleted file]
contrib/hostapd/src/crypto/crypto.h [deleted file]
contrib/hostapd/src/crypto/crypto_cryptoapi.c [deleted file]
contrib/hostapd/src/crypto/crypto_gnutls.c [deleted file]
contrib/hostapd/src/crypto/crypto_internal.c [deleted file]
contrib/hostapd/src/crypto/crypto_libtomcrypt.c [deleted file]
contrib/hostapd/src/crypto/crypto_none.c [deleted file]
contrib/hostapd/src/crypto/crypto_openssl.c [deleted file]
contrib/hostapd/src/crypto/des.c [deleted file]
contrib/hostapd/src/crypto/dh_groups.c [deleted file]
contrib/hostapd/src/crypto/dh_groups.h [deleted file]
contrib/hostapd/src/crypto/md4.c [deleted file]
contrib/hostapd/src/crypto/md5.c [deleted file]
contrib/hostapd/src/crypto/md5.h [deleted file]
contrib/hostapd/src/crypto/ms_funcs.c [deleted file]
contrib/hostapd/src/crypto/ms_funcs.h [deleted file]
contrib/hostapd/src/crypto/rc4.c [deleted file]
contrib/hostapd/src/crypto/rc4.h [deleted file]
contrib/hostapd/src/crypto/sha1.c [deleted file]
contrib/hostapd/src/crypto/sha1.h [deleted file]
contrib/hostapd/src/crypto/sha256.c [deleted file]
contrib/hostapd/src/crypto/sha256.h [deleted file]
contrib/hostapd/src/crypto/tls.h [deleted file]
contrib/hostapd/src/crypto/tls_gnutls.c [deleted file]
contrib/hostapd/src/crypto/tls_internal.c [deleted file]
contrib/hostapd/src/crypto/tls_none.c [deleted file]
contrib/hostapd/src/crypto/tls_openssl.c [deleted file]
contrib/hostapd/src/crypto/tls_schannel.c [deleted file]
contrib/hostapd/src/drivers/Apple80211.h [deleted file]
contrib/hostapd/src/drivers/MobileApple80211.c [deleted file]
contrib/hostapd/src/drivers/MobileApple80211.h [deleted file]
contrib/hostapd/src/drivers/driver.h [deleted file]
contrib/hostapd/src/drivers/driver_atmel.c [deleted file]
contrib/hostapd/src/drivers/driver_broadcom.c [deleted file]
contrib/hostapd/src/drivers/driver_bsd.c [deleted file]
contrib/hostapd/src/drivers/driver_hostap.c [deleted file]
contrib/hostapd/src/drivers/driver_hostap.h [deleted file]
contrib/hostapd/src/drivers/driver_ipw.c [deleted file]
contrib/hostapd/src/drivers/driver_madwifi.c [deleted file]
contrib/hostapd/src/drivers/driver_ndis.c [deleted file]
contrib/hostapd/src/drivers/driver_ndis.h [deleted file]
contrib/hostapd/src/drivers/driver_ndis_.c [deleted file]
contrib/hostapd/src/drivers/driver_ndiswrapper.c [deleted file]
contrib/hostapd/src/drivers/driver_nl80211.c [deleted file]
contrib/hostapd/src/drivers/driver_prism54.c [deleted file]
contrib/hostapd/src/drivers/driver_privsep.c [deleted file]
contrib/hostapd/src/drivers/driver_ps3.c [deleted file]
contrib/hostapd/src/drivers/driver_ralink.c [deleted file]
contrib/hostapd/src/drivers/driver_ralink.h [deleted file]
contrib/hostapd/src/drivers/driver_roboswitch.c [deleted file]
contrib/hostapd/src/drivers/driver_test.c [deleted file]
contrib/hostapd/src/drivers/driver_wext.c [deleted file]
contrib/hostapd/src/drivers/driver_wext.h [deleted file]
contrib/hostapd/src/drivers/driver_wired.c [deleted file]
contrib/hostapd/src/drivers/drivers.c [deleted file]
contrib/hostapd/src/drivers/ndis_events.c [deleted file]
contrib/hostapd/src/drivers/priv_netlink.h [deleted file]
contrib/hostapd/src/drivers/radiotap.c [deleted file]
contrib/hostapd/src/drivers/radiotap.h [deleted file]
contrib/hostapd/src/drivers/radiotap_iter.h [deleted file]
contrib/hostapd/src/drivers/scan_helpers.c [deleted file]
contrib/hostapd/src/eap_common/chap.c [deleted file]
contrib/hostapd/src/eap_common/chap.h [deleted file]
contrib/hostapd/src/eap_common/eap_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_defs.h [deleted file]
contrib/hostapd/src/eap_common/eap_fast_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_fast_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_gpsk_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_gpsk_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_ikev2_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_ikev2_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_pax_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_pax_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_peap_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_peap_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_psk_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_psk_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_sake_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_sake_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_sim_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_sim_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_tlv_common.h [deleted file]
contrib/hostapd/src/eap_common/eap_ttls.h [deleted file]
contrib/hostapd/src/eap_common/eap_wsc_common.c [deleted file]
contrib/hostapd/src/eap_common/eap_wsc_common.h [deleted file]
contrib/hostapd/src/eap_common/ikev2_common.c [deleted file]
contrib/hostapd/src/eap_common/ikev2_common.h [deleted file]
contrib/hostapd/src/eap_peer/eap.c [deleted file]
contrib/hostapd/src/eap_peer/eap.h [deleted file]
contrib/hostapd/src/eap_peer/eap_aka.c [deleted file]
contrib/hostapd/src/eap_peer/eap_config.h [deleted file]
contrib/hostapd/src/eap_peer/eap_fast.c [deleted file]
contrib/hostapd/src/eap_peer/eap_fast_pac.c [deleted file]
contrib/hostapd/src/eap_peer/eap_fast_pac.h [deleted file]
contrib/hostapd/src/eap_peer/eap_gpsk.c [deleted file]
contrib/hostapd/src/eap_peer/eap_gtc.c [deleted file]
contrib/hostapd/src/eap_peer/eap_i.h [deleted file]
contrib/hostapd/src/eap_peer/eap_ikev2.c [deleted file]
contrib/hostapd/src/eap_peer/eap_leap.c [deleted file]
contrib/hostapd/src/eap_peer/eap_md5.c [deleted file]
contrib/hostapd/src/eap_peer/eap_methods.c [deleted file]
contrib/hostapd/src/eap_peer/eap_methods.h [deleted file]
contrib/hostapd/src/eap_peer/eap_mschapv2.c [deleted file]
contrib/hostapd/src/eap_peer/eap_otp.c [deleted file]
contrib/hostapd/src/eap_peer/eap_pax.c [deleted file]
contrib/hostapd/src/eap_peer/eap_peap.c [deleted file]
contrib/hostapd/src/eap_peer/eap_psk.c [deleted file]
contrib/hostapd/src/eap_peer/eap_sake.c [deleted file]
contrib/hostapd/src/eap_peer/eap_sim.c [deleted file]
contrib/hostapd/src/eap_peer/eap_tls.c [deleted file]
contrib/hostapd/src/eap_peer/eap_tls_common.c [deleted file]
contrib/hostapd/src/eap_peer/eap_tls_common.h [deleted file]
contrib/hostapd/src/eap_peer/eap_tnc.c [deleted file]
contrib/hostapd/src/eap_peer/eap_ttls.c [deleted file]
contrib/hostapd/src/eap_peer/eap_vendor_test.c [deleted file]
contrib/hostapd/src/eap_peer/eap_wsc.c [deleted file]
contrib/hostapd/src/eap_peer/ikev2.c [deleted file]
contrib/hostapd/src/eap_peer/ikev2.h [deleted file]
contrib/hostapd/src/eap_peer/mschapv2.c [deleted file]
contrib/hostapd/src/eap_peer/mschapv2.h [deleted file]
contrib/hostapd/src/eap_peer/tncc.c [deleted file]
contrib/hostapd/src/eap_peer/tncc.h [deleted file]
contrib/hostapd/src/eap_server/eap.c [deleted file]
contrib/hostapd/src/eap_server/eap.h [deleted file]
contrib/hostapd/src/eap_server/eap_aka.c [deleted file]
contrib/hostapd/src/eap_server/eap_fast.c [deleted file]
contrib/hostapd/src/eap_server/eap_gpsk.c [deleted file]
contrib/hostapd/src/eap_server/eap_gtc.c [deleted file]
contrib/hostapd/src/eap_server/eap_i.h [deleted file]
contrib/hostapd/src/eap_server/eap_identity.c [deleted file]
contrib/hostapd/src/eap_server/eap_ikev2.c [deleted file]
contrib/hostapd/src/eap_server/eap_md5.c [deleted file]
contrib/hostapd/src/eap_server/eap_methods.c [deleted file]
contrib/hostapd/src/eap_server/eap_methods.h [deleted file]
contrib/hostapd/src/eap_server/eap_mschapv2.c [deleted file]
contrib/hostapd/src/eap_server/eap_pax.c [deleted file]
contrib/hostapd/src/eap_server/eap_peap.c [deleted file]
contrib/hostapd/src/eap_server/eap_psk.c [deleted file]
contrib/hostapd/src/eap_server/eap_sake.c [deleted file]
contrib/hostapd/src/eap_server/eap_sim.c [deleted file]
contrib/hostapd/src/eap_server/eap_sim_db.c [deleted file]
contrib/hostapd/src/eap_server/eap_sim_db.h [deleted file]
contrib/hostapd/src/eap_server/eap_tls.c [deleted file]
contrib/hostapd/src/eap_server/eap_tls_common.c [deleted file]
contrib/hostapd/src/eap_server/eap_tls_common.h [deleted file]
contrib/hostapd/src/eap_server/eap_tnc.c [deleted file]
contrib/hostapd/src/eap_server/eap_ttls.c [deleted file]
contrib/hostapd/src/eap_server/eap_vendor_test.c [deleted file]
contrib/hostapd/src/eap_server/eap_wsc.c [deleted file]
contrib/hostapd/src/eap_server/ikev2.c [deleted file]
contrib/hostapd/src/eap_server/ikev2.h [deleted file]
contrib/hostapd/src/eap_server/tncs.c [deleted file]
contrib/hostapd/src/eap_server/tncs.h [deleted file]
contrib/hostapd/src/eapol_supp/eapol_supp_sm.c [deleted file]
contrib/hostapd/src/eapol_supp/eapol_supp_sm.h [deleted file]
contrib/hostapd/src/hlr_auc_gw/hlr_auc_gw.c [deleted file]
contrib/hostapd/src/hlr_auc_gw/milenage.c [deleted file]
contrib/hostapd/src/hlr_auc_gw/milenage.h [deleted file]
contrib/hostapd/src/l2_packet/l2_packet.h [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_freebsd.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_linux.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_ndis.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_none.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_pcap.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_privsep.c [deleted file]
contrib/hostapd/src/l2_packet/l2_packet_winpcap.c [deleted file]
contrib/hostapd/src/radius/radius.c [deleted file]
contrib/hostapd/src/radius/radius.h [deleted file]
contrib/hostapd/src/radius/radius_client.c [deleted file]
contrib/hostapd/src/radius/radius_client.h [deleted file]
contrib/hostapd/src/radius/radius_server.c [deleted file]
contrib/hostapd/src/radius/radius_server.h [deleted file]
contrib/hostapd/src/rsn_supp/peerkey.c [deleted file]
contrib/hostapd/src/rsn_supp/peerkey.h [deleted file]
contrib/hostapd/src/rsn_supp/pmksa_cache.c [deleted file]
contrib/hostapd/src/rsn_supp/pmksa_cache.h [deleted file]
contrib/hostapd/src/rsn_supp/preauth.c [deleted file]
contrib/hostapd/src/rsn_supp/preauth.h [deleted file]
contrib/hostapd/src/rsn_supp/wpa.c [deleted file]
contrib/hostapd/src/rsn_supp/wpa.h [deleted file]
contrib/hostapd/src/rsn_supp/wpa_ft.c [deleted file]
contrib/hostapd/src/rsn_supp/wpa_i.h [deleted file]
contrib/hostapd/src/rsn_supp/wpa_ie.c [deleted file]
contrib/hostapd/src/rsn_supp/wpa_ie.h [deleted file]
contrib/hostapd/src/tls/asn1.c [deleted file]
contrib/hostapd/src/tls/asn1.h [deleted file]
contrib/hostapd/src/tls/asn1_test.c [deleted file]
contrib/hostapd/src/tls/bignum.c [deleted file]
contrib/hostapd/src/tls/bignum.h [deleted file]
contrib/hostapd/src/tls/libtommath.c [deleted file]
contrib/hostapd/src/tls/rsa.c [deleted file]
contrib/hostapd/src/tls/rsa.h [deleted file]
contrib/hostapd/src/tls/tlsv1_client.c [deleted file]
contrib/hostapd/src/tls/tlsv1_client.h [deleted file]
contrib/hostapd/src/tls/tlsv1_client_i.h [deleted file]
contrib/hostapd/src/tls/tlsv1_client_read.c [deleted file]
contrib/hostapd/src/tls/tlsv1_client_write.c [deleted file]
contrib/hostapd/src/tls/tlsv1_common.c [deleted file]
contrib/hostapd/src/tls/tlsv1_common.h [deleted file]
contrib/hostapd/src/tls/tlsv1_cred.c [deleted file]
contrib/hostapd/src/tls/tlsv1_cred.h [deleted file]
contrib/hostapd/src/tls/tlsv1_record.c [deleted file]
contrib/hostapd/src/tls/tlsv1_record.h [deleted file]
contrib/hostapd/src/tls/tlsv1_server.c [deleted file]
contrib/hostapd/src/tls/tlsv1_server.h [deleted file]
contrib/hostapd/src/tls/tlsv1_server_i.h [deleted file]
contrib/hostapd/src/tls/tlsv1_server_read.c [deleted file]
contrib/hostapd/src/tls/tlsv1_server_write.c [deleted file]
contrib/hostapd/src/tls/x509v3.c [deleted file]
contrib/hostapd/src/tls/x509v3.h [deleted file]
contrib/hostapd/src/utils/base64.c [deleted file]
contrib/hostapd/src/utils/base64.h [deleted file]
contrib/hostapd/src/utils/build_config.h [deleted file]
contrib/hostapd/src/utils/common.c [deleted file]
contrib/hostapd/src/utils/common.h [deleted file]
contrib/hostapd/src/utils/eloop.c [deleted file]
contrib/hostapd/src/utils/eloop.h [deleted file]
contrib/hostapd/src/utils/eloop_none.c [deleted file]
contrib/hostapd/src/utils/eloop_win.c [deleted file]
contrib/hostapd/src/utils/includes.h [deleted file]
contrib/hostapd/src/utils/ip_addr.c [deleted file]
contrib/hostapd/src/utils/ip_addr.h [deleted file]
contrib/hostapd/src/utils/os.h [deleted file]
contrib/hostapd/src/utils/os_internal.c [deleted file]
contrib/hostapd/src/utils/os_none.c [deleted file]
contrib/hostapd/src/utils/os_unix.c [deleted file]
contrib/hostapd/src/utils/os_win32.c [deleted file]
contrib/hostapd/src/utils/pcsc_funcs.c [deleted file]
contrib/hostapd/src/utils/pcsc_funcs.h [deleted file]
contrib/hostapd/src/utils/state_machine.h [deleted file]
contrib/hostapd/src/utils/uuid.c [deleted file]
contrib/hostapd/src/utils/uuid.h [deleted file]
contrib/hostapd/src/utils/wpa_debug.c [deleted file]
contrib/hostapd/src/utils/wpa_debug.h [deleted file]
contrib/hostapd/src/utils/wpabuf.c [deleted file]
contrib/hostapd/src/utils/wpabuf.h [deleted file]
contrib/hostapd/src/wps/httpread.c [deleted file]
contrib/hostapd/src/wps/httpread.h [deleted file]
contrib/hostapd/src/wps/wps.c [deleted file]
contrib/hostapd/src/wps/wps.h [deleted file]
contrib/hostapd/src/wps/wps_attr_build.c [deleted file]
contrib/hostapd/src/wps/wps_attr_parse.c [deleted file]
contrib/hostapd/src/wps/wps_attr_process.c [deleted file]
contrib/hostapd/src/wps/wps_common.c [deleted file]
contrib/hostapd/src/wps/wps_defs.h [deleted file]
contrib/hostapd/src/wps/wps_dev_attr.c [deleted file]
contrib/hostapd/src/wps/wps_dev_attr.h [deleted file]
contrib/hostapd/src/wps/wps_enrollee.c [deleted file]
contrib/hostapd/src/wps/wps_i.h [deleted file]
contrib/hostapd/src/wps/wps_registrar.c [deleted file]
contrib/hostapd/src/wps/wps_upnp.c [deleted file]
contrib/hostapd/src/wps/wps_upnp.h [deleted file]
contrib/hostapd/src/wps/wps_upnp_event.c [deleted file]
contrib/hostapd/src/wps/wps_upnp_i.h [deleted file]
contrib/hostapd/src/wps/wps_upnp_ssdp.c [deleted file]
contrib/hostapd/src/wps/wps_upnp_web.c [deleted file]
contrib/wpa_supplicant/COPYING [deleted file]
contrib/wpa_supplicant/README [deleted file]
contrib/wpa_supplicant/README.DELETED [deleted file]
contrib/wpa_supplicant/README.DRAGONFLY [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8d-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8e-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8g-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8h-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.8i-tls-extensions.patch [deleted file]
contrib/wpa_supplicant/patches/openssl-0.9.9-session-ticket.patch [deleted file]
contrib/wpa_supplicant/src/common/defs.h [deleted file]
contrib/wpa_supplicant/src/common/eapol_common.h [deleted file]
contrib/wpa_supplicant/src/common/ieee802_11_common.c [deleted file]
contrib/wpa_supplicant/src/common/ieee802_11_common.h [deleted file]
contrib/wpa_supplicant/src/common/ieee802_11_defs.h [deleted file]
contrib/wpa_supplicant/src/common/nl80211_copy.h [deleted file]
contrib/wpa_supplicant/src/common/privsep_commands.h [deleted file]
contrib/wpa_supplicant/src/common/version.h [deleted file]
contrib/wpa_supplicant/src/common/wireless_copy.h [deleted file]
contrib/wpa_supplicant/src/common/wpa_common.c [deleted file]
contrib/wpa_supplicant/src/common/wpa_common.h [deleted file]
contrib/wpa_supplicant/src/common/wpa_ctrl.c [deleted file]
contrib/wpa_supplicant/src/common/wpa_ctrl.h [deleted file]
contrib/wpa_supplicant/src/crypto/aes.c [deleted file]
contrib/wpa_supplicant/src/crypto/aes.h [deleted file]
contrib/wpa_supplicant/src/crypto/aes_wrap.c [deleted file]
contrib/wpa_supplicant/src/crypto/aes_wrap.h [deleted file]
contrib/wpa_supplicant/src/crypto/crypto.h [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_cryptoapi.c [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_gnutls.c [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_internal.c [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_libtomcrypt.c [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_none.c [deleted file]
contrib/wpa_supplicant/src/crypto/crypto_openssl.c [deleted file]
contrib/wpa_supplicant/src/crypto/des.c [deleted file]
contrib/wpa_supplicant/src/crypto/dh_groups.c [deleted file]
contrib/wpa_supplicant/src/crypto/dh_groups.h [deleted file]
contrib/wpa_supplicant/src/crypto/md4.c [deleted file]
contrib/wpa_supplicant/src/crypto/md5.c [deleted file]
contrib/wpa_supplicant/src/crypto/md5.h [deleted file]
contrib/wpa_supplicant/src/crypto/ms_funcs.c [deleted file]
contrib/wpa_supplicant/src/crypto/ms_funcs.h [deleted file]
contrib/wpa_supplicant/src/crypto/rc4.c [deleted file]
contrib/wpa_supplicant/src/crypto/rc4.h [deleted file]
contrib/wpa_supplicant/src/crypto/sha1.c [deleted file]
contrib/wpa_supplicant/src/crypto/sha1.h [deleted file]
contrib/wpa_supplicant/src/crypto/sha256.c [deleted file]
contrib/wpa_supplicant/src/crypto/sha256.h [deleted file]
contrib/wpa_supplicant/src/crypto/tls.h [deleted file]
contrib/wpa_supplicant/src/crypto/tls_gnutls.c [deleted file]
contrib/wpa_supplicant/src/crypto/tls_internal.c [deleted file]
contrib/wpa_supplicant/src/crypto/tls_none.c [deleted file]
contrib/wpa_supplicant/src/crypto/tls_openssl.c [deleted file]
contrib/wpa_supplicant/src/crypto/tls_schannel.c [deleted file]
contrib/wpa_supplicant/src/drivers/Apple80211.h [deleted file]
contrib/wpa_supplicant/src/drivers/MobileApple80211.c [deleted file]
contrib/wpa_supplicant/src/drivers/MobileApple80211.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver_atmel.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_broadcom.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_bsd.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_hostap.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_hostap.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ipw.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_madwifi.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ndis.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ndis.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ndis_.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ndiswrapper.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_nl80211.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_prism54.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_privsep.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ps3.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ralink.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_ralink.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver_roboswitch.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_test.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_wext.c [deleted file]
contrib/wpa_supplicant/src/drivers/driver_wext.h [deleted file]
contrib/wpa_supplicant/src/drivers/driver_wired.c [deleted file]
contrib/wpa_supplicant/src/drivers/drivers.c [deleted file]
contrib/wpa_supplicant/src/drivers/ndis_events.c [deleted file]
contrib/wpa_supplicant/src/drivers/priv_netlink.h [deleted file]
contrib/wpa_supplicant/src/drivers/radiotap.c [deleted file]
contrib/wpa_supplicant/src/drivers/radiotap.h [deleted file]
contrib/wpa_supplicant/src/drivers/radiotap_iter.h [deleted file]
contrib/wpa_supplicant/src/drivers/scan_helpers.c [deleted file]
contrib/wpa_supplicant/src/eap_common/chap.c [deleted file]
contrib/wpa_supplicant/src/eap_common/chap.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_defs.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_fast_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_fast_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_gpsk_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_gpsk_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_ikev2_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_ikev2_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_pax_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_pax_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_peap_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_peap_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_psk_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_psk_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_sake_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_sake_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_sim_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_sim_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_tlv_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_ttls.h [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_wsc_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/eap_wsc_common.h [deleted file]
contrib/wpa_supplicant/src/eap_common/ikev2_common.c [deleted file]
contrib/wpa_supplicant/src/eap_common/ikev2_common.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_aka.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_config.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_fast.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_fast_pac.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_fast_pac.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_gpsk.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_gtc.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_i.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_ikev2.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_leap.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_md5.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_methods.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_methods.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_mschapv2.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_otp.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_pax.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_peap.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_psk.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_sake.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_sim.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_tls.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_tls_common.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_tls_common.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_tnc.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_ttls.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_vendor_test.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/eap_wsc.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/ikev2.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/ikev2.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/mschapv2.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/mschapv2.h [deleted file]
contrib/wpa_supplicant/src/eap_peer/tncc.c [deleted file]
contrib/wpa_supplicant/src/eap_peer/tncc.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_aka.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_fast.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_gpsk.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_gtc.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_i.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_identity.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_ikev2.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_md5.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_methods.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_methods.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_mschapv2.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_pax.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_peap.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_psk.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_sake.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_sim.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_sim_db.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_sim_db.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_tls.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_tls_common.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_tls_common.h [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_tnc.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_ttls.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_vendor_test.c [deleted file]
contrib/wpa_supplicant/src/eap_server/eap_wsc.c [deleted file]
contrib/wpa_supplicant/src/eap_server/ikev2.c [deleted file]
contrib/wpa_supplicant/src/eap_server/ikev2.h [deleted file]
contrib/wpa_supplicant/src/eap_server/tncs.c [deleted file]
contrib/wpa_supplicant/src/eap_server/tncs.h [deleted file]
contrib/wpa_supplicant/src/eapol_supp/eapol_supp_sm.c [deleted file]
contrib/wpa_supplicant/src/eapol_supp/eapol_supp_sm.h [deleted file]
contrib/wpa_supplicant/src/hlr_auc_gw/hlr_auc_gw.c [deleted file]
contrib/wpa_supplicant/src/hlr_auc_gw/milenage.c [deleted file]
contrib/wpa_supplicant/src/hlr_auc_gw/milenage.h [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet.h [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_freebsd.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_linux.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_ndis.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_none.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_pcap.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_privsep.c [deleted file]
contrib/wpa_supplicant/src/l2_packet/l2_packet_winpcap.c [deleted file]
contrib/wpa_supplicant/src/radius/radius.c [deleted file]
contrib/wpa_supplicant/src/radius/radius.h [deleted file]
contrib/wpa_supplicant/src/radius/radius_client.c [deleted file]
contrib/wpa_supplicant/src/radius/radius_client.h [deleted file]
contrib/wpa_supplicant/src/radius/radius_server.c [deleted file]
contrib/wpa_supplicant/src/radius/radius_server.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/peerkey.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/peerkey.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/pmksa_cache.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/pmksa_cache.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/preauth.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/preauth.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa_ft.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa_i.h [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa_ie.c [deleted file]
contrib/wpa_supplicant/src/rsn_supp/wpa_ie.h [deleted file]
contrib/wpa_supplicant/src/tls/asn1.c [deleted file]
contrib/wpa_supplicant/src/tls/asn1.h [deleted file]
contrib/wpa_supplicant/src/tls/asn1_test.c [deleted file]
contrib/wpa_supplicant/src/tls/bignum.c [deleted file]
contrib/wpa_supplicant/src/tls/bignum.h [deleted file]
contrib/wpa_supplicant/src/tls/libtommath.c [deleted file]
contrib/wpa_supplicant/src/tls/rsa.c [deleted file]
contrib/wpa_supplicant/src/tls/rsa.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_client.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_client.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_client_i.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_client_read.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_client_write.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_common.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_common.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_cred.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_cred.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_record.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_record.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_server.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_server.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_server_i.h [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_server_read.c [deleted file]
contrib/wpa_supplicant/src/tls/tlsv1_server_write.c [deleted file]
contrib/wpa_supplicant/src/tls/x509v3.c [deleted file]
contrib/wpa_supplicant/src/tls/x509v3.h [deleted file]
contrib/wpa_supplicant/src/utils/base64.c [deleted file]
contrib/wpa_supplicant/src/utils/base64.h [deleted file]
contrib/wpa_supplicant/src/utils/build_config.h [deleted file]
contrib/wpa_supplicant/src/utils/common.c [deleted file]
contrib/wpa_supplicant/src/utils/common.h [deleted file]
contrib/wpa_supplicant/src/utils/eloop.c [deleted file]
contrib/wpa_supplicant/src/utils/eloop.h [deleted file]
contrib/wpa_supplicant/src/utils/eloop_none.c [deleted file]
contrib/wpa_supplicant/src/utils/eloop_win.c [deleted file]
contrib/wpa_supplicant/src/utils/includes.h [deleted file]
contrib/wpa_supplicant/src/utils/ip_addr.c [deleted file]
contrib/wpa_supplicant/src/utils/ip_addr.h [deleted file]
contrib/wpa_supplicant/src/utils/os.h [deleted file]
contrib/wpa_supplicant/src/utils/os_internal.c [deleted file]
contrib/wpa_supplicant/src/utils/os_none.c [deleted file]
contrib/wpa_supplicant/src/utils/os_unix.c [deleted file]
contrib/wpa_supplicant/src/utils/pcsc_funcs.c [deleted file]
contrib/wpa_supplicant/src/utils/pcsc_funcs.h [deleted file]
contrib/wpa_supplicant/src/utils/state_machine.h [deleted file]
contrib/wpa_supplicant/src/utils/uuid.c [deleted file]
contrib/wpa_supplicant/src/utils/uuid.h [deleted file]
contrib/wpa_supplicant/src/utils/wpa_debug.c [deleted file]
contrib/wpa_supplicant/src/utils/wpa_debug.h [deleted file]
contrib/wpa_supplicant/src/utils/wpabuf.c [deleted file]
contrib/wpa_supplicant/src/utils/wpabuf.h [deleted file]
contrib/wpa_supplicant/src/wps/httpread.c [deleted file]
contrib/wpa_supplicant/src/wps/httpread.h [deleted file]
contrib/wpa_supplicant/src/wps/wps.c [deleted file]
contrib/wpa_supplicant/src/wps/wps.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_attr_build.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_attr_parse.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_attr_process.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_common.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_defs.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_dev_attr.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_dev_attr.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_enrollee.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_i.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_registrar.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp_event.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp_i.h [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp_ssdp.c [deleted file]
contrib/wpa_supplicant/src/wps/wps_upnp_web.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ChangeLog [deleted file]
contrib/wpa_supplicant/wpa_supplicant/README [deleted file]
contrib/wpa_supplicant/wpa_supplicant/README-WPS [deleted file]
contrib/wpa_supplicant/wpa_supplicant/README-Windows.txt [deleted file]
contrib/wpa_supplicant/wpa_supplicant/blacklist.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/blacklist.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config_file.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config_none.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config_ssid.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/config_winreg.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_dbus.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_dbus.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_dbus_handlers.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_dbus_handlers.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_named_pipe.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_udp.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/ctrl_iface_unix.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/dbus_dict_helpers.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/dbus_dict_helpers.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/eapol_test.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/events.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/main.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/main_none.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/main_winmain.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/main_winsvc.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/mlme.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/mlme.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/preauth_test.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/scan.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/symbian/README.symbian [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/link_test.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_aes.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_eap_sim_common.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_md4.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_md5.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_ms_funcs.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_sha1.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_sha256.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_wpa.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/tests/test_x509v3.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/win_if_list.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_cli.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/addinterface.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/eventhistory.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/icons/README [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/networkconfig.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/scanresults.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/userdatarequest.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/wpagui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui-qt4/wpamsg.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/eventhistory.ui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/networkconfig.ui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/scanresults.ui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/userdatarequest.ui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/wpagui.ui.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_gui/wpamsg.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_passphrase.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_priv.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_supplicant.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpa_supplicant_i.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpas_glue.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wpas_glue.h [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wps_supplicant.c [deleted file]
contrib/wpa_supplicant/wpa_supplicant/wps_supplicant.h [deleted file]

diff --git a/contrib/hostapd/COPYING b/contrib/hostapd/COPYING
deleted file mode 100644 (file)
index 14f5453..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/contrib/hostapd/README b/contrib/hostapd/README
deleted file mode 100644 (file)
index 9c6be85..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-wpa_supplicant and hostapd v0.6.x
----------------------------------
-
-Copyright (c) 2002-2007, Jouni Malinen <j@w1.fi> and contributors
-All Rights Reserved.
-
-These program is dual-licensed under both the GPL version 2 and BSD
-license. Either license may be used at your option.
-
-
-This package may include either wpa_supplicant, hostapd, or both. See
-README file respective subdirectories (wpa_supplicant/README or
-hostapd/README) for more details.
-
-Source code files have been moved around in v0.6.x releases and
-compared to earlier releases, the programs are now build by first
-going to a subdirectory (wpa_supplicant or hostapd) and creating
-build configuration (.config) and running 'make' there (for
-Linux/BSD/cygwin builds).
diff --git a/contrib/hostapd/README.DELETED b/contrib/hostapd/README.DELETED
deleted file mode 100644 (file)
index ff95c0c..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-hostapd/.gitignore
-hostapd/Makefile
-hostapd/defconfig
-hostapd/doc/
-hostapd/eap_testing.txt
-hostapd/hostapd.8
-hostapd/hostapd.accept
-hostapd/hostapd.conf
-hostapd/hostapd.deny
-hostapd/hostapd.eap_user
-hostapd/hostapd.radius_clients
-hostapd/hostapd.sim_db
-hostapd/hostapd.vlan
-hostapd/hostapd.wpa_psk
-hostapd/hostapd_cli.1
-hostapd/logwatch/hostapd
-hostapd/logwatch/hostapd.conf
-hostapd/wired.conf
-src/Makefile
-src/common/Makefile
-src/crypto/Makefile
-src/drivers/Makefile
-src/drivers/driver_iphone.m
-src/drivers/driver_osx.m
-src/eap_common/Makefile
-src/eap_peer/Makefile
-src/eap_server/Makefile
-src/eapol_supp/Makefile
-src/hlr_auc_gw/Makefile
-src/hlr_auc_gw/hlr_auc_gw.milenage_db
-src/l2_packet/Makefile
-src/radius/Makefile
-src/rsn_supp/Makefile
-src/tls/Makefile
-src/utils/Makefile
-src/wps/Makefile
diff --git a/contrib/hostapd/README.DRAGONFLY b/contrib/hostapd/README.DRAGONFLY
deleted file mode 100644 (file)
index 2764448..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-       HOSTAPD-0.6.10 AS USED BY DRAGONFLY
-
-    This directory contains a selected set of files from the
-    hostapd-6.10.tar.gz distribution.  No files have been moved
-    or modified from their extracted position.
-
-    This distribution was downloaded from the following site:
-
-       http://hostap.epitest.fi/hostapd/
-
-       MD5 (hostapd-0.6.10.tar.gz) = 1ac442d1f984273f108b3de579c1b70d
-       SHA1 (hostapd-0.6.10.tar.gz) = 2cacf994abd3cebad36679d32f64c9e9906ccff8
-
-
-    DO NOT CREATE OR EDIT ANY FILES IN THIS DIRECTORY HIERARCHY!  THIS
-    HIERARCHY REPRESENTS AN EXACT COPY, MINUS UNNEEDED FILES, OF THE
-    ORIGINAL ARCHIVE.  All modifications are made on the master branch or in
-    src/usr.sbin/802_11.
-
-    The only additional files added to this directory are README.DRAGONFLY
-    and README.DELETED.
-
-    For mor information, check development(7).
diff --git a/contrib/hostapd/hostapd/ChangeLog b/contrib/hostapd/hostapd/ChangeLog
deleted file mode 100644 (file)
index 18af4b1..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-ChangeLog for hostapd
-
-2010-01-12 - v0.6.10
-       * fixed SHA-256 based key derivation function to match with the
-         standard when using CCMP (for IEEE 802.11r and IEEE 802.11w)
-         (note: this breaks interoperability with previous version) [Bug 307]
-       * fixed WPS selected registrar expiration for internal PIN registrar
-       * disable PMTU discovery for RADIUS packets
-       * fixed WPS UPnP SSDP on 32-bit targets
-       * fixed WPS AP reconfiguration with drivers that do not use hostapd
-         MLME
-       * fixed RSN parameter setting for multi-BSS case
-       * added WPS workarounds for known interoperability issues with broken,
-         deployed implementation
-       * update IEEE 802.11w implementation to match with the published
-         standard
-       * fixed OpCode when proxying WSC_ACK or WSC_NACK from WPS ER
-       * fixed proxying of WSC_NACK to WPS ER
-       * fixed compilation with newer GnuTLS versions
-       * added support for defining timeout for WPS PINs
-       * fixed WPS Probe Request processing to handle missing required
-         attribute
-       * fixed PKCS#12 use with OpenSSL 1.0.0
-
-2009-03-23 - v0.6.9
-       * driver_nl80211: fixed STA accounting data collection (TX/RX bytes
-         reported correctly; TX/RX packets not yet available from kernel)
-       * fixed EAPOL/EAP reauthentication when using an external RADIUS
-         authentication server
-       * driver_prism54: fixed segmentation fault on initialization
-       * fixed TNC with EAP-TTLS
-       * fixed IEEE 802.11r key derivation function to match with the standard
-         (note: this breaks interoperability with previous version) [Bug 303]
-
-2009-02-15 - v0.6.8
-       * increased hostapd_cli ping interval to 5 seconds and made this
-         configurable with a new command line options (-G<seconds>)
-       * driver_nl80211: use Linux socket filter to improve performance
-       * added support for external Registrars with WPS (UPnP transport)
-
-2009-01-06 - v0.6.7
-       * added support for Wi-Fi Protected Setup (WPS)
-         (hostapd can now be configured to act as an integrated WPS Registrar
-         and provision credentials for WPS Enrollees using PIN and PBC
-         methods; external wireless Registrar can configure the AP, but
-         external WLAN Manager Registrars are not supported); WPS support can
-         be enabled by adding CONFIG_WPS=y into .config and setting the
-         runtime configuration variables in hostapd.conf (see WPS section in
-         the example configuration file); new hostapd_cli commands wps_pin and
-         wps_pbc are used to configure WPS negotiation; see README-WPS for
-         more details
-       * added IEEE 802.11n HT capability configuration (ht_capab)
-       * added support for generating Country IE based on nl80211 regulatory
-         information (added if ieee80211d=1 in configuration)
-       * fixed WEP authentication (both Open System and Shared Key) with
-         mac80211
-       * added support for EAP-AKA' (draft-arkko-eap-aka-kdf)
-       * added support for using driver_test over UDP socket
-       * changed EAP-GPSK to use the IANA assigned EAP method type 51
-       * updated management frame protection to use IEEE 802.11w/D7.0
-       * fixed retransmission of EAP requests if no response is received
-
-2008-11-23 - v0.6.6
-       * added a new configuration option, wpa_ptk_rekey, that can be used to
-         enforce frequent PTK rekeying, e.g., to mitigate some attacks against
-         TKIP deficiencies
-       * updated OpenSSL code for EAP-FAST to use an updated version of the
-         session ticket overriding API that was included into the upstream
-         OpenSSL 0.9.9 tree on 2008-11-15 (no additional OpenSSL patch is
-         needed with that version anymore)
-       * changed channel flags configuration to read the information from
-         the driver (e.g., via driver_nl80211 when using mac80211) instead of
-         using hostapd as the source of the regulatory information (i.e.,
-         information from CRDA is now used with mac80211); this allows 5 GHz
-         channels to be used with hostapd (if allowed in the current
-         regulatory domain)
-       * fixed EAP-TLS message processing for the last TLS message if it is
-         large enough to require fragmentation (e.g., if a large Session
-         Ticket data is included)
-       * fixed listen interval configuration for nl80211 drivers
-
-2008-11-01 - v0.6.5
-       * added support for SHA-256 as X.509 certificate digest when using the
-         internal X.509/TLSv1 implementation
-       * fixed EAP-FAST PAC-Opaque padding (0.6.4 broke this for some peer
-         identity lengths)
-       * fixed internal TLSv1 implementation for abbreviated handshake (used
-         by EAP-FAST server)
-       * added support for setting VLAN ID for STAs based on local MAC ACL
-         (accept_mac_file) as an alternative for RADIUS server-based
-         configuration
-       * updated management frame protection to use IEEE 802.11w/D6.0
-         (adds a new association ping to protect against unauthenticated
-         authenticate or (re)associate request frames dropping association)
-       * added support for using SHA256-based stronger key derivation for WPA2
-         (IEEE 802.11w)
-       * added new "driver wrapper" for RADIUS-only configuration
-         (driver=none in hostapd.conf; CONFIG_DRIVER_NONE=y in .config)
-       * fixed WPA/RSN IE validation to verify that the proto (WPA vs. WPA2)
-         is enabled in configuration
-       * changed EAP-FAST configuration to use separate fields for A-ID and
-         A-ID-Info (eap_fast_a_id_info) to allow A-ID to be set to a fixed
-         16-octet len binary value for better interoperability with some peer
-         implementations; eap_fast_a_id is now configured as a hex string
-       * driver_nl80211: Updated to match the current Linux mac80211 AP mode
-         configuration (wireless-testing.git and Linux kernel releases
-         starting from 2.6.29)
-
-2008-08-10 - v0.6.4
-       * added peer identity into EAP-FAST PAC-Opaque and skip Phase 2
-         Identity Request if identity is already known
-       * added support for EAP Sequences in EAP-FAST Phase 2
-       * added support for EAP-TNC (Trusted Network Connect)
-         (this version implements the EAP-TNC method and EAP-TTLS/EAP-FAST
-         changes needed to run two methods in sequence (IF-T) and the IF-IMV
-         and IF-TNCCS interfaces from TNCS)
-       * added support for optional cryptobinding with PEAPv0
-       * added fragmentation support for EAP-TNC
-       * added support for fragmenting EAP-TTLS/PEAP/FAST Phase 2 (tunneled)
-         data
-       * added support for opportunistic key caching (OKC)
-
-2008-02-22 - v0.6.3
-       * fixed Reassociation Response callback processing when using internal
-         MLME (driver_{hostap,nl80211,test}.c)
-       * updated FT support to use the latest draft, IEEE 802.11r/D9.0
-       * copy optional Proxy-State attributes into RADIUS response when acting
-         as a RADIUS authentication server
-       * fixed EAPOL state machine to handle a case in which no response is
-         received from the RADIUS authentication server; previous version
-         could have triggered a crash in some cases after a timeout
-       * fixed EAP-SIM/AKA realm processing to allow decorated usernames to
-         be used
-       * added a workaround for EAP-SIM/AKA peers that include incorrect null
-         termination in the username
-       * fixed EAP-SIM/AKA protected result indication to include AT_COUNTER
-         attribute in notification messages only when using fast
-         reauthentication
-       * fixed EAP-SIM Start response processing for fast reauthentication
-         case
-       * added support for pending EAP processing in EAP-{PEAP,TTLS,FAST}
-         phase 2 to allow EAP-SIM and EAP-AKA to be used as the Phase 2 method
-
-2008-01-01 - v0.6.2
-       * fixed EAP-SIM and EAP-AKA message parser to validate attribute
-         lengths properly to avoid potential crash caused by invalid messages
-       * added data structure for storing allocated buffers (struct wpabuf);
-         this does not affect hostapd usage, but many of the APIs changed
-         and various interfaces (e.g., EAP) is not compatible with old
-         versions
-       * added support for protecting EAP-AKA/Identity messages with
-         AT_CHECKCODE (optional feature in RFC 4187)
-       * added support for protected result indication with AT_RESULT_IND for
-         EAP-SIM and EAP-AKA (eap_sim_aka_result_ind=1)
-       * added support for configuring EAP-TTLS phase 2 non-EAP methods in
-         EAP server configuration; previously all four were enabled for every
-         phase 2 user, now all four are disabled by default and need to be
-         enabled with new method names TTLS-PAP, TTLS-CHAP, TTLS-MSCHAP,
-         TTLS-MSCHAPV2
-       * removed old debug printing mechanism and the related 'debug'
-         parameter in the configuration file; debug verbosity is now set with
-         -d (or -dd) command line arguments
-       * added support for EAP-IKEv2 (draft-tschofenig-eap-ikev2-15.txt);
-         only shared key/password authentication is supported in this version
-
-2007-11-24 - v0.6.1
-       * added experimental, integrated TLSv1 server implementation with the
-         needed X.509/ASN.1/RSA/bignum processing (this can be enabled by
-         setting CONFIG_TLS=internal and CONFIG_INTERNAL_LIBTOMMATH=y in
-         .config); this can be useful, e.g., if the target system does not
-         have a suitable TLS library and a minimal code size is required
-       * added support for EAP-FAST server method to the integrated EAP
-         server
-       * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
-         draft (draft-ietf-emu-eap-gpsk-07.txt)
-       * added a new configuration parameter, rsn_pairwise, to allow different
-         pairwise cipher suites to be enabled for WPA and RSN/WPA2
-         (note: if wpa_pairwise differs from rsn_pairwise, the driver will
-         either need to support this or will have to use the WPA/RSN IEs from
-         hostapd; currently, the included madwifi and bsd driver interfaces do
-         not have support for this)
-       * updated FT support to use the latest draft, IEEE 802.11r/D8.0
-
-2007-05-28 - v0.6.0
-       * added experimental IEEE 802.11r/D6.0 support
-       * updated EAP-SAKE to RFC 4763 and the IANA-allocated EAP type 48
-       * updated EAP-PSK to use the IANA-allocated EAP type 47
-       * fixed EAP-PSK bit ordering of the Flags field
-       * fixed configuration reloading (SIGHUP) to re-initialize WPA PSKs
-         by reading wpa_psk_file [Bug 181]
-       * fixed EAP-TTLS AVP parser processing for too short AVP lengths
-       * fixed IPv6 connection to RADIUS accounting server
-       * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
-         draft (draft-ietf-emu-eap-gpsk-04.txt)
-       * hlr_auc_gw: read GSM triplet file into memory and rotate through the
-         entries instead of only using the same three triplets every time
-         (this does not work properly with tests using multiple clients, but
-         provides bit better triplet data for testing a single client; anyway,
-         if a better quality triplets are needed, GSM-Milenage should be used
-         instead of hardcoded triplet file)
-       * fixed EAP-MSCHAPv2 server to use a space between S and M parameters
-         in Success Request [Bug 203]
-       * added support for sending EAP-AKA Notifications in error cases
-       * updated to use IEEE 802.11w/D2.0 for management frame protection
-         (still experimental)
-       * RADIUS server: added support for processing duplicate messages
-         (retransmissions from RADIUS client) by replying with the previous
-         reply
-
-2006-11-24 - v0.5.6
-       * added support for configuring and controlling multiple BSSes per
-         radio interface (bss=<ifname> in hostapd.conf); this is only
-         available with Devicescape and test driver interfaces
-       * fixed PMKSA cache update in the end of successful RSN
-         pre-authentication
-       * added support for dynamic VLAN configuration (i.e., selecting VLAN-ID
-         for each STA based on RADIUS Access-Accept attributes); this requires
-         VLAN support from the kernel driver/802.11 stack and this is
-         currently only available with Devicescape and test driver interfaces
-       * driver_madwifi: fixed configuration of unencrypted modes (plaintext
-         and IEEE 802.1X without WEP)
-       * removed STAKey handshake since PeerKey handshake has replaced it in
-         IEEE 802.11ma and there are no known deployments of STAKey
-       * updated EAP Generalized Pre-Shared Key (EAP-GPSK) to use the latest
-         draft (draft-ietf-emu-eap-gpsk-01.txt)
-       * added preliminary implementation of IEEE 802.11w/D1.0 (management
-         frame protection)
-         (Note: this requires driver support to work properly.)
-         (Note2: IEEE 802.11w is an unapproved draft and subject to change.)
-       * hlr_auc_gw: added support for GSM-Milenage (for EAP-SIM)
-       * hlr_auc_gw: added support for reading per-IMSI Milenage keys and
-         parameters from a text file to make it possible to implement proper
-         GSM/UMTS authentication server for multiple SIM/USIM cards using
-         EAP-SIM/EAP-AKA
-       * fixed session timeout processing with drivers that do not use
-         ieee802_11.c (e.g., madwifi)
-
-2006-08-27 - v0.5.5
-       * added 'hostapd_cli new_sta <addr>' command for adding a new STA into
-         hostapd (e.g., to initialize wired network authentication based on an
-         external signal)
-       * fixed hostapd to add PMKID KDE into 4-Way Handshake Message 1 when
-         using WPA2 even if PMKSA caching is not used
-       * added -P<pid file> argument for hostapd to write the current process
-         id into a file
-       * added support for RADIUS Authentication Server MIB (RFC 2619)
-
-2006-06-20 - v0.5.4
-       * fixed nt_password_hash build [Bug 144]
-       * added PeerKey handshake implementation for IEEE 802.11e
-         direct link setup (DLS) to replace STAKey handshake
-       * added support for EAP Generalized Pre-Shared Key (EAP-GPSK,
-         draft-clancy-emu-eap-shared-secret-00.txt)
-       * fixed a segmentation fault when RSN pre-authentication was completed
-         successfully [Bug 152]
-
-2006-04-27 - v0.5.3
-       * do not build nt_password_hash and hlr_auc_gw by default to avoid
-         requiring a TLS library for a successful build; these programs can be
-         build with 'make nt_password_hash' and 'make hlr_auc_gw'
-       * added a new configuration option, eapol_version, that can be used to
-         set EAPOL version to 1 (default is 2) to work around broken client
-         implementations that drop EAPOL frames which use version number 2
-         [Bug 89]
-       * added support for EAP-SAKE (no EAP method number allocated yet, so
-         this is using the same experimental type 255 as EAP-PSK)
-       * fixed EAP-MSCHAPv2 message length validation
-
-2006-03-19 - v0.5.2
-       * fixed stdarg use in hostapd_logger(): if both stdout and syslog
-         logging was enabled, hostapd could trigger a segmentation fault in
-         vsyslog on some CPU -- C library combinations
-       * moved HLR/AuC gateway implementation for EAP-SIM/AKA into an external
-         program to make it easier to use for implementing real SS7 gateway;
-         eap_sim_db is not anymore used as a file name for GSM authentication
-         triplets; instead, it is path to UNIX domain socket that will be used
-         to communicate with the external gateway program (e.g., hlr_auc_gw)
-       * added example HLR/AuC gateway implementation, hlr_auc_gw, that uses
-         local information (GSM authentication triplets from a text file and
-         hardcoded AKA authentication data); this can be used to test EAP-SIM
-         and EAP-AKA
-       * added Milenage algorithm (example 3GPP AKA algorithm) to hlr_auc_gw
-         to make it possible to test EAP-AKA with real USIM cards (this is
-         disabled by default; define AKA_USE_MILENAGE when building hlr_auc_gw
-         to enable this)
-       * driver_madwifi: added support for getting station RSN IE from
-         madwifi-ng svn r1453 and newer; this fixes RSN that was apparently
-         broken with earlier change (r1357) in the driver
-       * changed EAP method registration to use a dynamic list of methods
-         instead of a static list generated at build time
-       * fixed WPA message 3/4 not to encrypt Key Data field (WPA IE)
-         [Bug 125]
-       * added ap_max_inactivity configuration parameter
-
-2006-01-29 - v0.5.1
-       * driver_test: added better support for multiple APs and STAs by using
-         a directory with sockets that include MAC address for each device in
-         the name (test_socket=DIR:/tmp/test)
-       * added support for EAP expanded type (vendor specific EAP methods)
-
-2005-12-18 - v0.5.0 (beginning of 0.5.x development releases)
-       * added experimental STAKey handshake implementation for IEEE 802.11e
-         direct link setup (DLS); note: this is disabled by default in both
-         build and runtime configuration (can be enabled with CONFIG_STAKEY=y
-         and stakey=1)
-       * added support for EAP methods to use callbacks to external programs
-         by buffering a pending request and processing it after the EAP method
-         is ready to continue
-       * improved EAP-SIM database interface to allow external request to GSM
-         HLR/AuC without blocking hostapd process
-       * added support for using EAP-SIM pseudonyms and fast re-authentication
-       * added support for EAP-AKA in the integrated EAP authenticator
-       * added support for matching EAP identity prefixes (e.g., "1"*) in EAP
-         user database to allow EAP-SIM/AKA selection without extra roundtrip
-         for EAP-Nak negotiation
-       * added support for storing EAP user password as NtPasswordHash instead
-         of plaintext password when using MSCHAP or MSCHAPv2 for
-         authentication (hash:<16-octet hex value>); added nt_password_hash
-         tool for hashing password to generate NtPasswordHash
-
-2005-11-20 - v0.4.7 (beginning of 0.4.x stable releases)
-       * driver_wired: fixed EAPOL sending to optionally use PAE group address
-         as the destination instead of supplicant MAC address; this is
-         disabled by default, but should be enabled with use_pae_group_addr=1
-         in configuration file if the wired interface is used by only one
-         device at the time (common switch configuration)
-       * driver_madwifi: configure driver to use TKIP countermeasures in order
-         to get correct behavior (IEEE 802.11 association failing; previously,
-         association succeeded, but hostpad forced disassociation immediately)
-       * driver_madwifi: added support for madwifi-ng
-
-2005-10-27 - v0.4.6
-       * added support for replacing user identity from EAP with RADIUS
-         User-Name attribute from Access-Accept message, if that is included,
-         for the RADIUS accounting messages (e.g., for EAP-PEAP/TTLS to get
-         tunneled identity into accounting messages when the RADIUS server
-         does not support better way of doing this with Class attribute)
-       * driver_madwifi: fixed EAPOL packet receive for configuration where
-         ath# is part of a bridge interface
-       * added a configuration file and log analyzer script for logwatch
-       * fixed EAPOL state machine step function to process all state
-         transitions before processing new events; this resolves a race
-         condition in which EAPOL-Start message could trigger hostapd to send
-         two EAP-Response/Identity frames to the authentication server
-
-2005-09-25 - v0.4.5
-       * added client CA list to the TLS certificate request in order to make
-         it easier for the client to select which certificate to use
-       * added experimental support for EAP-PSK
-       * added support for WE-19 (hostap, madwifi)
-
-2005-08-21 - v0.4.4
-       * fixed build without CONFIG_RSN_PREAUTH
-       * fixed FreeBSD build
-
-2005-06-26 - v0.4.3
-       * fixed PMKSA caching to copy User-Name and Class attributes so that
-         RADIUS accounting gets correct information
-       * start RADIUS accounting only after successful completion of WPA
-         4-Way Handshake if WPA-PSK is used
-       * fixed PMKSA caching for the case where STA (re)associates without
-         first disassociating
-
-2005-06-12 - v0.4.2
-       * EAP-PAX is now registered as EAP type 46
-       * fixed EAP-PAX MAC calculation
-       * fixed EAP-PAX CK and ICK key derivation
-       * renamed eap_authenticator configuration variable to eap_server to
-         better match with RFC 3748 (EAP) terminology
-       * driver_test: added support for testing hostapd with wpa_supplicant
-         by using test driver interface without any kernel drivers or network
-         cards
-
-2005-05-22 - v0.4.1
-       * fixed RADIUS server initialization when only auth or acct server
-         is configured and the other one is left empty
-       * driver_madwifi: added support for RADIUS accounting
-       * driver_madwifi: added preliminary support for compiling against 'BSD'
-         branch of madwifi CVS tree
-       * driver_madwifi: fixed pairwise key removal to allow WPA reauth
-         without disassociation
-       * added support for reading additional certificates from PKCS#12 files
-         and adding them to the certificate chain
-       * fixed RADIUS Class attribute processing to only use Access-Accept
-         packets to update Class; previously, other RADIUS authentication
-         packets could have cleared Class attribute
-       * added support for more than one Class attribute in RADIUS packets
-       * added support for verifying certificate revocation list (CRL) when
-         using integrated EAP authenticator for EAP-TLS; new hostapd.conf
-         options 'check_crl'; CRL must be included in the ca_cert file for now
-
-2005-04-25 - v0.4.0 (beginning of 0.4.x development releases)
-       * added support for including network information into
-         EAP-Request/Identity message (ASCII-0 (nul) in eap_message)
-         (e.g., to implement draft-adrange-eap-network-discovery-07.txt)
-       * fixed a bug which caused some RSN pre-authentication cases to use
-         freed memory and potentially crash hostapd
-       * fixed private key loading for cases where passphrase is not set
-       * added support for sending TLS alerts and aborting authentication
-         when receiving a TLS alert
-       * fixed WPA2 to add PMKSA cache entry when using integrated EAP
-         authenticator
-       * fixed PMKSA caching (EAP authentication was not skipped correctly
-         with the new state machine changes from IEEE 802.1X draft)
-       * added support for RADIUS over IPv6; own_ip_addr, auth_server_addr,
-         and acct_server_addr can now be IPv6 addresses (CONFIG_IPV6=y needs
-         to be added to .config to include IPv6 support); for RADIUS server,
-         radius_server_ipv6=1 needs to be set in hostapd.conf and addresses
-         in RADIUS clients file can then use IPv6 format
-       * added experimental support for EAP-PAX
-       * replaced hostapd control interface library (hostapd_ctrl.[ch]) with
-         the same implementation that wpa_supplicant is using (wpa_ctrl.[ch])
-
-2005-02-12 - v0.3.7 (beginning of 0.3.x stable releases)
-
-2005-01-23 - v0.3.5
-       * added support for configuring a forced PEAP version based on the
-         Phase 1 identity
-       * fixed PEAPv1 to use tunneled EAP-Success/Failure instead of EAP-TLV
-         to terminate authentication
-       * fixed EAP identifier duplicate processing with the new IEEE 802.1X
-         draft
-       * clear accounting data in the driver when starting a new accounting
-         session
-       * driver_madwifi: filter wireless events based on ifindex to allow more
-         than one network interface to be used
-       * fixed WPA message 2/4 processing not to cancel timeout for TimeoutEvt
-         setting if the packet does not pass MIC verification (e.g., due to
-         incorrect PSK); previously, message 1/4 was not tried again if an
-         invalid message 2/4 was received
-       * fixed reconfiguration of RADIUS client retransmission timer when
-         adding a new message to the pending list; previously, timer was not
-         updated at this point and if there was a pending message with long
-         time for the next retry, the new message needed to wait that long for
-         its first retry, too
-
-2005-01-09 - v0.3.4
-       * added support for configuring multiple allowed EAP types for Phase 2
-         authentication (EAP-PEAP, EAP-TTLS)
-       * fixed EAPOL-Start processing to trigger WPA reauthentication
-         (previously, only EAPOL authentication was done)
-
-2005-01-02 - v0.3.3
-       * added support for EAP-PEAP in the integrated EAP authenticator
-       * added support for EAP-GTC in the integrated EAP authenticator
-       * added support for configuring list of EAP methods for Phase 1 so that
-         the integrated EAP authenticator can, e.g., use the wildcard entry
-         for EAP-TLS and EAP-PEAP
-       * added support for EAP-TTLS in the integrated EAP authenticator
-       * added support for EAP-SIM in the integrated EAP authenticator
-       * added support for using hostapd as a RADIUS authentication server
-         with the integrated EAP authenticator taking care of EAP
-         authentication (new hostapd.conf options: radius_server_clients and
-         radius_server_auth_port); this is not included in default build; use
-         CONFIG_RADIUS_SERVER=y in .config to include
-
-2004-12-19 - v0.3.2
-       * removed 'daemonize' configuration file option since it has not really
-         been used at all for more than year
-       * driver_madwifi: fixed group key setup and added get_ssid method
-       * added support for EAP-MSCHAPv2 in the integrated EAP authenticator
-
-2004-12-12 - v0.3.1
-       * added support for integrated EAP-TLS authentication (new hostapd.conf
-         variables: ca_cert, server_cert, private_key, private_key_passwd);
-         this enabled dynamic keying (WPA2/WPA/IEEE 802.1X/WEP) without
-         external RADIUS server
-       * added support for reading PKCS#12 (PFX) files (as a replacement for
-         PEM/DER) to get certificate and private key (CONFIG_PKCS12)
-
-2004-12-05 - v0.3.0 (beginning of 0.3.x development releases)
-       * added support for Acct-{Input,Output}-Gigawords
-       * added support for Event-Timestamp (in RADIUS Accounting-Requests)
-       * added support for RADIUS Authentication Client MIB (RFC2618)
-       * added support for RADIUS Accounting Client MIB (RFC2620)
-       * made EAP re-authentication period configurable (eap_reauth_period)
-       * fixed EAPOL reauthentication to trigger WPA/WPA2 reauthentication
-       * fixed EAPOL state machine to stop if STA is removed during
-         eapol_sm_step(); this fixes at least one segfault triggering bug with
-         IEEE 802.11i pre-authentication
-       * added support for multiple WPA pre-shared keys (e.g., one for each
-         client MAC address or keys shared by a group of clients);
-         new hostapd.conf field wpa_psk_file for setting path to a text file
-         containing PSKs, see hostapd.wpa_psk for an example
-       * added support for multiple driver interfaces to allow hostapd to be
-         used with other drivers
-       * added wired authenticator driver interface (driver=wired in
-         hostapd.conf, see wired.conf for example configuration)
-       * added madwifi driver interface (driver=madwifi in hostapd.conf, see
-         madwifi.conf for example configuration; Note: include files from
-         madwifi project is needed for building and a configuration file,
-         .config, needs to be created in hostapd directory with
-         CONFIG_DRIVER_MADWIFI=y to include this driver interface in hostapd
-         build)
-       * fixed an alignment issue that could cause SHA-1 to fail on some
-         platforms (e.g., Intel ixp425 with a compiler that does not 32-bit
-         align variables)
-       * fixed RADIUS reconnection after an error in sending interim
-         accounting packets
-       * added hostapd control interface for external programs and an example
-         CLI, hostapd_cli (like wpa_cli for wpa_supplicant)
-       * started adding dot11, dot1x, radius MIBs ('hostapd_cli mib',
-         'hostapd_cli sta <addr>')
-       * finished update from IEEE 802.1X-2001 to IEEE 802.1X-REV (now d11)
-       * added support for strict GTK rekeying (wpa_strict_rekey in
-         hostapd.conf)
-       * updated IAPP to use UDP port 3517 and multicast address 224.0.1.178
-         (instead of broadcast) for IAPP ADD-notify (moved from draft 3 to
-         IEEE 802.11F-2003)
-       * added Prism54 driver interface (driver=prism54 in hostapd.conf;
-         note: .config needs to be created in hostapd directory with
-         CONFIG_DRIVER_PRISM54=y to include this driver interface in hostapd
-         build)
-       * dual-licensed hostapd (GPLv2 and BSD licenses)
-       * fixed RADIUS accounting to generate a new session id for cases where
-         a station reassociates without first being complete deauthenticated
-       * fixed STA disassociation handler to mark next timeout state to
-         deauthenticate the station, i.e., skip long wait for inactivity poll
-         and extra disassociation, if the STA disassociates without
-         deauthenticating
-       * added integrated EAP authenticator that can be used instead of
-         external RADIUS authentication server; currently, only EAP-MD5 is
-         supported, so this cannot yet be used for key distribution; the EAP
-         method interface is generic, though, so adding new EAP methods should
-         be straightforward; new hostapd.conf variables: 'eap_authenticator'
-         and 'eap_user_file'; this obsoletes "minimal authentication server"
-         ('minimal_eap' in hostapd.conf) which is now removed
-       * added support for FreeBSD and driver interface for the BSD net80211
-         layer (driver=bsd in hostapd.conf and CONFIG_DRIVER_BSD=y in
-         .config); please note that some of the required kernel mods have not
-         yet been committed
-
-2004-07-17 - v0.2.4 (beginning of 0.2.x stable releases)
-       * fixed some accounting cases where Accounting-Start was sent when
-         IEEE 802.1X port was being deauthorized
-
-2004-06-20 - v0.2.3
-       * modified RADIUS client to re-connect the socket in case of certain
-         error codes that are generated when a network interface state is
-         changes (e.g., when IP address changes or the interface is set UP)
-       * fixed couple of cases where EAPOL state for a station was freed
-         twice causing a segfault for hostapd
-       * fixed couple of bugs in processing WPA deauthentication (freed data
-         was used)
-
-2004-05-31 - v0.2.2
-       * fixed WPA/WPA2 group rekeying to use key index correctly (GN/GM)
-       * fixed group rekeying to send zero TSC in EAPOL-Key messages to fix
-         cases where STAs dropped multicast frames as replay attacks
-       * added support for copying RADIUS Attribute 'Class' from
-         authentication messages into accounting messages
-       * send canned EAP failure if RADIUS server sends Access-Reject without
-         EAP message (previously, Supplicant was not notified in this case)
-       * fixed mixed WPA-PSK and WPA-EAP mode to work with WPA-PSK (i.e., do
-         not start EAPOL state machines if the STA selected to use WPA-PSK)
-
-2004-05-06 - v0.2.1
-       * added WPA and IEEE 802.11i/RSN (WPA2) Authenticator functionality
-         - based on IEEE 802.11i/D10.0 but modified to interoperate with WPA
-           (i.e., IEEE 802.11i/D3.0)
-         - supports WPA-only, RSN-only, and mixed WPA/RSN mode
-         - both WPA-PSK and WPA-RADIUS/EAP are supported
-         - PMKSA caching and pre-authentication
-         - new hostapd.conf variables: wpa, wpa_psk, wpa_passphrase,
-           wpa_key_mgmt, wpa_pairwise, wpa_group_rekey, wpa_gmk_rekey,
-           rsn_preauth, rsn_preauth_interfaces
-       * fixed interim accounting to remove any pending accounting messages
-         to the STA before sending a new one
-
-2004-02-15 - v0.2.0
-       * added support for Acct-Interim-Interval:
-         - draft-ietf-radius-acct-interim-01.txt
-         - use Acct-Interim-Interval attribute from Access-Accept if local
-           'radius_acct_interim_interval' is not set
-         - allow different update intervals for each STA
-       * fixed event loop to call signal handlers only after returning from
-         the real signal handler
-       * reset sta->timeout_next after successful association to make sure
-         that the previously registered inactivity timer will not remove the
-         STA immediately (e.g., if STA deauthenticates and re-associates
-         before the timer is triggered).
-       * added new hostapd.conf variable, nas_identifier, that can be used to
-         add an optional RADIUS Attribute, NAS-Identifier, into authentication
-         and accounting messages
-       * added support for Accounting-On and Accounting-Off messages
-       * fixed accounting session handling to send Accounting-Start only once
-         per session and not to send Accounting-Stop if the session was not
-         initialized properly
-       * fixed Accounting-Stop statistics in cases where the message was
-         previously sent after the kernel entry for the STA (and/or IEEE
-         802.1X data) was removed
-
-
-Note:
-
-Older changes up to and including v0.1.0 are included in the ChangeLog
-of the Host AP driver.
diff --git a/contrib/hostapd/hostapd/README b/contrib/hostapd/hostapd/README
deleted file mode 100644 (file)
index eb9aa48..0000000
+++ /dev/null
@@ -1,390 +0,0 @@
-hostapd - user space IEEE 802.11 AP and IEEE 802.1X/WPA/WPA2/EAP
-         Authenticator and RADIUS authentication server
-================================================================
-
-Copyright (c) 2002-2009, Jouni Malinen <j@w1.fi> and contributors
-All Rights Reserved.
-
-This program is dual-licensed under both the GPL version 2 and BSD
-license. Either license may be used at your option.
-
-
-
-License
--------
-
-GPL v2:
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License version 2 as
-published by the Free Software Foundation.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-(this copy of the license is in COPYING file)
-
-
-Alternatively, this software may be distributed, used, and modified
-under the terms of BSD license:
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-3. Neither the name(s) of the above-listed copyright holder(s) nor the
-   names of its contributors may be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
-
-Introduction
-============
-
-Originally, hostapd was an optional user space component for Host AP
-driver. It adds more features to the basic IEEE 802.11 management
-included in the kernel driver: using external RADIUS authentication
-server for MAC address based access control, IEEE 802.1X Authenticator
-and dynamic WEP keying, RADIUS accounting, WPA/WPA2 (IEEE 802.11i/RSN)
-Authenticator and dynamic TKIP/CCMP keying.
-
-The current version includes support for other drivers, an integrated
-EAP server (i.e., allow full authentication without requiring
-an external RADIUS authentication server), and RADIUS authentication
-server for EAP authentication.
-
-
-Requirements
-------------
-
-Current hardware/software requirements:
-- drivers:
-       Host AP driver for Prism2/2.5/3.
-       (http://hostap.epitest.fi/)
-       Please note that station firmware version needs to be 1.7.0 or newer
-       to work in WPA mode.
-
-       madwifi driver for cards based on Atheros chip set (ar521x)
-       (http://sourceforge.net/projects/madwifi/)
-       Please note that you will need to add the correct path for
-       madwifi driver root directory in .config (see defconfig file for
-       an example: CFLAGS += -I<path>)
-
-       Prism54 driver for Intersil/Conexant Prism GT/Duette/Indigo
-       (http://www.prism54.org/)
-
-       mac80211-based drivers that support AP mode (with driver=nl80211).
-       This includes drivers for Atheros (ath9k) and Broadcom (b43)
-       chipsets.
-
-       Any wired Ethernet driver for wired IEEE 802.1X authentication
-       (experimental code)
-
-       FreeBSD -current (with some kernel mods that have not yet been
-       committed when hostapd v0.3.0 was released)
-       BSD net80211 layer (e.g., Atheros driver)
-
-
-Build configuration
--------------------
-
-In order to be able to build hostapd, you will need to create a build
-time configuration file, .config that selects which optional
-components are included. See defconfig file for example configuration
-and list of available options.
-
-
-
-IEEE 802.1X
-===========
-
-IEEE Std 802.1X-2001 is a standard for port-based network access
-control. In case of IEEE 802.11 networks, a "virtual port" is used
-between each associated station and the AP. IEEE 802.11 specifies
-minimal authentication mechanism for stations, whereas IEEE 802.1X
-introduces a extensible mechanism for authenticating and authorizing
-users.
-
-IEEE 802.1X uses elements called Supplicant, Authenticator, Port
-Access Entity, and Authentication Server. Supplicant is a component in
-a station and it performs the authentication with the Authentication
-Server. An access point includes an Authenticator that relays the packets
-between a Supplicant and an Authentication Server. In addition, it has a
-Port Access Entity (PAE) with Authenticator functionality for
-controlling the virtual port authorization, i.e., whether to accept
-packets from or to the station.
-
-IEEE 802.1X uses Extensible Authentication Protocol (EAP). The frames
-between a Supplicant and an Authenticator are sent using EAP over LAN
-(EAPOL) and the Authenticator relays these frames to the Authentication
-Server (and similarly, relays the messages from the Authentication
-Server to the Supplicant). The Authentication Server can be colocated with the
-Authenticator, in which case there is no need for additional protocol
-for EAP frame transmission. However, a more common configuration is to
-use an external Authentication Server and encapsulate EAP frame in the
-frames used by that server. RADIUS is suitable for this, but IEEE
-802.1X would also allow other mechanisms.
-
-Host AP driver includes PAE functionality in the kernel driver. It
-is a relatively simple mechanism for denying normal frames going to
-or coming from an unauthorized port. PAE allows IEEE 802.1X related
-frames to be passed between the Supplicant and the Authenticator even
-on an unauthorized port.
-
-User space daemon, hostapd, includes Authenticator functionality. It
-receives 802.1X (EAPOL) frames from the Supplicant using the wlan#ap
-device that is also used with IEEE 802.11 management frames. The
-frames to the Supplicant are sent using the same device.
-
-The normal configuration of the Authenticator would use an external
-Authentication Server. hostapd supports RADIUS encapsulation of EAP
-packets, so the Authentication Server should be a RADIUS server, like
-FreeRADIUS (http://www.freeradius.org/). The Authenticator in hostapd
-relays the frames between the Supplicant and the Authentication
-Server. It also controls the PAE functionality in the kernel driver by
-controlling virtual port authorization, i.e., station-AP
-connection, based on the IEEE 802.1X state.
-
-When a station would like to use the services of an access point, it
-will first perform IEEE 802.11 authentication. This is normally done
-with open systems authentication, so there is no security. After
-this, IEEE 802.11 association is performed. If IEEE 802.1X is
-configured to be used, the virtual port for the station is set in
-Unauthorized state and only IEEE 802.1X frames are accepted at this
-point. The Authenticator will then ask the Supplicant to authenticate
-with the Authentication Server. After this is completed successfully,
-the virtual port is set to Authorized state and frames from and to the
-station are accepted.
-
-Host AP configuration for IEEE 802.1X
--------------------------------------
-
-The user space daemon has its own configuration file that can be used to
-define AP options. Distribution package contains an example
-configuration file (hostapd/hostapd.conf) that can be used as a basis
-for configuration. It includes examples of all supported configuration
-options and short description of each option. hostapd should be started
-with full path to the configuration file as the command line argument,
-e.g., './hostapd /etc/hostapd.conf'. If you have more that one wireless
-LAN card, you can use one hostapd process for multiple interfaces by
-giving a list of configuration files (one per interface) in the command
-line.
-
-hostapd includes a minimal co-located IEEE 802.1X server which can be
-used to test IEEE 802.1X authentication. However, it should not be
-used in normal use since it does not provide any security. This can be
-configured by setting ieee8021x and minimal_eap options in the
-configuration file.
-
-An external Authentication Server (RADIUS) is configured with
-auth_server_{addr,port,shared_secret} options. In addition,
-ieee8021x and own_ip_addr must be set for this mode. With such
-configuration, the co-located Authentication Server is not used and EAP
-frames will be relayed using EAPOL between the Supplicant and the
-Authenticator and RADIUS encapsulation between the Authenticator and
-the Authentication Server. Other than this, the functionality is similar
-to the case with the co-located Authentication Server.
-
-Authentication Server and Supplicant
-------------------------------------
-
-Any RADIUS server supporting EAP should be usable as an IEEE 802.1X
-Authentication Server with hostapd Authenticator. FreeRADIUS
-(http://www.freeradius.org/) has been successfully tested with hostapd
-Authenticator and both Xsupplicant (http://www.open1x.org) and Windows
-XP Supplicants. EAP/TLS was used with Xsupplicant and
-EAP/MD5-Challenge with Windows XP.
-
-http://www.missl.cs.umd.edu/wireless/eaptls/ has useful information
-about using EAP/TLS with FreeRADIUS and Xsupplicant (just replace
-Cisco access point with Host AP driver, hostapd daemon, and a Prism2
-card ;-). http://www.freeradius.org/doc/EAP-MD5.html has information
-about using EAP/MD5 with FreeRADIUS, including instructions for WinXP
-configuration. http://www.denobula.com/EAPTLS.pdf has a HOWTO on
-EAP/TLS use with WinXP Supplicant.
-
-Automatic WEP key configuration
--------------------------------
-
-EAP/TLS generates a session key that can be used to send WEP keys from
-an AP to authenticated stations. The Authenticator in hostapd can be
-configured to automatically select a random default/broadcast key
-(shared by all authenticated stations) with wep_key_len_broadcast
-option (5 for 40-bit WEP or 13 for 104-bit WEP). In addition,
-wep_key_len_unicast option can be used to configure individual unicast
-keys for stations. This requires support for individual keys in the
-station driver.
-
-WEP keys can be automatically updated by configuring rekeying. This
-will improve security of the network since same WEP key will only be
-used for a limited period of time. wep_rekey_period option sets the
-interval for rekeying in seconds.
-
-
-WPA/WPA2
-========
-
-Features
---------
-
-Supported WPA/IEEE 802.11i features:
-- WPA-PSK ("WPA-Personal")
-- WPA with EAP (e.g., with RADIUS authentication server) ("WPA-Enterprise")
-- key management for CCMP, TKIP, WEP104, WEP40
-- RSN/WPA2 (IEEE 802.11i), including PMKSA caching and pre-authentication
-
-WPA
----
-
-The original security mechanism of IEEE 802.11 standard was not
-designed to be strong and has proved to be insufficient for most
-networks that require some kind of security. Task group I (Security)
-of IEEE 802.11 working group (http://www.ieee802.org/11/) has worked
-to address the flaws of the base standard and has in practice
-completed its work in May 2004. The IEEE 802.11i amendment to the IEEE
-802.11 standard was approved in June 2004 and this amendment is likely
-to be published in July 2004.
-
-Wi-Fi Alliance (http://www.wi-fi.org/) used a draft version of the
-IEEE 802.11i work (draft 3.0) to define a subset of the security
-enhancements that can be implemented with existing wlan hardware. This
-is called Wi-Fi Protected Access<TM> (WPA). This has now become a
-mandatory component of interoperability testing and certification done
-by Wi-Fi Alliance. Wi-Fi provides information about WPA at its web
-site (http://www.wi-fi.org/OpenSection/protected_access.asp).
-
-IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm
-for protecting wireless networks. WEP uses RC4 with 40-bit keys,
-24-bit initialization vector (IV), and CRC32 to protect against packet
-forgery. All these choices have proven to be insufficient: key space is
-too small against current attacks, RC4 key scheduling is insufficient
-(beginning of the pseudorandom stream should be skipped), IV space is
-too small and IV reuse makes attacks easier, there is no replay
-protection, and non-keyed authentication does not protect against bit
-flipping packet data.
-
-WPA is an intermediate solution for the security issues. It uses
-Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a
-compromise on strong security and possibility to use existing
-hardware. It still uses RC4 for the encryption like WEP, but with
-per-packet RC4 keys. In addition, it implements replay protection,
-keyed packet authentication mechanism (Michael MIC).
-
-Keys can be managed using two different mechanisms. WPA can either use
-an external authentication server (e.g., RADIUS) and EAP just like
-IEEE 802.1X is using or pre-shared keys without need for additional
-servers. Wi-Fi calls these "WPA-Enterprise" and "WPA-Personal",
-respectively. Both mechanisms will generate a master session key for
-the Authenticator (AP) and Supplicant (client station).
-
-WPA implements a new key handshake (4-Way Handshake and Group Key
-Handshake) for generating and exchanging data encryption keys between
-the Authenticator and Supplicant. This handshake is also used to
-verify that both Authenticator and Supplicant know the master session
-key. These handshakes are identical regardless of the selected key
-management mechanism (only the method for generating master session
-key changes).
-
-
-IEEE 802.11i / WPA2
--------------------
-
-The design for parts of IEEE 802.11i that were not included in WPA has
-finished (May 2004) and this amendment to IEEE 802.11 was approved in
-June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new
-version of WPA called WPA2. This includes, e.g., support for more
-robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC)
-to replace TKIP and optimizations for handoff (reduced number of
-messages in initial key handshake, pre-authentication, and PMKSA caching).
-
-Some wireless LAN vendors are already providing support for CCMP in
-their WPA products. There is no "official" interoperability
-certification for CCMP and/or mixed modes using both TKIP and CCMP, so
-some interoperability issues can be expected even though many
-combinations seem to be working with equipment from different vendors.
-Testing for WPA2 is likely to start during the second half of 2004.
-
-hostapd configuration for WPA/WPA2
-----------------------------------
-
-TODO
-
-# Enable WPA. Setting this variable configures the AP to require WPA (either
-# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either
-# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK.
-# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys),
-# RADIUS authentication server must be configured, and WPA-EAP must be included
-# in wpa_key_mgmt.
-# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0)
-# and/or WPA2 (full IEEE 802.11i/RSN):
-# bit0 = WPA
-# bit1 = IEEE 802.11i/RSN (WPA2)
-#wpa=1
-
-# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit
-# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase
-# (8..63 characters) that will be converted to PSK. This conversion uses SSID
-# so the PSK changes when ASCII passphrase is used and the SSID is changed.
-#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
-#wpa_passphrase=secret passphrase
-
-# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The
-# entries are separated with a space.
-#wpa_key_mgmt=WPA-PSK WPA-EAP
-
-# Set of accepted cipher suites (encryption algorithms) for pairwise keys
-# (unicast packets). This is a space separated list of algorithms:
-# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i]
-# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i]
-# Group cipher suite (encryption algorithm for broadcast and multicast frames)
-# is automatically selected based on this configuration. If only CCMP is
-# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise,
-# TKIP will be used as the group cipher.
-#wpa_pairwise=TKIP CCMP
-
-# Time interval for rekeying GTK (broadcast/multicast encryption keys) in
-# seconds.
-#wpa_group_rekey=600
-
-# Time interval for rekeying GMK (master key used internally to generate GTKs
-# (in seconds).
-#wpa_gmk_rekey=86400
-
-# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up
-# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN
-# authentication and key handshake before actually associating with a new AP.
-#rsn_preauth=1
-#
-# Space separated list of interfaces from which pre-authentication frames are
-# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all
-# interface that are used for connections to other APs. This could include
-# wired interfaces and WDS links. The normal wireless data interface towards
-# associated stations (e.g., wlan0) should not be added, since
-# pre-authentication is only used with APs other than the currently associated
-# one.
-#rsn_preauth_interfaces=eth0
diff --git a/contrib/hostapd/hostapd/README-WPS b/contrib/hostapd/hostapd/README-WPS
deleted file mode 100644 (file)
index e0e370b..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-hostapd and Wi-Fi Protected Setup (WPS)
-=======================================
-
-This document describes how the WPS implementation in hostapd can be
-configured and how an external component on an AP (e.g., web UI) is
-used to enable enrollment of client devices.
-
-
-Introduction to WPS
--------------------
-
-Wi-Fi Protected Setup (WPS) is a mechanism for easy configuration of a
-wireless network. It allows automated generation of random keys (WPA
-passphrase/PSK) and configuration of an access point and client
-devices. WPS includes number of methods for setting up connections
-with PIN method and push-button configuration (PBC) being the most
-commonly deployed options.
-
-While WPS can enable more home networks to use encryption in the
-wireless network, it should be noted that the use of the PIN and
-especially PBC mechanisms for authenticating the initial key setup is
-not very secure. As such, use of WPS may not be suitable for
-environments that require secure network access without chance for
-allowing outsiders to gain access during the setup phase.
-
-WPS uses following terms to describe the entities participating in the
-network setup:
-- access point: the WLAN access point
-- Registrar: a device that control a network and can authorize
-  addition of new devices); this may be either in the AP ("internal
-  Registrar") or in an external device, e.g., a laptop, ("external
-  Registrar")
-- Enrollee: a device that is being authorized to use the network
-
-It should also be noted that the AP and a client device may change
-roles (i.e., AP acts as an Enrollee and client device as a Registrar)
-when WPS is used to configure the access point.
-
-
-More information about WPS is available from Wi-Fi Alliance:
-http://www.wi-fi.org/wifi-protected-setup
-
-
-hostapd implementation
-----------------------
-
-hostapd includes an optional WPS component that can be used as an
-internal WPS Registrar to manage addition of new WPS enabled clients
-to the network. In addition, WPS Enrollee functionality in hostapd can
-be used to allow external WPS Registrars to configure the access
-point, e.g., for initial network setup. In addition, hostapd can proxy a
-WPS registration between a wireless Enrollee and an external Registrar
-(e.g., Microsoft Vista or Atheros JumpStart) with UPnP.
-
-
-hostapd configuration
----------------------
-
-WPS is an optional component that needs to be enabled in hostapd build
-configuration (.config). Here is an example configuration that
-includes WPS support and uses madwifi driver interface:
-
-CONFIG_DRIVER_MADWIFI=y
-CFLAGS += -I/usr/src/madwifi-0.9.3
-CONFIG_EAP=y
-CONFIG_WPS=y
-CONFIG_WPS_UPNP=y
-
-
-Following section shows an example runtime configuration
-(hostapd.conf) that enables WPS:
-
-# Configure the driver and network interface
-driver=madwifi
-interface=ath0
-
-# WPA2-Personal configuration for the AP
-ssid=wps-test
-wpa=2
-wpa_key_mgmt=WPA-PSK
-wpa_pairwise=CCMP
-# Default WPA passphrase for legacy (non-WPS) clients
-wpa_passphrase=12345678
-# Enable random per-device PSK generation for WPS clients
-# Please note that the file has to exists for hostapd to start (i.e., create an
-# empty file as a starting point).
-wpa_psk_file=/etc/hostapd.psk
-
-# Enable control interface for PBC/PIN entry
-ctrl_interface=/var/run/hostapd
-
-# Enable internal EAP server for EAP-WSC (part of Wi-Fi Protected Setup)
-eap_server=1
-
-# WPS configuration (AP configured, do not allow external WPS Registrars)
-wps_state=2
-ap_setup_locked=1
-# If UUID is not configured, it will be generated based on local MAC address.
-uuid=87654321-9abc-def0-1234-56789abc0000
-wps_pin_requests=/var/run/hostapd.pin-req
-device_name=Wireless AP
-manufacturer=Company
-model_name=WAP
-model_number=123
-serial_number=12345
-device_type=6-0050F204-1
-os_version=01020300
-config_methods=label display push_button keypad
-
-# if external Registrars are allowed, UPnP support could be added:
-#upnp_iface=br0
-#friendly_name=WPS Access Point
-
-
-External operations
--------------------
-
-WPS requires either a device PIN code (usually, 8-digit number) or a
-pushbutton event (for PBC) to allow a new WPS Enrollee to join the
-network. hostapd uses the control interface as an input channel for
-these events.
-
-When a client device (WPS Enrollee) connects to hostapd (WPS
-Registrar) in order to start PIN mode negotiation for WPS, an
-identifier (Enrollee UUID) is sent. hostapd will need to be configured
-with a device password (PIN) for this Enrollee. This is an operation
-that requires user interaction (assuming there are no pre-configured
-PINs on the AP for a set of Enrollee).
-
-The PIN request with information about the device is appended to the
-wps_pin_requests file (/var/run/hostapd.pin-req in this example). In
-addition, hostapd control interface event is sent as a notification of
-a new device. The AP could use, e.g., a web UI for showing active
-Enrollees to the user and request a PIN for an Enrollee.
-
-The PIN request file has one line for every Enrollee that connected to
-the AP, but for which there was no PIN. Following information is
-provided for each Enrollee (separated with tabulators):
-- timestamp (seconds from 1970-01-01)
-- Enrollee UUID
-- MAC address
-- Device name
-- Manufacturer
-- Model Name
-- Model Number
-- Serial Number
-- Device category
-
-Example line in the /var/run/hostapd.pin-req file:
-1200188391     53b63a98-d29e-4457-a2ed-094d7e6a669c    Intel(R) Centrino(R)    Intel Corporation       Intel(R) Centrino(R)    -       -       1-0050F204-1
-
-Control interface data:
-WPS-PIN-NEEDED [UUID-E|MAC Address|Device Name|Manufacturer|Model Name|Model Number|Serial Number|Device Category]
-For example:
-<2>WPS-PIN-NEEDED [53b63a98-d29e-4457-a2ed-094d7e6a669c|02:12:34:56:78:9a|Device|Manuf|Model|Model Number|Serial Number|1-0050F204-1]
-
-When the user enters a PIN for a pending Enrollee, e.g., on the web
-UI), hostapd needs to be notified of the new PIN over the control
-interface. This can be done either by using the UNIX domain socket
--based control interface directly (src/common/wpa_ctrl.c provides
-helper functions for using the interface) or by calling hostapd_cli.
-
-Example command to add a PIN (12345670) for an Enrollee:
-
-hostapd_cli wps_pin 53b63a98-d29e-4457-a2ed-094d7e6a669c 12345670
-
-If the UUID-E is not available (e.g., Enrollee waits for the Registrar
-to be selected before connecting), wildcard UUID may be used to allow
-the PIN to be used once with any UUID:
-
-hostapd_cli wps_pin any 12345670
-
-To reduce likelihood of PIN being used with other devices or of
-forgetting an active PIN available for potential attackers, expiration
-time can be set for the new PIN:
-
-hostapd_cli wps_pin any 12345670 300
-
-
-After this, the Enrollee can connect to the AP again and complete WPS
-negotiation. At that point, a new, random WPA PSK is generated for the
-client device and the client can then use that key to connect to the
-AP to access the network.
-
-
-If the AP includes a pushbutton, WPS PBC mode can be used. It is
-enabled by pushing a button on both the AP and the client at about the
-same time (2 minute window). hostapd needs to be notified about the AP
-button pushed event over the control interface, e.g., by calling
-hostapd_cli:
-
-hostapd_cli wps_pbc
-
-At this point, the client has two minutes to complete WPS negotiation
-which will generate a new WPA PSK in the same way as the PIN method
-described above.
-
-
-Credential generation and configuration changes
------------------------------------------------
-
-By default, hostapd generates credentials for Enrollees and processing
-AP configuration updates internally. However, it is possible to
-control these operations from external programs, if desired.
-
-The internal credential generation can be disabled with
-skip_cred_build=1 option in the configuration. extra_cred option will
-then need to be used to provide pre-configured Credential attribute(s)
-for hostapd to use. The exact data from this binary file will be sent,
-i.e., it will have to include valid WPS attributes. extra_cred can
-also be used to add additional networks if the Registrar is used to
-configure credentials for multiple networks.
-
-Processing of received configuration updates can be disabled with
-wps_cred_processing=1 option. When this is used, an external program
-is responsible for creating hostapd configuration files and processing
-configuration updates based on messages received from hostapd over
-control interface. This will also include the initial configuration on
-first successful registration if the AP is initially set in
-unconfigured state.
-
-Following control interface messages are sent out for external programs:
-
-WPS-REG-SUCCESS <Enrollee MAC address <UUID-E>
-For example:
-<2>WPS-REG-SUCCESS 02:66:a0:ee:17:27 2b7093f1-d6fb-5108-adbb-bea66bb87333
-
-This can be used to tricker change from unconfigured to configured
-state (random configuration based on the first successful WPS
-registration). In addition, this can be used to update AP UI about the
-status of WPS registration progress.
-
-
-WPS-NEW-AP-SETTINGS <hexdump of AP Setup attributes>
-For example:
-<2>WPS-NEW-AP-SETTINGS 10260001011045000c6a6b6d2d7770732d74657374100300020020100f00020008102700403065346230343536633236366665306433396164313535346131663462663731323433376163666462376633393965353466316631623032306164343438623510200006024231cede15101e000844
-
-This can be used to update the externally stored AP configuration and
-then update hostapd configuration (followed by restarting of hostapd).
diff --git a/contrib/hostapd/hostapd/accounting.c b/contrib/hostapd/hostapd/accounting.c
deleted file mode 100644 (file)
index ce71678..0000000
+++ /dev/null
@@ -1,510 +0,0 @@
-/*
- * hostapd / RADIUS Accounting
- * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#include "includes.h"
-
-#include "hostapd.h"
-#include "radius/radius.h"
-#include "radius/radius_client.h"
-#include "eloop.h"
-#include "accounting.h"
-#include "ieee802_1x.h"
-#include "driver.h"
-
-
-/* Default interval in seconds for polling TX/RX octets from the driver if
- * STA is not using interim accounting. This detects wrap arounds for
- * input/output octets and updates Acct-{Input,Output}-Gigawords. */
-#define ACCT_DEFAULT_UPDATE_INTERVAL 300
-
-static void accounting_sta_get_id(struct hostapd_data *hapd,
-                                 struct sta_info *sta);
-
-
-static struct radius_msg * accounting_msg(struct hostapd_data *hapd,
-                                         struct sta_info *sta,
-                                         int status_type)
-{
-       struct radius_msg *msg;
-       char buf[128];
-       u8 *val;
-       size_t len;
-       int i;
-
-       msg = radius_msg_new(RADIUS_CODE_ACCOUNTING_REQUEST,
-                            radius_client_get_id(hapd->radius));
-       if (msg == NULL) {
-               printf("Could not create net RADIUS packet\n");
-               return NULL;
-       }
-
-       if (sta) {
-               radius_msg_make_authenticator(msg, (u8 *) sta, sizeof(*sta));
-
-               os_snprintf(buf, sizeof(buf), "%08X-%08X",
-                           sta->acct_session_id_hi, sta->acct_session_id_lo);
-               if (!radius_msg_add_attr(msg, RADIUS_ATTR_ACCT_SESSION_ID,
-                                        (u8 *) buf, os_strlen(buf))) {
-                       printf("Could not add Acct-Session-Id\n");
-                       goto fail;
-               }
-       } else {
-               radius_msg_make_authenticator(msg, (u8 *) hapd, sizeof(*hapd));
-       }
-
-       if (!radius_msg_add_attr_int32(msg, RADIUS_ATTR_ACCT_STATUS_TYPE,
-                                      status_type)) {
-               printf("Could not add Acct-Status-Type\n");
-               goto fail;
-       }
-
-       if (!radius_msg_add_attr_int32(msg, RADIUS_ATTR_ACCT_AUTHENTIC,
-                                      hapd->conf->ieee802_1x ?
-                                      RADIUS_ACCT_AUTHENTIC_RADIUS :
-                                      RADIUS_ACCT_AUTHENTIC_LOCAL)) {
-               printf("Could not add Acct-Authentic\n");
-               goto fail;
-       }
-
-       if (sta) {
-               val = ieee802_1x_get_identity(sta->eapol_sm, &len);
-               if (!val) {
-                       os_snprintf(buf, sizeof(buf), RADIUS_ADDR_FORMAT,
-                                   MAC2STR(sta->addr));
-                       val = (u8 *) buf;
-                       len = os_strlen(buf);
-               }
-
-               if (!radius_msg_add_attr(msg, RADIUS_ATTR_USER_NAME, val,
-                                        len)) {
-                       printf("Could not add User-Name\n");
-                       goto fail;
-               }
-       }
-
-       if (hapd->conf->own_ip_addr.af == AF_INET &&
-           !radius_msg_add_attr(msg, RADIUS_ATTR_NAS_IP_ADDRESS,
-                                (u8 *) &hapd->conf->own_ip_addr.u.v4, 4)) {
-               printf("Could not add NAS-IP-Address\n");
-               goto fail;
-       }
-
-#ifdef CONFIG_IPV6
-       if (hapd->conf->own_ip_addr.af == AF_INET6 &&
-           !radius_msg_add_attr(msg, RADIUS_ATTR_NAS_IPV6_ADDRESS,
-                                (u8 *) &hapd->conf->own_ip_addr.u.v6, 16)) {
-               printf("Could not add NAS-IPv6-Address\n");
-               goto fail;
-       }
-#endif /* CONFIG_IPV6 */
-
-       if (hapd->conf->nas_identifier &&
-           !radius_msg_add_attr(msg, RADIUS_ATTR_NAS_IDENTIFIER,
-                                (u8 *) hapd->conf->nas_identifier,
-                                os_strlen(hapd->conf->nas_identifier))) {
-               printf("Could not add NAS-Identifier\n");
-               goto fail;
-       }
-
-       if (sta &&
-           !radius_msg_add_attr_int32(msg, RADIUS_ATTR_NAS_PORT, sta->aid)) {
-               printf("Could not add NAS-Port\n");
-               goto fail;
-       }
-
-       os_snprintf(buf, sizeof(buf), RADIUS_802_1X_ADDR_FORMAT ":%s",
-                   MAC2STR(hapd->own_addr), hapd->conf->ssid.ssid);
-       if (!radius_msg_add_attr(msg, RADIUS_ATTR_CALLED_STATION_ID,
-                                (u8 *) buf, os_strlen(buf))) {
-               printf("Could not add Called-Station-Id\n");
-               goto fail;
-       }
-
-       if (sta) {
-               os_snprintf(buf, sizeof(buf), RADIUS_802_1X_ADDR_FORMAT,
-                           MAC2STR(sta->addr));
-               if (!radius_msg_add_attr(msg, RADIUS_ATTR_CALLING_STATION_ID,
-                                        (u8 *) buf, os_strlen(buf))) {
-                       printf("Could not add Calling-Station-Id\n");
-                       goto fail;
-               }
-
-               if (!radius_msg_add_attr_int32(
-                           msg, RADIUS_ATTR_NAS_PORT_TYPE,
-                           RADIUS_NAS_PORT_TYPE_IEEE_802_11)) {
-                       printf("Could not add NAS-Port-Type\n");
-                       goto fail;
-               }
-
-               os_snprintf(buf, sizeof(buf), "CONNECT %d%sMbps %s",
-                           radius_sta_rate(hapd, sta) / 2,
-                           (radius_sta_rate(hapd, sta) & 1) ? ".5" : "",
-                           radius_mode_txt(hapd));
-               if (!radius_msg_add_attr(msg, RADIUS_ATTR_CONNECT_INFO,
-                                        (u8 *) buf, os_strlen(buf))) {
-                       printf("Could not add Connect-Info\n");
-                       goto fail;
-               }
-
-               for (i = 0; ; i++) {
-                       val = ieee802_1x_get_radius_class(sta->eapol_sm, &len,
-                                                         i);
-                       if (val == NULL)
-                               break;
-
-                       if (!radius_msg_add_attr(msg, RADIUS_ATTR_CLASS,
-                                                val, len)) {
-                               printf("Could not add Class\n");
-                               goto fail;
-                       }
-               }
-       }
-
-       return msg;
-
- fail:
-       radius_msg_free(msg);
-       os_free(msg);
-       return NULL;
-}
-
-
-static int accounting_sta_update_stats(struct hostapd_data *hapd,
-                                      struct sta_info *sta,
-                                      struct hostap_sta_driver_data *data)
-{
-       if (hostapd_read_sta_data(hapd, data, sta->addr))
-               return -1;
-
-       if (sta->last_rx_bytes > data->rx_bytes)
-               sta->acct_input_gigawords++;
-       if (sta->last_tx_bytes > data->tx_bytes)
-               sta->acct_output_gigawords++;
-       sta->last_rx_bytes = data->rx_bytes;
-       sta->last_tx_bytes = data->tx_bytes;
-
-       hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
-                      HOSTAPD_LEVEL_DEBUG, "updated TX/RX stats: "
-                      "Acct-Input-Octets=%lu Acct-Input-Gigawords=%u "
-                      "Acct-Output-Octets=%lu Acct-Output-Gigawords=%u",
-                      sta->last_rx_bytes, sta->acct_input_gigawords,
-                      sta->last_tx_bytes, sta->acct_output_gigawords);
-
-       return 0;
-}
-
-
-static void accounting_interim_update(void *eloop_ctx, void *timeout_ctx)
-{
-       struct hostapd_data *hapd = eloop_ctx;
-       struct sta_info *sta = timeout_ctx;
-       int interval;
-
-       if (sta->acct_interim_interval) {
-               accounting_sta_interim(hapd, sta);
-               interval = sta->acct_interim_interval;
-       } else {
-               struct hostap_sta_driver_data data;
-               accounting_sta_update_stats(hapd, sta, &data);
-               interval = ACCT_DEFAULT_UPDATE_INTERVAL;
-       }
-
-       eloop_register_timeout(interval, 0, accounting_interim_update,
-                              hapd, sta);
-}
-
-
-/**
- * accounting_sta_start - Start STA accounting
- * @hapd: hostapd BSS data
- * @sta: The station
- */
-void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta)
-{
-       struct radius_msg *msg;
-       int interval;
-
-       if (sta->acct_session_started)
-               return;
-
-       accounting_sta_get_id(hapd, sta);
-       hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
-                      HOSTAPD_LEVEL_INFO,
-                      "starting accounting session %08X-%08X",
-                      sta->acct_session_id_hi, sta->acct_session_id_lo);
-
-       time(&sta->acct_session_start);
-       sta->last_rx_bytes = sta->last_tx_bytes = 0;
-       sta->acct_input_gigawords = sta->acct_output_gigawords = 0;
-       hostapd_sta_clear_stats(hapd, sta->addr);
-
-       if (!hapd->conf->radius->acct_server)
-               return;
-
-       if (sta->acct_interim_interval)
-               interval = sta->acct_interim_interval;
-       else
-               interval = ACCT_DEFAULT_UPDATE_INTERVAL;
-       eloop_register_timeout(interval, 0, accounting_interim_update,
-                              hapd, sta);
-
-       msg = accounting_msg(hapd, sta, RADIUS_ACCT_STATUS_TYPE_START);
-       if (msg)
-               radius_client_send(hapd->radius, msg, RADIUS_ACCT, sta->addr);
-
-       sta->acct_session_started = 1;
-}
-
-
-static void accounting_sta_report(struct hostapd_data *hapd,
-                                 struct sta_info *sta, int stop)
-{
-       struct radius_msg *msg;
-       int cause = sta->acct_terminate_cause;
-       struct hostap_sta_driver_data data;
-       u32 gigawords;
-
-       if (!hapd->conf->radius->acct_server)
-               return;
-
-       msg = accounting_msg(hapd, sta,
-                            stop ? RADIUS_ACCT_STATUS_TYPE_STOP :
-                            RADIUS_ACCT_STATUS_TYPE_INTERIM_UPDATE);
-       if (!msg) {
-               printf("Could not create RADIUS Accounting message\n");
-               return;
-       }
-
-       if (!radius_msg_add_attr_int32(msg, RADIUS_ATTR_ACCT_SESSION_TIME,
-                                      time(NULL) - sta->acct_session_start)) {
-               printf("Could not add Acct-Session-Time\n");
-               goto fail;
-       }
-
-       if (accounting_sta_update_stats(hapd, sta, &data) == 0) {
-               if (!radius_msg_add_attr_int32(msg,
-                                              RADIUS_ATTR_ACCT_INPUT_PACKETS,
-                                              data.rx_packets)) {
-                       printf("Could not add Acct-Input-Packets\n");
-                       goto fail;
-               }
-               if (!radius_msg_add_attr_int32(msg,
-                                              RADIUS_ATTR_ACCT_OUTPUT_PACKETS,
-                                              data.tx_packets)) {
-                       printf("Could not add Acct-Output-Packets\n");
-                       goto fail;
-               }
-               if (!radius_msg_add_attr_int32(msg,
-                                              RADIUS_ATTR_ACCT_INPUT_OCTETS,
-                                              data.rx_bytes)) {
-                       printf("Could not add Acct-Input-Octets\n");
-                       goto fail;
-               }
-               gigawords = sta->acct_input_gigawords;
-#if __WORDSIZE == 64
-               gigawords += data.rx_bytes >> 32;
-#endif
-               if (gigawords &&
-                   !radius_msg_add_attr_int32(
-                           msg, RADIUS_ATTR_ACCT_INPUT_GIGAWORDS,
-                           gigawords)) {
-                       printf("Could not add Acct-Input-Gigawords\n");
-                       goto fail;
-               }
-               if (!radius_msg_add_attr_int32(msg,
-                                              RADIUS_ATTR_ACCT_OUTPUT_OCTETS,
-                                              data.tx_bytes)) {
-                       printf("Could not add Acct-Output-Octets\n");
-                       goto fail;
-               }
-               gigawords = sta->acct_output_gigawords;
-#if __WORDSIZE == 64
-               gigawords += data.tx_bytes >> 32;
-#endif
-               if (gigawords &&
-                   !radius_msg_add_attr_int32(
-                           msg, RADIUS_ATTR_ACCT_OUTPUT_GIGAWORDS,
-                           gigawords)) {
-                       printf("Could not add Acct-Output-Gigawords\n");
-                       goto fail;
-               }
-       }
-
-       if (!radius_msg_add_attr_int32(msg, RADIUS_ATTR_EVENT_TIMESTAMP,
-                                      time(NULL))) {
-               printf("Could not add Event-Timestamp\n");
-               goto fail;
-       }
-
-       if (eloop_terminated())
-               cause = RADIUS_ACCT_TERMINATE_CAUSE_ADMIN_REBOOT;
-
-       if (stop && cause &&
-           !radius_msg_add_attr_int32(msg, RADIUS_ATTR_ACCT_TERMINATE_CAUSE,
-                                      cause)) {
-               printf("Could not add Acct-Terminate-Cause\n");
-               goto fail;
-       }
-
-       radius_client_send(hapd->radius, msg,
-                          stop ? RADIUS_ACCT : RADIUS_ACCT_INTERIM,
-                          sta->addr);
-       return;
-
- fail:
-       radius_msg_free(msg);
-       os_free(msg);
-}
-
-
-/**
- * accounting_sta_interim - Send a interim STA accounting report
- * @hapd: hostapd BSS data
- * @sta: The station
- */
-void accounting_sta_interim(struct hostapd_data *hapd, struct sta_info *sta)
-{
-       if (sta->acct_session_started)
-               accounting_sta_report(hapd, sta, 0);
-}
-
-
-/**
- * accounting_sta_stop - Stop STA accounting
- * @hapd: hostapd BSS data
- * @sta: The station
- */
-void accounting_sta_stop(struct hostapd_data *hapd, struct sta_info *sta)
-{
-       if (sta->acct_session_started) {
-               accounting_sta_report(hapd, sta, 1);
-               eloop_cancel_timeout(accounting_interim_update, hapd, sta);
-               hostapd_logger(hapd, sta->addr, HOSTAPD_MODULE_RADIUS,
-                              HOSTAPD_LEVEL_INFO,
-                              "stopped accounting session %08X-%08X",
-                              sta->acct_session_id_hi,
-                              sta->acct_session_id_lo);
-               sta->acct_session_started = 0;
-       }
-}
-
-
-static void accounting_sta_get_id(struct hostapd_data *hapd,
-                                 struct sta_info *sta)
-{
-       sta->acct_session_id_lo = hapd->acct_session_id_lo++;
-       if (hapd->acct_session_id_lo == 0) {
-               hapd->acct_session_id_hi++;
-       }
-       sta->acct_session_id_hi = hapd->acct_session_id_hi;
-}
-
-
-/**
- * accounting_receive - Process the RADIUS frames from Accounting Server
- * @msg: RADIUS response message
- * @req: RADIUS request message
- * @shared_secret: RADIUS shared secret
- * @shared_secret_len: Length of shared_secret in octets
- * @data: Context data (struct hostapd_data *)
- * Returns: Processing status
- */
-static RadiusRxResult
-accounting_receive(struct radius_msg *msg, struct radius_msg *req,
-                  const u8 *shared_secret, size_t shared_secret_len,
-                  void *data)
-{
-       if (msg->hdr->code != RADIUS_CODE_ACCOUNTING_RESPONSE) {
-               printf("Unknown RADIUS message code\n");
-               return RADIUS_RX_UNKNOWN;
-       }
-
-       if (radius_msg_verify(msg, shared_secret, shared_secret_len, req, 0)) {
-               printf("Incoming RADIUS packet did not have correct "
-                      "Authenticator - dropped\n");
-               return RADIUS_RX_INVALID_AUTHENTICATOR;
-       }
-
-       return RADIUS_RX_PROCESSED;
-}
-
-
-static void accounting_report_state(struct hostapd_data *hapd, int on)
-{
-       struct radius_msg *msg;
-
-       if (!hapd->conf->radius->acct_server || hapd->radius == NULL)
-               return;
-
-       /* Inform RADIUS server that accounting will start/stop so that the
-        * server can close old accounting sessions. */
-       msg = accounting_msg(hapd, NULL,
-                            on ? RADIUS_ACCT_STATUS_TYPE_ACCOUNTING_ON :
-                            RADIUS_ACCT_STATUS_TYPE_ACCOUNTING_OFF);
-       if (!msg)
-               return;
-
-       if (!radius_msg_add_attr_int32(msg, RADIUS_ATTR_ACCT_TERMINATE_CAUSE,
-                                      RADIUS_ACCT_TERMINATE_CAUSE_NAS_REBOOT))
-       {
-               printf("Could not add Acct-Terminate-Cause\n");
-               radius_msg_free(msg);
-               os_free(msg);
-               return;
-       }
-
-       radius_client_send(hapd->radius, msg, RADIUS_ACCT, NULL);
-}
-
-
-/**
- * accounting_init: Initialize accounting
- * @hapd: hostapd BSS data
- * Returns: 0 on success, -1 on failure
- */
-int accounting_init(struct hostapd_data *hapd)
-{
-       /* Acct-Session-Id should be unique over reboots. If reliable clock is
-        * not available, this could be replaced with reboot counter, etc. */
-       hapd->acct_session_id_hi = time(NULL);
-
-       if (radius_client_register(hapd->radius, RADIUS_ACCT,
-                                  accounting_receive, hapd))
-               return -1;
-
-       accounting_report_state(hapd, 1);
-
-       return 0;
-}
-
-
-/**
- * accounting_deinit: Deinitilize accounting
- * @hapd: hostapd BSS data
- */
-void accounting_deinit(struct hostapd_data *hapd)
-{
-       accounting_report_state(hapd, 0);
-}
-
-
-int accounting_reconfig(struct hostapd_data *hapd,
-                       struct hostapd_config *oldconf)
-{
-       if (!hapd->radius_client_reconfigured)
-               return 0;
-
-       accounting_deinit(hapd);
-       return accounting_init(hapd);
-}
diff --git a/contrib/hostapd/hostapd/accounting.h b/contrib/hostapd/hostapd/accounting.h
deleted file mode 100644 (file)
index 51e6b4d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * hostapd / RADIUS Accounting
- * Copyright (c) 2002-2005, Jouni Malinen <j@w1.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#ifndef ACCOUNTING_H
-#define ACCOUNTING_H
-
-void accounting_sta_start(struct hostapd_data *hapd, struct sta_info *sta);
-void accounting_sta_interim(struct hostapd_data *hapd, struct sta_info *sta);
-void accounting_sta_stop(struct hostapd_data *hapd, struct sta_info *sta);
-int accounting_init(struct hostapd_data *hapd);
-void accounting_deinit(struct hostapd_data *hapd);
-int accounting_reconfig(struct hostapd_data *hapd,
-                       struct hostapd_config *oldconf);
-
-#endif /* ACCOUNTING_H */
diff --git a/contrib/hostapd/hostapd/ap.h b/contrib/hostapd/hostapd/ap.h
deleted file mode 100644 (file)
index 2c6d7e9..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * hostapd / Station table data structures
- * Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#ifndef AP_H
-#define AP_H
-
-#ifdef CONFIG_IEEE80211N
-#include "ieee802_11_defs.h"
-#endif /* CONFIG_IEEE80211N */
-
-/* STA flags */
-#define WLAN_STA_AUTH BIT(0)
-#define WLAN_STA_ASSOC BIT(1)
-#define WLAN_STA_PS BIT(2)
-#define WLAN_STA_TIM BIT(3)
-#define WLAN_STA_PERM BIT(4)
-#define WLAN_STA_AUTHORIZED BIT(5)
-#define WLAN_STA_PENDING_POLL BIT(6) /* pending activity poll not ACKed */
-#define WLAN_STA_SHORT_PREAMBLE BIT(7)
-#define WLAN_STA_PREAUTH BIT(8)
-#define WLAN_STA_WMM BIT(9)
-#define WLAN_STA_MFP BIT(10)
-#define WLAN_STA_HT BIT(11)
-#define WLAN_STA_WPS BIT(12)
-#define WLAN_STA_MAYBE_WPS BIT(13)
-#define WLAN_STA_NONERP BIT(31)
-
-/* Maximum number of supported rates (from both Supported Rates and Extended
- * Supported Rates IEs). */
-#define WLAN_SUPP_RATES_MAX 32
-
-
-struct sta_info {
-       struct sta_info *next; /* next entry in sta list */
-       struct sta_info *hnext; /* next entry in hash table list */
-       u8 addr[6];
-       u16 aid; /* STA's unique AID (1 .. 2007) or 0 if not yet assigned */
-       u32 flags;
-       u16 capability;
-       u16 listen_interval; /* or beacon_int for APs */
-       u8 supported_rates[WLAN_SUPP_RATES_MAX];
-       int supported_rates_len;
-
-       unsigned int nonerp_set:1;
-       unsigned int no_short_slot_time_set:1;
-       unsigned int no_short_preamble_set:1;
-       unsigned int no_ht_gf_set:1;
-       unsigned int no_ht_set:1;
-       unsigned int ht_20mhz_set:1;
-
-       u16 auth_alg;
-       u8 previous_ap[6];
-
-       enum {
-               STA_NULLFUNC = 0, STA_DISASSOC, STA_DEAUTH, STA_REMOVE
-       } timeout_next;
-
-       /* IEEE 802.1X related data */
-       struct eapol_state_machine *eapol_sm;
-
-       /* IEEE 802.11f (IAPP) related data */
-       struct ieee80211_mgmt *last_assoc_req;
-
-       u32 acct_session_id_hi;
-       u32 acct_session_id_lo;
-       time_t acct_session_start;
-       int acct_session_started;
-       int acct_terminate_cause; /* Acct-Terminate-Cause */
-       int acct_interim_interval; /* Acct-Interim-Interval */
-
-       unsigned long last_rx_bytes;
-       unsigned long last_tx_bytes;
-       u32 acct_input_gigawords; /* Acct-Input-Gigawords */
-       u32 acct_output_gigawords; /* Acct-Output-Gigawords */
-
-       u8 *challenge; /* IEEE 802.11 Shared Key Authentication Challenge */
-
-       struct wpa_state_machine *wpa_sm;
-       struct rsn_preauth_interface *preauth_iface;
-
-       struct hostapd_ssid *ssid; /* SSID selection based on (Re)AssocReq */
-       struct hostapd_ssid *ssid_probe; /* SSID selection based on ProbeReq */
-
-       int vlan_id;
-
-#ifdef CONFIG_IEEE80211N
-       struct ht_cap_ie ht_capabilities; /* IEEE 802.11n capabilities */
-#endif /* CONFIG_IEEE80211N */
-
-#ifdef CONFIG_IEEE80211W
-       int sa_query_count; /* number of pending SA Query requests;
-                            * 0 = no SA Query in progress */
-       int sa_query_timed_out;
-       u8 *sa_query_trans_id; /* buffer of WLAN_SA_QUERY_TR_ID_LEN *
-                               * sa_query_count octets of pending SA Query
-                               * transaction identifiers */
-       struct os_time sa_query_start;
-#endif /* CONFIG_IEEE80211W */
-
-       struct wpabuf *wps_ie; /* WPS IE from (Re)Association Request */
-};
-
-
-/* Maximum number of AIDs to use for STAs; must be 2007 or lower
- * (8802.11 limitation) */
-#define MAX_AID_TABLE_SIZE 128
-
-#define STA_HASH_SIZE 256
-#define STA_HASH(sta) (sta[5])
-
-
-/* Default value for maximum station inactivity. After AP_MAX_INACTIVITY has
- * passed since last received frame from the station, a nullfunc data frame is
- * sent to the station. If this frame is not acknowledged and no other frames
- * have been received, the station will be disassociated after
- * AP_DISASSOC_DELAY seconds. Similarily, the station will be deauthenticated
- * after AP_DEAUTH_DELAY seconds has passed after disassociation. */
-#define AP_MAX_INACTIVITY (5 * 60)
-#define AP_DISASSOC_DELAY (1)
-#define AP_DEAUTH_DELAY (1)
-/* Number of seconds to keep STA entry with Authenticated flag after it has
- * been disassociated. */
-#define AP_MAX_INACTIVITY_AFTER_DISASSOC (1 * 30)
-/* Number of seconds to keep STA entry after it has been deauthenticated. */
-#define AP_MAX_INACTIVITY_AFTER_DEAUTH (1 * 5)
-
-#endif /* AP_H */
diff --git a/contrib/hostapd/hostapd/ap_list.c b/contrib/hostapd/hostapd/ap_list.c
deleted file mode 100644 (file)
index 4f217dc..0000000
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- * hostapd / AP table
- * Copyright (c) 2002-2003, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2003-2004, Instant802 Networks, Inc.
- * Copyright (c) 2006, Devicescape Software, Inc.
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#include "includes.h"
-
-#include "hostapd.h"
-#include "ieee802_11.h"
-#include "eloop.h"
-#include "ap_list.h"
-#include "hw_features.h"
-#include "beacon.h"
-
-
-struct ieee80211_frame_info {
-       u32 version;
-       u32 length;
-       u64 mactime;
-       u64 hosttime;
-       u32 phytype;
-       u32 channel;
-       u32 datarate;
-       u32 antenna;
-       u32 priority;
-       u32 ssi_type;
-       u32 ssi_signal;
-       u32 ssi_noise;
-       u32 preamble;
-       u32 encoding;
-
-       /* Note: this structure is otherwise identical to capture format used
-        * in linux-wlan-ng, but this additional field is used to provide meta
-        * data about the frame to hostapd. This was the easiest method for
-        * providing this information, but this might change in the future. */
-       u32 msg_type;
-} __attribute__ ((packed));
-
-
-enum ieee80211_phytype {
-       ieee80211_phytype_fhss_dot11_97  = 1,
-       ieee80211_phytype_dsss_dot11_97  = 2,
-       ieee80211_phytype_irbaseband     = 3,
-       ieee80211_phytype_dsss_dot11_b   = 4,
-       ieee80211_phytype_pbcc_dot11_b   = 5,
-       ieee80211_phytype_ofdm_dot11_g   = 6,
-       ieee80211_phytype_pbcc_dot11_g   = 7,
-       ieee80211_phytype_ofdm_dot11_a   = 8,
-       ieee80211_phytype_dsss_dot11_turbog = 255,
-       ieee80211_phytype_dsss_dot11_turbo = 256,
-};
-
-
-/* AP list is a double linked list with head->prev pointing to the end of the
- * list and tail->next = NULL. Entries are moved to the head of the list
- * whenever a beacon has been received from the AP in question. The tail entry
- * in this link will thus be the least recently used entry. */
-
-
-static void ap_list_new_ap(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       wpa_printf(MSG_DEBUG, "New AP detected: " MACSTR, MAC2STR(ap->addr));
-
-       /* TODO: could send a notification message to an external program that
-        * would then determine whether a rogue AP has been detected */
-}
-
-
-static void ap_list_expired_ap(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       wpa_printf(MSG_DEBUG, "AP info expired: " MACSTR, MAC2STR(ap->addr));
-
-       /* TODO: could send a notification message to an external program */
-}
-
-
-static int ap_list_beacon_olbc(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       int i;
-
-       if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G ||
-           ap->phytype != ieee80211_phytype_pbcc_dot11_g ||
-           iface->conf->channel != ap->channel)
-               return 0;
-
-       if (ap->erp != -1 && (ap->erp & ERP_INFO_NON_ERP_PRESENT))
-               return 1;
-
-       for (i = 0; i < WLAN_SUPP_RATES_MAX; i++) {
-               int rate = (ap->supported_rates[i] & 0x7f) * 5;
-               if (rate == 60 || rate == 90 || rate > 110)
-                       return 0;
-       }
-
-       return 1;
-}
-
-
-#ifdef CONFIG_IEEE80211N
-static int ap_list_beacon_olbc_ht(struct hostapd_iface *iface,
-                                 struct ap_info *ap)
-{
-       return !ap->ht_support;
-}
-#endif /* CONFIG_IEEE80211N */
-
-
-struct ap_info * ap_get_ap(struct hostapd_iface *iface, u8 *ap)
-{
-       struct ap_info *s;
-
-       s = iface->ap_hash[STA_HASH(ap)];
-       while (s != NULL && os_memcmp(s->addr, ap, ETH_ALEN) != 0)
-               s = s->hnext;
-       return s;
-}
-
-
-static void ap_ap_list_add(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       if (iface->ap_list) {
-               ap->prev = iface->ap_list->prev;
-               iface->ap_list->prev = ap;
-       } else
-               ap->prev = ap;
-       ap->next = iface->ap_list;
-       iface->ap_list = ap;
-}
-
-
-static void ap_ap_list_del(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       if (iface->ap_list == ap)
-               iface->ap_list = ap->next;
-       else
-               ap->prev->next = ap->next;
-
-       if (ap->next)
-               ap->next->prev = ap->prev;
-       else if (iface->ap_list)
-               iface->ap_list->prev = ap->prev;
-}
-
-
-static void ap_ap_iter_list_add(struct hostapd_iface *iface,
-                               struct ap_info *ap)
-{
-       if (iface->ap_iter_list) {
-               ap->iter_prev = iface->ap_iter_list->iter_prev;
-               iface->ap_iter_list->iter_prev = ap;
-       } else
-               ap->iter_prev = ap;
-       ap->iter_next = iface->ap_iter_list;
-       iface->ap_iter_list = ap;
-}
-
-
-static void ap_ap_iter_list_del(struct hostapd_iface *iface,
-                               struct ap_info *ap)
-{
-       if (iface->ap_iter_list == ap)
-               iface->ap_iter_list = ap->iter_next;
-       else
-               ap->iter_prev->iter_next = ap->iter_next;
-
-       if (ap->iter_next)
-               ap->iter_next->iter_prev = ap->iter_prev;
-       else if (iface->ap_iter_list)
-               iface->ap_iter_list->iter_prev = ap->iter_prev;
-}
-
-
-static void ap_ap_hash_add(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       ap->hnext = iface->ap_hash[STA_HASH(ap->addr)];
-       iface->ap_hash[STA_HASH(ap->addr)] = ap;
-}
-
-
-static void ap_ap_hash_del(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       struct ap_info *s;
-
-       s = iface->ap_hash[STA_HASH(ap->addr)];
-       if (s == NULL) return;
-       if (os_memcmp(s->addr, ap->addr, ETH_ALEN) == 0) {
-               iface->ap_hash[STA_HASH(ap->addr)] = s->hnext;
-               return;
-       }
-
-       while (s->hnext != NULL &&
-              os_memcmp(s->hnext->addr, ap->addr, ETH_ALEN) != 0)
-               s = s->hnext;
-       if (s->hnext != NULL)
-               s->hnext = s->hnext->hnext;
-       else
-               printf("AP: could not remove AP " MACSTR " from hash table\n",
-                      MAC2STR(ap->addr));
-}
-
-
-static void ap_free_ap(struct hostapd_iface *iface, struct ap_info *ap)
-{
-       ap_ap_hash_del(iface, ap);
-       ap_ap_list_del(iface, ap);
-       ap_ap_iter_list_del(iface, ap);
-
-       iface->num_ap--;
-       os_free(ap);
-}
-
-
-static void hostapd_free_aps(struct hostapd_iface *iface)
-{
-       struct ap_info *ap, *prev;
-
-       ap = iface->ap_list;
-
-       while (ap) {
-               prev = ap;
-               ap = ap->next;
-               ap_free_ap(iface, prev);
-       }
-
-       iface->ap_list = NULL;
-}
-
-
-int ap_ap_for_each(struct hostapd_iface *iface,
-                  int (*func)(struct ap_info *s, void *data), void *data)
-{
-       struct ap_info *s;
-       int ret = 0;
-
-       s = iface->ap_list;
-
-       while (s) {
-               ret = func(s, data);
-               if (ret)
-                       break;
-               s = s->next;
-       }
-
-       return ret;
-}
-
-
-static struct ap_info * ap_ap_add(struct hostapd_iface *iface, u8 *addr)
-{
-       struct ap_info *ap;
-
-       ap = os_zalloc(sizeof(struct ap_info));
-       if (ap == NULL)
-               return NULL;
-
-       /* initialize AP info data */
-       os_memcpy(ap->addr, addr, ETH_ALEN);
-       ap_ap_list_add(iface, ap);
-       iface->num_ap++;
-       ap_ap_hash_add(iface, ap);
-       ap_ap_iter_list_add(iface, ap);
-
-       if (iface->num_ap > iface->conf->ap_table_max_size && ap != ap->prev) {
-               wpa_printf(MSG_DEBUG, "Removing the least recently used AP "
-                          MACSTR " from AP table", MAC2STR(ap->prev->addr));
-               if (iface->conf->passive_scan_interval > 0)
-                       ap_list_expired_ap(iface, ap->prev);
-               ap_free_ap(iface, ap->prev);
-       }
-
-       return ap;
-}
-
-
-void ap_list_process_beacon(struct hostapd_iface *iface,
-                           struct ieee80211_mgmt *mgmt,
-                           struct ieee802_11_elems *elems,
-                           struct hostapd_frame_info *fi)
-{
-       struct ap_info *ap;
-       int new_ap = 0;
-       size_t len;
-       int set_beacon = 0;
-
-       if (iface->conf->ap_table_max_size < 1)
-               return;
-
-       ap = ap_get_ap(iface, mgmt->bssid);
-       if (!ap) {
-               ap = ap_ap_add(iface, mgmt->bssid);
-               if (!ap) {
-                       printf("Failed to allocate AP information entry\n");
-                       return;
-               }
-               new_ap = 1;
-       }
-
-       ap->beacon_int = le_to_host16(mgmt->u.beacon.beacon_int);
-       ap->capability = le_to_host16(mgmt->u.beacon.capab_info);
-
-       if (elems->ssid) {
-               len = elems->ssid_len;
-               if (len >= sizeof(ap->ssid))
-                       len = sizeof(ap->ssid) - 1;
-               os_memcpy(ap->ssid, elems->ssid, len);
-               ap->ssid[len] = '\0';
-               ap->ssid_len = len;
-       }
-
-       os_memset(ap->supported_rates, 0, WLAN_SUPP_RATES_MAX);
-       len = 0;
-       if (elems->supp_rates) {
-               len = elems->supp_rates_len;
-               if (len > WLAN_SUPP_RATES_MAX)
-                       len = WLAN_SUPP_RATES_MAX;
-               os_memcpy(ap->supported_rates, elems->supp_rates, len);
-       }
-       if (elems->ext_supp_rates) {
-               int len2;
-               if (len + elems->ext_supp_rates_len > WLAN_SUPP_RATES_MAX)
-                       len2 = WLAN_SUPP_RATES_MAX - len;
-               else
-                       len2 = elems->ext_supp_rates_len;
-               os_memcpy(ap->supported_rates + len, elems->ext_supp_rates,
-                         len2);
-       }
-
-       ap->wpa = elems->wpa_ie != NULL;
-
-       if (elems->erp_info && elems->erp_info_len == 1)
-               ap->erp = elems->erp_info[0];
-       else
-               ap->erp = -1;
-
-       if (elems->ds_params && elems->ds_params_len == 1)
-               ap->channel = elems->ds_params[0];
-       else if (fi)
-               ap->channel = fi->channel;
-
-       if (elems->ht_capabilities)
-               ap->ht_support = 1;
-       else
-               ap->ht_support = 0;
-
-       ap->num_beacons++;
-       time(&ap->last_beacon);
-       if (fi) {
-               ap->phytype = fi->phytype;
-               ap->ssi_signal = fi->ssi_signal;
-               ap->datarate = fi->datarate;
-       }
-
-       if (new_ap) {
-               if (iface->conf->passive_scan_interval > 0)
-                       ap_list_new_ap(iface, ap);
-       } else if (ap != iface->ap_list) {
-               /* move AP entry into the beginning of the list so that the
-                * oldest entry is always in the end of the list */
-               ap_ap_list_del(iface, ap);
-               ap_ap_list_add(iface, ap);
-       }
-
-       if (!iface->olbc &&
-           ap_list_beacon_olbc(iface, ap)) {
-               iface->olbc = 1;
-               wpa_printf(MSG_DEBUG, "OLBC AP detected: " MACSTR " - enable "
-                          "protection", MAC2STR(ap->addr));
-               set_beacon++;
-       }
-
-#ifdef CONFIG_IEEE80211N
-       if (!iface->olbc_ht && ap_list_beacon_olbc_ht(iface, ap)) {
-               iface->olbc_ht = 1;
-               hostapd_ht_operation_update(iface);
-               wpa_printf(MSG_DEBUG, "OLBC HT AP detected: " MACSTR
-                          " - enable protection", MAC2STR(ap->addr));
-               set_beacon++;
-       }
-#endif /* CONFIG_IEEE80211N */
-
-       if (set_beacon)
-               ieee802_11_set_beacons(iface);
-}
-
-
-static void ap_list_timer(void *eloop_ctx, void *timeout_ctx)
-{
-       struct hostapd_iface *iface = eloop_ctx;
-       time_t now;
-       struct ap_info *ap;
-       int set_beacon = 0;
-
-       eloop_register_timeout(10, 0, ap_list_timer, iface, NULL);
-
-       if (!iface->ap_list)
-               return;
-
-       time(&now);
-
-       /* FIX: it looks like jkm-Purina ended up in busy loop in this
-        * function. Apparently, something can still cause a loop in the AP
-        * list.. */
-
-       while (iface->ap_list) {
-               ap = iface->ap_list->prev;
-               if (ap->last_beacon + iface->conf->ap_table_expiration_time >=
-                   now)
-                       break;
-
-               if (iface->conf->passive_scan_interval > 0)
-                       ap_list_expired_ap(iface, ap);
-               ap_free_ap(iface, ap);
-       }
-
-       if (iface->olbc || iface->olbc_ht) {
-               int olbc = 0;
-               int olbc_ht = 0;
-
-               ap = iface->ap_list;
-               while (ap && (olbc == 0 || olbc_ht == 0)) {
-                       if (ap_list_beacon_olbc(iface, ap))
-                               olbc = 1;
-#ifdef CONFIG_IEEE80211N
-                       if (ap_list_beacon_olbc_ht(iface, ap))
-                               olbc_ht = 1;
-#endif /* CONFIG_IEEE80211N */
-                       ap = ap->next;
-               }
-               if (!olbc && iface->olbc) {
-                       wpa_printf(MSG_DEBUG, "OLBC not detected anymore");
-                       iface->olbc = 0;
-                       set_beacon++;
-               }
-#ifdef CONFIG_IEEE80211N
-               if (!olbc_ht && iface->olbc_ht) {
-                       wpa_printf(MSG_DEBUG, "OLBC HT not detected anymore");
-                       iface->olbc_ht = 0;
-                       hostapd_ht_operation_update(iface);
-                       set_beacon++;
-               }
-#endif /* CONFIG_IEEE80211N */
-       }
-
-       if (set_beacon)
-               ieee802_11_set_beacons(iface);
-}
-
-
-int ap_list_init(struct hostapd_iface *iface)
-{
-       eloop_register_timeout(10, 0, ap_list_timer, iface, NULL);
-       return 0;
-}
-
-
-void ap_list_deinit(struct hostapd_iface *iface)
-{
-       eloop_cancel_timeout(ap_list_timer, iface, NULL);
-       hostapd_free_aps(iface);
-}
-
-
-int ap_list_reconfig(struct hostapd_iface *iface,
-                    struct hostapd_config *oldconf)
-{
-       time_t now;
-       struct ap_info *ap;
-
-       if (iface->conf->ap_table_max_size == oldconf->ap_table_max_size &&
-           iface->conf->ap_table_expiration_time ==
-           oldconf->ap_table_expiration_time)
-               return 0;
-
-       time(&now);
-
-       while (iface->ap_list) {
-               ap = iface->ap_list->prev;
-               if (iface->num_ap <= iface->conf->ap_table_max_size &&
-                   ap->last_beacon + iface->conf->ap_table_expiration_time >=
-                   now)
-                       break;
-
-               if (iface->conf->passive_scan_interval > 0)
-                       ap_list_expired_ap(iface, iface->ap_list->prev);
-               ap_free_ap(iface, iface->ap_list->prev);
-       }
-
-       return 0;
-}
diff --git a/contrib/hostapd/hostapd/ap_list.h b/contrib/hostapd/hostapd/ap_list.h
deleted file mode 100644 (file)
index 93704f8..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * hostapd / AP table
- * Copyright (c) 2002-2003, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2003-2004, Instant802 Networks, Inc.
- * Copyright (c) 2006, Devicescape Software, Inc.
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#ifndef AP_LIST_H
-#define AP_LIST_H
-
-struct ap_info {
-       /* Note: next/prev pointers are updated whenever a new beacon is
-        * received because these are used to find the least recently used
-        * entries. iter_next/iter_prev are updated only when adding new BSSes
-        * and when removing old ones. These should be used when iterating
-        * through the table in a manner that allows beacons to be received
-        * during the iteration. */
-       struct ap_info *next; /* next entry in AP list */
-       struct ap_info *prev; /* previous entry in AP list */
-       struct ap_info *hnext; /* next entry in hash table list */
-       struct ap_info *iter_next; /* next entry in AP iteration list */
-       struct ap_info *iter_prev; /* previous entry in AP iteration list */
-       u8 addr[6];
-       u16 beacon_int;
-       u16 capability;
-       u8 supported_rates[WLAN_SUPP_RATES_MAX];
-       u8 ssid[33];
-       size_t ssid_len;
-       int wpa;
-       int erp; /* ERP Info or -1 if ERP info element not present */
-
-       int phytype; /* .11a / .11b / .11g / Atheros Turbo */
-       int channel;
-       int datarate; /* in 100 kbps */
-       int ssi_signal;
-
-       int ht_support;
-
-       unsigned int num_beacons; /* number of beacon frames received */
-       time_t last_beacon;
-
-       int already_seen; /* whether API call AP-NEW has already fetched
-                          * information about this AP */
-};
-
-struct ieee802_11_elems;
-struct hostapd_frame_info;
-
-struct ap_info * ap_get_ap(struct hostapd_iface *iface, u8 *sta);
-int ap_ap_for_each(struct hostapd_iface *iface,
-                  int (*func)(struct ap_info *s, void *data), void *data);
-void ap_list_process_beacon(struct hostapd_iface *iface,
-                           struct ieee80211_mgmt *mgmt,
-                           struct ieee802_11_elems *elems,
-                           struct hostapd_frame_info *fi);
-int ap_list_init(struct hostapd_iface *iface);
-void ap_list_deinit(struct hostapd_iface *iface);
-int ap_list_reconfig(struct hostapd_iface *iface,
-                    struct hostapd_config *oldconf);
-
-#endif /* AP_LIST_H */
diff --git a/contrib/hostapd/hostapd/beacon.c b/contrib/hostapd/hostapd/beacon.c
deleted file mode 100644 (file)
index 1f82d9c..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-/*
- * hostapd / IEEE 802.11 Management: Beacon and Probe Request/Response
- * Copyright (c) 2002-2004, Instant802 Networks, Inc.
- * Copyright (c) 2005-2006, Devicescape Software, Inc.
- * Copyright (c) 2008, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#include "includes.h"
-
-#ifndef CONFIG_NATIVE_WINDOWS
-
-#include "hostapd.h"
-#include "ieee802_11.h"
-#include "wpa.h"
-#include "wme.h"
-#include "beacon.h"
-#include "hw_features.h"
-#include "driver.h"
-#include "sta_info.h"
-#include "wps_hostapd.h"
-
-
-static u8 ieee802_11_erp_info(struct hostapd_data *hapd)
-{
-       u8 erp = 0;
-
-       if (hapd->iface->current_mode == NULL ||
-           hapd->iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
-               return 0;
-
-       switch (hapd->iconf->cts_protection_type) {
-       case CTS_PROTECTION_FORCE_ENABLED:
-               erp |= ERP_INFO_NON_ERP_PRESENT | ERP_INFO_USE_PROTECTION;
-               break;
-       case CTS_PROTECTION_FORCE_DISABLED:
-               erp = 0;
-               break;
-       case CTS_PROTECTION_AUTOMATIC:
-               if (hapd->iface->olbc)
-                       erp |= ERP_INFO_USE_PROTECTION;
-               /* continue */
-       case CTS_PROTECTION_AUTOMATIC_NO_OLBC:
-               if (hapd->iface->num_sta_non_erp > 0) {
-                       erp |= ERP_INFO_NON_ERP_PRESENT |
-                               ERP_INFO_USE_PROTECTION;
-               }
-               break;
-       }
-       if (hapd->iface->num_sta_no_short_preamble > 0)
-               erp |= ERP_INFO_BARKER_PREAMBLE_MODE;
-
-       return erp;
-}
-
-
-static u8 * hostapd_eid_ds_params(struct hostapd_data *hapd, u8 *eid)
-{
-       *eid++ = WLAN_EID_DS_PARAMS;
-       *eid++ = 1;
-       *eid++ = hapd->iconf->channel;
-       return eid;
-}
-
-
-static u8 * hostapd_eid_erp_info(struct hostapd_data *hapd, u8 *eid)
-{
-       if (hapd->iface->current_mode == NULL ||
-           hapd->iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
-               return eid;
-
-       /* Set NonERP_present and use_protection bits if there
-        * are any associated NonERP stations. */
-       /* TODO: use_protection bit can be set to zero even if
-        * there are NonERP stations present. This optimization
-        * might be useful if NonERP stations are "quiet".
-        * See 802.11g/D6 E-1 for recommended practice.
-        * In addition, Non ERP present might be set, if AP detects Non ERP
-        * operation on other APs. */
-
-       /* Add ERP Information element */
-       *eid++ = WLAN_EID_ERP_INFO;
-       *eid++ = 1;
-       *eid++ = ieee802_11_erp_info(hapd);
-
-       return eid;
-}
-
-
-static u8 * hostapd_eid_country_add(u8 *pos, u8 *end, int chan_spacing,
-                                   struct hostapd_channel_data *start,
-                                   struct hostapd_channel_data *prev)
-{
-       if (end - pos < 3)
-               return pos;
-
-       /* first channel number */
-       *pos++ = start->chan;
-       /* number of channels */
-       *pos++ = (prev->chan - start->chan) / chan_spacing + 1;
-       /* maximum transmit power level */
-       *pos++ = start->max_tx_power;
-
-       return pos;
-}
-
-
-static u8 * hostapd_eid_country(struct hostapd_data *hapd, u8 *eid,
-                               int max_len)
-{
-       u8 *pos = eid;
-       u8 *end = eid + max_len;
-       int i;
-       struct hostapd_hw_modes *mode;
-       struct hostapd_channel_data *start, *prev;
-       int chan_spacing = 1;
-
-       if (!hapd->iconf->ieee80211d || max_len < 6 ||
-           hapd->iface->current_mode == NULL)
-               return eid;
-
-       *pos++ = WLAN_EID_COUNTRY;
-       pos++; /* length will be set later */
-       os_memcpy(pos, hapd->iconf->country, 3); /* e.g., 'US ' */
-       pos += 3;
-
-       mode = hapd->iface->current_mode;
-       if (mode->mode == HOSTAPD_MODE_IEEE80211A)
-               chan_spacing = 4;
-
-       start = prev = NULL;
-       for (i = 0; i < mode->num_channels; i++) {
-               struct hostapd_channel_data *chan = &mode->channels[i];
-               if (chan->flag & HOSTAPD_CHAN_DISABLED)
-                       continue;
-               if (start && prev &&
-                   prev->chan + chan_spacing == chan->chan &&
-                   start->max_tx_power == chan->max_tx_power) {
-                       prev = chan;
-                       continue; /* can use same entry */
-               }
-
-               if (start) {
-                       pos = hostapd_eid_country_add(pos, end, chan_spacing,
-                                                     start, prev);
-                       start = NULL;
-               }
-
-               /* Start new group */
-               start = prev = chan;
-       }
-
-       if (start) {
-               pos = hostapd_eid_country_add(pos, end, chan_spacing,
-                                             start, prev);
-       }
-
-       if ((pos - eid) & 1) {
-               if (end - pos < 1)
-                       return eid;
-               *pos++ = 0; /* pad for 16-bit alignment */
-       }
-
-       eid[1] = (pos - eid) - 2;
-
-       return pos;
-}
-
-
-static u8 * hostapd_eid_wpa(struct hostapd_data *hapd, u8 *eid, size_t len,
-                           struct sta_info *sta)
-{
-       const u8 *ie;
-       size_t ielen;
-
-       ie = wpa_auth_get_wpa_ie(hapd->wpa_auth, &ielen);
-       if (ie == NULL || ielen > len)
-               return eid;
-
-       os_memcpy(eid, ie, ielen);
-       return eid + ielen;
-}
-
-
-void handle_probe_req(struct hostapd_data *hapd, struct ieee80211_mgmt *mgmt,
-                     size_t len)
-{
-       struct ieee80211_mgmt *resp;
-       struct ieee802_11_elems elems;
-       char *ssid;
-       u8 *pos, *epos, *ie;
-       size_t ssid_len, ie_len;
-       struct sta_info *sta = NULL;
-
-       ie = mgmt->u.probe_req.variable;
-       ie_len = len - (IEEE80211_HDRLEN + sizeof(mgmt->u.probe_req));
-
-       hostapd_wps_probe_req_rx(hapd, mgmt->sa, ie, ie_len);
-
-       if (!hapd->iconf->send_probe_response)
-               return;
-
-       if (ieee802_11_parse_elems(ie, ie_len, &elems, 0) == ParseFailed) {
-               wpa_printf(MSG_DEBUG, "Could not parse ProbeReq from " MACSTR,
-                          MAC2STR(mgmt->sa));
-               return;
-       }
-
-       ssid = NULL;
-       ssid_len = 0;
-
-       if ((!elems.ssid || !elems.supp_rates)) {
-               wpa_printf(MSG_DEBUG, "STA " MACSTR " sent probe request "
-                          "without SSID or supported rates element",
-                          MAC2STR(mgmt->sa));
-               return;
-       }
-
-       if (hapd->conf->ignore_broadcast_ssid && elems.ssid_len == 0) {
-               wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR " for "
-                          "broadcast SSID ignored", MAC2STR(mgmt->sa));
-               return;
-       }
-
-       sta = ap_get_sta(hapd, mgmt->sa);
-
-       if (elems.ssid_len == 0 ||
-           (elems.ssid_len == hapd->conf->ssid.ssid_len &&
-            os_memcmp(elems.ssid, hapd->conf->ssid.ssid, elems.ssid_len) ==
-            0)) {
-               ssid = hapd->conf->ssid.ssid;
-               ssid_len = hapd->conf->ssid.ssid_len;
-               if (sta)
-                       sta->ssid_probe = &hapd->conf->ssid;
-       }
-
-       if (!ssid) {
-               if (!(mgmt->da[0] & 0x01)) {
-                       char ssid_txt[33];
-                       ieee802_11_print_ssid(ssid_txt, elems.ssid,
-                                             elems.ssid_len);
-                       wpa_printf(MSG_MSGDUMP, "Probe Request from " MACSTR
-                                  " for foreign SSID '%s'",
-                                  MAC2STR(mgmt->sa), ssid_txt);
-               }
-               return;
-       }
-
-       /* TODO: verify that supp_rates contains at least one matching rate
-        * with AP configuration */
-#define MAX_PROBERESP_LEN 768
-       resp = os_zalloc(MAX_PROBERESP_LEN);
-       if (resp == NULL)
-               return;
-       epos = ((u8 *) resp) + MAX_PROBERESP_LEN;
-
-       resp->frame_control = IEEE80211_FC(WLAN_FC_TYPE_MGMT,
-                                          WLAN_FC_STYPE_PROBE_RESP);
-       os_memcpy(resp->da, mgmt->sa, ETH_ALEN);
-       os_memcpy(resp->sa, hapd->own_addr, ETH_ALEN);
-
-       os_memcpy(resp->bssid, hapd->own_addr, ETH_ALEN);
-       resp->u.probe_resp.beacon_int =
-               host_to_le16(hapd->iconf->beacon_int);
-
-       /* hardware or low-level driver will setup seq_ctrl and timestamp */
-       resp->u.probe_resp.capab_info =
-               host_to_le16(hostapd_own_capab_info(hapd, sta, 1));
-
-       pos = resp->u.probe_resp.variable;
-       *pos++ = WLAN_EID_SSID;
-       *pos++ = ssid_len;
-       os_memcpy(pos, ssid, ssid_len);
-       pos += ssid_len;
-
-       /* Supported rates */
-       pos = hostapd_eid_supp_rates(hapd, pos);
-
-       /* DS Params */
-       pos = hostapd_eid_ds_params(hapd, pos);
-
-       pos = hostapd_eid_country(hapd, pos, epos - pos);
-
-       /* ERP Information element */
-       pos = hostapd_eid_erp_info(hapd, pos);
-
-       /* Extended supported rates */
-       pos = hostapd_eid_ext_supp_rates(hapd, pos);
-
-       pos = hostapd_eid_wpa(hapd, pos, epos - pos, sta);
-
-       /* Wi-Fi Alliance WMM */
-       pos = hostapd_eid_wmm(hapd, pos);
-
-       pos = hostapd_eid_ht_capabilities_info(hapd, pos);
-       pos = hostapd_eid_ht_operation(hapd, pos);
-
-#ifdef CONFIG_WPS
-       if (hapd->conf->wps_state && hapd->wps_probe_resp_ie) {
-               os_memcpy(pos, hapd->wps_probe_resp_ie,
-                         hapd->wps_probe_resp_ie_len);
-               pos += hapd->wps_probe_resp_ie_len;
-       }
-#endif /* CONFIG_WPS */
-
-       if (hostapd_send_mgmt_frame(hapd, resp, pos - (u8 *) resp, 0) < 0)
-               perror("handle_probe_req: send");
-
-       os_free(resp);
-
-       wpa_printf(MSG_MSGDUMP, "STA " MACSTR " sent probe request for %s "
-                  "SSID", MAC2STR(mgmt->sa),
-                  elems.ssid_len == 0 ? "broadcast" : "our");
-}
-
-
-void ieee802_11_set_beacon(struct hostapd_data *hapd)
-{
-       struct ieee80211_mgmt *head;
-       u8 *pos, *tail, *tailpos;
-       int preamble;
-       u16 capab_info;
-       size_t head_len, tail_len;
-       int cts_protection = ((ieee802_11_erp_info(hapd) &
-                             ERP_INFO_USE_PROTECTION) ? 1 : 0);
-
-#define BEACON_HEAD_BUF_SIZE 256
-#define BEACON_TAIL_BUF_SIZE 512
-       head = os_zalloc(BEACON_HEAD_BUF_SIZE);
-       tailpos = tail = os_malloc(BEACON_TAIL_BUF_SIZE);
-       if (head == NULL || tail == NULL) {
-               wpa_printf(MSG_ERROR, "Failed to set beacon data");
-               os_free(head);
-               os_free(tail);
-               return;
-       }
-
-       head->frame_control = IEEE80211_FC(WLAN_FC_TYPE_MGMT,
-                                          WLAN_FC_STYPE_BEACON);
-       head->duration = host_to_le16(0);
-       os_memset(head->da, 0xff, ETH_ALEN);
-
-       os_memcpy(head->sa, hapd->own_addr, ETH_ALEN);
-       os_memcpy(head->bssid, hapd->own_addr, ETH_ALEN);
-       head->u.beacon.beacon_int =
-               host_to_le16(hapd->iconf->beacon_int);
-
-       /* hardware or low-level driver will setup seq_ctrl and timestamp */
-       capab_info = hostapd_own_capab_info(hapd, NULL, 0);
-       head->u.beacon.capab_info = host_to_le16(capab_info);
-       pos = &head->u.beacon.variable[0];
-
-       /* SSID */
-       *pos++ = WLAN_EID_SSID;
-       if (hapd->conf->ignore_broadcast_ssid == 2) {
-               /* clear the data, but keep the correct length of the SSID */
-               *pos++ = hapd->conf->ssid.ssid_len;
-               os_memset(pos, 0, hapd->conf->ssid.ssid_len);
-               pos += hapd->conf->ssid.ssid_len;
-       } else if (hapd->conf->ignore_broadcast_ssid) {
-               *pos++ = 0; /* empty SSID */
-       } else {
-               *pos++ = hapd->conf->ssid.ssid_len;
-               os_memcpy(pos, hapd->conf->ssid.ssid,
-                         hapd->conf->ssid.ssid_len);
-               pos += hapd->conf->ssid.ssid_len;
-       }
-
-       /* Supported rates */
-       pos = hostapd_eid_supp_rates(hapd, pos);
-
-       /* DS Params */
-       pos = hostapd_eid_ds_params(hapd, pos);
-
-       head_len = pos - (u8 *) head;
-
-       tailpos = hostapd_eid_country(hapd, tailpos,
-                                     tail + BEACON_TAIL_BUF_SIZE - tailpos);
-
-       /* ERP Information element */
-       tailpos = hostapd_eid_erp_info(hapd, tailpos);
-
-       /* Extended supported rates */
-       tailpos = hostapd_eid_ext_supp_rates(hapd, tailpos);
-
-       tailpos = hostapd_eid_wpa(hapd, tailpos, tail + BEACON_TAIL_BUF_SIZE -
-                                 tailpos, NULL);
-
-       /* Wi-Fi Alliance WMM */
-       tailpos = hostapd_eid_wmm(hapd, tailpos);
-
-#ifdef CONFIG_IEEE80211N
-       if (hapd->iconf->ieee80211n) {
-               u8 *ht_capab, *ht_oper;
-               ht_capab = tailpos;
-               tailpos = hostapd_eid_ht_capabilities_info(hapd, tailpos);
-
-               ht_oper = tailpos;
-               tailpos = hostapd_eid_ht_operation(hapd, tailpos);
-
-               if (tailpos > ht_oper && ht_oper > ht_capab &&
-                   hostapd_set_ht_params(hapd->conf->iface, hapd,
-                                         ht_capab + 2, ht_capab[1],
-                                         ht_oper + 2, ht_oper[1])) {
-                       wpa_printf(MSG_ERROR, "Could not set HT capabilities "
-                                  "for kernel driver");
-               }
-       }
-#endif /* CONFIG_IEEE80211N */
-
-#ifdef CONFIG_WPS
-       if (hapd->conf->wps_state && hapd->wps_beacon_ie) {
-               os_memcpy(tailpos, hapd->wps_beacon_ie,
-                         hapd->wps_beacon_ie_len);
-               tailpos += hapd->wps_beacon_ie_len;
-       }
-#endif /* CONFIG_WPS */
-
-       tail_len = tailpos > tail ? tailpos - tail : 0;
-
-       if (hostapd_set_beacon(hapd->conf->iface, hapd, (u8 *) head, head_len,
-                              tail, tail_len))
-               wpa_printf(MSG_ERROR, "Failed to set beacon head/tail");
-
-       os_free(tail);
-       os_free(head);
-
-       if (hostapd_set_cts_protect(hapd, cts_protection))
-               wpa_printf(MSG_ERROR, "Failed to set CTS protect in kernel "
-                          "driver");
-
-       if (hapd->iface->current_mode &&
-           hapd->iface->current_mode->mode == HOSTAPD_MODE_IEEE80211G &&
-           hostapd_set_short_slot_time(hapd,
-                                       hapd->iface->num_sta_no_short_slot_time
-                                       > 0 ? 0 : 1))
-               wpa_printf(MSG_ERROR, "Failed to set Short Slot Time option "
-                          "in kernel driver");
-
-       if (hapd->iface->num_sta_no_short_preamble == 0 &&
-           hapd->iconf->preamble == SHORT_PREAMBLE)
-               preamble = SHORT_PREAMBLE;
-       else
-               preamble = LONG_PREAMBLE;
-       if (hostapd_set_preamble(hapd, preamble))
-               wpa_printf(MSG_ERROR, "Could not set preamble for kernel "
-                          "driver");
-}
-
-
-void ieee802_11_set_beacons(struct hostapd_iface *iface)
-{
-       size_t i;
-       for (i = 0; i < iface->num_bss; i++)
-               ieee802_11_set_beacon(iface->bss[i]);
-}
-
-#endif /* CONFIG_NATIVE_WINDOWS */
diff --git a/contrib/hostapd/hostapd/beacon.h b/contrib/hostapd/hostapd/beacon.h
deleted file mode 100644 (file)
index 18e0da2..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * hostapd / IEEE 802.11 Management: Beacon and Probe Request/Response
- * Copyright (c) 2002-2004, Instant802 Networks, Inc.
- * Copyright (c) 2005-2006, Devicescape Software, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#ifndef BEACON_H
-#define BEACON_H
-
-void handle_probe_req(struct hostapd_data *hapd, struct ieee80211_mgmt *mgmt,
-                     size_t len);
-void ieee802_11_set_beacon(struct hostapd_data *hapd);
-void ieee802_11_set_beacons(struct hostapd_iface *iface);
-
-#endif /* BEACON_H */
diff --git a/contrib/hostapd/hostapd/config.c b/contrib/hostapd/hostapd/config.c
deleted file mode 100644 (file)
index 692b1a4..0000000
+++ /dev/null
@@ -1,2622 +0,0 @@
-/*
- * hostapd / Configuration file
- * Copyright (c) 2003-2008, Jouni Malinen <j@w1.fi>
- * Copyright (c) 2007-2008, Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
- */
-
-#include "includes.h"
-#ifndef CONFIG_NATIVE_WINDOWS
-#include <grp.h>
-#endif /* CONFIG_NATIVE_WINDOWS */
-
-#include "hostapd.h"
-#include "driver.h"
-#include "sha1.h"
-#include "eap_server/eap.h"
-#include "radius/radius_client.h"
-#include "wpa_common.h"
-#include "wpa.h"
-#include "uuid.h"
-#include "eap_common/eap_wsc_common.h"
-
-
-#define MAX_STA_COUNT 2007
-
-extern struct wpa_driver_ops *hostapd_drivers[];
-
-
-static int hostapd_config_read_vlan_file(struct hostapd_bss_config *bss,
-                                        const char *fname)
-{
-       FILE *f;
-       char buf[128], *pos, *pos2;
-       int line = 0, vlan_id;
-       struct hostapd_vlan *vlan;
-
-       f = fopen(fname, "r");
-       if (!f) {
-               wpa_printf(MSG_ERROR, "VLAN file '%s' not readable.", fname);
-               return -1;
-       }
-
-       while (fgets(buf, sizeof(buf), f)) {
-               line++;
-
-               if (buf[0] == '#')
-                       continue;
-               pos = buf;
-               while (*pos != '\0') {
-                       if (*pos == '\n') {
-                               *pos = '\0';
-                               break;
-                       }
-                       pos++;
-               }
-               if (buf[0] == '\0')
-                       continue;
-
-               if (buf[0] == '*') {
-                       vlan_id = VLAN_ID_WILDCARD;
-                       pos = buf + 1;
-               } else {
-                       vlan_id = strtol(buf, &pos, 10);
-                       if (buf == pos || vlan_id < 1 ||
-                           vlan_id > MAX_VLAN_ID) {
-                               wpa_printf(MSG_ERROR, "Invalid VLAN ID at "
-                                          "line %d in '%s'", line, fname);
-                               fclose(f);
-                               return -1;
-                       }
-               }
-
-               while (*pos == ' ' || *pos == '\t')
-                       pos++;
-               pos2 = pos;
-               while (*pos2 != ' ' && *pos2 != '\t' && *pos2 != '\0')
-                       pos2++;
-               *pos2 = '\0';
-               if (*pos == '\0' || os_strlen(pos) > IFNAMSIZ) {
-                       wpa_printf(MSG_ERROR, "Invalid VLAN ifname at line %d "
-                                  "in '%s'", line, fname);
-                       fclose(f);
-                       return -1;
-               }
-
-               vlan = os_malloc(sizeof(*vlan));
-               if (vlan == NULL) {
-                       wpa_printf(MSG_ERROR, "Out of memory while reading "
-                                  "VLAN interfaces from '%s'", fname);
-                       fclose(f);
-                       return -1;
-               }
-
-               os_memset(vlan, 0, sizeof(*vlan));
-               vlan->vlan_id = vlan_id;
-               os_strlcpy(vlan->ifname, pos, sizeof(vlan->ifname));
-               if (bss->vlan_tail)
-                       bss->vlan_tail->next = vlan;
-               else
-                       bss->vlan = vlan;
-               bss->vlan_tail = vlan;
-       }
-
-       fclose(f);
-
-       return 0;
-}
-
-
-static void hostapd_config_free_vlan(struct hostapd_bss_config *bss)
-{
-       struct hostapd_vlan *vlan, *prev;
-
-       vlan = bss->vlan;
-       prev = NULL;
-       while (vlan) {
-               prev = vlan;
-               vlan = vlan->next;
-               os_free(prev);
-       }
-
-       bss->vlan = NULL;
-}
-
-
-/* convert floats with one decimal place to value*10 int, i.e.,
- * "1.5" will return 15 */
-static int hostapd_config_read_int10(const char *value)
-{
-       int i, d;
-       char *pos;
-
-       i = atoi(value);
-       pos = os_strchr(value, '.');
-       d = 0;
-       if (pos) {
-               pos++;
-               if (*pos >= '0' && *pos <= '9')
-                       d = *pos - '0';
-       }
-
-       return i * 10 + d;
-}
-
-
-static void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
-{
-       bss->logger_syslog_level = HOSTAPD_LEVEL_INFO;
-       bss->logger_stdout_level = HOSTAPD_LEVEL_INFO;
-       bss->logger_syslog = (unsigned int) -1;
-       bss->logger_stdout = (unsigned int) -1;
-
-       bss->auth_algs = WPA_AUTH_ALG_OPEN | WPA_AUTH_ALG_SHARED;
-
-       bss->wep_rekeying_period = 300;
-       /* use key0 in individual key and key1 in broadcast key */
-       bss->broadcast_key_idx_min = 1;
-       bss->broadcast_key_idx_max = 2;
-       bss->eap_reauth_period = 3600;
-
-       bss->wpa_group_rekey = 600;
-       bss->wpa_gmk_rekey = 86400;
-       bss->wpa_key_mgmt = WPA_KEY_MGMT_PSK;
-       bss->wpa_pairwise = WPA_CIPHER_TKIP;
-       bss->wpa_group = WPA_CIPHER_TKIP;
-       bss->rsn_pairwise = 0;
-
-       bss->max_num_sta = MAX_STA_COUNT;
-
-       bss->dtim_period = 2;
-
-       bss->radius_server_auth_port = 1812;
-       bss->ap_max_inactivity = AP_MAX_INACTIVITY;
-       bss->eapol_version = EAPOL_VERSION;
-
-       bss->max_listen_interval = 65535;
-
-#ifdef CONFIG_IEEE80211W
-       bss->assoc_sa_query_max_timeout = 1000;
-       bss->assoc_sa_query_retry_timeout = 201;
-#endif /* CONFIG_IEEE80211W */
-#ifdef EAP_FAST
-        /* both anonymous and authenticated provisioning */
-       bss->eap_fast_prov = 3;
-       bss->pac_key_lifetime = 7 * 24 * 60 * 60;
-       bss->pac_key_refresh_time = 1 * 24 * 60 * 60;
-#endif /* EAP_FAST */
-}
-
-
-static struct hostapd_config * hostapd_config_defaults(void)
-{
-       struct hostapd_config *conf;
-       struct hostapd_bss_config *bss;
-       int i;
-       const int aCWmin = 4, aCWmax = 10;
-       const struct hostapd_wmm_ac_params ac_bk =
-               { aCWmin, aCWmax, 7, 0, 0 }; /* background traffic */
-       const struct hostapd_wmm_ac_params ac_be =
-               { aCWmin, aCWmax, 3, 0, 0 }; /* best effort traffic */
-       const struct hostapd_wmm_ac_params ac_vi = /* video traffic */
-               { aCWmin - 1, aCWmin, 2, 3000 / 32, 1 };
-       const struct hostapd_wmm_ac_params ac_vo = /* voice traffic */
-               { aCWmin - 2, aCWmin - 1, 2, 1500 / 32, 1 };
-
-       conf = os_zalloc(sizeof(*conf));
-       bss = os_zalloc(sizeof(*bss));
-       if (conf == NULL || bss == NULL) {
-               wpa_printf(MSG_ERROR, "Failed to allocate memory for "
-                          "configuration data.");
-               os_free(conf);
-               os_free(bss);
-               return NULL;
-       }
-
-       /* set default driver based on configuration */
-       conf->driver = hostapd_drivers[0];
-       if (conf->driver == NULL) {
-               wpa_printf(MSG_ERROR, "No driver wrappers registered!");
-               os_free(conf);
-               os_free(bss);
-               return NULL;
-       }
-
-       bss->radius = os_zalloc(sizeof(*bss->radius));
-       if (bss->radius == NULL) {
-               os_free(conf);
-               os_free(bss);
-               return NULL;
-       }
-
-       hostapd_config_defaults_bss(bss);
-
-       conf->num_bss = 1;
-       conf->bss = bss;
-
-       conf->beacon_int = 100;
-       conf->rts_threshold = -1; /* use driver default: 2347 */
-       conf->fragm_threshold = -1; /* user driver default: 2346 */
-       conf->send_probe_response = 1;
-       conf->bridge_packets = INTERNAL_BRIDGE_DO_NOT_CONTROL;
-
-       for (i = 0; i < NUM_TX_QUEUES; i++)
-               conf->tx_queue[i].aifs = -1; /* use hw default */
-
-       conf->wmm_ac_params[0] = ac_be;
-       conf->wmm_ac_params[1] = ac_bk;
-       conf->wmm_ac_params[2] = ac_vi;
-       conf->wmm_ac_params[3] = ac_vo;
-
-#ifdef CONFIG_IEEE80211N
-       conf->ht_capab = HT_CAP_INFO_SMPS_DISABLED;
-#endif /* CONFIG_IEEE80211N */
-
-       return conf;
-}
-
-
-int hostapd_mac_comp(const void *a, const void *b)
-{
-       return os_memcmp(a, b, sizeof(macaddr));
-}
-
-
-int hostapd_mac_comp_empty(const void *a)
-{
-       macaddr empty = { 0 };
-       return os_memcmp(a, empty, sizeof(macaddr));
-}
-
-
-static int hostapd_acl_comp(const void *a, const void *b)
-{
-       const struct mac_acl_entry *aa = a;
-       const struct mac_acl_entry *bb = b;
-       return os_memcmp(aa->addr, bb->addr, sizeof(macaddr));
-}
-
-
-static int hostapd_config_read_maclist(const char *fname,
-                                      struct mac_acl_entry **acl, int *num)
-{
-       FILE *f;
-       char buf[128], *pos;
-       int line = 0;
-       u8 addr[ETH_ALEN];
-       struct mac_acl_entry *newacl;
-       int vlan_id;
-
-       if (!fname)
-               return 0;
-
-       f = fopen(fname, "r");
-       if (!f) {
-               wpa_printf(MSG_ERROR, "MAC list file '%s' not found.", fname);
-               return -1;
-       }
-
-       while (fgets(buf, sizeof(buf), f)) {
-               line++;
-
-               if (buf[0] == '#')
-                       continue;
-               pos = buf;
-               while (*pos != '\0') {
-                       if (*pos == '\n') {
-                               *pos = '\0';
-                               break;
-                       }
-                       pos++;
-               }
-               if (buf[0] == '\0')
-                       continue;
-
-               if (hwaddr_aton(buf, addr)) {
-                       wpa_printf(MSG_ERROR, "Invalid MAC address '%s' at "
-                                  "line %d in '%s'", buf, line, fname);
-                       fclose(f);
-                       return -1;
-               }
-
-               vlan_id = 0;
-               pos = buf;
-               while (*pos != '\0' && *pos != ' ' && *pos != '\t')
-                       pos++;
-               while (*pos == ' ' || *pos == '\t')
-                   &