/*
- * Copyright 2010 JANET(UK)
+ * Copyright 2010-2011 JANET(UK)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include <string>
#include <vector>
+#ifdef SHIBRESOLVER_HAVE_GSSGNU
+# include <gss.h>
+#elif defined SHIBRESOLVER_HAVE_GSSMIT
+# include <gssapi/gssapi.h>
+# include <gssapi/gssapi_generic.h>
+#else
+# include <gssapi.h>
+#endif
+
namespace xmltooling {
class XMLTOOL_API XMLObject;
};
*/
void addToken(const xmltooling::XMLObject* token);
+#ifdef SHIBRESOLVER_HAVE_GSSAPI
+ /**
+ * Adds a GSS-API security context as input to the resolver.
+ * <p>The caller loses ownership of the context.
+ *
+ * @param ctx an input context to evaluate
+ */
+ void addToken(gss_ctx_id_t* ctx);
+
+ /**
+ * Adds a GSS-API exported security context as input to
+ * the resolver.
+ * <p>The caller retains ownership of the buffer.
+ *
+ * @param ctx an input exported security context to evaluate
+ */
+ void addToken(const gss_buffer_t token);
+
+# ifndef SHIBRESOLVER_HAVE_GSSAPI_COMPOSITE_NAME
+ /**
+ * Adds a GSS-API mechanism name as input to the resolver.
+ * <p>The caller retains ownership of the name.
+ *
+ * @param name an input mechanism name to evaluate
+ */
+ void addToken(gss_name_t name);
+# endif
+#endif
+
/**
* Adds an Attribute as input to the resolver.
* <p>The caller retains ownership of the object.
private:
shibsp::ServiceProvider* m_sp;
+#ifdef SHIBRESOLVER_HAVE_GSSAPI
+ xmltooling::XMLObject* m_gsswrapper;
+#endif
std::vector<shibsp::Attribute*> m_resolvedAttributes;
};