From 8040e8c9a6f4aa45084f0e7d83b30f76d29d02d3 Mon Sep 17 00:00:00 2001 From: Andy Walsh Date: Fri, 24 Aug 2018 12:18:13 +0200 Subject: [PATCH] samba4: update to 4.8.5 * update to 4.8.5 * enable aesni support for x86_64 * add 'unbundle libbsd' patch * update smb.conf.template (disable spoolss) Signed-off-by: Andy Walsh --- net/samba4/Makefile | 10 ++- net/samba4/files/smb.conf.template | 7 ++ .../103-samba-4.8.5-unbundle-libbsd.patch | 78 +++++++++++++++++++ 3 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 net/samba4/patches/103-samba-4.8.5-unbundle-libbsd.patch diff --git a/net/samba4/Makefile b/net/samba4/Makefile index c029bff4cc..72d4a01fbd 100644 --- a/net/samba4/Makefile +++ b/net/samba4/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=samba -PKG_VERSION:=4.8.4 +PKG_VERSION:=4.8.5 PKG_RELEASE:=1 PKG_MAINTAINER:=Andy Walsh @@ -11,7 +11,7 @@ PKG_LICENSE_FILES:=COPYING PKG_SOURCE_URL:=https://download.samba.org/pub/samba/stable/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=f5044d149e01894a08b1d114b8b69aed78171a7bb19608bd1fd771453b9a5406 +PKG_HASH:=e58ee6b1262d4128b8932ceee59d5f0b0a9bbe00547eb3cc4c41552de1a65155 # Buildroot bug? Can't add target deps via '+SAMBA4_SERVER_AD_DC:python-crypto' (as work-around we select via config.in) PKG_BUILD_DEPENDS:=SAMBA4_SERVER_AD_DC:python-crypto nfs-kernel-server/host @@ -158,7 +158,11 @@ CONFIGURE_ARGS += \ # Optional AES-NI support - https://lists.samba.org/archive/samba-technical/2017-September/122738.html # Support for Nettle wasn't comitted -CONFIGURE_ARGS += --accel-aes=none +ifdef CONFIG_TARGET_x86_64 + CONFIGURE_ARGS += --accel-aes=intelaesni +else + CONFIGURE_ARGS += --accel-aes=none +endif CONFIGURE_ARGS += \ --with-lockdir=/var/lock \ diff --git a/net/samba4/files/smb.conf.template b/net/samba4/files/smb.conf.template index 77f4e9675e..838c0ff96d 100644 --- a/net/samba4/files/smb.conf.template +++ b/net/samba4/files/smb.conf.template @@ -52,6 +52,13 @@ ## disable loading of all printcap printers by default (iprint, cups, lpstat) load printers = No printcap name = /dev/null + + ## Enabling this parameter will disable Samba's support for the SPOOLSS set of MS-RPC's. + disable spoolss = yes + + ## This parameters controls how printer status information is interpreted on your system. + ## (BSD, AIX, LPRNG, PLP, SYSV, HPUX, QNX, SOFTQ) + printing = bsd ## Disable that nmbd is acting as a WINS server for unknow netbios names #dns proxy = No diff --git a/net/samba4/patches/103-samba-4.8.5-unbundle-libbsd.patch b/net/samba4/patches/103-samba-4.8.5-unbundle-libbsd.patch new file mode 100644 index 0000000000..1fc2f7656e --- /dev/null +++ b/net/samba4/patches/103-samba-4.8.5-unbundle-libbsd.patch @@ -0,0 +1,78 @@ +--- a/lib/crypto/wscript_configure 2018-07-26 ++++ b/lib/crypto/wscript_configure 2018-08-27 +@@ -2,11 +2,11 @@ + import Options + import Utils + +-if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h', +- checklibc=True): +- conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h', +- checklibc=True) +- conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h', ++# if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h', ++ # checklibc=True): ++conf.CHECK_FUNCS_IN('MD5Init', 'md5', headers='sys/md5.h', ++ checklibc=True) ++conf.CHECK_FUNCS_IN('MD5Init', 'md', headers='sys/md5.h', + checklibc=True) + conf.CHECK_FUNCS_IN('CC_MD5_Init', '', headers='CommonCrypto/CommonDigest.h', + checklibc=True) +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -302,22 +302,13 @@ def configure(conf): + + conf.CHECK_FUNCS('prctl dirname basename') + +- strlcpy_in_bsd = False +- +- # libbsd on some platforms provides strlcpy and strlcat +- if not conf.CHECK_FUNCS('strlcpy strlcat'): +- if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h', +- checklibc=True): +- strlcpy_in_bsd = True +- if not conf.CHECK_FUNCS('getpeereid'): +- conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h'): +- conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h bsd/unistd.h') +- if not conf.CHECK_FUNCS('setproctitle_init'): +- conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h bsd/unistd.h') +- +- if not conf.CHECK_FUNCS('closefrom'): +- conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h') ++ # Not checking for libbsd ++ conf.CHECK_FUNCS('strlcpy strlcat') ++ conf.CHECK_FUNCS('getpeereid') ++ conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', headers='setproctitle.h') ++ conf.CHECK_FUNCS('setproctitle_init') ++ ++ conf.CHECK_FUNCS('closefrom') + + conf.CHECK_CODE(''' + struct ucred cred; +@@ -667,9 +658,6 @@ removeea setea + + # look for a method of finding the list of network interfaces + for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']: +- bsd_for_strlcpy = '' +- if strlcpy_in_bsd: +- bsd_for_strlcpy = ' bsd' + if conf.CHECK_CODE(''' + #define %s 1 + #define NO_CONFIG_H 1 +@@ -682,7 +670,7 @@ removeea setea + #include "test/getifaddrs.c" + ''' % method, + method, +- lib='nsl socket' + bsd_for_strlcpy, ++ lib='nsl socket', + addmain=False, + execute=True): + break +@@ -730,7 +718,6 @@ def build(bld): + break + + extra_libs = '' +- if bld.CONFIG_SET('HAVE_LIBBSD'): extra_libs += ' bsd' + + bld.SAMBA_SUBSYSTEM('LIBREPLACE_HOSTCC', + REPLACE_HOSTCC_SOURCE, -- 2.30.2