From e4ca7e7301722eecc4783bd68c20b5430604038e Mon Sep 17 00:00:00 2001 From: dfr Date: Wed, 28 Nov 2007 08:50:20 +0000 Subject: Make sure GSS-API mechanisms are loaded if gss_acquire_cred is called with a null mechanism list. PR: misc/117349 Submitted by: Sean McNeil --- lib/libgssapi/gss_acquire_cred.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib/libgssapi') diff --git a/lib/libgssapi/gss_acquire_cred.c b/lib/libgssapi/gss_acquire_cred.c index e65bb27..ba8b8b1 100644 --- a/lib/libgssapi/gss_acquire_cred.c +++ b/lib/libgssapi/gss_acquire_cred.c @@ -59,8 +59,8 @@ gss_acquire_cred(OM_uint32 *minor_status, * First make sure that at least one of the requested * mechanisms is one that we support. */ + _gss_load_mech(); if (mechs) { - _gss_load_mech(); for (i = 0; i < mechs->count; i++) { int t; gss_test_oid_set_member(minor_status, @@ -73,6 +73,8 @@ gss_acquire_cred(OM_uint32 *minor_status, *minor_status = 0; return (GSS_S_BAD_MECH); } + } else { + mechs = _gss_mech_oids; } if (actual_mechs) { @@ -92,9 +94,6 @@ gss_acquire_cred(OM_uint32 *minor_status, cred->gc_usage = cred_usage; SLIST_INIT(&cred->gc_mc); - if (mechs == GSS_C_NO_OID_SET) - mechs = _gss_mech_oids; - set.count = 1; min_time = GSS_C_INDEFINITE; for (i = 0; i < mechs->count; i++) { -- cgit v1.1