/* just add the prefix */
if (m_assertion != NULL)
- ret = addAttribute(this, GSS_C_NO_BUFFER, data);
+ ret = addAttribute(m_manager, this, GSS_C_NO_BUFFER, data);
else
ret = true;
delete ((saml2::Assertion *)input);
}
-void
-gss_eap_saml_assertion_provider::exportToBuffer(gss_buffer_t buffer) const
-{
- ostringstream sink;
- string str;
-
- buffer->length = 0;
- buffer->value = NULL;
-
- if (m_assertion == NULL)
- return;
-
- sink << *m_assertion;
- str = sink.str();
-
- duplicateBuffer(str, buffer);
-}
-
-bool
-gss_eap_saml_assertion_provider::initFromBuffer(const gss_eap_attr_ctx *ctx,
- const gss_buffer_t buffer)
+const char *
+gss_eap_saml_assertion_provider::prefix(void) const
{
- if (!gss_eap_attr_provider::initFromBuffer(ctx, buffer))
- return false;
-
- if (buffer->length == 0)
- return true;
-
- assert(m_assertion == NULL);
-
- setAssertion(buffer);
- /* TODO XXX how to propagate authenticated flag? */
-
- return true;
+ return "urn:ietf:params:gss-eap:saml-aaa-assertion";
}
bool
gss_eap_saml_assertion_provider::init(void)
{
- gss_eap_attr_ctx::registerProvider(ATTR_TYPE_SAML_ASSERTION,
- "urn:ietf:params:gss-eap:saml-aaa-assertion",
- createAttrContext);
+ gss_eap_attr_ctx::registerProvider(ATTR_TYPE_SAML_ASSERTION, createAttrContext);
return true;
}
utf8.value = (void *)toUTF8(qualifiedName);
utf8.length = strlen((char *)utf8.value);
- ret = addAttribute(this, &utf8, data);
+ ret = addAttribute(m_manager, this, &utf8, data);
delete qualifiedName;
{
}
-void
-gss_eap_saml_attr_provider::exportToBuffer(gss_buffer_t buffer) const
-{
- buffer->length = 0;
- buffer->value = NULL;
-}
-
-bool
-gss_eap_saml_attr_provider::initFromBuffer(const gss_eap_attr_ctx *ctx,
- const gss_buffer_t buffer)
+const char *
+gss_eap_saml_attr_provider::prefix(void) const
{
- return gss_eap_attr_provider::initFromBuffer(ctx, buffer);
+ return "urn:ietf:params:gss-eap:saml-attr";
}
bool
gss_eap_saml_attr_provider::init(void)
{
- gss_eap_attr_ctx::registerProvider(ATTR_TYPE_SAML,
- "urn:ietf:params:gss-eap:saml-attr",
- createAttrContext);
+ gss_eap_attr_ctx::registerProvider(ATTR_TYPE_SAML, createAttrContext);
return true;
}