Always try to fetch cred (even with GSS_C_NO_NAME).

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@22129 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2007-12-04 01:13:13 +00:00
parent e53ec599a7
commit 3dfec628f2

View File

@@ -131,18 +131,19 @@ acquire_cred_service(const char *service,
gss_cred_id_t cred_handle;
OM_uint32 time_rec;
gss_buffer_desc name_buffer;
gss_name_t name;
name_buffer.value = rk_UNCONST(service);
name_buffer.length = strlen(service);
major_status = gss_import_name(&minor_status,
&name_buffer,
nametype,
&name);
if (GSS_ERROR(major_status))
errx(1, "import_name failed");
gss_name_t name = GSS_C_NO_NAME;
if (service) {
name_buffer.value = rk_UNCONST(service);
name_buffer.length = strlen(service);
major_status = gss_import_name(&minor_status,
&name_buffer,
nametype,
&name);
if (GSS_ERROR(major_status))
errx(1, "import_name failed");
}
major_status = gss_acquire_cred(&minor_status,
name,
@@ -160,7 +161,8 @@ acquire_cred_service(const char *service,
gss_release_cred(&minor_status, &cred_handle);
}
gss_release_name(&minor_status, &name);
if (name != GSS_C_NO_NAME)
gss_release_name(&minor_status, &name);
if (GSS_ERROR(major_status))
exit(1);
@@ -245,8 +247,7 @@ main(int argc, char **argv)
gssapi_err(major_status, minor_status, GSS_C_NO_OID));
}
if (acquire_name)
acquire_cred_service(acquire_name, type, flag);
acquire_cred_service(acquire_name, type, flag);
return 0;
}