svn rev #23698: trunk/src/lib/gssapi/mechglue/
tlyu@MIT.EDU
tlyu at MIT.EDU
Fri Feb 5 15:52:42 EST 2010
http://src.mit.edu/fisheye/changelog/krb5/?cs=23698
Commit By: tlyu
Log Message:
ticket: 6601
tags: pullup
target_version: 1.8
Apply patch from Arlene Berry to handle the case where a mechanism
implements set_cred_option but does not implement the requested
option.
Changed Files:
U trunk/src/lib/gssapi/mechglue/g_set_cred_option.c
Modified: trunk/src/lib/gssapi/mechglue/g_set_cred_option.c
===================================================================
--- trunk/src/lib/gssapi/mechglue/g_set_cred_option.c 2010-02-05 03:43:54 UTC (rev 23697)
+++ trunk/src/lib/gssapi/mechglue/g_set_cred_option.c 2010-02-05 20:52:42 UTC (rev 23698)
@@ -45,6 +45,8 @@
gss_mechanism mech;
int i;
OM_uint32 status;
+ OM_uint32 mech_status;
+ OM_uint32 mech_minor_status;
if (minor_status == NULL)
return GSS_S_CALL_INACCESSIBLE_WRITE;
@@ -66,14 +68,20 @@
}
if (mech->gssspi_set_cred_option == NULL) {
- status = GSS_S_UNAVAILABLE;
continue;
}
- status = (mech->gssspi_set_cred_option)(minor_status,
+ mech_status = (mech->gssspi_set_cred_option)(&mech_minor_status,
union_cred->cred_array[i],
desired_object,
value);
+ if (mech_status == GSS_S_UNAVAILABLE) {
+ continue;
+ }
+ else {
+ status = mech_status;
+ *minor_status = mech_minor_status;
+ }
if (status != GSS_S_COMPLETE) {
map_error(minor_status, mech);
break;
More information about the cvs-krb5
mailing list