diff options
author | Simo Sorce <simo@redhat.com> | 2012-08-31 15:23:25 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-09-14 16:33:21 -0400 |
commit | 2a5f01ee99c7c39defd4d98c77e6dc8a1384d69f (patch) | |
tree | eaaa910ba883886c1e33a8aa51bc2bd0a416853e | |
parent | 3fbedf17bc99aa8b43bc2a2f8c76c1ca3f1aca53 (diff) | |
download | gss-proxy-2a5f01ee99c7c39defd4d98c77e6dc8a1384d69f.tar.gz gss-proxy-2a5f01ee99c7c39defd4d98c77e6dc8a1384d69f.tar.xz gss-proxy-2a5f01ee99c7c39defd4d98c77e6dc8a1384d69f.zip |
Implement internal_release_oid
-rw-r--r-- | proxy/src/mechglue/gss_plugin.c | 26 | ||||
-rw-r--r-- | proxy/src/mechglue/gss_plugin.h | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/proxy/src/mechglue/gss_plugin.c b/proxy/src/mechglue/gss_plugin.c index f67eca4..b46ba33 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) diff --git a/proxy/src/mechglue/gss_plugin.h b/proxy/src/mechglue/gss_plugin.h index 7dcacec..15f8d76 100644 --- a/proxy/src/mechglue/gss_plugin.h +++ b/proxy/src/mechglue/gss_plugin.h @@ -68,6 +68,7 @@ uint32_t gpp_name_to_local(uint32_t *minor, gssx_name *name, gss_OID mech_type, gss_name_t *mech_name); uint32_t gpp_local_to_name(uint32_t *minor, gss_name_t local_name, gssx_name **name); +OM_uint32 gssi_internal_release_oid(OM_uint32 *minor_status, gss_OID *oid); OM_uint32 gssi_acquire_cred(OM_uint32 *minor_status, const gss_name_t desired_name, |