* update libsasl to 2.1.28-5

This commit is contained in:
Alexander Baldeck 2024-09-23 21:37:27 +02:00
parent 5f75e5d5c4
commit 5a201c1020
16 changed files with 216 additions and 472 deletions

29
libsasl/.SRCINFO Normal file
View File

@ -0,0 +1,29 @@
pkgbase = libsasl
pkgdesc = Cyrus Simple Authentication Service Layer (SASL) library
pkgver = 2.1.28
pkgrel = 5
url = https://www.cyrusimap.org/sasl/
arch = x86_64
license = BSD-3-Clause-Attribution
makedepends = gdbm
makedepends = git
makedepends = krb5
makedepends = libldap
makedepends = mariadb-libs
makedepends = openssl
makedepends = postgresql-libs
makedepends = sqlite
depends = glibc
provides = libsasl2.so
source = cyrus-sasl::git+https://github.com/cyrusimap/cyrus-sasl.git?signed#tag=cyrus-sasl-2.1.28
validpgpkeys = 829F339F8C296FE80F409D93E3D7C118C7B9F46A
validpgpkeys = DEA1999F0CDB1AAEBA001E0DBEE3E3B4D2F06546
sha512sums = a055876910be34d59c6e1c8891244975d213490ba6aa0924e5f018094f3ef01871f627b076d6a6ad9547f77ad528f0ac20b3c0efd391cac97bb9e024de037271
b2sums = c4d417139a81ffb1ade5456ecd14be77bd2e0ff0e59cf818206dc3df78a4d4be1ee5b0988d3a3edbb1542041b9f3b921d855075df5d86b0458b99020192170d1
pkgname = libsasl
depends = glibc
depends = gdbm
depends = libgdbm.so
depends = openssl
depends = libcrypto.so

4
libsasl/.nvchecker.toml Normal file
View File

@ -0,0 +1,4 @@
[libsasl]
source = "git"
git = "https://github.com/cyrusimap/cyrus-sasl"
prefix = "cyrus-sasl-"

View File

@ -1,41 +0,0 @@
From: Debian Cyrus SASL Team
<pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
Date: Thu, 24 Mar 2016 11:35:03 +0100
Subject: Update saslauthd.conf location in documentation
date format (cosmetic).
---
saslauthd/saslauthd.mdoc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/saslauthd/saslauthd.mdoc b/saslauthd/saslauthd.mdoc
index 0c2209e..17c9284 100644
--- a/saslauthd/saslauthd.mdoc
+++ b/saslauthd/saslauthd.mdoc
@@ -10,7 +10,7 @@
.\" manpage in saslauthd.8 whenever you change this source
.\" version. Only the pre-formatted manpage is installed.
.\"
-.Dd 12 12 2005
+.Dd December 12 2005
.Dt SASLAUTHD 8
.Os "CMU-SASL"
.Sh NAME
@@ -245,7 +245,7 @@ instead.
.Em (All platforms that support OpenLDAP 2.0 or higher)
.Pp
Authenticate against an ldap server. The ldap configuration parameters are
-read from /usr/local/etc/saslauthd.conf. The location of this file can be
+read from /etc/saslauthd.conf. The location of this file can be
changed with the -O parameter. See the LDAP_SASLAUTHD file included with the
distribution for the list of available parameters.
.It Li sia
@@ -278,7 +278,7 @@ was never intended to be used in this manner, anyway.)
.Bl -tag -width "/var/run/saslauthd/mux"
.It Pa /var/run/saslauthd/mux
The default communications socket.
-.It Pa /usr/local/etc/saslauthd.conf
+.It Pa /etc/saslauthd.conf
The default configuration file for ldap support.
.El
.Sh SEE ALSO

View File

