[PATCH] Fix eapol_test build against OpenSSL 3
Benjamin Berg
benjamin at sipsolutions.net
Mon Dec 18 06:23:44 PST 2023
Hi,
On Sat, 2023-12-16 at 18:33 +0200, Jouni Malinen wrote:
> On Wed, Dec 13, 2023 at 12:33:38AM +0100, Jouke Witteveen wrote:
> > eapol_test uses the ENGINE API of OpenSSL, which has been
> > deprecated
> > as of OpenSSL 3. Rather than migrating the code to the new API or
> > pretending that we do not support OpenSSL 3, accept that we use
> > deprecated functionality.
>
> How have you configured the build? Did you explicitly define
> CONFIG_SMARTCARD=y in wpa_supplicant/.config? OpenSSL ENGINE API
> should
> not be used by default, but it will be used if you explicitly enable
> functionality that needs it. And if that is indeed the case, it would
> seem more reasonable to add this type of workarounds in
> wpa_supplicant/.config when needed.
>
> > diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
> > @@ -184,7 +184,7 @@ CFLAGS += -DCONFIG_ELOOP_KQUEUE
> > endif
> >
> > ifdef CONFIG_EAPOL_TEST
> > -CFLAGS += -Werror -DEAPOL_TEST
> > +CFLAGS += -Werror -Wno-error=deprecated-declarations -DEAPOL_TEST
> > endif
>
> That does not look like the correct place since this is in no way
> limited to eapol_test. I'd add that in wpa_supplicant/.config instead
> whenever configuring the build to include functionality that needs
> the
> OpenSSL ENGINE API. This should not be forced to be included for all
> other cases that do not need this.
Maybe it would make sense to wrap the relevant #include in pragmas?
Something like:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#include ...
#pragma GCC diagnostic pop
Benjamin
More information about the Hostap
mailing list