Date: Sunday, January 23, 2022 @ 09:37:43 Author: arojas Revision: 434948
Update to 2.10 Added: wpa_supplicant/trunk/wpa_supplicant_config wpa_supplicant/trunk/wpa_supplicant_dbus_service_syslog.patch wpa_supplicant/trunk/wpa_supplicant_service_ignore-on-isolate.patch wpa_supplicant/trunk/wpa_supplicant_tls.patch Modified: wpa_supplicant/trunk/PKGBUILD Deleted: wpa_supplicant/trunk/CVE-2019-16275.patch wpa_supplicant/trunk/config wpa_supplicant/trunk/roam-properties.patch wpa_supplicant/trunk/systemd.patch wpa_supplicant/trunk/tls.patch ------------------------------------------------+ CVE-2019-16275.patch | 73 -- PKGBUILD | 29 - config | 80 -- roam-properties.patch | 88 --- systemd.patch | 29 - tls.patch | 26 wpa_supplicant_config | 637 +++++++++++++++++++++++ wpa_supplicant_dbus_service_syslog.patch | 36 + wpa_supplicant_service_ignore-on-isolate.patch | 36 + wpa_supplicant_tls.patch | 28 + 10 files changed, 750 insertions(+), 312 deletions(-) Deleted: CVE-2019-16275.patch =================================================================== --- CVE-2019-16275.patch 2022-01-23 09:31:09 UTC (rev 434947) +++ CVE-2019-16275.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,73 +0,0 @@ -From 8c07fa9eda13e835f3f968b2e1c9a8be3a851ff9 Mon Sep 17 00:00:00 2001 -From: Jouni Malinen <[email protected]> -Date: Thu, 29 Aug 2019 11:52:04 +0300 -Subject: [PATCH] AP: Silently ignore management frame from unexpected source - address - -Do not process any received Management frames with unexpected/invalid SA -so that we do not add any state for unexpected STA addresses or end up -sending out frames to unexpected destination. This prevents unexpected -sequences where an unprotected frame might end up causing the AP to send -out a response to another device and that other device processing the -unexpected response. - -In particular, this prevents some potential denial of service cases -where the unexpected response frame from the AP might result in a -connected station dropping its association. - -Signed-off-by: Jouni Malinen <[email protected]> ---- - src/ap/drv_callbacks.c | 13 +++++++++++++ - src/ap/ieee802_11.c | 12 ++++++++++++ - 2 files changed, 25 insertions(+) - -diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c -index 31587685fe3b..34ca379edc3d 100644 ---- a/src/ap/drv_callbacks.c -+++ b/src/ap/drv_callbacks.c -@@ -131,6 +131,19 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, - "hostapd_notif_assoc: Skip event with no address"); - return -1; - } -+ -+ if (is_multicast_ether_addr(addr) || -+ is_zero_ether_addr(addr) || -+ os_memcmp(addr, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "%s: Invalid SA=" MACSTR -+ " in received indication - ignore this indication silently", -+ __func__, MAC2STR(addr)); -+ return 0; -+ } -+ - random_add_randomness(addr, ETH_ALEN); - - hostapd_logger(hapd, addr, HOSTAPD_MODULE_IEEE80211, -diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c -index c85a28db44b7..e7065372e158 100644 ---- a/src/ap/ieee802_11.c -+++ b/src/ap/ieee802_11.c -@@ -4626,6 +4626,18 @@ int ieee802_11_mgmt(struct hostapd_data *hapd, const u8 *buf, size_t len, - fc = le_to_host16(mgmt->frame_control); - stype = WLAN_FC_GET_STYPE(fc); - -+ if (is_multicast_ether_addr(mgmt->sa) || -+ is_zero_ether_addr(mgmt->sa) || -+ os_memcmp(mgmt->sa, hapd->own_addr, ETH_ALEN) == 0) { -+ /* Do not process any frames with unexpected/invalid SA so that -+ * we do not add any state for unexpected STA addresses or end -+ * up sending out frames to unexpected destination. */ -+ wpa_printf(MSG_DEBUG, "MGMT: Invalid SA=" MACSTR -+ " in received frame - ignore this frame silently", -+ MAC2STR(mgmt->sa)); -+ return 0; -+ } -+ - if (stype == WLAN_FC_STYPE_BEACON) { - handle_beacon(hapd, mgmt, len, fi); - return 1; --- -2.20.1 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-01-23 09:31:09 UTC (rev 434947) +++ PKGBUILD 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,9 +1,10 @@ # Maintainer: Bartłomiej Piotrowski <[email protected]> # Contributor: Thomas Bächler <[email protected]> +# Contributor: loqs pkgname=wpa_supplicant -pkgver=2.9 -pkgrel=8 +pkgver=2.10 +pkgrel=1 epoch=2 pkgdesc='A utility providing key negotiation for WPA wireless networks' url='https://w1.fi/wpa_supplicant/' @@ -13,22 +14,18 @@ install=wpa_supplicant.install source=( https://w1.fi/releases/${pkgname}-${pkgver}.tar.gz{,.asc} - https://w1.fi/security/2020-2/0001-P2P-Fix-copying-of-secondary-device-types-for-P2P-gr.patch - CVE-2019-16275.patch - tls.patch # More permissive TLS fallback - systemd.patch # Unit improvements from Ubuntu - roam-properties.patch # https://bugs.archlinux.org/task/65482 - config + wpa_supplicant_tls.patch # More permissive TLS fallback + wpa_supplicant_dbus_service_syslog.patch # Unit improvements from Ubuntu + wpa_supplicant_service_ignore-on-isolate.patch # More unit improvements from Ubuntu + wpa_supplicant_config ) validpgpkeys=('EC4AA0A991A5F2464582D52D2B6EF432EFC895FA') # Jouni Malinen -sha256sums=('fcbdee7b4a64bea8177973299c8c824419c413ec2e3a95db63dd6a5dc3541f17' +sha256sums=('20df7ae5154b3830355f8ab4269123a87affdea59fe74fe9292a91d0d7e17b2f' 'SKIP' - 'c4d65cc13863e0237d0644198558e2c47b4ed91e2b2be4516ff590724187c4a5' - 'bf91a135e717265969f1ab0319297c9d2e6f695928a17e3b3fa5accc8ef7b297' - '449c7dad67b246b5b93e796f57c2f90c5c32cfc5b16f7aa4f17802dc260d3414' - 'dd14f99618bb4db40eadfaf4ced29d6139ccf319429a1eef54c2c08c80924742' - '1ad3b61397c4a1dbafbf89059bccdda07cfe7eaff9f23ee25bed7bdd82c2bd87' - '6f71a04875465178992e78216603d3c4735ee717a31738a6e30702c7a81c6c4e') + '08915b040d03a3e07cdc8ea6c76b497e00059e01ce85b67413dfe41d4fc68992' + '60f6a1cf2e124813dfce1da78ee1818e2ff5236aafa4113c7ae3b3f2a0b84006' + 'd42bdbf3d4980b9f0a819612df0c39843c7e96c8afcb103aa656c824f93790b0' + '385c956607d9a4966b13458db60a29b7556ff0c9928d7fef59381678ce79f13b') prepare() { cd "$srcdir/$pkgname-$pkgver" @@ -42,7 +39,7 @@ done cd "$srcdir/$pkgname-$pkgver/$pkgname" - cp "$srcdir/config" ./.config + cp "$srcdir/wpa_supplicant_config" ./.config } build() { Deleted: config =================================================================== --- config 2022-01-23 09:31:09 UTC (rev 434947) +++ config 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,80 +0,0 @@ -CONFIG_ACS=y -CONFIG_AP=y -CONFIG_AUTOSCAN_EXPONENTIAL=y -CONFIG_AUTOSCAN_PERIODIC=y -CONFIG_BACKEND=file -CONFIG_BGSCAN_LEARN=y -CONFIG_BGSCAN_SIMPLE=y -CONFIG_CTRL_IFACE=y -CONFIG_CTRL_IFACE_DBUS_INTRO=y -CONFIG_CTRL_IFACE_DBUS_NEW=y -CONFIG_DEBUG_FILE=y -CONFIG_DEBUG_LINUX_TRACING=y -CONFIG_DEBUG_SYSLOG=y -CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON -CONFIG_DELAYED_MIC_ERROR_REPORT=y -CONFIG_DPP=y -CONFIG_DRIVER_MACSEC_LINUX=y -CONFIG_DRIVER_NL80211=y -CONFIG_DRIVER_NL80211_QCA=y -CONFIG_DRIVER_NONE=y -CONFIG_DRIVER_WEXT=y -CONFIG_DRIVER_WIRED=y -CONFIG_EAP_AKA=y -CONFIG_EAP_AKA_PRIME=y -CONFIG_EAP_EKE=y -CONFIG_EAP_FAST=y -CONFIG_EAP_GPSK=y -CONFIG_EAP_GPSK_SHA256=y -CONFIG_EAP_GTC=y -CONFIG_EAP_IKEV2=y -CONFIG_EAP_LEAP=y -CONFIG_EAP_MD5=y -CONFIG_EAP_MSCHAPV2=y -CONFIG_EAP_OTP=y -CONFIG_EAP_PAX=y -CONFIG_EAP_PEAP=y -CONFIG_EAP_PSK=y -CONFIG_EAP_PWD=y -CONFIG_EAP_SAKE=y -CONFIG_EAP_SIM=y -CONFIG_EAP_TLS=y -CONFIG_EAP_TNC=y -CONFIG_EAP_TTLS=y -CONFIG_ELOOP=eloop -CONFIG_FST=y -CONFIG_GETRANDOM=y -CONFIG_HS20=y -CONFIG_HT_OVERRIDES=y -CONFIG_IBSS_RSN=y -CONFIG_IEEE80211AC=y -CONFIG_IEEE80211N=y -CONFIG_IEEE80211R=y -CONFIG_IEEE80211W=y -CONFIG_IEEE8021X_EAPOL=y -CONFIG_INTERWORKING=y -CONFIG_IPV6=y -CONFIG_L2_PACKET=linux -CONFIG_LIBNL32=y -CONFIG_MACSEC=y -CONFIG_MAIN=main -CONFIG_NO_RANDOM_POOL=y -CONFIG_OS=unix -CONFIG_OWE=y -CONFIG_P2P=y -CONFIG_PKCS12=y -CONFIG_PMKSA_CACHE_EXTERNAL=y -CONFIG_READLINE=y -CONFIG_SAE=y -CONFIG_SMARTCARD=y -CONFIG_TDLS=y -CONFIG_TLS=openssl -CONFIG_TLSV11=y -CONFIG_TLSV12=y -CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT@SECLEVEL=1" -CONFIG_VHT_OVERRIDES=y -CONFIG_WIFI_DISPLAY=y -CONFIG_WPS=y -CONFIG_WPS_ER=y -CONFIG_WPS_NFC=y -CONFIG_WPS_REG_DISABLE_OPEN=y Deleted: roam-properties.patch =================================================================== --- roam-properties.patch 2022-01-23 09:31:09 UTC (rev 434947) +++ roam-properties.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,88 +0,0 @@ -From 23d87687c2428f3b94865580b0d33e05c03e6756 Mon Sep 17 00:00:00 2001 -From: Matthew Wang <[email protected]> -Date: Fri, 11 Oct 2019 13:49:25 -0700 -Subject: dbus: Move roam metrics to the correct interface - -These properties were in the wpas_dbus_bss_properties array when they -should have been in the wpas_dbus_interface_properties array. Move them -to the right place. This is the logical location for these properties -and it matches both the other parts of the implementation (e.g., being -in enum wpas_dbus_prop, not in enum wpas_dbus_bss_prop) and what -was originally documented for the interface in dbus.doxygen. - -Fixes: 2bbad1c7c9cb ("dbus: Export roam time, roam complete, and session length") -Fixes: 80d06d0ca9f3 ("dbus: Export BSS Transition Management status") -Signed-off-by: Matthew Wang <[email protected]> ---- - wpa_supplicant/dbus/dbus_new.c | 48 +++++++++++++++++++++--------------------- - 1 file changed, 24 insertions(+), 24 deletions(-) - -diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c -index 5e6b522..e9e77bd 100644 ---- a/wpa_supplicant/dbus/dbus_new.c -+++ b/wpa_supplicant/dbus/dbus_new.c -@@ -2855,30 +2855,6 @@ static const struct wpa_dbus_property_desc wpas_dbus_bss_properties[] = { - NULL, - NULL - }, -- { -- "RoamTime", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -- wpas_dbus_getter_roam_time, -- NULL, -- NULL -- }, -- { -- "RoamComplete", WPAS_DBUS_NEW_IFACE_INTERFACE, "b", -- wpas_dbus_getter_roam_complete, -- NULL, -- NULL -- }, -- { -- "SessionLength", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -- wpas_dbus_getter_session_length, -- NULL, -- NULL -- }, -- { -- "BSSTMStatus", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -- wpas_dbus_getter_bss_tm_status, -- NULL, -- NULL -- }, - { NULL, NULL, NULL, NULL, NULL, NULL } - }; - -@@ -3786,6 +3762,30 @@ static const struct wpa_dbus_property_desc wpas_dbus_interface_properties[] = { - NULL, - NULL - }, -+ { -+ "RoamTime", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -+ wpas_dbus_getter_roam_time, -+ NULL, -+ NULL -+ }, -+ { -+ "RoamComplete", WPAS_DBUS_NEW_IFACE_INTERFACE, "b", -+ wpas_dbus_getter_roam_complete, -+ NULL, -+ NULL -+ }, -+ { -+ "SessionLength", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -+ wpas_dbus_getter_session_length, -+ NULL, -+ NULL -+ }, -+ { -+ "BSSTMStatus", WPAS_DBUS_NEW_IFACE_INTERFACE, "u", -+ wpas_dbus_getter_bss_tm_status, -+ NULL, -+ NULL -+ }, - #ifdef CONFIG_MESH - { "MeshPeers", WPAS_DBUS_NEW_IFACE_MESH, "aay", - wpas_dbus_getter_mesh_peers, --- -cgit v0.12 - Deleted: systemd.patch =================================================================== --- systemd.patch 2022-01-23 09:31:09 UTC (rev 434947) +++ systemd.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,29 +0,0 @@ -diff -u -r wpa_supplicant-2.9/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in wpa_supplicant-2.9-systemd/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in ---- wpa_supplicant-2.9/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2019-08-07 13:25:25.000000000 +0000 -+++ wpa_supplicant-2.9-systemd/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in 2020-01-22 22:46:14.676497087 +0000 -@@ -1,5 +1,5 @@ - [D-BUS Service] - Name=fi.w1.wpa_supplicant1 --Exec=@BINDIR@/wpa_supplicant -u -+Exec=@BINDIR@/wpa_supplicant -u -s -O /run/wpa_supplicant - User=root - SystemdService=wpa_supplicant.service -diff -u -r wpa_supplicant-2.9/wpa_supplicant/systemd/wpa_supplicant.service.in wpa_supplicant-2.9-systemd/wpa_supplicant/systemd/wpa_supplicant.service.in ---- wpa_supplicant-2.9/wpa_supplicant/systemd/wpa_supplicant.service.in 2019-08-07 13:25:25.000000000 +0000 -+++ wpa_supplicant-2.9-systemd/wpa_supplicant/systemd/wpa_supplicant.service.in 2020-01-22 22:47:53.561183663 +0000 -@@ -1,12 +1,14 @@ - [Unit] - Description=WPA supplicant - Before=network.target -+After=dbus.service - Wants=network.target -+IgnoreOnIsolate=true - - [Service] - Type=dbus - BusName=fi.w1.wpa_supplicant1 --ExecStart=@BINDIR@/wpa_supplicant -u -+ExecStart=@BINDIR@/wpa_supplicant -u -s -O /run/wpa_supplicant - - [Install] - WantedBy=multi-user.target Deleted: tls.patch =================================================================== --- tls.patch 2022-01-23 09:31:09 UTC (rev 434947) +++ tls.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -1,26 +0,0 @@ -diff -u -r wpa_supplicant-2.9/src/crypto/tls_openssl.c wpa_supplicant-2.9-tls/src/crypto/tls_openssl.c ---- wpa_supplicant-2.9/src/crypto/tls_openssl.c 2019-08-07 13:25:25.000000000 +0000 -+++ wpa_supplicant-2.9-tls/src/crypto/tls_openssl.c 2020-01-22 22:49:12.575598357 +0000 -@@ -1035,6 +1035,13 @@ - os_free(data); - return NULL; - } -+ -+#ifndef EAP_SERVER_TLS -+ /* Enable TLSv1.0 by default to allow connecting to legacy -+ * networks since Debian OpenSSL is set to minimum TLSv1.2 and SECLEVEL=2. */ -+ SSL_CTX_set_min_proto_version(ssl, TLS1_VERSION); -+#endif -+ - data->ssl = ssl; - if (conf) { - data->tls_session_lifetime = conf->tls_session_lifetime; -@@ -1577,6 +1584,7 @@ - #ifdef SSL_OP_NO_COMPRESSION - options |= SSL_OP_NO_COMPRESSION; - #endif /* SSL_OP_NO_COMPRESSION */ -+ options |= SSL_OP_NO_TICKET; - SSL_set_options(conn->ssl, options); - #ifdef SSL_OP_ENABLE_MIDDLEBOX_COMPAT - /* Hopefully there is no need for middlebox compatibility mechanisms -Only in wpa_supplicant-2.9-tls/src/crypto: tls_openssl.c.orig Added: wpa_supplicant_config =================================================================== --- wpa_supplicant_config (rev 0) +++ wpa_supplicant_config 2022-01-23 09:37:43 UTC (rev 434948) @@ -0,0 +1,637 @@ +# Example wpa_supplicant build time configuration +# +# This file lists the configuration options that are used when building the +# wpa_supplicant binary. All lines starting with # are ignored. Configuration +# option lines must be commented out complete, if they are not to be included, +# i.e., just setting VARIABLE=n is not disabling that variable. +# +# This file is included in Makefile, so variables like CFLAGS and LIBS can also +# be modified from here. In most cases, these lines should use += in order not +# to override previous values of the variables. + + +# Uncomment following two lines and fix the paths if you have installed OpenSSL +# or GnuTLS in non-default location +#CFLAGS += -I/usr/local/openssl/include +#LIBS += -L/usr/local/openssl/lib + +# Some Red Hat versions seem to include kerberos header files from OpenSSL, but +# the kerberos files are not in the default include path. Following line can be +# used to fix build issues on such systems (krb5.h not found). +#CFLAGS += -I/usr/include/kerberos + +# Driver interface for generic Linux wireless extensions +# Note: WEXT is deprecated in the current Linux kernel version and no new +# functionality is added to it. nl80211-based interface is the new +# replacement for WEXT and its use allows wpa_supplicant to properly control +# the driver to improve existing functionality like roaming and to support new +# functionality. +CONFIG_DRIVER_WEXT=y + +# Driver interface for Linux drivers using the nl80211 kernel interface +CONFIG_DRIVER_NL80211=y + +# QCA vendor extensions to nl80211 +CONFIG_DRIVER_NL80211_QCA=y + +# driver_nl80211.c requires libnl. If you are compiling it yourself +# you may need to point hostapd to your version of libnl. +# +#CFLAGS += -I$<path to libnl include files> +#LIBS += -L$<path to libnl library files> + +# Use libnl v2.0 (or 3.0) libraries. +#CONFIG_LIBNL20=y + +# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) +CONFIG_LIBNL32=y + + +# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) +#CONFIG_DRIVER_BSD=y +#CFLAGS += -I/usr/local/include +#LIBS += -L/usr/local/lib +#LIBS_p += -L/usr/local/lib +#LIBS_c += -L/usr/local/lib + +# Driver interface for Windows NDIS +#CONFIG_DRIVER_NDIS=y +#CFLAGS += -I/usr/include/w32api/ddk +#LIBS += -L/usr/local/lib +# For native build using mingw +#CONFIG_NATIVE_WINDOWS=y +# Additional directories for cross-compilation on Linux host for mingw target +#CFLAGS += -I/opt/mingw/mingw32/include/ddk +#LIBS += -L/opt/mingw/mingw32/lib +#CC=mingw32-gcc +# By default, driver_ndis uses WinPcap for low-level operations. This can be +# replaced with the following option which replaces WinPcap calls with NDISUIO. +# However, this requires that WZC is disabled (net stop wzcsvc) before starting +# wpa_supplicant. +# CONFIG_USE_NDISUIO=y + +# Driver interface for wired Ethernet drivers +CONFIG_DRIVER_WIRED=y + +# Driver interface for MACsec capable Qualcomm Atheros drivers +#CONFIG_DRIVER_MACSEC_QCA=y + +# Driver interface for Linux MACsec drivers +CONFIG_DRIVER_MACSEC_LINUX=y + +# Driver interface for the Broadcom RoboSwitch family +#CONFIG_DRIVER_ROBOSWITCH=y + +# Driver interface for no driver (e.g., WPS ER only) +CONFIG_DRIVER_NONE=y + +# Solaris libraries +#LIBS += -lsocket -ldlpi -lnsl +#LIBS_c += -lsocket + +# Enable IEEE 802.1X Supplicant (automatically included if any EAP method or +# MACsec is included) +CONFIG_IEEE8021X_EAPOL=y + +# EAP-MD5 +CONFIG_EAP_MD5=y + +# EAP-MSCHAPv2 +CONFIG_EAP_MSCHAPV2=y + +# EAP-TLS +CONFIG_EAP_TLS=y + +# EAL-PEAP +CONFIG_EAP_PEAP=y + +# EAP-TTLS +CONFIG_EAP_TTLS=y + +# EAP-FAST +CONFIG_EAP_FAST=y + +# EAP-TEAP +# Note: The current EAP-TEAP implementation is experimental and should not be +# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number +# of conflicting statements and missing details and the implementation has +# vendor specific workarounds for those and as such, may not interoperate with +# any other implementation. This should not be used for anything else than +# experimentation and interoperability testing until those issues has been +# resolved. +#CONFIG_EAP_TEAP=y + +# EAP-GTC +CONFIG_EAP_GTC=y + +# EAP-OTP +CONFIG_EAP_OTP=y + +# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used) +CONFIG_EAP_SIM=y + +# Enable SIM simulator (Milenage) for EAP-SIM +#CONFIG_SIM_SIMULATOR=y + +# EAP-PSK (experimental; this is _not_ needed for WPA-PSK) +CONFIG_EAP_PSK=y + +# EAP-pwd (secure authentication using only a password) +CONFIG_EAP_PWD=y + +# EAP-PAX +CONFIG_EAP_PAX=y + +# LEAP +CONFIG_EAP_LEAP=y + +# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used) +CONFIG_EAP_AKA=y + +# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used). +# This requires CONFIG_EAP_AKA to be enabled, too. +CONFIG_EAP_AKA_PRIME=y + +# Enable USIM simulator (Milenage) for EAP-AKA +#CONFIG_USIM_SIMULATOR=y + +# EAP-SAKE +CONFIG_EAP_SAKE=y + +# EAP-GPSK +CONFIG_EAP_GPSK=y +# Include support for optional SHA256 cipher suite in EAP-GPSK +CONFIG_EAP_GPSK_SHA256=y + +# EAP-TNC and related Trusted Network Connect support (experimental) +CONFIG_EAP_TNC=y + +# Wi-Fi Protected Setup (WPS) +CONFIG_WPS=y +# Enable WPS external registrar functionality +CONFIG_WPS_ER=y +# Disable credentials for an open network by default when acting as a WPS +# registrar. +CONFIG_WPS_REG_DISABLE_OPEN=y +# Enable WPS support with NFC config method +CONFIG_WPS_NFC=y + +# EAP-IKEv2 +CONFIG_EAP_IKEV2=y + +# EAP-EKE +CONFIG_EAP_EKE=y + +# MACsec +CONFIG_MACSEC=y + +# PKCS#12 (PFX) support (used to read private key and certificate file from +# a file that usually has extension .p12 or .pfx) +CONFIG_PKCS12=y + +# Smartcard support (i.e., private key on a smartcard), e.g., with openssl +# engine. +CONFIG_SMARTCARD=y + +# PC/SC interface for smartcards (USIM, GSM SIM) +# Enable this if EAP-SIM or EAP-AKA is included +#CONFIG_PCSC=y + +# Support HT overrides (disable HT/HT40, mask MCS rates, etc.) +CONFIG_HT_OVERRIDES=y + +# Support VHT overrides (disable VHT, mask MCS rates, etc.) +CONFIG_VHT_OVERRIDES=y + +# Development testing +#CONFIG_EAPOL_TEST=y + +# Select control interface backend for external programs, e.g, wpa_cli: +# unix = UNIX domain sockets (default for Linux/*BSD) +# udp = UDP sockets using localhost (127.0.0.1) +# udp6 = UDP IPv6 sockets using localhost (::1) +# named_pipe = Windows Named Pipe (default for Windows) +# udp-remote = UDP sockets with remote access (only for tests systems/purpose) +# udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose) +# y = use default (backwards compatibility) +# If this option is commented out, control interface is not included in the +# build. +CONFIG_CTRL_IFACE=y + +# Include support for GNU Readline and History Libraries in wpa_cli. +# When building a wpa_cli binary for distribution, please note that these +# libraries are licensed under GPL and as such, BSD license may not apply for +# the resulting binary. +CONFIG_READLINE=y + +# Include internal line edit mode in wpa_cli. This can be used as a replacement +# for GNU Readline to provide limited command line editing and history support. +#CONFIG_WPA_CLI_EDIT=y + +# Remove debugging code that is printing out debug message to stdout. +# This can be used to reduce the size of the wpa_supplicant considerably +# if debugging code is not needed. The size reduction can be around 35% +# (e.g., 90 kB). +#CONFIG_NO_STDOUT_DEBUG=y + +# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save +# 35-50 kB in code size. +#CONFIG_NO_WPA=y + +# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support +# This option can be used to reduce code size by removing support for +# converting ASCII passphrases into PSK. If this functionality is removed, the +# PSK can only be configured as the 64-octet hexstring (e.g., from +# wpa_passphrase). This saves about 0.5 kB in code size. +#CONFIG_NO_WPA_PASSPHRASE=y + +# Simultaneous Authentication of Equals (SAE), WPA3-Personal +CONFIG_SAE=y + +# Disable scan result processing (ap_scan=1) to save code size by about 1 kB. +# This can be used if ap_scan=1 mode is never enabled. +#CONFIG_NO_SCAN_PROCESSING=y + +# Select configuration backend: +# file = text file (e.g., wpa_supplicant.conf; note: the configuration file +# path is given on command line, not here; this option is just used to +# select the backend that allows configuration files to be used) +# winreg = Windows registry (see win_example.reg for an example) +CONFIG_BACKEND=file + +# Remove configuration write functionality (i.e., to allow the configuration +# file to be updated based on runtime configuration changes). The runtime +# configuration can still be changed, the changes are just not going to be +# persistent over restarts. This option can be used to reduce code size by +# about 3.5 kB. +#CONFIG_NO_CONFIG_WRITE=y + +# Remove support for configuration blobs to reduce code size by about 1.5 kB. +#CONFIG_NO_CONFIG_BLOBS=y + +# Select program entry point implementation: +# main = UNIX/POSIX like main() function (default) +# main_winsvc = Windows service (read parameters from registry) +# main_none = Very basic example (development use only) +CONFIG_MAIN=main + +# Select wrapper for operating system and C library specific functions +# unix = UNIX/POSIX like systems (default) +# win32 = Windows systems +# none = Empty template +CONFIG_OS=unix + +# Select event loop implementation +# eloop = select() loop (default) +# eloop_win = Windows events and WaitForMultipleObject() loop +CONFIG_ELOOP=eloop + +# Should we use poll instead of select? Select is used by default. +#CONFIG_ELOOP_POLL=y + +# Should we use epoll instead of select? Select is used by default. +#CONFIG_ELOOP_EPOLL=y + +# Should we use kqueue instead of select? Select is used by default. +#CONFIG_ELOOP_KQUEUE=y + +# Select layer 2 packet implementation +# linux = Linux packet socket (default) +# pcap = libpcap/libdnet/WinPcap +# freebsd = FreeBSD libpcap +# winpcap = WinPcap with receive thread +# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y) +# none = Empty template +CONFIG_L2_PACKET=linux + +# Disable Linux packet socket workaround applicable for station interface +# in a bridge for EAPOL frames. This should be uncommented only if the kernel +# is known to not have the regression issue in packet socket behavior with +# bridge interfaces (commit 'bridge: respect RFC2863 operational state')'). +#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y + +# Support Operating Channel Validation +#CONFIG_OCV=y + +# Select TLS implementation +# openssl = OpenSSL (default) +# gnutls = GnuTLS +# internal = Internal TLSv1 implementation (experimental) +# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) +# none = Empty template +CONFIG_TLS=openssl + +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) +# can be enabled to get a stronger construction of messages when block ciphers +# are used. It should be noted that some existing TLS v1.0 -based +# implementation may not be compatible with TLS v1.1 message (ClientHello is +# sent prior to negotiating which version will be used) +CONFIG_TLSV11=y + +# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) +# can be enabled to enable use of stronger crypto algorithms. It should be +# noted that some existing TLS v1.0 -based implementation may not be compatible +# with TLS v1.2 message (ClientHello is sent prior to negotiating which version +# will be used) +CONFIG_TLSV12=y + +# Select which ciphers to use by default with OpenSSL if the user does not +# specify them. +#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" +CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT@SECLEVEL=1" + +# If CONFIG_TLS=internal is used, additional library and include paths are +# needed for LibTomMath. Alternatively, an integrated, minimal version of +# LibTomMath can be used. See beginning of libtommath.c for details on benefits +# and drawbacks of this option. +#CONFIG_INTERNAL_LIBTOMMATH=y +#ifndef CONFIG_INTERNAL_LIBTOMMATH +#LTM_PATH=/usr/src/libtommath-0.39 +#CFLAGS += -I$(LTM_PATH) +#LIBS += -L$(LTM_PATH) +#LIBS_p += -L$(LTM_PATH) +#endif +# At the cost of about 4 kB of additional binary size, the internal LibTomMath +# can be configured to include faster routines for exptmod, sqr, and div to +# speed up DH and RSA calculation considerably +#CONFIG_INTERNAL_LIBTOMMATH_FAST=y + +# Include NDIS event processing through WMI into wpa_supplicant/wpasvc. +# This is only for Windows builds and requires WMI-related header files and +# WbemUuid.Lib from Platform SDK even when building with MinGW. +#CONFIG_NDIS_EVENTS_INTEGRATED=y +#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib" + +# Add support for new DBus control interface +# (fi.w1.wpa_supplicant1) +CONFIG_CTRL_IFACE_DBUS_NEW=y + +# Add introspection support for new DBus control interface +CONFIG_CTRL_IFACE_DBUS_INTRO=y + +# Add support for loading EAP methods dynamically as shared libraries. +# When this option is enabled, each EAP method can be either included +# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn). +# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to +# be loaded in the beginning of the wpa_supplicant configuration file +# (see load_dynamic_eap parameter in the example file) before being used in +# the network blocks. +# +# Note that some shared parts of EAP methods are included in the main program +# and in order to be able to use dynamic EAP methods using these parts, the +# main program must have been build with the EAP method enabled (=y or =dyn). +# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries +# unless at least one of them was included in the main build to force inclusion +# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included +# in the main build to be able to load these methods dynamically. +# +# Please also note that using dynamic libraries will increase the total binary +# size. Thus, it may not be the best option for targets that have limited +# amount of memory/flash. +#CONFIG_DYNAMIC_EAP_METHODS=y + +# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode +CONFIG_IEEE80211R=y + +# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt) +CONFIG_DEBUG_FILE=y + +# Send debug messages to syslog instead of stdout +CONFIG_DEBUG_SYSLOG=y +# Set syslog facility for debug messages +CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON + +# Add support for sending all debug messages (regardless of debug verbosity) +# to the Linux kernel tracing facility. This helps debug the entire stack by +# making it easy to record everything happening from the driver up into the +# same file, e.g., using trace-cmd. +CONFIG_DEBUG_LINUX_TRACING=y + +# Add support for writing debug log to Android logcat instead of standard +# output +#CONFIG_ANDROID_LOG=y + +# Enable privilege separation (see README 'Privilege separation' for details) +#CONFIG_PRIVSEP=y + +# Enable mitigation against certain attacks against TKIP by delaying Michael +# MIC error reports by a random amount of time between 0 and 60 seconds +CONFIG_DELAYED_MIC_ERROR_REPORT=y + +# Enable tracing code for developer debugging +# This tracks use of memory allocations and other registrations and reports +# incorrect use with a backtrace of call (or allocation) location. +#CONFIG_WPA_TRACE=y +# For BSD, uncomment these. +#LIBS += -lexecinfo +#LIBS_p += -lexecinfo +#LIBS_c += -lexecinfo + +# Use libbfd to get more details for developer debugging +# This enables use of libbfd to get more detailed symbols for the backtraces +# generated by CONFIG_WPA_TRACE=y. +#CONFIG_WPA_TRACE_BFD=y +# For BSD, uncomment these. +#LIBS += -lbfd -liberty -lz +#LIBS_p += -lbfd -liberty -lz +#LIBS_c += -lbfd -liberty -lz + +# wpa_supplicant depends on strong random number generation being available +# from the operating system. os_get_random() function is used to fetch random +# data when needed, e.g., for key generation. On Linux and BSD systems, this +# works by reading /dev/urandom. It should be noted that the OS entropy pool +# needs to be properly initialized before wpa_supplicant is started. This is +# important especially on embedded devices that do not have a hardware random +# number generator and may by default start up with minimal entropy available +# for random number generation. +# +# As a safety net, wpa_supplicant is by default trying to internally collect +# additional entropy for generating random data to mix in with the data fetched +# from the OS. This by itself is not considered to be very strong, but it may +# help in cases where the system pool is not initialized properly. However, it +# is very strongly recommended that the system pool is initialized with enough +# entropy either by using hardware assisted random number generator or by +# storing state over device reboots. +# +# wpa_supplicant can be configured to maintain its own entropy store over +# restarts to enhance random number generation. This is not perfect, but it is +# much more secure than using the same sequence of random numbers after every +# reboot. This can be enabled with -e<entropy file> command line option. The +# specified file needs to be readable and writable by wpa_supplicant. +# +# If the os_get_random() is known to provide strong random data (e.g., on +# Linux/BSD, the board in question is known to have reliable source of random +# data from /dev/urandom), the internal wpa_supplicant random pool can be +# disabled. This will save some in binary size and CPU use. However, this +# should only be considered for builds that are known to be used on devices +# that meet the requirements described above. +CONFIG_NO_RANDOM_POOL=y + +# Should we attempt to use the getrandom(2) call that provides more reliable +# yet secure randomness source than /dev/random on Linux 3.17 and newer. +# Requires glibc 2.25 to build, falls back to /dev/random if unavailable. +CONFIG_GETRANDOM=y + +# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode) +CONFIG_IEEE80211AC=y + +# Wireless Network Management (IEEE Std 802.11v-2011) +# Note: This is experimental and not complete implementation. +#CONFIG_WNM=y + +# Interworking (IEEE 802.11u) +# This can be used to enable functionality to improve interworking with +# external networks (GAS/ANQP to learn more about the networks and network +# selection based on available credentials). +CONFIG_INTERWORKING=y + +# Hotspot 2.0 +CONFIG_HS20=y + +# Enable interface matching in wpa_supplicant +#CONFIG_MATCH_IFACE=y + +# Disable roaming in wpa_supplicant +#CONFIG_NO_ROAMING=y + +# AP mode operations with wpa_supplicant +# This can be used for controlling AP mode operations with wpa_supplicant. It +# should be noted that this is mainly aimed at simple cases like +# WPA2-Personal while more complex configurations like WPA2-Enterprise with an +# external RADIUS server can be supported with hostapd. +CONFIG_AP=y + +# P2P (Wi-Fi Direct) +# This can be used to enable P2P support in wpa_supplicant. See README-P2P for +# more information on P2P operations. +CONFIG_P2P=y + +# Enable TDLS support +CONFIG_TDLS=y + +# Wi-Fi Display +# This can be used to enable Wi-Fi Display extensions for P2P using an external +# program to control the additional information exchanges in the messages. +CONFIG_WIFI_DISPLAY=y + +# Autoscan +# This can be used to enable automatic scan support in wpa_supplicant. +# See wpa_supplicant.conf for more information on autoscan usage. +# +# Enabling directly a module will enable autoscan support. +# For exponential module: +CONFIG_AUTOSCAN_EXPONENTIAL=y +# For periodic module: +CONFIG_AUTOSCAN_PERIODIC=y + +# Password (and passphrase, etc.) backend for external storage +# These optional mechanisms can be used to add support for storing passwords +# and other secrets in external (to wpa_supplicant) location. This allows, for +# example, operating system specific key storage to be used +# +# External password backend for testing purposes (developer use) +#CONFIG_EXT_PASSWORD_TEST=y +# File-based backend to read passwords from an external file. +#CONFIG_EXT_PASSWORD_FILE=y + +# Enable Fast Session Transfer (FST) +CONFIG_FST=y + +# Enable CLI commands for FST testing +#CONFIG_FST_TEST=y + +# OS X builds. This is only for building eapol_test. +#CONFIG_OSX=y + +# Automatic Channel Selection +# This will allow wpa_supplicant to pick the channel automatically when channel +# is set to "0". +# +# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative +# to "channel=0". This would enable us to eventually add other ACS algorithms in +# similar way. +# +# Automatic selection is currently only done through initialization, later on +# we hope to do background checks to keep us moving to more ideal channels as +# time goes by. ACS is currently only supported through the nl80211 driver and +# your driver must have survey dump capability that is filled by the driver +# during scanning. +# +# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with +# a newly to create wpa_supplicant.conf variable acs_num_scans. +# +# Supported ACS drivers: +# * ath9k +# * ath5k +# * ath10k +# +# For more details refer to: +# http://wireless.kernel.org/en/users/Documentation/acs +CONFIG_ACS=y + +# Support Multi Band Operation +#CONFIG_MBO=y + +# Fast Initial Link Setup (FILS) (IEEE 802.11ai) +#CONFIG_FILS=y +# FILS shared key authentication with PFS +#CONFIG_FILS_SK_PFS=y + +# Support RSN on IBSS networks +# This is needed to be able to use mode=1 network profile with proto=RSN and +# key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None). +CONFIG_IBSS_RSN=y + +# External PMKSA cache control +# This can be used to enable control interface commands that allow the current +# PMKSA cache entries to be fetched and new entries to be added. +CONFIG_PMKSA_CACHE_EXTERNAL=y + +# Mesh Networking (IEEE 802.11s) +#CONFIG_MESH=y + +# Background scanning modules +# These can be used to request wpa_supplicant to perform background scanning +# operations for roaming within an ESS (same SSID). See the bgscan parameter in +# the wpa_supplicant.conf file for more details. +# Periodic background scans based on signal strength +CONFIG_BGSCAN_SIMPLE=y +# Learn channels used by the network and try to avoid bgscans on other +# channels (experimental) +CONFIG_BGSCAN_LEARN=y + +# Opportunistic Wireless Encryption (OWE) +# Experimental implementation of draft-harkins-owe-07.txt +CONFIG_OWE=y + +# Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect) +CONFIG_DPP=y +# DPP version 2 support +CONFIG_DPP2=y +# DPP version 3 support (experimental and still changing; do not enable for +# production use) +#CONFIG_DPP3=y + +# Wired equivalent privacy (WEP) +# WEP is an obsolete cryptographic data confidentiality algorithm that is not +# considered secure. It should not be used for anything anymore. The +# functionality needed to use WEP is available in the current wpa_supplicant +# release under this optional build parameter. This functionality is subject to +# be completely removed in a future release. +#CONFIG_WEP=y + +# Remove all TKIP functionality +# TKIP is an old cryptographic data confidentiality algorithm that is not +# considered secure. It should not be used anymore for anything else than a +# backwards compatibility option as a group cipher when connecting to APs that +# use WPA+WPA2 mixed mode. For now, the default wpa_supplicant build includes +# support for this by default, but that functionality is subject to be removed +# in the future. +#CONFIG_NO_TKIP=y + +# Pre-Association Security Negotiation (PASN) +# Experimental implementation based on IEEE P802.11z/D2.6 and the protocol +# design is still subject to change. As such, this should not yet be enabled in +# production use. +#CONFIG_PASN=y +CONFIG_IPV6=y Added: wpa_supplicant_dbus_service_syslog.patch =================================================================== --- wpa_supplicant_dbus_service_syslog.patch (rev 0) +++ wpa_supplicant_dbus_service_syslog.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -0,0 +1,36 @@ +From: Kel Modderman <[email protected]> +Date: Sat, 21 Apr 2012 15:59:32 +1000 +Subject: Tweak D-Bus/systemd service activation configuration files: + + * log wpa_supplicant messages to syslog + * activate control socket interface so that wpa_cli can be used by D-Bus + activated wpa_supplicant daemon +--- + wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in | 2 +- + wpa_supplicant/systemd/wpa_supplicant.service.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in +index d97ff39..3b0af67 100644 +--- a/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in ++++ b/wpa_supplicant/dbus/fi.w1.wpa_supplicant1.service.in +@@ -1,5 +1,5 @@ + [D-BUS Service] + Name=fi.w1.wpa_supplicant1 +-Exec=@BINDIR@/wpa_supplicant -u ++Exec=@BINDIR@/wpa_supplicant -u -s -O /run/wpa_supplicant + User=root + SystemdService=wpa_supplicant.service +diff --git a/wpa_supplicant/systemd/wpa_supplicant.service.in b/wpa_supplicant/systemd/wpa_supplicant.service.in +index 58a6228..bc0688a 100644 +--- a/wpa_supplicant/systemd/wpa_supplicant.service.in ++++ b/wpa_supplicant/systemd/wpa_supplicant.service.in +@@ -7,7 +7,7 @@ Wants=network.target + [Service] + Type=dbus + BusName=fi.w1.wpa_supplicant1 +-ExecStart=@BINDIR@/wpa_supplicant -u ++ExecStart=@BINDIR@/wpa_supplicant -u -s -O /run/wpa_supplicant + + [Install] + WantedBy=multi-user.target Added: wpa_supplicant_service_ignore-on-isolate.patch =================================================================== --- wpa_supplicant_service_ignore-on-isolate.patch (rev 0) +++ wpa_supplicant_service_ignore-on-isolate.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -0,0 +1,36 @@ +From: Mathieu Trudel-Lapierre <[email protected]> +Date: Mon, 13 Mar 2017 13:46:12 -0400 +Subject: Add IgnoreOnIsolate=yes to keep wpa-supplicant running while + systemctl isolate + +> Add IgnoreOnIsolate=yes so that when switching "runlevels" in +> oem-config will not kill off wpa and cause wireless to be +> unavailable on first boot. (LP: #1576024) + +Also happens when running systemctl isolate default.target: + +> NM should be detecting that wpasupplicant is not running and start +> it -- this should already have been working by way of wpasupplicant +> being dbus-activated. +[...] +> It seems to me like IgnoreOnIsolate for wpasupplicant would be the +> right thing to do, or to figure out why it isn't being properly +> started when NM tries to use it. + +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1576024 +--- + wpa_supplicant/systemd/wpa_supplicant.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/wpa_supplicant/systemd/wpa_supplicant.service.in b/wpa_supplicant/systemd/wpa_supplicant.service.in +index bc0688a..561ae8f 100644 +--- a/wpa_supplicant/systemd/wpa_supplicant.service.in ++++ b/wpa_supplicant/systemd/wpa_supplicant.service.in +@@ -3,6 +3,7 @@ Description=WPA supplicant + Before=network.target + After=dbus.service + Wants=network.target ++IgnoreOnIsolate=true + + [Service] + Type=dbus Added: wpa_supplicant_tls.patch =================================================================== --- wpa_supplicant_tls.patch (rev 0) +++ wpa_supplicant_tls.patch 2022-01-23 09:37:43 UTC (rev 434948) @@ -0,0 +1,28 @@ +From: Andrej Shadura <[email protected]> +Date: Sat, 15 Dec 2018 14:19:22 +0100 +Subject: Enable TLSv1.0 by default + +OpenSSL 1.1.1 disables TLSv1.0 by default and sets the security level to 2. +Some older networks may support for TLSv1.0 and less secure cyphers. +--- + src/crypto/tls_openssl.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/crypto/tls_openssl.c b/src/crypto/tls_openssl.c +index c9e00b3..273e5cb 100644 +--- a/src/crypto/tls_openssl.c ++++ b/src/crypto/tls_openssl.c +@@ -1040,6 +1040,13 @@ void * tls_init(const struct tls_config *conf) + os_free(data); + return NULL; + } ++ ++#ifndef EAP_SERVER_TLS ++ /* Enable TLSv1.0 by default to allow connecting to legacy ++ * networks since Debian OpenSSL is set to minimum TLSv1.2 and SECLEVEL=2. */ ++ SSL_CTX_set_min_proto_version(ssl, TLS1_VERSION); ++#endif ++ + data->ssl = ssl; + if (conf) { + data->tls_session_lifetime = conf->tls_session_lifetime;