@ -1,22 +0,0 @@
From: Debian Cyrus SASL Team
<pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
Date: Thu, 24 Mar 2016 11:35:03 +0100
Subject: Enable autoconf maintainer mode
---
configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac
index 388f5d0..b3db52c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -69,6 +69,8 @@ AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([1.11 tar-ustar dist-bzip2 foreign -Wno-portability subdir-objects])
+AM_MAINTAINER_MODE
+
DIRS=""
AC_ARG_ENABLE(cmulocal,

View File

@ -1,37 +0,0 @@
From: Debian Cyrus SASL Team
<pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
Date: Thu, 24 Mar 2016 11:35:04 +0100
Subject: Update required libraries when ld --as-needed is used
it.
---
saslauthd/Makefile.am | 2 +-
sasldb/Makefile.am | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/saslauthd/Makefile.am b/saslauthd/Makefile.am
index 864b29b..4cf3a3d 100644
--- a/saslauthd/Makefile.am
+++ b/saslauthd/Makefile.am
@@ -25,7 +25,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c getnameinfo.c
saslauthd_DEPENDENCIES = saslauthd-main.o $(LTLIBOBJS_FULL)
saslauthd_LDADD = @SASL_KRB_LIB@ \
@GSSAPIBASE_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
+ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS)
testsaslauthd_SOURCES = testsaslauthd.c utils.c
testsaslauthd_LDADD = @LIB_SOCKET@
diff --git a/sasldb/Makefile.am b/sasldb/Makefile.am
index 497ee25..a27645f 100644
--- a/sasldb/Makefile.am
+++ b/sasldb/Makefile.am
@@ -54,6 +54,6 @@ noinst_LTLIBRARIES = libsasldb.la
libsasldb_la_SOURCES = allockey.c sasldb.h
EXTRA_libsasldb_la_SOURCES = $(extra_common_sources)
-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND)
-libsasldb_la_LIBADD = $(SASL_DB_BACKEND)
+libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
+libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB)
libsasldb_la_LDFLAGS = -no-undefined

View File

