diff options
author | Simo Sorce <simo@redhat.com> | 2012-08-31 15:23:25 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-10-25 15:53:30 -0400 |
commit | 76f4973f03e9149ee8040fa9a628e8470c23e5df (patch) | |
tree | bfb8312ed2987921a01f32feca873abb5132a985 /proxy/src/mechglue/gss_plugin.c | |
parent | 72632725edd5e12bbb74e377b975700af527d971 (diff) | |
download | gss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.tar.gz gss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.tar.xz gss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.zip |
Implement internal_release_oid
Diffstat (limited to 'proxy/src/mechglue/gss_plugin.c')
-rw-r--r-- | proxy/src/mechglue/gss_plugin.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/proxy/src/mechglue/gss_plugin.c b/proxy/src/mechglue/gss_plugin.c index 31ace12..4f7ad62 100644 --- a/proxy/src/mechglue/gss_plugin.c +++ b/proxy/src/mechglue/gss_plugin.c @@ -342,6 +342,32 @@ done: return amechs; } +OM_uint32 gssi_internal_release_oid(OM_uint32 *minor_status, gss_OID *oid) +{ + struct gpp_special_oid_list *item = NULL; + + *minor_status = 0; + + if (&gssproxy_mech_interposer == *oid) { + *oid = GSS_C_NO_OID; + return GSS_S_COMPLETE; + } + + item = gpp_get_special_oids(); + + while (item) { + if (&item->oid == *oid) { + *oid = GSS_C_NO_OID; + return GSS_S_COMPLETE; + } + item = gpp_next_special_oids(item); + } + + /* none matched, it's not ours */ + return GSS_S_CONTINUE_NEEDED; +} + + #define MAP_ERROR_BASE 0x04200000 uint32_t gpp_map_error(uint32_t err) |