]> git.ipfire.org Git - thirdparty/curl.git/commit
openldap: fix missing sasl symbols at build in specific configs
authorFederico Pellegrin <fede@evolware.org>
Wed, 8 Feb 2023 18:44:58 +0000 (19:44 +0100)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 9 Feb 2023 07:17:20 +0000 (08:17 +0100)
commitcace68e2999a7b007774f78eb2084aec937fb633
tree6876a5d8d37a1e118bee44191ef05c6ca8da62bd
parentda8e97b5d0d5315de02bf5310a53404f439f177e
openldap: fix missing sasl symbols at build in specific configs

If curl is built with openldap support (USE_OPENLDAP=1) but does not
have also some other protocol (IMAP/SMTP/POP3) enabled that brings
in Curl_sasl_* functions, then the build will fail with undefined
references to various symbols:

ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_decode_mech'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_parse_url_auth_option'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_cleanup'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_can_authenticate'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_continue'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_start'
ld: ../lib/.libs/libcurl.so: undefined reference to `Curl_sasl_init'

This was tracked down to these functions bein used in openldap.c but
defined in curl_sasl.c and then forward in two vauth/ files to have
a guard against a set of #define configurations that was now extended
to cover also this case.

Example configuration targeted that could reproduce the problem:

curl 7.87.1-DEV () libcurl/7.87.1-DEV .... OpenLDAP/2.6.3
Protocols: file ftp ftps http https ldap ldaps

Closes #10445
lib/curl_sasl.c
lib/vauth/cleartext.c
lib/vauth/oauth2.c