parent
1cad9b9a7f
commit
680634475f
5 changed files with 220 additions and 13 deletions
@ -0,0 +1,58 @@ |
||||
From 85891948cd7b6e9eed2c0e4b199de2a8d19a0824 Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <dcallagh@redhat.com>
|
||||
Date: Mon, 30 Jun 2014 11:18:04 +1000
|
||||
Subject: [PATCH 1/2] update test.lua for 5.2
|
||||
|
||||
|
||||
diff --git a/lualdap/tests/test.lua b/lualdap/tests/test.lua
|
||||
index 2dce95b..76c8640 100755
|
||||
--- a/lualdap/tests/test.lua
|
||||
+++ b/lualdap/tests/test.lua
|
||||
@@ -27,7 +27,7 @@ function print_attrs (dn, attrs)
|
||||
if tv == "string" then
|
||||
io.write (values)
|
||||
elseif tv == "table" then
|
||||
- local n = table.getn (values)
|
||||
+ local n = #values
|
||||
for i = 1, n-1 do
|
||||
io.write (values[i]..",")
|
||||
end
|
||||
@@ -77,7 +77,7 @@ function test_object (obj, objmethods)
|
||||
-- trying to set metatable.
|
||||
assert2 (false, pcall (setmetatable, ENV, {}))
|
||||
-- checking existence of object's methods.
|
||||
- for i = 1, table.getn (objmethods) do
|
||||
+ for i = 1, #objmethods do
|
||||
local method = obj[objmethods[i]]
|
||||
assert2 ("function", type(method))
|
||||
assert2 (false, pcall (method), "no 'self' parameter accepted")
|
||||
@@ -128,7 +128,7 @@ end
|
||||
-- checks return value which should be a function AND also its return value.
|
||||
---------------------------------------------------------------------
|
||||
function check_future (ret, method, ...)
|
||||
- local ok, f = pcall (method, unpack (arg))
|
||||
+ local ok, f = pcall (method, ...)
|
||||
assert (ok, f)
|
||||
assert2 ("function", type(f))
|
||||
assert2 (ret, f())
|
||||
@@ -377,7 +377,7 @@ tests = {
|
||||
-- Main
|
||||
---------------------------------------------------------------------
|
||||
|
||||
-if table.getn(arg) < 1 then
|
||||
+if #arg < 1 then
|
||||
print (string.format ("Usage %s host[:port] base [who [password]]", arg[0]))
|
||||
os.exit()
|
||||
end
|
||||
@@ -390,7 +390,7 @@ PASSWORD = arg[4]
|
||||
require"lualdap"
|
||||
assert (type(lualdap)=="table", "couldn't load LDAP library")
|
||||
|
||||
-for i = 1, table.getn (tests) do
|
||||
+for i = 1, #tests do
|
||||
local t = tests[i]
|
||||
io.write (t[1].." ...")
|
||||
t[2] ()
|
||||
--
|
||||
1.9.3
|
||||
|
@ -0,0 +1,99 @@ |
||||
From 847bbf5dbd8053ce21c90dd808ed98ff4b6e742a Mon Sep 17 00:00:00 2001
|
||||
From: Dan Callaghan <dcallagh@redhat.com>
|
||||
Date: Mon, 30 Jun 2014 11:27:56 +1000
|
||||
Subject: [PATCH 2/2] script to run test.lua against a dummy slapd
|
||||
|
||||
|
||||
diff --git a/lualdap/Makefile b/lualdap/Makefile
|
||||
index 6a4f06d..101a07f 100755
|
||||
--- a/lualdap/Makefile
|
||||
+++ b/lualdap/Makefile
|
||||
@@ -26,3 +26,6 @@ install: src/$(LIBNAME)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) src/$(LIBNAME)
|
||||
+
|
||||
+check:
|
||||
+ LUA_CPATH="src/?.so.$V" tests/run-tests.sh
|
||||
diff --git a/lualdap/tests/run-tests.sh b/lualdap/tests/run-tests.sh
|
||||
new file mode 100755
|
||||
index 0000000..22ac84b
|
||||
--- /dev/null
|
||||
+++ b/lualdap/tests/run-tests.sh
|
||||
@@ -0,0 +1,73 @@
|
||||
+#!/bin/bash
|
||||
+set -ex
|
||||
+
|
||||
+d=$(readlink -f "$(dirname $0)")
|
||||
+password=thepassword
|
||||
+
|
||||
+rm -rf "$d/slapd-config" "$d/slapd-data"
|
||||
+mkdir "$d/slapd-config" "$d/slapd-data"
|
||||
+
|
||||
+# populate slapd config
|
||||
+slapadd -F "$d/slapd-config" -n0 <<EOF
|
||||
+dn: cn=config
|
||||
+objectClass: olcGlobal
|
||||
+cn: config
|
||||
+olcPidFile: $d/slapd.pid
|
||||
+
|
||||
+dn: cn=schema,cn=config
|
||||
+objectClass: olcSchemaConfig
|
||||
+cn: schema
|
||||
+
|
||||
+include: file:///etc/openldap/schema/core.ldif
|
||||
+include: file:///etc/openldap/schema/cosine.ldif
|
||||
+include: file:///etc/openldap/schema/inetorgperson.ldif
|
||||
+include: file:///etc/openldap/schema/nis.ldif
|
||||
+
|
||||
+dn: olcDatabase=config,cn=config
|
||||
+objectClass: olcDatabaseConfig
|
||||
+olcDatabase: config
|
||||
+olcAccess: to * by * none
|
||||
+
|
||||
+dn: olcDatabase=bdb,cn=config
|
||||
+objectClass: olcDatabaseConfig
|
||||
+objectClass: olcBdbConfig
|
||||
+olcDatabase: bdb
|
||||
+olcSuffix: dc=example,dc=invalid
|
||||
+olcDbDirectory: $d/slapd-data
|
||||
+olcDbIndex: objectClass eq
|
||||
+olcAccess: to * by * write
|
||||
+#olcAccess: to * by users write
|
||||
+EOF
|
||||
+
|
||||
+# populate slapd data
|
||||
+slapadd -F "$d/slapd-config" -n1 <<EOF
|
||||
+dn: dc=example,dc=invalid
|
||||
+objectClass: top
|
||||
+objectClass: domain
|
||||
+
|
||||
+#dn: ou=users,dc=example,dc=invalid
|
||||
+#objectClass: top
|
||||
+#objectClass: organizationalUnit
|
||||
+#ou: users
|
||||
+
|
||||
+dn: uid=ldapuser,dc=example,dc=invalid
|
||||
+objectClass: top
|
||||
+objectClass: person
|
||||
+objectClass: organizationalperson
|
||||
+objectClass: inetorgperson
|
||||
+objectClass: posixAccount
|
||||
+cn: My LDAP User
|
||||
+givenName: My
|
||||
+sn: LDAP User
|
||||
+uid: ldapuser
|
||||
+uidNumber: 15549
|
||||
+gidNumber: 15549
|
||||
+homeDirectory: /home/lol
|
||||
+mail: ldapuser@example.invalid
|
||||
+userPassword: $(slappasswd -s "$password")
|
||||
+EOF
|
||||
+
|
||||
+slapd -F "$d/slapd-config" -h ldap://localhost:3899/
|
||||
+trap 'kill -TERM $(cat "$d/slapd.pid")' EXIT
|
||||
+
|
||||
+lua tests/test.lua localhost:3899 dc=example,dc=invalid uid=ldapuser,dc=example,dc=invalid "$password"
|
||||
--
|
||||
1.9.3
|
||||
|
@ -0,0 +1,35 @@ |
||||
From 0d2e40bb182d8e417a5dac9000e5a5bb17422adf Mon Sep 17 00:00:00 2001
|
||||
From: Dennis Schridde <devurandom@gmx.net>
|
||||
Date: Thu, 31 May 2012 17:30:49 +0200
|
||||
Subject: [PATCH] Fix potential Lua error (attempt to concatenate a nil value)
|
||||
when ldap_parse_result returns a NULL error message
|
||||
|
||||
---
|
||||
src/lualdap.c | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/lualdap.c b/src/lualdap.c
|
||||
index 99c756e..d170038 100755
|
||||
--- a/src/lualdap.c
|
||||
+++ b/src/lualdap.c
|
||||
@@ -436,10 +436,14 @@ static int result_message (lua_State *L) {
|
||||
default:
|
||||
lua_pushnil (L);
|
||||
lua_pushliteral (L, LUALDAP_PREFIX);
|
||||
- lua_pushstring (L, msg);
|
||||
- lua_pushliteral (L, " ");
|
||||
lua_pushstring (L, ldap_err2string(err));
|
||||
- lua_concat (L, 4);
|
||||
+ lua_concat (L, 2);
|
||||
+ if (msg != NULL) {
|
||||
+ lua_pushliteral (L, " (");
|
||||
+ lua_pushstring (L, msg);
|
||||
+ lua_pushliteral (L, ")");
|
||||
+ lua_concat (L, 4);
|
||||
+ }
|
||||
ret = 2;
|
||||
}
|
||||
ldap_memfree (mdn);
|
||||
--
|
||||
1.9.3
|
||||
|
Loading…
Reference in new issue