diff options
-rw-r--r-- | utils/gssd/gssd_proc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c index e2ff482..f93fdbc 100644 --- a/utils/gssd/gssd_proc.c +++ b/utils/gssd/gssd_proc.c @@ -1130,6 +1130,14 @@ process_krb5_upcall(struct clnt_info *clp, uid_t uid, int fd, char *tgtname, */ printerr(2, "%s: service is '%s'\n", __func__, service ? service : "<null>"); + + printerr(2, "FIXME: trying preaquire creds first\n"); + create_resp = create_auth_rpc_client(clp, &rpc_clnt, &auth, uid, + AUTHTYPE_KRB5, 1); + if (create_resp == 0) { + goto auth_data; + } + if (uid != 0 || (uid == 0 && root_uses_machine_creds == 0 && service == NULL)) { /* Tell krb5 gss which credentials cache to use */ @@ -1198,6 +1206,7 @@ process_krb5_upcall(struct clnt_info *clp, uid_t uid, int fd, char *tgtname, goto out_return_error; } } + auth_data: if (!authgss_get_private_data(auth, &pd)) { printerr(1, "WARNING: Failed to obtain authentication " |