summaryrefslogtreecommitdiffstats
path: root/proxy
diff options
context:
space:
mode:
Diffstat (limited to 'proxy')
-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 ff85610..fcb3010 100644
--- a/proxy/src/mechglue/gss_plugin.c
+++ b/proxy/src/mechglue/gss_plugin.c
@@ -323,6 +323,30 @@ done:
return amechs;
}
+#define MAP_ERROR_BASE 0x04200000
+
+uint32_t gpp_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 gpp_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 a45d217..f16bc95 100644
--- a/proxy/src/mechglue/gss_plugin.h
+++ b/proxy/src/mechglue/gss_plugin.h
@@ -42,5 +42,7 @@ gss_OID_set gss_mech_interposer(gss_OID mech_type);
enum gpp_behavior gpp_get_behavior(void);
const gss_OID gpp_special_mech(const gss_OID mech_type);
gss_OID_set gpp_special_available_mechs(const gss_OID_set mechs);
+uint32_t gpp_map_error(uint32_t err);
+uint32_t gpp_unmap_error(uint32_t err);
#endif /* _GGS_PLUGIN_H_ */