summaryrefslogtreecommitdiff
path: root/lib/vauth
diff options
context:
space:
mode:
authorFederico Pellegrin <fede@evolware.org>2023-02-08 19:44:58 +0100
committerDaniel Stenberg <daniel@haxx.se>2023-02-09 08:17:20 +0100
commitcace68e2999a7b007774f78eb2084aec937fb633 (patch)
tree6876a5d8d37a1e118bee44191ef05c6ca8da62bd /lib/vauth
parentda8e97b5d0d5315de02bf5310a53404f439f177e (diff)
downloadcurl-cace68e2999a7b007774f78eb2084aec937fb633.tar.gz
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
Diffstat (limited to 'lib/vauth')
-rw-r--r--lib/vauth/cleartext.c3
-rw-r--r--lib/vauth/oauth2.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/vauth/cleartext.c b/lib/vauth/cleartext.c
index 1f6eae999..c651fc514 100644
--- a/lib/vauth/cleartext.c
+++ b/lib/vauth/cleartext.c
@@ -28,7 +28,8 @@
#include "curl_setup.h"
#if !defined(CURL_DISABLE_IMAP) || !defined(CURL_DISABLE_SMTP) || \
- !defined(CURL_DISABLE_POP3)
+ !defined(CURL_DISABLE_POP3) || \
+ (!defined(CURL_DISABLE_LDAP) && defined(USE_OPENLDAP))
#include <curl/curl.h>
#include "urldata.h"
diff --git a/lib/vauth/oauth2.c b/lib/vauth/oauth2.c
index 5f0f0e697..a4adbdcf1 100644
--- a/lib/vauth/oauth2.c
+++ b/lib/vauth/oauth2.c
@@ -27,7 +27,8 @@
#include "curl_setup.h"
#if !defined(CURL_DISABLE_IMAP) || !defined(CURL_DISABLE_SMTP) || \
- !defined(CURL_DISABLE_POP3)
+ !defined(CURL_DISABLE_POP3) || \
+ (!defined(CURL_DISABLE_LDAP) && defined(USE_OPENLDAP))
#include <curl/curl.h>
#include "urldata.h"