0ba406
From e57cdf6610f0b7c8ac38f9b2342b74b8c9e5bc54 Mon Sep 17 00:00:00 2001
9c4c6b
From: Greg Hudson <ghudson@mit.edu>
9c4c6b
Date: Sun, 26 Apr 2020 19:55:54 -0400
9c4c6b
Subject: [PATCH] Pass gss_localname() through SPNEGO
9c4c6b
9c4c6b
ticket: 8897 (new)
9c4c6b
(cherry picked from commit f7b8a6432bd289bdc528017be122305f95b8e285)
9c4c6b
(cherry picked from commit 646212314a580a8cdffdacda9cb3c8f806471b08)
9c4c6b
---
9c4c6b
 src/lib/gssapi/spnego/gssapiP_spnego.h | 8 ++++++++
9c4c6b
 src/lib/gssapi/spnego/spnego_mech.c    | 9 ++++++++-
9c4c6b
 2 files changed, 16 insertions(+), 1 deletion(-)
9c4c6b
9c4c6b
diff --git a/src/lib/gssapi/spnego/gssapiP_spnego.h b/src/lib/gssapi/spnego/gssapiP_spnego.h
9c4c6b
index a93763314..066ec736f 100644
9c4c6b
--- a/src/lib/gssapi/spnego/gssapiP_spnego.h
9c4c6b
+++ b/src/lib/gssapi/spnego/gssapiP_spnego.h
9c4c6b
@@ -357,6 +357,14 @@ OM_uint32 KRB5_CALLCONV spnego_gss_wrap_size_limit
9c4c6b
 	OM_uint32	*max_input_size
9c4c6b
 );
9c4c6b
 
9c4c6b
+OM_uint32 KRB5_CALLCONV spnego_gss_localname
9c4c6b
+(
9c4c6b
+	OM_uint32 *minor_status,
9c4c6b
+	const gss_name_t pname,
9c4c6b
+	const gss_const_OID mech_type,
9c4c6b
+	gss_buffer_t localname
9c4c6b
+);
9c4c6b
+
9c4c6b
 OM_uint32 KRB5_CALLCONV spnego_gss_get_mic
9c4c6b
 (
9c4c6b
 	OM_uint32 *minor_status,
9c4c6b
diff --git a/src/lib/gssapi/spnego/spnego_mech.c b/src/lib/gssapi/spnego/spnego_mech.c
9c4c6b
index ec0bae6a4..594fc5894 100644
9c4c6b
--- a/src/lib/gssapi/spnego/spnego_mech.c
9c4c6b
+++ b/src/lib/gssapi/spnego/spnego_mech.c
9c4c6b
@@ -237,7 +237,7 @@ static struct gss_config spnego_mechanism =
9c4c6b
 	spnego_gss_inquire_context,	/* gss_inquire_context */
9c4c6b
 	NULL,				/* gss_internal_release_oid */
9c4c6b
 	spnego_gss_wrap_size_limit,	/* gss_wrap_size_limit */
9c4c6b
-	NULL,				/* gssd_pname_to_uid */
9c4c6b
+	spnego_gss_localname,
9c4c6b
 	NULL,				/* gss_userok */
9c4c6b
 	NULL,				/* gss_export_name */
9c4c6b
 	spnego_gss_duplicate_name,	/* gss_duplicate_name */
9c4c6b
@@ -2371,6 +2371,13 @@ spnego_gss_wrap_size_limit(
9c4c6b
 	return (ret);
9c4c6b
 }
9c4c6b
 
9c4c6b
+OM_uint32 KRB5_CALLCONV
9c4c6b
+spnego_gss_localname(OM_uint32 *minor_status, const gss_name_t pname,
9c4c6b
+		     const gss_const_OID mech_type, gss_buffer_t localname)
9c4c6b
+{
9c4c6b
+	return gss_localname(minor_status, pname, GSS_C_NO_OID, localname);
9c4c6b
+}
9c4c6b
+
9c4c6b
 OM_uint32 KRB5_CALLCONV
9c4c6b
 spnego_gss_get_mic(
9c4c6b
 		OM_uint32 *minor_status,