X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=utils%2Fgssd%2Fsvcgssd_proc.c;h=0d4f78d9668396aaebb05ab97804cfb1e8d5ed5a;hb=020fc9855c69f74361a416be357fb882e80dcdd8;hp=7a916d718033e0cbf663e90a42e766640db57219;hpb=d6c1b35c6b40243bfd6fba2591c9f8f2653078c0;p=nfs-utils.git diff --git a/utils/gssd/svcgssd_proc.c b/utils/gssd/svcgssd_proc.c index 7a916d7..0d4f78d 100644 --- a/utils/gssd/svcgssd_proc.c +++ b/utils/gssd/svcgssd_proc.c @@ -56,6 +56,7 @@ #include "gss_util.h" #include "err_util.h" #include "context.h" +#include "misc.h" #include "gss_oids.h" #include "svcgssd_krb5.h" @@ -71,6 +72,7 @@ struct svc_cred { int cr_ngroups; gid_t cr_groups[NGROUPS]; }; +static char vbuf[RPC_CHAN_BUF_SIZE]; static int do_svc_downcall(gss_buffer_desc *out_handle, struct svc_cred *cred, @@ -92,6 +94,7 @@ do_svc_downcall(gss_buffer_desc *out_handle, struct svc_cred *cred, SVCGSSD_CONTEXT_CHANNEL, strerror(errno)); goto out_err; } + setvbuf(f, vbuf, _IOLBF, RPC_CHAN_BUF_SIZE); qword_printhex(f, out_handle->value, out_handle->length); /* XXX are types OK for the rest of this? */ /* For context cache, use the actual context endtime */ @@ -366,12 +369,8 @@ get_hostbased_client_name(gss_name_t client_name, gss_OID mech, if (g_OID_equal(&krb5oid, mech)) { if (get_krb5_hostbased_name(&name, &cname) == 0) *hostbased_name = cname; - } - - /* No support for SPKM3, just print a warning (for now) */ - if (g_OID_equal(&spkm3oid, mech)) { - printerr(1, "WARNING: get_hostbased_client_name: " - "no hostbased_name support for SPKM3\n"); + } else { + printerr(1, "WARNING: unknown/unsupport mech OID\n"); } res = 0;