summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:07:23 +0000
committerFrederic Peters <fpeters@entrouvert.com>2008-04-29 12:07:23 +0000
commit0a00f098948550d238ce7a9660bd6d4fd169a74b (patch)
tree267a4999ee466826e9b56afe5d6320bde97fc8d7
parent8f3eb17e52b1b9a99f8d817b022105bb2c4a09b6 (diff)
downloadlasso-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.java2
-rw-r--r--bindings/java/Makefile.am2
-rw-r--r--bindings/java/tests/LoginTest.java4
-rw-r--r--bindings/lang_java_wrapper_top.c4
-rw-r--r--bindings/lang_python.py21
-rw-r--r--bindings/overrides.xml18
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"/>