diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:07:23 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2008-04-29 12:07:23 +0000 |
| commit | 0a00f098948550d238ce7a9660bd6d4fd169a74b (patch) | |
| tree | 267a4999ee466826e9b56afe5d6320bde97fc8d7 | |
| parent | 8f3eb17e52b1b9a99f8d817b022105bb2c4a09b6 (diff) | |
| download | lasso-0a00f098948550d238ce7a9660bd6d4fd169a74b.tar.gz lasso-0a00f098948550d238ce7a9660bd6d4fd169a74b.tar.xz lasso-0a00f098948550d238ce7a9660bd6d4fd169a74b.zip | |
[project @ fpeters@0d.be-20080225121334-yi07nl8kefuefhk9]
benjamin branch
Original author: Frederic Peters <fpeters@0d.be>
Date: 2008-02-25 13:13:34.475000+01:00
| -rw-r--r-- | bindings/java/LassoException_top.java | 2 | ||||
| -rw-r--r-- | bindings/java/Makefile.am | 2 | ||||
| -rw-r--r-- | bindings/java/tests/LoginTest.java | 4 | ||||
| -rw-r--r-- | bindings/lang_java_wrapper_top.c | 4 | ||||
| -rw-r--r-- | bindings/lang_python.py | 21 | ||||
| -rw-r--r-- | bindings/overrides.xml | 18 |
6 files changed, 40 insertions, 11 deletions
diff --git a/bindings/java/LassoException_top.java b/bindings/java/LassoException_top.java index 19b4d8e0..8e08f43c 100644 --- a/bindings/java/LassoException_top.java +++ b/bindings/java/LassoException_top.java @@ -2,7 +2,7 @@ package com.entrouvert.lasso; public class LassoException extends RuntimeException { public int errorCode; - private static boolean throws_for_recoverable_errors = false; + private static boolean throws_for_recoverable_errors = true; /** If set to true, enables throwing of exception for * recoverable errors, i.e. errors with a positive error * code. diff --git a/bindings/java/Makefile.am b/bindings/java/Makefile.am index e045c6b9..d61eb035 100644 --- a/bindings/java/Makefile.am +++ b/bindings/java/Makefile.am @@ -5,6 +5,7 @@ INCLUDES = -I$(top_srcdir) \ AM_JAVACFLAGS=-C CLASSPATH_ENV= CLASSPATH=.:lasso.jar:/usr/share/java/junit.jar +JAVAROOT=. java_extension_LTLIBRARIES = libjnilasso.la java_extensiondir = ${libdir}/java @@ -48,7 +49,6 @@ $(java_lasso_source_files) com_entrouvert_lasso_LassoJNI.c: ../lang_java_wrappe $(PYTHON) $(top_srcdir)/bindings/bindings.py -l java --src-dir=$(top_srcdir)/lasso/ cp $(srcdir)/GObject.java com/entrouvert/lasso -check: JAVAROOT=. doc-publish: doc tar czf doc.tgz -C doc . diff --git a/bindings/java/tests/LoginTest.java b/bindings/java/tests/LoginTest.java index d3d29d49..a961415a 100644 --- a/bindings/java/tests/LoginTest.java +++ b/bindings/java/tests/LoginTest.java @@ -155,7 +155,7 @@ public class LoginTest extends TestCase { assertNotNull(soapRequestMsg); // Identity provider SOAP endpoint. - requestType = LassoJNI.getRequestTypeFromSoapMsg(soapRequestMsg); + requestType = LassoJNI.lasso_get_request_type_from_soap_msg(soapRequestMsg); assertEquals(LassoConstants.LASSO_REQUEST_TYPE_LOGIN, requestType); idpDump = generateIdentityProviderDump(); assertNotNull(idpDump); @@ -202,7 +202,7 @@ public class LoginTest extends TestCase { soapRequestMsg = spLogout.getMsgBody(); // Identity provider SOAP endpoint. - requestType = LassoJNI.getRequestTypeFromSoapMsg(soapRequestMsg); + requestType = LassoJNI.lasso_get_request_type_from_soap_msg(soapRequestMsg); assertEquals(LassoConstants.LASSO_REQUEST_TYPE_LOGOUT, requestType); idpDump = generateIdentityProviderDump(); assertNotNull(idpDump); diff --git a/bindings/lang_java_wrapper_top.c b/bindings/lang_java_wrapper_top.c index 60048e53..0e618652 100644 --- a/bindings/lang_java_wrapper_top.c +++ b/bindings/lang_java_wrapper_top.c @@ -70,8 +70,8 @@ static int get_hash_by_name(JNIEnv *env, GHashTable *hashtable, jstring jkey, Co #define get_hash_of_objects(env,hash,jarr) get_hash(env,"java/lang/String",hash,(Converter)gobject_to_jobject_and_ref, jarr) //#define remove_from_hash_of_strings(env,hash,key) remove_from_hash(env,hash,key) //#define remove_from_hash_of_objects(env,hash,key) remove_from_hash(env,hash,key) -#define add_to_hash_of_strings(env,hash,key,obj) add_to_hash(env,hash,key,obj,(OutConverter)jstring_to_string) -#define add_to_hash_of_objects(env,hash,key,obj) add_to_hash(env,hash,key,obj,(OutConverter)jobject_to_gobject_for_list) +#define add_to_hash_of_strings(env,hash,key,obj) add_to_hash(env,hash,key,obj,(OutConverter)jstring_to_string,(GFunc)g_free) +#define add_to_hash_of_objects(env,hash,key,obj) add_to_hash(env,hash,key,obj,(OutConverter)jobject_to_gobject_for_list,(GFunc)g_object_unref) //#define get_hash_of_strings_by_name(end,hash,key) get_hash_by_name(end,hash,key,(Converter)string_to_jstring) //#define get_hash_of_objects_by_name(end,hash,key) get_hash_by_name(end,hash,key,(Converter)gobject_to_jobject_and_ref) diff --git a/bindings/lang_python.py b/bindings/lang_python.py index 03454224..b5ce4133 100644 --- a/bindings/lang_python.py +++ b/bindings/lang_python.py @@ -33,7 +33,7 @@ class PythonBinding: def is_pygobject(self, t): return t not in ['char*', 'const char*', 'gchar*', 'const gchar*', 'GList*', 'GHashTable*', - 'int', 'gint', 'gboolean', 'const gboolean'] + self.binding_data.enums + 'int', 'gint', 'gboolean', 'const gboolean', 'xmlNode*'] + self.binding_data.enums def generate(self): fd = open('lasso.py', 'w') @@ -252,10 +252,25 @@ Saml2Subject.nameID = Saml2Subject.nameId for m in self.binding_data.functions: if m.name == method_prefix + 'new_from_dump': + c_args = [] + py_args = [] + for o in m.args: + arg_type, arg_name, arg_options = o + if arg_options.get('optional'): + py_args.append('%s = None' % arg_name) + else: + py_args.append(arg_name) + + if self.is_pygobject(arg_type): + c_args.append('%s._cptr' % arg_name) + else: + c_args.append(arg_name) + c_args = ', '.join(c_args) + py_args = ', ' + ', '.join(py_args) print >> fd, ' @classmethod' - print >> fd, ' def newFromDump(cls, dump):' + print >> fd, ' def newFromDump(cls%s):' % py_args print >> fd, ' obj = cls.__new__(cls)' - print >> fd, ' obj._cptr = _lasso.%s(dump)' % m.name[6:] + print >> fd, ' obj._cptr = _lasso.%s(%s)' % (m.name[6:], c_args) print >> fd, ' if obj._cptr is None:' print >> fd, ' raise "XXX"' print >> fd, ' return obj' diff --git a/bindings/overrides.xml b/bindings/overrides.xml index 8cfa9ffc..d88ae405 100644 --- a/bindings/overrides.xml +++ b/bindings/overrides.xml @@ -7,11 +7,11 @@ <func name="lasso_profile_is_liberty_query" rename="isLibertyQuery"/> <func name="lasso_profile_is_saml_query" rename="isSamlQuery"/> <func name="lasso_profile_get_request_type_from_soap_msg" - rename="getRequestTypeFromSoapMsg"/> + rename="lasso_get_request_type_from_soap_msg"/> <func name="lasso_session_get_assertions" return_owner="true"/> <!-- LassoProfile --> <func name="lasso_profile_get_nameIdentifier" - rename="getFederationNameIdentifier" + rename="lasso_profile_get_federation_nameIdentifier" return_owner="false" /> <func name="lasso_profile_get_identity" return_owner="false" /> <func name="lasso_profile_get_session" return_owner="false" /> @@ -22,6 +22,7 @@ <func name="lasso_identity_get_federation" return_owner="false" /> <!-- LassoServer --> <func name="lasso_server_new"> + <param name="metadata" optional="true"/> <param name="private_key" optional="true"/> <param name="private_key_password" optional="true"/> <param name="certificate" optional="true"/> @@ -46,6 +47,19 @@ <func name="lasso_login_init_idp_initiated_request"> <param name="remote_providerID" optional="true"/> </func> + <func name="lasso_login_build_assertion"> + <param name="authenticationMethod" optional="true"/> + <param name="authenticationInstant" optional="true"/> + <param name="reauthenticateOnOrAfter" optional="true"/> + <param name="notBefore" optional="true"/> + <param name="notOnOrAfter" optional="true"/> + </func> + <func name="lasso_login_process_authn_request_msg"> + <param name="authn_request_msg" optional="true"/> + </func> + <func name="lasso_login_build_response_msg"> + <param name="remote_providerID" optional="true"/> + </func> <!-- LassoLogout --> <func name="lasso_logout_init_request"> <param name="remote_providerID" optional="true"/> |
