2008-02-28 02:34:43 +01:00
|
|
|
ifndef CC
|
|
|
|
CC=gcc
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifndef CFLAGS
|
|
|
|
CFLAGS = -MMD -O2 -Wall -g
|
|
|
|
endif
|
|
|
|
|
2015-12-28 12:06:43 +01:00
|
|
|
ifdef LIBS
|
|
|
|
# If LIBS is set with some global build system defaults, clone those for
|
|
|
|
# LIBS_c, LIBS_h, and LIBS_n to cover hostapd_cli, hlr_auc_gw, and
|
|
|
|
# nt_password_hash as well.
|
|
|
|
ifndef LIBS_c
|
|
|
|
LIBS_c := $(LIBS)
|
|
|
|
endif
|
|
|
|
ifndef LIBS_h
|
|
|
|
LIBS_h := $(LIBS)
|
|
|
|
endif
|
|
|
|
ifndef LIBS_n
|
|
|
|
LIBS_n := $(LIBS)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2014-02-25 20:06:08 +01:00
|
|
|
CFLAGS += $(EXTRA_CFLAGS)
|
2013-12-25 12:44:38 +01:00
|
|
|
CFLAGS += -I$(abspath ../src)
|
|
|
|
CFLAGS += -I$(abspath ../src/utils)
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2013-09-06 19:05:40 +02:00
|
|
|
export BINDIR ?= /usr/local/bin/
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
-include .config
|
|
|
|
|
2015-10-16 21:20:55 +02:00
|
|
|
ifndef CONFIG_NO_GITVER
|
|
|
|
# Add VERSION_STR postfix for builds from a git repository
|
|
|
|
ifeq ($(wildcard ../.git),../.git)
|
|
|
|
GITVER := $(shell git describe --dirty=+)
|
|
|
|
ifneq ($(GITVER),)
|
|
|
|
CFLAGS += -DGIT_VERSION_STR_POSTFIX=\"-$(GITVER)\"
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2013-11-28 14:34:24 +01:00
|
|
|
ifdef CONFIG_TESTING_OPTIONS
|
|
|
|
CFLAGS += -DCONFIG_TESTING_OPTIONS
|
|
|
|
CONFIG_WPS_TESTING=y
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifndef CONFIG_OS
|
|
|
|
ifdef CONFIG_NATIVE_WINDOWS
|
|
|
|
CONFIG_OS=win32
|
|
|
|
else
|
|
|
|
CONFIG_OS=unix
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(CONFIG_OS), internal)
|
|
|
|
CFLAGS += -DOS_NO_C_LIB_DEFINES
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_NATIVE_WINDOWS
|
|
|
|
CFLAGS += -DCONFIG_NATIVE_WINDOWS
|
|
|
|
LIBS += -lws2_32
|
|
|
|
endif
|
|
|
|
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += main.o
|
|
|
|
OBJS += config_file.o
|
|
|
|
|
2009-12-25 19:06:07 +01:00
|
|
|
OBJS += ../src/ap/hostapd.o
|
|
|
|
OBJS += ../src/ap/wpa_auth_glue.o
|
|
|
|
OBJS += ../src/ap/drv_callbacks.o
|
|
|
|
OBJS += ../src/ap/ap_drv_ops.o
|
2009-12-25 00:26:37 +01:00
|
|
|
OBJS += ../src/ap/utils.o
|
2009-12-25 12:43:43 +01:00
|
|
|
OBJS += ../src/ap/authsrv.o
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/ieee802_1x.o
|
2009-12-25 23:05:40 +01:00
|
|
|
OBJS += ../src/ap/ap_config.o
|
2012-11-20 23:47:47 +01:00
|
|
|
OBJS += ../src/ap/eap_user_db.o
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/ieee802_11_auth.o
|
|
|
|
OBJS += ../src/ap/sta_info.o
|
2009-12-25 23:05:40 +01:00
|
|
|
OBJS += ../src/ap/wpa_auth.o
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/tkip_countermeasures.o
|
2009-12-25 23:05:40 +01:00
|
|
|
OBJS += ../src/ap/ap_mlme.o
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/wpa_auth_ie.o
|
2009-12-25 23:05:40 +01:00
|
|
|
OBJS += ../src/ap/preauth_auth.o
|
|
|
|
OBJS += ../src/ap/pmksa_cache_auth.o
|
2011-10-17 16:30:43 +02:00
|
|
|
OBJS += ../src/ap/ieee802_11_shared.o
|
2011-10-17 17:35:25 +02:00
|
|
|
OBJS += ../src/ap/beacon.o
|
2014-10-16 01:36:04 +02:00
|
|
|
OBJS += ../src/ap/bss_load.o
|
2016-04-06 18:42:07 +02:00
|
|
|
OBJS += ../src/ap/neighbor_db.o
|
2016-04-06 18:42:09 +02:00
|
|
|
OBJS += ../src/ap/rrm.o
|
2009-12-25 00:12:50 +01:00
|
|
|
|
2016-07-07 14:04:34 +02:00
|
|
|
OBJS_c = hostapd_cli.o
|
|
|
|
OBJS_c += ../src/common/wpa_ctrl.o
|
|
|
|
OBJS_c += ../src/utils/os_$(CONFIG_OS).o
|
|
|
|
OBJS_c += ../src/common/cli.o
|
2011-07-16 16:37:18 +02:00
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_RC4=y
|
|
|
|
NEED_AES=y
|
|
|
|
NEED_MD5=y
|
|
|
|
NEED_SHA1=y
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-04-09 12:40:12 +02:00
|
|
|
OBJS += ../src/drivers/drivers.o
|
|
|
|
CFLAGS += -DHOSTAPD
|
|
|
|
|
Passive Client Taxonomy
Implement the signature mechanism described in the paper
"Passive Taxonomy of Wifi Clients using MLME Frame Contents"
published by Denton Gentry and Avery Pennarun.
http://research.google.com/pubs/pub45429.html
https://arxiv.org/abs/1608.01725
This involves:
1. Add a CONFIG_TAXONOMY compile option. Enabling taxonomy incurs
a memory overhead of up to several kilobytes per associated
station.
2. If enabled, store the Probe Request and (Re)Associate Request frame in
struct sta_info.
3. Implement code to extract the ID of each Information Element,
plus selected fields and bitmasks from certain IEs, into a
descriptive text string. This is done in a new source file,
src/ap/taxonomy.c.
4. Implement a "signature qq:rr:ss:tt:uu:vv" command
in hostapd_cli to retrieve the signature.
Signatures take the form of a text string. For example, a signature
for the Nexus 5X is:
wifi4|probe:0,1,127,45,191,htcap:01ef,htagg:03,htmcs:0000ffff,vhtcap:338061b2,
vhtrxmcs:030cfffa,vhttxmcs:030cfffa,extcap:00000a0201000040|assoc:0,1,48,45,
221(0050f2,2),191,127,htcap:01ef,htagg:03,htmcs:0000ffff,vhtcap:339071b2,
vhtrxmcs:030cfffa,vhttxmcs:030cfffa,extcap:0000000000000040
Signed-off-by: dgentry@google.com (Denton Gentry)
Signed-off-by: denny@geekhold.com (Denton Gentry)
Signed-off-by: rofrankel@google.com (Richard Frankel)
Signed-off-by: richard@frankel.tv (Richard Frankel)
2016-08-15 06:42:48 +02:00
|
|
|
ifdef CONFIG_TAXONOMY
|
|
|
|
CFLAGS += -DCONFIG_TAXONOMY
|
|
|
|
OBJS += ../src/ap/taxonomy.o
|
|
|
|
endif
|
|
|
|
|
2014-02-20 23:14:30 +01:00
|
|
|
ifdef CONFIG_MODULE_TESTS
|
|
|
|
CFLAGS += -DCONFIG_MODULE_TESTS
|
|
|
|
OBJS += hapd_module_tests.o
|
|
|
|
endif
|
|
|
|
|
2009-12-19 17:40:54 +01:00
|
|
|
ifdef CONFIG_WPA_TRACE
|
|
|
|
CFLAGS += -DWPA_TRACE
|
|
|
|
OBJS += ../src/utils/trace.o
|
2010-11-24 00:10:48 +01:00
|
|
|
HOBJS += ../src/utils/trace.o
|
2009-12-20 22:35:06 +01:00
|
|
|
LDFLAGS += -rdynamic
|
|
|
|
CFLAGS += -funwind-tables
|
|
|
|
ifdef CONFIG_WPA_TRACE_BFD
|
2014-02-17 20:02:47 +01:00
|
|
|
CFLAGS += -DPACKAGE="hostapd" -DWPA_TRACE_BFD
|
2014-02-19 20:46:11 +01:00
|
|
|
LIBS += -lbfd -ldl -liberty -lz
|
|
|
|
LIBS_c += -lbfd -ldl -liberty -lz
|
|
|
|
LIBS_h += -lbfd -ldl -liberty -lz
|
2019-10-18 01:19:15 +02:00
|
|
|
LIBS_n += -lbfd -ldl -liberty -lz
|
2009-12-20 22:35:06 +01:00
|
|
|
endif
|
2009-12-19 17:40:54 +01:00
|
|
|
endif
|
|
|
|
|
2011-07-16 16:37:18 +02:00
|
|
|
ifndef CONFIG_ELOOP
|
|
|
|
CONFIG_ELOOP=eloop
|
|
|
|
endif
|
|
|
|
OBJS += ../src/utils/$(CONFIG_ELOOP).o
|
|
|
|
OBJS_c += ../src/utils/$(CONFIG_ELOOP).o
|
2013-11-20 11:01:09 +01:00
|
|
|
|
|
|
|
ifeq ($(CONFIG_ELOOP), eloop)
|
|
|
|
# Using glibc < 2.17 requires -lrt for clock_gettime()
|
|
|
|
LIBS += -lrt
|
|
|
|
LIBS_c += -lrt
|
|
|
|
LIBS_h += -lrt
|
2014-02-15 10:49:09 +01:00
|
|
|
LIBS_n += -lrt
|
2013-11-20 11:01:09 +01:00
|
|
|
endif
|
|
|
|
|
2015-07-23 17:45:31 +02:00
|
|
|
ifdef CONFIG_ELOOP_POLL
|
|
|
|
CFLAGS += -DCONFIG_ELOOP_POLL
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_ELOOP_EPOLL
|
|
|
|
CFLAGS += -DCONFIG_ELOOP_EPOLL
|
|
|
|
endif
|
|
|
|
|
2016-01-22 21:28:25 +01:00
|
|
|
ifdef CONFIG_ELOOP_KQUEUE
|
|
|
|
CFLAGS += -DCONFIG_ELOOP_KQUEUE
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/utils/common.o
|
2015-06-17 15:30:34 +02:00
|
|
|
OBJS_c += ../src/utils/common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/utils/wpa_debug.o
|
2011-07-19 07:45:33 +02:00
|
|
|
OBJS_c += ../src/utils/wpa_debug.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/utils/wpabuf.o
|
|
|
|
OBJS += ../src/utils/os_$(CONFIG_OS).o
|
|
|
|
OBJS += ../src/utils/ip_addr.o
|
2019-06-19 14:49:15 +02:00
|
|
|
OBJS += ../src/utils/crc32.o
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2008-10-29 20:48:14 +01:00
|
|
|
OBJS += ../src/common/ieee802_11_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/common/wpa_common.o
|
2015-01-08 12:48:29 +01:00
|
|
|
OBJS += ../src/common/hw_features_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-11-29 19:03:28 +01:00
|
|
|
OBJS += ../src/eapol_auth/eapol_auth_sm.o
|
|
|
|
|
2009-11-29 19:18:47 +01:00
|
|
|
|
2013-11-24 18:16:12 +01:00
|
|
|
ifdef CONFIG_CODE_COVERAGE
|
|
|
|
CFLAGS += -O0 -fprofile-arcs -ftest-coverage
|
|
|
|
LIBS += -lgcov
|
|
|
|
LIBS_c += -lgcov
|
|
|
|
LIBS_h += -lgcov
|
|
|
|
LIBS_n += -lgcov
|
|
|
|
endif
|
|
|
|
|
2009-11-29 19:18:47 +01:00
|
|
|
ifndef CONFIG_NO_DUMP_STATE
|
2014-01-02 17:15:07 +01:00
|
|
|
# define HOSTAPD_DUMP_STATE to include support for dumping internal state
|
|
|
|
# through control interface commands (undefine it, if you want to save in
|
|
|
|
# binary size)
|
2009-11-29 19:18:47 +01:00
|
|
|
CFLAGS += -DHOSTAPD_DUMP_STATE
|
|
|
|
OBJS += ../src/eapol_auth/eapol_auth_dump.o
|
|
|
|
endif
|
|
|
|
|
2009-01-08 18:15:25 +01:00
|
|
|
ifdef CONFIG_NO_RADIUS
|
|
|
|
CFLAGS += -DCONFIG_NO_RADIUS
|
|
|
|
CONFIG_NO_ACCOUNTING=y
|
|
|
|
else
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/radius/radius.o
|
|
|
|
OBJS += ../src/radius/radius_client.o
|
2012-05-06 21:02:42 +02:00
|
|
|
OBJS += ../src/radius/radius_das.o
|
2009-01-08 18:15:25 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_NO_ACCOUNTING
|
|
|
|
CFLAGS += -DCONFIG_NO_ACCOUNTING
|
|
|
|
else
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/accounting.o
|
2009-01-08 18:15:25 +01:00
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-01-12 20:39:19 +01:00
|
|
|
ifdef CONFIG_NO_VLAN
|
|
|
|
CFLAGS += -DCONFIG_NO_VLAN
|
|
|
|
else
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/vlan_init.o
|
2016-03-25 16:56:07 +01:00
|
|
|
OBJS += ../src/ap/vlan_ifconfig.o
|
2016-01-21 14:51:56 +01:00
|
|
|
OBJS += ../src/ap/vlan.o
|
2012-08-10 11:55:33 +02:00
|
|
|
ifdef CONFIG_FULL_DYNAMIC_VLAN
|
2016-03-25 16:21:41 +01:00
|
|
|
# Define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges
|
|
|
|
# and VLAN interfaces for the VLAN feature.
|
|
|
|
CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN
|
2016-03-25 16:43:27 +01:00
|
|
|
OBJS += ../src/ap/vlan_full.o
|
2016-03-25 16:21:41 +01:00
|
|
|
ifdef CONFIG_VLAN_NETLINK
|
2012-08-10 11:55:33 +02:00
|
|
|
OBJS += ../src/ap/vlan_util.o
|
2016-03-25 16:21:41 +01:00
|
|
|
else
|
|
|
|
OBJS += ../src/ap/vlan_ioctl.o
|
2012-08-10 11:55:33 +02:00
|
|
|
endif
|
|
|
|
endif
|
2009-01-12 20:39:19 +01:00
|
|
|
endif
|
|
|
|
|
2009-01-12 20:44:57 +01:00
|
|
|
ifdef CONFIG_NO_CTRL_IFACE
|
|
|
|
CFLAGS += -DCONFIG_NO_CTRL_IFACE
|
|
|
|
else
|
2016-03-04 10:20:24 +01:00
|
|
|
ifeq ($(CONFIG_CTRL_IFACE), udp)
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
|
|
|
|
else
|
|
|
|
ifeq ($(CONFIG_CTRL_IFACE), udp6)
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
|
|
|
|
else
|
|
|
|
ifeq ($(CONFIG_CTRL_IFACE), udp-remote)
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
|
|
|
|
else
|
|
|
|
ifeq ($(CONFIG_CTRL_IFACE), udp6-remote)
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP_REMOTE
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UDP_IPV6
|
|
|
|
else
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE_UNIX
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
endif
|
2016-03-04 10:20:22 +01:00
|
|
|
OBJS += ../src/common/ctrl_iface_common.o
|
2009-01-12 20:44:57 +01:00
|
|
|
OBJS += ctrl_iface.o
|
2009-12-25 11:25:55 +01:00
|
|
|
OBJS += ../src/ap/ctrl_iface_ap.o
|
2009-01-12 20:44:57 +01:00
|
|
|
endif
|
|
|
|
|
2016-03-04 10:20:24 +01:00
|
|
|
ifndef CONFIG_NO_CTRL_IFACE
|
|
|
|
CFLAGS += -DCONFIG_CTRL_IFACE
|
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
|
|
|
ifdef CONFIG_RSN_PREAUTH
|
|
|
|
CFLAGS += -DCONFIG_RSN_PREAUTH
|
|
|
|
CONFIG_L2_PACKET=y
|
|
|
|
endif
|
|
|
|
|
2013-07-23 20:23:25 +02:00
|
|
|
ifdef CONFIG_HS20
|
AP: Add support for Proxy ARP, DHCP snooping mechanism
Proxy ARP allows the AP devices to keep track of the hardware address to
IP address mapping of the STA devices within the BSS. When a request for
such information is made (i.e., ARP request, Neighbor Solicitation), the
AP will respond on behalf of the STA device within the BSS. Such
requests could originate from a device within the BSS or also from the
bridge. In the process of the AP replying to the request (i.e., ARP
reply, Neighbor Advertisement), the AP will drop the original request
frame. The relevant STA will not even know that such information was
ever requested.
This feature is a requirement for Hotspot 2.0, and is defined in IEEE
Std 802.11-2012, 10.23.13. While the Proxy ARP support code mainly
resides in the kernel bridge code, in order to optimize the performance
and simplify kernel implementation, the DHCP snooping code was added to
the hostapd.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
2014-09-26 07:32:55 +02:00
|
|
|
CONFIG_PROXYARP=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_PROXYARP
|
|
|
|
CONFIG_L2_PACKET=y
|
2013-07-23 20:23:25 +02:00
|
|
|
endif
|
|
|
|
|
2014-11-16 12:22:46 +01:00
|
|
|
ifdef CONFIG_SUITEB
|
|
|
|
CFLAGS += -DCONFIG_SUITEB
|
|
|
|
endif
|
|
|
|
|
2015-01-25 22:32:01 +01:00
|
|
|
ifdef CONFIG_SUITEB192
|
|
|
|
CFLAGS += -DCONFIG_SUITEB192
|
|
|
|
NEED_SHA384=y
|
|
|
|
endif
|
|
|
|
|
2018-08-06 21:46:25 +02:00
|
|
|
ifdef CONFIG_OCV
|
|
|
|
CFLAGS += -DCONFIG_OCV
|
2018-08-06 21:46:26 +02:00
|
|
|
OBJS += ../src/common/ocv.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_IEEE80211R
|
2016-10-27 14:18:32 +02:00
|
|
|
CFLAGS += -DCONFIG_IEEE80211R -DCONFIG_IEEE80211R_AP
|
2009-12-25 23:05:40 +01:00
|
|
|
OBJS += ../src/ap/wpa_auth_ft.o
|
2009-10-12 08:10:24 +02:00
|
|
|
NEED_AES_UNWRAP=y
|
2017-04-02 14:52:50 +02:00
|
|
|
NEED_AES_SIV=y
|
2017-04-02 14:52:49 +02:00
|
|
|
NEED_ETH_P_OUI=y
|
2017-04-02 14:52:50 +02:00
|
|
|
NEED_HMAC_SHA256_KDF=y
|
2017-04-02 14:52:49 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_ETH_P_OUI
|
|
|
|
CFLAGS += -DCONFIG_ETH_P_OUI
|
|
|
|
OBJS += ../src/ap/eth_p_oui.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
2012-09-30 18:51:07 +02:00
|
|
|
ifdef CONFIG_SAE
|
|
|
|
CFLAGS += -DCONFIG_SAE
|
2012-12-30 21:06:11 +01:00
|
|
|
OBJS += ../src/common/sae.o
|
2012-12-31 18:41:21 +01:00
|
|
|
NEED_ECC=y
|
2013-01-05 20:22:00 +01:00
|
|
|
NEED_DH_GROUPS=y
|
2015-03-29 14:03:25 +02:00
|
|
|
NEED_AP_MLME=y
|
2019-04-25 18:45:27 +02:00
|
|
|
NEED_DRAGONFLY=y
|
2012-09-30 18:51:07 +02:00
|
|
|
endif
|
|
|
|
|
2017-03-11 23:38:24 +01:00
|
|
|
ifdef CONFIG_OWE
|
|
|
|
CFLAGS += -DCONFIG_OWE
|
|
|
|
NEED_ECC=y
|
|
|
|
NEED_HMAC_SHA256_KDF=y
|
2017-10-08 15:37:32 +02:00
|
|
|
NEED_HMAC_SHA384_KDF=y
|
|
|
|
NEED_HMAC_SHA512_KDF=y
|
|
|
|
NEED_SHA384=y
|
|
|
|
NEED_SHA512=y
|
2017-03-11 23:38:24 +01:00
|
|
|
endif
|
|
|
|
|
2019-03-20 15:58:52 +01:00
|
|
|
ifdef CONFIG_AIRTIME_POLICY
|
|
|
|
CFLAGS += -DCONFIG_AIRTIME_POLICY
|
|
|
|
OBJS += ../src/ap/airtime_policy.o
|
|
|
|
endif
|
|
|
|
|
2015-09-01 16:57:59 +02:00
|
|
|
ifdef CONFIG_FILS
|
|
|
|
CFLAGS += -DCONFIG_FILS
|
2017-01-31 13:00:12 +01:00
|
|
|
OBJS += ../src/ap/fils_hlp.o
|
2015-09-01 16:57:59 +02:00
|
|
|
NEED_SHA384=y
|
2015-09-03 14:59:44 +02:00
|
|
|
NEED_AES_SIV=y
|
2017-03-12 21:40:56 +01:00
|
|
|
ifdef CONFIG_FILS_SK_PFS
|
|
|
|
CFLAGS += -DCONFIG_FILS_SK_PFS
|
|
|
|
NEED_ECC=y
|
|
|
|
endif
|
2015-09-01 16:57:59 +02:00
|
|
|
endif
|
|
|
|
|
2012-12-16 17:22:54 +01:00
|
|
|
ifdef CONFIG_WNM
|
2017-06-12 08:29:27 +02:00
|
|
|
CFLAGS += -DCONFIG_WNM -DCONFIG_WNM_AP
|
2012-02-26 16:25:55 +01:00
|
|
|
OBJS += ../src/ap/wnm_ap.o
|
|
|
|
endif
|
|
|
|
|
2012-06-30 12:52:13 +02:00
|
|
|
ifdef CONFIG_IEEE80211AC
|
|
|
|
CFLAGS += -DCONFIG_IEEE80211AC
|
|
|
|
endif
|
|
|
|
|
2017-02-08 00:16:52 +01:00
|
|
|
ifdef CONFIG_IEEE80211AX
|
|
|
|
CFLAGS += -DCONFIG_IEEE80211AX
|
2016-10-25 19:23:24 +02:00
|
|
|
OBJS += ../src/ap/ieee802_11_he.o
|
2017-02-08 00:16:52 +01:00
|
|
|
endif
|
|
|
|
|
2016-02-15 15:53:52 +01:00
|
|
|
ifdef CONFIG_MBO
|
|
|
|
CFLAGS += -DCONFIG_MBO
|
2016-02-22 12:03:28 +01:00
|
|
|
OBJS += ../src/ap/mbo_ap.o
|
2016-02-15 15:53:52 +01:00
|
|
|
endif
|
|
|
|
|
2009-08-14 18:53:27 +02:00
|
|
|
include ../src/drivers/drivers.mak
|
|
|
|
OBJS += $(DRV_AP_OBJS)
|
|
|
|
CFLAGS += $(DRV_AP_CFLAGS)
|
|
|
|
LDFLAGS += $(DRV_AP_LDFLAGS)
|
|
|
|
LIBS += $(DRV_AP_LIBS)
|
2008-10-01 13:07:55 +02:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_L2_PACKET
|
|
|
|
ifdef CONFIG_DNET_PCAP
|
|
|
|
ifdef CONFIG_L2_FREEBSD
|
|
|
|
LIBS += -lpcap
|
|
|
|
OBJS += ../src/l2_packet/l2_packet_freebsd.o
|
|
|
|
else
|
|
|
|
LIBS += -ldnet -lpcap
|
|
|
|
OBJS += ../src/l2_packet/l2_packet_pcap.o
|
|
|
|
endif
|
|
|
|
else
|
|
|
|
OBJS += ../src/l2_packet/l2_packet_linux.o
|
|
|
|
endif
|
2008-11-21 14:44:00 +01:00
|
|
|
else
|
|
|
|
OBJS += ../src/l2_packet/l2_packet_none.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
|
2014-11-29 20:28:24 +01:00
|
|
|
ifdef CONFIG_ERP
|
|
|
|
CFLAGS += -DCONFIG_ERP
|
|
|
|
NEED_HMAC_SHA256_KDF=y
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_MD5
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_MD5
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_md5.o
|
2008-02-28 02:34:43 +01:00
|
|
|
CHAP=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_TLS
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_TLS
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_tls.o
|
2008-02-28 02:34:43 +01:00
|
|
|
TLS_FUNCS=y
|
|
|
|
endif
|
|
|
|
|
2012-08-22 21:34:11 +02:00
|
|
|
ifdef CONFIG_EAP_UNAUTH_TLS
|
|
|
|
CFLAGS += -DEAP_SERVER_UNAUTH_TLS
|
|
|
|
ifndef CONFIG_EAP_TLS
|
|
|
|
OBJS += ../src/eap_server/eap_server_tls.o
|
|
|
|
TLS_FUNCS=y
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_PEAP
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_PEAP
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_peap.o
|
2008-06-09 09:32:12 +02:00
|
|
|
OBJS += ../src/eap_common/eap_peap_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
TLS_FUNCS=y
|
|
|
|
CONFIG_EAP_MSCHAPV2=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_TTLS
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_TTLS
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_ttls.o
|
2008-02-28 02:34:43 +01:00
|
|
|
TLS_FUNCS=y
|
|
|
|
CHAP=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_MSCHAPV2
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_MSCHAPV2
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_mschapv2.o
|
2008-02-28 02:34:43 +01:00
|
|
|
MS_FUNCS=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_GTC
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_GTC
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_gtc.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_SIM
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_SIM
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_sim.o
|
2008-02-28 02:34:43 +01:00
|
|
|
CONFIG_EAP_SIM_COMMON=y
|
2009-10-11 21:23:50 +02:00
|
|
|
NEED_AES_CBC=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_AKA
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_AKA
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_aka.o
|
2008-02-28 02:34:43 +01:00
|
|
|
CONFIG_EAP_SIM_COMMON=y
|
2009-10-11 21:23:50 +02:00
|
|
|
NEED_AES_CBC=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
2008-12-02 19:12:49 +01:00
|
|
|
ifdef CONFIG_EAP_AKA_PRIME
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_AKA_PRIME
|
2008-12-02 19:12:49 +01:00
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_SIM_COMMON
|
|
|
|
OBJS += ../src/eap_common/eap_sim_common.o
|
|
|
|
# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be
|
|
|
|
# replaced with another file implementating the interface specified in
|
|
|
|
# eap_sim_db.h.
|
|
|
|
OBJS += ../src/eap_server/eap_sim_db.o
|
|
|
|
NEED_FIPS186_2_PRF=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_PAX
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_PAX
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_pax.o ../src/eap_common/eap_pax_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_PSK
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_PSK
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_psk.o ../src/eap_common/eap_psk_common.o
|
2009-10-11 21:23:50 +02:00
|
|
|
NEED_AES_ENCBLOCK=y
|
|
|
|
NEED_AES_EAX=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_SAKE
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_SAKE
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_sake.o ../src/eap_common/eap_sake_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_GPSK
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_GPSK
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_gpsk.o ../src/eap_common/eap_gpsk_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_GPSK_SHA256
|
2014-01-05 13:11:14 +01:00
|
|
|
CFLAGS += -DEAP_GPSK_SHA256
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2010-09-15 09:51:40 +02:00
|
|
|
ifdef CONFIG_EAP_PWD
|
|
|
|
CFLAGS += -DEAP_SERVER_PWD
|
|
|
|
OBJS += ../src/eap_server/eap_server_pwd.o ../src/eap_common/eap_pwd_common.o
|
2017-10-16 07:45:09 +02:00
|
|
|
NEED_ECC=y
|
2019-04-25 18:45:27 +02:00
|
|
|
NEED_DRAGONFLY=y
|
2010-09-15 09:51:40 +02:00
|
|
|
endif
|
|
|
|
|
2013-07-06 17:47:25 +02:00
|
|
|
ifdef CONFIG_EAP_EKE
|
|
|
|
CFLAGS += -DEAP_SERVER_EKE
|
|
|
|
OBJS += ../src/eap_server/eap_server_eke.o ../src/eap_common/eap_eke_common.o
|
|
|
|
NEED_DH_GROUPS=y
|
|
|
|
NEED_DH_GROUPS_ALL=y
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_VENDOR_TEST
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_VENDOR_TEST
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_vendor_test.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_EAP_FAST
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_FAST
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_fast.o
|
2008-02-28 02:56:30 +01:00
|
|
|
OBJS += ../src/eap_common/eap_fast_common.o
|
2008-02-28 02:34:43 +01:00
|
|
|
TLS_FUNCS=y
|
|
|
|
NEED_T_PRF=y
|
2009-10-12 08:10:24 +02:00
|
|
|
NEED_AES_UNWRAP=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
2019-07-09 15:56:02 +02:00
|
|
|
ifdef CONFIG_EAP_TEAP
|
|
|
|
CFLAGS += -DEAP_SERVER_TEAP
|
|
|
|
OBJS += ../src/eap_server/eap_server_teap.o
|
|
|
|
OBJS += ../src/eap_common/eap_teap_common.o
|
|
|
|
TLS_FUNCS=y
|
|
|
|
NEED_T_PRF=y
|
|
|
|
NEED_SHA384=y
|
2019-08-16 20:15:32 +02:00
|
|
|
NEED_TLS_PRF_SHA256=y
|
|
|
|
NEED_TLS_PRF_SHA384=y
|
2019-07-09 15:56:02 +02:00
|
|
|
NEED_AES_UNWRAP=y
|
|
|
|
endif
|
|
|
|
|
2008-11-23 18:34:26 +01:00
|
|
|
ifdef CONFIG_WPS
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DCONFIG_WPS -DEAP_SERVER_WSC
|
2008-11-23 18:34:26 +01:00
|
|
|
OBJS += ../src/utils/uuid.o
|
2009-12-25 00:26:37 +01:00
|
|
|
OBJS += ../src/ap/wps_hostapd.o
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_wsc.o ../src/eap_common/eap_wsc_common.o
|
2008-11-23 18:34:26 +01:00
|
|
|
OBJS += ../src/wps/wps.o
|
|
|
|
OBJS += ../src/wps/wps_common.o
|
2008-11-29 12:16:26 +01:00
|
|
|
OBJS += ../src/wps/wps_attr_parse.o
|
|
|
|
OBJS += ../src/wps/wps_attr_build.o
|
|
|
|
OBJS += ../src/wps/wps_attr_process.o
|
2008-11-23 18:34:26 +01:00
|
|
|
OBJS += ../src/wps/wps_dev_attr.o
|
|
|
|
OBJS += ../src/wps/wps_enrollee.o
|
|
|
|
OBJS += ../src/wps/wps_registrar.o
|
|
|
|
NEED_DH_GROUPS=y
|
2008-12-26 15:40:27 +01:00
|
|
|
NEED_BASE64=y
|
2009-10-11 19:19:12 +02:00
|
|
|
NEED_AES_CBC=y
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_MODEXP=y
|
2010-04-17 21:05:18 +02:00
|
|
|
CONFIG_EAP=y
|
2009-01-29 17:47:02 +01:00
|
|
|
|
2009-03-06 15:16:22 +01:00
|
|
|
ifdef CONFIG_WPS_NFC
|
|
|
|
CFLAGS += -DCONFIG_WPS_NFC
|
|
|
|
OBJS += ../src/wps/ndef.o
|
|
|
|
NEED_WPS_OOB=y
|
|
|
|
endif
|
|
|
|
|
2009-02-26 21:10:21 +01:00
|
|
|
ifdef NEED_WPS_OOB
|
|
|
|
CFLAGS += -DCONFIG_WPS_OOB
|
2009-02-26 21:01:36 +01:00
|
|
|
endif
|
|
|
|
|
2009-01-29 17:47:02 +01:00
|
|
|
ifdef CONFIG_WPS_UPNP
|
|
|
|
CFLAGS += -DCONFIG_WPS_UPNP
|
|
|
|
OBJS += ../src/wps/wps_upnp.o
|
|
|
|
OBJS += ../src/wps/wps_upnp_ssdp.o
|
|
|
|
OBJS += ../src/wps/wps_upnp_web.o
|
|
|
|
OBJS += ../src/wps/wps_upnp_event.o
|
2009-12-12 15:54:59 +01:00
|
|
|
OBJS += ../src/wps/wps_upnp_ap.o
|
2009-11-08 13:06:01 +01:00
|
|
|
OBJS += ../src/wps/upnp_xml.o
|
2009-01-29 17:47:02 +01:00
|
|
|
OBJS += ../src/wps/httpread.o
|
2009-11-08 11:35:37 +01:00
|
|
|
OBJS += ../src/wps/http_client.o
|
2009-11-08 16:26:55 +01:00
|
|
|
OBJS += ../src/wps/http_server.o
|
2009-01-29 17:47:02 +01:00
|
|
|
endif
|
|
|
|
|
2010-07-21 07:15:06 +02:00
|
|
|
ifdef CONFIG_WPS_STRICT
|
|
|
|
CFLAGS += -DCONFIG_WPS_STRICT
|
|
|
|
OBJS += ../src/wps/wps_validate.o
|
|
|
|
endif
|
|
|
|
|
2010-09-22 04:51:23 +02:00
|
|
|
ifdef CONFIG_WPS_TESTING
|
|
|
|
CFLAGS += -DCONFIG_WPS_TESTING
|
|
|
|
endif
|
|
|
|
|
2008-11-23 18:34:26 +01:00
|
|
|
endif
|
|
|
|
|
2017-06-15 21:16:45 +02:00
|
|
|
ifdef CONFIG_DPP
|
|
|
|
CFLAGS += -DCONFIG_DPP
|
|
|
|
OBJS += ../src/common/dpp.o
|
|
|
|
OBJS += ../src/ap/dpp_hostapd.o
|
|
|
|
OBJS += ../src/ap/gas_query_ap.o
|
|
|
|
NEED_AES_SIV=y
|
|
|
|
NEED_HMAC_SHA256_KDF=y
|
|
|
|
NEED_HMAC_SHA384_KDF=y
|
|
|
|
NEED_HMAC_SHA512_KDF=y
|
|
|
|
NEED_SHA384=y
|
|
|
|
NEED_SHA512=y
|
2019-09-08 16:46:55 +02:00
|
|
|
NEED_ECC=y
|
2017-06-15 21:16:45 +02:00
|
|
|
NEED_JSON=y
|
|
|
|
NEED_GAS=y
|
2017-09-01 20:15:34 +02:00
|
|
|
NEED_BASE64=y
|
2019-12-12 01:28:39 +01:00
|
|
|
NEED_ASN1=y
|
2019-03-13 11:00:09 +01:00
|
|
|
ifdef CONFIG_DPP2
|
|
|
|
CFLAGS += -DCONFIG_DPP2
|
|
|
|
endif
|
2017-06-15 21:16:45 +02:00
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_EAP_IKEV2
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_IKEV2
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_ikev2.o ../src/eap_server/ikev2.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o
|
|
|
|
NEED_DH_GROUPS=y
|
2009-10-11 14:24:40 +02:00
|
|
|
NEED_DH_GROUPS_ALL=y
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_MODEXP=y
|
2009-12-06 13:37:46 +01:00
|
|
|
NEED_CIPHER=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
2008-03-09 09:37:18 +01:00
|
|
|
ifdef CONFIG_EAP_TNC
|
2009-03-25 11:06:19 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_TNC
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_tnc.o
|
2008-03-09 09:37:18 +01:00
|
|
|
OBJS += ../src/eap_server/tncs.o
|
|
|
|
NEED_BASE64=y
|
2009-03-21 19:59:07 +01:00
|
|
|
ifndef CONFIG_DRIVER_BSD
|
2009-02-05 18:24:16 +01:00
|
|
|
LIBS += -ldl
|
2008-03-09 09:37:18 +01:00
|
|
|
endif
|
2009-03-21 19:59:07 +01:00
|
|
|
endif
|
2008-03-09 09:37:18 +01:00
|
|
|
|
2019-05-24 10:53:32 +02:00
|
|
|
ifdef CONFIG_MACSEC
|
|
|
|
CFLAGS += -DCONFIG_MACSEC
|
|
|
|
OBJS += ../src/ap/wpa_auth_kay.o
|
|
|
|
OBJS += ../src/pae/ieee802_1x_cp.o
|
|
|
|
OBJS += ../src/pae/ieee802_1x_kay.o
|
|
|
|
OBJS += ../src/pae/ieee802_1x_key.o
|
|
|
|
OBJS += ../src/pae/ieee802_1x_secy_ops.o
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
# Basic EAP functionality is needed for EAPOL
|
2009-12-06 10:28:41 +01:00
|
|
|
OBJS += eap_register.o
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/eap_common/eap_common.o
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_methods.o
|
|
|
|
OBJS += ../src/eap_server/eap_server_identity.o
|
2009-12-06 10:28:41 +01:00
|
|
|
CFLAGS += -DEAP_SERVER_IDENTITY
|
2008-02-28 02:34:43 +01:00
|
|
|
|
|
|
|
ifdef CONFIG_EAP
|
|
|
|
CFLAGS += -DEAP_SERVER
|
|
|
|
endif
|
|
|
|
|
2009-10-11 19:34:26 +02:00
|
|
|
ifdef CONFIG_PKCS12
|
|
|
|
CFLAGS += -DPKCS12_FUNCS
|
|
|
|
endif
|
|
|
|
|
2019-04-25 18:45:27 +02:00
|
|
|
ifdef NEED_DRAGONFLY
|
|
|
|
OBJS += ../src/common/dragonfly.o
|
|
|
|
endif
|
|
|
|
|
2009-10-11 19:34:26 +02:00
|
|
|
ifdef MS_FUNCS
|
|
|
|
OBJS += ../src/crypto/ms_funcs.o
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_DES=y
|
|
|
|
NEED_MD4=y
|
2009-10-11 19:34:26 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CHAP
|
|
|
|
OBJS += ../src/eap_common/chap.o
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef TLS_FUNCS
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_DES=y
|
2008-02-28 02:34:43 +01:00
|
|
|
# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS)
|
|
|
|
CFLAGS += -DEAP_TLS_FUNCS
|
2010-02-19 17:54:07 +01:00
|
|
|
OBJS += ../src/eap_server/eap_server_tls_common.o
|
2009-01-12 14:20:12 +01:00
|
|
|
NEED_TLS_PRF=y
|
2009-10-11 18:42:04 +02:00
|
|
|
endif
|
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
ifndef CONFIG_TLS
|
|
|
|
CONFIG_TLS=openssl
|
|
|
|
endif
|
|
|
|
|
2011-09-25 16:24:46 +02:00
|
|
|
ifdef CONFIG_TLSV11
|
|
|
|
CFLAGS += -DCONFIG_TLSV11
|
|
|
|
endif
|
|
|
|
|
2011-11-27 20:45:07 +01:00
|
|
|
ifdef CONFIG_TLSV12
|
|
|
|
CFLAGS += -DCONFIG_TLSV12
|
|
|
|
endif
|
|
|
|
|
2018-01-18 03:26:39 +01:00
|
|
|
ifeq ($(CONFIG_TLS), wolfssl)
|
|
|
|
CONFIG_CRYPTO=wolfssl
|
|
|
|
ifdef TLS_FUNCS
|
|
|
|
OBJS += ../src/crypto/tls_wolfssl.o
|
|
|
|
LIBS += -lwolfssl -lm
|
|
|
|
endif
|
|
|
|
OBJS += ../src/crypto/crypto_wolfssl.o
|
|
|
|
HOBJS += ../src/crypto/crypto_wolfssl.o
|
|
|
|
ifdef NEED_FIPS186_2_PRF
|
|
|
|
OBJS += ../src/crypto/fips_prf_wolfssl.o
|
|
|
|
endif
|
|
|
|
NEED_TLS_PRF_SHA256=y
|
|
|
|
LIBS += -lwolfssl -lm
|
|
|
|
LIBS_h += -lwolfssl -lm
|
|
|
|
ifdef CONFIG_TLS_ADD_DL
|
|
|
|
LIBS += -ldl
|
|
|
|
LIBS_h += -ldl
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifeq ($(CONFIG_TLS), openssl)
|
2018-01-18 03:26:39 +01:00
|
|
|
CONFIG_CRYPTO=openssl
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef TLS_FUNCS
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/crypto/tls_openssl.o
|
2015-12-04 13:04:31 +01:00
|
|
|
OBJS += ../src/crypto/tls_openssl_ocsp.o
|
2009-10-11 21:04:29 +02:00
|
|
|
LIBS += -lssl
|
|
|
|
endif
|
|
|
|
OBJS += ../src/crypto/crypto_openssl.o
|
|
|
|
HOBJS += ../src/crypto/crypto_openssl.o
|
|
|
|
ifdef NEED_FIPS186_2_PRF
|
|
|
|
OBJS += ../src/crypto/fips_prf_openssl.o
|
|
|
|
endif
|
2015-07-28 10:40:17 +02:00
|
|
|
NEED_TLS_PRF_SHA256=y
|
2009-10-11 21:04:29 +02:00
|
|
|
LIBS += -lcrypto
|
2008-02-28 02:34:43 +01:00
|
|
|
LIBS_h += -lcrypto
|
2018-04-15 01:34:35 +02:00
|
|
|
LIBS_n += -lcrypto
|
2015-07-28 10:57:05 +02:00
|
|
|
ifdef CONFIG_TLS_ADD_DL
|
|
|
|
LIBS += -ldl
|
|
|
|
LIBS_h += -ldl
|
|
|
|
endif
|
2017-07-09 11:06:50 +02:00
|
|
|
ifndef CONFIG_TLS_DEFAULT_CIPHERS
|
|
|
|
CONFIG_TLS_DEFAULT_CIPHERS = "DEFAULT:!EXP:!LOW"
|
|
|
|
endif
|
|
|
|
CFLAGS += -DTLS_DEFAULT_CIPHERS=\"$(CONFIG_TLS_DEFAULT_CIPHERS)\"
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifeq ($(CONFIG_TLS), gnutls)
|
2017-12-29 16:11:21 +01:00
|
|
|
ifndef CONFIG_CRYPTO
|
|
|
|
# default to libgcrypt
|
|
|
|
CONFIG_CRYPTO=gnutls
|
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef TLS_FUNCS
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/crypto/tls_gnutls.o
|
2009-10-11 21:04:29 +02:00
|
|
|
LIBS += -lgnutls -lgpg-error
|
2009-10-11 18:42:04 +02:00
|
|
|
endif
|
2017-12-29 16:11:21 +01:00
|
|
|
OBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
|
|
|
|
HOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_FIPS186_2_PRF
|
2014-03-11 15:33:05 +01:00
|
|
|
OBJS += ../src/crypto/fips_prf_internal.o
|
|
|
|
SHA1OBJS += ../src/crypto/sha1-internal.o
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
2017-12-29 16:11:21 +01:00
|
|
|
ifeq ($(CONFIG_CRYPTO), gnutls)
|
2009-10-11 21:04:29 +02:00
|
|
|
LIBS += -lgcrypt
|
|
|
|
LIBS_h += -lgcrypt
|
2018-04-15 01:34:35 +02:00
|
|
|
LIBS_n += -lgcrypt
|
2009-10-11 21:04:29 +02:00
|
|
|
CONFIG_INTERNAL_RC4=y
|
|
|
|
CONFIG_INTERNAL_DH_GROUP5=y
|
|
|
|
endif
|
2017-12-29 16:11:21 +01:00
|
|
|
ifeq ($(CONFIG_CRYPTO), nettle)
|
|
|
|
LIBS += -lnettle -lgmp
|
|
|
|
LIBS_p += -lnettle -lgmp
|
|
|
|
CONFIG_INTERNAL_RC4=y
|
|
|
|
CONFIG_INTERNAL_DH_GROUP5=y
|
|
|
|
endif
|
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifeq ($(CONFIG_TLS), internal)
|
2009-10-11 21:04:29 +02:00
|
|
|
ifndef CONFIG_CRYPTO
|
|
|
|
CONFIG_CRYPTO=internal
|
|
|
|
endif
|
|
|
|
ifdef TLS_FUNCS
|
2009-12-06 13:37:46 +01:00
|
|
|
OBJS += ../src/crypto/crypto_internal-rsa.o
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/crypto/tls_internal.o
|
2009-10-11 21:04:29 +02:00
|
|
|
OBJS += ../src/tls/tlsv1_common.o
|
|
|
|
OBJS += ../src/tls/tlsv1_record.o
|
|
|
|
OBJS += ../src/tls/tlsv1_cred.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server_write.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server_read.o
|
|
|
|
OBJS += ../src/tls/rsa.o
|
|
|
|
OBJS += ../src/tls/x509v3.o
|
2009-10-17 11:48:55 +02:00
|
|
|
OBJS += ../src/tls/pkcs1.o
|
|
|
|
OBJS += ../src/tls/pkcs5.o
|
|
|
|
OBJS += ../src/tls/pkcs8.o
|
2019-12-12 01:28:39 +01:00
|
|
|
NEED_ASN1=y
|
2008-02-28 02:34:43 +01:00
|
|
|
NEED_BASE64=y
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_TLS_PRF=y
|
2011-11-27 20:45:07 +01:00
|
|
|
ifdef CONFIG_TLSV12
|
|
|
|
NEED_TLS_PRF_SHA256=y
|
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
NEED_MODEXP=y
|
2009-12-06 13:37:46 +01:00
|
|
|
NEED_CIPHER=y
|
2008-02-28 02:34:43 +01:00
|
|
|
CFLAGS += -DCONFIG_TLS_INTERNAL
|
|
|
|
CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
|
|
|
|
endif
|
2009-12-06 13:37:46 +01:00
|
|
|
ifdef NEED_CIPHER
|
|
|
|
NEED_DES=y
|
|
|
|
OBJS += ../src/crypto/crypto_internal-cipher.o
|
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_MODEXP
|
2009-12-06 13:37:46 +01:00
|
|
|
OBJS += ../src/crypto/crypto_internal-modexp.o
|
2009-10-11 21:04:29 +02:00
|
|
|
OBJS += ../src/tls/bignum.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(CONFIG_CRYPTO), libtomcrypt)
|
2009-10-11 21:04:29 +02:00
|
|
|
OBJS += ../src/crypto/crypto_libtomcrypt.o
|
2008-02-28 02:34:43 +01:00
|
|
|
LIBS += -ltomcrypt -ltfm
|
2009-10-11 18:42:04 +02:00
|
|
|
LIBS_h += -ltomcrypt -ltfm
|
2008-02-28 02:34:43 +01:00
|
|
|
CONFIG_INTERNAL_SHA256=y
|
2009-08-16 19:13:14 +02:00
|
|
|
CONFIG_INTERNAL_RC4=y
|
2009-10-11 18:17:22 +02:00
|
|
|
CONFIG_INTERNAL_DH_GROUP5=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
ifeq ($(CONFIG_CRYPTO), internal)
|
2009-10-11 21:04:29 +02:00
|
|
|
OBJS += ../src/crypto/crypto_internal.o
|
2009-11-24 09:24:54 +01:00
|
|
|
NEED_AES_DEC=y
|
2008-02-28 02:34:43 +01:00
|
|
|
CFLAGS += -DCONFIG_CRYPTO_INTERNAL
|
2009-05-26 16:09:04 +02:00
|
|
|
ifdef CONFIG_INTERNAL_LIBTOMMATH
|
|
|
|
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
|
|
|
|
ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST
|
|
|
|
CFLAGS += -DLTM_FAST
|
|
|
|
endif
|
|
|
|
else
|
|
|
|
LIBS += -ltommath
|
2009-10-11 18:42:04 +02:00
|
|
|
LIBS_h += -ltommath
|
2009-05-26 16:09:04 +02:00
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
CONFIG_INTERNAL_AES=y
|
|
|
|
CONFIG_INTERNAL_DES=y
|
|
|
|
CONFIG_INTERNAL_SHA1=y
|
|
|
|
CONFIG_INTERNAL_MD4=y
|
|
|
|
CONFIG_INTERNAL_MD5=y
|
|
|
|
CONFIG_INTERNAL_SHA256=y
|
2015-11-22 02:02:57 +01:00
|
|
|
CONFIG_INTERNAL_SHA384=y
|
|
|
|
CONFIG_INTERNAL_SHA512=y
|
2009-08-16 19:13:14 +02:00
|
|
|
CONFIG_INTERNAL_RC4=y
|
2009-10-11 18:17:22 +02:00
|
|
|
CONFIG_INTERNAL_DH_GROUP5=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
ifeq ($(CONFIG_CRYPTO), cryptoapi)
|
|
|
|
OBJS += ../src/crypto/crypto_cryptoapi.o
|
|
|
|
OBJS_p += ../src/crypto/crypto_cryptoapi.o
|
|
|
|
CFLAGS += -DCONFIG_CRYPTO_CRYPTOAPI
|
|
|
|
CONFIG_INTERNAL_SHA256=y
|
|
|
|
CONFIG_INTERNAL_RC4=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
|
|
|
|
2017-02-27 00:10:02 +01:00
|
|
|
ifeq ($(CONFIG_TLS), linux)
|
|
|
|
OBJS += ../src/crypto/crypto_linux.o
|
|
|
|
ifdef TLS_FUNCS
|
|
|
|
OBJS += ../src/crypto/crypto_internal-rsa.o
|
|
|
|
OBJS += ../src/crypto/tls_internal.o
|
|
|
|
OBJS += ../src/tls/tlsv1_common.o
|
|
|
|
OBJS += ../src/tls/tlsv1_record.o
|
|
|
|
OBJS += ../src/tls/tlsv1_cred.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server_write.o
|
|
|
|
OBJS += ../src/tls/tlsv1_server_read.o
|
|
|
|
OBJS += ../src/tls/rsa.o
|
|
|
|
OBJS += ../src/tls/x509v3.o
|
|
|
|
OBJS += ../src/tls/pkcs1.o
|
|
|
|
OBJS += ../src/tls/pkcs5.o
|
|
|
|
OBJS += ../src/tls/pkcs8.o
|
2019-12-12 01:28:39 +01:00
|
|
|
NEED_ASN1=y
|
2017-02-27 00:10:02 +01:00
|
|
|
NEED_BASE64=y
|
|
|
|
NEED_TLS_PRF=y
|
|
|
|
ifdef CONFIG_TLSV12
|
|
|
|
NEED_TLS_PRF_SHA256=y
|
|
|
|
endif
|
|
|
|
NEED_MODEXP=y
|
|
|
|
NEED_CIPHER=y
|
|
|
|
CFLAGS += -DCONFIG_TLS_INTERNAL
|
|
|
|
CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER
|
|
|
|
endif
|
|
|
|
ifdef NEED_MODEXP
|
|
|
|
OBJS += ../src/crypto/crypto_internal-modexp.o
|
|
|
|
OBJS += ../src/tls/bignum.o
|
|
|
|
CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH
|
|
|
|
CFLAGS += -DLTM_FAST
|
|
|
|
endif
|
|
|
|
CONFIG_INTERNAL_DH_GROUP5=y
|
|
|
|
ifdef NEED_FIPS186_2_PRF
|
|
|
|
OBJS += ../src/crypto/fips_prf_internal.o
|
|
|
|
OBJS += ../src/crypto/sha1-internal.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
ifeq ($(CONFIG_TLS), none)
|
|
|
|
ifdef TLS_FUNCS
|
|
|
|
OBJS += ../src/crypto/tls_none.o
|
|
|
|
CFLAGS += -DEAP_TLS_NONE
|
2008-02-28 02:34:43 +01:00
|
|
|
CONFIG_INTERNAL_AES=y
|
|
|
|
CONFIG_INTERNAL_SHA1=y
|
|
|
|
CONFIG_INTERNAL_MD5=y
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
|
|
|
OBJS += ../src/crypto/crypto_none.o
|
|
|
|
OBJS_p += ../src/crypto/crypto_none.o
|
|
|
|
CONFIG_INTERNAL_SHA256=y
|
2009-08-16 19:13:14 +02:00
|
|
|
CONFIG_INTERNAL_RC4=y
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
ifndef TLS_FUNCS
|
|
|
|
OBJS += ../src/crypto/tls_none.o
|
|
|
|
ifeq ($(CONFIG_TLS), internal)
|
|
|
|
CONFIG_INTERNAL_AES=y
|
|
|
|
CONFIG_INTERNAL_SHA1=y
|
|
|
|
CONFIG_INTERNAL_MD5=y
|
|
|
|
CONFIG_INTERNAL_RC4=y
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
AESOBJS = # none so far
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_INTERNAL_AES
|
2009-08-13 10:21:32 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-internal.o ../src/crypto/aes-internal-enc.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
|
2015-01-27 12:57:59 +01:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-11 21:04:29 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-wrap.o
|
2015-01-27 12:57:59 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2009-10-11 21:23:50 +02:00
|
|
|
ifdef NEED_AES_EAX
|
2009-10-11 21:04:29 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-eax.o
|
2009-10-11 21:23:50 +02:00
|
|
|
NEED_AES_CTR=y
|
2017-02-26 11:02:21 +01:00
|
|
|
endif
|
|
|
|
ifdef NEED_AES_SIV
|
|
|
|
AESOBJS += ../src/crypto/aes-siv.o
|
|
|
|
NEED_AES_CTR=y
|
2009-10-11 21:23:50 +02:00
|
|
|
endif
|
|
|
|
ifdef NEED_AES_CTR
|
|
|
|
AESOBJS += ../src/crypto/aes-ctr.o
|
|
|
|
endif
|
|
|
|
ifdef NEED_AES_ENCBLOCK
|
2009-10-11 21:04:29 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-encblock.o
|
2009-10-11 21:23:50 +02:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2018-03-29 06:55:55 +02:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-11 21:04:29 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-omac1.o
|
2009-10-11 21:23:50 +02:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2009-10-11 21:23:50 +02:00
|
|
|
ifdef NEED_AES_UNWRAP
|
2015-01-27 12:57:59 +01:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-13 09:04:46 +02:00
|
|
|
NEED_AES_DEC=y
|
2009-10-11 21:04:29 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-unwrap.o
|
|
|
|
endif
|
2015-01-27 12:57:59 +01:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_AES_CBC
|
2009-10-13 09:04:46 +02:00
|
|
|
NEED_AES_DEC=y
|
2015-03-29 19:30:58 +02:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-13 09:04:46 +02:00
|
|
|
AESOBJS += ../src/crypto/aes-cbc.o
|
|
|
|
endif
|
2015-03-29 19:30:58 +02:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2009-10-13 09:04:46 +02:00
|
|
|
ifdef NEED_AES_DEC
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef CONFIG_INTERNAL_AES
|
|
|
|
AESOBJS += ../src/crypto/aes-internal-dec.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
ifdef NEED_AES
|
|
|
|
OBJS += $(AESOBJS)
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_SHA1
|
2012-08-16 19:38:25 +02:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2017-12-27 22:35:26 +01:00
|
|
|
ifneq ($(CONFIG_TLS), gnutls)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-11 21:04:29 +02:00
|
|
|
SHA1OBJS += ../src/crypto/sha1.o
|
2012-08-16 19:38:25 +02:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2017-12-27 22:35:26 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2012-08-16 19:23:12 +02:00
|
|
|
SHA1OBJS += ../src/crypto/sha1-prf.o
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_INTERNAL_SHA1
|
2009-08-11 19:19:37 +02:00
|
|
|
SHA1OBJS += ../src/crypto/sha1-internal.o
|
2009-08-11 19:06:23 +02:00
|
|
|
ifdef NEED_FIPS186_2_PRF
|
2009-08-11 19:19:37 +02:00
|
|
|
SHA1OBJS += ../src/crypto/fips_prf_internal.o
|
2009-08-11 19:06:23 +02:00
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2012-08-16 19:13:02 +02:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2009-10-11 21:04:29 +02:00
|
|
|
SHA1OBJS += ../src/crypto/sha1-pbkdf2.o
|
2012-08-16 19:13:02 +02:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_T_PRF
|
|
|
|
SHA1OBJS += ../src/crypto/sha1-tprf.o
|
|
|
|
endif
|
|
|
|
ifdef NEED_TLS_PRF
|
|
|
|
SHA1OBJS += ../src/crypto/sha1-tlsprf.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_SHA1
|
|
|
|
OBJS += $(SHA1OBJS)
|
|
|
|
endif
|
|
|
|
|
2015-01-27 12:26:01 +01:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2017-12-27 22:35:26 +01:00
|
|
|
ifneq ($(CONFIG_TLS), gnutls)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2015-01-27 12:26:01 +01:00
|
|
|
OBJS += ../src/crypto/md5.o
|
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2017-12-27 22:35:26 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2015-01-27 12:26:01 +01:00
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_MD5
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_INTERNAL_MD5
|
2009-07-28 20:36:13 +02:00
|
|
|
OBJS += ../src/crypto/md5-internal.o
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
HOBJS += ../src/crypto/md5-internal.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_MD4
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_INTERNAL_MD4
|
2009-07-28 20:27:02 +02:00
|
|
|
OBJS += ../src/crypto/md4-internal.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_DES
|
2018-01-18 03:26:39 +01:00
|
|
|
CFLAGS += -DCONFIG_DES
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_INTERNAL_DES
|
2009-07-28 20:00:44 +02:00
|
|
|
OBJS += ../src/crypto/des-internal.o
|
2008-02-28 02:34:43 +01:00
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
|
|
|
|
2015-08-01 22:37:07 +02:00
|
|
|
ifdef CONFIG_NO_RC4
|
|
|
|
CFLAGS += -DCONFIG_NO_RC4
|
|
|
|
endif
|
|
|
|
|
2009-10-11 21:04:29 +02:00
|
|
|
ifdef NEED_RC4
|
2009-08-16 19:13:14 +02:00
|
|
|
ifdef CONFIG_INTERNAL_RC4
|
2015-08-01 22:37:07 +02:00
|
|
|
ifndef CONFIG_NO_RC4
|
2009-08-16 19:13:14 +02:00
|
|
|
OBJS += ../src/crypto/rc4.o
|
|
|
|
endif
|
2009-10-11 21:04:29 +02:00
|
|
|
endif
|
2015-08-01 22:37:07 +02:00
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2011-11-27 20:05:10 +01:00
|
|
|
CFLAGS += -DCONFIG_SHA256
|
2012-08-16 21:34:35 +02:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2017-12-27 22:35:26 +01:00
|
|
|
ifneq ($(CONFIG_TLS), gnutls)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2008-02-28 02:34:43 +01:00
|
|
|
OBJS += ../src/crypto/sha256.o
|
2012-08-16 21:34:35 +02:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2017-12-27 22:35:26 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2012-08-16 21:24:11 +02:00
|
|
|
OBJS += ../src/crypto/sha256-prf.o
|
2009-07-28 20:20:04 +02:00
|
|
|
ifdef CONFIG_INTERNAL_SHA256
|
|
|
|
OBJS += ../src/crypto/sha256-internal.o
|
|
|
|
endif
|
2011-11-27 20:07:44 +01:00
|
|
|
ifdef NEED_TLS_PRF_SHA256
|
|
|
|
OBJS += ../src/crypto/sha256-tlsprf.o
|
|
|
|
endif
|
2019-08-16 20:15:32 +02:00
|
|
|
ifdef NEED_TLS_PRF_SHA384
|
|
|
|
OBJS += ../src/crypto/sha384-tlsprf.o
|
|
|
|
endif
|
2014-11-29 20:28:24 +01:00
|
|
|
ifdef NEED_HMAC_SHA256_KDF
|
|
|
|
OBJS += ../src/crypto/sha256-kdf.o
|
|
|
|
endif
|
2017-06-15 20:17:50 +02:00
|
|
|
ifdef NEED_HMAC_SHA384_KDF
|
|
|
|
OBJS += ../src/crypto/sha384-kdf.o
|
|
|
|
endif
|
|
|
|
ifdef NEED_HMAC_SHA512_KDF
|
|
|
|
OBJS += ../src/crypto/sha512-kdf.o
|
|
|
|
endif
|
2015-01-25 23:37:18 +01:00
|
|
|
ifdef NEED_SHA384
|
|
|
|
CFLAGS += -DCONFIG_SHA384
|
2017-02-16 19:37:19 +01:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2017-12-27 22:35:26 +01:00
|
|
|
ifneq ($(CONFIG_TLS), gnutls)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2017-02-16 19:37:19 +01:00
|
|
|
OBJS += ../src/crypto/sha384.o
|
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2017-12-27 22:35:26 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2015-08-27 19:42:14 +02:00
|
|
|
OBJS += ../src/crypto/sha384-prf.o
|
2015-01-25 23:37:18 +01:00
|
|
|
endif
|
2017-06-15 20:17:50 +02:00
|
|
|
ifdef NEED_SHA512
|
|
|
|
CFLAGS += -DCONFIG_SHA512
|
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2017-12-27 22:35:26 +01:00
|
|
|
ifneq ($(CONFIG_TLS), gnutls)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
2017-06-15 20:17:50 +02:00
|
|
|
OBJS += ../src/crypto/sha512.o
|
|
|
|
endif
|
|
|
|
endif
|
2017-12-27 22:35:26 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
2017-06-15 20:17:50 +02:00
|
|
|
OBJS += ../src/crypto/sha512-prf.o
|
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2015-11-22 02:02:57 +01:00
|
|
|
ifdef CONFIG_INTERNAL_SHA384
|
|
|
|
CFLAGS += -DCONFIG_INTERNAL_SHA384
|
|
|
|
OBJS += ../src/crypto/sha384-internal.o
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_INTERNAL_SHA512
|
|
|
|
CFLAGS += -DCONFIG_INTERNAL_SHA512
|
|
|
|
OBJS += ../src/crypto/sha512-internal.o
|
|
|
|
endif
|
|
|
|
|
2019-12-12 01:28:39 +01:00
|
|
|
ifdef NEED_ASN1
|
|
|
|
OBJS += ../src/tls/asn1.o
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef NEED_DH_GROUPS
|
|
|
|
OBJS += ../src/crypto/dh_groups.o
|
|
|
|
endif
|
2009-10-11 18:17:22 +02:00
|
|
|
ifdef NEED_DH_GROUPS_ALL
|
|
|
|
CFLAGS += -DALL_DH_GROUPS
|
|
|
|
endif
|
2009-12-11 16:24:42 +01:00
|
|
|
ifdef CONFIG_INTERNAL_DH_GROUP5
|
|
|
|
ifdef NEED_DH_GROUPS
|
|
|
|
OBJS += ../src/crypto/dh_group5.o
|
|
|
|
endif
|
2009-10-11 18:17:22 +02:00
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2012-12-31 18:41:21 +01:00
|
|
|
ifdef NEED_ECC
|
|
|
|
CFLAGS += -DCONFIG_ECC
|
|
|
|
endif
|
|
|
|
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
ifdef CONFIG_NO_RANDOM_POOL
|
|
|
|
CFLAGS += -DCONFIG_NO_RANDOM_POOL
|
|
|
|
else
|
2017-09-18 14:58:07 +02:00
|
|
|
ifdef CONFIG_GETRANDOM
|
|
|
|
CFLAGS += -DCONFIG_GETRANDOM
|
|
|
|
endif
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
OBJS += ../src/crypto/random.o
|
|
|
|
HOBJS += ../src/crypto/random.o
|
2011-10-15 15:52:51 +02:00
|
|
|
HOBJS += ../src/utils/eloop.o
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
HOBJS += $(SHA1OBJS)
|
2015-03-20 13:56:31 +01:00
|
|
|
ifneq ($(CONFIG_TLS), openssl)
|
2017-02-27 00:10:02 +01:00
|
|
|
ifneq ($(CONFIG_TLS), linux)
|
2018-01-18 03:26:39 +01:00
|
|
|
ifneq ($(CONFIG_TLS), wolfssl)
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
HOBJS += ../src/crypto/md5.o
|
|
|
|
endif
|
2015-03-20 13:56:31 +01:00
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
endif
|
Maintain internal entropy pool for augmenting random number generation
By default, make hostapd and wpa_supplicant maintain an internal
entropy pool that is fed with following information:
hostapd:
- Probe Request frames (timing, RSSI)
- Association events (timing)
- SNonce from Supplicants
wpa_supplicant:
- Scan results (timing, signal/noise)
- Association events (timing)
The internal pool is used to augment the random numbers generated
with the OS mechanism (os_get_random()). While the internal
implementation is not expected to be very strong due to limited
amount of generic (non-platform specific) information to feed the
pool, this may strengthen key derivation on some devices that are
not configured to provide strong random numbers through
os_get_random() (e.g., /dev/urandom on Linux/BSD).
This new mechanism is not supposed to replace proper OS provided
random number generation mechanism. The OS mechanism needs to be
initialized properly (e.g., hw random number generator,
maintaining entropy pool over reboots, etc.) for any of the
security assumptions to hold.
If the os_get_random() is known to provide strong ramdom data (e.g., on
Linux/BSD, the board in question is known to have reliable source of
random data from /dev/urandom), the internal hostapd random pool can be
disabled. This will save some in binary size and CPU use. However, this
should only be considered for builds that are known to be used on
devices that meet the requirements described above. The internal pool
is disabled by adding CONFIG_NO_RANDOM_POOL=y to the .config file.
2010-11-24 00:29:40 +01:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef CONFIG_RADIUS_SERVER
|
|
|
|
CFLAGS += -DRADIUS_SERVER
|
|
|
|
OBJS += ../src/radius/radius_server.o
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef CONFIG_IPV6
|
|
|
|
CFLAGS += -DCONFIG_IPV6
|
|
|
|
endif
|
|
|
|
|
2008-03-12 10:43:55 +01:00
|
|
|
ifdef CONFIG_DRIVER_RADIUS_ACL
|
|
|
|
CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ifdef NEED_BASE64
|
|
|
|
OBJS += ../src/utils/base64.o
|
|
|
|
endif
|
|
|
|
|
2017-06-15 20:18:00 +02:00
|
|
|
ifdef NEED_JSON
|
|
|
|
OBJS += ../src/utils/json.o
|
|
|
|
CFLAGS += -DCONFIG_JSON
|
|
|
|
endif
|
|
|
|
|
2009-08-14 18:53:27 +02:00
|
|
|
ifdef NEED_AP_MLME
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/wmm.o
|
|
|
|
OBJS += ../src/ap/ap_list.o
|
|
|
|
OBJS += ../src/ap/ieee802_11.o
|
2009-12-25 19:06:07 +01:00
|
|
|
OBJS += ../src/ap/hw_features.o
|
2013-10-15 19:27:25 +02:00
|
|
|
OBJS += ../src/ap/dfs.o
|
2010-09-05 11:41:15 +02:00
|
|
|
CFLAGS += -DNEED_AP_MLME
|
|
|
|
endif
|
2009-12-25 00:12:50 +01:00
|
|
|
OBJS += ../src/ap/ieee802_11_ht.o
|
2009-01-08 17:40:14 +01:00
|
|
|
|
2012-06-30 12:57:52 +02:00
|
|
|
ifdef CONFIG_IEEE80211AC
|
|
|
|
OBJS += ../src/ap/ieee802_11_vht.o
|
|
|
|
endif
|
|
|
|
|
2010-10-08 17:16:07 +02:00
|
|
|
ifdef CONFIG_P2P_MANAGER
|
|
|
|
CFLAGS += -DCONFIG_P2P_MANAGER
|
|
|
|
OBJS += ../src/ap/p2p_hostapd.o
|
|
|
|
endif
|
|
|
|
|
2011-09-08 19:52:23 +02:00
|
|
|
ifdef CONFIG_HS20
|
|
|
|
CFLAGS += -DCONFIG_HS20
|
2011-09-08 19:52:23 +02:00
|
|
|
OBJS += ../src/ap/hs20.o
|
2011-09-08 19:52:23 +02:00
|
|
|
CONFIG_INTERWORKING=y
|
|
|
|
endif
|
|
|
|
|
2011-09-23 19:26:17 +02:00
|
|
|
ifdef CONFIG_INTERWORKING
|
|
|
|
CFLAGS += -DCONFIG_INTERWORKING
|
2017-06-15 21:16:45 +02:00
|
|
|
NEED_GAS=y
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifdef NEED_GAS
|
2012-02-26 21:34:19 +01:00
|
|
|
OBJS += ../src/common/gas.o
|
|
|
|
OBJS += ../src/ap/gas_serv.o
|
2011-09-23 19:26:17 +02:00
|
|
|
endif
|
|
|
|
|
AP: Add support for Proxy ARP, DHCP snooping mechanism
Proxy ARP allows the AP devices to keep track of the hardware address to
IP address mapping of the STA devices within the BSS. When a request for
such information is made (i.e., ARP request, Neighbor Solicitation), the
AP will respond on behalf of the STA device within the BSS. Such
requests could originate from a device within the BSS or also from the
bridge. In the process of the AP replying to the request (i.e., ARP
reply, Neighbor Advertisement), the AP will drop the original request
frame. The relevant STA will not even know that such information was
ever requested.
This feature is a requirement for Hotspot 2.0, and is defined in IEEE
Std 802.11-2012, 10.23.13. While the Proxy ARP support code mainly
resides in the kernel bridge code, in order to optimize the performance
and simplify kernel implementation, the DHCP snooping code was added to
the hostapd.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
2014-09-26 07:32:55 +02:00
|
|
|
ifdef CONFIG_PROXYARP
|
|
|
|
CFLAGS += -DCONFIG_PROXYARP
|
2014-11-01 02:18:35 +01:00
|
|
|
OBJS += ../src/ap/x_snoop.o
|
AP: Add support for Proxy ARP, DHCP snooping mechanism
Proxy ARP allows the AP devices to keep track of the hardware address to
IP address mapping of the STA devices within the BSS. When a request for
such information is made (i.e., ARP request, Neighbor Solicitation), the
AP will respond on behalf of the STA device within the BSS. Such
requests could originate from a device within the BSS or also from the
bridge. In the process of the AP replying to the request (i.e., ARP
reply, Neighbor Advertisement), the AP will drop the original request
frame. The relevant STA will not even know that such information was
ever requested.
This feature is a requirement for Hotspot 2.0, and is defined in IEEE
Std 802.11-2012, 10.23.13. While the Proxy ARP support code mainly
resides in the kernel bridge code, in order to optimize the performance
and simplify kernel implementation, the DHCP snooping code was added to
the hostapd.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
2014-09-26 07:32:55 +02:00
|
|
|
OBJS += ../src/ap/dhcp_snoop.o
|
2014-11-25 15:58:21 +01:00
|
|
|
ifdef CONFIG_IPV6
|
2014-11-01 07:33:41 +01:00
|
|
|
OBJS += ../src/ap/ndisc_snoop.o
|
AP: Add support for Proxy ARP, DHCP snooping mechanism
Proxy ARP allows the AP devices to keep track of the hardware address to
IP address mapping of the STA devices within the BSS. When a request for
such information is made (i.e., ARP request, Neighbor Solicitation), the
AP will respond on behalf of the STA device within the BSS. Such
requests could originate from a device within the BSS or also from the
bridge. In the process of the AP replying to the request (i.e., ARP
reply, Neighbor Advertisement), the AP will drop the original request
frame. The relevant STA will not even know that such information was
ever requested.
This feature is a requirement for Hotspot 2.0, and is defined in IEEE
Std 802.11-2012, 10.23.13. While the Proxy ARP support code mainly
resides in the kernel bridge code, in order to optimize the performance
and simplify kernel implementation, the DHCP snooping code was added to
the hostapd.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
2014-09-26 07:32:55 +02:00
|
|
|
endif
|
2014-11-25 15:58:21 +01:00
|
|
|
endif
|
AP: Add support for Proxy ARP, DHCP snooping mechanism
Proxy ARP allows the AP devices to keep track of the hardware address to
IP address mapping of the STA devices within the BSS. When a request for
such information is made (i.e., ARP request, Neighbor Solicitation), the
AP will respond on behalf of the STA device within the BSS. Such
requests could originate from a device within the BSS or also from the
bridge. In the process of the AP replying to the request (i.e., ARP
reply, Neighbor Advertisement), the AP will drop the original request
frame. The relevant STA will not even know that such information was
ever requested.
This feature is a requirement for Hotspot 2.0, and is defined in IEEE
Std 802.11-2012, 10.23.13. While the Proxy ARP support code mainly
resides in the kernel bridge code, in order to optimize the performance
and simplify kernel implementation, the DHCP snooping code was added to
the hostapd.
Signed-off-by: Kyeyoon Park <kyeyoonp@qca.qualcomm.com>
2014-09-26 07:32:55 +02:00
|
|
|
|
2011-11-13 17:56:26 +01:00
|
|
|
OBJS += ../src/drivers/driver_common.o
|
|
|
|
|
2011-07-16 16:37:18 +02:00
|
|
|
ifdef CONFIG_WPA_CLI_EDIT
|
|
|
|
OBJS_c += ../src/utils/edit.o
|
|
|
|
else
|
|
|
|
OBJS_c += ../src/utils/edit_simple.o
|
|
|
|
endif
|
|
|
|
|
2013-08-31 10:49:51 +02:00
|
|
|
ifdef CONFIG_ACS
|
|
|
|
CFLAGS += -DCONFIG_ACS
|
|
|
|
OBJS += ../src/ap/acs.o
|
|
|
|
LIBS += -lm
|
|
|
|
endif
|
|
|
|
|
2009-01-08 15:47:04 +01:00
|
|
|
ifdef CONFIG_NO_STDOUT_DEBUG
|
|
|
|
CFLAGS += -DCONFIG_NO_STDOUT_DEBUG
|
|
|
|
endif
|
|
|
|
|
2017-01-23 13:55:04 +01:00
|
|
|
ifdef CONFIG_DEBUG_SYSLOG
|
|
|
|
CFLAGS += -DCONFIG_DEBUG_SYSLOG
|
|
|
|
endif
|
|
|
|
|
2013-10-30 19:29:58 +01:00
|
|
|
ifdef CONFIG_DEBUG_LINUX_TRACING
|
|
|
|
CFLAGS += -DCONFIG_DEBUG_LINUX_TRACING
|
|
|
|
endif
|
|
|
|
|
2011-02-06 19:24:16 +01:00
|
|
|
ifdef CONFIG_DEBUG_FILE
|
|
|
|
CFLAGS += -DCONFIG_DEBUG_FILE
|
|
|
|
endif
|
|
|
|
|
2012-08-30 15:04:52 +02:00
|
|
|
ifdef CONFIG_SQLITE
|
|
|
|
CFLAGS += -DCONFIG_SQLITE
|
|
|
|
LIBS += -lsqlite3
|
|
|
|
LIBS_h += -lsqlite3
|
|
|
|
endif
|
|
|
|
|
2015-01-21 14:30:48 +01:00
|
|
|
ifdef CONFIG_FST
|
|
|
|
CFLAGS += -DCONFIG_FST
|
|
|
|
OBJS += ../src/fst/fst.o
|
|
|
|
OBJS += ../src/fst/fst_group.o
|
|
|
|
OBJS += ../src/fst/fst_iface.o
|
|
|
|
OBJS += ../src/fst/fst_session.o
|
|
|
|
OBJS += ../src/fst/fst_ctrl_aux.o
|
2014-12-04 18:20:56 +01:00
|
|
|
ifdef CONFIG_FST_TEST
|
|
|
|
CFLAGS += -DCONFIG_FST_TEST
|
|
|
|
endif
|
2015-01-21 14:30:48 +01:00
|
|
|
ifndef CONFIG_NO_CTRL_IFACE
|
|
|
|
OBJS += ../src/fst/fst_ctrl_iface.o
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
2020-02-29 15:52:39 +01:00
|
|
|
ifdef CONFIG_WEP
|
|
|
|
CFLAGS += -DCONFIG_WEP
|
|
|
|
endif
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
ALL=hostapd hostapd_cli
|
|
|
|
|
|
|
|
all: verify_config $(ALL)
|
|
|
|
|
2009-07-24 02:11:29 +02:00
|
|
|
Q=@
|
|
|
|
E=echo
|
|
|
|
ifeq ($(V), 1)
|
|
|
|
Q=
|
|
|
|
E=true
|
|
|
|
endif
|
2014-12-26 11:49:03 +01:00
|
|
|
ifeq ($(QUIET), 1)
|
|
|
|
Q=@
|
|
|
|
E=true
|
|
|
|
endif
|
2009-07-24 02:11:29 +02:00
|
|
|
|
2013-12-25 12:44:38 +01:00
|
|
|
ifdef CONFIG_CODE_COVERAGE
|
|
|
|
%.o: %.c
|
|
|
|
@$(E) " CC " $<
|
|
|
|
$(Q)cd $(dir $@); $(CC) -c -o $(notdir $@) $(CFLAGS) $(notdir $<)
|
|
|
|
else
|
2009-07-24 02:11:29 +02:00
|
|
|
%.o: %.c
|
|
|
|
$(Q)$(CC) -c -o $@ $(CFLAGS) $<
|
|
|
|
@$(E) " CC " $<
|
2013-12-25 12:44:38 +01:00
|
|
|
endif
|
2009-07-24 02:11:29 +02:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
verify_config:
|
|
|
|
@if [ ! -r .config ]; then \
|
|
|
|
echo 'Building hostapd requires a configuration file'; \
|
|
|
|
echo '(.config). See README for more instructions. You can'; \
|
|
|
|
echo 'run "cp defconfig .config" to create an example'; \
|
|
|
|
echo 'configuration.'; \
|
|
|
|
exit 1; \
|
|
|
|
fi
|
|
|
|
|
2013-09-06 19:05:40 +02:00
|
|
|
$(DESTDIR)$(BINDIR)/%: %
|
|
|
|
install -D $(<) $(@)
|
|
|
|
|
|
|
|
install: $(addprefix $(DESTDIR)$(BINDIR)/,$(ALL))
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-08-14 19:40:37 +02:00
|
|
|
../src/drivers/build.hostapd:
|
2010-04-17 16:15:23 +02:00
|
|
|
@if [ -f ../src/drivers/build.wpa_supplicant ]; then \
|
2009-08-14 19:40:37 +02:00
|
|
|
$(MAKE) -C ../src/drivers clean; \
|
|
|
|
fi
|
|
|
|
@touch ../src/drivers/build.hostapd
|
|
|
|
|
|
|
|
BCHECK=../src/drivers/build.hostapd
|
|
|
|
|
|
|
|
hostapd: $(BCHECK) $(OBJS)
|
2011-03-17 11:31:38 +01:00
|
|
|
$(Q)$(CC) $(LDFLAGS) -o hostapd $(OBJS) $(LIBS)
|
|
|
|
@$(E) " LD " $@
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-12-19 20:47:56 +01:00
|
|
|
ifdef CONFIG_WPA_TRACE
|
|
|
|
OBJS_c += ../src/utils/trace.o
|
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
hostapd_cli: $(OBJS_c)
|
2011-03-17 11:31:38 +01:00
|
|
|
$(Q)$(CC) $(LDFLAGS) -o hostapd_cli $(OBJS_c) $(LIBS_c)
|
|
|
|
@$(E) " LD " $@
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2015-01-27 12:26:01 +01:00
|
|
|
NOBJS = nt_password_hash.o ../src/crypto/ms_funcs.o $(SHA1OBJS)
|
2015-01-05 17:05:09 +01:00
|
|
|
NOBJS += ../src/utils/common.o
|
2010-01-16 09:38:53 +01:00
|
|
|
ifdef NEED_RC4
|
|
|
|
ifdef CONFIG_INTERNAL_RC4
|
2015-08-01 22:37:07 +02:00
|
|
|
ifndef CONFIG_NO_RC4
|
2010-01-16 09:38:53 +01:00
|
|
|
NOBJS += ../src/crypto/rc4.o
|
|
|
|
endif
|
|
|
|
endif
|
2015-08-01 22:37:07 +02:00
|
|
|
endif
|
2009-07-28 20:36:13 +02:00
|
|
|
ifdef CONFIG_INTERNAL_MD5
|
|
|
|
NOBJS += ../src/crypto/md5-internal.o
|
|
|
|
endif
|
2018-01-18 03:26:39 +01:00
|
|
|
NOBJS += ../src/crypto/crypto_$(CONFIG_CRYPTO).o
|
|
|
|
NOBJS += ../src/utils/os_$(CONFIG_OS).o
|
2010-01-16 09:38:53 +01:00
|
|
|
NOBJS += ../src/utils/wpa_debug.o
|
|
|
|
NOBJS += ../src/utils/wpabuf.o
|
|
|
|
ifdef CONFIG_WPA_TRACE
|
|
|
|
NOBJS += ../src/utils/trace.o
|
|
|
|
endif
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2009-12-06 15:33:19 +01:00
|
|
|
HOBJS += hlr_auc_gw.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).o ../src/utils/wpabuf.o ../src/crypto/milenage.o
|
2009-08-13 10:50:52 +02:00
|
|
|
HOBJS += ../src/crypto/aes-encblock.o
|
|
|
|
ifdef CONFIG_INTERNAL_AES
|
|
|
|
HOBJS += ../src/crypto/aes-internal.o
|
|
|
|
HOBJS += ../src/crypto/aes-internal-enc.o
|
|
|
|
endif
|
2017-02-27 00:10:02 +01:00
|
|
|
ifeq ($(CONFIG_TLS), linux)
|
|
|
|
HOBJS += ../src/crypto/crypto_linux.o
|
|
|
|
endif
|
2009-07-28 20:09:57 +02:00
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
nt_password_hash: $(NOBJS)
|
2011-03-17 11:31:38 +01:00
|
|
|
$(Q)$(CC) $(LDFLAGS) -o nt_password_hash $(NOBJS) $(LIBS_n)
|
|
|
|
@$(E) " LD " $@
|
2008-02-28 02:34:43 +01:00
|
|
|
|
|
|
|
hlr_auc_gw: $(HOBJS)
|
2011-03-17 11:31:38 +01:00
|
|
|
$(Q)$(CC) $(LDFLAGS) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
|
|
|
|
@$(E) " LD " $@
|
2008-02-28 02:34:43 +01:00
|
|
|
|
2013-12-25 12:44:38 +01:00
|
|
|
lcov-html:
|
|
|
|
lcov -c -d .. > lcov.info
|
|
|
|
genhtml lcov.info --output-directory lcov-html
|
|
|
|
|
2008-02-28 02:34:43 +01:00
|
|
|
clean:
|
|
|
|
$(MAKE) -C ../src clean
|
|
|
|
rm -f core *~ *.o hostapd hostapd_cli nt_password_hash hlr_auc_gw
|
2013-11-24 18:16:12 +01:00
|
|
|
rm -f *.d *.gcno *.gcda *.gcov
|
2013-12-25 12:44:38 +01:00
|
|
|
rm -f lcov.info
|
|
|
|
rm -rf lcov-html
|
2008-02-28 02:34:43 +01:00
|
|
|
|
|
|
|
-include $(OBJS:%.o=%.d)
|