[SSSD] [PATCH] Do not call sdap_auth if not needed
Jakub Hrozek
jhrozek at redhat.com
Wed Apr 4 21:15:06 UTC 2012
We were calling sdap_auth_send unconditionally even if no bind DN was
specified.
-------------- next part --------------
From 40a78d76f6b90abaf58ccae9f10e6512b7bddd59 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek at redhat.com>
Date: Wed, 4 Apr 2012 22:08:31 +0200
Subject: [PATCH] Do not call sdap_auth if not needed
---
src/providers/ldap/sdap_async_connection.c | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/providers/ldap/sdap_async_connection.c b/src/providers/ldap/sdap_async_connection.c
index 02963f327dc44463c8458bef6806261748740b10..bc673e9c39ed1b92ac9de2beb0a095295d261e86 100644
--- a/src/providers/ldap/sdap_async_connection.c
+++ b/src/providers/ldap/sdap_async_connection.c
@@ -1504,9 +1504,15 @@ static void sdap_cli_auth_step(struct tevent_req *req)
struct tevent_req *subreq;
time_t now;
int expire_timeout;
+ const char *sasl_mech = dp_opt_get_string(state->opts->basic,
+ SDAP_SASL_MECH);
+ const char *user_dn = dp_opt_get_string(state->opts->basic,
+ SDAP_DEFAULT_BIND_DN);
- if (!state->do_auth) {
- /* No authentication requested or GSSAPI auth forced off */
+ if (!state->do_auth ||
+ (sasl_mech == NULL && user_dn == NULL)) {
+ DEBUG(SSSDBG_TRACE_LIBS,
+ ("No authentication requested or GSSAPI auth forced off\n"));
tevent_req_done(req);
return;
}
@@ -1524,12 +1530,10 @@ static void sdap_cli_auth_step(struct tevent_req *req)
subreq = sdap_auth_send(state,
state->ev,
state->sh,
- dp_opt_get_string(state->opts->basic,
- SDAP_SASL_MECH),
+ sasl_mech,
dp_opt_get_string(state->opts->basic,
SDAP_SASL_AUTHID),
- dp_opt_get_string(state->opts->basic,
- SDAP_DEFAULT_BIND_DN),
+ user_dn,
dp_opt_get_string(state->opts->basic,
SDAP_DEFAULT_AUTHTOK_TYPE),
dp_opt_get_blob(state->opts->basic,
--
1.7.7.6
More information about the sssd-devel
mailing list