]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Set klog com_err context for each KDC request 716/head
authorGreg Hudson <ghudson@mit.edu>
Fri, 5 Jan 2018 21:27:19 +0000 (16:27 -0500)
committerGreg Hudson <ghudson@mit.edu>
Tue, 16 Jan 2018 16:54:22 +0000 (11:54 -0500)
In setup_server_realm(), set the error context for the klog com_err
hook so that com_err() can retrieve error messages using the per-realm
context.

ticket: 8630

src/kdc/main.c

index 919320d2c2550526046d9351615f78fd6f8589a2..e1ee3a94f16f7c228d45bf7b7db976c1af053bdd 100644 (file)
@@ -127,14 +127,16 @@ setup_server_realm(struct server_handle *handle, krb5_principal sprinc)
         return NULL;
 
     if (kdc_numrealms > 1) {
-        if (!(newrealm = find_realm_data(handle, sprinc->realm.data,
-                                         (krb5_ui_4) sprinc->realm.length)))
-            return NULL;
-        else
-            return newrealm;
+        newrealm = find_realm_data(handle, sprinc->realm.data,
+                                   sprinc->realm.length);
+    } else {
+        newrealm = kdc_realmlist[0];
     }
-    else
-        return kdc_realmlist[0];
+    if (newrealm != NULL) {
+        krb5_klog_set_context(newrealm->realm_context);
+        shandle.kdc_err_context = newrealm->realm_context;
+    }
+    return newrealm;
 }
 
 static void