libkrb5 exports base64_decode and base64_encode (which appear to only be
needed internally), these conflict with symbols in dovecot's internal shared library, causing the wrong version of the functions to be used in some cases. Since we are in userland ABI API lock we cannot clean libkrb5 at present so make a nasty workaround by statically linking the affected binaries with libdovecot so the correct symbols take priority. Fixes crashes I hit in doveadm and potentially some auth mechanisms. OK ajacoutot@, Brad (maintainer)
This commit is contained in:
parent
8bb0a19380
commit
0ad0a1a16e
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: Makefile,v 1.180 2012/01/16 23:59:22 sthen Exp $
|
||||
# $OpenBSD: Makefile,v 1.181 2012/01/28 21:35:02 sthen Exp $
|
||||
|
||||
SHARED_ONLY= Yes
|
||||
|
||||
@ -15,7 +15,7 @@ V_DOVECOT= 2.0.17
|
||||
DISTNAME= dovecot-${V_DOVECOT}
|
||||
PKGNAME= dovecot-${V_DOVECOT}
|
||||
PKGNAME-server= dovecot-${V_DOVECOT}
|
||||
REVISION-server= 0
|
||||
REVISION-server= 1
|
||||
PKGNAME-ldap= dovecot-ldap-${V_DOVECOT}
|
||||
PKGNAME-mysql= dovecot-mysql-${V_DOVECOT}
|
||||
PKGNAME-postgresql= dovecot-postgresql-${V_DOVECOT}
|
||||
|
17
mail/dovecot/patches/patch-src_auth_Makefile_in
Normal file
17
mail/dovecot/patches/patch-src_auth_Makefile_in
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_auth_Makefile_in,v 1.1 2012/01/28 21:35:02 sthen Exp $
|
||||
|
||||
Heimdal libkrb5 exports base64_encode and base64_decode conflicting
|
||||
with libdovecot's versions. Workaround the namespace pollution issue
|
||||
by statically linking libdovecot so its symbols take precedence.
|
||||
|
||||
--- src/auth/Makefile.in.orig Sat Jan 28 20:46:02 2012
|
||||
+++ src/auth/Makefile.in Sat Jan 28 20:46:30 2012
|
||||
@@ -218,7 +218,7 @@ LD = @LD@
|
||||
LDAP_LIBS = @LDAP_LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBCAP = @LIBCAP@
|
||||
-LIBDOVECOT = @LIBDOVECOT@
|
||||
+LIBDOVECOT = $(top_builddir)/src/lib-dovecot/.libs/libdovecot.a
|
||||
LIBDOVECOT_DEPS = @LIBDOVECOT_DEPS@
|
||||
LIBDOVECOT_LDA = @LIBDOVECOT_LDA@
|
||||
LIBDOVECOT_LOGIN = @LIBDOVECOT_LOGIN@
|
17
mail/dovecot/patches/patch-src_doveadm_Makefile_in
Normal file
17
mail/dovecot/patches/patch-src_doveadm_Makefile_in
Normal file
@ -0,0 +1,17 @@
|
||||
$OpenBSD: patch-src_doveadm_Makefile_in,v 1.1 2012/01/28 21:35:02 sthen Exp $
|
||||
|
||||
Heimdal libkrb5 exports base64_encode and base64_decode conflicting
|
||||
with libdovecot's versions. Workaround the namespace pollution issue
|
||||
by statically linking libdovecot so its symbols take precedence.
|
||||
|
||||
--- src/doveadm/Makefile.in.orig Fri Jan 6 13:26:43 2012
|
||||
+++ src/doveadm/Makefile.in Sat Jan 28 20:22:18 2012
|
||||
@@ -146,7 +146,7 @@ LD = @LD@
|
||||
LDAP_LIBS = @LDAP_LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBCAP = @LIBCAP@
|
||||
-LIBDOVECOT = @LIBDOVECOT@
|
||||
+LIBDOVECOT = $(top_builddir)/src/lib-dovecot/.libs/libdovecot.a
|
||||
LIBDOVECOT_DEPS = @LIBDOVECOT_DEPS@
|
||||
LIBDOVECOT_LDA = @LIBDOVECOT_LDA@
|
||||
LIBDOVECOT_LOGIN = @LIBDOVECOT_LOGIN@
|
Loading…
Reference in New Issue
Block a user