summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/providers/ldap/sdap_async_connection.c2
-rw-r--r--src/util/sss_ldap.c12
-rw-r--r--src/util/sss_ldap.h4
3 files changed, 16 insertions, 2 deletions
diff --git a/src/providers/ldap/sdap_async_connection.c b/src/providers/ldap/sdap_async_connection.c
index b391aa96..83e66708 100644
--- a/src/providers/ldap/sdap_async_connection.c
+++ b/src/providers/ldap/sdap_async_connection.c
@@ -29,8 +29,6 @@
#include "providers/ldap/sdap_async_private.h"
#include "providers/ldap/ldap_common.h"
-#define LDAP_X_SSSD_PASSWORD_EXPIRED 0x555D
-
errno_t deref_string_to_val(const char *str, int *val)
{
if (strcasecmp(str, "never") == 0) {
diff --git a/src/util/sss_ldap.c b/src/util/sss_ldap.c
index de4bebf8..e799e431 100644
--- a/src/util/sss_ldap.c
+++ b/src/util/sss_ldap.c
@@ -29,6 +29,18 @@
#include "util/sss_ldap.h"
#include "util/util.h"
+const char* sss_ldap_err2string(int err)
+{
+ static const char *password_expired = "Password expired";
+
+ switch (err) {
+ case LDAP_X_SSSD_PASSWORD_EXPIRED:
+ return password_expired;
+ default:
+ return ldap_err2string(err);
+ }
+}
+
int sss_ldap_get_diagnostic_msg(TALLOC_CTX *mem_ctx, LDAP *ld, char **_errmsg)
{
char *errmsg = NULL;
diff --git a/src/util/sss_ldap.h b/src/util/sss_ldap.h
index 4b4d9c1b..38785b5a 100644
--- a/src/util/sss_ldap.h
+++ b/src/util/sss_ldap.h
@@ -27,6 +27,8 @@
#include <talloc.h>
#include <tevent.h>
+#define LDAP_X_SSSD_PASSWORD_EXPIRED 0x555D
+
#ifdef LDAP_OPT_DIAGNOSTIC_MESSAGE
#define SDAP_DIAGNOSTIC_MESSAGE LDAP_OPT_DIAGNOSTIC_MESSAGE
#else
@@ -37,6 +39,8 @@
#endif
#endif
+const char* sss_ldap_err2string(int err);
+
int sss_ldap_get_diagnostic_msg(TALLOC_CTX *mem_ctx,
LDAP *ld,
char **_errmsg);