From 3a89a259a67fbb52f4d3d2740dd0a8aea229a4c0 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sat, 23 Jan 2016 20:13:24 +0000 Subject: samba: update to 4.3.4 --- ...s4-lib-tls-use-gnutls_priority_set_direct.patch | 69 ++++++++++++++++++++++ abs/extra/samba/PKGBUILD | 17 +++--- .../samba/samba-4.0.3-fix_pidl_with_gcc48.patch | 60 ------------------- 3 files changed, 79 insertions(+), 67 deletions(-) create mode 100644 abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch delete mode 100644 abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch diff --git a/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch new file mode 100644 index 0000000..d77d7fb --- /dev/null +++ b/abs/extra/samba/0001-s4-lib-tls-use-gnutls_priority_set_direct.patch @@ -0,0 +1,69 @@ +From 9d9b38b434b9d2e4b3bddd618cea944dfb960966 Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras +Date: Mon, 13 Apr 2015 22:03:14 +0300 +Subject: [PATCH] s4:lib/tls: use gnutls_priority_set_direct() + +gnutls_certificate_type_set_priority() was removed in GnuTLS 3.4.0. +--- + source4/lib/tls/tls.c | 4 +--- + source4/lib/tls/tls_tstream.c | 9 +-------- + 2 files changed, 2 insertions(+), 11 deletions(-) + +diff --git a/source4/lib/tls/tls.c b/source4/lib/tls/tls.c +index b9182ad..2bcbb80 100644 +--- a/source4/lib/tls/tls.c ++++ b/source4/lib/tls/tls.c +@@ -572,7 +572,6 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx, + { + struct tls_context *tls; + int ret = 0; +- const int cert_type_priority[] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 }; + struct socket_context *new_sock; + NTSTATUS nt_status; + +@@ -597,8 +596,7 @@ struct socket_context *tls_init_client(struct socket_context *socket_ctx, + gnutls_certificate_allocate_credentials(&tls->xcred); + gnutls_certificate_set_x509_trust_file(tls->xcred, ca_path, GNUTLS_X509_FMT_PEM); + TLSCHECK(gnutls_init(&tls->session, GNUTLS_CLIENT)); +- TLSCHECK(gnutls_set_default_priority(tls->session)); +- gnutls_certificate_type_set_priority(tls->session, cert_type_priority); ++ TLSCHECK(gnutls_priority_set_direct(tls->session, "NORMAL:+CTYPE-OPENPGP", NULL)); + TLSCHECK(gnutls_credentials_set(tls->session, GNUTLS_CRD_CERTIFICATE, tls->xcred)); + + talloc_set_destructor(tls, tls_destructor); +diff --git a/source4/lib/tls/tls_tstream.c b/source4/lib/tls/tls_tstream.c +index f19f5c5..ff0e881 100644 +--- a/source4/lib/tls/tls_tstream.c ++++ b/source4/lib/tls/tls_tstream.c +@@ -967,11 +967,6 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx, + #if ENABLE_GNUTLS + struct tstream_tls *tlss; + int ret; +- static const int cert_type_priority[] = { +- GNUTLS_CRT_X509, +- GNUTLS_CRT_OPENPGP, +- 0 +- }; + #endif /* ENABLE_GNUTLS */ + + req = tevent_req_create(mem_ctx, &state, +@@ -1007,15 +1002,13 @@ struct tevent_req *_tstream_tls_connect_send(TALLOC_CTX *mem_ctx, + return tevent_req_post(req, ev); + } + +- ret = gnutls_set_default_priority(tlss->tls_session); ++ ret = gnutls_priority_set_direct(tlss->tls_session, "NORMAL:+CTYPE-OPENPGP", NULL); + if (ret != GNUTLS_E_SUCCESS) { + DEBUG(0,("TLS %s - %s\n", __location__, gnutls_strerror(ret))); + tevent_req_error(req, EINVAL); + return tevent_req_post(req, ev); + } + +- gnutls_certificate_type_set_priority(tlss->tls_session, cert_type_priority); +- + ret = gnutls_credentials_set(tlss->tls_session, + GNUTLS_CRD_CERTIFICATE, + tls_params->x509_cred); +-- +2.3.5 + diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD index f813ab6..13ddd78 100644 --- a/abs/extra/samba/PKGBUILD +++ b/abs/extra/samba/PKGBUILD @@ -10,11 +10,11 @@ pkgbase=samba pkgname=('libwbclient' 'smbclient' 'samba') -pkgver=4.1.14 +pkgver=4.3.4 # We use the 'A' to fake out pacman's version comparators. Samba chooses -# to append 'a','b',etc to their subsequent releases, which pamcan +# to append 'a','b',etc to their subsequent releases, which pacman # misconstrues as alpha, beta, etc. Bad samba! -_realver=4.1.14 +_realver=4.3.4 pkgrel=1 arch=(i686 x86_64) url="http://www.samba.org" @@ -23,6 +23,7 @@ makedepends=('python2' 'docbook-xsl' 'pkg-config' 'libbsd' 'db' 'popt' 'libcups' 'readline' 'tevent' 'acl' 'libldap' 'libcap' 'ldb>=1.1.15' 'krb5' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb' 'dbus') source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz + http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.asc samba.logrotate samba.pam samba.service @@ -33,6 +34,7 @@ source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz smbd@.service winbindd.service samba.conf) +validpgpkeys=('52FBC0B86D954B0843324CDC6F33915B6568B7EA') #Samba Distribution Verification Key ### UNINSTALL dmapi package before building!!! build() { @@ -105,7 +107,7 @@ depends=('glibc' 'libbsd') install -d -m755 ${pkgdir}/usr/lib/samba mv ${_pkgsrc}/usr/lib/samba/libwinbind-client*.so* ${pkgdir}/usr/lib/samba/ - mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/ + #mv ${_pkgsrc}/usr/lib/samba/libreplace.so* ${pkgdir}/usr/lib/samba/ install -d -m755 ${pkgdir}/usr/lib/pkgconfig mv ${_pkgsrc}/usr/lib/pkgconfig/wbclient.pc ${pkgdir}/usr/lib/pkgconfig/ @@ -120,9 +122,9 @@ depends=('popt' 'cifs-utils' 'tdb' "libwbclient>=$pkgver" 'ldb' 'tevent' 'libgcrypt' 'python2' 'talloc' 'readline' 'gnutls' 'libbsd' 'libldap' 'libcups') - _smbclient_bins=('smbclient' 'smbclient4' 'rpcclient' 'smbspool' + _smbclient_bins=('smbclient' 'rpcclient' 'smbspool' 'smbtree' 'smbcacls' 'smbcquotas' 'smbget' 'net' - 'nmblookup' 'nmblookup4' 'smbtar') + 'nmblookup' 'smbtar') # Use samba-pkg as a staging directory for the split packages # (This is so RPATHS and symlinks are generated correctly via # make install, but the otherwise unsplit pieces can be split) @@ -241,7 +243,8 @@ sys.path.insert(0, '/usr/lib/python${_pyver}/site-packages')" \ # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('9f7bae123ed39d2aa9ba842d3a138d54' +md5sums=('48df803c6c6c475a714cae82a2dc219e' + 'SKIP' '5697da77590ec092cc8a883bae06093c' '96f82c38f3f540b53f3e5144900acf17' 'ee4763a656cf00d92bfda31b6bb2c5cb' diff --git a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch deleted file mode 100644 index cb2378a..0000000 --- a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Wed, 6 Feb 2013 10:17:57 +0200 -Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output - -When PIDL calls out to C preprocessor to expand IDL files -and parse the output, it filters out linemarkers and line control -information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html -and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control - -With gcc 4.8 stdc-predef.h is included automatically and linemarker for the -file has extended flags that PIDL couldn't parse ('system header that needs to -be extern "C" protected for C++') - -Thanks to Jakub Jelinek for explanation of the linemarker format. - -Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 - -Reviewed-by: Andreas Schneider -(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) - -Signed-off-by: Andreas Schneider ---- - pidl/idl.yp | 4 +++- - pidl/lib/Parse/Pidl/IDL.pm | 4 +++- - 2 files changed, 6 insertions(+), 2 deletions(-) - -diff --git a/pidl/idl.yp b/pidl/idl.yp -index b5c5185..c8a65f6 100644 ---- a/pidl/idl.yp -+++ b/pidl/idl.yp -@@ -610,7 +610,9 @@ again: - - for ($parser->YYData->{INPUT}) { - if (/^\#/) { -- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { -+ # Linemarker format is described at -+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html -+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { - $parser->YYData->{LINE} = $1-1; - $parser->YYData->{FILE} = $2; - goto again; -diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm -index d4820ff..6927c89 100644 ---- a/pidl/lib/Parse/Pidl/IDL.pm -+++ b/pidl/lib/Parse/Pidl/IDL.pm -@@ -2576,7 +2576,9 @@ again: - - for ($parser->YYData->{INPUT}) { - if (/^\#/) { -- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { -+ # Linemarker format is described at -+ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html -+ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { - $parser->YYData->{LINE} = $1-1; - $parser->YYData->{FILE} = $2; - goto again; --- -1.8.1.1 - -- cgit v0.12