https://fedorahosted.org/sssd/ticket/1680
From fe2001499cd5b1ad54077795c0011926049a2e31 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <[email protected]>
Date: Mon, 10 Dec 2012 15:21:57 +0100
Subject: [PATCH] let krb5_kpasswd failover work

https://fedorahosted.org/sssd/ticket/1680

There were two errors:
1. kr->kpasswd_srv was never set
2. bad service name (KERBEROS) was provided when setting port status,
   thus the port status never changed
---
 src/providers/krb5/krb5_auth.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/providers/krb5/krb5_auth.c b/src/providers/krb5/krb5_auth.c
index 7104b3127e04891fed7370a6241c60865372632b..94bbe48548a20c972bd36249fd0e340635f5f1bb 100644
--- a/src/providers/krb5/krb5_auth.c
+++ b/src/providers/krb5/krb5_auth.c
@@ -679,7 +679,11 @@ static void krb5_auth_resolve_done(struct tevent_req *subreq)
     char *msg;
     int ret;
 
-    ret = be_resolve_server_recv(subreq, &kr->srv);
+    if (!state->search_kpasswd) {
+        ret = be_resolve_server_recv(subreq, &kr->srv);
+    } else {
+        ret = be_resolve_server_recv(subreq, &kr->kpasswd_srv);
+    }
     talloc_zfree(subreq);
 
     if (state->search_kpasswd) {
@@ -969,7 +973,7 @@ static void krb5_auth_done(struct tevent_req *subreq)
         /* ..which is unreachable by now.. */
         if (res->msg_status == PAM_AUTHTOK_LOCK_BUSY) {
             be_fo_set_port_status(state->be_ctx,
-                                  state->krb5_ctx->service->name,
+                                  state->krb5_ctx->kpasswd_service->name,
                                   kr->kpasswd_srv, PORT_NOT_WORKING);
             /* ..try to resolve next kpasswd server */
             state->search_kpasswd = true;
@@ -985,7 +989,7 @@ static void krb5_auth_done(struct tevent_req *subreq)
             return;
         } else {
             be_fo_set_port_status(state->be_ctx,
-                                  state->krb5_ctx->service->name,
+                                  state->krb5_ctx->kpasswd_service->name,
                                   kr->kpasswd_srv, PORT_WORKING);
         }
     }
-- 
1.7.11.7

_______________________________________________
sssd-devel mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/sssd-devel

Reply via email to