add JSON utility class
[mech_eap.orig] / util_saml.cpp
index 2451c46..8722b84 100644 (file)
@@ -186,7 +186,7 @@ gss_eap_saml_assertion_provider::getAttributeTypes(gss_eap_attr_enumeration_cb a
 
     /* 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;
 
@@ -304,48 +304,16 @@ gss_eap_saml_assertion_provider::releaseAnyNameMapping(gss_buffer_t type_id GSSE
     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;
 }
 
@@ -464,7 +432,7 @@ gss_eap_saml_attr_provider::getAttributeTypes(gss_eap_attr_enumeration_cb addAtt
             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;
 
@@ -706,26 +674,16 @@ gss_eap_saml_attr_provider::releaseAnyNameMapping(gss_buffer_t type_id GSSEAP_UN
 {
 }
 
-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;
 }