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,8 +131,9 @@ acquire_cred_service(const char *service,
gss_cred_id_t cred_handle; gss_cred_id_t cred_handle;
OM_uint32 time_rec; OM_uint32 time_rec;
gss_buffer_desc name_buffer; gss_buffer_desc name_buffer;
gss_name_t name; gss_name_t name = GSS_C_NO_NAME;
if (service) {
name_buffer.value = rk_UNCONST(service); name_buffer.value = rk_UNCONST(service);
name_buffer.length = strlen(service); name_buffer.length = strlen(service);
@@ -142,7 +143,7 @@ acquire_cred_service(const char *service,
&name); &name);
if (GSS_ERROR(major_status)) if (GSS_ERROR(major_status))
errx(1, "import_name failed"); errx(1, "import_name failed");
}
major_status = gss_acquire_cred(&minor_status, major_status = gss_acquire_cred(&minor_status,
name, name,
@@ -160,6 +161,7 @@ acquire_cred_service(const char *service,
gss_release_cred(&minor_status, &cred_handle); gss_release_cred(&minor_status, &cred_handle);
} }
if (name != GSS_C_NO_NAME)
gss_release_name(&minor_status, &name); gss_release_name(&minor_status, &name);
if (GSS_ERROR(major_status)) if (GSS_ERROR(major_status))
@@ -245,7 +247,6 @@ main(int argc, char **argv)
gssapi_err(major_status, minor_status, GSS_C_NO_OID)); 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; return 0;