From: Greg Hudson Date: Fri, 5 Jan 2018 21:27:19 +0000 (-0500) Subject: Set klog com_err context for each KDC request X-Git-Tag: krb5-1.17-beta1~194 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F716%2Fhead;p=thirdparty%2Fkrb5.git Set klog com_err context for each KDC request 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 --- diff --git a/src/kdc/main.c b/src/kdc/main.c index 919320d2c2..e1ee3a94f1 100644 --- a/src/kdc/main.c +++ b/src/kdc/main.c @@ -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