@ -1,153 +0,0 @@
From: Debian Cyrus SASL Team
<pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
Date: Thu, 24 Mar 2016 11:35:04 +0100
Subject: Don't use la files for opening plugins
---
lib/dlopen.c | 121 ++++-------------------------------------------------------
1 file changed, 7 insertions(+), 114 deletions(-)
diff --git a/lib/dlopen.c b/lib/dlopen.c
index 8284cd8..ef90b11 100644
--- a/lib/dlopen.c
+++ b/lib/dlopen.c
@@ -246,113 +246,6 @@ static int _sasl_plugin_load(char *plugin, void *library,
return result;
}
-/* this returns the file to actually open.
- * out should be a buffer of size PATH_MAX
- * and may be the same as in. */
-
-/* We'll use a static buffer for speed unless someone complains */
-#define MAX_LINE 2048
-
-static int _parse_la(const char *prefix, const char *in, char *out)
-{
- FILE *file;
- size_t length;
- char line[MAX_LINE];
- char *ntmp = NULL;
-
- if(!in || !out || !prefix || out == in) return SASL_BADPARAM;
-
- /* Set this so we can detect failure */
- *out = '\0';
-
- length = strlen(in);
-
- if (strcmp(in + (length - strlen(LA_SUFFIX)), LA_SUFFIX)) {
- if(!strcmp(in + (length - strlen(SO_SUFFIX)),SO_SUFFIX)) {
- /* check for a .la file */
- if (strlen(prefix) + strlen(in) + strlen(LA_SUFFIX) + 1 >= MAX_LINE)
- return SASL_BADPARAM;
- strcpy(line, prefix);
- strcat(line, in);
- length = strlen(line);
- *(line + (length - strlen(SO_SUFFIX))) = '\0';
- strcat(line, LA_SUFFIX);
- file = fopen(line, "r");
- if(file) {
- /* We'll get it on the .la open */
- fclose(file);
- return SASL_FAIL;
- }
- }
- if (strlen(prefix) + strlen(in) + 1 >= PATH_MAX)
- return SASL_BADPARAM;
- strcpy(out, prefix);
- strcat(out, in);
- return SASL_OK;
- }
-
- if (strlen(prefix) + strlen(in) + 1 >= MAX_LINE)
- return SASL_BADPARAM;
- strcpy(line, prefix);
- strcat(line, in);
-
- file = fopen(line, "r");
- if(!file) {
- _sasl_log(NULL, SASL_LOG_WARN,
- "unable to open LA file: %s", line);
- return SASL_FAIL;
- }
-
- while(!feof(file)) {
- if(!fgets(line, MAX_LINE, file)) break;
- if(line[strlen(line) - 1] != '\n') {
- _sasl_log(NULL, SASL_LOG_WARN,
- "LA file has too long of a line: %s", in);
- fclose(file);
- return SASL_BUFOVER;
- }
- if(line[0] == '\n' || line[0] == '#') continue;
- if(!strncmp(line, "dlname=", sizeof("dlname=") - 1)) {
- /* We found the line with the name in it */
- char *end;
- char *start;
- size_t len;
- end = strrchr(line, '\'');
- if(!end) continue;
- start = &line[sizeof("dlname=")-1];
- len = strlen(start);
- if(len > 3 && start[0] == '\'') {
- ntmp=&start[1];
- *end='\0';
- /* Do we have dlname="" ? */
- if(ntmp == end) {
- _sasl_log(NULL, SASL_LOG_DEBUG,
- "dlname is empty in .la file: %s", in);
- fclose(file);
- return SASL_FAIL;
- }
- strcpy(out, prefix);
- strcat(out, ntmp);
- }
- break;
- }
- }
- if(ferror(file) || feof(file)) {
- _sasl_log(NULL, SASL_LOG_WARN,
- "Error reading .la: %s\n", in);
- fclose(file);
- return SASL_FAIL;
- }
- fclose(file);
-
- if(!(*out)) {
- _sasl_log(NULL, SASL_LOG_WARN,
- "Could not find a dlname line in .la file: %s", in);
- return SASL_FAIL;
- }
-
- return SASL_OK;
-}
#endif /* DO_DLOPEN */
/* loads a plugin library */
@@ -506,18 +399,18 @@ int _sasl_load_plugins(const add_plugin_list_t *entrypoints,
if (length + pos>=PATH_MAX) continue; /* too big */
if (strcmp(dir->d_name + (length - strlen(SO_SUFFIX)),
- SO_SUFFIX)
- && strcmp(dir->d_name + (length - strlen(LA_SUFFIX)),
- LA_SUFFIX))
+ SO_SUFFIX))
continue;
+ /* We only use .so files for loading plugins */
+
memcpy(name,dir->d_name,length);
name[length]='\0';
- result = _parse_la(prefix, name, tmp);
- if(result != SASL_OK)
- continue;
-
+ /* Create full name with path */
+ strncpy(tmp, prefix, PATH_MAX);
+ strncat(tmp, name, PATH_MAX);
+
/* skip "lib" and cut off suffix --
this only need be approximate */
strcpy(plugname, name + 3);

View File

