summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--utils/gssd/gssd_proc.c7
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;
}