summaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-05-02 20:58:33 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-05-02 20:58:33 +0000
commit15fe54cf78177b462ffbbbca46db568470eef0cb (patch)
tree8e10f7dc03791dfa5b02e09a8c1a48e4215d7639 /python
parent071ee4be43259b82ee49b6a7c49049e29f76ac16 (diff)
downloadlasso-15fe54cf78177b462ffbbbca46db568470eef0cb.tar.gz
lasso-15fe54cf78177b462ffbbbca46db568470eef0cb.tar.xz
lasso-15fe54cf78177b462ffbbbca46db568470eef0cb.zip
Initial commit
Diffstat (limited to 'python')
-rw-r--r--python/protocols/elements/py_assertion.c59
-rw-r--r--python/protocols/elements/py_assertion.h41
-rw-r--r--python/protocols/elements/py_authentication_statement.c77
-rw-r--r--python/protocols/elements/py_authentication_statement.h41
-rw-r--r--python/protocols/py_authn_response.c167
-rw-r--r--python/protocols/py_authn_response.h47
-rw-r--r--python/xml/py_lib_authn_request.c104
-rw-r--r--python/xml/py_lib_authn_request.h44
-rw-r--r--python/xml/py_lib_federation_termination_notification.c68
-rw-r--r--python/xml/py_lib_federation_termination_notification.h42
-rw-r--r--python/xml/py_lib_logout_request.c140
-rw-r--r--python/xml/py_lib_logout_request.h46
-rw-r--r--python/xml/py_lib_name_identifier_mapping_request.c68
-rw-r--r--python/xml/py_lib_name_identifier_mapping_request.h42
-rw-r--r--python/xml/py_lib_register_name_identifier_request.c68
-rw-r--r--python/xml/py_lib_register_name_identifier_request.h42
-rw-r--r--python/xml/py_saml_assertion.c68
-rw-r--r--python/xml/py_saml_assertion.h42
-rw-r--r--python/xml/py_saml_authentication_statement.c50
-rw-r--r--python/xml/py_saml_authentication_statement.h41
-rw-r--r--python/xml/py_saml_name_identifier.c94
-rw-r--r--python/xml/py_saml_name_identifier.h43
22 files changed, 1434 insertions, 0 deletions
diff --git a/python/protocols/elements/py_assertion.c b/python/protocols/elements/py_assertion.c
new file mode 100644
index 00000000..8d7584e4
--- /dev/null
+++ b/python/protocols/elements/py_assertion.c
@@ -0,0 +1,59 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../../lassomod.h"
+
+#include "py_assertion.h"
+
+PyObject *LassoAssertion_wrap(LassoAssertion *assertion) {
+ PyObject *ret;
+
+ if (assertion == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) assertion,
+ (char *) "LassoAssertion *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *assertion_new(PyObject *self, PyObject *args) {
+ const xmlChar *issuer;
+ xmlChar *requestID;
+ LassoNode *assertion;
+
+ if (CheckArgs(args, "SS:assertion_new")) {
+ if(!PyArg_ParseTuple(args, (char *) "ss:assertion_new",
+ &issuer, &requestID))
+ return NULL;
+ }
+ else return NULL;
+
+ assertion = lasso_assertion_new(issuer, requestID);
+
+ return (LassoAssertion_wrap(LASSO_ASSERTION(assertion)));
+}
diff --git a/python/protocols/elements/py_assertion.h b/python/protocols/elements/py_assertion.h
new file mode 100644
index 00000000..df8c3afe
--- /dev/null
+++ b/python/protocols/elements/py_assertion.h
@@ -0,0 +1,41 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_ASSERTION_H__
+#define __PYLASSO_PY_ASSERTION_H__
+
+#include <lasso/protocols/elements/assertion.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoAssertion *obj;
+} LassoAssertion_object;
+
+#define LassoAssertion_get(v) (((v) == Py_None) ? NULL : (((LassoAssertion_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoAssertion_wrap(LassoAssertion *assertion);
+
+PyObject *assertion_new(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_ASSERTION_H__ */
diff --git a/python/protocols/elements/py_authentication_statement.c b/python/protocols/elements/py_authentication_statement.c
new file mode 100644
index 00000000..16ed4e13
--- /dev/null
+++ b/python/protocols/elements/py_authentication_statement.c
@@ -0,0 +1,77 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../../lassomod.h"
+
+#include "py_authentication_statement.h"
+
+PyObject *LassoAuthenticationStatement_wrap(LassoAuthenticationStatement *statement) {
+ PyObject *ret;
+
+ if (statement == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) statement,
+ (char *) "LassoAuthenticationStatement *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *authentication_statement_new(PyObject *self, PyObject *args) {
+ const xmlChar *authenticationMethod;
+ const xmlChar *sessionIndex;
+ const xmlChar *reauthenticateOnOrAfter;
+ xmlChar *nameIdentifier;
+ const xmlChar *nameQualifier;
+ const xmlChar *format;
+ xmlChar *idp_nameIdentifier;
+ const xmlChar *idp_nameQualifier;
+ const xmlChar *idp_format;
+ const xmlChar *confirmationMethod;
+ LassoNode *statement;
+
+ if(!PyArg_ParseTuple(args, (char *) "ssssssssss:authentication_statement_new",
+ &authenticationMethod, &sessionIndex,
+ &reauthenticateOnOrAfter,
+ &nameIdentifier, &nameQualifier, &format,
+ &idp_nameIdentifier, &idp_nameQualifier, &idp_format,
+ &confirmationMethod))
+ return NULL;
+
+ statement = lasso_authentication_statement_new(authenticationMethod,
+ sessionIndex,
+ reauthenticateOnOrAfter,
+ nameIdentifier,
+ nameQualifier,
+ format,
+ idp_nameIdentifier,
+ idp_nameQualifier,
+ idp_format,
+ confirmationMethod);
+
+ return (LassoAuthenticationStatement_wrap(LASSO_AUTHENTICATION_STATEMENT(statement)));
+}
diff --git a/python/protocols/elements/py_authentication_statement.h b/python/protocols/elements/py_authentication_statement.h
new file mode 100644
index 00000000..2f7641e4
--- /dev/null
+++ b/python/protocols/elements/py_authentication_statement.h
@@ -0,0 +1,41 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_AUTHENTICATION_STATEMENT_H__
+#define __PYLASSO_PY_AUTHENTICATION_STATEMENT_H__
+
+#include <lasso/protocols/elements/authentication_statement.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoAuthenticationStatement *obj;
+} LassoAuthenticationStatement_object;
+
+#define LassoAuthenticationStatement_get(v) (((v) == Py_None) ? NULL : (((LassoAuthenticationStatement_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoAuthenticationStatement_wrap(LassoAuthenticationStatement *statement);
+
+PyObject *authentication_statement_new(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_AUTHENTICATION_STATEMENT_H__ */
diff --git a/python/protocols/py_authn_response.c b/python/protocols/py_authn_response.c
new file mode 100644
index 00000000..69cf9653
--- /dev/null
+++ b/python/protocols/py_authn_response.c
@@ -0,0 +1,167 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "../xml/py_xml.h"
+#include "py_authn_response.h"
+
+/******************************************************************************/
+/* LassoAuthnResponse */
+/******************************************************************************/
+
+PyObject *LassoAuthnResponse_wrap(LassoAuthnResponse *response) {
+ PyObject *ret;
+
+ if (response == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) response,
+ (char *) "LassoAuthnResponse *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *authn_response_getattr(PyObject *self, PyObject *args) {
+ PyObject *reponse_obj;
+ LassoAuthnResponse *reponse;
+ const char *attr;
+
+ if (CheckArgs(args, "OS:authn_response_get_attr")) {
+ if (!PyArg_ParseTuple(args, "Os:authn_response_get_attr", &reponse_obj, &attr))
+ return NULL;
+ }
+ else return NULL;
+
+ reponse = LassoAuthnResponse_get(reponse_obj);
+
+ if (!strcmp(attr, "__members__"))
+ return Py_BuildValue("[ss]", "requestID", "query");
+ if (!strcmp(attr, "requestID"))
+ return (xmlCharPtr_wrap(reponse->requestID));
+ if (!strcmp(attr, "query"))
+ return (xmlCharPtr_wrap(reponse->query));
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+/******************************************************************************/
+
+PyObject *authn_response_new(PyObject *self, PyObject *args) {
+ xmlChar *query;
+ const xmlChar *providerID;
+ LassoNode *response;
+
+ if (CheckArgs(args, "SS:authn_response_new")) {
+ if(!PyArg_ParseTuple(args, (char *) "ss:authn_response_new", &query,
+ &providerID))
+ return NULL;
+ }
+ else return NULL;
+
+ response = lasso_authn_response_new(query, providerID);
+
+ return (LassoAuthnResponse_wrap(LASSO_AUTHN_RESPONSE(response)));
+}
+
+PyObject *authn_response_add_assertion(PyObject *self, PyObject *args) {
+ PyObject *response_obj, *assertion_obj;
+ const xmlChar *private_key_file;
+ const xmlChar *certificate_file;
+
+ if (CheckArgs(args, "OOSS:authn_response_add_assertion")) {
+ if(!PyArg_ParseTuple(args, (char *) "OOss:authn_response_add_assertion",
+ &response_obj, &assertion_obj,
+ &private_key_file, &certificate_file))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_authn_response_add_assertion(LassoAuthnResponse_get(response_obj),
+ LassoAssertion_get(assertion_obj),
+ private_key_file,
+ certificate_file);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *authn_response_must_authenticate(PyObject *self, PyObject *args) {
+ PyObject *response_obj;
+ gboolean is_authenticated;
+ gboolean ret;
+
+ if (CheckArgs(args, "OI:authn_response_must_authenticate")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oi:authn_response_must_authenticate",
+ &response_obj, &is_authenticated))
+ return NULL;
+ }
+ else return NULL;
+
+ ret = lasso_authn_response_must_authenticate(LassoAuthnResponse_get(response_obj),
+ is_authenticated);
+
+ return (int_wrap(ret));
+}
+
+PyObject *authn_response_process_authentication_result(PyObject *self, PyObject *args) {
+ PyObject *response_obj;
+ gboolean authentication_result;
+
+ if (CheckArgs(args, "OI:authn_response_process_authentication_result")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oi:authn_response_process_authentication_result",
+ &response_obj, &authentication_result))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_authn_response_process_authentication_result(LassoAuthnResponse_get(response_obj),
+ authentication_result);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *authn_response_verify_signature(PyObject *self, PyObject *args) {
+ PyObject *response_obj;
+ xmlChar *public_key_file;
+ xmlChar *private_key_file;
+ gboolean ret;
+
+ if (CheckArgs(args, "OSS:authn_response_verify_signature")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oss:authn_response_verify_signature",
+ &response_obj, &public_key_file, &private_key_file))
+ return NULL;
+ }
+ else return NULL;
+
+ ret = lasso_authn_response_verify_signature(LassoAuthnResponse_get(response_obj),
+ public_key_file, private_key_file);
+
+ return (int_wrap(ret));
+}
diff --git a/python/protocols/py_authn_response.h b/python/protocols/py_authn_response.h
new file mode 100644
index 00000000..fe85e839
--- /dev/null
+++ b/python/protocols/py_authn_response.h
@@ -0,0 +1,47 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_AUTHN_RESPONSE_H__
+#define __PYLASSO_PY_AUTHN_RESPONSE_H__
+
+#include <lasso/protocols/authn_response.h>
+#include "elements/py_assertion.h"
+
+typedef struct {
+ PyObject_HEAD
+ LassoAuthnResponse *obj;
+} LassoAuthnResponse_object;
+
+#define LassoAuthnResponse_get(v) (((v) == Py_None) ? NULL : (((LassoAuthnResponse_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoAuthnResponse_wrap(LassoAuthnResponse *response);
+
+PyObject *authn_response_getattr(PyObject *self, PyObject *args);
+PyObject *authn_response_new(PyObject *self, PyObject *args);
+PyObject *authn_response_add_assertion(PyObject *self, PyObject *args);
+PyObject *authn_response_must_authenticate(PyObject *self, PyObject *args);
+PyObject *authn_response_process_authentication_result(PyObject *self, PyObject *args);
+PyObject *authn_response_verify_signature(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_AUTHN_RESPONSE_H__ */
diff --git a/python/xml/py_lib_authn_request.c b/python/xml/py_lib_authn_request.c
new file mode 100644
index 00000000..1b1d2185
--- /dev/null
+++ b/python/xml/py_lib_authn_request.c
@@ -0,0 +1,104 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_lib_authn_request.h"
+
+PyObject *LassoLibAuthnRequest_wrap(LassoLibAuthnRequest *request) {
+ PyObject *ret;
+
+ if (request == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) request,
+ (char *) "LassoLibAuthnRequest *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *lib_authn_request_new(PyObject *self, PyObject *args) {
+ LassoNode *request;
+
+ request = lasso_lib_authn_request_new();
+
+ return (LassoLibAuthnRequest_wrap(LASSO_LIB_AUTHN_REQUEST(request)));
+}
+
+PyObject *lib_authn_request_set_forceAuthn(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ gint forceAuthn;
+
+ if (CheckArgs(args, "OI:lib_authn_request_set_forceAuthn")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oi:lib_authn_request_set_forceAuthn",
+ &node_obj, &forceAuthn))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_authn_request_set_forceAuthn(LassoLibAuthnRequest_get(node_obj),
+ forceAuthn);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_authn_request_set_isPassive(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ gint isPassive;
+
+ if (CheckArgs(args, "OI:lib_authn_request_set_isPassive")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oi:lib_authn_request_set_isPassive",
+ &node_obj, &isPassive))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_authn_request_set_isPassive(LassoLibAuthnRequest_get(node_obj),
+ isPassive);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_authn_request_set_protocolProfile(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *protocolProfile;
+
+ if (CheckArgs(args, "OS:lib_authn_request_set_protocolProfile")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_authn_request_set_protocolProfile",
+ &node_obj, &protocolProfile))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_authn_request_set_protocolProfile(LassoLibAuthnRequest_get(node_obj),
+ protocolProfile);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_lib_authn_request.h b/python/xml/py_lib_authn_request.h
new file mode 100644
index 00000000..a718c8bb
--- /dev/null
+++ b/python/xml/py_lib_authn_request.h
@@ -0,0 +1,44 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_LIB_AUTHN_REQUEST_H__
+#define __PYLASSO_PY_LIB_AUTHN_REQUEST_H__
+
+#include <lasso/xml/lib_authn_request.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoLibAuthnRequest *obj;
+} LassoLibAuthnRequest_object;
+
+#define LassoLibAuthnRequest_get(v) (((v) == Py_None) ? NULL : (((LassoLibAuthnRequest_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoLibAuthnRequest_wrap(LassoLibAuthnRequest *request);
+
+PyObject *lib_authn_request_new(PyObject *self, PyObject *args);
+PyObject *lib_authn_request_set_forceAuthn(PyObject *self, PyObject *args);
+PyObject *lib_authn_request_set_isPassive(PyObject *self, PyObject *args);
+PyObject *lib_authn_request_set_protocolProfile(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_LIB_AUTHN_REQUEST_H__ */
diff --git a/python/xml/py_lib_federation_termination_notification.c b/python/xml/py_lib_federation_termination_notification.c
new file mode 100644
index 00000000..750fc1cc
--- /dev/null
+++ b/python/xml/py_lib_federation_termination_notification.c
@@ -0,0 +1,68 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_lib_federation_termination_notification.h"
+
+PyObject *LassoLibFederationTerminationNotification_wrap(LassoLibFederationTerminationNotification *notification) {
+ PyObject *ret;
+
+ if (notification == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) notification,
+ (char *) "LassoLibFederationTerminationNotification *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *lib_federation_termination_notification_new(PyObject *self, PyObject *args) {
+ LassoNode *node;
+
+ node = lasso_lib_federation_termination_notification_new();
+
+ return (LassoLibFederationTerminationNotification_wrap(LASSO_LIB_FEDERATION_TERMINATION_NOTIFICATION(node)));
+}
+
+PyObject *lib_federation_termination_notification_set_consent(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *consent;
+
+ if (CheckArgs(args, "OS:lib_federation_termination_notification_set_consent")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_federation_termination_notification_set_consent",
+ &node_obj, &consent))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_federation_termination_notification_set_consent(LassoLibFederationTerminationNotification_get(node_obj),
+ consent);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_lib_federation_termination_notification.h b/python/xml/py_lib_federation_termination_notification.h
new file mode 100644
index 00000000..7e5c8997
--- /dev/null
+++ b/python/xml/py_lib_federation_termination_notification.h
@@ -0,0 +1,42 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_LIB_FEDERATION_TERMINATION_NOTIFICATION_H__
+#define __PYLASSO_PY_LIB_FEDERATION_TERMINATION_NOTIFICATION_H__
+
+#include <lasso/xml/lib_federation_termination_notification.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoLibFederationTerminationNotification *obj;
+} LassoLibFederationTerminationNotification_object;
+
+#define LassoLibFederationTerminationNotification_get(v) (((v) == Py_None) ? NULL : (((LassoLibFederationTerminationNotification_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoLibFederationTerminationNotification_wrap(LassoLibFederationTerminationNotification *notification);
+
+PyObject *lib_federation_termination_notification_new(PyObject *self, PyObject *args);
+PyObject *lib_federation_termination_notification_set_consent(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_LIB_FEDERATION_TERMINATION_NOTIFICATION_H__ */
diff --git a/python/xml/py_lib_logout_request.c b/python/xml/py_lib_logout_request.c
new file mode 100644
index 00000000..dc6e2bb3
--- /dev/null
+++ b/python/xml/py_lib_logout_request.c
@@ -0,0 +1,140 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_lib_logout_request.h"
+#include "py_saml_name_identifier.h"
+
+PyObject *LassoLibLogoutRequest_wrap(LassoLibLogoutRequest *request) {
+ PyObject *ret;
+
+ if (request == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) request,
+ (char *) "LassoLibLogoutRequest *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *lib_logout_request_new(PyObject *self, PyObject *args) {
+ LassoNode *request;
+
+ request = lasso_lib_logout_request_new();
+
+ return (LassoLibLogoutRequest_wrap(LASSO_LIB_LOGOUT_REQUEST(request)));
+}
+
+PyObject *lib_logout_request_set_consent(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *consent;
+
+ if (CheckArgs(args, "OS:lib_logout_request_set_consent")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_logout_request_set_consent",
+ &node_obj, &consent))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_logout_request_set_consent(LassoLibLogoutRequest_get(node_obj),
+ consent);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_logout_request_set_nameIdentifier(PyObject *self, PyObject *args) {
+ PyObject *node_obj, *nameIdentifier_obj;
+
+ if (CheckArgs(args, "OO:lib_logout_request_set_nameIdentifier")) {
+ if(!PyArg_ParseTuple(args, (char *) "OO:lib_logout_request_set_nameIdentifier",
+ &node_obj, &nameIdentifier_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_logout_request_set_nameIdentifier(LassoLibLogoutRequest_get(node_obj),
+ LassoSamlNameIdentifier_get(nameIdentifier_obj));
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_logout_request_set_providerID(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *providerID;
+
+ if (CheckArgs(args, "OS:lib_logout_request_set_providerID")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_logout_request_set_providerID",
+ &node_obj, &providerID))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_logout_request_set_providerID(LassoLibLogoutRequest_get(node_obj),
+ providerID);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_logout_request_set_relayState(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *relayState;
+
+ if (CheckArgs(args, "OS:lib_logout_request_set_relayState")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_logout_request_set_relayState",
+ &node_obj, &relayState))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_logout_request_set_relayState(LassoLibLogoutRequest_get(node_obj),
+ relayState);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *lib_logout_request_set_sessionIndex(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *sessionIndex;
+
+ if (CheckArgs(args, "OS:lib_logout_request_set_sessionIndex")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_logout_request_set_sessionIndex",
+ &node_obj, &sessionIndex))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_logout_request_set_sessionIndex(LassoLibLogoutRequest_get(node_obj),
+ sessionIndex);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_lib_logout_request.h b/python/xml/py_lib_logout_request.h
new file mode 100644
index 00000000..ca37d120
--- /dev/null
+++ b/python/xml/py_lib_logout_request.h
@@ -0,0 +1,46 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_LIB_LOGOUT_REQUEST_H__
+#define __PYLASSO_PY_LIB_LOGOUT_REQUEST_H__
+
+#include <lasso/xml/lib_logout_request.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoLibLogoutRequest *obj;
+} LassoLibLogoutRequest_object;
+
+#define LassoLibLogoutRequest_get(v) (((v) == Py_None) ? NULL : (((LassoLibLogoutRequest_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoLibLogoutRequest_wrap(LassoLibLogoutRequest *request);
+
+PyObject *lib_logout_request_new(PyObject *self, PyObject *args);
+PyObject *lib_logout_request_set_consent(PyObject *self, PyObject *args);
+PyObject *lib_logout_request_set_nameIdentifier(PyObject *self, PyObject *args);
+PyObject *lib_logout_request_set_providerID(PyObject *self, PyObject *args);
+PyObject *lib_logout_request_set_relayState(PyObject *self, PyObject *args);
+PyObject *lib_logout_request_set_sessionIndex(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_LIB_LOGOUT_REQUEST_H__ */
diff --git a/python/xml/py_lib_name_identifier_mapping_request.c b/python/xml/py_lib_name_identifier_mapping_request.c
new file mode 100644
index 00000000..0d26274f
--- /dev/null
+++ b/python/xml/py_lib_name_identifier_mapping_request.c
@@ -0,0 +1,68 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_lib_name_identifier_mapping_request.h"
+
+PyObject *LassoLibNameIdentifierMappingRequest_wrap(LassoLibNameIdentifierMappingRequest *request) {
+ PyObject *ret;
+
+ if (request == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) request,
+ (char *) "LassoLibNameIdentifierMappingRequest *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *lib_name_identifier_mapping_request_new(PyObject *self, PyObject *args) {
+ LassoNode *node;
+
+ node = lasso_lib_name_identifier_mapping_request_new();
+
+ return (LassoLibNameIdentifierMappingRequest_wrap(LASSO_LIB_NAME_IDENTIFIER_MAPPING_REQUEST(node)));
+}
+
+PyObject *lib_name_identifier_mapping_request_set_consent(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *consent;
+
+ if (CheckArgs(args, "OS:lib_name_identifier_mapping_request_set_consent")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_name_identifier_mapping_request_set_consent",
+ &node_obj, &consent))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_name_identifier_mapping_request_set_consent(LassoLibNameIdentifierMappingRequest_get(node_obj),
+ consent);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_lib_name_identifier_mapping_request.h b/python/xml/py_lib_name_identifier_mapping_request.h
new file mode 100644
index 00000000..2d520fef
--- /dev/null
+++ b/python/xml/py_lib_name_identifier_mapping_request.h
@@ -0,0 +1,42 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_LIB_NAME_IDENTIFIER_MAPPING_REQUEST_H__
+#define __PYLASSO_PY_LIB_NAME_IDENTIFIER_MAPPING_REQUEST_H__
+
+#include <lasso/xml/lib_name_identifier_mapping_request.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoLibNameIdentifierMappingRequest *obj;
+} LassoLibNameIdentifierMappingRequest_object;
+
+#define LassoLibNameIdentifierMappingRequest_get(v) (((v) == Py_None) ? NULL : (((LassoLibNameIdentifierMappingRequest_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoLibNameIdentifierMappingRequest_wrap(LassoLibNameIdentifierMappingRequest *request);
+
+PyObject *lib_name_identifier_mapping_request_new(PyObject *self, PyObject *args);
+PyObject *lib_name_identifier_mapping_request_set_consent(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_LIB_NAME_IDENTIFIER_MAPPING_REQUEST_H__ */
diff --git a/python/xml/py_lib_register_name_identifier_request.c b/python/xml/py_lib_register_name_identifier_request.c
new file mode 100644
index 00000000..da340b4c
--- /dev/null
+++ b/python/xml/py_lib_register_name_identifier_request.c
@@ -0,0 +1,68 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_lib_register_name_identifier_request.h"
+
+PyObject *LassoLibRegisterNameIdentifierRequest_wrap(LassoLibRegisterNameIdentifierRequest *request) {
+ PyObject *ret;
+
+ if (request == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) request,
+ (char *) "LassoLibRegisterNameIdentifierRequest *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *lib_register_name_identifier_request_new(PyObject *self, PyObject *args) {
+ LassoNode *node;
+
+ node = lasso_lib_register_name_identifier_request_new();
+
+ return (LassoLibRegisterNameIdentifierRequest_wrap(LASSO_LIB_REGISTER_NAME_IDENTIFIER_REQUEST(node)));
+}
+
+PyObject *lib_register_name_identifier_request_set_relayState(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *relayState;
+
+ if (CheckArgs(args, "OS:lib_register_name_identifier_request_set_relayState")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:lib_register_name_identifier_request_set_relayState",
+ &node_obj, &relayState))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_lib_register_name_identifier_request_set_relayState(LassoLibRegisterNameIdentifierRequest_get(node_obj),
+ relayState);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_lib_register_name_identifier_request.h b/python/xml/py_lib_register_name_identifier_request.h
new file mode 100644
index 00000000..2fbcfceb
--- /dev/null
+++ b/python/xml/py_lib_register_name_identifier_request.h
@@ -0,0 +1,42 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Author: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_LIB_REGISTER_NAME_IDENTIFIER_REQUEST_H__
+#define __PYLASSO_PY_LIB_REGISTER_NAME_IDENTIFIER_REQUEST_H__
+
+#include <lasso/xml/lib_register_name_identifier_request.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoLibRegisterNameIdentifierRequest *obj;
+} LassoLibRegisterNameIdentifierRequest_object;
+
+#define LassoLibRegisterNameIdentifierRequest_get(v) (((v) == Py_None) ? NULL : (((LassoLibRegisterNameIdentifierRequest_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoLibRegisterNameIdentifierRequest_wrap(LassoLibRegisterNameIdentifierRequest *request);
+
+PyObject *lib_register_name_identifier_request_new(PyObject *self, PyObject *args);
+PyObject *lib_register_name_identifier_request_set_relayState(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_LIB_REGISTER_NAME_IDENTIFIER_REQUEST_H__ */
diff --git a/python/xml/py_saml_assertion.c b/python/xml/py_saml_assertion.c
new file mode 100644
index 00000000..1954fdec
--- /dev/null
+++ b/python/xml/py_saml_assertion.c
@@ -0,0 +1,68 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_saml_assertion.h"
+#include "py_saml_authentication_statement.h"
+
+PyObject *LassoSamlAssertion_wrap(LassoSamlAssertion *node) {
+ PyObject *ret;
+
+ if (node == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) node,
+ (char *) "LassoSamlAssertion *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *saml_assertion_new(PyObject *self, PyObject *args) {
+ LassoNode *node;
+
+ node = lasso_saml_assertion_new();
+
+ return (LassoSamlAssertion_wrap(LASSO_SAML_ASSERTION(node)));
+}
+
+PyObject *saml_assertion_add_authenticationStatement(PyObject *self, PyObject *args) {
+ PyObject *node_obj, *authenticationStatement_obj;
+
+ if (CheckArgs(args, "OO:saml_assertion_add_authenticationStatement")) {
+ if(!PyArg_ParseTuple(args, (char *) "OO:saml_assertion_add_authenticationStatement",
+ &node_obj, &authenticationStatement_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_saml_assertion_add_authenticationStatement(LassoSamlAssertion_get(node_obj),
+ LassoSamlAuthenticationStatement_get(authenticationStatement_obj));
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_saml_assertion.h b/python/xml/py_saml_assertion.h
new file mode 100644
index 00000000..91cd5129
--- /dev/null
+++ b/python/xml/py_saml_assertion.h
@@ -0,0 +1,42 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_SAML_ASSERTION_H__
+#define __PYLASSO_PY_SAML_ASSERTION_H__
+
+#include <lasso/xml/saml_assertion.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoSamlAssertion *obj;
+} LassoSamlAssertion_object;
+
+#define LassoSamlAssertion_get(v) (((v) == Py_None) ? NULL : (((LassoSamlAssertion_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoSamlAssertion_wrap(LassoSamlAssertion *assertion);
+
+PyObject *saml_assertion_new(PyObject *self, PyObject *args);
+PyObject *saml_assertion_add_authenticationStatement(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_SAML_ASSERTION_H__ */
diff --git a/python/xml/py_saml_authentication_statement.c b/python/xml/py_saml_authentication_statement.c
new file mode 100644
index 00000000..2726d6a2
--- /dev/null
+++ b/python/xml/py_saml_authentication_statement.c
@@ -0,0 +1,50 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_saml_authentication_statement.h"
+
+PyObject *LassoSamlAuthenticationStatement_wrap(LassoSamlAuthenticationStatement *node) {
+ PyObject *ret;
+
+ if (node == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) node,
+ (char *) "LassoSamlAuthenticationStatement *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *saml_authentication_statement_new(PyObject *self, PyObject *args) {
+ LassoNode *node;
+
+ node = lasso_saml_authentication_statement_new();
+
+ return (LassoSamlAuthenticationStatement_wrap(LASSO_SAML_AUTHENTICATION_STATEMENT(node)));
+}
diff --git a/python/xml/py_saml_authentication_statement.h b/python/xml/py_saml_authentication_statement.h
new file mode 100644
index 00000000..6868adee
--- /dev/null
+++ b/python/xml/py_saml_authentication_statement.h
@@ -0,0 +1,41 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_SAML_AUTHENTICATION_STATEMENT_H__
+#define __PYLASSO_PY_SAML_AUTHENTICATION_STATEMENT_H__
+
+#include <lasso/xml/saml_authentication_statement.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoSamlAuthenticationStatement *obj;
+} LassoSamlAuthenticationStatement_object;
+
+#define LassoSamlAuthenticationStatement_get(v) (((v) == Py_None) ? NULL : (((LassoSamlAuthenticationStatement_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoSamlAuthenticationStatement_wrap(LassoSamlAuthenticationStatement *statement);
+
+PyObject *saml_authentication_statement_new(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_SAML_AUTHENTICATION_STATEMENT_H__ */
diff --git a/python/xml/py_saml_name_identifier.c b/python/xml/py_saml_name_identifier.c
new file mode 100644
index 00000000..274cf243
--- /dev/null
+++ b/python/xml/py_saml_name_identifier.c
@@ -0,0 +1,94 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "../lassomod.h"
+
+#include "py_saml_name_identifier.h"
+
+PyObject *LassoSamlNameIdentifier_wrap(LassoSamlNameIdentifier *node) {
+ PyObject *ret;
+
+ if (node == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret = PyCObject_FromVoidPtrAndDesc((void *) node,
+ (char *) "LassoSamlNameIdentifier *", NULL);
+ return (ret);
+}
+
+/******************************************************************************/
+
+PyObject *saml_name_identifier_new(PyObject *self, PyObject *args) {
+ xmlChar *content;
+ LassoNode *node;
+
+ if (CheckArgs(args, "S:saml_name_identifier_new")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:saml_name_identifier_new",
+ &content))
+ return NULL;
+ }
+ else return NULL;
+
+ node = lasso_saml_name_identifier_new(content);
+
+ return (LassoSamlNameIdentifier_wrap(LASSO_SAML_NAME_IDENTIFIER(node)));
+}
+
+PyObject *saml_name_identifier_set_format(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *format;
+
+ if (CheckArgs(args, "OS:saml_name_identifier_set_format")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:saml_name_identifier_set_format",
+ &node_obj, &format))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_saml_name_identifier_set_format(LASSO_SAML_NAME_IDENTIFIER(node_obj),
+ format);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
+
+PyObject *saml_name_identifier_set_nameQualifier(PyObject *self, PyObject *args) {
+ PyObject *node_obj;
+ const xmlChar *nameQualifier;
+
+ if (CheckArgs(args, "OS:saml_name_identifier_set_nameQualifier")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:saml_name_identifier_set_nameQualifier",
+ &node_obj, &nameQualifier))
+ return NULL;
+ }
+ else return NULL;
+
+ lasso_saml_name_identifier_set_nameQualifier(LASSO_SAML_NAME_IDENTIFIER(node_obj),
+ nameQualifier);
+
+ Py_INCREF(Py_None);
+ return (Py_None);
+}
diff --git a/python/xml/py_saml_name_identifier.h b/python/xml/py_saml_name_identifier.h
new file mode 100644
index 00000000..9c4e7f28
--- /dev/null
+++ b/python/xml/py_saml_name_identifier.h
@@ -0,0 +1,43 @@
+/* $Id$
+ *
+ * PyLasso -- Python bindings for Lasso library
+ *
+ * Copyright (C) 2004 Entr'ouvert
+ * http://lasso.labs.libre-entreprise.org
+ *
+ * Authors: Valery Febvre <vfebvre@easter-eggs.com>
+ * Nicolas Clapies <nclapies@entrouvert.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PYLASSO_PY_SAML_NAME_IDENTIFIER_H__
+#define __PYLASSO_PY_SAML_NAME_IDENTIFIER_H__
+
+#include <lasso/xml/saml_name_identifier.h>
+
+typedef struct {
+ PyObject_HEAD
+ LassoSamlNameIdentifier *obj;
+} LassoSamlNameIdentifier_object;
+
+#define LassoSamlNameIdentifier_get(v) (((v) == Py_None) ? NULL : (((LassoSamlNameIdentifier_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj))
+PyObject *LassoSamlNameIdentifier_wrap(LassoSamlNameIdentifier *identifier);
+
+PyObject *saml_name_identifier_new(PyObject *self, PyObject *args);
+PyObject *saml_name_identifier_set_format(PyObject *self, PyObject *args);
+PyObject *saml_name_identifier_set_nameQualifier(PyObject *self, PyObject *args);
+
+#endif /* __PYLASSO_PY_SAML_NAME_IDENTIFIER_H__ */