diff options
-rw-r--r-- | utils/gssd/gssd_proc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/utils/gssd/gssd_proc.c b/utils/gssd/gssd_proc.c index f93fdbc..cdc0b9a 100644 --- a/utils/gssd/gssd_proc.c +++ b/utils/gssd/gssd_proc.c @@ -817,6 +817,8 @@ static void gssd_log_failure(uint32_t level, gss_OID mech, gss_release_buffer(&discard, &tmp); } +#define GSS_X_UID_PREFIX "X-UID" + static OM_uint32 compose_user_principal(OM_uint32 *ret_min, uid_t uid, const char *realm_name, @@ -836,8 +838,11 @@ static OM_uint32 compose_user_principal(OM_uint32 *ret_min, if (realm_name == NULL) { return ret_maj; } - +#if 1 + ret = asprintf(&s, "%d@%s-%s", pwd->pw_uid, GSS_X_UID_PREFIX, realm_name); +#else ret = asprintf(&s, "%s@%s", pwd->pw_name, realm_name); +#endif if (ret == -1 || s == NULL) { return ret_maj; } |