From 44ded298ebb49500d321ac79b7d0d8bb4d5058ec Mon Sep 17 00:00:00 2001 From: root Date: Thu, 29 Mar 2012 00:01:17 +0000 Subject: Thu Mar 29 00:01:17 UTC 2012 --- core/gnupg/PKGBUILD | 58 +++-- core/gnupg/gnupg.install | 6 +- core/gpgme/PKGBUILD | 6 +- core/openldap/PKGBUILD | 24 +- core/openldap/mutex-end-of-struct-sigsegv.patch | 293 ++++++++++++++++++++++++ 5 files changed, 347 insertions(+), 40 deletions(-) create mode 100644 core/openldap/mutex-end-of-struct-sigsegv.patch (limited to 'core') diff --git a/core/gnupg/PKGBUILD b/core/gnupg/PKGBUILD index b6419c832..39c901d19 100644 --- a/core/gnupg/PKGBUILD +++ b/core/gnupg/PKGBUILD @@ -1,36 +1,44 @@ -# $Id: PKGBUILD 148992 2012-02-05 12:21:23Z andyrtr $ -# Maintainer: Andreas Radke -# Committer: Judd Vinet +# $Id: PKGBUILD 154386 2012-03-27 12:00:15Z bisson $ +# Maintainer: Tobias Powalowski +# Contributor: Andreas Radke +# Contributor: Judd Vinet + pkgname=gnupg -pkgver=1.4.12 -pkgrel=1 -pkgdesc="GNU Privacy Guard - a PGP replacement tool" +pkgver=2.0.18 +pkgrel=2 +pkgdesc='Complete and free implementation of the OpenPGP standard' +url='http://www.gnupg.org/' +license=('GPL') arch=('i686' 'x86_64') -license=('GPL3') -depends=('zlib' 'bzip2' 'libldap>=2.4.18' 'libusb-compat' 'curl>=7.16.2' 'readline>=6.0.00') -source=(ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/gnupg/$pkgname-$pkgver.tar.bz2) -install=gnupg.install -url="http://www.gnupg.org/" -md5sums=('ce3742e5c7912559cab7894ad8ba7f6b') +optdepends=('curl: gpg2keys_curl' + 'libldap: gpg2keys_ldap' + 'libusb-compat: scdaemon' + 'texinfo: documentation') +makedepends=('curl' 'libldap' 'libusb-compat' 'texinfo') +depends=('bzip2' 'libksba' 'libgcrypt' 'pth' 'libassuan' 'readline' 'pinentry' 'dirmngr') +install=${pkgname}.install +source=(ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-$pkgver.tar.bz2{,.sig}) +sha1sums=('5ec2f718760cc3121970a140aeea004b64545c46' + 'c1b15a6c204434081e2bd8249dde233b6c88c4d0') + +conflicts=('gnupg2') +provides=("gnupg2=${pkgver}") +replaces=('gnupg2') build() { - cd ${srcdir}/${pkgname}-${pkgver} - ./configure --prefix=/usr \ - --libexecdir=/usr/lib \ - --enable-noexecstack + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --libexecdir=/usr/lib/gnupg make - #ln -s ${pkgname}-${pkgver}/scripts .. # seems obsolete now } check() { - cd "$srcdir/$pkgname-$pkgver" - make -k check #All 27 tests passed + cd "${srcdir}/${pkgname}-${pkgver}" + make check } -package () { - cd ${srcdir}/${pkgname}-${pkgver} - make DESTDIR=${pkgdir} install - - # fix fileconflict with gnupg2 pkg - rm ${pkgdir}/usr/share/man/man1/gpg-zip.1 +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + ln -s gpg2 "${pkgdir}"/usr/bin/gpg + ln -s gpg2.1.gz "${pkgdir}"/usr/share/man/man1/gpg.1.gz } diff --git a/core/gnupg/gnupg.install b/core/gnupg/gnupg.install index 5a6704716..0a6f3d518 100644 --- a/core/gnupg/gnupg.install +++ b/core/gnupg/gnupg.install @@ -1,10 +1,10 @@ info_dir=/usr/share/info -info_files=(gnupg1.info) +info_files=(gnupg.info gnupg.info-1 gnupg.info-2) post_install() { [ -x usr/bin/install-info ] || return 0 for f in ${info_files[@]}; do - usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + usr/bin/install-info ${info_dir}/$f ${info_dir}/dir 2> /dev/null done } @@ -15,7 +15,7 @@ post_upgrade() { pre_remove() { [ -x usr/bin/install-info ] || return 0 for f in ${info_files[@]}; do - usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null + usr/bin/install-info --delete ${info_dir}/$f ${info_dir}/dir 2> /dev/null done } # vim:set ts=2 sw=2 et: diff --git a/core/gpgme/PKGBUILD b/core/gpgme/PKGBUILD index 830d06cc3..8c1150e38 100644 --- a/core/gpgme/PKGBUILD +++ b/core/gpgme/PKGBUILD @@ -1,16 +1,16 @@ -# $Id: PKGBUILD 146733 2012-01-16 22:51:33Z dreisner $ +# $Id: PKGBUILD 154388 2012-03-27 12:00:19Z bisson $ # Maintainer: Tobias Powalowski # Contributor: Roman Kyrylych # Contributor: Sarah Hay pkgname=gpgme pkgver=1.3.1 -pkgrel=2 +pkgrel=4 pkgdesc="A C wrapper library for GnuPG" arch=('i686' 'x86_64') url="http://www.gnupg.org/related_software/gpgme/" license=('GPL') -depends=('libgpg-error' 'pth' 'gnupg' 'gnupg2') +depends=('libgpg-error' 'pth' 'gnupg>=2') install=${pkgname}.install options=('!libtool' '!emptydirs') source=(ftp://ftp.gnupg.org/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) diff --git a/core/openldap/PKGBUILD b/core/openldap/PKGBUILD index 8351587b4..665a82a85 100644 --- a/core/openldap/PKGBUILD +++ b/core/openldap/PKGBUILD @@ -1,24 +1,29 @@ -# $Id: PKGBUILD 146451 2012-01-11 15:21:08Z stephane $ +# $Id: PKGBUILD 154404 2012-03-27 21:06:23Z eric $ # Maintainer: pkgbase=openldap pkgname=('libldap' 'openldap') -pkgver=2.4.28 -pkgrel=2 +pkgver=2.4.30 +pkgrel=1 arch=('i686' 'x86_64') url="http://www.openldap.org/" license=('custom') -makedepends=('libfetch' 'libltdl' 'libsasl' 'e2fsprogs' 'util-linux') +makedepends=('libltdl' 'libsasl' 'e2fsprogs' 'util-linux') source=(ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${pkgbase}-${pkgver}.tgz - slapd slapd.default ntlm.patch) -sha1sums=('d888beae1723002a5a2ff5509d3040df40885774' + slapd slapd.default + ntlm.patch + mutex-end-of-struct-sigsegv.patch) +sha1sums=('7447e89b9a5199f9bb2231bda42c308a1b6513d9' 'bd1ea19256d3d467f1f803e0f4046ef50f17628f' 'd89b8a533045123f1ab46c9c430cf132d58a20a4' - 'e4afd9f1c810ef4c4cd8fe1101dfe5887f2b7eef') + 'e4afd9f1c810ef4c4cd8fe1101dfe5887f2b7eef' + '694269dad78c7a806649c2d7f57bb7e503df3af1') build() { cd "${srcdir}"/${pkgbase}-${pkgver} patch -Np1 -i "${srcdir}"/ntlm.patch + patch -Np1 -i "${srcdir}"/mutex-end-of-struct-sigsegv.patch + sed -i 's|-m 644 $(LIBRARY)|-m 755 $(LIBRARY)|' libraries/{liblber,libldap,libldap_r}/Makefile.in sed -i 's|#define LDAPI_SOCK LDAP_RUNDIR LDAP_DIRSEP "run" LDAP_DIRSEP "ldapi"|#define LDAPI_SOCK LDAP_DIRSEP "run" LDAP_DIRSEP "openldap" LDAP_DIRSEP "ldapi"|' include/ldap_defaults.h sed -i 's|%LOCALSTATEDIR%/run|/run/openldap|' servers/slapd/slapd.conf @@ -30,7 +35,8 @@ build() { --enable-ipv6 --enable-syslog --enable-local \ --enable-bdb --enable-hdb \ --enable-crypt --enable-dynamic \ - --with-threads --disable-wrappers \ + --with-threads --disable-wrappers \ + --without-fetch \ --enable-spasswd --with-cyrus-sasl \ --enable-overlays=mod --enable-modules=yes make @@ -43,7 +49,7 @@ check() { package_libldap() { pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries" - depends=('libsasl' 'libfetch' 'e2fsprogs') + depends=('libsasl' 'e2fsprogs') backup=('etc/openldap/ldap.conf') options=('!libtool') diff --git a/core/openldap/mutex-end-of-struct-sigsegv.patch b/core/openldap/mutex-end-of-struct-sigsegv.patch new file mode 100644 index 000000000..e8996386a --- /dev/null +++ b/core/openldap/mutex-end-of-struct-sigsegv.patch @@ -0,0 +1,293 @@ + libraries/libldap/init.c | 8 ++- + libraries/libldap/ldap-int.h | 198 ++++++++++++++++++++++-------------------- + 2 files changed, 110 insertions(+), 96 deletions(-) + +diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c +index 39292d2..9d37e64 100644 +--- a/libraries/libldap/init.c ++++ b/libraries/libldap/init.c +@@ -36,7 +36,13 @@ + #include "lutil.h" + + struct ldapoptions ldap_int_global_options = +- { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE LDAP_LDO_MUTEX_NULLARG }; ++ { LDAP_UNINITIALIZED, LDAP_DEBUG_NONE ++ LDAP_LDO_NULLARG ++ LDAP_LDO_CONNECTIONLESS_NULLARG ++ LDAP_LDO_TLS_NULLARG ++ LDAP_LDO_SASL_NULLARG ++ LDAP_LDO_GSSAPI_NULLARG ++ LDAP_LDO_MUTEX_NULLARG }; + + #define ATTR_NONE 0 + #define ATTR_BOOL 1 +diff --git a/libraries/libldap/ldap-int.h b/libraries/libldap/ldap-int.h +index f8e6126..ac6c9e5 100644 +--- a/libraries/libldap/ldap-int.h ++++ b/libraries/libldap/ldap-int.h +@@ -185,29 +185,59 @@ struct ldapoptions { + #define LDAP_TRASHED_SESSION 0xFF + int ldo_debug; + +-#ifdef LDAP_R_COMPILE +- ldap_pvt_thread_mutex_t ldo_mutex; +-#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL +-#else +-#define LDAP_LDO_MUTEX_NULLARG +-#endif ++ ber_int_t ldo_version; ++ ber_int_t ldo_deref; ++ ber_int_t ldo_timelimit; ++ ber_int_t ldo_sizelimit; ++ ++ /* per API call timeout */ ++ struct timeval ldo_tm_api; ++ struct timeval ldo_tm_net; ++ ++ LDAPURLDesc *ldo_defludp; ++ int ldo_defport; ++ char* ldo_defbase; ++ char* ldo_defbinddn; /* bind dn */ ++ ++ /* ++ * Per connection tcp-keepalive settings (Linux only, ++ * ignored where unsupported) ++ */ ++ ber_int_t ldo_keepalive_idle; ++ ber_int_t ldo_keepalive_probes; ++ ber_int_t ldo_keepalive_interval; ++ ++ int ldo_refhoplimit; /* limit on referral nesting */ ++ ++ /* LDAPv3 server and client controls */ ++ LDAPControl **ldo_sctrls; ++ LDAPControl **ldo_cctrls; ++ ++ /* LDAP rebind callback function */ ++ LDAP_REBIND_PROC *ldo_rebind_proc; ++ void *ldo_rebind_params; ++ LDAP_NEXTREF_PROC *ldo_nextref_proc; ++ void *ldo_nextref_params; ++ LDAP_URLLIST_PROC *ldo_urllist_proc; ++ void *ldo_urllist_params; ++ ++ /* LDAP connection callback stack */ ++ ldaplist *ldo_conn_cbs; ++ ++ LDAP_BOOLEANS ldo_booleans; /* boolean options */ ++ ++#define LDAP_LDO_NULLARG ,0,0,0,0 ,{0},{0} ,0,0,0,0, 0,0,0,0, 0,0, 0,0,0,0,0,0, 0, 0 + + #ifdef LDAP_CONNECTIONLESS + #define LDAP_IS_UDP(ld) ((ld)->ld_options.ldo_is_udp) + void* ldo_peer; /* struct sockaddr* */ + char* ldo_cldapdn; + int ldo_is_udp; ++#define LDAP_LDO_CONNECTIONLESS_NULLARG ,0,0,0 ++#else ++#define LDAP_LDO_CONNECTIONLESS_NULLARG + #endif + +- /* per API call timeout */ +- struct timeval ldo_tm_api; +- struct timeval ldo_tm_net; +- +- ber_int_t ldo_version; +- ber_int_t ldo_deref; +- ber_int_t ldo_timelimit; +- ber_int_t ldo_sizelimit; +- + #ifdef HAVE_TLS + /* tls context */ + void *ldo_tls_ctx; +@@ -226,16 +256,12 @@ struct ldapoptions { + int ldo_tls_mode; + int ldo_tls_require_cert; + int ldo_tls_impl; +-#ifdef HAVE_OPENSSL_CRL + int ldo_tls_crlcheck; +-#endif ++#define LDAP_LDO_TLS_NULLARG ,0,0,0,{0,0,0,0,0,0,0,0,0},0,0,0,0 ++#else ++#define LDAP_LDO_TLS_NULLARG + #endif + +- LDAPURLDesc *ldo_defludp; +- int ldo_defport; +- char* ldo_defbase; +- char* ldo_defbinddn; /* bind dn */ +- + #ifdef HAVE_CYRUS_SASL + char* ldo_def_sasl_mech; /* SASL Mechanism(s) */ + char* ldo_def_sasl_realm; /* SASL realm */ +@@ -244,6 +270,9 @@ struct ldapoptions { + + /* SASL Security Properties */ + struct sasl_security_properties ldo_sasl_secprops; ++#define LDAP_LDO_SASL_NULLARG ,0,0,0,0,{0} ++#else ++#define LDAP_LDO_SASL_NULLARG + #endif + + #ifdef HAVE_GSSAPI +@@ -253,34 +282,17 @@ struct ldapoptions { + #define LDAP_GSSAPI_OPT_DO_NOT_FREE_GSS_CONTEXT 0x0001 + #define LDAP_GSSAPI_OPT_ALLOW_REMOTE_PRINCIPAL 0x0002 + unsigned ldo_gssapi_options; ++#define LDAP_LDO_GSSAPI_NULLARG ,0,0 ++#else ++#define LDAP_LDO_GSSAPI_NULLARG + #endif + +- /* +- * Per connection tcp-keepalive settings (Linux only, +- * ignored where unsupported) +- */ +- ber_int_t ldo_keepalive_idle; +- ber_int_t ldo_keepalive_probes; +- ber_int_t ldo_keepalive_interval; +- +- int ldo_refhoplimit; /* limit on referral nesting */ +- +- /* LDAPv3 server and client controls */ +- LDAPControl **ldo_sctrls; +- LDAPControl **ldo_cctrls; +- +- /* LDAP rebind callback function */ +- LDAP_REBIND_PROC *ldo_rebind_proc; +- void *ldo_rebind_params; +- LDAP_NEXTREF_PROC *ldo_nextref_proc; +- void *ldo_nextref_params; +- LDAP_URLLIST_PROC *ldo_urllist_proc; +- void *ldo_urllist_params; +- +- /* LDAP connection callback stack */ +- ldaplist *ldo_conn_cbs; +- +- LDAP_BOOLEANS ldo_booleans; /* boolean options */ ++#ifdef LDAP_R_COMPILE ++ ldap_pvt_thread_mutex_t ldo_mutex; ++#define LDAP_LDO_MUTEX_NULLARG , LDAP_PVT_MUTEX_NULL ++#else ++#define LDAP_LDO_MUTEX_NULLARG ++#endif + }; + + +@@ -375,6 +387,46 @@ struct ldap_common { + Sockbuf *ldc_sb; /* socket descriptor & buffer */ + #define ld_sb ldc->ldc_sb + ++ unsigned short ldc_lberoptions; ++#define ld_lberoptions ldc->ldc_lberoptions ++ ++ /* protected by msgid_mutex */ ++ ber_len_t ldc_msgid; ++#define ld_msgid ldc->ldc_msgid ++ ++ /* do not mess with these */ ++ /* protected by req_mutex */ ++ LDAPRequest *ldc_requests; /* list of outstanding requests */ ++ /* protected by res_mutex */ ++ LDAPMessage *ldc_responses; /* list of outstanding responses */ ++#define ld_requests ldc->ldc_requests ++#define ld_responses ldc->ldc_responses ++ ++ /* protected by abandon_mutex */ ++ ber_len_t ldc_nabandoned; ++ ber_int_t *ldc_abandoned; /* array of abandoned requests */ ++#define ld_nabandoned ldc->ldc_nabandoned ++#define ld_abandoned ldc->ldc_abandoned ++ ++ /* unused by libldap */ ++ LDAPCache *ldc_cache; /* non-null if cache is initialized */ ++#define ld_cache ldc->ldc_cache ++ ++ /* do not mess with the rest though */ ++ ++ /* protected by conn_mutex */ ++ LDAPConn *ldc_defconn; /* default connection */ ++#define ld_defconn ldc->ldc_defconn ++ LDAPConn *ldc_conns; /* list of server connections */ ++#define ld_conns ldc->ldc_conns ++ void *ldc_selectinfo;/* platform specifics for select */ ++#define ld_selectinfo ldc->ldc_selectinfo ++ ++ /* ldap_common refcnt - free only if 0 */ ++ /* protected by ldc_mutex */ ++ unsigned int ldc_refcnt; ++#define ld_ldcrefcnt ldc->ldc_refcnt ++ + /* protected by ldo_mutex */ + struct ldapoptions ldc_options; + #define ld_options ldc->ldc_options +@@ -403,66 +455,22 @@ struct ldap_common { + #define ld_urllist_params ld_options.ldo_urllist_params + + #define ld_version ld_options.ldo_version +-#ifdef LDAP_R_COMPILE +-#define ld_ldopts_mutex ld_options.ldo_mutex +-#endif +- +- unsigned short ldc_lberoptions; +-#define ld_lberoptions ldc->ldc_lberoptions +- +- /* protected by msgid_mutex */ +- ber_len_t ldc_msgid; +-#define ld_msgid ldc->ldc_msgid +- +- /* do not mess with these */ +- /* protected by req_mutex */ +- LDAPRequest *ldc_requests; /* list of outstanding requests */ +- /* protected by res_mutex */ +- LDAPMessage *ldc_responses; /* list of outstanding responses */ +-#define ld_requests ldc->ldc_requests +-#define ld_responses ldc->ldc_responses + + #ifdef LDAP_R_COMPILE ++ ldap_pvt_thread_mutex_t ldc_mutex; + ldap_pvt_thread_mutex_t ldc_msgid_mutex; + ldap_pvt_thread_mutex_t ldc_conn_mutex; + ldap_pvt_thread_mutex_t ldc_req_mutex; + ldap_pvt_thread_mutex_t ldc_res_mutex; + ldap_pvt_thread_mutex_t ldc_abandon_mutex; ++#define ld_ldopts_mutex ld_options.ldo_mutex ++#define ld_ldcmutex ldc->ldc_mutex + #define ld_msgid_mutex ldc->ldc_msgid_mutex + #define ld_conn_mutex ldc->ldc_conn_mutex + #define ld_req_mutex ldc->ldc_req_mutex + #define ld_res_mutex ldc->ldc_res_mutex + #define ld_abandon_mutex ldc->ldc_abandon_mutex + #endif +- +- /* protected by abandon_mutex */ +- ber_len_t ldc_nabandoned; +- ber_int_t *ldc_abandoned; /* array of abandoned requests */ +-#define ld_nabandoned ldc->ldc_nabandoned +-#define ld_abandoned ldc->ldc_abandoned +- +- /* unused by libldap */ +- LDAPCache *ldc_cache; /* non-null if cache is initialized */ +-#define ld_cache ldc->ldc_cache +- +- /* do not mess with the rest though */ +- +- /* protected by conn_mutex */ +- LDAPConn *ldc_defconn; /* default connection */ +-#define ld_defconn ldc->ldc_defconn +- LDAPConn *ldc_conns; /* list of server connections */ +-#define ld_conns ldc->ldc_conns +- void *ldc_selectinfo;/* platform specifics for select */ +-#define ld_selectinfo ldc->ldc_selectinfo +- +- /* ldap_common refcnt - free only if 0 */ +-#ifdef LDAP_R_COMPILE +- ldap_pvt_thread_mutex_t ldc_mutex; +-#define ld_ldcmutex ldc->ldc_mutex +-#endif +- /* protected by ldc_mutex */ +- unsigned int ldc_refcnt; +-#define ld_ldcrefcnt ldc->ldc_refcnt + }; + + struct ldap { -- cgit v1.2.3-54-g00ecf