diff --git a/java/src/c/com_entrouvert_lasso_LassoLogin.c b/java/src/c/com_entrouvert_lasso_LassoLogin.c index 7824cd5d..e720de79 100644 --- a/java/src/c/com_entrouvert_lasso_LassoLogin.c +++ b/java/src/c/com_entrouvert_lasso_LassoLogin.c @@ -27,19 +27,12 @@ #include JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogin_init -(JNIEnv * env, jobject this, jobject _server, - jobject _user){ +(JNIEnv * env, jobject this, jobject _server){ LassoLogin *login; LassoServer* server; - LassoUser* user = NULL; server = (LassoServer*)getCObject(env, _server); - if(_user != NULL){ - user = (LassoUser*)getCObject(env, _user); - } - - login = LASSO_LOGIN(lasso_login_new(server, user)); - + login = LASSO_LOGIN(lasso_login_new(server)); storeCObject(env, this, login); } diff --git a/java/src/c/com_entrouvert_lasso_LassoLogout.c b/java/src/c/com_entrouvert_lasso_LassoLogout.c index 58e74c29..7d4326ce 100644 --- a/java/src/c/com_entrouvert_lasso_LassoLogout.c +++ b/java/src/c/com_entrouvert_lasso_LassoLogout.c @@ -28,16 +28,12 @@ #include JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoLogout_init -(JNIEnv * env, jobject this, jint _providerType, jobject _server, jobject _user){ +(JNIEnv * env, jobject this, jobject _server, jint _providerType){ LassoLogout *logout; LassoServer* server; - LassoUser* user = NULL; server = (LassoServer*)getCObject(env, _server); - if (_user != NULL) - user = (LassoUser*)getCObject(env, _user); - - logout = lasso_logout_new(_providerType, server, user); + logout = lasso_logout_new(server, _providerType); storeCObject(env, this, logout); } @@ -123,22 +119,6 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadRequestMsg return result; } -JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_loadUserDump -(JNIEnv * env, jobject this, jstring _userDump){ - int result; - LassoLogout* logout; - char *userDump; - - userDump = (char*)(*env)->GetStringUTFChars(env, _userDump, NULL); - - logout = getCObject(env, this); - result = lasso_logout_load_user_dump(logout, userDump); - - (*env)->ReleaseStringUTFChars(env, _userDump, userDump); - - return result; -} - JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processRequest (JNIEnv * env, jobject this){ LassoLogout* logout; @@ -162,5 +142,3 @@ JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoLogout_processResponseMsg return result; } - - diff --git a/java/src/c/com_entrouvert_lasso_LassoProfileContext.c b/java/src/c/com_entrouvert_lasso_LassoProfileContext.c index 932c167c..0315e135 100644 --- a/java/src/c/com_entrouvert_lasso_LassoProfileContext.c +++ b/java/src/c/com_entrouvert_lasso_LassoProfileContext.c @@ -178,3 +178,16 @@ JNIEXPORT void JNICALL Java_com_entrouvert_lasso_LassoProfileContext_initUserFie checkAndSetField(env, this, fieldName, fieldType, javaObjectClassName, cObject); } +JNIEXPORT jint JNICALL Java_com_entrouvert_lasso_LassoProfileContext_setUserFromDump +(JNIEnv * env, jobject this, jstring _dump) { + int result; + LassoProfileContext *profileContext; + char *dump; + + profileContext = getCObject(env, this); + dump = (char*)(*env)->GetStringUTFChars(env, _dump, NULL); + result = lasso_profile_context_set_user_from_dump(profileContext, dump); + (*env)->ReleaseStringUTFChars(env, _dump, dump); + return result; +} + diff --git a/java/src/java/com/entrouvert/lasso/LassoLogin.java b/java/src/java/com/entrouvert/lasso/LassoLogin.java index f8e1655c..3df32bd1 100644 --- a/java/src/java/com/entrouvert/lasso/LassoLogin.java +++ b/java/src/java/com/entrouvert/lasso/LassoLogin.java @@ -26,19 +26,18 @@ package com.entrouvert.lasso; public class LassoLogin extends LassoProfileContext { // LassoLogin - public LassoLogin(LassoServer server, LassoUser user){ + public LassoLogin(LassoServer server){ this.server = server; - this.user = user; - init(server, user); + init(server); } public LassoLogin(LassoServer server, LassoUser user, String dump){ this.server = server; - this.user = user; + this.user = user; initFromDump(server, user, dump); } - native protected void init(LassoServer server, LassoUser user); + native protected void init(LassoServer server); native protected void initFromDump(LassoServer server, LassoUser user, diff --git a/java/src/java/com/entrouvert/lasso/LassoLogout.java b/java/src/java/com/entrouvert/lasso/LassoLogout.java index 4c9fddca..0b37cef5 100644 --- a/java/src/java/com/entrouvert/lasso/LassoLogout.java +++ b/java/src/java/com/entrouvert/lasso/LassoLogout.java @@ -26,13 +26,12 @@ package com.entrouvert.lasso; public class LassoLogout extends LassoProfileContext { // LassoLogout - public LassoLogout(int providerType, LassoServer server, LassoUser user){ + public LassoLogout(LassoServer server, int providerType){ this.server = server; - this.user = user; - init(providerType, server, user); + init(server, providerType); } - native protected void init(int providerType, LassoServer server, LassoUser user); + native protected void init(LassoServer server, int providerType); native public int buildRequestMsg(); @@ -46,8 +45,6 @@ public class LassoLogout extends LassoProfileContext { // LassoLogout native public int loadRequestMsg(String requestMsg, int requestMethod); - native public int loadUserDump(String userDump); - native public int processRequest(); native public int processResponseMsg(String responseMsg, int responseMethod); diff --git a/java/src/java/com/entrouvert/lasso/LassoProfileContext.java b/java/src/java/com/entrouvert/lasso/LassoProfileContext.java index db32c355..6fff87ae 100644 --- a/java/src/java/com/entrouvert/lasso/LassoProfileContext.java +++ b/java/src/java/com/entrouvert/lasso/LassoProfileContext.java @@ -72,4 +72,6 @@ public abstract class LassoProfileContext extends LassoObject { // LassoProfileC return user; } + native public int setUserFromDump(String userDump); + } // LassoProfileContext diff --git a/java/tests/LoginTest.java b/java/tests/LoginTest.java index 95ebd8b0..7c7f8b22 100644 --- a/java/tests/LoginTest.java +++ b/java/tests/LoginTest.java @@ -93,7 +93,7 @@ public class LoginTest extends TestCase { spContextDump = generateServiceProviderContextDump(); assertNotNull(spContextDump); spContext = new LassoServer(spContextDump); - spLoginContext = new LassoLogin(spContext, null); + spLoginContext = new LassoLogin(spContext); assertEquals(0, spLoginContext.initAuthnRequest( "https://identity-provider:1998/liberty-alliance/metadata")); assertEquals(Lasso.messageTypeAuthnRequest, spLoginContext.getRequestType()); @@ -112,7 +112,7 @@ public class LoginTest extends TestCase { idpContextDump = generateIdentityProviderContextDump(); assertNotNull(idpContextDump); idpContext = new LassoServer(idpContextDump); - idpLoginContext = new LassoLogin(idpContext, null); + idpLoginContext = new LassoLogin(idpContext); assertEquals(0, idpLoginContext.initFromAuthnRequestMsg(authnRequestQuery, method)); assertTrue(idpLoginContext.mustAuthenticate()); @@ -135,7 +135,7 @@ public class LoginTest extends TestCase { spContextDump = generateServiceProviderContextDump(); assertNotNull(spContextDump); spContext = new LassoServer(spContextDump); - spLoginContext = new LassoLogin(spContext, null); + spLoginContext = new LassoLogin(spContext); assertEquals(0, spLoginContext.initRequest(responseQuery, method)); assertEquals(0, spLoginContext.buildRequestMsg()); soapEndpoint = spLoginContext.getMsgUrl(); @@ -162,10 +162,9 @@ public class LoginTest extends TestCase { assertNotNull(spContextDump); spContext = new LassoServer(spContextDump); assertNotNull(spContext); + spLogoutContext = new LassoLogout(spContext, Lasso.providerTypeSp); assertNotNull(spUserContextDump); - spUserContext = new LassoUser(spUserContextDump); - assertNotNull(spUserContext); - spLogoutContext = new LassoLogout(Lasso.providerTypeSp, spContext, spUserContext); + spLogoutContext.setUserFromDump(spUserContextDump); assertEquals(0, spLogoutContext.initRequest(null)); assertEquals(0, spLogoutContext.buildRequestMsg()); soapEndpoint = spLogoutContext.getMsgUrl(); @@ -178,11 +177,11 @@ public class LoginTest extends TestCase { assertNotNull(idpContextDump); idpContext = new LassoServer(idpContextDump); assertNotNull(idpContext); - idpLogoutContext = new LassoLogout(Lasso.providerTypeIdp, idpContext, null); + idpLogoutContext = new LassoLogout(idpContext, Lasso.providerTypeIdp); assertEquals(0, idpLogoutContext.loadRequestMsg(soapRequestMsg, Lasso.httpMethodSoap)); assertEquals(nameIdentifier, idpLogoutContext.getNameIdentifier()); assertNotNull(idpUserContextDump); - assertEquals(0, idpLogoutContext.loadUserDump(idpUserContextDump)); + assertEquals(0, idpLogoutContext.setUserFromDump(idpUserContextDump)); assertEquals(0, idpLogoutContext.processRequest()); idpUserContext = idpLogoutContext.getUser(); assertNotNull(idpUserContext); diff --git a/lasso/id-ff/logout.c b/lasso/id-ff/logout.c index 99b40a8a..27950a5a 100644 --- a/lasso/id-ff/logout.c +++ b/lasso/id-ff/logout.c @@ -270,21 +270,6 @@ lasso_logout_init_request(LassoLogout *logout, return(0); } -gint lasso_logout_load_user_dump(LassoLogout *logout, - gchar *user_dump) -{ - LassoProfileContext *profileContext; - - g_return_val_if_fail(LASSO_IS_LOGOUT(logout), -1); - g_return_val_if_fail(user_dump!=NULL, -1); - - profileContext = LASSO_PROFILE_CONTEXT(logout); - - profileContext->user = lasso_user_new_from_dump(user_dump); - - return(0); -} - gint lasso_logout_load_request_msg(LassoLogout *logout, gchar *request_msg, lassoHttpMethods request_method) diff --git a/lasso/id-ff/logout.h b/lasso/id-ff/logout.h index 1d5a0e24..2af82c35 100644 --- a/lasso/id-ff/logout.h +++ b/lasso/id-ff/logout.h @@ -79,9 +79,6 @@ LASSO_EXPORT gchar* lasso_logout_get_next_providerID (LassoLogout *log LASSO_EXPORT gint lasso_logout_init_request (LassoLogout *logout, gchar *remote_providerID); -LASSO_EXPORT gint lasso_logout_load_user_dump (LassoLogout *logout, - gchar *user_dump); - LASSO_EXPORT gint lasso_logout_load_request_msg (LassoLogout *logout, gchar *request_msg, lassoHttpMethods request_method); diff --git a/python/environs/py_logout.c b/python/environs/py_logout.c index 8d313e05..92381d8d 100644 --- a/python/environs/py_logout.c +++ b/python/environs/py_logout.c @@ -194,24 +194,6 @@ PyObject *logout_load_request_msg(PyObject *self, PyObject *args){ return(int_wrap(codeError)); } -PyObject *logout_load_user_dump(PyObject *self, PyObject *args){ - PyObject *logout_obj; - gchar *user_dump; - gint codeError; - - if (CheckArgs(args, "OS:logout_load_request_msg")) { - if(!PyArg_ParseTuple(args, (char *) "Os:logout_load_request_msg", - &logout_obj, &user_dump)) - return NULL; - } - else return NULL; - - codeError = lasso_logout_load_user_dump(LassoLogout_get(logout_obj), user_dump); - - return(int_wrap(codeError)); -} - - PyObject *logout_process_request(PyObject *self, PyObject *args) { PyObject *logout_obj; gint codeError; diff --git a/python/environs/py_logout.h b/python/environs/py_logout.h index 8e1f271a..44f8a4af 100644 --- a/python/environs/py_logout.h +++ b/python/environs/py_logout.h @@ -47,7 +47,6 @@ PyObject *logout_destroy(PyObject *self, PyObject *args); PyObject *logout_get_next_providerID(PyObject *self, PyObject *args); PyObject *logout_init_request(PyObject *self, PyObject *args); PyObject *logout_load_request_msg(PyObject *self, PyObject *args); -PyObject *logout_load_user_dump(PyObject *self, PyObject *args); PyObject *logout_new(PyObject *self, PyObject *args); PyObject *logout_process_request(PyObject *self, PyObject *args); PyObject *logout_process_response_msg(PyObject *self, PyObject *args); diff --git a/python/examples/logout.py b/python/examples/logout.py index 774ef79b..131e0e62 100644 --- a/python/examples/logout.py +++ b/python/examples/logout.py @@ -39,7 +39,7 @@ sp1user = lasso.User.new_from_dump(sp1user_dump) sp1logout = lasso.Logout.new(sp1server, lasso.providerTypeSp) -sp1logout.load_user_dump(sp1user_dump) +sp1logout.set_user_from_dump(sp1user_dump) sp1logout.init_request() @@ -66,7 +66,7 @@ response_msg_body = "https://service-provi idplogout.load_request_msg(msg_body, lasso.httpMethodSoap) nameIdentifier = idplogout.nameIdentifier print "get the user dump from NameIdentifier : ", nameIdentifier -idplogout.load_user_dump(idpuser_dump) +idplogout.set_user_from_dump(idpuser_dump) idplogout.process_request() print "RelayState :", idplogout.msg_relayState diff --git a/python/lasso.py b/python/lasso.py index 8d5bec62..41f68faa 100644 --- a/python/lasso.py +++ b/python/lasso.py @@ -1058,9 +1058,6 @@ class Logout(ProfileContext): def load_request_msg(self, request_msg, request_method): return lassomod.logout_load_request_msg(self, request_msg, request_method); - def load_user_dump(self, user_dump): - return lassomod.logout_load_user_dump(self, user_dump); - def process_request(self): return lassomod.logout_process_request(self); diff --git a/python/lassomod.c b/python/lassomod.c index 0fe4906d..e90f96d5 100644 --- a/python/lassomod.c +++ b/python/lassomod.c @@ -252,7 +252,6 @@ static PyMethodDef lasso_methods[] = { {"logout_get_next_providerID", logout_get_next_providerID, METH_VARARGS}, {"logout_init_request", logout_init_request, METH_VARARGS}, {"logout_load_request_msg", logout_load_request_msg, METH_VARARGS}, - {"logout_load_user_dump", logout_load_user_dump, METH_VARARGS}, {"logout_process_request", logout_process_request, METH_VARARGS}, {"logout_process_response_msg", logout_process_response_msg, METH_VARARGS}, diff --git a/python/tests/login_tests.py b/python/tests/login_tests.py index 137ef2ad..28a0b300 100644 --- a/python/tests/login_tests.py +++ b/python/tests/login_tests.py @@ -157,10 +157,9 @@ class LoginTestCase(unittest.TestCase): self.failUnless(spContextDump) spContext = lasso.Server.new_from_dump(spContextDump) self.failUnless(spContext) + spLogoutContext = lasso.Logout.new(spContext, lasso.providerTypeSp) self.failUnless(spUserContextDump) - spUserContext = lasso.User.new_from_dump(spUserContextDump) - self.failUnless(spUserContext) - spLogoutContext = lasso.Logout.new(lasso.providerTypeSp, spContext, spUserContext) + spLogoutContext.set_user_from_dump(spUserContextDump) self.failUnlessEqual(spLogoutContext.init_request(), 0) self.failUnlessEqual(spLogoutContext.build_request_msg(), 0) soapEndpoint = spLogoutContext.msg_url @@ -173,12 +172,12 @@ class LoginTestCase(unittest.TestCase): self.failUnless(idpContextDump) idpContext = lasso.Server.new_from_dump(idpContextDump) self.failUnless(idpContext) - idpLogoutContext = lasso.Logout.new(lasso.providerTypeIdp, idpContext) + idpLogoutContext = lasso.Logout.new(idpContext, lasso.providerTypeIdp) self.failUnlessEqual( idpLogoutContext.load_request_msg(soapRequestMsg, lasso.httpMethodSoap), 0) self.failUnlessEqual(idpLogoutContext.nameIdentifier, nameIdentifier) self.failUnless(idpUserContextDump) - self.failUnlessEqual(idpLogoutContext.load_user_dump(idpUserContextDump), 0) + self.failUnlessEqual(idpLogoutContext.set_user_from_dump(idpUserContextDump), 0) self.failUnlessEqual(idpLogoutContext.process_request(), 0) idpUserContext = idpLogoutContext.user self.failUnless(idpUserContext) diff --git a/tests/.cvsignore b/tests/.cvsignore index 3c7b2101..a9b55374 100644 --- a/tests/.cvsignore +++ b/tests/.cvsignore @@ -3,3 +3,4 @@ login_tests .libs Makefile.in Makefile +out.xml diff --git a/tests/login_tests.c b/tests/login_tests.c index e969837c..b9ac54ea 100644 --- a/tests/login_tests.c +++ b/tests/login_tests.c @@ -224,8 +224,8 @@ START_TEST(test02_serviceProviderLogin) LASSO_PROFILE_CONTEXT(spLogoutContext)->msg_body, lassoHttpMethodSoap); fail_unless(rc == 0, "lasso_logout_load_request_msg failed"); - rc = lasso_logout_load_user_dump(idpLogoutContext, idpUserContextDump); - fail_unless(rc == 0, "lasso_logout_load_user_dump failed"); + rc = lasso_profile_context_set_user_from_dump(idpLogoutContext, idpUserContextDump); + fail_unless(rc == 0, "lasso_profile_context_set_user_from_dump failed"); rc = lasso_logout_process_request(idpLogoutContext); fail_unless(rc == 0, "lasso_logout_process_request failed"); fail_unless(lasso_logout_get_next_providerID(idpLogoutContext) == NULL,