]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/svcgssd_proc.c
Imported upstream 1.2.6
[nfs-utils.git] / utils / gssd / svcgssd_proc.c
index 7a916d718033e0cbf663e90a42e766640db57219..0d4f78d9668396aaebb05ab97804cfb1e8d5ed5a 100644 (file)
@@ -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;