forked from pool/cyrus-sasl
Accepting request 198419 from home:j-engel:branches:network
Update to 2.1.26 now without server side service for download of source file. Again please note that several other packages (notably openldap) need a rebuild with the new version due to the change in the lib version. OBS-URL: https://build.opensuse.org/request/show/198419 OBS-URL: https://build.opensuse.org/package/show/network/cyrus-sasl?expand=0&rev=38
This commit is contained in:
parent
f8c9d6609e
commit
4b99a5914b
@ -1,74 +0,0 @@
|
|||||||
commit 8fc14fd702897e652a38384af2f55e51752e8c15
|
|
||||||
Author: Alexey Melnikov <alexey.melnikov@isode.com>
|
|
||||||
Date: Tue May 29 16:00:47 2012 +0100
|
|
||||||
|
|
||||||
get_fqhostname() function has broken logic when abort_if_no_fqdn is 0
|
|
||||||
|
|
||||||
When abort_if_no_fqdn is 0, a getaddrinfo failure should be ignored,
|
|
||||||
as long as gethostname() succeeded.
|
|
||||||
|
|
||||||
Cyrus SASL Bug # 3589
|
|
||||||
|
|
||||||
Patch by baggins@pld-linux.org
|
|
||||||
|
|
||||||
diff --git a/lib/saslutil.c b/lib/saslutil.c
|
|
||||||
index fc5b774..6174124 100644
|
|
||||||
--- a/lib/saslutil.c
|
|
||||||
+++ b/lib/saslutil.c
|
|
||||||
@@ -557,32 +557,44 @@ int get_fqhostname(
|
|
||||||
NULL, /* don't care abour service/port */
|
|
||||||
&hints,
|
|
||||||
&result) != 0) {
|
|
||||||
- /* errno on Unix, WSASetLastError on Windows are already done by the function */
|
|
||||||
- return (-1);
|
|
||||||
+ if (abort_if_no_fqdn) {
|
|
||||||
+ /* errno on Unix, WSASetLastError on Windows are already done by the function */
|
|
||||||
+ return (-1);
|
|
||||||
+ } else {
|
|
||||||
+ goto LOWERCASE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (abort_if_no_fqdn && (result == NULL || result->ai_canonname == NULL)) {
|
|
||||||
+ if (result == NULL || result->ai_canonname == NULL) {
|
|
||||||
freeaddrinfo (result);
|
|
||||||
+ if (abort_if_no_fqdn) {
|
|
||||||
#ifdef WIN32
|
|
||||||
- WSASetLastError (WSANO_DATA);
|
|
||||||
+ WSASetLastError (WSANO_DATA);
|
|
||||||
#elif defined(ENODATA)
|
|
||||||
- errno = ENODATA;
|
|
||||||
+ errno = ENODATA;
|
|
||||||
#elif defined(EADDRNOTAVAIL)
|
|
||||||
- errno = EADDRNOTAVAIL;
|
|
||||||
+ errno = EADDRNOTAVAIL;
|
|
||||||
#endif
|
|
||||||
- return (-1);
|
|
||||||
+ return (-1);
|
|
||||||
+ } else {
|
|
||||||
+ goto LOWERCASE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (abort_if_no_fqdn && strchr (result->ai_canonname, '.') == NULL) {
|
|
||||||
+ if (strchr (result->ai_canonname, '.') == NULL) {
|
|
||||||
freeaddrinfo (result);
|
|
||||||
+ if (abort_if_no_fqdn) {
|
|
||||||
#ifdef WIN32
|
|
||||||
- WSASetLastError (WSANO_DATA);
|
|
||||||
+ WSASetLastError (WSANO_DATA);
|
|
||||||
#elif defined(ENODATA)
|
|
||||||
- errno = ENODATA;
|
|
||||||
+ errno = ENODATA;
|
|
||||||
#elif defined(EADDRNOTAVAIL)
|
|
||||||
- errno = EADDRNOTAVAIL;
|
|
||||||
+ errno = EADDRNOTAVAIL;
|
|
||||||
#endif
|
|
||||||
- return (-1);
|
|
||||||
+ return (-1);
|
|
||||||
+ } else {
|
|
||||||
+ goto LOWERCASE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:eb6e66b93a1d18182905e737cbe2cbdaaa70dcfa677afc2f4cd3b0df59c16161
|
|
||||||
size 1330164
|
|
3
cyrus-sasl-2.1.26.tar.gz
Normal file
3
cyrus-sasl-2.1.26.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8fbc5136512b59bb793657f36fadda6359cae3b08f01fd16b3d406f1345b7bc3
|
||||||
|
size 5220231
|
@ -1,39 +0,0 @@
|
|||||||
From: Jan Engelhardt <jengelh@inai.de>
|
|
||||||
Date: 2013-06-14 02:40:23.947245857 +0200
|
|
||||||
X-Upstream: This patch becomes obsolete with cyrus-sasl-2.1.26
|
|
||||||
|
|
||||||
src: fix sloppy DB version >= 4.1 check
|
|
||||||
|
|
||||||
Look! db-6.0 has hit the scene.
|
|
||||||
|
|
||||||
---
|
|
||||||
sasldb/db_berkeley.c | 2 +-
|
|
||||||
utils/dbconverter-2.c | 2 +-
|
|
||||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
Index: cyrus-sasl-2.1.25/sasldb/db_berkeley.c
|
|
||||||
===================================================================
|
|
||||||
--- cyrus-sasl-2.1.25.orig/sasldb/db_berkeley.c
|
|
||||||
+++ cyrus-sasl-2.1.25/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);
|
|
||||||
Index: cyrus-sasl-2.1.25/utils/dbconverter-2.c
|
|
||||||
===================================================================
|
|
||||||
--- cyrus-sasl-2.1.25.orig/utils/dbconverter-2.c
|
|
||||||
+++ cyrus-sasl-2.1.25/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);
|
|
@ -1,13 +0,0 @@
|
|||||||
Index: lib/saslint.h
|
|
||||||
===================================================================
|
|
||||||
--- lib/saslint.h.orig
|
|
||||||
+++ lib/saslint.h
|
|
||||||
@@ -118,8 +118,6 @@ typedef struct {
|
|
||||||
const char *appname;
|
|
||||||
} sasl_global_callbacks_t;
|
|
||||||
|
|
||||||
-extern sasl_global_callbacks_t global_callbacks;
|
|
||||||
-
|
|
||||||
typedef struct _sasl_external_properties
|
|
||||||
{
|
|
||||||
sasl_ssf_t ssf;
|
|
@ -1,204 +0,0 @@
|
|||||||
Index: cyrus-sasl-2.1.25/plugins/gs2.c
|
|
||||||
===================================================================
|
|
||||||
--- cyrus-sasl-2.1.25.orig/plugins/gs2.c
|
|
||||||
+++ cyrus-sasl-2.1.25/plugins/gs2.c
|
|
||||||
@@ -336,7 +336,7 @@ gs2_server_mech_step(void *conn_context,
|
|
||||||
gss_name_t without = GSS_C_NO_NAME;
|
|
||||||
gss_OID_set_desc mechs;
|
|
||||||
OM_uint32 out_flags = 0;
|
|
||||||
- int ret = 0, equal = 0;
|
|
||||||
+ int ret = SASL_OK, equal = 0;
|
|
||||||
int initialContextToken = (text->gss_ctx == GSS_C_NO_CONTEXT);
|
|
||||||
char *p;
|
|
||||||
|
|
||||||
@@ -463,14 +463,12 @@ gs2_server_mech_step(void *conn_context,
|
|
||||||
GSS_C_NT_USER_NAME,
|
|
||||||
&without);
|
|
||||||
if (GSS_ERROR(maj_stat)) {
|
|
||||||
- ret = SASL_FAIL;
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
maj_stat = gss_compare_name(&min_stat, text->client_name,
|
|
||||||
without, &equal);
|
|
||||||
if (GSS_ERROR(maj_stat)) {
|
|
||||||
- ret = SASL_FAIL;
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -486,8 +484,9 @@ gs2_server_mech_step(void *conn_context,
|
|
||||||
ret = params->canon_user(params->utils->conn,
|
|
||||||
text->authzid, 0,
|
|
||||||
SASL_CU_AUTHZID, oparams);
|
|
||||||
- if (ret != SASL_OK)
|
|
||||||
+ if (ret != SASL_OK) {
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = params->canon_user(params->utils->conn,
|
|
||||||
@@ -496,8 +495,9 @@ gs2_server_mech_step(void *conn_context,
|
|
||||||
? (SASL_CU_AUTHZID | SASL_CU_AUTHID)
|
|
||||||
: SASL_CU_AUTHID,
|
|
||||||
oparams);
|
|
||||||
- if (ret != SASL_OK)
|
|
||||||
+ if (ret != SASL_OK) {
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
switch (text->gs2_flags & GS2_CB_FLAG_MASK) {
|
|
||||||
case GS2_CB_FLAG_N:
|
|
||||||
@@ -528,19 +528,23 @@ gs2_server_mech_step(void *conn_context,
|
|
||||||
ret = SASL_OK;
|
|
||||||
|
|
||||||
cleanup:
|
|
||||||
- if (initialContextToken)
|
|
||||||
+ if (ret == SASL_OK && maj_stat != GSS_S_COMPLETE) {
|
|
||||||
+ sasl_gs2_seterror(text->utils, maj_stat, min_stat);
|
|
||||||
+ ret = SASL_FAIL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+////Can set maj_stat to gss_release_buffer return value and check
|
|
||||||
+ if (initialContextToken) {
|
|
||||||
gss_release_buffer(&min_stat, &input_token);
|
|
||||||
+ }
|
|
||||||
gss_release_buffer(&min_stat, &name_buf);
|
|
||||||
gss_release_buffer(&min_stat, &short_name_buf);
|
|
||||||
gss_release_buffer(&min_stat, &output_token);
|
|
||||||
gss_release_name(&min_stat, &without);
|
|
||||||
|
|
||||||
- if (ret == SASL_OK && maj_stat != GSS_S_COMPLETE) {
|
|
||||||
- sasl_gs2_seterror(text->utils, maj_stat, min_stat);
|
|
||||||
- ret = SASL_FAIL;
|
|
||||||
- }
|
|
||||||
- if (ret < SASL_OK)
|
|
||||||
+ if (ret < SASL_OK) {
|
|
||||||
sasl_gs2_free_context_contents(text);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
@@ -698,12 +702,14 @@ static int gs2_client_mech_step(void *co
|
|
||||||
|
|
||||||
if (text->gss_ctx == GSS_C_NO_CONTEXT) {
|
|
||||||
ret = gs2_get_init_creds(text, params, prompt_need, oparams);
|
|
||||||
- if (ret != SASL_OK)
|
|
||||||
+ if (ret != SASL_OK) {
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
initialContextToken = 1;
|
|
||||||
- } else
|
|
||||||
+ } else {
|
|
||||||
initialContextToken = 0;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if (text->server_name == GSS_C_NO_NAME) { /* only once */
|
|
||||||
name_buf.length = strlen(params->service) + 1 + strlen(params->serverFQDN);
|
|
||||||
@@ -729,8 +735,10 @@ static int gs2_client_mech_step(void *co
|
|
||||||
params->utils->free(name_buf.value);
|
|
||||||
name_buf.value = NULL;
|
|
||||||
|
|
||||||
- if (GSS_ERROR(maj_stat))
|
|
||||||
+ if (GSS_ERROR(maj_stat)) {
|
|
||||||
+ ret = SASL_OK;
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* From GSSAPI plugin: apparently this is for some IMAP bug workaround */
|
|
||||||
@@ -762,8 +770,9 @@ static int gs2_client_mech_step(void *co
|
|
||||||
strcmp(oparams->user, oparams->authid) ?
|
|
||||||
(char *) oparams->user : NULL,
|
|
||||||
&text->out_buf, &text->out_buf_len);
|
|
||||||
- if (ret != 0)
|
|
||||||
+ if (ret != 0) {
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
req_flags = GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG;
|
|
||||||
@@ -783,13 +792,16 @@ static int gs2_client_mech_step(void *co
|
|
||||||
&output_token,
|
|
||||||
&ret_flags,
|
|
||||||
&text->lifetime);
|
|
||||||
- if (GSS_ERROR(maj_stat))
|
|
||||||
+ if (GSS_ERROR(maj_stat)) {
|
|
||||||
+ ret = SASL_OK;
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
ret = gs2_make_message(text, params, initialContextToken, &output_token,
|
|
||||||
&text->out_buf, &text->out_buf_len);
|
|
||||||
- if (ret != 0)
|
|
||||||
+ if (ret != 0) {
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
*clientout = text->out_buf;
|
|
||||||
*clientoutlen = text->out_buf_len;
|
|
||||||
@@ -799,9 +811,9 @@ static int gs2_client_mech_step(void *co
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (text->client_name != GSS_C_NO_NAME)
|
|
||||||
+ if (text->client_name != GSS_C_NO_NAME) {
|
|
||||||
gss_release_name(&min_stat, &text->client_name);
|
|
||||||
-
|
|
||||||
+ }
|
|
||||||
maj_stat = gss_inquire_context(&min_stat,
|
|
||||||
text->gss_ctx,
|
|
||||||
&text->client_name,
|
|
||||||
@@ -811,11 +823,13 @@ static int gs2_client_mech_step(void *co
|
|
||||||
&ret_flags, /* flags */
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
- if (GSS_ERROR(maj_stat))
|
|
||||||
+ if (GSS_ERROR(maj_stat)) {
|
|
||||||
+ ret = SASL_OK;
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
if ((ret_flags & req_flags) != req_flags) {
|
|
||||||
- maj_stat = SASL_BADAUTH;
|
|
||||||
+ ret = SASL_BADAUTH;
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -823,8 +837,10 @@ static int gs2_client_mech_step(void *co
|
|
||||||
text->client_name,
|
|
||||||
&name_buf,
|
|
||||||
NULL);
|
|
||||||
- if (GSS_ERROR(maj_stat))
|
|
||||||
+ if (GSS_ERROR(maj_stat)) {
|
|
||||||
+ ret = SASL_OK;
|
|
||||||
goto cleanup;
|
|
||||||
+ }
|
|
||||||
|
|
||||||
oparams->gss_peer_name = text->server_name;
|
|
||||||
oparams->gss_local_name = text->client_name;
|
|
||||||
@@ -834,16 +850,20 @@ static int gs2_client_mech_step(void *co
|
|
||||||
oparams->maxoutbuf = 0xFFFFFF;
|
|
||||||
oparams->doneflag = 1;
|
|
||||||
|
|
||||||
-cleanup:
|
|
||||||
- gss_release_buffer(&min_stat, &output_token);
|
|
||||||
- gss_release_buffer(&min_stat, &name_buf);
|
|
||||||
+ ret = SASL_OK;
|
|
||||||
|
|
||||||
+cleanup:
|
|
||||||
if (ret == SASL_OK && maj_stat != GSS_S_COMPLETE) {
|
|
||||||
sasl_gs2_seterror(text->utils, maj_stat, min_stat);
|
|
||||||
ret = SASL_FAIL;
|
|
||||||
}
|
|
||||||
- if (ret < SASL_OK)
|
|
||||||
+
|
|
||||||
+ gss_release_buffer(&min_stat, &output_token);
|
|
||||||
+ gss_release_buffer(&min_stat, &name_buf);
|
|
||||||
+
|
|
||||||
+ if (ret < SASL_OK) {
|
|
||||||
sasl_gs2_free_context_contents(text);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
@ -27,7 +27,7 @@
|
|||||||
--- plugins/Makefile.am.orig
|
--- plugins/Makefile.am.orig
|
||||||
+++ plugins/Makefile.am
|
+++ plugins/Makefile.am
|
||||||
@@ -49,7 +49,8 @@
|
@@ -49,7 +49,8 @@
|
||||||
plugin_version = 2:25:0
|
plugin_version = 3:0:0
|
||||||
|
|
||||||
INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
|
INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/lib -I$(top_srcdir)/sasldb -I$(top_builddir)/include
|
||||||
-AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version)
|
-AM_LDFLAGS = -module -export-dynamic -rpath $(plugindir) -version-info $(plugin_version)
|
||||||
@ -39,12 +39,12 @@
|
|||||||
--- lib/Makefile.am.orig
|
--- lib/Makefile.am.orig
|
||||||
+++ lib/Makefile.am
|
+++ lib/Makefile.am
|
||||||
@@ -43,7 +43,8 @@
|
@@ -43,7 +43,8 @@
|
||||||
# Library version info - here at the top, for sanity
|
# CURRENT:REVISION:AGE
|
||||||
sasl_version = 2:25:0
|
sasl_version = 3:0:0
|
||||||
|
|
||||||
-INCLUDES=-I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
|
-INCLUDES=-DLIBSASL_EXPORTS=1 -I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
|
||||||
+
|
+
|
||||||
+AM_CPPFLAGS= -include $(top_builddir)/config.h -I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
|
+AM_CPPFLAGS=-DLIBSASL_EXPORTS=1 -include $(top_builddir)/config.h -I$(top_srcdir)/include -I$(top_srcdir)/plugins -I$(top_builddir)/include -I$(top_srcdir)/sasldb
|
||||||
|
|
||||||
EXTRA_DIST = windlopen.c staticopen.h NTMakefile
|
EXTRA_DIST = windlopen.c staticopen.h NTMakefile
|
||||||
EXTRA_LIBRARIES = libsasl2.a
|
EXTRA_LIBRARIES = libsasl2.a
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: cyrus-sasl-2.1.25/cmulocal/cyrus.m4
|
Index: cyrus-sasl-2.1.26/cmulocal/cyrus.m4
|
||||||
===================================================================
|
===================================================================
|
||||||
--- cyrus-sasl-2.1.25.orig/cmulocal/cyrus.m4
|
--- cyrus-sasl-2.1.26.orig/cmulocal/cyrus.m4
|
||||||
+++ cyrus-sasl-2.1.25/cmulocal/cyrus.m4
|
+++ cyrus-sasl-2.1.26/cmulocal/cyrus.m4
|
||||||
@@ -32,14 +32,5 @@ AC_DEFUN([CMU_ADD_LIBPATH_TO], [
|
@@ -32,14 +32,5 @@ AC_DEFUN([CMU_ADD_LIBPATH_TO], [
|
||||||
dnl runpath initialization
|
dnl runpath initialization
|
||||||
AC_DEFUN([CMU_GUESS_RUNPATH_SWITCH], [
|
AC_DEFUN([CMU_GUESS_RUNPATH_SWITCH], [
|
||||||
@ -17,5 +17,5 @@ Index: cyrus-sasl-2.1.25/cmulocal/cyrus.m4
|
|||||||
- ])
|
- ])
|
||||||
- LDFLAGS="${SAVE_LDFLAGS}"
|
- LDFLAGS="${SAVE_LDFLAGS}"
|
||||||
- ])])
|
- ])])
|
||||||
+ andrew_cv_runpath_switch="none"
|
+ andrew_cv_runpath_switch="none"
|
||||||
+ ])
|
+])
|
||||||
|
@ -1,3 +1,26 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Sep 8 21:11:27 UTC 2013 - jcnengel@googlemail.com
|
||||||
|
|
||||||
|
- Update to 2.1.26
|
||||||
|
* Modernize SASL malloc/realloc callback prototypes
|
||||||
|
* Added sasl_config_done() to plug a memory leak when using an application specific config file
|
||||||
|
* Fixed PLAIN/LOGIN authentication failure when using saslauthd with no auxprop plugins (bug # 3590).
|
||||||
|
* unlock the mutex in sasl_dispose if the context was freed by another thread
|
||||||
|
* MINGW32 compatibility patches
|
||||||
|
* Fixed broken logic in get_fqhostname() when abort_if_no_fqdn is 0
|
||||||
|
* Fixed some memory leaks in libsasl
|
||||||
|
- saslauthd:
|
||||||
|
+ auth_rimap.c: qstring incorrectly appending the closing double quote, which might be causing crashes
|
||||||
|
+ auth_rimap.c: read the whole IMAP greeting
|
||||||
|
+ better error reporting from some drivers
|
||||||
|
+ fixed some memory leaks
|
||||||
|
- Removed patches that do no longer apply
|
||||||
|
* cyrus-sasl-gcc4.patch (integrated upstream)
|
||||||
|
* cyrus-sasl-gs2-not-overwrite-minor-error-code.dif (integrated upstream)
|
||||||
|
* gssapi-null-deref.dif (integrated upstream)
|
||||||
|
* Fix-abort_if_no_fqdn-behavior.patch (integrated upstream)
|
||||||
|
* cyrus-sasl-db6.diff (integrated upstream)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jul 26 13:09:51 UTC 2013 - obs@botter.cc
|
Fri Jul 26 13:09:51 UTC 2013 - obs@botter.cc
|
||||||
|
|
||||||
|
@ -29,21 +29,16 @@ Url: http://asg.web.cmu.edu/sasl/
|
|||||||
Summary: The SASL Authentication Server
|
Summary: The SASL Authentication Server
|
||||||
License: BSD-4-Clause
|
License: BSD-4-Clause
|
||||||
Group: Productivity/Networking/Other
|
Group: Productivity/Networking/Other
|
||||||
Version: 2.1.25
|
Version: 2.1.26
|
||||||
Release: 0
|
Release: 0
|
||||||
Source: cyrus-sasl-%{version}.tar.bz2
|
Source: ftp://ftp.cyrusimap.org/cyrus-sasl/cyrus-sasl-%{version}.tar.gz
|
||||||
Source1: cyrus-sasl-rc.tar.bz2
|
Source1: cyrus-sasl-rc.tar.bz2
|
||||||
Source2: README.Source
|
Source2: README.Source
|
||||||
Source3: baselibs.conf
|
Source3: baselibs.conf
|
||||||
Patch: cyrus-sasl.dif
|
Patch: cyrus-sasl.dif
|
||||||
Patch1: shared_link_on_ppc.patch
|
Patch1: shared_link_on_ppc.patch
|
||||||
Patch2: cyrus-sasl-gcc4.patch
|
|
||||||
Patch3: cyrus-sasl-gs2-not-overwrite-minor-error-code.dif
|
|
||||||
Patch4: gssapi-null-deref.dif
|
|
||||||
Patch5: cyrus-sasl-no_rpath.patch
|
Patch5: cyrus-sasl-no_rpath.patch
|
||||||
Patch6: cyrus-sasl-lfs.patch
|
Patch6: cyrus-sasl-lfs.patch
|
||||||
Patch7: Fix-abort_if_no_fqdn-behavior.patch
|
|
||||||
Patch8: cyrus-sasl-db6.diff
|
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -74,11 +69,8 @@ The SQL auxprop plugin supports PostgreSQL and MySQL
|
|||||||
%patch1
|
%patch1
|
||||||
%patch2
|
%patch2
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6
|
%patch6
|
||||||
%patch7 -p1
|
|
||||||
%patch -P 8 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
find . -name \*.cvsignore -print0 | xargs -0 rm -vf
|
find . -name \*.cvsignore -print0 | xargs -0 rm -vf
|
||||||
|
@ -1,3 +1,49 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 11 07:16:23 UTC 2013 - jcnengel@gmail.com
|
||||||
|
|
||||||
|
- Removed server side service to comply with Factory rules
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 3 22:07:15 UTC 2013 - jcnengel@gmail.com
|
||||||
|
|
||||||
|
- Update to 2.1.26
|
||||||
|
* Modernize SASL malloc/realloc callback prototypes
|
||||||
|
* Added sasl_config_done() to plug a memory leak when using an application specific config file
|
||||||
|
* Fixed PLAIN/LOGIN authentication failure when using saslauthd with no auxprop plugins (bug # 3590).
|
||||||
|
* unlock the mutex in sasl_dispose if the context was freed by another thread
|
||||||
|
* MINGW32 compatibility patches
|
||||||
|
* Fixed broken logic in get_fqhostname() when abort_if_no_fqdn is 0
|
||||||
|
* Fixed some memory leaks in libsasl
|
||||||
|
- GSSAPI plugin:
|
||||||
|
+ Fixed a segfault in gssapi.c introduced in 2.1.25.
|
||||||
|
+ Code refactoring
|
||||||
|
+ Added support for GSS-SPNEGO SASL mechanism (Unix only), which is also HTTP capable
|
||||||
|
- GS2 plugin:
|
||||||
|
+ Updated GS2 plugin not to lose minor GSS-API status codes on errors
|
||||||
|
- DIGEST-MD5 plugin:
|
||||||
|
+ Correctly send "stale" directive to prevent clients from (re)promtping for password
|
||||||
|
+ Better handling of HTTP reauthentication cases
|
||||||
|
+ fixed some memory leaks
|
||||||
|
- SASLDB plugin:
|
||||||
|
+ Added support for BerkleyDB 5.X or later
|
||||||
|
- OTP plugin:
|
||||||
|
+ Removed calling of EVP_cleanup() on plugin shutdown in order to prevent TLS from failing in calling applications
|
||||||
|
- SRP plugin:
|
||||||
|
+ Removed calling of EVP_cleanup() on plugin shutdown in order to prevent TLS from failing in calling applications
|
||||||
|
- saslauthd:
|
||||||
|
+ auth_rimap.c: qstring incorrectly appending the closing double quote, which might be causing crashes
|
||||||
|
+ auth_rimap.c: read the whole IMAP greeting
|
||||||
|
+ better error reporting from some drivers
|
||||||
|
+ fixed some memory leaks
|
||||||
|
- New BuildRequires for pkgconfig since pkgconfig file is generated
|
||||||
|
- Removed patches that do no longer apply
|
||||||
|
* cyrus-sasl-gcc4.patch (integrated upstream)
|
||||||
|
* cyrus-sasl-gs2-not-overwrite-minor-error-code.dif (integrated upstream)
|
||||||
|
* gssapi-null-deref.dif (integrated upstream)
|
||||||
|
* Fix-abort_if_no_fqdn-behavior.patch (integrated upstream)
|
||||||
|
* cyrus-sasl-db6.diff (integrated upstream)
|
||||||
|
- Move *.so files into devel package
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jul 26 13:09:51 UTC 2013 - obs@botter.cc
|
Fri Jul 26 13:09:51 UTC 2013 - obs@botter.cc
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: cyrus-sasl
|
Name: cyrus-sasl
|
||||||
Version: 2.1.25
|
Version: 2.1.26
|
||||||
Release: 0
|
Release: 0
|
||||||
BuildRequires: db-devel
|
BuildRequires: db-devel
|
||||||
BuildRequires: krb5-mini-devel
|
BuildRequires: krb5-mini-devel
|
||||||
@ -25,6 +25,7 @@ BuildRequires: libtool
|
|||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: opie
|
BuildRequires: opie
|
||||||
BuildRequires: pam-devel
|
BuildRequires: pam-devel
|
||||||
|
BuildRequires: pkg-config
|
||||||
Url: http://asg.web.cmu.edu/sasl/
|
Url: http://asg.web.cmu.edu/sasl/
|
||||||
# bug437293
|
# bug437293
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
@ -34,19 +35,14 @@ Obsoletes: cyrus-sasl-64bit
|
|||||||
Summary: Implementation of Cyrus SASL API
|
Summary: Implementation of Cyrus SASL API
|
||||||
License: BSD-4-Clause
|
License: BSD-4-Clause
|
||||||
Group: Productivity/Networking/Other
|
Group: Productivity/Networking/Other
|
||||||
Source: cyrus-sasl-%{version}.tar.bz2
|
Source: ftp://ftp.cyrusimap.org/%{name}/%{name}-%{version}.tar.gz
|
||||||
Source1: cyrus-sasl-rc.tar.bz2
|
Source1: cyrus-sasl-rc.tar.bz2
|
||||||
Source2: README.Source
|
Source2: README.Source
|
||||||
Source3: baselibs.conf
|
Source3: baselibs.conf
|
||||||
Patch: cyrus-sasl.dif
|
Patch: cyrus-sasl.dif
|
||||||
Patch1: shared_link_on_ppc.patch
|
Patch1: shared_link_on_ppc.patch
|
||||||
Patch2: cyrus-sasl-gcc4.patch
|
|
||||||
Patch3: cyrus-sasl-gs2-not-overwrite-minor-error-code.dif
|
|
||||||
Patch4: gssapi-null-deref.dif
|
|
||||||
Patch5: cyrus-sasl-no_rpath.patch
|
Patch5: cyrus-sasl-no_rpath.patch
|
||||||
Patch6: cyrus-sasl-lfs.patch
|
Patch6: cyrus-sasl-lfs.patch
|
||||||
Patch7: Fix-abort_if_no_fqdn-behavior.patch
|
|
||||||
Patch8: cyrus-sasl-db6.diff
|
|
||||||
PreReq: %insserv_prereq %fillup_prereq
|
PreReq: %insserv_prereq %fillup_prereq
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
@ -153,17 +149,12 @@ information.
|
|||||||
if [ -e %{_builddir}/%{name}-%{version}/dlcompat-*/ ]
|
if [ -e %{_builddir}/%{name}-%{version}/dlcompat-*/ ]
|
||||||
then
|
then
|
||||||
echo "dlcompat contains potential legal risks."
|
echo "dlcompat contains potential legal risks."
|
||||||
exit 1;
|
rm -rf %{_builddir}/%{name}-%{version}/dlcompat-*
|
||||||
fi
|
fi
|
||||||
%patch
|
%patch
|
||||||
%patch1
|
%patch1
|
||||||
%patch2
|
|
||||||
%patch3 -p1
|
|
||||||
%patch4 -p1
|
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6
|
%patch6
|
||||||
%patch7 -p1
|
|
||||||
%patch -P 8 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
find . -name \*.cvsignore -print0 | xargs -0 rm -fv
|
find . -name \*.cvsignore -print0 | xargs -0 rm -fv
|
||||||
@ -205,9 +196,9 @@ find "%buildroot" -type f -name "*.la" -print -delete
|
|||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_libdir}/sasl2
|
%dir %{_libdir}/sasl2
|
||||||
%dir /etc/sasl2/
|
%dir /etc/sasl2/
|
||||||
%{_libdir}/sasl2/libanonymous.so*
|
%{_libdir}/sasl2/libanonymous.so.*
|
||||||
%{_libdir}/sasl2/liblogin.so*
|
%{_libdir}/sasl2/liblogin.so.*
|
||||||
%{_libdir}/sasl2/libsasldb.so*
|
%{_libdir}/sasl2/libsasldb.so.*
|
||||||
%{_libdir}/libsasl2.so.*
|
%{_libdir}/libsasl2.so.*
|
||||||
/usr/sbin/*
|
/usr/sbin/*
|
||||||
/usr/bin/*
|
/usr/bin/*
|
||||||
@ -217,35 +208,35 @@ find "%buildroot" -type f -name "*.la" -print -delete
|
|||||||
|
|
||||||
%files gssapi
|
%files gssapi
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libgssapiv2.so*
|
%{_libdir}/sasl2/libgssapiv2.so.*
|
||||||
|
|
||||||
%files crammd5
|
%files crammd5
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libcrammd5.so*
|
%{_libdir}/sasl2/libcrammd5.so.*
|
||||||
|
|
||||||
%files digestmd5
|
%files digestmd5
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libdigestmd5.so*
|
%{_libdir}/sasl2/libdigestmd5.so.*
|
||||||
|
|
||||||
%files otp
|
%files otp
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libotp.so*
|
%{_libdir}/sasl2/libotp.so.*
|
||||||
|
|
||||||
%files plain
|
%files plain
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libplain.so*
|
%{_libdir}/sasl2/libplain.so.*
|
||||||
|
|
||||||
%files ntlm
|
%files ntlm
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libntlm.so*
|
%{_libdir}/sasl2/libntlm.so.*
|
||||||
|
|
||||||
%files gs2
|
%files gs2
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libgs2.so*
|
%{_libdir}/sasl2/libgs2.so.*
|
||||||
|
|
||||||
%files scram
|
%files scram
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_libdir}/sasl2/libscram.so*
|
%{_libdir}/sasl2/libscram.so.*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
@ -253,5 +244,7 @@ find "%buildroot" -type f -name "*.la" -print -delete
|
|||||||
/usr/include/sasl
|
/usr/include/sasl
|
||||||
%doc %{_mandir}/man3/sasl_*.gz
|
%doc %{_mandir}/man3/sasl_*.gz
|
||||||
%{_libdir}/libsasl2.so
|
%{_libdir}/libsasl2.so
|
||||||
|
%{_libdir}/pkgconfig/*
|
||||||
|
%{_libdir}/sasl2/lib*.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
Index: cyrus-sasl-2.1.25/plugins/gssapi.c
|
|
||||||
===================================================================
|
|
||||||
--- cyrus-sasl-2.1.25.orig/plugins/gssapi.c
|
|
||||||
+++ cyrus-sasl-2.1.25/plugins/gssapi.c
|
|
||||||
@@ -370,7 +370,7 @@ sasl_gss_encode(void *context, const str
|
|
||||||
}
|
|
||||||
|
|
||||||
if (output_token->value && output) {
|
|
||||||
- unsigned char * p = (unsigned char *) text->encode_buf;
|
|
||||||
+ unsigned char * p;
|
|
||||||
|
|
||||||
ret = _plug_buf_alloc(text->utils,
|
|
||||||
&(text->encode_buf),
|
|
||||||
@@ -384,6 +384,8 @@ sasl_gss_encode(void *context, const str
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ p = (unsigned char *) text->encode_buf;
|
|
||||||
+
|
|
||||||
p[0] = (output_token->length>>24) & 0xFF;
|
|
||||||
p[1] = (output_token->length>>16) & 0xFF;
|
|
||||||
p[2] = (output_token->length>>8) & 0xFF;
|
|
Loading…
Reference in New Issue
Block a user