@@ -121,3 +121,18 @@ out_rel_buf:
out_err:
return res;
}
+
+void
+get_hostbased_client_buffer(gss_name_t client_name, gss_OID mech,
+ gss_buffer_t buf)
+{
+ char *hname;
+
+ if (!get_hostbased_client_name(client_name, mech, &hname)) {
+ buf->length = strlen(hname) + 1;
+ buf->value = hname;
+ } else {
+ buf->length = 0;
+ buf->value = NULL;
+ }
+}
@@ -32,3 +32,5 @@
extern int get_hostbased_client_name(gss_name_t client_name, gss_OID mech,
char **hostbased_name);
+extern void get_hostbased_client_buffer(gss_name_t client_name,
+ gss_OID mech, gss_buffer_t buf);
We'll need a gss_buffer_t to pass to the downcall marshalling code. Signed-off-by: Jeff Layton <jlayton@redhat.com> --- utils/gssd/gss_names.c | 15 +++++++++++++++ utils/gssd/gss_names.h | 2 ++ 2 files changed, 17 insertions(+)