summaryrefslogtreecommitdiffstats
path: root/libbsd.py
diff options
context:
space:
mode:
authorSichen Zhao <1473996754@qq.com>2017-10-12 20:16:07 +0800
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-11-10 13:33:03 +0100
commit8f2267bbb90fb52751c3604ade87f353063846c0 (patch)
treea1f6f71bb34d95a3653c073f7161315e61f70010 /libbsd.py
parentImport wpa from FreeBSD (diff)
downloadrtems-libbsd-8f2267bbb90fb52751c3604ade87f353063846c0.tar.bz2
Port wpa supplicant to RTEMS.
Add wpa_supplicant lib support and shell command support in RTEMS.
Diffstat (limited to 'libbsd.py')
-rw-r--r--libbsd.py286
1 files changed, 286 insertions, 0 deletions
diff --git a/libbsd.py b/libbsd.py
index 9bfab369..73155fbc 100644
--- a/libbsd.py
+++ b/libbsd.py
@@ -3999,6 +3999,291 @@ def usr_sbin_tcpdump(mm):
return mod
#
+# /usr/sbin/wpa_supplicant
+#
+def usr_sbin_wpa_supplicant(mm):
+ mod = builder.Module('usr_sbin_wpa_supplicant')
+ mod.addUserSpaceHeaderFiles(
+ [
+ 'contrib/wpa/wpa_supplicant/ap.h',
+ 'contrib/wpa/wpa_supplicant/blacklist.h',
+ 'contrib/wpa/wpa_supplicant/bss.h',
+ 'contrib/wpa/wpa_supplicant/config.h',
+ 'contrib/wpa/wpa_supplicant/config_ssid.h',
+ 'contrib/wpa/wpa_supplicant/ctrl_iface.h',
+ 'contrib/wpa/wpa_supplicant/driver_i.h',
+ 'contrib/wpa/wpa_supplicant/gas_query.h',
+ 'contrib/wpa/wpa_supplicant/hs20_supplicant.h',
+ 'contrib/wpa/wpa_supplicant/interworking.h',
+ 'contrib/wpa/wpa_supplicant/mesh.h',
+ 'contrib/wpa/wpa_supplicant/mesh_mpm.h',
+ 'contrib/wpa/wpa_supplicant/mesh_rsn.h',
+ 'contrib/wpa/wpa_supplicant/notify.h',
+ 'contrib/wpa/wpa_supplicant/offchannel.h',
+ 'contrib/wpa/wpa_supplicant/scan.h',
+ 'contrib/wpa/wpa_supplicant/autoscan.h',
+ 'contrib/wpa/wpa_supplicant/wmm_ac.h',
+ 'contrib/wpa/wpa_supplicant/wnm_sta.h',
+ 'contrib/wpa/wpa_supplicant/wpas_glue.h',
+ 'contrib/wpa/wpa_supplicant/wpas_kay.h',
+ 'contrib/wpa/wpa_supplicant/wpa_supplicant_i.h',
+ 'contrib/wpa/wpa_supplicant/wps_supplicant.h',
+ 'contrib/wpa/wpa_supplicant/ibss_rsn.h',
+ 'contrib/wpa/wpa_supplicant/p2p_supplicant.h',
+ 'contrib/wpa/wpa_supplicant/wifi_display.h',
+ 'contrib/wpa/wpa_supplicant/sme.h',
+ 'contrib/wpa/wpa_supplicant/bgscan.h',
+ 'contrib/wpa/wpa_supplicant/dbus/dbus_common.h',
+ 'contrib/wpa/wpa_supplicant/dbus/dbus_old.h',
+ 'contrib/wpa/wpa_supplicant/dbus/dbus_new.h',
+ 'contrib/wpa/src/ap/ap_config.h',
+ 'contrib/wpa/src/ap/ap_drv_ops.h',
+ 'contrib/wpa/src/ap/hs20.h',
+ 'contrib/wpa/src/ap/hostapd.h',
+ 'contrib/wpa/src/ap/ieee802_11.h',
+ 'contrib/wpa/src/ap/ieee802_11_auth.h',
+ 'contrib/wpa/src/ap/p2p_hostapd.h',
+ 'contrib/wpa/src/ap/sta_info.h',
+ 'contrib/wpa/src/utils/includes.h',
+ 'contrib/wpa/src/utils/base64.h',
+ 'contrib/wpa/src/utils/build_config.h',
+ 'contrib/wpa/src/utils/common.h',
+ 'contrib/wpa/src/utils/eloop.h',
+ 'contrib/wpa/src/utils/ip_addr.h',
+ 'contrib/wpa/src/utils/list.h',
+ 'contrib/wpa/src/utils/os.h',
+ 'contrib/wpa/src/utils/platform.h',
+ 'contrib/wpa/src/utils/uuid.h',
+ 'contrib/wpa/src/utils/wpa_debug.h',
+ 'contrib/wpa/src/utils/wpabuf.h',
+ 'contrib/wpa/src/utils/trace.h',
+ 'contrib/wpa/src/utils/pcsc_funcs.h',
+ 'contrib/wpa/src/utils/ext_password.h',
+ 'contrib/wpa/src/utils/state_machine.h',
+ 'contrib/wpa/src/common/gas.h',
+ 'contrib/wpa/src/common/hw_features_common.h',
+ 'contrib/wpa/src/common/ieee802_11_common.h',
+ 'contrib/wpa/src/common/ieee802_11_defs.h',
+ 'contrib/wpa/src/common/wpa_common.h',
+ 'contrib/wpa/src/common/defs.h',
+ 'contrib/wpa/src/common/qca-vendor.h',
+ 'contrib/wpa/src/common/eapol_common.h',
+ 'contrib/wpa/src/common/sae.h',
+ 'contrib/wpa/src/common/wpa_ctrl.h',
+ 'contrib/wpa/src/common/version.h',
+ 'contrib/wpa/src/drivers/driver.h',
+ 'contrib/wpa/src/drivers/driver_ndis.h',
+ 'contrib/wpa/src/drivers/driver_nl80211.h',
+ 'contrib/wpa/src/drivers/linux_defines.h',
+ 'contrib/wpa/src/wps/http.h',
+ 'contrib/wpa/src/wps/http_client.h',
+ 'contrib/wpa/src/wps/http_server.h',
+ 'contrib/wpa/src/wps/httpread.h',
+ 'contrib/wpa/src/wps/wps.h',
+ 'contrib/wpa/src/wps/wps_i.h',
+ 'contrib/wpa/src/wps/wps_defs.h',
+ 'contrib/wpa/src/wps/upnp_xml.h',
+ 'contrib/wpa/src/wps/wps_attr_parse.h',
+ 'contrib/wpa/src/wps/wps_dev_attr.h',
+ 'contrib/wpa/src/wps/wps_er.h',
+ 'contrib/wpa/src/wps/wps_upnp.h',
+ 'contrib/wpa/src/wps/wps_upnp_i.h',
+ 'contrib/wpa/src/l2_packet/l2_packet.h',
+ 'contrib/wpa/src/rsn_supp/peerkey.h',
+ 'contrib/wpa/src/rsn_supp/pmksa_cache.h',
+ 'contrib/wpa/src/rsn_supp/preauth.h',
+ 'contrib/wpa/src/rsn_supp/wpa.h',
+ 'contrib/wpa/src/rsn_supp/wpa_i.h',
+ 'contrib/wpa/src/rsn_supp/wpa_ie.h',
+ 'contrib/wpa/src/p2p/p2p.h',
+ 'contrib/wpa/src/fst/fst.h',
+ 'contrib/wpa/src/fst/fst_ctrl_iface.h',
+ 'contrib/wpa/src/fst/fst_ctrl_aux.h',
+ 'contrib/wpa/src/crypto/md5.h',
+ 'contrib/wpa/src/crypto/sha256.h',
+ 'contrib/wpa/src/crypto/sha384.h',
+ 'contrib/wpa/src/crypto/aes_wrap.h',
+ 'contrib/wpa/src/crypto/crypto.h',
+ 'contrib/wpa/src/crypto/random.h',
+ 'contrib/wpa/src/crypto/dh_group5.h',
+ 'contrib/wpa/src/crypto/sha1.h',
+ 'contrib/wpa/src/crypto/tls.h',
+ 'contrib/wpa/src/crypto/ms_funcs.h',
+ 'contrib/wpa/src/crypto/aes.h',
+ 'contrib/wpa/src/crypto/sha256_i.h',
+ 'contrib/wpa/src/eapol_supp/eapol_supp_sm.h',
+ 'contrib/wpa/src/eap_peer/eap_config.h',
+ 'contrib/wpa/src/eap_peer/eap.h',
+ 'contrib/wpa/src/eap_peer/eap_i.h',
+ 'contrib/wpa/src/eap_peer/eap_methods.h',
+ 'contrib/wpa/src/eap_peer/eap_proxy.h',
+ 'contrib/wpa/src/eap_peer/mschapv2.h',
+ 'contrib/wpa/src/eap_peer/tncc.h',
+ 'contrib/wpa/src/eap_peer/eap_tls_common.h',
+ 'contrib/wpa/src/eap_common/eap_defs.h',
+ 'contrib/wpa/src/eap_common/eap_wsc_common.h',
+ 'contrib/wpa/src/eap_common/eap_peap_common.h',
+ 'contrib/wpa/src/eap_common/eap_psk_common.h',
+ 'contrib/wpa/src/eap_common/eap_tlv_common.h',
+ 'contrib/wpa/src/eap_common/eap_common.h',
+ 'contrib/wpa/src/eap_common/chap.h',
+ 'contrib/wpa/src/eap_common/eap_ttls.h',
+ 'contrib/wpa/src/eap_server/eap_methods.h',
+ 'contrib/wpa/src/eapol_supp/eapol_supp_sm.h',
+ 'contrib/wpa/src/tls/tlsv1_client.h',
+ 'contrib/wpa/src/tls/tlsv1_cred.h',
+ 'contrib/wpa/src/tls/tlsv1_server.h',
+ 'usr.sbin/wpa/wpa_supplicant/Packet32.h',
+ 'usr.sbin/wpa/wpa_supplicant/ntddndis.h',
+ ]
+ )
+ mod.addUserSpaceSourceFiles(
+ [
+ 'contrib/wpa/wpa_supplicant/blacklist.c',
+ 'contrib/wpa/wpa_supplicant/bss.c',
+ 'contrib/wpa/wpa_supplicant/config.c',
+ 'contrib/wpa/wpa_supplicant/config_file.c',
+ 'contrib/wpa/wpa_supplicant/ctrl_iface.c',
+ 'contrib/wpa/wpa_supplicant/ctrl_iface_unix.c',
+ 'contrib/wpa/wpa_supplicant/eap_register.c',
+ 'contrib/wpa/wpa_supplicant/events.c',
+ 'contrib/wpa/wpa_supplicant/gas_query.c',
+ 'contrib/wpa/wpa_supplicant/hs20_supplicant.c',
+ 'contrib/wpa/wpa_supplicant/interworking.c',
+ 'contrib/wpa/wpa_supplicant/main.c',
+ 'contrib/wpa/wpa_supplicant/notify.c',
+ 'contrib/wpa/wpa_supplicant/offchannel.c',
+ 'contrib/wpa/wpa_supplicant/scan.c',
+ 'contrib/wpa/wpa_supplicant/wmm_ac.c',
+ 'contrib/wpa/wpa_supplicant/wpa_supplicant.c',
+ 'contrib/wpa/wpa_supplicant/wpas_glue.c',
+ 'contrib/wpa/wpa_supplicant/wps_supplicant.c',
+ 'contrib/wpa/src/ap/ap_drv_ops.c',
+ 'contrib/wpa/src/ap/hs20.c',
+ 'contrib/wpa/src/ap/ieee802_11_shared.c',
+ 'contrib/wpa/src/utils/base64.c',
+ 'contrib/wpa/src/utils/common.c',
+ 'contrib/wpa/src/utils/eloop.c',
+ 'contrib/wpa/src/utils/os_unix.c',
+ 'contrib/wpa/src/utils/uuid.c',
+ 'contrib/wpa/src/utils/wpa_debug.c',
+ 'contrib/wpa/src/utils/wpabuf.c',
+ 'contrib/wpa/src/common/gas.c',
+ 'contrib/wpa/src/common/hw_features_common.c',
+ 'contrib/wpa/src/common/ieee802_11_common.c',
+ 'contrib/wpa/src/common/wpa_common.c',
+ 'contrib/wpa/src/drivers/driver_bsd.c',
+ 'contrib/wpa/src/drivers/driver_common.c',
+ 'contrib/wpa/src/drivers/driver_ndis.c',
+ 'contrib/wpa/src/drivers/driver_wired.c',
+ 'contrib/wpa/src/drivers/drivers.c',
+ 'contrib/wpa/src/wps/http_client.c',
+ 'contrib/wpa/src/wps/http_server.c',
+ 'contrib/wpa/src/wps/httpread.c',
+ 'contrib/wpa/src/wps/upnp_xml.c',
+ 'contrib/wpa/src/wps/wps.c',
+ 'contrib/wpa/src/wps/wps_attr_build.c',
+ 'contrib/wpa/src/wps/wps_attr_parse.c',
+ 'contrib/wpa/src/wps/wps_attr_process.c',
+ 'contrib/wpa/src/wps/wps_common.c',
+ 'contrib/wpa/src/wps/wps_dev_attr.c',
+ 'contrib/wpa/src/wps/wps_enrollee.c',
+ 'contrib/wpa/src/wps/wps_registrar.c',
+ 'contrib/wpa/src/wps/wps_upnp.c',
+ 'contrib/wpa/src/wps/wps_upnp_ap.c',
+ 'contrib/wpa/src/wps/wps_upnp_event.c',
+ 'contrib/wpa/src/wps/wps_upnp_ssdp.c',
+ 'contrib/wpa/src/wps/wps_upnp_web.c',
+ 'contrib/wpa/src/l2_packet/l2_packet_freebsd.c',
+ 'contrib/wpa/src/rsn_supp/peerkey.c',
+ 'contrib/wpa/src/rsn_supp/pmksa_cache.c',
+ 'contrib/wpa/src/rsn_supp/preauth.c',
+ 'contrib/wpa/src/rsn_supp/wpa.c',
+ 'contrib/wpa/src/rsn_supp/wpa_ft.c',
+ 'contrib/wpa/src/rsn_supp/wpa_ie.c',
+ 'contrib/wpa/src/eapol_supp/eapol_supp_sm.c',
+ 'contrib/wpa/src/eap_peer/eap.c',
+ 'contrib/wpa/src/eap_peer/eap_methods.c',
+ 'contrib/wpa/src/eap_peer/eap_mschapv2.c',
+ 'contrib/wpa/src/eap_peer/mschapv2.c',
+ 'contrib/wpa/src/eap_peer/eap_md5.c',
+ 'contrib/wpa/src/eap_peer/eap_tls.c',
+ 'contrib/wpa/src/eap_peer/eap_peap.c',
+ 'contrib/wpa/src/eap_peer/eap_ttls.c',
+ 'contrib/wpa/src/eap_peer/eap_gtc.c',
+ 'contrib/wpa/src/eap_peer/eap_otp.c',
+ 'contrib/wpa/src/eap_peer/eap_leap.c',
+ 'contrib/wpa/src/eap_peer/eap_psk.c',
+ 'contrib/wpa/src/eap_peer/eap_tls_common.c',
+ 'contrib/wpa/src/eap_common/eap_common.c',
+ 'contrib/wpa/src/eap_common/eap_peap_common.c',
+ 'contrib/wpa/src/eap_common/eap_psk_common.c',
+ 'contrib/wpa/src/eap_common/chap.c',
+ 'contrib/wpa/src/crypto/crypto_openssl.c',
+ 'contrib/wpa/src/crypto/random.c',
+ 'contrib/wpa/src/crypto/aes-omac1.c',
+ 'contrib/wpa/src/crypto/sha256-prf.c',
+ 'contrib/wpa/src/crypto/sha256-internal.c',
+ 'contrib/wpa/src/crypto/sha1.c',
+ 'contrib/wpa/src/crypto/sha1-prf.c',
+ 'contrib/wpa/src/crypto/aes-unwrap.c',
+ 'contrib/wpa/src/crypto/rc4.c',
+ 'contrib/wpa/src/crypto/sha1-pbkdf2.c',
+ 'contrib/wpa/src/crypto/tls_internal.c',
+ 'contrib/wpa/src/crypto/ms_funcs.c',
+ 'contrib/wpa/src/crypto/aes-eax.c',
+ 'contrib/wpa/src/crypto/aes-ctr.c',
+ 'contrib/wpa/src/crypto/aes-encblock.c',
+ 'usr.sbin/wpa/wpa_supplicant/Packet32.c',
+ ],
+ mm.generator['source'](['-D__FreeBSD__=1',
+ '-DCONFIG_BACKEND_FILE=1',
+ '-DCONFIG_DEBUG_SYSLOG=1',
+ '-DCONFIG_DRIVER_BSD=1',
+ '-DCONFIG_DRIVER_NDIS=1',
+ '-DCONFIG_DRIVER_WIRED=1',
+ '-DCONFIG_GAS=1',
+ '-DCONFIG_HS20=1',
+ '-DCONFIG_IEEE80211R=1',
+ '-DCONFIG_INTERWORKING=1',
+ '-DCONFIG_PEERKEY=1',
+ '-DCONFIG_PRIVSEP=1',
+ '-DCONFIG_SMARTCARD=1',
+ '-DCONFIG_TERMINATE_ONLASTIF=1',
+ '-DCONFIG_TLS=openssl',
+ '-DCONFIG_WPS=1',
+ '-DCONFIG_WPS2=1',
+ '-DCONFIG_WPS_UPNP=1',
+ '-DPKCS12_FUNCS=1',
+ '-DCONFIG_SHA256=1',
+ '-DCONFIG_CTRL_IFACE=1',
+ '-DCONFIG_CTRL_IFACE_UNIX=1',
+ '-DIEEE8021X_EAPOL=1',
+ '-DEAP_MD5=1',
+ '-DEAP_GTC=1',
+ '-DEAP_LEAP=1',
+ '-DEAP_MSCHAPv2=1',
+ '-DEAP_OTP=1',
+ '-DEAP_PEAP=1',
+ '-DEAP_PSK=1',
+ '-DEAP_TLS=1',
+ '-DEAP_TTLS=1'],
+ ['freebsd/contrib/wpa/src',
+ 'freebsd/contrib/wpa/src/utils',
+ 'freebsd/contrib/wpa/src/eap_peer',
+ 'freebsd/usr.sbin/wpa/wpa_supplicant',
+ 'freebsd/crypto/openssl/crypto'])
+ )
+ mod.addRTEMSSourceFiles(
+ [
+ 'rtems/rtems-bsd-shell-wpa_supplicant.c',
+ 'rtems/rtems-wpa_supplicant_mutex.c',
+ ],
+ mm.generator['source']()
+ )
+ return mod
+
+#
# in_chksum Module
#
def in_cksum(mm):
@@ -4338,6 +4623,7 @@ def sources(mm):
mm.addModule(contrib_expat(mm))
mm.addModule(contrib_libpcap(mm))
mm.addModule(usr_sbin_tcpdump(mm))
+ mm.addModule(usr_sbin_wpa_supplicant(mm))
mm.addModule(crypto_openssl(mm))
mm.addModule(tests(mm))