Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
aports
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
645
Issues
645
List
Boards
Labels
Service Desk
Milestones
Merge Requests
166
Merge Requests
166
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alpine
aports
Commits
066b35bd
Commit
066b35bd
authored
Mar 10, 2017
by
Jakub Jirutka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
main/lua-ldap: fix segfault, iteration error and run tests
parent
23980ddb
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
230 additions
and
6 deletions
+230
-6
main/lua-ldap/APKBUILD
main/lua-ldap/APKBUILD
+22
-6
main/lua-ldap/fix-open_simple-segfault.patch
main/lua-ldap/fix-open_simple-segfault.patch
+31
-0
main/lua-ldap/fix-search-iter.patch
main/lua-ldap/fix-search-iter.patch
+18
-0
main/lua-ldap/script-to-run-test.lua-against-a-dummy-slapd.patch
...a-ldap/script-to-run-test.lua-against-a-dummy-slapd.patch
+101
-0
main/lua-ldap/update-test.lua-for-5.2.patch
main/lua-ldap/update-test.lua-for-5.2.patch
+58
-0
No files found.
main/lua-ldap/APKBUILD
View file @
066b35bd
...
...
@@ -4,15 +4,20 @@
pkgname
=
lua-ldap
_pkgname
=
lualdap
pkgver
=
1.2.3
pkgrel
=
2
pkgrel
=
3
pkgdesc
=
"Lua binding to LDAP"
url
=
"https://github.com/bdellegrazie/lualdap"
arch
=
"all"
license
=
"MIT"
depends
=
""
makedepends
=
"openldap-dev"
checkdepends
=
"bash openldap openldap-back-bdb"
subpackages
=
""
source
=
"
$_pkgname
-
$pkgver
.tar.gz::https://github.com/bdellegrazie/
$_pkgname
/archive/v
$pkgver
.tar.gz"
source
=
"
$_pkgname
-
$pkgver
.tar.gz::https://github.com/bdellegrazie/
$_pkgname
/archive/v
$pkgver
.tar.gz
fix-open_simple-segfault.patch
fix-search-iter.patch
script-to-run-test.lua-against-a-dummy-slapd.patch
update-test.lua-for-5.2.patch"
builddir
=
"
$srcdir
/
$_pkgname
-
$pkgver
"
_luaversions
=
"5.1 5.2 5.3"
...
...
@@ -37,11 +42,20 @@ build() {
msg
"Building for Lua
$lver
..."
cd
"
$builddir
-
$lver
"
make
CFLAGS
=
"-
DLDAP_DEPRECATED -fPIC -ansi
$(
pkg-config
--cflags
lua
$lver
)
"
\
make
CFLAGS
=
"-
fPIC -ansi -Wall
$(
pkg-config
--cflags
lua
$lver
)
"
\
OPENLDAP_LIB
=
"-lldap -llber"
||
return
1
done
}
check
()
{
local
lver
;
for
lver
in
$_luaversions
;
do
msg
"Testing with Lua
$lver
..."
cd
"
$builddir
-
$lver
"
make
LUA
=
lua
$lver
check
||
return
1
done
}
package
()
{
mkdir
-p
"
$pkgdir
"
}
...
...
@@ -60,6 +74,8 @@ _package() {
install
}
md5sums
=
"a9eda2f55640a8c816b4d4c6c3d7ef1b lualdap-1.2.3.tar.gz"
sha256sums
=
"efde10853429fe1c1c208604a352bee395ac897d407f9d7bf9efca62cff02f67 lualdap-1.2.3.tar.gz"
sha512sums
=
"51934d18d1ee97a0130545e657497e51542eef97c338df14e7171f94a2d6395fceb00313e1e64e46e6cdeedf85a17c63284595fdf6fbce8b7abce29d28f1b4a7 lualdap-1.2.3.tar.gz"
sha512sums
=
"51934d18d1ee97a0130545e657497e51542eef97c338df14e7171f94a2d6395fceb00313e1e64e46e6cdeedf85a17c63284595fdf6fbce8b7abce29d28f1b4a7 lualdap-1.2.3.tar.gz
6f71ec19be58e21778cdce0a28d52c2629df736a8cbd119e6b98a306f20df193c0a646449b40104490f992750d1fbcef4519238aca4b9706f7460a6238009769 fix-open_simple-segfault.patch
f1ba8e85421498abab814c20d2e410c5b13a6b63d0d56463ad38434405c5ae1cc694f168edfb37a0a727597f68dd67d511d234947b9df55d6322751275d4df61 fix-search-iter.patch
62d1fb82529ea2d5302a84d163c8cfb5f5681d2927ecb5699a486a2aaf6f6a45f9c36e18d167ed120620615db2693abed1881621e4bb0d7b992445696072989a script-to-run-test.lua-against-a-dummy-slapd.patch
970da7a53d050210298712742decdf2b617450e78ebaed993c73b5300870f2b1979661c83a82d316b37f26f373c2c86d6a024ab82c1b628c73f0ca6e9c61b0ac update-test.lua-for-5.2.patch"
main/lua-ldap/fix-open_simple-segfault.patch
0 → 100644
View file @
066b35bd
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Fri, 10 Mar 2017 00:28:52 +0100
Subject: [PATCH] Fix segfault in lualdap_open_simple()
--- a/src/lualdap.c
+++ b/src/lualdap.c
@@ -1011,7 +1011,7 @@
int use_tls = lua_toboolean (L, 4);
conn_data *conn = (conn_data *)lua_newuserdata (L, sizeof(conn_data));
#if defined(LDAP_API_FEATURE_X_OPENLDAP) && LDAP_API_FEATURE_X_OPENLDAP >= 20300
- struct berval cred = { 0, NULL };
+ struct berval *cred = NULL;
char *host_with_schema = NULL;
#endif
int err;
@@ -1045,12 +1045,9 @@
}
/* Bind to a server */
#if defined(LDAP_API_FEATURE_X_OPENLDAP) && LDAP_API_FEATURE_X_OPENLDAP >= 20300
- cred.bv_len = strlen(password);
- cred.bv_val = malloc(cred.bv_len+1);
- strcpy(cred.bv_val, password);
- err = ldap_sasl_bind_s (conn->ld, who, LDAP_SASL_SIMPLE, &cred, NULL, NULL, NULL);
- free(cred.bv_val);
- memset(&cred, 0, sizeof(cred));
+ cred = ber_bvstrdup(password);
+ err = ldap_sasl_bind_s (conn->ld, who, LDAP_SASL_SIMPLE, cred, NULL, NULL, NULL);
+ ber_bvfree(cred);
#else
err = ldap_bind_s (conn->ld, who, password, LDAP_AUTH_SIMPLE);
#endif
main/lua-ldap/fix-search-iter.patch
0 → 100644
View file @
066b35bd
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Fri, 10 Mar 2017 00:29:30 +0100
Subject: [PATCH] Fix error when calling search result iterator
This patch fixes error:
tests/test.lua:175: bad argument #1 to 'iter' (table expected, got no value)
--- a/src/lualdap.c
+++ b/src/lualdap.c
@@ -726,8 +726,6 @@
int rc;
int ret;
- luaL_checktype(L, 1, LUA_TTABLE);
-
lua_rawgeti (L, LUA_REGISTRYINDEX, search->conn);
conn = (conn_data *)lua_touserdata (L, -1); /* get connection */
main/lua-ldap/script-to-run-test.lua-against-a-dummy-slapd.patch
0 → 100644
View file @
066b35bd
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] script to run test.lua against a dummy slapd
Source: https://src.fedoraproject.org/cgit/rpms/lua-ldap.git/tree/0002-script-to-run-test.lua-against-a-dummy-slapd.patch
--- a/Makefile
+++ b/Makefile
@@ -26,3 +26,6 @@
install: src/$(LIBNAME)
clean:
rm -f $(OBJS) src/$(LIBNAME)
+
+check:
+ LUA_CPATH="src/?.so.$V" bash tests/run-tests.sh
new file mode 100755
--- /dev/null
+++ b/tests/run-tests.sh
@@ -0,0 +1,79 @@
+#!/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
+
+dn: cn=module,cn=config
+objectClass: olcModuleList
+cn: module
+olcModulepath: /usr/lib/openldap
+olcModuleload: back_bdb.so
+
+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:-lua} tests/test.lua localhost:3899 dc=example,dc=invalid uid=ldapuser,dc=example,dc=invalid "$password"
--
1.9.3
main/lua-ldap/update-test.lua-for-5.2.patch
0 → 100644
View file @
066b35bd
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] update test.lua for 5.2
Source: https://src.fedoraproject.org/cgit/rpms/lua-ldap.git/tree/0001-update-test.lua-for-5.2.patch
diff --git a/lualdap/tests/test.lua b/lualdap/tests/test.lua
index 2dce95b..76c8640 100755
--- a/tests/test.lua
+++ b/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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment