cyrus-sasl: merge libsasl{,-devel} and make them subpkgs; fix build/install.
This commit is contained in:
parent
7f5387ea16
commit
6b1b57f667
|
@ -0,0 +1 @@
|
|||
cyrus-sasl
|
|
@ -0,0 +1,6 @@
|
|||
libgssapi_krb5.so.2
|
||||
libkrb5.so.3
|
||||
libk5crypto.so.3
|
||||
libcom_err.so.2
|
||||
libresolv.so.2
|
||||
libc.so.6
|
|
@ -0,0 +1,13 @@
|
|||
# Template file for 'cyrus-sasl-modules-sql'.
|
||||
#
|
||||
depends="cyrus-sasl>=${version}_${revision}"
|
||||
short_desc="Cyrus SASL - pluggable authentication modules (GSSAPI)"
|
||||
long_desc="
|
||||
This is the Cyrus SASL API implementation, version 2.1. See package
|
||||
libsasl and RFC 2222 for more information.
|
||||
|
||||
This package provides the GSSAPI authentication mechanism plugin."
|
||||
|
||||
do_install() {
|
||||
vmove "usr/lib/sasl2/libgssapi*" usr/lib/sasl2
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
# Template file for 'cyrus-sasl-modules-ldap'.
|
||||
#
|
||||
depends="cyrus-sasl>=${version}_${revision}"
|
||||
short_desc="Cyrus SASL - pluggable authentication modules (LDAP)"
|
||||
long_desc="
|
||||
This is the Cyrus SASL API implementation, version 2.1. See package
|
||||
|
@ -7,9 +8,6 @@ long_desc="
|
|||
|
||||
This package provides the LDAP plugin."
|
||||
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/lib/sasl2
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/sasl2/libldapdb.* ${DESTDIR}/usr/lib/sasl2
|
||||
do_install() {
|
||||
vmove "usr/lib/sasl2/libldapdb.*" usr/lib/sasl2
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
libmysqlclient.so.16
|
||||
libpq.so.5
|
||||
libresolv.so.2
|
||||
libc.so.6
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Template file for 'cyrus-sasl-modules-sql'.
|
||||
#
|
||||
depends="cyrus-sasl>=${version}_${revision}"
|
||||
short_desc="Cyrus SASL - pluggable authentication modules (SQL)"
|
||||
long_desc="
|
||||
This is the Cyrus SASL API implementation, version 2.1. See package
|
||||
|
@ -7,9 +8,6 @@ long_desc="
|
|||
|
||||
This package provides the SQL plugin, which supports MySQL and PostgreSQL."
|
||||
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/lib/sasl2
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/sasl2/libsql.* ${DESTDIR}/usr/lib/sasl2
|
||||
do_install() {
|
||||
vmove "usr/lib/sasl2/libsql.*" usr/lib/sasl2
|
||||
}
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
libresolv.so.2
|
||||
libc.so.6
|
||||
libcrypto.so.1
|
||||
libgssapi_krb5.so.2
|
||||
libkrb5.so.3
|
||||
libk5crypto.so.3
|
||||
libcom_err.so.2
|
||||
libkrb5support.so.0
|
||||
libcrypt.so.1
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# Template file for 'cyrus-sasl-plugins'.
|
||||
#
|
||||
depends="cyrus-sasl>=${version}_${revision}"
|
||||
short_desc="Cyrus SASL - pluggable authentication modules"
|
||||
long_desc="
|
||||
This is the Cyrus SASL API implementation, version 2.1. See package
|
||||
|
@ -8,10 +9,6 @@ long_desc="
|
|||
This package provides the following SASL modules: LOGIN, PLAIN, ANONYMOUS,
|
||||
NTLM, CRAM-MD5, and DIGEST-MD5 (with DES support)."
|
||||
|
||||
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr/lib
|
||||
mv ${SRCPKGDESTDIR}/usr/lib/sasl2 ${DESTDIR}/usr/lib
|
||||
do_install() {
|
||||
vmove usr/lib/sasl2 usr/lib
|
||||
}
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
# Template file for 'libsasl-devel'.
|
||||
#
|
||||
depends="openssl-devel db-devel libsasl"
|
||||
depends="openssl-devel db-devel libsasl>=${version}_${revision}"
|
||||
short_desc="${sourcepkg} - development files"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains files for development, headers, static libs, etc."
|
||||
|
||||
|
||||
|
||||
do_install()
|
||||
{
|
||||
mkdir -p ${DESTDIR}/usr
|
||||
mv ${SRCPKGDESTDIR}/usr/{include,share} ${DESTDIR}/usr
|
||||
do_install() {
|
||||
vmove usr/include usr
|
||||
vmove usr/share/man/man3 usr/share/man
|
||||
}
|
|
@ -1,4 +1,5 @@
|
|||
libresolv.so.2
|
||||
libdb-4.8.so
|
||||
libc.so.6
|
||||
libdl.so.2
|
||||
libcrypt.so.1
|
||||
libresolv.so.2
|
||||
libc.so.6
|
||||
libdb-4.8.so
|
|
@ -0,0 +1,11 @@
|
|||
# Template file for 'libsasl'.
|
||||
#
|
||||
short_desc="authentication abstraction library"
|
||||
long_desc="${long_desc}
|
||||
|
||||
This package contains the runtime shared libraries."
|
||||
|
||||
do_install() {
|
||||
vmove "usr/lib/*.so*" usr/lib
|
||||
vmove "usr/lib/sasl2/libsasldb.*" usr/lib/sasl2
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
0003_saslauthd_mdoc.dpatch by <fabbe@debian.org>
|
||||
|
||||
Use the correct path for the saslauthd.conf file, and use another
|
||||
date format (cosmetic).
|
||||
|
||||
diff -urNad trunk~/saslauthd/saslauthd.mdoc trunk/saslauthd/saslauthd.mdoc
|
||||
--- trunk~/saslauthd/saslauthd.mdoc 2006-05-29 22:52:42.000000000 +0300
|
||||
+++ trunk/saslauthd/saslauthd.mdoc 2006-07-12 15:05:25.000000000 +0300
|
||||
@@ -10,7 +10,7 @@
|
||||
.\" manpage in saslauthd.8 whenever you change this source
|
||||
.\" version. Only the pre-formatted manpage is installed.
|
||||
.\"
|
||||
-.Dd 10 24 2002
|
||||
+.Dd October 24 2002
|
||||
.Dt SASLAUTHD 8
|
||||
.Os "CMU-SASL"
|
||||
.Sh NAME
|
||||
@@ -216,7 +216,7 @@
|
||||
.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
|
||||
@@ -249,7 +249,7 @@
|
||||
.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
|
|
@ -0,0 +1,19 @@
|
|||
#! /bin/sh /usr/share/dpatch/dpatch-run
|
||||
## 0010_maintainer_mode.dpatch by <fabbe@debian.org>
|
||||
##
|
||||
## All lines beginning with `## DP:' are a description of the patch.
|
||||
## DP: Enable maintainer mode to avoid auto* problems.
|
||||
|
||||
@DPATCH@
|
||||
diff -urNad trunk~/configure.in trunk/configure.in
|
||||
--- trunk~/configure.in 2006-05-29 22:52:46.000000000 +0300
|
||||
+++ trunk/configure.in 2006-11-01 23:24:55.000000000 +0200
|
||||
@@ -62,6 +62,8 @@
|
||||
AM_INIT_AUTOMAKE(cyrus-sasl, 2.1.22)
|
||||
CMU_INIT_AUTOMAKE
|
||||
|
||||
+AM_MAINTAINER_MODE
|
||||
+
|
||||
# and include our config dir scripts
|
||||
ACLOCAL="$ACLOCAL -I \$(top_srcdir)/config"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
0011_saslauthd_ac_prog_libtool.dpatch by <fabbe@debian.org>
|
||||
|
||||
Enable libtool use.
|
||||
|
||||
diff -urNad trunk~/saslauthd/configure.in trunk/saslauthd/configure.in
|
||||
--- trunk~/saslauthd/configure.in 2006-05-29 22:52:42.000000000 +0300
|
||||
+++ trunk/saslauthd/configure.in 2006-11-01 23:41:51.000000000 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
AC_PROG_MAKE_SET
|
||||
AC_PROG_LN_S
|
||||
AC_PROG_INSTALL
|
||||
+AC_PROG_LIBTOOL
|
||||
|
||||
dnl Checks for build foo
|
||||
CMU_C___ATTRIBUTE__
|
|
@ -0,0 +1,20 @@
|
|||
0012_xopen_crypt_prototype.dpatch by <dannf@debian.org>
|
||||
|
||||
When _XOPEN_SOURCE is defined, the subsequent #include <unistd.h>
|
||||
will define a correct function prototype for the crypt function.
|
||||
This avoids segfaults on architectures where the size of a pointer
|
||||
is greater than the size of an integer (ia64 and amd64 are examples).
|
||||
This may be detected by looking for build log lines such as the
|
||||
following:
|
||||
auth_shadow.c:183: warning: implicit declaration of function ‘crypt’
|
||||
auth_shadow.c:183: warning: cast to pointer from integer of different
|
||||
size
|
||||
|
||||
diff -urNad trunk~/saslauthd/auth_shadow.c trunk/saslauthd/auth_shadow.c
|
||||
--- trunk~/saslauthd/auth_shadow.c 2006-05-29 22:52:42.000000000 +0300
|
||||
+++ trunk/saslauthd/auth_shadow.c 2006-11-08 13:44:23.000000000 +0200
|
||||
@@ -1,3 +1,4 @@
|
||||
+#define _XOPEN_SOURCE
|
||||
#define PWBUFSZ 256 /***SWB***/
|
||||
|
||||
/* MODULE: auth_shadow */
|
|
@ -0,0 +1,27 @@
|
|||
0016_pid_file_lock_creation_mask.dpatch by Sam Hocevar <sam@zoy.org>
|
||||
|
||||
pid_file_lock is created with a mask of 644 instead of 0644.
|
||||
This patch fixes this octal/decimal confusion as well as the
|
||||
(harmless) one in the previous umask() call.
|
||||
|
||||
diff -urNad trunk~/saslauthd/saslauthd-main.c trunk/saslauthd/saslauthd-main.c
|
||||
--- trunk~/saslauthd/saslauthd-main.c 2006-05-29 22:52:42.000000000 +0300
|
||||
+++ trunk/saslauthd/saslauthd-main.c 2007-06-26 12:07:10.000000000 +0300
|
||||
@@ -276,7 +276,7 @@
|
||||
exit(1);
|
||||
}
|
||||
|
||||
- umask(077);
|
||||
+ umask(0077);
|
||||
|
||||
pid_file_size = strlen(run_path) + sizeof(PID_FILE_LOCK) + 1;
|
||||
if ((pid_file_lock = malloc(pid_file_size)) == NULL) {
|
||||
@@ -287,7 +287,7 @@
|
||||
strlcpy(pid_file_lock, run_path, pid_file_size);
|
||||
strlcat(pid_file_lock, PID_FILE_LOCK, pid_file_size);
|
||||
|
||||
- if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 644)) < 0) {
|
||||
+ if ((pid_file_lock_fd = open(pid_file_lock, O_CREAT|O_TRUNC|O_RDWR, 0644)) < 0) {
|
||||
rc = errno;
|
||||
logger(L_ERR, L_FUNC, "could not open pid lock file: %s", pid_file_lock);
|
||||
logger(L_ERR, L_FUNC, "open: %s", strerror(rc));
|
|
@ -0,0 +1,35 @@
|
|||
0016_auth_rimap_quotes.dpatch by <fabbe@debian.org>
|
||||
|
||||
All lines beginning with `## DP:' are a description of the patch.
|
||||
Avoid infinite loop when username/password has a double quote character.
|
||||
Upstream change: https://bugzilla.andrew.cmu.edu/cgi-bin/cvsweb.cgi/src/sasl/saslauthd/auth_rimap.c.diff?r1=1.12;r2=1.13
|
||||
|
||||
diff -urNad etch~/saslauthd/auth_rimap.c etch/saslauthd/auth_rimap.c
|
||||
--- etch~/saslauthd/auth_rimap.c 2007-03-29 15:16:20.000000000 +0300
|
||||
+++ etch/saslauthd/auth_rimap.c 2008-02-13 13:42:53.000000000 +0200
|
||||
@@ -162,6 +162,7 @@
|
||||
num_quotes = 0;
|
||||
p1 = s;
|
||||
while ((p1 = strchr(p1, '"')) != NULL) {
|
||||
+ p1++;
|
||||
num_quotes++;
|
||||
}
|
||||
|
||||
@@ -438,7 +439,7 @@
|
||||
syslog(LOG_WARNING, "auth_rimap: writev: %m");
|
||||
memset(qlogin, 0, strlen(qlogin));
|
||||
free(qlogin);
|
||||
- memset(qpass, 0, strlen(qlogin));
|
||||
+ memset(qpass, 0, strlen(qpass));
|
||||
free(qpass);
|
||||
(void)close(s);
|
||||
return strdup(RESP_IERROR);
|
||||
@@ -447,7 +448,7 @@
|
||||
/* don't need these any longer */
|
||||
memset(qlogin, 0, strlen(qlogin));
|
||||
free(qlogin);
|
||||
- memset(qpass, 0, strlen(qlogin));
|
||||
+ memset(qpass, 0, strlen(qpass));
|
||||
free(qpass);
|
||||
|
||||
/* read and parse the LOGIN response */
|
|
@ -0,0 +1,22 @@
|
|||
0019_ldap_deprecated.dpatch by dann frazier <dannf@debian.org>
|
||||
|
||||
The function ldap_get_values, used in saslauthd/lak.c, is deprecated.
|
||||
Therefore, its prototype is not included by default when compiling
|
||||
against the ldap.h headers. As a result, the compiler cannot know the
|
||||
return type of the function at compile time, and will implicitly
|
||||
convert to a pointer. This has implications on 64-bit systems.
|
||||
This patch sets the deprecation mode on, so that the function prototype
|
||||
gets included when compiling.
|
||||
(Description by Fabian Fagerholm <fabbe@debian.org>)
|
||||
|
||||
diff -urNad trunk~/saslauthd/lak.c trunk/saslauthd/lak.c
|
||||
--- trunk~/saslauthd/lak.c 2006-06-04 12:26:20.000000000 +0300
|
||||
+++ trunk/saslauthd/lak.c 2008-02-15 14:32:11.000000000 +0200
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <openssl/des.h>
|
||||
#endif
|
||||
|
||||
+#define LDAP_DEPRECATED 1
|
||||
#include <ldap.h>
|
||||
#include <lber.h>
|
||||
#include <sasl.h>
|
|
@ -0,0 +1,26 @@
|
|||
0022_gcc4.4_preprocessor_syntax.dpatch by <fabbe@paniq.net>
|
||||
|
||||
The #elif preprocessor directive requires a test condition.
|
||||
GCC 4.4 enforces this rule.
|
||||
|
||||
diff -urNad trunk~/plugins/digestmd5.c trunk/plugins/digestmd5.c
|
||||
--- trunk~/plugins/digestmd5.c 2006-06-04 12:26:19.000000000 +0300
|
||||
+++ trunk/plugins/digestmd5.c 2009-01-26 13:29:40.000000000 +0200
|
||||
@@ -2715,7 +2715,7 @@
|
||||
"DIGEST-MD5", /* mech_name */
|
||||
#ifdef WITH_RC4
|
||||
128, /* max_ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
||||
@@ -4034,7 +4034,7 @@
|
||||
"DIGEST-MD5",
|
||||
#ifdef WITH_RC4 /* mech_name */
|
||||
128, /* max ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
|
@ -0,0 +1,27 @@
|
|||
Author: Matthias Klose <doko@ubuntu.com>
|
||||
Desription: Fix FTBFS, add $(SASL_DB_LIB) as dependency to libsasldb, and use
|
||||
it.
|
||||
--- a/saslauthd/Makefile.am
|
||||
+++ b/saslauthd/Makefile.am
|
||||
@@ -16,7 +16,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c
|
||||
saslauthd_DEPENDENCIES = saslauthd-main.o @LTLIBOBJS@
|
||||
saslauthd_LDADD = @SASL_KRB_LIB@ \
|
||||
@GSSAPIBASE_LIBS@ @GSSAPI_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \
|
||||
- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
|
||||
+ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ @LTLIBOBJS@
|
||||
|
||||
testsaslauthd_SOURCES = testsaslauthd.c utils.c
|
||||
testsaslauthd_LDADD = @LIB_SOCKET@
|
||||
--- a/sasldb/Makefile.am
|
||||
+++ b/sasldb/Makefile.am
|
||||
@@ -55,8 +55,8 @@ noinst_LIBRARIES = libsasldb.a
|
||||
|
||||
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)
|
||||
|
||||
# Prevent make dist stupidity
|
||||
libsasldb_a_SOURCES =
|
|
@ -0,0 +1,14 @@
|
|||
Author: Roberto C. Sanchez <roberto@connexer.com>
|
||||
Description: Drop gratuitous dependency on krb5support
|
||||
--- a/cmulocal/sasl2.m4
|
||||
+++ b/cmulocal/sasl2.m4
|
||||
@@ -112,9 +112,6 @@ if test "$gssapi" != no; then
|
||||
fi
|
||||
|
||||
if test "$gss_impl" = "auto" -o "$gss_impl" = "mit"; then
|
||||
- # check for libkrb5support first
|
||||
- AC_CHECK_LIB(krb5support,krb5int_getspecific,K5SUP=-lkrb5support K5SUPSTATIC=$gssapi_dir/libkrb5support.a,,${LIB_SOCKET})
|
||||
-
|
||||
gss_failed=0
|
||||
AC_CHECK_LIB(gssapi_krb5,gss_unwrap,gss_impl="mit",gss_failed=1,
|
||||
${GSSAPIBASE_LIBS} -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err ${K5SUP} ${LIB_SOCKET})
|
|
@ -0,0 +1,24 @@
|
|||
Author: Ondřej Surý <ondrej@debian.org>
|
||||
Description: Support newer Berkeley DB versions
|
||||
--- a/sasldb/db_berkeley.c
|
||||
+++ b/sasldb/db_berkeley.c
|
||||
@@ -101,7 +101,7 @@ static int berkeleydb_open(const sasl_ut
|
||||
ret = db_create(mbdb, NULL, 0);
|
||||
if (ret == 0 && *mbdb != NULL)
|
||||
{
|
||||
-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
|
||||
+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
|
||||
ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, flags, 0660);
|
||||
#else
|
||||
ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, flags, 0660);
|
||||
--- a/utils/dbconverter-2.c
|
||||
+++ b/utils/dbconverter-2.c
|
||||
@@ -214,7 +214,7 @@ static int berkeleydb_open(const char *p
|
||||
ret = db_create(mbdb, NULL, 0);
|
||||
if (ret == 0 && *mbdb != NULL)
|
||||
{
|
||||
-#if DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 1
|
||||
+#if (DB_VERSION_MAJOR > 4) || ((DB_VERSION_MAJOR == 4) && (DB_VERSION_MINOR >= 1))
|
||||
ret = (*mbdb)->open(*mbdb, NULL, path, NULL, DB_HASH, DB_CREATE, 0664);
|
||||
#else
|
||||
ret = (*mbdb)->open(*mbdb, path, NULL, DB_HASH, DB_CREATE, 0664);
|
|
@ -0,0 +1,134 @@
|
|||
--- a/lib/dlopen.c
|
||||
+++ b/lib/dlopen.c
|
||||
@@ -247,105 +247,6 @@ static int _sasl_plugin_load(char *plugi
|
||||
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 */
|
||||
- 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;
|
||||
- }
|
||||
- }
|
||||
- strcpy(out, prefix);
|
||||
- strcat(out, in);
|
||||
- return SASL_OK;
|
||||
- }
|
||||
-
|
||||
- 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);
|
||||
- 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);
|
||||
- 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 */
|
||||
@@ -499,18 +400,18 @@ int _sasl_load_plugins(const add_plugin_
|
||||
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);
|
|
@ -0,0 +1,170 @@
|
|||
diff -ur ../cyrus-sasl-2.1.19.orig/lib/Makefile.in ./lib/Makefile.in
|
||||
--- ../cyrus-sasl-2.1.19.orig/lib/Makefile.in 2004-07-02 21:40:15.000000000 +0200
|
||||
+++ ./lib/Makefile.in 2004-09-07 13:21:22.746680576 +0200
|
||||
@@ -120,7 +120,7 @@
|
||||
JAVA_TRUE = @JAVA_TRUE@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
-LIBS = @LIBS@
|
||||
+LIBS = -lcrypt @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
LIB_DES = @LIB_DES@
|
||||
diff -ur ../cyrus-sasl-2.1.19.orig/lib/checkpw.c ./lib/checkpw.c
|
||||
--- ../cyrus-sasl-2.1.19.orig/lib/checkpw.c 2004-03-17 14:58:13.000000000 +0100
|
||||
+++ ./lib/checkpw.c 2004-09-07 13:21:12.645916147 +0200
|
||||
@@ -94,6 +94,23 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+/******************************
|
||||
+ * crypt(3) patch start *
|
||||
+ ******************************/
|
||||
+char *crypt(const char *key, const char *salt);
|
||||
+
|
||||
+/* cleartext password formats */
|
||||
+#define PASSWORD_FORMAT_CLEARTEXT 1
|
||||
+#define PASSWORD_FORMAT_CRYPT 2
|
||||
+#define PASSWORD_FORMAT_CRYPTTRAD 3
|
||||
+#define PASSWORD_SALT_BUF_LEN 22
|
||||
+
|
||||
+/* weeds out crypt(3) password's salt */
|
||||
+int _sasl_get_salt (char *dest, char *src, int format);
|
||||
+
|
||||
+/******************************
|
||||
+ * crypt(3) patch stop *
|
||||
+ ******************************/
|
||||
|
||||
/* we store the following secret to check plaintext passwords:
|
||||
*
|
||||
@@ -143,7 +160,51 @@
|
||||
"*cmusaslsecretPLAIN",
|
||||
NULL };
|
||||
struct propval auxprop_values[3];
|
||||
-
|
||||
+
|
||||
+ /******************************
|
||||
+ * crypt(3) patch start *
|
||||
+ * for password format check *
|
||||
+ ******************************/
|
||||
+ sasl_getopt_t *getopt;
|
||||
+ void *context;
|
||||
+ const char *p = NULL;
|
||||
+ /**
|
||||
+ * MD5: 12 char salt
|
||||
+ * BLOWFISH: 16 char salt
|
||||
+ */
|
||||
+ char salt[PASSWORD_SALT_BUF_LEN];
|
||||
+ int password_format;
|
||||
+
|
||||
+ /* get password format from auxprop configuration */
|
||||
+ if (_sasl_getcallback(conn, SASL_CB_GETOPT, &getopt, &context) == SASL_OK) {
|
||||
+ getopt(context, NULL, "password_format", &p, NULL);
|
||||
+ }
|
||||
+
|
||||
+ /* set password format */
|
||||
+ if (p) {
|
||||
+ /*
|
||||
+ memset(pass_format_str, '\0', PASSWORD_FORMAT_STR_LEN);
|
||||
+ strncpy(pass_format_str, p, (PASSWORD_FORMAT_STR_LEN - 1));
|
||||
+ */
|
||||
+ /* modern, modular crypt(3) */
|
||||
+ if (strncmp(p, "crypt", 11) == 0)
|
||||
+ password_format = PASSWORD_FORMAT_CRYPT;
|
||||
+ /* traditional crypt(3) */
|
||||
+ else if (strncmp(p, "crypt_trad", 11) == 0)
|
||||
+ password_format = PASSWORD_FORMAT_CRYPTTRAD;
|
||||
+ /* cleartext password */
|
||||
+ else
|
||||
+ password_format = PASSWORD_FORMAT_CLEARTEXT;
|
||||
+ } else {
|
||||
+ /* cleartext password */
|
||||
+ password_format = PASSWORD_FORMAT_CLEARTEXT;
|
||||
+ }
|
||||
+
|
||||
+ /******************************
|
||||
+ * crypt(3) patch stop *
|
||||
+ * for password format check *
|
||||
+ ******************************/
|
||||
+
|
||||
if (!conn || !userstr)
|
||||
return SASL_BADPARAM;
|
||||
|
||||
@@ -180,14 +241,31 @@
|
||||
goto done;
|
||||
}
|
||||
|
||||
- /* At the point this has been called, the username has been canonified
|
||||
- * and we've done the auxprop lookup. This should be easy. */
|
||||
- if(auxprop_values[0].name
|
||||
- && auxprop_values[0].values
|
||||
- && auxprop_values[0].values[0]
|
||||
- && !strcmp(auxprop_values[0].values[0], passwd)) {
|
||||
- /* We have a plaintext version and it matched! */
|
||||
- return SASL_OK;
|
||||
+
|
||||
+ /******************************
|
||||
+ * crypt(3) patch start *
|
||||
+ ******************************/
|
||||
+
|
||||
+ /* get salt */
|
||||
+ _sasl_get_salt(salt, (char *) auxprop_values[0].values[0], password_format);
|
||||
+
|
||||
+ /* crypt(3)-ed password? */
|
||||
+ if (password_format != PASSWORD_FORMAT_CLEARTEXT) {
|
||||
+ /* compare password */
|
||||
+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(crypt(passwd, salt), auxprop_values[0].values[0]) == 0)
|
||||
+ return SASL_OK;
|
||||
+ else
|
||||
+ ret = SASL_BADAUTH;
|
||||
+ }
|
||||
+ else if (password_format == PASSWORD_FORMAT_CLEARTEXT) {
|
||||
+ /* compare passwords */
|
||||
+ if (auxprop_values[0].name && auxprop_values[0].values && auxprop_values[0].values[0] && strcmp(auxprop_values[0].values[0], passwd) == 0)
|
||||
+ return SASL_OK;
|
||||
+ else
|
||||
+ ret = SASL_BADAUTH;
|
||||
+ /******************************
|
||||
+ * crypt(3) patch stop *
|
||||
+ ******************************/
|
||||
} else if(auxprop_values[1].name
|
||||
&& auxprop_values[1].values
|
||||
&& auxprop_values[1].values[0]) {
|
||||
@@ -975,3 +1053,37 @@
|
||||
#endif
|
||||
{ NULL, NULL }
|
||||
};
|
||||
+
|
||||
+/* weeds out crypt(3) password's salt */
|
||||
+int _sasl_get_salt (char *dest, char *src, int format) {
|
||||
+ int num; /* how many characters is salt long? */
|
||||
+ switch (format) {
|
||||
+ case PASSWORD_FORMAT_CRYPT:
|
||||
+ /* md5 crypt */
|
||||
+ if (src[1] == '1')
|
||||
+ num = 12;
|
||||
+ /* blowfish crypt */
|
||||
+ else if (src[1] == '2')
|
||||
+ num = (src[1] == '2' && src[2] == 'a') ? 17 : 16;
|
||||
+ /* traditional crypt */
|
||||
+ else
|
||||
+ num = 2;
|
||||
+ break;
|
||||
+
|
||||
+ case PASSWORD_FORMAT_CRYPTTRAD:
|
||||
+ num = 2;
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ /* destroy destination */
|
||||
+ memset(dest, '\0', (num + 1));
|
||||
+
|
||||
+ /* copy salt to destination */
|
||||
+ strncpy(dest, src, num);
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
|
@ -0,0 +1,94 @@
|
|||
Re-merged patch by Robert Scheck <redhat@linuxnetz.de> for cyrus-sasl >= 2.1.22, which was
|
||||
originally written by Jacek Konieczny <jajcus@pld-linux.org> and makes cyrus-sasl building
|
||||
using automake 1.10.
|
||||
|
||||
--- cyrus-sasl-2.1.22/plugins/Makefile.am 2006-05-17 18:46:16.000000000 +0200
|
||||
+++ cyrus-sasl-2.1.22/plugins/Makefile.am.am110 2007-02-16 15:42:07.000000000 +0100
|
||||
@@ -82,73 +82,73 @@
|
||||
libntlm.la libpassdss.la libsasldb.la libsql.la libldapdb.la
|
||||
|
||||
libplain_la_SOURCES = plain.c plain_init.c $(common_sources)
|
||||
-libplain_la_LDFLAGS = -version-info $(plain_version)
|
||||
+libplain_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(plain_version)
|
||||
libplain_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libplain_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
libanonymous_la_SOURCES = anonymous.c anonymous_init.c $(common_sources)
|
||||
-libanonymous_la_LDFLAGS = -version-info $(anonymous_version)
|
||||
+libanonymous_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(anonymous_version)
|
||||
libanonymous_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libanonymous_la_LIBADD = $(COMPAT_OBJS)
|
||||
|
||||
libkerberos4_la_SOURCES = kerberos4.c kerberos4_init.c $(common_sources)
|
||||
-libkerberos4_la_LDFLAGS = -version-info $(kerberos4_version)
|
||||
+libkerberos4_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(kerberos4_version)
|
||||
libkerberos4_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libkerberos4_la_LIBADD = $(SASL_KRB_LIB) $(LIB_SOCKET) $(COMPAT_OBJS)
|
||||
|
||||
libgssapiv2_la_SOURCES = gssapi.c gssapiv2_init.c $(common_sources)
|
||||
-libgssapiv2_la_LDFLAGS = -version-info $(gssapiv2_version)
|
||||
+libgssapiv2_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(gssapiv2_version)
|
||||
libgssapiv2_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libgssapiv2_la_LIBADD = $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(LIB_SOCKET) $(COMPAT_OBJS)
|
||||
|
||||
libcrammd5_la_SOURCES = cram.c crammd5_init.c $(common_sources)
|
||||
-libcrammd5_la_LDFLAGS = -version-info $(crammd5_version)
|
||||
+libcrammd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(crammd5_version)
|
||||
libcrammd5_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libcrammd5_la_LIBADD = $(COMPAT_OBJS)
|
||||
|
||||
libdigestmd5_la_SOURCES = digestmd5.c digestmd5_init.c $(common_sources)
|
||||
-libdigestmd5_la_LDFLAGS = -version-info $(digestmd5_version)
|
||||
+libdigestmd5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(digestmd5_version)
|
||||
libdigestmd5_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libdigestmd5_la_LIBADD = $(LIB_DES) $(LIB_SOCKET) $(COMPAT_OBJS)
|
||||
|
||||
liblogin_la_SOURCES = login.c login_init.c $(common_sources)
|
||||
-liblogin_la_LDFLAGS = -version-info $(login_version)
|
||||
+liblogin_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(login_version)
|
||||
liblogin_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
liblogin_la_LIBADD = $(PLAIN_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
libsrp_la_SOURCES = srp.c srp_init.c $(common_sources)
|
||||
-libsrp_la_LDFLAGS = -version-info $(srp_version)
|
||||
+libsrp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(srp_version)
|
||||
libsrp_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libsrp_la_LIBADD = $(SRP_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
libotp_la_SOURCES = otp.c otp_init.c otp.h $(common_sources)
|
||||
-libotp_la_LDFLAGS = -version-info $(otp_version)
|
||||
+libotp_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(otp_version)
|
||||
libotp_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libotp_la_LIBADD = $(OTP_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
libntlm_la_SOURCES = ntlm.c ntlm_init.c $(common_sources)
|
||||
-libntlm_la_LDFLAGS = -version-info $(ntlm_version)
|
||||
+libntlm_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(ntlm_version)
|
||||
libntlm_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libntlm_la_LIBADD = $(NTLM_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
libpassdss_la_SOURCES = passdss.c passdss_init.c $(common_sources)
|
||||
-libpassdss_la_LDFLAGS = -version-info $(passdss_version)
|
||||
+libpassdss_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(passdss_version)
|
||||
libpassdss_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libpassdss_la_LIBADD = $(PASSDSS_LIBS) $(COMPAT_OBJS)
|
||||
|
||||
# Auxprop Plugins
|
||||
libsasldb_la_SOURCES = sasldb.c sasldb_init.c $(common_sources)
|
||||
-libsasldb_la_LDFLAGS = -version-info $(sasldb_version)
|
||||
+libsasldb_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(sasldb_version)
|
||||
libsasldb_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libsasldb_la_LIBADD = ../sasldb/libsasldb.la $(SASL_DB_LIB) $(COMPAT_OBJS)
|
||||
|
||||
libldapdb_la_SOURCES = ldapdb.c ldapdb_init.c $(common_sources)
|
||||
-libldapdb_la_LDFLAGS = $(LIB_LDAP) -version-info $(ldapdb_version)
|
||||
+libldapdb_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_LDAP) -version-info $(ldapdb_version)
|
||||
libldapdb_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libldapdb_la_LIBADD = $(COMPAT_OBJS)
|
||||
|
||||
libsql_la_SOURCES = sql.c sql_init.c $(common_sources)
|
||||
-libsql_la_LDFLAGS = $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
|
||||
+libsql_la_LDFLAGS = $(AM_LDFLAGS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE) -version-info $(sql_version)
|
||||
libsql_la_DEPENDENCIES = $(COMPAT_OBJS)
|
||||
libsql_la_LIBADD = $(COMPAT_OBJS)
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
http://bugs.gentoo.org/152544
|
||||
|
||||
--- cyrus-sasl-2.1.22/lib/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/lib/Makefile.am
|
||||
@@ -45,6 +45,7 @@ sasl_version = 2:22:0
|
||||
|
||||
INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
|
||||
|
||||
+AM_CFLAGS = -fPIC
|
||||
EXTRA_DIST = windlopen.c staticopen.h NTMakefile
|
||||
EXTRA_LIBRARIES = libsasl2.a
|
||||
noinst_LIBRARIES = @SASL_STATIC_LIBS@
|
||||
--- cyrus-sasl-2.1.22/plugins/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/plugins/Makefile.am
|
||||
@@ -63,6 +63,7 @@ srp_version = 2:22:0
|
||||
|
||||
INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
|
||||
AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir)
|
||||
+AM_CFLAGS = -fPIC
|
||||
|
||||
COMPAT_OBJS = @LTGETADDRINFOOBJS@ @LTGETNAMEINFOOBJS@ @LTSNPRINTFOBJS@
|
||||
|
||||
--- cyrus-sasl-2.1.22/sasldb/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/sasldb/Makefile.am
|
||||
@@ -48,6 +48,7 @@ INCLUDES=-I$(top_srcdir)/include -I$(top
|
||||
|
||||
extra_common_sources = db_none.c db_ndbm.c db_gdbm.c db_berkeley.c
|
||||
|
||||
+AM_CFLAGS = -fPIC
|
||||
EXTRA_DIST = NTMakefile
|
||||
|
||||
noinst_LTLIBRARIES = libsasldb.la
|
||||
--- cyrus-sasl-2.1.22/utils/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/utils/Makefile.am
|
||||
@@ -42,7 +42,7 @@
|
||||
#
|
||||
################################################################
|
||||
|
||||
-all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET)
|
||||
+all_sasl_libs = ../lib/libsasl2.la $(SASL_DB_LIB) $(LIB_SOCKET) $(LIB_CRYPT)
|
||||
all_sasl_static_libs = ../lib/.libs/libsasl2.a $(SASL_DB_LIB) $(LIB_SOCKET) $(GSSAPIBASE_LIBS) $(GSSAPI_LIBS) $(SASL_KRB_LIB) $(LIB_DES) $(PLAIN_LIBS) $(SRP_LIBS) $(LIB_MYSQL) $(LIB_PGSQL) $(LIB_SQLITE)
|
||||
|
||||
sbin_PROGRAMS = @SASL_DB_UTILS@ @SMTPTEST_PROGRAM@ pluginviewer
|
||||
--- cyrus-sasl-2.1.22/sample/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/sample/Makefile.am
|
||||
@@ -54,10 +54,10 @@ sample_server_SOURCES = sample-server.c
|
||||
server_SOURCES = server.c common.c common.h
|
||||
client_SOURCES = client.c common.c common.h
|
||||
|
||||
-server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
|
||||
-client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
|
||||
+server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
|
||||
+client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
|
||||
|
||||
-sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
|
||||
-sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET)
|
||||
+sample_client_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
|
||||
+sample_server_LDADD = ../lib/libsasl2.la $(LIB_SOCKET) $(LIB_CRYPT)
|
||||
|
||||
EXTRA_DIST = NTMakefile
|
||||
--- cyrus-sasl-2.1.22/lib/Makefile.am
|
||||
+++ cyrus-sasl-2.1.22/lib/Makefile.am
|
||||
@@ -63,7 +63,7 @@ lib_LTLIBRARIES = libsasl2.la
|
||||
libsasl2_la_SOURCES = $(common_sources) $(common_headers)
|
||||
libsasl2_la_LDFLAGS = -version-info $(sasl_version)
|
||||
libsasl2_la_DEPENDENCIES = $(LTLIBOBJS)
|
||||
-libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR)
|
||||
+libsasl2_la_LIBADD = $(LTLIBOBJS) $(SASL_DL_LIB) $(LIB_SOCKET) $(LIB_DOOR) $(LIB_CRYPT)
|
||||
|
||||
if MACOSX
|
||||
framedir = /Library/Frameworks/SASL2.framework
|
|
@ -1,24 +0,0 @@
|
|||
fix warnings with gcc-4.4
|
||||
|
||||
http://bugs.gentoo.org/248738
|
||||
|
||||
--- plugins/digestmd5.c
|
||||
+++ plugins/digestmd5.c
|
||||
@@ -2715,7 +2715,7 @@ static sasl_server_plug_t digestmd5_serv
|
||||
"DIGEST-MD5", /* mech_name */
|
||||
#ifdef WITH_RC4
|
||||
128, /* max_ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
||||
@@ -4034,7 +4034,7 @@ static sasl_client_plug_t digestmd5_clie
|
||||
"DIGEST-MD5",
|
||||
#ifdef WITH_RC4 /* mech_name */
|
||||
128, /* max ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
|
@ -0,0 +1,22 @@
|
|||
fix missing prototype warnings
|
||||
|
||||
--- cyrus-sasl-2.1.22/lib/auxprop.c
|
||||
+++ cyrus-sasl-2.1.22/lib/auxprop.c
|
||||
@@ -43,6 +43,7 @@
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
+#include <stdio.h>
|
||||
#include <sasl.h>
|
||||
#include <prop.h>
|
||||
#include <ctype.h>
|
||||
--- cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c
|
||||
+++ cyrus-sasl-2.1.22/pwcheck/pwcheck_getspnam.c
|
||||
@@ -24,6 +24,7 @@ OF OR IN CONNECTION WITH THE USE OR PERF
|
||||
******************************************************************/
|
||||
|
||||
#include <shadow.h>
|
||||
+#include <string.h>
|
||||
|
||||
extern char *crypt();
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
fix warnings:
|
||||
|
||||
auth_sasldb.c: In function ‘auth_sasldb’:
|
||||
auth_sasldb.c:144: warning: implicit declaration of function ‘gethostname’
|
||||
|
||||
auth_sasldb.c:153: warning: passing argument 8 of ‘_sasldb_getdata’ from incompatible pointer type
|
||||
../sasldb/sasldb.h:60: note: expected ‘size_t *’ but argument is of type ‘int *’
|
||||
|
||||
--- a/saslauthd/auth_sasldb.c
|
||||
+++ b/saslauthd/auth_sasldb.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <pwd.h>
|
||||
+#include <unistd.h>
|
||||
/* END PUBLIC DEPENDENCIES */
|
||||
|
||||
#define RETURN(x) return strdup(x)
|
||||
@@ -131,7 +132,8 @@
|
||||
/* VARIABLES */
|
||||
char pw[1024]; /* pointer to passwd file entry */
|
||||
sasl_utils_t utils;
|
||||
- int ret, outsize;
|
||||
+ int ret;
|
||||
+ size_t outsize;
|
||||
const char *use_realm;
|
||||
char realm_buf[MAXHOSTNAMELEN];
|
||||
/* END VARIABLES */
|
|
@ -1,37 +1,81 @@
|
|||
# Template file for 'cyrus-sasl'
|
||||
. ${XBPS_SRCPKGDIR}/libsasl/template
|
||||
|
||||
# Unset some unneeded stuff.
|
||||
unset depends makedepends
|
||||
|
||||
pkgname=cyrus-sasl
|
||||
revision=7
|
||||
configure_args="--with-saslauthd=/run/saslauthd
|
||||
--enable-login --enable-plain --enable-sql --disable-sqlite
|
||||
--enable-postgresql --enable-mysql --enable-ldapdb --with-ldap=/usr"
|
||||
depends="e2fsprogs-libs cyrus-sasl-modules"
|
||||
makedepends="libsasl-devel libldap-devel mit-krb5-devel e2fsprogs-devel pam-devel openssl-devel postgresql-libs-devel libmysqlclient-devel"
|
||||
version=2.1.23
|
||||
revision=8
|
||||
wrksrc="cyrus-sasl-${version}"
|
||||
patch_args="-Np1"
|
||||
depends="cyrus-sasl-modules>=${version}_${revision}"
|
||||
makedepends="automake libldap-devel mit-krb5-devel e2fsprogs-devel pam-devel
|
||||
openssl-devel postgresql-libs-devel libmysqlclient-devel db-devel sqlite-devel
|
||||
groff"
|
||||
short_desc="Cyrus SASL - auth daemon and administration tools"
|
||||
long_desc="${long_desc}
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
homepage="http://cyrusimap.web.cmu.edu/"
|
||||
license="BSD"
|
||||
distfiles="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-$version.tar.gz"
|
||||
checksum=20efcc4040cbab6e89a636a07dcf5720ee07b5c62359a4e7bf2500ef6020b136
|
||||
long_desc="
|
||||
SASL is the Simple Authentication and Security Layer, a method for adding
|
||||
authentication support to connection-based protocols. To use SASL, a protocol
|
||||
includes a command for identifying and authenticating a user to a server and
|
||||
for optionally negotiating protection of subsequent protocol interactions.
|
||||
If its use is negotiated, a security layer is inserted between the protocol
|
||||
and the connection. See RFC 2222 for more information.
|
||||
|
||||
This package includes the Cyrus SASL authentication daemon and administration
|
||||
programs for the SASL users database and common binary files for plugin
|
||||
modules."
|
||||
Any of: ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI (MIT or Heimdal Kerberos 5),
|
||||
NTLM, OTP, PLAIN, or LOGIN can be used. If you intend to use this package on a
|
||||
server that provides SASL authentication, then you must install some of the
|
||||
cyrus-sasl-modules* packages."
|
||||
|
||||
subpackages="${pkgname}-modules-ldap ${pkgname}-modules-sql ${pkgname}-modules"
|
||||
subpackages="libsasl libsasl-devel ${pkgname}-modules-ldap
|
||||
${pkgname}-modules-sql ${pkgname}-modules-gssapi ${pkgname}-modules"
|
||||
systemd_services="saslauthd.service on"
|
||||
conf_files="/etc/conf.d/saslauthd"
|
||||
|
||||
post_install() {
|
||||
# Remove stuff in libsasl{,-devel} pkgs.
|
||||
rm -rf ${DESTDIR}/usr/share/man/man3
|
||||
rm -rf ${DESTDIR}/usr/include
|
||||
rm -f ${DESTDIR}/usr/lib/libsasl*
|
||||
rm -rf ${DESTDIR}/usr/lib/sasl2/libsasldb*
|
||||
pre_configure() {
|
||||
rm -f config/config.guess config/config.sub
|
||||
rm -f config/ltconfig config/ltmain.sh config/libtool.m4
|
||||
rm -fr autom4te.cache
|
||||
libtoolize -c
|
||||
aclocal -I config -I cmulocal
|
||||
automake -a -c
|
||||
autoheader
|
||||
autoconf
|
||||
|
||||
cd saslauthd
|
||||
rm -f config/config.guess config/config.sub
|
||||
rm -f config/ltconfig config/ltmain.sh config/libtool.m4
|
||||
rm -fr autom4te.cache
|
||||
libtoolize -c
|
||||
aclocal -I config -I ../cmulocal -I ../config
|
||||
automake -a -c
|
||||
autoheader
|
||||
autoconf
|
||||
}
|
||||
|
||||
do_configure() {
|
||||
./configure ${CONFIGURE_SHARED_ARGS} --disable-static --enable-shared \
|
||||
--enable-alwaystrue --enable-checkapop --enable-cram \
|
||||
--enable-digest --disable-otp --disable-srp \
|
||||
--disable-srp-setpass --disable-krb4 --enable-gssapi \
|
||||
--enable-auth-sasldb --enable-plain --enable-anon \
|
||||
--enable-login --enable-ntlm --disable-passdss --enable-sql \
|
||||
--enable-ldapdb --disable-macos-framework --with-pam \
|
||||
--with-saslauthd=/var/run/saslauthd --with-ldap \
|
||||
--with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \
|
||||
--with-devrandom=/dev/urandom
|
||||
}
|
||||
|
||||
do_build() {
|
||||
make ${makejobs}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
make DESTDIR=${DESTDIR} install
|
||||
|
||||
# systemd
|
||||
vinstall ${FILESDIR}/saslauthd.service 644 \
|
||||
usr/lib/systemd/system
|
||||
vinstall ${FILESDIR}/saslauthd.service 644 usr/lib/systemd/system
|
||||
vinstall ${FILESDIR}/saslauthd.tmpfiles.d 644 \
|
||||
usr/lib/tmpfiles.d saslauthd.conf
|
||||
|
||||
vinstall COPYING 644 usr/share/licenses/${pkgname}
|
||||
}
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
cyrus-sasl
|
|
@ -1 +1 @@
|
|||
libsasl
|
||||
cyrus-sasl
|
|
@ -1,36 +0,0 @@
|
|||
# Template file for 'libsasl'
|
||||
pkgname=libsasl
|
||||
version=2.1.23
|
||||
revision=4
|
||||
wrksrc="cyrus-sasl-${version}"
|
||||
distfiles="ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-$version.tar.gz"
|
||||
build_style=gnu-configure
|
||||
configure_args="--disable-anon --disable-cram
|
||||
--disable-digest --disable-gssapi --disable-otp --disable-login
|
||||
--disable-plain"
|
||||
makedepends="db-devel openssl-devel"
|
||||
short_desc="Cyrus SASL - authentication abstraction library"
|
||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||
checksum=20efcc4040cbab6e89a636a07dcf5720ee07b5c62359a4e7bf2500ef6020b136
|
||||
long_desc="
|
||||
SASL is the Simple Authentication and Security Layer, a method for adding
|
||||
authentication support to connection-based protocols. To use SASL, a protocol
|
||||
includes a command for identifying and authenticating a user to a server and
|
||||
for optionally negotiating protection of subsequent protocol interactions.
|
||||
If its use is negotiated, a security layer is inserted between the protocol
|
||||
and the connection. See RFC 2222 for more information.
|
||||
|
||||
Any of: ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI (MIT or Heimdal Kerberos 5),
|
||||
NTLM, OTP, PLAIN, or LOGIN can be used. If you intend to use this package on a
|
||||
server that provides SASL authentication, then you must install some of the
|
||||
cyrus-sasl-modules* packages."
|
||||
|
||||
subpackages="libsasl-devel"
|
||||
|
||||
|
||||
post_install()
|
||||
{
|
||||
# Remove unused stuff.
|
||||
rm -rf ${DESTDIR}/usr/sbin
|
||||
rm -rf ${DESTDIR}/usr/share/man/man8
|
||||
}
|
Loading…
Reference in New Issue