wpa_supplicant: mesh support needs openssl
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 11 Nov 2017 22:18:23 +0000 (23:18 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 12 Nov 2017 09:12:08 +0000 (10:12 +0100)
When BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING is enabeld,
wpa_supplicant currently fails to build with:

../src/common/sae.o: In function `sae_cn_confirm.isra.2':
sae.c:(.text+0x168): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text+0x198): undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_cn_confirm_ffc':
sae.c:(.text+0x214): undefined reference to `crypto_bignum_to_bin'
sae.c:(.text+0x22c): undefined reference to `crypto_bignum_to_bin'
../src/common/sae.o: In function `sae_cn_confirm_ecc':
sae.c:(.text+0x2a4): undefined reference to `crypto_ec_point_to_bin'
sae.c:(.text+0x2c0): undefined reference to `crypto_ec_point_to_bin'

[...]

This is due to the fact that the SAE code, used for the mesh network
support, needs OpenSSL support. Therefore, we ensure that
BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING selects OpenSSL. Only
OpenSSL is supported, which is why
BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL is selected as well.

No changes to the .mk files are needed, because we were already
handling OpenSSL as an optional dependency.

This problem was not yet caught by the autobuilders.

Reported-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/wpa_supplicant/Config.in

index 4b810bf1a8a9709952f612656afed079cc01507b..de03141e4059b0f34b198231ed6813d5577d0e8f 100644 (file)
@@ -48,6 +48,8 @@ config BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY
 config BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING
        bool "Enable mesh networking"
        depends on BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT
+       select BR2_PACKAGE_OPENSSL
+       select BR2_PACKAGE_OPENSSL_FORCE_LIBOPENSSL
        help
          Enable support for open and secured mesh networking
          (IEEE 802.11s)