summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gdeschner@redhat.com>2013-03-22 18:54:00 +0100
committerGünther Deschner <gd@samba.org>2013-03-22 19:28:33 +0100
commit08a9deddee4b92879aeead73aa0c85045e0fe8ff (patch)
tree6ec66abcab600aba73184e3e438d06819b3e2ce5
parent0eb9d510834426ea36906ab54ccd1890c8b289f1 (diff)
downloadnfs-utils-08a9deddee4b92879aeead73aa0c85045e0fe8ff.tar.gz
nfs-utils-08a9deddee4b92879aeead73aa0c85045e0fe8ff.tar.xz
nfs-utils-08a9deddee4b92879aeead73aa0c85045e0fe8ff.zip
WIP: use special GSS_X_UID_PREFIX when composing imported name.
-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;
}