hostapd: escape double quoutes in wpad CFLAGS
authorStijn Tintel <stijn@linux-ipv6.be>
Sat, 30 Sep 2017 00:35:50 +0000 (03:35 +0300)
committerStijn Tintel <stijn@linux-ipv6.be>
Sat, 7 Oct 2017 02:49:22 +0000 (05:49 +0300)
A recent commit in hostapd added a build option to specify the default
TLS ciphers. This build option is passed via CFLAGS. Due to the way
CFLAGS are handled when building wpad, the compiler tries to recursively
expand TLS_DEFAULT_CIPHERS, resulting in the following error:

../src/crypto/tls_openssl.c: In function 'tls_init':
<command-line>:0:21: error: 'DEFAULT' undeclared (first use in this function)
../src/crypto/tls_openssl.c:1028:13: note: in expansion of macro 'TLS_DEFAULT_CIPHERS'
   ciphers = TLS_DEFAULT_CIPHERS;
             ^

Escape double quotes in the .cflags file to avoid this.

Fixes: 2f78034c3ef ("hostapd: update to version 2017-08-24")
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
package/network/services/hostapd/Makefile

index 2558f2d..344896c 100644 (file)
@@ -299,6 +299,7 @@ define Build/Compile/wpad
                $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \
                sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \
        ` > $(PKG_BUILD_DIR)/.cflags
+       sed -i 's/"/\\"/g' $(PKG_BUILD_DIR)/.cflags
        +$(call Build/RunMake,hostapd, \
                CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \
                MULTICALL=1 \