summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--proxy/src/mechglue/gss_plugin.c24
-rw-r--r--proxy/src/mechglue/gss_plugin.h2
2 files changed, 26 insertions, 0 deletions
diff --git a/proxy/src/mechglue/gss_plugin.c b/proxy/src/mechglue/gss_plugin.c
index 834b68b..fd976a5 100644
--- a/proxy/src/mechglue/gss_plugin.c
+++ b/proxy/src/mechglue/gss_plugin.c
@@ -226,6 +226,30 @@ done:
return amechs;
}
+#define MAP_ERROR_BASE 0x04200000
+
+uint32_t gpm_map_error(uint32_t err)
+{
+ /* placeholder,
+ * we will need an actual map but to speed up testing just make a sum with
+ * a special base and hope no conflicts will happen in the mechglue */
+ if (err) {
+ err += MAP_ERROR_BASE;
+ }
+ return err;
+}
+
+uint32_t gpm_unmap_error(uint32_t err)
+{
+ /* placeholder,
+ * we will need an actual map but to speed up testing just make a sum with
+ * a special base and hope no conflicts will happen in the mechglue */
+ if (err) {
+ err -= MAP_ERROR_BASE;
+ }
+ return err;
+}
+
/*
gssi_acquire_cred
gssi_release_cred
diff --git a/proxy/src/mechglue/gss_plugin.h b/proxy/src/mechglue/gss_plugin.h
index a3d2b36..76ab9f3 100644
--- a/proxy/src/mechglue/gss_plugin.h
+++ b/proxy/src/mechglue/gss_plugin.h
@@ -33,5 +33,7 @@ extern const gss_OID_desc gssproxy_mech_interposer;
gss_OID_set gss_mech_interposer(gss_OID mech_type);
const gss_OID gpm_special_mech(const gss_OID mech_type);
gss_OID_set gpm_special_available_mechs(const gss_OID_set mechs);
+uint32_t gpm_map_error(uint32_t err);
+uint32_t gpm_unmap_error(uint32_t err);
#endif /* _GGS_PLUGIN_H_ */