diff options
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier_request.c | 30 | ||||
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier_request.h | 28 | ||||
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier_response.c | 215 | ||||
| -rw-r--r-- | lasso/Attic/protocols/register_name_identifier_response.h | 23 | ||||
| -rw-r--r-- | lasso/id-ff/register_name_identifier.c | 162 | ||||
| -rw-r--r-- | lasso/id-ff/register_name_identifier.h | 31 | ||||
| -rw-r--r-- | python/environs/py_register_name_identifier.c | 9 | ||||
| -rw-r--r-- | python/lasso.py | 82 | ||||
| -rw-r--r-- | python/lassomod.c | 19 | ||||
| -rw-r--r-- | python/protocols/py_register_name_identifier_request.c | 37 | ||||
| -rw-r--r-- | python/protocols/py_register_name_identifier_request.h | 6 | ||||
| -rw-r--r-- | python/protocols/py_register_name_identifier_response.c | 91 | ||||
| -rw-r--r-- | python/protocols/py_register_name_identifier_response.h | 8 |
13 files changed, 287 insertions, 454 deletions
diff --git a/lasso/Attic/protocols/register_name_identifier_request.c b/lasso/Attic/protocols/register_name_identifier_request.c index 7ba10e71..908e1e29 100644 --- a/lasso/Attic/protocols/register_name_identifier_request.c +++ b/lasso/Attic/protocols/register_name_identifier_request.c @@ -30,7 +30,8 @@ /*****************************************************************************/ void -lasso_register_name_identifier_rename_attributes_for_query(LassoRegisterNameIdentifierRequest *request) +lasso_register_name_identifier_request_rename_attributes_for_query(LassoRegisterNameIdentifierRequest *request) + { LassoNode *idpidentifier, *spidentifier, *oldidentifier; @@ -151,7 +152,7 @@ lasso_register_name_identifier_request_new(const xmlChar *providerID, return (request); } -LassoNode * +static LassoNode * lasso_register_name_identifier_request_new_from_query(const xmlChar *query) { LassoNode *request, *idpidentifier, *spidentifier, *oldidentifier; @@ -228,7 +229,7 @@ lasso_register_name_identifier_request_new_from_query(const xmlChar *query) return(request); } -LassoNode * +static LassoNode * lasso_register_name_identifier_request_new_from_soap(const xmlChar *buffer) { LassoNode *request; @@ -252,3 +253,26 @@ lasso_register_name_identifier_request_new_from_soap(const xmlChar *buffer) return(request); } + +LassoNode* +lasso_register_name_identifier_request_new_from_export(gchar *buffer, + lassoNodeExportTypes export_type) +{ + LassoNode *request; + + g_return_val_if_fail(buffer != NULL, NULL); + + switch(export_type){ + case lassoNodeExportTypeQuery: + request = lasso_register_name_identifier_request_new_from_query(buffer); + break; + case lassoNodeExportTypeSoap: + request = lasso_register_name_identifier_request_new_from_soap(buffer); + break; + default: + message(G_LOG_LEVEL_ERROR, "Invalid export type\n"); + request = NULL; + } + + return(request); +} diff --git a/lasso/Attic/protocols/register_name_identifier_request.h b/lasso/Attic/protocols/register_name_identifier_request.h index a86566b5..fbd450bf 100644 --- a/lasso/Attic/protocols/register_name_identifier_request.h +++ b/lasso/Attic/protocols/register_name_identifier_request.h @@ -52,24 +52,24 @@ struct _LassoRegisterNameIdentifierRequestClass { LassoLibRegisterNameIdentifierRequestClass parent; }; -LASSO_EXPORT GType lasso_register_name_identifier_request_get_type (void); +LASSO_EXPORT GType lasso_register_name_identifier_request_get_type (void); -LASSO_EXPORT LassoNode* lasso_register_name_identifier_request_new (const xmlChar *providerID, - const xmlChar *idpProvidedNameIdentifier, - const xmlChar *idpNameQualifier, - const xmlChar *idpFormat, - const xmlChar *spProvidedNameIdentifier, - const xmlChar *spNameQualifier, - const xmlChar *spFormat, - const xmlChar *oldProvidedNameIdentifier, - const xmlChar *oldNameQualifier, - const xmlChar *oldFormat); +LASSO_EXPORT LassoNode* lasso_register_name_identifier_request_new (const xmlChar *providerID, + const xmlChar *idpProvidedNameIdentifier, + const xmlChar *idpNameQualifier, + const xmlChar *idpFormat, + const xmlChar *spProvidedNameIdentifier, + const xmlChar *spNameQualifier, + const xmlChar *spFormat, + const xmlChar *oldProvidedNameIdentifier, + const xmlChar *oldNameQualifier, + const xmlChar *oldFormat); -LASSO_EXPORT LassoNode* lasso_register_name_identifier_request_new_from_query (const xmlChar *query); -LASSO_EXPORT LassoNode* lasso_register_name_identifier_request_new_from_soap (const xmlChar *buffer); +LASSO_EXPORT LassoNode* lasso_register_name_identifier_request_new_from_export (gchar *buffer, + lassoNodeExportTypes export_type); +LASSO_EXPORT void lasso_register_name_identifier_request_rename_attributes_for_query (LassoRegisterNameIdentifierRequest *request); -LASSO_EXPORT void lasso_register_name_identifier_rename_attributes_for_query(LassoRegisterNameIdentifierRequest *request); #ifdef __cplusplus } diff --git a/lasso/Attic/protocols/register_name_identifier_response.c b/lasso/Attic/protocols/register_name_identifier_response.c index 46693ad5..ba64a2e7 100644 --- a/lasso/Attic/protocols/register_name_identifier_response.c +++ b/lasso/Attic/protocols/register_name_identifier_response.c @@ -30,6 +30,84 @@ /*****************************************************************************/ /*****************************************************************************/ +/* private methods */ +/*****************************************************************************/ + +static LassoNode* +lasso_register_name_identifier_response_new_from_query(gchar *query) +{ + LassoNode *response; + xmlChar *relayState; + GData *gd; + + response = LASSO_NODE(g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER_RESPONSE, NULL)); + + gd = lasso_query_to_dict(query); + + /* ResponseID */ + lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ResponseID"), 0)); + + /* MajorVersion */ + lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MajorVersion"), 0)); + + /* MinorVersion */ + lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MinorVersion"), 0)); + + /* IssueInstant */ + lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "IssueInstance"), 0)); + + /* InResponseTo */ + lasso_samlp_response_abstract_set_inResponseTo(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "InResponseTo"), 0)); + + /* Recipient */ + lasso_samlp_response_abstract_set_recipient(LASSO_SAMLP_RESPONSE_ABSTRACT(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "Recipient"), 0)); + + /* ProviderID */ + lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), + lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ProviderID"), 0)); + + /* RelayState */ + relayState = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RelayState"), 0); + if (relayState != NULL) + lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState); + + g_datalist_clear(&gd); + + return(response); +} + +static LassoNode* +lasso_register_name_identifier_response_new_from_soap(gchar *buffer) +{ + LassoNode *response; + LassoNode *envelope, *lassoNode_response; + xmlNodePtr xmlNode_response; + LassoNodeClass *class; + + response = LASSO_NODE(g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER_RESPONSE, NULL)); + + envelope = lasso_node_new_from_dump(buffer); + lassoNode_response = lasso_node_get_child(envelope, "RegisterNameIdentifierResponse", + lassoLibHRef); + + class = LASSO_NODE_GET_CLASS(lassoNode_response); + xmlNode_response = xmlCopyNode(class->get_xmlNode(LASSO_NODE(lassoNode_response)), 1); + lasso_node_destroy(lassoNode_response); + + class = LASSO_NODE_GET_CLASS(response); + class->set_xmlNode(LASSO_NODE(response), xmlNode_response); + lasso_node_destroy(envelope); + + return(response); +} + +/*****************************************************************************/ /* instance and class init functions */ /*****************************************************************************/ @@ -67,9 +145,9 @@ GType lasso_register_name_identifier_response_get_type() { } LassoNode* -lasso_register_name_identifier_response_new(const xmlChar *providerID, - const xmlChar *statusCodeValue, - LassoNode *request) +lasso_register_name_identifier_response_new(gchar *providerID, + gchar *statusCodeValue, + LassoNode *request) { /* FIXME : change request type */ LassoNode *response, *ss, *ssc, *request_providerID, *request_relayState; @@ -131,124 +209,49 @@ lasso_register_name_identifier_response_new(const xmlChar *providerID, return (response); } -LassoNode * -lasso_register_name_identifier_response_new_from_dump(const xmlChar *buffer) -{ - LassoNode *response; - - response = LASSO_NODE(g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER_RESPONSE, NULL)); - lasso_node_import(response, buffer); - - return (response); -} - -/* build a RegisterNameIdentifierResponse from a query form RegisterNameIdentifierResponse */ -LassoNode * -lasso_register_name_identifier_response_new_from_query(const xmlChar *query) -{ - LassoNode *response; - xmlChar *relayState; - GData *gd; - - response = LASSO_NODE(g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER_RESPONSE, NULL)); - - gd = lasso_query_to_dict(query); - - /* ResponseID */ - lasso_samlp_response_abstract_set_responseID(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ResponseID"), 0)); - - /* MajorVersion */ - lasso_samlp_response_abstract_set_majorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MajorVersion"), 0)); - - /* MinorVersion */ - lasso_samlp_response_abstract_set_minorVersion(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "MinorVersion"), 0)); - - /* IssueInstant */ - lasso_samlp_response_abstract_set_issueInstance(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "IssueInstance"), 0)); - - /* InResponseTo */ - lasso_samlp_response_abstract_set_inResponseTo(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "InResponseTo"), 0)); - - /* Recipient */ - lasso_samlp_response_abstract_set_recipient(LASSO_SAMLP_RESPONSE_ABSTRACT(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "Recipient"), 0)); - - /* ProviderID */ - lasso_lib_status_response_set_providerID(LASSO_LIB_STATUS_RESPONSE(response), - lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "ProviderID"), 0)); - - /* RelayState */ - relayState = lasso_g_ptr_array_index((GPtrArray *)g_datalist_get_data(&gd, "RelayState"), 0); - if (relayState != NULL) - lasso_lib_status_response_set_relayState(LASSO_LIB_STATUS_RESPONSE(response), relayState); - - g_datalist_clear(&gd); - - return(response); -} - -/* build a RegisterNameIdentifierResponse from a query form RegisterNameIdentifierRequest */ -LassoNode * -lasso_register_name_identifier_response_new_from_request_query(const xmlChar *query, - const xmlChar *providerID, - const xmlChar *statusCodeValue) +LassoNode* +lasso_register_name_identifier_response_new_from_request_export(gchar *buffer, + lassoNodeExportTypes export_type, + gchar *providerID, + gchar *statusCodeValue) { LassoNode *request, *response; - request = lasso_register_name_identifier_request_new_from_query(query); - - response = lasso_register_name_identifier_response_new(providerID, - statusCodeValue, - request); - lasso_node_destroy(request); + g_return_val_if_fail(buffer != NULL, NULL); - return(response); -} - -/* build a RegisterNameIdentifierRespose from a soap form RegisterNameIdentifierRequest */ -LassoNode * -lasso_register_name_identifier_response_new_from_request_soap(const xmlChar *buffer, - const xmlChar *providerID, - const xmlChar *statusCodeValue) -{ - LassoNode *request, *response; + request = lasso_register_name_identifier_request_new_from_export(buffer, export_type); - request = lasso_register_name_identifier_request_new_from_soap(buffer); + if(request){ + message(G_LOG_LEVEL_ERROR, "Error while building RegisterNameIdentifierRequest\n"); + return(NULL); + } response = lasso_register_name_identifier_response_new(providerID, - statusCodeValue, - request); - lasso_node_destroy(request); + statusCodeValue, + request); return(response); } -LassoNode * -lasso_register_name_identifier_response_new_from_soap(const xmlChar *buffer) +LassoNode* +lasso_register_name_identifier_response_new_from_export(gchar *buffer, + lassoNodeExportTypes export_type) { LassoNode *response; - LassoNode *envelope, *lassoNode_response; - xmlNodePtr xmlNode_response; - LassoNodeClass *class; - response = LASSO_NODE(g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER_RESPONSE, NULL)); + g_return_val_if_fail(buffer != NULL, NULL); - envelope = lasso_node_new_from_dump(buffer); - lassoNode_response = lasso_node_get_child(envelope, "RegisterNameIdentifierResponse", - lassoLibHRef); - - class = LASSO_NODE_GET_CLASS(lassoNode_response); - xmlNode_response = xmlCopyNode(class->get_xmlNode(LASSO_NODE(lassoNode_response)), 1); - lasso_node_destroy(lassoNode_response); + switch(export_type){ + case lassoNodeExportTypeQuery: + response = lasso_register_name_identifier_response_new_from_query(buffer); + break; + case lassoNodeExportTypeSoap: + response = lasso_register_name_identifier_response_new_from_soap(buffer); + break; + default: + message(G_LOG_LEVEL_ERROR, "Invalid export type\n"); + return(NULL); + } - class = LASSO_NODE_GET_CLASS(response); - class->set_xmlNode(LASSO_NODE(response), xmlNode_response); - lasso_node_destroy(envelope); - return(response); } diff --git a/lasso/Attic/protocols/register_name_identifier_response.h b/lasso/Attic/protocols/register_name_identifier_response.h index b3b2ea70..bd9fbb65 100644 --- a/lasso/Attic/protocols/register_name_identifier_response.h +++ b/lasso/Attic/protocols/register_name_identifier_response.h @@ -53,22 +53,19 @@ struct _LassoRegisterNameIdentifierResponseClass { LassoLibRegisterNameIdentifierResponseClass parent; }; -LASSO_EXPORT GType lasso_register_name_identifier_response_get_type (void); -LASSO_EXPORT LassoNode* lasso_register_name_identifier_response_new (const xmlChar *providerID, - const xmlChar *statusCodeValue, - LassoNode *request); +LASSO_EXPORT GType lasso_register_name_identifier_response_get_type (void); -LASSO_EXPORT LassoNode * lasso_register_name_identifier_response_new_from_dump (const xmlChar *buffer); -LASSO_EXPORT LassoNode * lasso_register_name_identifier_response_new_from_query (const xmlChar *query); -LASSO_EXPORT LassoNode * lasso_register_name_identifier_response_new_from_request_query (const xmlChar *query, - const xmlChar *providerID, - const xmlChar *statusCodeValue); -LASSO_EXPORT LassoNode * lasso_register_name_identifier_response_new_from_request_soap (const xmlChar *buffer, - const xmlChar *providerID, - const xmlChar *statusCodeValue); +LASSO_EXPORT LassoNode* lasso_register_name_identifier_response_new (gchar *providerID, + gchar *statusCodeValue, + LassoNode *request); -LASSO_EXPORT LassoNode * lasso_register_name_identifier_response_new_from_soap (const xmlChar *buffer); +LASSO_EXPORT LassoNode* lasso_register_name_identifier_response_new_from_export (gchar *buffer, + lassoNodeExportTypes export_type); +LASSO_EXPORT LassoNode* lasso_register_name_identifier_response_new_from_request_export (gchar *buffer, + lassoNodeExportTypes export_type, + gchar *providerID, + gchar *statusCodeValue); #ifdef __cplusplus } diff --git a/lasso/id-ff/register_name_identifier.c b/lasso/id-ff/register_name_identifier.c index 0f790b61..fd6852a7 100644 --- a/lasso/id-ff/register_name_identifier.c +++ b/lasso/id-ff/register_name_identifier.c @@ -38,6 +38,8 @@ lasso_register_name_identifier_dump(LassoRegisterNameIdentifier *register_name_i g_return_val_if_fail(LASSO_IS_REGISTER_NAME_IDENTIFIER(register_name_identifier), NULL); + dump = NULL; + return(dump); } @@ -134,12 +136,11 @@ lasso_register_name_identifier_init_request(LassoRegisterNameIdentifier *registe LassoNode *nameIdentifier_node; LassoIdentity *identity; - xmlChar *spNameIdentifier, *spNameQualifier, *spFormat; + xmlChar *spNameIdentifier, *spNameQualifier, *spFormat; xmlChar *idpNameIdentifier, *idpNameQualifier, *idpFormat; xmlChar *oldNameIdentifier, *oldNameQualifier, *oldFormat; g_return_val_if_fail(LASSO_IS_REGISTER_NAME_IDENTIFIER(register_name_identifier), -1); - g_return_val_if_fail(remote_providerID!=NULL, -2); profileContext = LASSO_PROFILE_CONTEXT(register_name_identifier); @@ -241,17 +242,11 @@ lasso_register_name_identifier_init_request(LassoRegisterNameIdentifier *registe return(0); } -gint -lasso_register_name_identifier_process_request_msg(LassoRegisterNameIdentifier *register_name_identifier, - gchar *request_msg, - lassoHttpMethods request_method) +gint lasso_register_name_identifier_load_request_msg(LassoRegisterNameIdentifier *register_name_identifier, + gchar *request_msg, + lassoHttpMethods request_method) { LassoProfileContext *profileContext; - LassoIdentity *identity; - LassoNode *nameIdentifier, *assertion; - LassoNode *statusCode; - LassoNodeClass *statusCode_class; - xmlChar *remote_providerID; g_return_val_if_fail(LASSO_IS_REGISTER_NAME_IDENTIFIER(register_name_identifier), -1); g_return_val_if_fail(request_msg!=NULL, -2); @@ -260,20 +255,49 @@ lasso_register_name_identifier_process_request_msg(LassoRegisterNameIdentifier * switch(request_method){ case lassoHttpMethodSoap: - debug("build a register_name_identifier request from soap msg\n"); - profileContext->request = lasso_register_name_identifier_request_new_from_soap(request_msg); + debug("Build a register name identifier request from soap msg\n"); + profileContext->request = lasso_register_name_identifier_request_new_from_export(request_msg, lassoNodeExportTypeSoap); break; case lassoHttpMethodRedirect: - debug("build a register_name_identifier request from query msg\n"); - profileContext->request = lasso_register_name_identifier_request_new_from_query(request_msg); + debug("Build a register name identifier request from query msg\n"); + profileContext->request = lasso_register_name_identifier_request_new_from_export(request_msg, lassoNodeExportTypeQuery); break; case lassoHttpMethodGet: - message(G_LOG_LEVEL_WARNING, "TODO, implement the get method\n"); + debug("TODO, implement the get method\n"); break; default: - message(G_LOG_LEVEL_ERROR, "Unknown request method\n"); + message(G_LOG_LEVEL_ERROR, "Invalid request method\n"); return(-3); } + if(profileContext->request==NULL){ + message(G_LOG_LEVEL_ERROR, "Error while building the request 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_register_name_identifier_process_request(LassoRegisterNameIdentifier *register_name_identifier) +{ + LassoProfileContext *profileContext; + LassoIdentity *identity; + LassoNode *nameIdentifier, *assertion; + LassoNode *statusCode; + LassoNodeClass *statusCode_class; + xmlChar *remote_providerID; + + g_return_val_if_fail(LASSO_IS_REGISTER_NAME_IDENTIFIER(register_name_identifier), -1); + + profileContext = LASSO_PROFILE_CONTEXT(register_name_identifier); /* set the remote provider id from the request */ remote_providerID = lasso_node_get_child_content(profileContext->request, "ProviderID", NULL); @@ -350,10 +374,10 @@ lasso_register_name_identifier_process_response_msg(LassoRegisterNameIdentifier /* parse RegisterNameIdentifierResponse */ switch(response_method){ case lassoHttpMethodSoap: - profileContext->response = lasso_register_name_identifier_response_new_from_soap(response_msg); + profileContext->response = lasso_register_name_identifier_response_new_from_export(response_msg, lassoNodeExportTypeSoap); break; case lassoHttpMethodRedirect: - profileContext->response = lasso_register_name_identifier_response_new_from_query(response_msg); + profileContext->response = lasso_register_name_identifier_response_new_from_export(response_msg, lassoNodeExportTypeQuery); break; default: message(G_LOG_LEVEL_ERROR, "Unknown response method\n"); @@ -432,117 +456,17 @@ GType lasso_register_name_identifier_get_type() { LassoRegisterNameIdentifier * lasso_register_name_identifier_new(LassoServer *server, - LassoUser *user, lassoProviderTypes provider_type) { LassoRegisterNameIdentifier *register_name_identifier; g_return_val_if_fail(LASSO_IS_SERVER(server), NULL); - g_return_val_if_fail(LASSO_IS_USER(user), NULL); /* set the register_name_identifier object */ register_name_identifier = g_object_new(LASSO_TYPE_REGISTER_NAME_IDENTIFIER, "server", lasso_server_copy(server), - "user", lasso_user_copy(user), "provider_type", provider_type, NULL); return(register_name_identifier); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* gint */ -/* lasso_register_name_identifier_init_request(LassoRegisterNameIdentifier *registration, */ -/* gchar *remote_providerID) */ -/* { */ - -/* /\* TODO : implement the setting of the request *\/ */ -/* switch(profileContext->provider_type){ */ -/* case lassoProviderTypeSp: */ -/* /\* generate a new local name identifier *\/ */ -/* spNameIdentifier = lasso_build_unique_id(32); */ -/* spNameQualifier = providerID; */ -/* spFormat = "federated"; */ - -/* debug("new name identifier : %s, name qualifier : %s, format : %s\n", spNameIdentifier, spNameQualifier, spFormat); */ - -/* /\* get the old name identifier *\/ */ -/* identity = lasso_user_get_identity(profileContext->user, remote_providerID); */ -/* if(identity==NULL){ */ -/* message(G_LOG_LEVEL_ERROR, "Identity not found\n"); */ -/* return(-3); */ -/* } */ -/* nameIdentifier_node = lasso_identity_get_local_nameIdentifier(identity); */ -/* if(nameIdentifier_node){ */ -/* oldNameIdentifier = lasso_node_get_content(nameIdentifier_node); */ -/* oldNameQualifier = lasso_node_get_attr_value(nameIdentifier_node, "NameQualifier"); */ -/* oldFormat = lasso_node_get_attr_value(nameIdentifier_node, "Format"); */ -/* } */ - -/* /\* get the remote name identifier *\/ */ -/* nameIdentifier_node = lasso_identity_get_remote_nameIdentifier(identity); */ -/* idpNameIdentifier = lasso_node_get_content(nameIdentifier_node); */ -/* idpNameQualifier = lasso_node_get_attr_value(nameIdentifier_node, "NameQualifier"); */ -/* idpFormat = lasso_node_get_attr_value(nameIdentifier_node, "Format"); */ -/* break; */ - -/* case lassoProviderTypeIdp: */ -/* /\* generate a new local name identifier *\/ */ -/* idpNameIdentifier = lasso_build_unique_id(32); */ -/* idpNameQualifier = providerID; */ -/* idpFormat = "federated"; */ - -/* /\* get the old name identifier *\/ */ -/* identity = lasso_user_get_identity(profileContext->user, remote_providerID); */ -/* if(identity==NULL){ */ -/* message(G_LOG_LEVEL_ERROR, "Identity not found\n"); */ -/* return(-4); */ -/* } */ -/* nameIdentifier_node = lasso_identity_get_local_nameIdentifier(identity); */ -/* oldNameIdentifier = lasso_node_get_content(nameIdentifier_node); */ -/* oldNameQualifier = lasso_node_get_attr_value(nameIdentifier_node, "NameQualifier"); */ -/* oldFormat = lasso_node_get_attr_value(nameIdentifier_node, "Format"); */ - -/* /\* get the remote name identifier *\/ */ -/* nameIdentifier_node = lasso_identity_get_remote_nameIdentifier(identity); */ -/* spNameIdentifier = lasso_node_get_content(nameIdentifier_node); */ -/* spNameQualifier = lasso_node_get_attr_value(nameIdentifier_node, "NameQualifier"); */ -/* spFormat = lasso_node_get_attr_value(nameIdentifier_node, "Format"); */ -/* break; */ - -/* default: */ -/* message(G_LOG_LEVEL_ERROR, "Unknown provider type (%d)\n", profileContext->provider_type); */ -/* return(-5); */ -/* } */ - -/* return(0); */ -/* } */ diff --git a/lasso/id-ff/register_name_identifier.h b/lasso/id-ff/register_name_identifier.h index c709a16d..63bf4b9b 100644 --- a/lasso/id-ff/register_name_identifier.h +++ b/lasso/id-ff/register_name_identifier.h @@ -56,29 +56,30 @@ struct _LassoRegisterNameIdentifierClass { }; -LASSO_EXPORT GType lasso_register_name_identifier_get_type (void); +LASSO_EXPORT GType lasso_register_name_identifier_get_type (void); -LASSO_EXPORT LassoRegisterNameIdentifier* lasso_register_name_identifier_new (LassoServer *server, - LassoUser *user, - lassoProviderTypes provider_type); +LASSO_EXPORT LassoRegisterNameIdentifier* lasso_register_name_identifier_new (LassoServer *server, + lassoProviderTypes provider_type); -LASSO_EXPORT gint lasso_register_name_identifier_build_request_msg (LassoRegisterNameIdentifier *register_name_identifier); +LASSO_EXPORT gint lasso_register_name_identifier_build_request_msg (LassoRegisterNameIdentifier *register_name_identifier); -LASSO_EXPORT gint lasso_register_name_identifier_build_response_msg (LassoRegisterNameIdentifier *register_name_identifier); +LASSO_EXPORT gint lasso_register_name_identifier_build_response_msg (LassoRegisterNameIdentifier *register_name_identifier); -LASSO_EXPORT void lasso_register_name_identifier_destroy (LassoRegisterNameIdentifier *register_name_identifier); +LASSO_EXPORT void lasso_register_name_identifier_destroy (LassoRegisterNameIdentifier *register_name_identifier); -LASSO_EXPORT gint lasso_register_name_identifier_init_request (LassoRegisterNameIdentifier *register_name_identifier, - gchar *remote_providerID); +LASSO_EXPORT gint lasso_register_name_identifier_init_request (LassoRegisterNameIdentifier *register_name_identifier, + gchar *remote_providerID); -LASSO_EXPORT gint lasso_register_name_identifier_process_request_msg (LassoRegisterNameIdentifier *register_name_identifier, - gchar *request_msg, - lassoHttpMethods request_method); +LASSO_EXPORT gint lasso_register_name_identifier_load_request_msg (LassoRegisterNameIdentifier *register_name_identifier, + gchar *request_msg, + lassoHttpMethods request_method); -LASSO_EXPORT gint lasso_register_name_identifier_process_response_msg (LassoRegisterNameIdentifier *register_name_identifier, - gchar *response_msg, - lassoHttpMethods response_method); +LASSO_EXPORT gint lasso_register_name_identifier_process_request (LassoRegisterNameIdentifier *register_name_identifier); +LASSO_EXPORT gint lasso_register_name_identifier_process_response_msg (LassoRegisterNameIdentifier *register_name_identifier, + gchar *response_msg, + lassoHttpMethods response_method); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/python/environs/py_register_name_identifier.c b/python/environs/py_register_name_identifier.c index 0b57bf89..fa25924d 100644 --- a/python/environs/py_register_name_identifier.c +++ b/python/environs/py_register_name_identifier.c @@ -71,19 +71,18 @@ PyObject *register_name_identifier_getattr(PyObject *self, PyObject *args) { } PyObject *register_name_identifier_new(PyObject *self, PyObject *args) { - PyObject *server_obj, *user_obj; + PyObject *server_obj; LassoRegisterNameIdentifier *register_name_identifier; gint provider_type; - if (CheckArgs(args, "OOI:register_name_identifier_new")) { - if(!PyArg_ParseTuple(args, (char *) "OOi:register_name_identifier_new", - &server_obj, &user_obj, &provider_type)) + if (CheckArgs(args, "OI:register_name_identifier_new")) { + if(!PyArg_ParseTuple(args, (char *) "Oi:register_name_identifier_new", + &server_obj, &provider_type)) return NULL; } else return NULL; register_name_identifier = lasso_register_name_identifier_new(LassoServer_get(server_obj), - LassoUser_get(user_obj), provider_type); return (LassoRegisterNameIdentifier_wrap(register_name_identifier)); diff --git a/python/lasso.py b/python/lasso.py index 76ce1a80..ec8f0cb3 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -517,16 +517,10 @@ class FederationTerminationNotification(LibFederationTerminationNotification): return FederationTerminationNotification(obj) new = classmethod(new) - def new_from_soap(cls, envelope): - obj = lassomod.federation_termination_notification_new_from_soap(envelope) - return FederationTerminationNotification(obj) - new_from_soap = classmethod(new_from_soap) - - def new_from_query(cls, query): - obj = lassomod.federation_termination_notification_new_from_query(query) - return FederationTerminationNotification(obj) - new_from_query = classmethod(new_from_query) - + def new_from_export(cls, buffer, export_type = 0): + obj = lassomod.federation_termination_notification(buffer, export_type) + return LogoutRequest(obj) + new_from_export = classmethod(new_from_export) class LogoutRequest(LibLogoutRequest): """\brief Blabla @@ -545,8 +539,8 @@ class LogoutRequest(LibLogoutRequest): return LogoutRequest(obj) new = classmethod(new) - def new_from_export(cls, envelope): - obj = lassomod.logout_request_new_from_export(envelope) + def new_from_export(cls, buffer, export_type = 0): + obj = lassomod.logout_request_new_from_export(buffer, export_type) return LogoutRequest(obj) new_from_export = classmethod(new_from_export) @@ -563,30 +557,15 @@ class LogoutResponse(LibLogoutResponse): self._o = _obj LibLogoutResponse.__init__(self, _obj = self._o) - def new_from_request_soap(cls, envelope, providerID, status_code_value): - obj = lassomod.logout_response_new_from_request_soap(envelope, providerID, status_code_value) + def new_from_export(cls, buffer, export_type = 0): + obj = lassomod.logout_response_new_from_export(buffer, export_type) return LogoutResponse(obj) - new_from_request_soap = classmethod(new_from_request_soap) - - def new_from_soap(cls, envelope): - obj = lassomod.logout_response_new_from_soap(envelope) - return LogoutResponse(obj) - new_from_soap = classmethod(new_from_soap) + new_from_export = classmethod(new_from_export) - def new_from_dump(cls, dump): - obj = lassomod.logout_response_new_from_dump(dump) + def new_from_request_export(cls, buffer, export_type, providerID, statusCodeValue): + obj = lassomod.logout_response_new_from_request_export(buffer, export_type, providerID, statusCodeValue) return LogoutResponse(obj) - new_from_dump = classmethod(new_from_dump) - - def new_from_request_query(cls, query, providerID, status_code_value): - obj = lassomod.logout_response_new_from_request_query(query, providerID, status_code_value) - return LogoutResponse(obj); - new_from_request_query = classmethod(new_from_request_query) - - def new_from_query(cls, query): - obj = lassomod.logout_response_new_from_query(query) - return LogoutResponse(obj); - new_from_query = classmethod(new_from_query) + new_from_export = classmethod(new_from_request_export) class NameIdentifierMappingRequest(LibNameIdentifierMappingRequest): @@ -678,15 +657,10 @@ class RegisterNameIdentifierRequest(LibRegisterNameIdentifierRequest): return RegisterNameIdentifierRequest(obj) new = classmethod(new) - def new_from_soap(cls, envelope): - obj = lassomod.register_name_identifier_request_new_from_soap(envelope) - return RegisterNameIdentifierRequest(obj) - new_from_soap = classmethod(new_from_soap) - - def new_from_query(cls, query): - obj = lassomod.register_name_identifier_request_new_from_query(query) + def new_from_export(cls, buffer, export_type = 0): + obj = lassomod.register_name_identifier_request_new_from_export(buffer, export_type) return RegisterNameIdentifierRequest(obj) - new_from_query = classmethod(new_from_query) + new_from_export = classmethod(new_from_export) def rename_attributes_for_encoded_query(self): lassomod.register_name_identifier_request_rename_attributes_for_query(self) @@ -704,30 +678,16 @@ class RegisterNameIdentifierResponse(LibRegisterNameIdentifierResponse): self._o = _obj LibRegisterNameIdentifierResponse.__init__(self, _obj = self._o) - def new_from_request_soap(cls, envelope, providerID, status_code_value): - obj = lassomod.register_name_identifier_response_new_from_request_soap(envelope, providerID, status_code_value) + def new_from_export(cls, buffer, export_type = 0): + obj = lassomod.register_name_identifier_response_new_from_export(buffer, export_type) return RegisterNameIdentifierResponse(obj) - new_from_request_soap = classmethod(new_from_request_soap) - - def new_from_soap(cls, envelope): - obj = lassomod.register_name_identifier_response_new_from_soap(envelope) - return RegisterNameIdentifierResponse(obj) - new_from_soap = classmethod(new_from_soap) + new_from_export = classmethod(new_from_export) - def new_from_dump(cls, dump): - obj = lassomod.register_name_identifier_response_new_from_dump(dump) + def new_from_request_export(cls, buffer, export_type, providerID, statusCodeValue): + obj = lassomod.register_name_identifier_response_new_from_request_export(buffer, export_type, providerID, statusCodeValue) return RegisterNameIdentifierResponse(obj) - new_from_dump = classmethod(new_from_dump) + new_from_export = classmethod(new_from_request_export) - def new_from_request_query(cls, query, providerID, status_code_value): - obj = lassomod.register_name_identifier_response_new_from_request_query(query, providerID, status_code_value) - return RegisterNameIdentifierResponse(obj); - new_from_request_query = classmethod(new_from_request_query) - - def new_from_query(cls, query): - obj = lassomod.register_name_identifier_response_new_from_query(query) - return RegisterNameIdentifierResponse(obj); - new_from_query = classmethod(new_from_query) ################################################################################ # elements diff --git a/python/lassomod.c b/python/lassomod.c index e12a8a04..cc3004a1 100644 --- a/python/lassomod.c +++ b/python/lassomod.c @@ -162,27 +162,20 @@ static PyMethodDef lasso_methods[] = { {"logout_response_new_from_export", logout_response_new_from_export, METH_VARARGS}, /* py_name_identifier_mapping_request.h */ - {"name_identifier_mapping_request_new", name_identifier_mapping_request_new, METH_VARARGS}, - {"name_identifier_mapping_request_new_from_soap", name_identifier_mapping_request_new_from_soap, METH_VARARGS}, - {"name_identifier_mapping_request_new_from_query", name_identifier_mapping_request_new_from_query, METH_VARARGS}, + {"name_identifier_mapping_request_new", name_identifier_mapping_request_new, METH_VARARGS}, +/* {"name_identifier_mapping_request_new_from_export", name_identifier_mapping_request_new_from_export, METH_VARARGS}, */ /* py_name_identifier_mapping_response.h */ - {"name_identifier_mapping_response_new_from_request_soap", name_identifier_mapping_response_new_from_request_soap, METH_VARARGS}, - {"name_identifier_mapping_response_new_from_soap", name_identifier_mapping_response_new_from_soap, METH_VARARGS}, - {"name_identifier_mapping_response_new_from_dump", name_identifier_mapping_response_new_from_dump, METH_VARARGS}, - {"name_identifier_mapping_response_new_from_request_query", name_identifier_mapping_response_new_from_request_query, METH_VARARGS}, - {"name_identifier_mapping_response_new_from_query", name_identifier_mapping_response_new_from_query, METH_VARARGS}, +/* {"name_identifier_mapping_response_new_from_request_export", name_identifier_mapping_response_new_from_request_export, METH_VARARGS}, */ +/* {"name_identifier_mapping_response_new_from_export", name_identifier_mapping_response_new_from_export, METH_VARARGS}, */ /* py_register_name_identifier_request.h */ {"register_name_identifier_request_new", register_name_identifier_request_new, METH_VARARGS}, {"register_name_identifier_request_rename_attributes_for_query", register_name_identifier_request_rename_attributes_for_query, METH_VARARGS}, /* py_register_name_identifier_response.h */ - {"register_name_identifier_response_new_from_request_soap", register_name_identifier_response_new_from_request_soap, METH_VARARGS}, - {"register_name_identifier_response_new_from_soap", register_name_identifier_response_new_from_soap, METH_VARARGS}, - {"register_name_identifier_response_new_from_dump", register_name_identifier_response_new_from_dump, METH_VARARGS}, - {"register_name_identifier_response_new_from_request_query", register_name_identifier_response_new_from_request_query, METH_VARARGS}, - {"register_name_identifier_response_new_from_query", register_name_identifier_response_new_from_query, METH_VARARGS}, + {"register_name_identifier_response_new_from_request_export", register_name_identifier_response_new_from_request_export, METH_VARARGS}, + {"register_name_identifier_response_new_from_export", register_name_identifier_response_new_from_export, METH_VARARGS}, /* py_request.h */ /* {"request_create", request_create, METH_VARARGS}, */ diff --git a/python/protocols/py_register_name_identifier_request.c b/python/protocols/py_register_name_identifier_request.c index e5a484c4..0deba7cf 100644 --- a/python/protocols/py_register_name_identifier_request.c +++ b/python/protocols/py_register_name_identifier_request.c @@ -92,42 +92,29 @@ PyObject *register_name_identifier_request_rename_attributes_for_query(PyObject } else return NULL; - lasso_register_name_identifier_rename_attributes_for_query(LassoRegisterNameIdentifierRequest_get(request_obj)); + lasso_register_name_identifier_request_rename_attributes_for_query(LassoRegisterNameIdentifierRequest_get(request_obj)); Py_INCREF(Py_None); return (Py_None); } -PyObject *register_name_identifier_request_new_from_soap(PyObject *self, PyObject *args) { - const xmlChar *soap_buffer; - - LassoNode *request; +PyObject *register_name_identifier_request_new_from_export(PyObject *self, PyObject *args) { + gchar *soap_buffer; + LassoNode *request; + gint type; - if (CheckArgs(args, "S:register_name_identifier_request_new_from_soap")) { - if(!PyArg_ParseTuple(args, (char *) "s:register_name_identifier_request_new_from_soap", - &soap_buffer)) + if (CheckArgs(args, "SS:register_name_identifier_request_new_from_export")) { + if(!PyArg_ParseTuple(args, (char *) "ss:register_name_identifier_request_new_from_export", + &soap_buffer, &type)) return NULL; } else return NULL; - request = lasso_register_name_identifier_request_new_from_soap(soap_buffer); - - return (LassoRegisterNameIdentifierRequest_wrap(LASSO_REGISTER_NAME_IDENTIFIER_REQUEST(request))); -} - -PyObject *register_name_identifier_request_new_from_query(PyObject *self, PyObject *args) { - const xmlChar *query; - - LassoNode *request; - - if (CheckArgs(args, "S:register_name_identifier_request_new_from_query")) { - if(!PyArg_ParseTuple(args, (char *) "s:register_name_identifier_request_new_from_query", - &query)) - return NULL; + request = lasso_register_name_identifier_request_new_from_export(soap_buffer, type); + if(request==NULL){ + Py_INCREF(Py_None); + return (Py_None); } - else return NULL; - - request = lasso_register_name_identifier_request_new_from_query(query); return (LassoRegisterNameIdentifierRequest_wrap(LASSO_REGISTER_NAME_IDENTIFIER_REQUEST(request))); } diff --git a/python/protocols/py_register_name_identifier_request.h b/python/protocols/py_register_name_identifier_request.h index c62105fa..2d04809a 100644 --- a/python/protocols/py_register_name_identifier_request.h +++ b/python/protocols/py_register_name_identifier_request.h @@ -37,9 +37,9 @@ typedef struct { PyObject *LassoRegisterNameIdentifierRequest_wrap(LassoRegisterNameIdentifierRequest *request); PyObject *register_name_identifier_request_new(PyObject *self, PyObject *args); -PyObject *register_name_identifier_request_rename_attributes_for_query(PyObject *self, PyObject *args); -PyObject *register_name_identifier_request_new_from_soap(PyObject *self, PyObject *args); -PyObject *register_name_identifier_request_new_from_query(PyObject *self, PyObject *args); +PyObject *register_name_identifier_request_new_from_export(PyObject *self, PyObject *args); + +PyObject *register_name_identifier_request_rename_attributes_for_query(PyObject *self, PyObject *args); #endif /* __PYLASSO_PY_REGISTER_NAME_IDENTIFIER_REQUEST_H__ */ diff --git a/python/protocols/py_register_name_identifier_response.c b/python/protocols/py_register_name_identifier_response.c index 7fc8c0da..5547dd17 100644 --- a/python/protocols/py_register_name_identifier_response.c +++ b/python/protocols/py_register_name_identifier_response.c @@ -42,97 +42,46 @@ PyObject *LassoRegisterNameIdentifierResponse_wrap(LassoRegisterNameIdentifierRe /******************************************************************************/ -PyObject *register_name_identifier_response_new_from_request_soap(PyObject *self, PyObject *args) { - const xmlChar *request_soap_dump; - const xmlChar *providerID; - const xmlChar *status_code_value; +PyObject *register_name_identifier_response_new_from_request_export(PyObject *self, PyObject *args) { + gchar *request_export; + gchar *providerID; + gchar *status_code_value; + gint export_type; LassoNode *response = NULL; - if (CheckArgs(args, "SSS:register_name_identifier_response_new_from_request_soap")) { - if(!PyArg_ParseTuple(args, (char *) "sss:register_name_identifier_response_new_from_request_soap", - &request_soap_dump, + if (CheckArgs(args, "SSSS:register_name_identifier_response_new_from_request_export")) { + if(!PyArg_ParseTuple(args, (char *) "ssss:register_name_identifier_response_new_from_request_export", + &request_export, + &export_type, &providerID, &status_code_value)) return NULL; } else return NULL; - response = lasso_register_name_identifier_response_new_from_request_soap(request_soap_dump, - providerID, - status_code_value); + response = lasso_register_name_identifier_response_new_from_request_export(request_export, + export_type, + providerID, + status_code_value); return (LassoRegisterNameIdentifierResponse_wrap(LASSO_REGISTER_NAME_IDENTIFIER_RESPONSE(response))); } -PyObject *register_name_identifier_response_new_from_soap(PyObject *self, PyObject *args) { - const xmlChar *request_soap_dump; +PyObject *register_name_identifier_response_new_from_export(PyObject *self, PyObject *args) { + gchar *request_export; + gint export_type; LassoNode *response = NULL; - if (CheckArgs(args, "S:register_name_identifier_response_new_from_soap")) { - if(!PyArg_ParseTuple(args, (char *) "s:register_name_identifier_response_new_from_soap", - &request_soap_dump)) + if (CheckArgs(args, "SS:register_name_identifier_response_new_from_export")) { + if(!PyArg_ParseTuple(args, (char *) "ss:register_name_identifier_response_new_from_export", + &request_export, &export_type)) return NULL; } else return NULL; - response = lasso_register_name_identifier_response_new_from_soap(request_soap_dump); - - return (LassoRegisterNameIdentifierResponse_wrap(LASSO_REGISTER_NAME_IDENTIFIER_RESPONSE(response))); -} - -PyObject *register_name_identifier_response_new_from_dump(PyObject *self, PyObject *args) { - const xmlChar *dump; - - LassoNode *response = NULL; - - if (CheckArgs(args, "S:register_name_identifier_response_new_from_dump")) { - if(!PyArg_ParseTuple(args, (char *) "s:register_name_identifier_response_new_from_dump", - &dump)) - return NULL; - } - else return NULL; - - response = lasso_register_name_identifier_response_new_from_soap(dump); - - return (LassoRegisterNameIdentifierResponse_wrap(LASSO_REGISTER_NAME_IDENTIFIER_RESPONSE(response))); -} - -PyObject *register_name_identifier_response_new_from_request_query(PyObject *self, PyObject *args) { - const xmlChar *query; - const xmlChar *providerID; - const xmlChar *status_code_value; - - LassoNode *response = NULL; - - if (CheckArgs(args, "SSS:register_name_identifier_response_new_from_request_query")) { - if(!PyArg_ParseTuple(args, (char *) "sss:register_name_identifier_response_new_from_request_query", - &query, - &providerID, - &status_code_value)) - return NULL; - } - else return NULL; - - response = lasso_register_name_identifier_response_new_from_request_query(query, providerID, status_code_value); - - return (LassoRegisterNameIdentifierResponse_wrap(LASSO_REGISTER_NAME_IDENTIFIER_RESPONSE(response))); -} - -PyObject *register_name_identifier_response_new_from_query(PyObject *self, PyObject *args) { - const xmlChar *query; - - LassoNode *response = NULL; - - if (CheckArgs(args, "S:register_name_identifier_response_new_from_request_query")) { - if(!PyArg_ParseTuple(args, (char *) "s:register_name_identifier_response_new_from_request_query", - &query)) - return NULL; - } - else return NULL; - - response = lasso_register_name_identifier_response_new_from_query(query); + response = lasso_register_name_identifier_response_new_from_export(request_export, export_type); return (LassoRegisterNameIdentifierResponse_wrap(LASSO_REGISTER_NAME_IDENTIFIER_RESPONSE(response))); } diff --git a/python/protocols/py_register_name_identifier_response.h b/python/protocols/py_register_name_identifier_response.h index f66d2059..0d6aad5a 100644 --- a/python/protocols/py_register_name_identifier_response.h +++ b/python/protocols/py_register_name_identifier_response.h @@ -36,11 +36,7 @@ typedef struct { #define LassoRegisterNameIdentifierResponse_get(v) (((v) == Py_None) ? NULL : (((LassoRegisterNameIdentifierResponse_object *)(PyObject_GetAttr(v, PyString_FromString("_o"))))->obj)) PyObject *LassoRegisterNameIdentifierResponse_wrap(LassoRegisterNameIdentifierResponse *response); -PyObject *register_name_identifier_response_new_from_request_soap(PyObject *self, PyObject *args); -PyObject *register_name_identifier_response_new_from_soap(PyObject *self, PyObject *args); -PyObject *register_name_identifier_response_new_from_dump(PyObject *self, PyObject *args); -PyObject *register_name_identifier_response_new_from_request_query(PyObject *self, PyObject *args); -PyObject *register_name_identifier_response_new_from_query(PyObject *self, PyObject *args); - +PyObject *register_name_identifier_response_new_from_request_export(PyObject *self, PyObject *args); +PyObject *register_name_identifier_response_new_from_export(PyObject *self, PyObject *args); #endif /* __PYLASSO_PY_REGISTER_NAME_IDENTIFIER_RESPONSE_H__ */ |
