diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2010-06-04 11:11:07 -0400 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-06-06 13:38:19 -0400 |
commit | 242fc5b1eee793e3c2ced43eb845429f1a4599a0 (patch) | |
tree | 52e983046b01d45c09cb8e0cabd267774a888013 /src | |
parent | a777a485bf73be24404fe3094c3688e604d8cbf8 (diff) | |
download | sssd-242fc5b1eee793e3c2ced43eb845429f1a4599a0.tar.gz sssd-242fc5b1eee793e3c2ced43eb845429f1a4599a0.tar.xz sssd-242fc5b1eee793e3c2ced43eb845429f1a4599a0.zip |
Fix broken build against older versions of OpenLDAP
OpenLDAP < 2.4 used LDAP_OPT_ERROR_STRING. It was changed to
LDAP_OPT_DIAGNOSTIC_MESSAGE in 2.4. This patch will allow the TLS
error messages to be displayed on either version.
Diffstat (limited to 'src')
-rw-r--r-- | src/providers/ldap/sdap.h | 10 | ||||
-rw-r--r-- | src/providers/ldap/sdap_async_connection.c | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/providers/ldap/sdap.h b/src/providers/ldap/sdap.h index d698b55bc..ef22cda06 100644 --- a/src/providers/ldap/sdap.h +++ b/src/providers/ldap/sdap.h @@ -26,6 +26,16 @@ #include <ldap.h> #include "util/sss_ldap.h" +#ifdef LDAP_OPT_DIAGNOSTIC_MESSAGE +#define SDAP_DIAGNOSTIC_MESSAGE LDAP_OPT_DIAGNOSTIC_MESSAGE +#else +#ifdef LDAP_OPT_ERROR_STRING +#define SDAP_DIAGNOSTIC_MESSAGE LDAP_OPT_ERROR_STRING +#else +#error No extended diagnostic message available +#endif +#endif + struct sdap_msg { struct sdap_msg *next; LDAPMessage *msg; diff --git a/src/providers/ldap/sdap_async_connection.c b/src/providers/ldap/sdap_async_connection.c index 98249ea69..14a1a4b7d 100644 --- a/src/providers/ldap/sdap_async_connection.c +++ b/src/providers/ldap/sdap_async_connection.c @@ -147,7 +147,7 @@ struct tevent_req *sdap_connect_send(TALLOC_CTX *memctx, lret = ldap_start_tls(state->sh->ldap, NULL, NULL, &msgid); if (lret != LDAP_SUCCESS) { optret = ldap_get_option(state->sh->ldap, - LDAP_OPT_DIAGNOSTIC_MESSAGE, + SDAP_DIAGNOSTIC_MESSAGE, (void*)&errmsg); if (optret == LDAP_SUCCESS) { DEBUG(3, ("ldap_start_tls failed: [%s] [%s]\n", @@ -230,7 +230,7 @@ static void sdap_connect_done(struct sdap_op *op, if (ret != LDAP_SUCCESS) { optret = ldap_get_option(state->sh->ldap, - LDAP_OPT_DIAGNOSTIC_MESSAGE, + SDAP_DIAGNOSTIC_MESSAGE, (void*)&tlserr); if (optret == LDAP_SUCCESS) { DEBUG(3, ("ldap_install_tls failed: [%s] [%s]\n", |