← Commit list

3e2a946926

Daniel Stenberg
Daniel Stenberg
2025-12-02
SUCCESS Duration: 354s

Subject

ldap: provide version for "legacy" ldap as well

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/curl_ldap.h+1 -0
@@ -32,5 +32,6 @@ extern const struct Curl_handler Curl_handler_ldap;
extern const struct Curl_handler Curl_handler_ldaps;
#endif
+void Curl_ldap_version(char *buf, size_t bufsz);
#endif
#endif /* HEADER_CURL_LDAP_H */
lib/ldap.c+9 -0
@@ -1037,6 +1037,15 @@ static void ldap_free_urldesc_low(LDAPURLDesc *ludp)
}
#endif /* !HAVE_LDAP_URL_PARSE */
+void Curl_ldap_version(char *buf, size_t bufsz)
+{
+#ifdef USE_WIN32_LDAP
+ curl_msnprintf(buf, bufsz, "WinLDAP");
+#else
+ curl_msnprintf(buf, bufsz, "LDAP/1");
+#endif
+}
+
#if defined(__GNUC__) && defined(__APPLE__)
#pragma GCC diagnostic pop
#endif
lib/openldap.c+20 -0
@@ -1331,4 +1331,24 @@ ldapsb_tls_write(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t len)
}
#endif /* USE_SSL */
+void Curl_ldap_version(char *buf, size_t bufsz)
+{
+ LDAPAPIInfo api;
+ api.ldapai_info_version = LDAP_API_INFO_VERSION;
+
+ if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &api) == LDAP_OPT_SUCCESS) {
+ unsigned int patch = (unsigned int)(api.ldapai_vendor_version % 100);
+ unsigned int major = (unsigned int)(api.ldapai_vendor_version / 10000);
+ unsigned int minor =
+ (((unsigned int)api.ldapai_vendor_version - major * 10000)
+ - patch) / 100;
+ curl_msnprintf(buf, bufsz, "%s/%u.%u.%u",
+ api.ldapai_vendor_name, major, minor, patch);
+ ldap_memfree(api.ldapai_vendor_name);
+ ber_memvfree((void **)api.ldapai_extensions);
+ }
+ else
+ curl_msnprintf(buf, bufsz, "OpenLDAP");
+}
+
#endif /* !CURL_DISABLE_LDAP && USE_OPENLDAP */
lib/version.c+5 -27
@@ -77,8 +77,8 @@
#include <gsasl.h>
#endif
-#ifdef USE_OPENLDAP
-#include <ldap.h>
+#ifndef CURL_DISABLE_LDAP
+#include "curl_ldap.h"
#endif
#ifdef HAVE_BROTLI
@@ -103,28 +103,6 @@ static void zstd_version(char *buf, size_t bufsz)
}
#endif
-#ifdef USE_OPENLDAP
-static void oldap_version(char *buf, size_t bufsz)
-{
- LDAPAPIInfo api;
- api.ldapai_info_version = LDAP_API_INFO_VERSION;
-
- if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &api) == LDAP_OPT_SUCCESS) {
- unsigned int patch = (unsigned int)(api.ldapai_vendor_version % 100);
- unsigned int major = (unsigned int)(api.ldapai_vendor_version / 10000);
- unsigned int minor =
- (((unsigned int)api.ldapai_vendor_version - major * 10000)
- - patch) / 100;
- curl_msnprintf(buf, bufsz, "%s/%u.%u.%u",
- api.ldapai_vendor_name, major, minor, patch);
- ldap_memfree(api.ldapai_vendor_name);
- ber_memvfree((void **)api.ldapai_extensions);
- }
- else
- curl_msnprintf(buf, bufsz, "OpenLDAP");
-}
-#endif
-
#ifdef USE_LIBPSL
static void psl_version(char *buf, size_t bufsz)
{
@@ -211,7 +189,7 @@ char *curl_version(void)
#ifdef HAVE_GSSAPI
char gss_buf[40];
#endif
-#ifdef USE_OPENLDAP
+#ifndef CURL_DISABLE_LDAP
char ldap_buf[30];
#endif
int i = 0;
@@ -289,8 +267,8 @@ char *curl_version(void)
#endif
src[i++] = gss_buf;
#endif /* HAVE_GSSAPI */
-#ifdef USE_OPENLDAP
- oldap_version(ldap_buf, sizeof(ldap_buf));
+#ifndef CURL_DISABLE_LDAP
+ Curl_ldap_version(ldap_buf, sizeof(ldap_buf));
src[i++] = ldap_buf;
#endif