summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lasso/id-ff/login.c16
-rw-r--r--lasso/id-ff/login.h10
-rw-r--r--lasso/id-ff/profile_context.c4
-rw-r--r--python/environs/py_login.c16
-rw-r--r--python/environs/py_login.h4
-rw-r--r--python/environs/py_server.c32
-rw-r--r--python/environs/py_server.h2
-rw-r--r--python/examples/login.py5
-rw-r--r--python/lasso.py16
-rw-r--r--python/lassomod.c10
10 files changed, 81 insertions, 34 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index af83d2ca..05bcc6a4 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -318,18 +318,18 @@ lasso_login_dump(LassoLogin *login)
if (login->protocolProfile > 0) {
str = g_new0(gchar, 6);
sprintf(str, "%d", login->protocolProfile);
- LASSO_NODE_GET_CLASS(node)->new_child(node, "protocolProfile", str, FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "ProtocolProfile", str, FALSE);
g_free(str);
}
if (login->assertionArtifact != NULL) {
- LASSO_NODE_GET_CLASS(node)->new_child(node, "assertionArtifact", login->assertionArtifact, FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "AssertionArtifact", login->assertionArtifact, FALSE);
}
if (login->response_dump != NULL) {
- LASSO_NODE_GET_CLASS(node)->new_child(node, "response_dump", login->response_dump, FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "ResponseDump", login->response_dump, FALSE);
}
if (login->msg_relayState != NULL) {
- LASSO_NODE_GET_CLASS(node)->new_child(node, "msg_relayState", login->msg_relayState, FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgRelayState", login->msg_relayState, FALSE);
}
dump = lasso_node_export(node);
@@ -487,8 +487,8 @@ lasso_login_init_request(LassoLogin *login,
}
gint
-lasso_login_handle_authn_response_msg(LassoLogin *login,
- gchar *authn_response_msg)
+lasso_login_process_authn_response_msg(LassoLogin *login,
+ gchar *authn_response_msg)
{
LassoNode *assertion, *status, *statusCode;
LassoProvider *idp;
@@ -534,8 +534,8 @@ lasso_login_handle_authn_response_msg(LassoLogin *login,
}
gint
-lasso_login_handle_request_msg(LassoLogin *login,
- gchar *request_msg)
+lasso_login_process_request_msg(LassoLogin *login,
+ gchar *request_msg)
{
LassoNode *node;
diff --git a/lasso/id-ff/login.h b/lasso/id-ff/login.h
index 3ea7de34..e3f3df07 100644
--- a/lasso/id-ff/login.h
+++ b/lasso/id-ff/login.h
@@ -57,9 +57,9 @@ struct _LassoLogin {
LassoProfileContext parent;
/*< public >*/
lassoLoginProtocolProfiles protocolProfile;
- gchar *assertionArtifact;
gchar *nameIdentifier;
+ gchar *assertionArtifact;
gchar *response_dump;
gchar *msg_relayState;
@@ -108,11 +108,11 @@ LASSO_EXPORT gint lasso_login_init_request (Lasso
lassoHttpMethods response_method,
const gchar *remote_providerID);
-LASSO_EXPORT gint lasso_login_handle_authn_response_msg (LassoLogin *login,
- gchar *authn_response_msg);
+LASSO_EXPORT gint lasso_login_process_authn_response_msg (LassoLogin *login,
+ gchar *authn_response_msg);
-LASSO_EXPORT gint lasso_login_handle_request_msg (LassoLogin *login,
- gchar *request_msg);
+LASSO_EXPORT gint lasso_login_process_request_msg (LassoLogin *login,
+ gchar *request_msg);
LASSO_EXPORT gboolean lasso_login_must_authenticate (LassoLogin *login);
diff --git a/lasso/id-ff/profile_context.c b/lasso/id-ff/profile_context.c
index e3062f65..937cd3fe 100644
--- a/lasso/id-ff/profile_context.c
+++ b/lasso/id-ff/profile_context.c
@@ -73,10 +73,10 @@ lasso_profile_context_dump(LassoProfileContext *ctx,
/* cdata = xmlNewCDataBlock(doc, ctx->msg_url, strlen(ctx->msg_url)); */
/* xmlAddChild(data, cdata); */
/* xmlAddChild(LASSO_NODE_GET_CLASS(node)->get_xmlNode(node), data); */
- LASSO_NODE_GET_CLASS(node)->new_child(node, "msg_url", lasso_str_escape(ctx->msg_url), FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgUrl", lasso_str_escape(ctx->msg_url), FALSE);
}
if (ctx->msg_body != NULL) {
- LASSO_NODE_GET_CLASS(node)->new_child(node, "msg_body", lasso_str_escape(ctx->msg_body), FALSE);
+ LASSO_NODE_GET_CLASS(node)->new_child(node, "MsgBody", lasso_str_escape(ctx->msg_body), FALSE);
}
dump = lasso_node_export(node);
diff --git a/python/environs/py_login.c b/python/environs/py_login.c
index b135f5b2..5b59d86e 100644
--- a/python/environs/py_login.c
+++ b/python/environs/py_login.c
@@ -220,37 +220,37 @@ PyObject *login_dump(PyObject *self, PyObject *args) {
return (charPtrConst_wrap(ret));
}
-PyObject *login_handle_authn_response_msg(PyObject *self, PyObject *args) {
+PyObject *login_process_authn_response_msg(PyObject *self, PyObject *args) {
PyObject *login_obj;
gchar *authn_response_msg;
gboolean ret;
- if (CheckArgs(args, "OS:login_handle_authn_response_msg")) {
- if(!PyArg_ParseTuple(args, (char *) "Os:login_handle_authn_response_msg",
+ if (CheckArgs(args, "OS:login_process_authn_response_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:login_process_authn_response_msg",
&login_obj, &authn_response_msg))
return NULL;
}
else return NULL;
- ret = lasso_login_handle_authn_response_msg(LassoLogin_get(login_obj),
+ ret = lasso_login_process_authn_response_msg(LassoLogin_get(login_obj),
authn_response_msg);
return (int_wrap(ret));
}
-PyObject *login_handle_request_msg(PyObject *self, PyObject *args) {
+PyObject *login_process_request_msg(PyObject *self, PyObject *args) {
PyObject *login_obj;
gchar *request_msg;
gboolean ret;
- if (CheckArgs(args, "OS:login_handle_request_msg")) {
- if(!PyArg_ParseTuple(args, (char *) "Os:login_handle_request_msg",
+ if (CheckArgs(args, "OS:login_process_request_msg")) {
+ if(!PyArg_ParseTuple(args, (char *) "Os:login_process_request_msg",
&login_obj, &request_msg))
return NULL;
}
else return NULL;
- ret = lasso_login_handle_request_msg(LassoLogin_get(login_obj),
+ ret = lasso_login_process_request_msg(LassoLogin_get(login_obj),
request_msg);
return (int_wrap(ret));
diff --git a/python/environs/py_login.h b/python/environs/py_login.h
index 3c50fe9f..f0a22ee9 100644
--- a/python/environs/py_login.h
+++ b/python/environs/py_login.h
@@ -47,8 +47,8 @@ PyObject *login_build_authn_request_msg(PyObject *self, PyObject *args);
PyObject *login_build_authn_response_msg(PyObject *self, PyObject *args);
PyObject *login_build_request_msg(PyObject *self, PyObject *args);
PyObject *login_dump(PyObject *self, PyObject *args);
-PyObject *login_handle_authn_response_msg(PyObject *self, PyObject *args);
-PyObject *login_handle_request_msg(PyObject *self, PyObject *args);
+PyObject *login_process_authn_response_msg(PyObject *self, PyObject *args);
+PyObject *login_process_request_msg(PyObject *self, PyObject *args);
PyObject *login_init_authn_request(PyObject *self, PyObject *args);
PyObject *login_init_from_authn_request_msg(PyObject *self, PyObject *args);
PyObject *login_init_request(PyObject *self, PyObject *args);
diff --git a/python/environs/py_server.c b/python/environs/py_server.c
index 50f2ece4..fbcce1c6 100644
--- a/python/environs/py_server.c
+++ b/python/environs/py_server.c
@@ -63,6 +63,22 @@ PyObject *server_new(PyObject *self, PyObject *args) {
return (LassoServer_wrap(LASSO_SERVER(server)));
}
+PyObject *server_new_from_dump(PyObject *self, PyObject *args) {
+ LassoServer *server;
+ gchar *dump;
+
+ if (CheckArgs(args, "S:server_new_from_dump")) {
+ if(!PyArg_ParseTuple(args, (char *) "s:server_new_from_dump",
+ &dump))
+ return NULL;
+ }
+ else return NULL;
+
+ server = lasso_server_new_from_dump(dump);
+
+ return (LassoServer_wrap(LASSO_SERVER(server)));
+}
+
PyObject *server_add_provider(PyObject *self, PyObject *args) {
PyObject *server_obj;
gchar *metadata;
@@ -82,3 +98,19 @@ PyObject *server_add_provider(PyObject *self, PyObject *args) {
Py_INCREF(Py_None);
return (Py_None);
}
+
+PyObject *server_dump(PyObject *self, PyObject *args) {
+ PyObject *server_obj;
+ gchar *ret;
+
+ if (CheckArgs(args, "O:server_dump")) {
+ if(!PyArg_ParseTuple(args, (char *) "O:server_dump",
+ &server_obj))
+ return NULL;
+ }
+ else return NULL;
+
+ ret = lasso_server_dump(LassoServer_get(server_obj));
+
+ return (charPtrConst_wrap(ret));
+}
diff --git a/python/environs/py_server.h b/python/environs/py_server.h
index 9c05001f..02d91954 100644
--- a/python/environs/py_server.h
+++ b/python/environs/py_server.h
@@ -37,6 +37,8 @@ typedef struct {
PyObject *LassoServer_wrap(LassoServer *server);
PyObject *server_new(PyObject *self, PyObject *args);
+PyObject *server_new_from_dump(PyObject *self, PyObject *args);
PyObject *server_add_provider(PyObject *self, PyObject *args);
+PyObject *server_dump(PyObject *self, PyObject *args);
#endif /* __PYLASSO_PY_SERVER_H__ */
diff --git a/python/examples/login.py b/python/examples/login.py
index 337b0391..9e5fea24 100644
--- a/python/examples/login.py
+++ b/python/examples/login.py
@@ -17,8 +17,11 @@ server = lasso.Server.new("../../examples/sp.xml",
lasso.signatureMethodRsaSha1)
server.add_provider("../../examples/idp.xml", None, None)
+server_dump = server.dump()
+print server_dump
# create AuthnRequest
+server = lasso.Server.new_from_dump(server_dump)
splogin = lasso.Login.new(server, None)
ret = splogin.init_authn_request("https://identity-provider:2003/liberty-alliance/metadata")
splogin.request.set_isPassive(0)
@@ -96,5 +99,5 @@ server.add_provider("../../examples/sp.xml",
# create Response
idplogin = lasso.Login.new(server, None)
-ret = idplogin.handle_request_msg(splogin.msg_body)
+ret = idplogin.process_request_msg(splogin.msg_body)
print "samlp:AssertionArtifact = %s" % idplogin.assertionArtifact
diff --git a/python/lasso.py b/python/lasso.py
index 51d85650..ec8a10de 100644
--- a/python/lasso.py
+++ b/python/lasso.py
@@ -820,10 +820,18 @@ class Server:
return Server(obj)
new = classmethod(new)
+ def new_from_dump(cls, dump):
+ obj = lassomod.server_new_from_dump(dump)
+ return Server(obj)
+ new_from_dump = classmethod(new_from_dump)
+
def add_provider(self, metadata, public_key=None, certificate=None):
lassomod.server_add_provider(self, metadata,
public_key, certificate)
+ def dump(self):
+ return lassomod.server_dump(self)
+
class Login:
"""\brief Short desc
@@ -888,11 +896,11 @@ class Login:
def dump(self):
return lassomod.login_dump(self)
- def handle_authn_response_msg(self, authn_response_msg):
- return lassomod.login_handle_authn_response_msg(self, authn_response_msg)
+ def process_authn_response_msg(self, authn_response_msg):
+ return lassomod.login_process_authn_response_msg(self, authn_response_msg)
- def handle_request_msg(self, request_msg):
- return lassomod.login_handle_request_msg(self, request_msg)
+ def process_request_msg(self, request_msg):
+ return lassomod.login_process_request_msg(self, request_msg)
def init_authn_request(self, remote_providerID):
return lassomod.login_init_authn_request(self, remote_providerID)
diff --git a/python/lassomod.c b/python/lassomod.c
index ce18c5e4..8d6c4a69 100644
--- a/python/lassomod.c
+++ b/python/lassomod.c
@@ -210,8 +210,8 @@ static PyMethodDef lasso_methods[] = {
{"login_build_authn_response_msg", login_build_authn_response_msg, METH_VARARGS},
{"login_build_request_msg", login_build_request_msg, METH_VARARGS},
{"login_dump", login_dump, METH_VARARGS},
- {"login_handle_authn_response_msg", login_handle_authn_response_msg, METH_VARARGS},
- {"login_handle_request_msg", login_handle_request_msg, METH_VARARGS},
+ {"login_process_authn_response_msg", login_process_authn_response_msg, METH_VARARGS},
+ {"login_process_request_msg", login_process_request_msg, METH_VARARGS},
{"login_init_authn_request", login_init_authn_request, METH_VARARGS},
{"login_init_from_authn_request_msg", login_init_from_authn_request_msg, METH_VARARGS},
{"login_init_request", login_init_request, METH_VARARGS},
@@ -226,8 +226,10 @@ static PyMethodDef lasso_methods[] = {
{"logout_handle_response_msg", logout_handle_response_msg, METH_VARARGS},
/* py_server.h */
- {"server_new", server_new, METH_VARARGS},
- {"server_add_provider", server_add_provider, METH_VARARGS},
+ {"server_new", server_new, METH_VARARGS},
+ {"server_new_from_dump", server_new_from_dump, METH_VARARGS},
+ {"server_add_provider", server_add_provider, METH_VARARGS},
+ {"server_dump", server_dump, METH_VARARGS},
/* py_user.h */
{"user_new", user_new, METH_VARARGS},