]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - utils/gssd/gss_util.c
rpc.gssd: Squelch compiler warning
[nfs-utils.git] / utils / gssd / gss_util.c
index ee304cceb80a6bb27955424a9b07ab2c7d9d9060..2e6d40f0e7e128c06f632b666f3c91844fa87ef5 100644 (file)
@@ -95,7 +95,7 @@
 /* Global gssd_credentials handle */
 gss_cred_id_t gssd_creds;
 
-gss_OID g_mechOid = GSS_C_NULL_OID;;
+gss_OID g_mechOid = GSS_C_NULL_OID;
 
 #if 0
 static void
@@ -252,7 +252,8 @@ display_status_2(char *m, u_int32_t major, u_int32_t minor, const gss_OID mech)
 
        if (major == GSS_S_CREDENTIALS_EXPIRED)
                msg_verbosity = 1;
-       printerr(msg_verbosity, "ERROR: GSS-API: error in %s(): %s (%s) - %s(%s)\n",
+
+       printerr(msg_verbosity, "ERROR: GSS-API: error in %s(): %s (%s) - %s\n",
                 m, gss_display_error(major), maj, min);
 
        if (maj_gss_buf.length != 0)
@@ -276,20 +277,25 @@ gssd_acquire_cred(char *server_name, const gss_OID oid)
        u_int32_t ignore_maj_stat, ignore_min_stat;
        gss_buffer_desc pbuf;
 
-       name.value = (void *)server_name;
-       name.length = strlen(server_name);
+       /* If server_name is NULL, get cred for GSS_C_NO_NAME */
+       if (server_name == NULL) {
+               target_name = GSS_C_NO_NAME;
+       } else {
+               name.value = (void *)server_name;
+               name.length = strlen(server_name);
 
-       maj_stat = gss_import_name(&min_stat, &name,
-                       oid,
-                       &target_name);
+               maj_stat = gss_import_name(&min_stat, &name,
+                               oid,
+                               &target_name);
 
-       if (maj_stat != GSS_S_COMPLETE) {
-               pgsserr("gss_import_name", maj_stat, min_stat, g_mechOid);
-               return (FALSE);
+               if (maj_stat != GSS_S_COMPLETE) {
+                       pgsserr("gss_import_name", maj_stat, min_stat, g_mechOid);
+                       return (FALSE);
+               }
        }
 
-       maj_stat = gss_acquire_cred(&min_stat, target_name, 0,
-                       GSS_C_NULL_OID_SET, GSS_C_ACCEPT,
+       maj_stat = gss_acquire_cred(&min_stat, target_name, GSS_C_INDEFINITE,
+                       GSS_C_NO_OID_SET, GSS_C_ACCEPT,
                        &gssd_creds, NULL, NULL);
 
        if (maj_stat != GSS_S_COMPLETE) {