From 46738d03eacf3b0368e50674194f6f05cae2cddf Mon Sep 17 00:00:00 2001 From: Nicolas Clapies Date: Wed, 21 Jul 2004 14:11:09 +0000 Subject: update of federation termination notification --- python/environs/py_federation_termination.c | 4 +-- python/examples/defederation.py | 12 +++----- python/lassomod.c | 5 ++-- .../py_federation_termination_notification.c | 32 ++++++---------------- .../py_federation_termination_notification.h | 3 +- 5 files changed, 17 insertions(+), 39 deletions(-) (limited to 'python') diff --git a/python/environs/py_federation_termination.c b/python/environs/py_federation_termination.c index 6f6d0902..60c8d7d7 100644 --- a/python/environs/py_federation_termination.c +++ b/python/environs/py_federation_termination.c @@ -129,8 +129,8 @@ PyObject *federation_termination_init_notification(PyObject *self, PyObject *arg gchar *remote_providerID; gint codeError; - if (CheckArgs(args, "OS:federation_termination_init_notification")) { - if(!PyArg_ParseTuple(args, (char *) "Os:federation_termination_init_notification", + if (CheckArgs(args, "Os:federation_termination_init_notification")) { + if(!PyArg_ParseTuple(args, (char *) "Oz:federation_termination_init_notification", &federation_termination_obj, &remote_providerID)) return NULL; } diff --git a/python/examples/defederation.py b/python/examples/defederation.py index 4b7b3500..a07c2331 100644 --- a/python/examples/defederation.py +++ b/python/examples/defederation.py @@ -19,32 +19,28 @@ spserver.add_provider("../../examples/sp.xml", None, None) # users : -spuser_dump = "1111111111111111111111111" +spuser_dump = "1111111111111111111111111222222222222222222222" spuser = lasso.User.new_from_dump(spuser_dump) -idpuser_dump = "1111111111111111111111111" +idpuser_dump = "1111111111111111111111111222222222222222222222" idpuser = lasso.User.new_from_dump(idpuser_dump) # sp federation termination : spdefederation = lasso.FederationTermination.new(spserver, spuser, lasso.providerTypeSp) -spdefederation.init_notification("https://identity-provider:2003/liberty-alliance/metadata") +spdefederation.init_notification() spdefederation.build_notification_msg() print 'url : ', spdefederation.msg_url print 'body : ', spdefederation.msg_body -sys.exit(1) # idp federation termination : print "---------------------------------------------------------" print " At identity provider " idpdefederation = lasso.FederationTermination.new(idpserver, idpuser, lasso.providerTypeIdp) idpdefederation.process_notification_msg(spdefederation.msg_body, lasso.httpMethodSoap) -idpdefederation.build_response_msg() -print 'url : ', idpdefederation.msg_url -print 'body : ', idpdefederation.msg_body - +print 'Only return an HTTP OK 200 to the notifier' print 'End of federation termination' lasso.shutdown() diff --git a/python/lassomod.c b/python/lassomod.c index ac6439fe..9135b060 100644 --- a/python/lassomod.c +++ b/python/lassomod.c @@ -146,9 +146,8 @@ static PyMethodDef lasso_methods[] = { {"authn_response_new_from_export", authn_response_new_from_export, METH_VARARGS}, /* py_federation_termination_notification.h */ - {"federation_termination_notification_new", federation_termination_notification_new, METH_VARARGS}, - {"federation_termination_notification_new_from_soap", federation_termination_notification_new_from_soap, METH_VARARGS}, - {"federation_termination_notification_new_from_query", federation_termination_notification_new_from_query, METH_VARARGS}, + {"federation_termination_notification_new", federation_termination_notification_new, METH_VARARGS}, + {"federation_termination_notification_new_from_export", federation_termination_notification_new_from_export, METH_VARARGS}, /* py_logout_request.h */ {"logout_request_new", logout_request_new, METH_VARARGS}, diff --git a/python/protocols/py_federation_termination_notification.c b/python/protocols/py_federation_termination_notification.c index e3b7945c..8a105105 100644 --- a/python/protocols/py_federation_termination_notification.c +++ b/python/protocols/py_federation_termination_notification.c @@ -64,36 +64,20 @@ PyObject *federation_termination_notification_new(PyObject *self, PyObject *args return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); } -PyObject *federation_termination_notification_new_from_soap(PyObject *self, PyObject *args) { - const xmlChar *soap_buffer; +PyObject *federation_termination_notification_new_from_export(PyObject *self, PyObject *args) { + xmlChar *soap_buffer; + gint type; - LassoNode *notification; - - if (CheckArgs(args, "S:federation_termination_notification_new_from_soap")) { - if(!PyArg_ParseTuple(args, (char *) "s:federation_termination_notification_new_from_soap", - &soap_buffer)) - return NULL; - } - else return NULL; - - notification = lasso_federation_termination_notification_new_from_soap(soap_buffer); - - return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); -} - -PyObject *federation_termination_notification_new_from_query(PyObject *self, PyObject *args) { - const xmlChar *query; - - LassoNode *notification; + LassoNode *notification; - if (CheckArgs(args, "S:federation_termination_notification_new_from_query")) { - if(!PyArg_ParseTuple(args, (char *) "s:federation_termination_notification_new_from_query", - &query)) + if (CheckArgs(args, "SI:federation_termination_notification_new_from_export")) { + if(!PyArg_ParseTuple(args, (char *) "si:federation_termination_notification_new_from_export", + &soap_buffer, &type)) return NULL; } else return NULL; - notification = lasso_federation_termination_notification_new_from_query(query); + notification = lasso_federation_termination_notification_new_from_export(soap_buffer, type); return (LassoFederationTerminationNotification_wrap(LASSO_FEDERATION_TERMINATION_NOTIFICATION(notification))); } diff --git a/python/protocols/py_federation_termination_notification.h b/python/protocols/py_federation_termination_notification.h index 2030f085..52e57d83 100644 --- a/python/protocols/py_federation_termination_notification.h +++ b/python/protocols/py_federation_termination_notification.h @@ -37,7 +37,6 @@ typedef struct { PyObject *LassoFederationTerminationNotification_wrap(LassoFederationTerminationNotification *notification); PyObject *federation_termination_notification_new(PyObject *self, PyObject *args); -PyObject *federation_termination_notification_new_from_soap(PyObject *self, PyObject *args); -PyObject *federation_termination_notification_new_from_query(PyObject *self, PyObject *args); +PyObject *federation_termination_notification_new_from_export(PyObject *self, PyObject *args); #endif /* __PYLASSO_PY_FEDERATION_TERMINATION_NOTIFICATION_H__ */ -- cgit