@ -1,26 +0,0 @@
From 31b68a9438c24fc9e3e52f626462bf514de31757 Mon Sep 17 00:00:00 2001
From: Ryan Tandy <ryan@nardis.ca>
Date: Mon, 24 Dec 2018 15:07:02 -0800
Subject: [PATCH] Restore LIBS after checking gss_inquire_sec_context_by_oid
Fixes: 4b0306dcd76031460246b2dabcb7db766d6b04d8
---
m4/sasl2.m4 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/m4/sasl2.m4 b/m4/sasl2.m4
index 56e0504a..17f5d081 100644
--- a/m4/sasl2.m4
+++ b/m4/sasl2.m4
@@ -311,9 +311,10 @@ if test "$gssapi" != no; then
[AC_DEFINE(HAVE_GSS_C_SEC_CONTEXT_SASL_SSF,,
[Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF])])
fi
+ LIBS="$cmu_save_LIBS"
+
cmu_save_LIBS="$LIBS"
LIBS="$LIBS $GSSAPIBASE_LIBS"
-
AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries])
AC_TRY_RUN([
#ifdef HAVE_GSSAPI_H

View File

@ -1,66 +0,0 @@
From: Debian Cyrus SASL Team
<pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
Date: Thu, 24 Mar 2016 11:35:05 +0100
Subject: Fix keytab option for MIT Kerberos
---
m4/sasl2.m4 | 1 +
plugins/gssapi.c | 11 ++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/m4/sasl2.m4 b/m4/sasl2.m4
index 56e0504..a90f7b4 100644
--- a/m4/sasl2.m4
+++ b/m4/sasl2.m4
@@ -282,6 +282,7 @@ if test "$gssapi" != no; then
])
fi
fi
+ AC_CHECK_FUNCS(krb5_gss_register_acceptor_identity)
AC_CHECK_FUNCS(gss_decapsulate_token)
AC_CHECK_FUNCS(gss_encapsulate_token)
AC_CHECK_FUNCS(gss_oid_equal)
diff --git a/plugins/gssapi.c b/plugins/gssapi.c
index ff663da..7c69ac2 100644
--- a/plugins/gssapi.c
+++ b/plugins/gssapi.c
@@ -1545,7 +1545,7 @@ static sasl_server_plug_t gssapi_server_plugins[] =
};
int gssapiv2_server_plug_init(
-#ifndef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
+#if !defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) && !defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
const sasl_utils_t *utils __attribute__((unused)),
#else
const sasl_utils_t *utils,
@@ -1555,7 +1555,7 @@ int gssapiv2_server_plug_init(
sasl_server_plug_t **pluglist,
int *plugcount)
{
-#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
+#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
const char *keytab = NULL;
char keytab_path[1024];
unsigned int rl;
@@ -1565,7 +1565,7 @@ int gssapiv2_server_plug_init(
return SASL_BADVERS;
}
-#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
+#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
/* unfortunately, we don't check for readability of keytab if it's
the standard one, since we don't know where it is */
@@ -1587,7 +1587,12 @@ int gssapiv2_server_plug_init(
strncpy(keytab_path, keytab, 1024);
+#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
gsskrb5_register_acceptor_identity(keytab_path);
+#endif
+#ifdef HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY
+ krb5_gss_register_acceptor_identity(keytab_path);
+#endif
}
#endif

View File

@ -1,23 +0,0 @@
From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= <ondrej@sury.org>
Date: Tue, 25 Oct 2016 12:33:27 +0200
Subject: Add ${with_pgsql}include/postgresql/ to include path
---
configure.ac | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index fe7f0eb..1882f31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -894,7 +894,9 @@ case "$with_pgsql" in
LIB_PGSQL_DIR=$LIB_PGSQL
LIB_PGSQL="$LIB_PGSQL -lpq"
- if test -d ${with_pgsql}/include/pgsql; then
+ if test -d ${with_pgsql}/include/postgresql/; then
+ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/postgresql"
+ elif test -d ${with_pgsql}/include/pgsql; then
CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql"
elif test -d ${with_pgsql}/pgsql/include; then
CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include"

View File

@ -10,95 +10,113 @@
_name=cyrus-sasl
pkgname=libsasl
pkgver=2.1.28
pkgrel=4
pkgrel=5
pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library"
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
url="https://www.cyrusimap.org/sasl/"
license=(custom)
depends=(gdbm libgdbm.so glibc openssl)
makedepends=(krb5 libldap mariadb-libs postgresql-libs sqlite)
_url=https://github.com/cyrusimap/cyrus-sasl
license=(BSD-3-Clause-Attribution)
depends=(glibc)
makedepends=(
gdbm
git
krb5
libldap
mariadb-libs
openssl
postgresql-libs
sqlite
)
provides=(libsasl2.so)
source=(https://github.com/cyrusimap/$_name/releases/download/$_name-$pkgver/$_name-$pkgver.tar.gz{,.sig}
openssl3.patch::https://patch-diff.githubusercontent.com/raw/cyrusimap/cyrus-sasl/pull/653.patch
openssl3-legacy-provider.patch::https://github.com/cyrusimap/cyrus-sasl/pull/668/commits/54f69880fa92bb0d0cf4d55bab0914822a873d8d.patch
openssl3-remove-rc4-custom-code.patch::https://github.com/cyrusimap/cyrus-sasl/pull/668/commits/725df6cdadc11cf1bbbfa3a57982ec19624c6fbe.patch)
sha512sums=('db15af9079758a9f385457a79390c8a7cd7ea666573dace8bf4fb01bb4b49037538d67285727d6a70ad799d2e2318f265c9372e2427de9371d626a1959dd6f78'
'SKIP'
'5c573e9a6e39a6012b1ef93a37b0083b3936a9955e9403810697fd6bf553adcbd30ec3d610f21488165ed8c6556030ac17558afcb3705979bb9f7710031caa28'
'c124e407fe5eeace728b22fe107daba7581005312a6ddeeaa5f869d6f1b1ff8b5ba0ff7b1862a5238b7100ffc53ed6b7bb57f21b4e68b5433396f3cf914598d4'
'83b8795ade33399dded6d4dbcf1a7b5bc91145f1ffbe6ab2b7cf86f375a4729b7fa5c7ad7af5e60e4ff88067393d08c5e76c81f7c59ba3f13c6e8fc1fe7b6a7d')
b2sums=('6cca8c26cebb9c2ee5d539c43797d30b6309a476ec4233225789978e1d7315c4ea5d2abbc7f5464be0f3c0de5fd9212706b43fbc92f40b76cd0b1013cc00f823'
'SKIP'
'ceaf3e4cbddfd9d1e7512ed24123d40f69f9d8a831c758f36d0eabb1734c41c37afcad8ef9749f39984c0e79e8e586f54c0c86d45c68b50689474e52a5df1779'
'145c83ece1f6bd3691cb3a58d1f6398092ad57cd2bc8c5abf44127cf5593bf5029ace442edb64b5eedf93c3d42c4caf243b89dce549b14cb9d5563710e397623'
'940e26037575f03d62267662c3961bc9caf8639c2bfa8d19a00e2ada606ea7f9020a6de2b2557b432a1534764447f0ebf4c77a9a42b329bdb81159b336b0780f')
source=(
$_name::git+$_url.git?signed#tag=$_name-$pkgver
)
sha512sums=('a055876910be34d59c6e1c8891244975d213490ba6aa0924e5f018094f3ef01871f627b076d6a6ad9547f77ad528f0ac20b3c0efd391cac97bb9e024de037271')
b2sums=('c4d417139a81ffb1ade5456ecd14be77bd2e0ff0e59cf818206dc3df78a4d4be1ee5b0988d3a3edbb1542041b9f3b921d855075df5d86b0458b99020192170d1')
validpgpkeys=(
'829F339F8C296FE80F409D93E3D7C118C7B9F46A' # Partha Susarla <mail@spartha.org>
'DEA1999F0CDB1AAEBA001E0DBEE3E3B4D2F06546' # Quanah Gibson-Mount <quanah@fast-mail.org>
)
prepare() {
cd $_name-$pkgver
patch -Np1 < ../openssl3.patch
patch -Np1 < ../openssl3-legacy-provider.patch
patch -Np1 < ../openssl3-remove-rc4-custom-code.patch
local commit
local cherry_picks=(
2d2e97b0eb53fa7f87a3bf1529d8f712dd954480 # fix for CVE-2022-24407
266f0acf7f5e029afbb3e263437039e50cd6c262 # fix issues with time.h detection https://github.com/cyrusimap/cyrus-sasl/issues/859
887dbc0435056ec58ee48c4d803f110ade1e4c39 # openssl 3.0 support: https://github.com/cyrusimap/cyrus-sasl/pull/653
dfaa62392e7caecc6ecf0097b4d73738ec4fc0a8 # openssl 3.0 support: https://github.com/cyrusimap/cyrus-sasl/pull/653
c2bd3afbca57f176d8c650670ce371444bb7fcc0 # openssl 3.0 support: https://github.com/cyrusimap/cyrus-sasl/pull/653
)
cd $_name
for commit in "${cherry_picks[@]}"; do
git cherry-pick -n "$commit"
done
autoreconf -fiv
}
build() {
cd $_name-$pkgver
./configure --prefix=/usr \
--disable-krb4 \
--disable-macos-framework \
--disable-otp \
--disable-passdss \
--disable-srp \
--disable-srp-setpass \
--disable-static \
--enable-alwaystrue \
--enable-anon \
--enable-auth-sasldb \
--enable-checkapop \
--enable-cram \
--enable-digest \
--enable-gssapi \
--enable-ldapdb \
--enable-login \
--enable-ntlm \
--enable-plain \
--enable-shared \
--enable-sql \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
--sbin=/usr/bin \
--sysconfdir=/etc \
--with-dblib=gdbm \
--with-devrandom=/dev/urandom \
--with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \
--with-ldap \
--with-mysql=/usr \
--with-pam \
--with-pgsql=/usr/lib \
--with-saslauthd=/var/run/saslauthd \
--with-sqlite3=/usr/lib
local configure_options=(
--disable-krb4
--disable-macos-framework
--disable-otp
--disable-passdss
--disable-srp
--disable-srp-setpass
--disable-static
--enable-alwaystrue
--enable-anon
--enable-auth-sasldb
--enable-checkapop
--enable-cram
--enable-digest
--enable-gssapi
--enable-ldapdb
--enable-login
--enable-ntlm
--enable-plain
--enable-shared
--enable-sql
--infodir=/usr/share/info
--mandir=/usr/share/man
--prefix=/usr
--sbin=/usr/bin
--sysconfdir=/etc
--with-dblib=gdbm
--with-devrandom=/dev/urandom
--with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2
--with-ldap
--with-mysql=/usr
--with-pam
--with-pgsql=/usr/lib
--with-saslauthd=/var/run/saslauthd
--with-sqlite3=/usr/lib
)
cd $_name
./configure "${configure_options[@]}"
# prevent excessive overlinking by libtool
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
check() {
make -k check -C $_name-$pkgver
make -k check -C $_name
}
package() {
depends+=(
gdbm libgdbm.so
openssl libcrypto.so
)
local _target
make DESTDIR="$pkgdir" install-pkgconfigDATA -C $_name-$pkgver
make DESTDIR="$pkgdir" install-pkgconfigDATA -C $_name
for _target in include lib sasldb plugins utils; do
make DESTDIR="$pkgdir" install -C $_name-$pkgver/$_target
make DESTDIR="$pkgdir" install -C $_name/$_target
done
install -vDm 644 $_name-$pkgver/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
install -vDm 644 $_name/COPYING -t "$pkgdir/usr/share/licenses/$pkgname/"
# remove files provided by extra/cyrus-sasl
rm -fv "$pkgdir"/usr/lib/sasl2/lib{gs2,gssapiv2,ldapdb,sql}.so*
}

View File

@ -1,29 +0,0 @@
From af48f6fec9a7b6374d4153c5db894d4a1f349645 Mon Sep 17 00:00:00 2001
From: Jonas Jelten <jj@sft.mx>
Date: Sat, 2 Feb 2019 20:53:37 +0100
Subject: [PATCH] db_gdbm: fix gdbm_errno overlay from gdbm_close
`gdbm_close` also sets gdbm_errno since version 1.17.
This leads to a problem in `libsasl` as the `gdbm_close` incovation overlays
the `gdbm_errno` value which is then later used for the error handling.
---
sasldb/db_gdbm.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sasldb/db_gdbm.c b/sasldb/db_gdbm.c
index ee56a6bf..c908808e 100644
--- a/sasldb/db_gdbm.c
+++ b/sasldb/db_gdbm.c
@@ -107,9 +107,11 @@ int _sasldb_getdata(const sasl_utils_t *utils,
gkey.dptr = key;
gkey.dsize = key_len;
gvalue = gdbm_fetch(db, gkey);
+ int fetch_errno = gdbm_errno;
+
gdbm_close(db);
if (! gvalue.dptr) {
- if (gdbm_errno == GDBM_ITEM_NOT_FOUND) {
+ if (fetch_errno == GDBM_ITEM_NOT_FOUND) {
utils->seterror(conn, SASL_NOLOG,
"user: %s@%s property: %s not found in %s",
authid, realm, propName, path);

View File

@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=fvVC
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGIQCUgBEADGuJHAcPs2E03DnnOEsQxcD8FUUhd9LnmACkdXJ0uRvkWzmFtt
cBLCrhiwTsPnVUYWNWYBRdkJquYm2faAWQgvcXKMlatWpfh+JHQuJ+kkf44ZEZHf
iFvcTiecct1rtO5uCSw2oG8QD5OgJHwo1PW7qQvnYlpF7bVDXHHgCVVyR5/vBqsn
dt36x+Smqd/W7izP0hZ8PnKXTjazpWD9F6xh8l9eVo0pSwCtTt4QCDYfIPj5nOdv
hkKLxK98b1s2PO8k1UGzvAdjLacnuclo14Jc35DQ9S3QUFHoQ+GKOruJUgRNvKam
L0AJnR8KcWa8kZ0n4sIcH/M9aNEUlmMcswaY9mXqjdiGTxe5lhJweb+RheZZR/vY
UPOZHEW1AyLwb3/IyWsmPpE+zizfAngpEMDB4ZNGgTaGPFWcI3HGpM8a0OD+RoNW
6peUwH6i/AlrHWC3owR8Uqr0DfRYeqdzQYdnwI+WY3L7x9wa0ClGZI04SSJL0oHZ
kGSWk7YxsAbiIzQIsQuDN9rchSEWGGchFl79LxB4pusWG2aPcf4yMEFxfnKdmzIv
xJe/utFGJm+ZLDCafW7XSY+MIJChhTnTcFyEFk4EkzaB5EyUB2JPkhVGLXD2hb0K
fyywU43bhwRgYkOo7oRqUUb4Ht66S+LEwkKAEoGSD7iwLQkUbs82spb8KwARAQAB
tCpRdWFuYWggR2lic29uLU1vdW50IDxxdWFuYWhAZmFzdC1tYWlsLm9yZz6JAk4E
EwEKADgWIQTeoZmfDNsarroAHg2+4+O00vBlRgUCYhAJSAIbAwULCQgHAgYVCgkI
CwIEFgIDAQIeAQIXgAAKCRC+4+O00vBlRtQqD/9N9O0ImeLMDh4I/japIX/7ByJP
i2Q6caASj3Ja4kvxu7d5DQTHT4Q69YkaQ0oRcn0JOgoLuDFMiHSH4002y2PX1BEL
7z9o7IMNi0ZKwnX+ngaY2TYGMr0OaHs3LK/pE2dVkfOpZ8ur7RpFoz2lbPu2ViTe
v1fZMbaagRtyWbmb/B1d4u+L54GxubTQvfB+PhQgh+1VGsRhWCyOQJH2Bk58oFMV
H+HzlanZfQ5Q4O6Afwjhq93eSiPqul00DrPSYPXAsxqgpz3XM6U8NH3xH4EP8fMr
qOie9jsFIC1FAzzd7ih3KiSLT3YOSvbkCHXfyg4BuEA1HQ59ZCFJ0H38kOgDJBcY
45dvF3pMbPUn1Vd4yhjHCr2CQPoKMU5EuU+nIQ1CnkdEbIxmDOO8KishKLUSAvZT
/fmJHRzNaCkDumnyjiCDvQZkyTmc3j2VTfqAala6hwcDMK7JN5gOAX9wRfVoDn/Q
9Gg1N3AeKr3MbPPPrijpqvR/7bhb9C0xklae/U3YoP3r6HjKn32NA8/KRNuvz37N
GB5kRMHG/hEpqCUIkWVF4rQrdqZOAzPO8BfM1AP0Mwf0zDGW3VZZBRsvIa0kr9qM
SBgo4eIfsqJaEzqssv+luaPoCjDuJmzd+ljko1qZkzCeOeSxghZXrB95eBDODhC+
Ka1goJmPLfPFfEwA+7kCDQRiEAlIARAAvUtgzbYgtrNiHwSgaak7P9nllPWseZHn
ubSG6Y0Bz/EH8yDG8O8gU5YuQM/a0eTc5h0OrvUJU99YCDgFIRQ18fopISpDNvdJ
z9hEjLSC6m51eho/MWh+obj4ycI3pBXxU9MvTfER45VgOxjfH1f7f3CUtecviu4l
EW48D1+O8Emb0LaN5Qh0OTHvEDNPcajaTLHWt3kGl3JSPCPfXbmct4J3XWCa0qn4
9Q3zbudtt5LZ/V0YkKR7h8LKPfdP8RPWYUVpOqpmFtXgTNLVxl8oANcTXVdfI8Oh
76upZyqWGxHxZWQPkXlL5G+Y0TnEHfIj2XMZZPUtt0zlY3VFPZmhszVNVgnr55Rj
b40BOuOlscS2inWrqvcFqedljseYhsF0Hq2tp6aqT0XTUzaYBAla9TtxohI/Ca6b
KgYeqZeDAQNFWLmYfrGG2AegIMyTiMWO2b04imGT0O2BZyLpoOIMAMVoZIXI5HDy
vLY3EDKzDVuUyn3S/ewiSKUvdQaA+iRN2JG3r9Y/dGeM/KgEfmq27IhbvZKH4tdI
hN9zRu8NIseVZeygCXiVvD6fo65sWRSmHRmIzHZudfTNBs58Ve5G9d3m0cTKdMNX
KlCNNyfo0iDMn2PKYDFmPuPX45r1uZqfZaL6Dx2dyjXc5coKHmgK1h017j04ZNqp
SbUx0MYOC3sAEQEAAYkCNgQYAQoAIBYhBN6hmZ8M2xquugAeDb7j47TS8GVGBQJi
EAlIAhsMAAoJEL7j47TS8GVGXjIP/3ylNFXJ4XbOj5EWSRO+PEcCiAj/LkMGJw6f
Xd6nOKZwLYi3GBP3+7GmI16ThIq9X/aRT0mh95PHO/763/cY2ALkP8J03Op9E8Tj
J5QPNNUfvTn1psEmGhJODCiqcVjf/nncU95/NzCNZPnayYxmgN6fwLSHo9z6tZ9U
JmfneK+sCCeUAjke2EhX4XPdB4EcqCqNgtpWWM8weT2CvU6oZEDXeQVww2RBwmOp
vaeOhxtRFi/lbRmC73/oXjriVTujWoUz8W+SDlmniCbAaqBMVAFBb4kqL4hT0be8
LBn0WzMtt670XV5nWsktbiTUAVOwjN76xRxSMsF+B5tx7tevlxvgI3PEpufMYIgc
13kyZqGXZ/8IIyC3thY1GkcXs1z9/q4qZQb4VT5avFQqtdSoNgjbtET6k1nf03/n
AzlxE4wHhp+t/QXg5OuaNuCNLCJaoba9/MG3+m4Pfocn9jiD3Io9kyRznmVuU1gS
mJ9dLtZ0V6VSsp4Fo6ivpEMc0wuMuYC3LQOnIKRXdQ0w6SFP/w8yDE2Yxwbx9XTz
sr3nbmVtMN7T6df7jeBBNnD2MOoD/713o3AEVxyopWstAl9pmNq1841z4JSALOpN
t7CgXsozQeKctEMg9rLb7lLsC6CIvia01oL7SFGsGNExQwcSUkyMAPrwfShI5gTb
Cx3ePGxV
=K0bm
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1 +0,0 @@
SASLAUTHD_OPTS="-a pam"

View File

@ -1,11 +0,0 @@
[Unit]
Description=Cyrus SASL authentication daemon
[Service]
Type=forking
EnvironmentFile=/etc/conf.d/saslauthd
ExecStart=/usr/sbin/saslauthd $SASLAUTHD_OPTS
PIDFile=/var/run/saslauthd/saslauthd.pid
[Install]
WantedBy=multi-user.target

View File

@ -1 +0,0 @@
d /run/saslauthd 0755 root root - -