summaryrefslogtreecommitdiffstats
path: root/proxy/src/mechglue
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2012-08-31 15:23:25 -0400
committerSimo Sorce <simo@redhat.com>2012-10-25 15:53:30 -0400
commit76f4973f03e9149ee8040fa9a628e8470c23e5df (patch)
treebfb8312ed2987921a01f32feca873abb5132a985 /proxy/src/mechglue
parent72632725edd5e12bbb74e377b975700af527d971 (diff)
downloadgss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.tar.gz
gss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.tar.xz
gss-proxy-76f4973f03e9149ee8040fa9a628e8470c23e5df.zip
Implement internal_release_oid
Diffstat (limited to 'proxy/src/mechglue')
-rw-r--r--proxy/src/mechglue/gss_plugin.c26
-rw-r--r--proxy/src/mechglue/gss_plugin.h1
2 files changed, 27 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)
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,