summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Clapies <nclapies@entrouvert.com>2004-07-27 15:57:45 +0000
committerNicolas Clapies <nclapies@entrouvert.com>2004-07-27 15:57:45 +0000
commit49964c80c2e81ebf6cea915046b7690318cd2e0e (patch)
tree882cb86e423eb01f791febef24f77c849d6048d9
parentd18a9dd23da7e66330a6da5dffaf6739d54e207c (diff)
downloadlasso-49964c80c2e81ebf6cea915046b7690318cd2e0e.tar.gz
lasso-49964c80c2e81ebf6cea915046b7690318cd2e0e.tar.xz
lasso-49964c80c2e81ebf6cea915046b7690318cd2e0e.zip
update of federation termination
-rw-r--r--lasso/id-ff/federation_termination.c138
-rw-r--r--lasso/id-ff/federation_termination.h23
-rw-r--r--python/environs/py_federation_termination.c49
-rw-r--r--python/environs/py_federation_termination.h6
-rw-r--r--python/examples/defederation.py51
-rw-r--r--python/lasso.py28
-rw-r--r--python/lassomod.c3
7 files changed, 172 insertions, 126 deletions
diff --git a/lasso/id-ff/federation_termination.c b/lasso/id-ff/federation_termination.c
index efe1764b..128cb9e8 100644
--- a/lasso/id-ff/federation_termination.c
+++ b/lasso/id-ff/federation_termination.c
@@ -70,7 +70,7 @@ lasso_federation_termination_build_notification_msg(LassoFederationTermination *
profileContext->msg_body = NULL;
}
else{
- message(G_LOG_LEVEL_ERROR, "Unknown protocol profile\n");
+ message(G_LOG_LEVEL_ERROR, "Invalid protocol profile\n");
return(-5);
}
@@ -83,25 +83,17 @@ lasso_federation_termination_destroy(LassoFederationTermination *defederation)
g_object_unref(G_OBJECT(defederation));
}
-gchar *
-lasso_federation_termination_dump(LassoFederationTermination *defederation)
-{
- gchar *dump;
-
- g_return_val_if_fail(LASSO_IS_FEDERATION_TERMINATION(defederation), NULL);
-
- return(dump);
-}
-
gint
lasso_federation_termination_init_notification(LassoFederationTermination *defederation,
gchar *remote_providerID)
{
LassoProfileContext *profileContext;
- LassoNode *nameIdentifier;
LassoIdentity *identity;
- xmlChar *content, *nameQualifier, *format;
+ LassoNode *nameIdentifier = NULL;
+ xmlChar *content = NULL, *nameQualifier = NULL, *format = NULL;
+
+ gint codeError = 0;
g_return_val_if_fail(LASSO_IS_FEDERATION_TERMINATION(defederation), -1);
@@ -118,14 +110,16 @@ lasso_federation_termination_init_notification(LassoFederationTermination *defed
if (profileContext->remote_providerID == NULL) {
message(G_LOG_LEVEL_ERROR, "No provider Id for init notification\n");
- return(-2);
+ codeError = -1;
+ goto done;
}
/* get identity */
identity = lasso_user_get_identity(profileContext->user, profileContext->remote_providerID);
if (identity == NULL) {
message(G_LOG_LEVEL_ERROR, "Identity not found for %s\n", profileContext->remote_providerID);
- return(-2);
+ codeError = -1;
+ goto done;
}
/* get the name identifier (!!! depend on the provider type : SP or IDP !!!)*/
@@ -142,12 +136,13 @@ lasso_federation_termination_init_notification(LassoFederationTermination *defed
nameIdentifier = LASSO_NODE(lasso_identity_get_local_nameIdentifier(identity));
break;
default:
- message(G_LOG_LEVEL_ERROR, "Unknown provider type\n");
+ message(G_LOG_LEVEL_ERROR, "Invalid provider type\n");
}
if(!nameIdentifier){
message(G_LOG_LEVEL_ERROR, "Name identifier not found for %s\n", profileContext->remote_providerID);
- return(-3);
+ codeError = -1;
+ goto done;
}
/* build the request */
@@ -158,79 +153,111 @@ lasso_federation_termination_init_notification(LassoFederationTermination *defed
content,
nameQualifier,
format);
+
if(profileContext->request==NULL){
message(G_LOG_LEVEL_ERROR, "Error while creating the notification\n");
- return(-6);
+ codeError = -1;
+ goto done;
}
+ done:
+ /* destroy allocated objects */
+ debug("Free content, nameQualifier, format and nameIdentifier vars\n");
+ xmlFree(content);
+ xmlFree(nameQualifier);
+ xmlFree(format);
+ lasso_node_destroy(nameIdentifier);
- return(0);
+ return(codeError);
}
gint
-lasso_federation_termination_process_notification_msg(LassoFederationTermination *defederation,
- gchar *request_msg,
- lassoHttpMethods request_method)
+lasso_federation_termination_load_notification_msg(LassoFederationTermination *defederation,
+ gchar *notification_msg,
+ lassoHttpMethods notification_method)
{
LassoProfileContext *profileContext;
- LassoIdentity *identity;
- LassoNode *nameIdentifier;
- xmlChar *remote_providerID;
+
+ g_return_val_if_fail(LASSO_IS_FEDERATION_TERMINATION(defederation), -1);
+ g_return_val_if_fail(notification_msg!=NULL, -2);
profileContext = LASSO_PROFILE_CONTEXT(defederation);
- switch(request_method){
+ switch(notification_method){
case lassoHttpMethodSoap:
- message(G_LOG_LEVEL_DEBUG, "Process a federation termination notification soap msg\n");
- profileContext->request = lasso_federation_termination_notification_new_from_export(request_msg, lassoNodeExportTypeSoap);
+ debug("Build a federation termination notification from soap msg\n");
+ profileContext->request = lasso_federation_termination_notification_new_from_export(notification_msg, lassoNodeExportTypeSoap);
break;
case lassoHttpMethodRedirect:
- message(G_LOG_LEVEL_DEBUG, "Process a federation termination notification query msg\n");
- profileContext->request = lasso_federation_termination_notification_new_from_export(request_msg, lassoNodeExportTypeQuery);
- break;
- case lassoHttpMethodGet:
- message(G_LOG_LEVEL_WARNING, "Implement the get federation termination notification method\n");
+ debug("Build a federation termination notification from query msg\n");
+ profileContext->request = lasso_federation_termination_notification_new_from_export(notification_msg, lassoNodeExportTypeQuery);
break;
default:
- message(G_LOG_LEVEL_ERROR, "Unknown request method (%d)\n", request_method);
- return(-1);
+ message(G_LOG_LEVEL_ERROR, "Invalid notification method\n");
+ return(-3);
}
if(profileContext->request==NULL){
- message(G_LOG_LEVEL_ERROR, "Error While building the request from msg\n");
+ message(G_LOG_LEVEL_ERROR, "Error while building the notification from msg\n");
+ return(-4);
+ }
+
+ /* get the NameIdentifier to load user dump */
+ profileContext->nameIdentifier = lasso_node_get_child_content(profileContext->request,
+ "NameIdentifier", NULL);
+
+ /* get the RelayState */
+ profileContext->msg_relayState = lasso_node_get_child_content(profileContext->request,
+ "RelayState", NULL);
+
+ return(0);
+}
+
+gint
+lasso_federation_termination_process_notification(LassoFederationTermination *defederation)
+{
+ LassoProfileContext *profileContext;
+ LassoIdentity *identity;
+ LassoNode *nameIdentifier;
+
+ profileContext = LASSO_PROFILE_CONTEXT(defederation);
+
+ if(profileContext->request==NULL){
+ message(G_LOG_LEVEL_ERROR, "Request not found\n");
return(-1);
}
/* set the remote provider id from the request */
- remote_providerID = lasso_node_get_child_content(profileContext->request, "ProviderID", NULL);
- profileContext->remote_providerID = remote_providerID;
+ profileContext->remote_providerID = lasso_node_get_child_content(profileContext->request, "ProviderID", NULL);
+ if(profileContext->remote_providerID==NULL){
+ message(G_LOG_LEVEL_ERROR, "Remote provider id not found\n");
+ return(-1);
+ }
nameIdentifier = lasso_node_get_child(profileContext->request, "NameIdentifier", NULL);
- if (nameIdentifier == NULL) {
- message(G_LOG_LEVEL_ERROR, "Name identifier not found\n");
- return(-2);
+ if(nameIdentifier==NULL){
+ message(G_LOG_LEVEL_ERROR, "Name identifier not found in request\n");
+ return(-1);
}
/* Verify federation */
if (profileContext->user == NULL){
message(G_LOG_LEVEL_ERROR, "User environ not found\n");
- return(-3);
+ return(-1);
}
- identity = lasso_user_get_identity(profileContext->user, remote_providerID);
+ identity = lasso_user_get_identity(profileContext->user, profileContext->remote_providerID);
if (identity == NULL) {
- message(G_LOG_LEVEL_WARNING, "No identity for %s\n", remote_providerID);
- return(-4);
+ message(G_LOG_LEVEL_WARNING, "No identity for %s\n", profileContext->remote_providerID);
+ return(-1);
}
if (lasso_identity_verify_nameIdentifier(identity, nameIdentifier) == FALSE) {
- message(G_LOG_LEVEL_WARNING, "No name identifier for %s\n", remote_providerID);
- return(-5);
+ message(G_LOG_LEVEL_WARNING, "No name identifier for %s\n", profileContext->remote_providerID);
+ return(-1);
}
/* remove federation of the remote provider */
- lasso_identity_remove_remote_nameIdentifier(identity);
- message(G_LOG_LEVEL_INFO, "Remote name identifier removed from federation with %s\n",
- profileContext->remote_providerID);
+ lasso_user_remove_identity(profileContext->user, profileContext->remote_providerID);
return(0);
}
@@ -240,11 +267,13 @@ lasso_federation_termination_process_notification_msg(LassoFederationTermination
/*****************************************************************************/
static void
-lasso_federation_termination_instance_init(LassoFederationTermination *defederation){
+lasso_federation_termination_instance_init(LassoFederationTermination *defederation)
+{
}
static void
-lasso_federation_termination_class_init(LassoFederationTerminationClass *klass) {
+lasso_federation_termination_class_init(LassoFederationTerminationClass *class)
+{
}
GType lasso_federation_termination_get_type() {
@@ -270,20 +299,17 @@ GType lasso_federation_termination_get_type() {
return this_type;
}
-LassoFederationTermination *
+LassoFederationTermination*
lasso_federation_termination_new(LassoServer *server,
- LassoUser *user,
gint provider_type)
{
LassoFederationTermination *defederation;
g_return_val_if_fail(LASSO_IS_SERVER(server), NULL);
- g_return_val_if_fail(LASSO_IS_USER(user), NULL);
/* set the federation_termination object */
defederation = g_object_new(LASSO_TYPE_FEDERATION_TERMINATION,
"server", server,
- "user", user,
"provider_type", provider_type,
NULL);
diff --git a/lasso/id-ff/federation_termination.h b/lasso/id-ff/federation_termination.h
index 1969b2d3..ee200d93 100644
--- a/lasso/id-ff/federation_termination.h
+++ b/lasso/id-ff/federation_termination.h
@@ -54,24 +54,23 @@ struct _LassoFederationTerminationClass {
};
-LASSO_EXPORT GType lasso_federation_termination_get_type (void);
+LASSO_EXPORT GType lasso_federation_termination_get_type (void);
-LASSO_EXPORT LassoFederationTermination *lasso_federation_termination_new (LassoServer *server,
- LassoUser *user,
- gint provider_type);
+LASSO_EXPORT LassoFederationTermination *lasso_federation_termination_new (LassoServer *server,
+ gint provider_type);
-LASSO_EXPORT gint lasso_federation_termination_build_notification_msg (LassoFederationTermination *defederation);
+LASSO_EXPORT gint lasso_federation_termination_build_notification_msg (LassoFederationTermination *defederation);
-LASSO_EXPORT void lasso_federation_termination_destroy (LassoFederationTermination *defederation);
+LASSO_EXPORT void lasso_federation_termination_destroy (LassoFederationTermination *defederation);
-LASSO_EXPORT gchar* lasso_federation_termination_dump (LassoFederationTermination *defederation);
+LASSO_EXPORT gint lasso_federation_termination_init_notification (LassoFederationTermination *defederation,
+ gchar *remote_providerID);
-LASSO_EXPORT gint lasso_federation_termination_init_notification (LassoFederationTermination *defederation,
- gchar *remote_providerID);
+LASSO_EXPORT gint lasso_federation_termination_load_notification_msg (LassoFederationTermination *defederation,
+ gchar *request_msg,
+ lassoHttpMethods request_method);
-LASSO_EXPORT gint lasso_federation_termination_process_notification_msg (LassoFederationTermination *defederation,
- gchar *request_msg,
- lassoHttpMethods request_method);
+LASSO_EXPORT gint lasso_federation_termination_process_notification (LassoFederationTermination *defederation);
diff --git a/python/environs/py_federation_termination.c b/python/environs/py_federation_termination.c
index d5716fba..4187be8f 100644
--- a/python/environs/py_federation_termination.c
+++ b/python/environs/py_federation_termination.c
@@ -56,8 +56,9 @@ PyObject *federation_termination_getattr(PyObject *self, PyObject *args) {
federation_termination = LassoFederationTermination_get(federation_termination_obj);
if (!strcmp(attr, "__members__"))
- return Py_BuildValue("[ssss]", "user", "msg_url", "msg_body",
- "msg_relayState");
+ return Py_BuildValue("[sssss]", "user", "msg_url", "msg_body",
+ "msg_relayState",
+ "nameIdentifier");
if (!strcmp(attr, "user"))
return (LassoUser_wrap(LASSO_PROFILE_CONTEXT(federation_termination)->user));
@@ -67,26 +68,26 @@ PyObject *federation_termination_getattr(PyObject *self, PyObject *args) {
return (charPtrConst_wrap(LASSO_PROFILE_CONTEXT(federation_termination)->msg_body));
if (!strcmp(attr, "msg_relayState"))
return (charPtrConst_wrap(LASSO_PROFILE_CONTEXT(federation_termination)->msg_relayState));
+ if (!strcmp(attr, "nameIdentifier"))
+ return (charPtrConst_wrap(LASSO_PROFILE_CONTEXT(federation_termination)->nameIdentifier));
Py_INCREF(Py_None);
return (Py_None);
}
PyObject *federation_termination_new(PyObject *self, PyObject *args) {
- PyObject *server_obj, *user_obj;
LassoFederationTermination *federation_termination;
- gint provider_type;
+ PyObject *server_obj;
+ gint provider_type;
- if (CheckArgs(args, "OOI:federation_termination_new")) {
- if(!PyArg_ParseTuple(args, (char *) "OOi:federation_termination_new",
- &server_obj, &user_obj, &provider_type))
+ if (CheckArgs(args, "OI:federation_termination_new")) {
+ if(!PyArg_ParseTuple(args, (char *) "Oi:federation_termination_new",
+ &server_obj, &provider_type))
return NULL;
}
else return NULL;
federation_termination = lasso_federation_termination_new(LassoServer_get(server_obj),
- LassoUser_get(user_obj),
-
provider_type);
return (LassoFederationTermination_wrap(federation_termination));
@@ -142,21 +143,37 @@ PyObject *federation_termination_init_notification(PyObject *self, PyObject *arg
return(int_wrap(codeError));
}
-PyObject *federation_termination_process_notification_msg(PyObject *self, PyObject *args) {
- PyObject *federation_termination_obj;
+PyObject *federation_termination_load_notification_msg(PyObject *self, PyObject *args){
+ PyObject *notification_obj;
gchar *notification_msg;
gint notification_method;
gint codeError;
- if (CheckArgs(args, "OSI:federation_termination_process_notification_msg")) {
- if(!PyArg_ParseTuple(args, (char *) "Osi:federation_termination_process_notification_msg",
- &federation_termination_obj, &notification_msg, &notification_method))
+ if (CheckArgs(args, "OSI:federation_termination_load_notification_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "Osi:federation_termination_load_notification_msg",
+ &notification_obj, &notification_msg, &notification_method))
+ return NULL;
+ }
+ else return NULL;
+
+ codeError = lasso_federation_termination_load_notification_msg(LassoFederationTermination_get(notification_obj),
+ notification_msg, notification_method);
+
+ return(int_wrap(codeError));
+}
+
+PyObject *federation_termination_process_notification(PyObject *self, PyObject *args) {
+ PyObject *federation_termination_obj;
+ gint codeError;
+
+ if (CheckArgs(args, "O:federation_termination_process_notification")) {
+ if(!PyArg_ParseTuple(args, (char *) "O:federation_termination_process_notification",
+ &federation_termination_obj))
return NULL;
}
else return NULL;
- codeError = lasso_federation_termination_process_notification_msg(LassoFederationTermination_get(federation_termination_obj),
- notification_msg, notification_method);
+ codeError = lasso_federation_termination_process_notification(LassoFederationTermination_get(federation_termination_obj));
return(int_wrap(codeError));
}
diff --git a/python/environs/py_federation_termination.h b/python/environs/py_federation_termination.h
index a016a0b1..c59427d6 100644
--- a/python/environs/py_federation_termination.h
+++ b/python/environs/py_federation_termination.h
@@ -41,10 +41,12 @@ PyObject *LassoFederationTermination_wrap(LassoFederationTermination *federation
PyObject *federation_termination_getattr(PyObject *self, PyObject *args);
+PyObject *federation_termination_new(PyObject *self, PyObject *args);
+
PyObject *federation_termination_build_notification_msg(PyObject *self, PyObject *args);
PyObject *federation_termination_destroy(PyObject *self, PyObject *args);
PyObject *federation_termination_init_notification(PyObject *self, PyObject *args);
-PyObject *federation_termination_new(PyObject *self, PyObject *args);
-PyObject *federation_termination_process_notification_msg(PyObject *self, PyObject *args);
+PyObject *federation_termination_load_notification_msg(PyObject *self, PyObject *args);
+PyObject *federation_termination_process_notification(PyObject *self, PyObject *args);
#endif /* __PYLASSO_PY_FEDERATION_TERMINATION_H__ */
diff --git a/python/examples/defederation.py b/python/examples/defederation.py
index 22263738..b97a6c3e 100644
--- a/python/examples/defederation.py
+++ b/python/examples/defederation.py
@@ -4,45 +4,46 @@ import sys
sys.path.insert(0, '../')
import lasso
+
+spuser_dump = "<LassoUser><LassoIdentities><LassoIdentity RemoteProviderID=\"https://identity-provider:2003/liberty-alliance/metadata\"><LassoRemoteNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">1111111111111111111111111</NameIdentifier></LassoRemoteNameIdentifier></LassoIdentity></LassoIdentities></LassoUser>"
+
+idpuser_dump = "<LassoUser><LassoIdentities><LassoIdentity RemoteProviderID=\"https://service-provider:2003/liberty-alliance/metadata\"><LassoLocalNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">1111111111111111111111111</NameIdentifier></LassoLocalNameIdentifier></LassoIdentity></LassoIdentities></LassoUser>"
+
lasso.init()
-# servers :
+# SP :
spserver = lasso.Server.new("../../examples/sp.xml",
- "../../examples/rsapub.pem", "../../examples/rsakey.pem", "../../examples/rsacert.pem",
- lasso.signatureMethodRsaSha1)
+ "../../examples/rsapub.pem", "../../examples/rsakey.pem", "../../examples/rsacert.pem",
+ lasso.signatureMethodRsaSha1)
spserver.add_provider("../../examples/idp.xml", None, None)
-idpserver = lasso.Server.new("../../examples/idp.xml",
- "../../examples/rsapub.pem", "../../examples/rsakey.pem", "../../examples/rsacert.pem",
- lasso.signatureMethodRsaSha1)
-spserver.add_provider("../../examples/sp.xml", None, None)
-
-
-# users :
-spuser_dump = "<LassoUser><LassoIdentities><LassoIdentity RemoteProviderID=\"https://identity-provider:2003/liberty-alliance/metadata\"><LassoRemoteNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">1111111111111111111111111</NameIdentifier></LassoRemoteNameIdentifier><LassoLocalNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">222222222222222222222</NameIdentifier></LassoLocalNameIdentifier></LassoIdentity></LassoIdentities></LassoUser>"
spuser = lasso.User.new_from_dump(spuser_dump)
-idpuser_dump = "<LassoUser><LassoIdentities><LassoIdentity RemoteProviderID=\"https://service-provider:2003/liberty-alliance/metadata\"><LassoLocalNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">1111111111111111111111111</NameIdentifier></LassoLocalNameIdentifier><LassoRemoteNameIdentifier><NameIdentifier NameQualifier=\"qualifier.com\" Format=\"federated\">222222222222222222222</NameIdentifier></LassoRemoteNameIdentifier></LassoIdentity></LassoIdentities></LassoUser>"
-idpuser = lasso.User.new_from_dump(idpuser_dump)
-
-
-# sp federation termination :
-spdefederation = lasso.FederationTermination.new(spserver, spuser, lasso.providerTypeSp)
+spdefederation = lasso.FederationTermination.new(spserver, lasso.providerTypeSp)
+spdefederation.set_user_from_dump(spuser_dump)
spdefederation.init_notification()
spdefederation.build_notification_msg()
print 'url : ', spdefederation.msg_url
print 'body : ', spdefederation.msg_body
-print lasso.get_request_type_from_soap_msg(spdefederation.msg_body)
+notification_msg = spdefederation.msg_body
+
+
+# IDP :
+idpserver = lasso.Server.new("../../examples/idp.xml",
+ "../../examples/rsapub.pem", "../../examples/rsakey.pem", "../../examples/rsacert.pem",
+ lasso.signatureMethodRsaSha1)
+idpserver.add_provider("../../examples/sp.xml", None, None)
+
+idpuser = lasso.User.new_from_dump(idpuser_dump)
+idpdefederation = lasso.FederationTermination.new(idpserver, lasso.providerTypeIdp)
+idpdefederation.load_notification_msg(notification_msg, lasso.httpMethodSoap)
+print 'NameIdentifier :', idpdefederation.nameIdentifier
-# 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.set_user_from_dump(idpuser_dump);
+idpdefederation.process_notification()
-print 'Only return an HTTP OK 200 to the notifier'
-print 'End of federation termination'
+print 'End of federation termination notification'
lasso.shutdown()
diff --git a/python/lasso.py b/python/lasso.py
index 41f68faa..76ce1a80 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -1064,20 +1064,20 @@ class Logout(ProfileContext):
def process_response_msg(self, response_msg, response_method):
return lassomod.logout_process_response_msg(self, response_msg, response_method);
-class FederationTermination:
+class FederationTermination(ProfileContext):
"""\brief Short desc
Long desc
"""
-
- def __isprivate(self, name):
- return name == '_o'
-
def __init__(self, _obj):
"""
The constructor
"""
self._o = _obj
+ ProfileContext.__init__(self, _obj=_obj)
+
+ def __isprivate(self, name):
+ return name == '_o'
def __getattr__(self, name):
if self.__isprivate(name):
@@ -1090,25 +1090,25 @@ class FederationTermination:
ret = User(_obj=ret)
return ret
- def new(cls, server, user, provider_type):
- obj = lassomod.federation_termination_new(server, user, provider_type)
+ def new(cls, server, provider_type):
+ obj = lassomod.federation_termination_new(server, provider_type)
return FederationTermination(obj)
new = classmethod(new)
- def add_assertion(self, remote_providerID, assertion):
- lassmod.user_add_assertion(remote_providerID, assertion);
-
def build_notification_msg(self):
return lassomod.federation_termination_build_notification_msg(self)
def destroy(self):
- pass
+ lassomod.federation_termination_destroy(self)
def init_notification(self, remote_providerID = None):
- return lassomod.federation_termination_init_notification(self, remote_providerID);
+ return lassomod.federation_termination_init_notification(self, remote_providerID)
+
+ def load_notification_msg(self, notification_msg, notification_method):
+ return lassomod.federation_termination_load_notification_msg(self, notification_msg, notification_method)
- def process_notification_msg(self, notification_msg, notification_method):
- return lassomod.federation_termination_process_notification_msg(self, notification_msg, notification_method);
+ def process_notification(self):
+ return lassomod.federation_termination_process_notification(self)
class RegisterNameIdentifier:
diff --git a/python/lassomod.c b/python/lassomod.c
index e90f96d5..e12a8a04 100644
--- a/python/lassomod.c
+++ b/python/lassomod.c
@@ -213,7 +213,8 @@ static PyMethodDef lasso_methods[] = {
{"federation_termination_build_notification_msg", federation_termination_build_notification_msg, METH_VARARGS},
{"federation_termination_destroy", federation_termination_destroy, METH_VARARGS},
{"federation_termination_init_notification", federation_termination_init_notification, METH_VARARGS},
- {"federation_termination_process_notification_msg", federation_termination_process_notification_msg, METH_VARARGS},
+ {"federation_termination_load_notification_msg", federation_termination_load_notification_msg, METH_VARARGS},
+ {"federation_termination_process_notification", federation_termination_process_notification, METH_VARARGS},
/* py_lecp.h */
{"lecp_new", lecp_new, METH_VARARGS},