aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorTimur I. Bakeyev <timur@FreeBSD.org>2019-06-30 19:27:35 +0000
committerTimur I. Bakeyev <timur@FreeBSD.org>2019-06-30 19:27:35 +0000
commit1c9a85e2cfa10f8e0771db13b7f0052e8b80101c (patch)
treeb426729cebbfde7d3d6f51358a15e56e8bd50bc3 /net
parent8dbee3c04d725201ee9c55779740c40d78556e75 (diff)
downloadports-1c9a85e2cfa10f8e0771db13b7f0052e8b80101c.tar.gz
ports-1c9a85e2cfa10f8e0771db13b7f0052e8b80101c.zip
New Samba 4.10 port.
Notes
Notes: svn path=/head/; revision=505446
Diffstat (limited to 'net')
-rw-r--r--net/samba410/Makefile139
-rw-r--r--net/samba410/distinfo6
-rw-r--r--net/samba410/files/0001-Zfs-provision-1.patch28
-rw-r--r--net/samba410/files/0001-audit.patch247
-rw-r--r--net/samba410/files/0001-ctdb.patch308
-rw-r--r--net/samba410/files/man/ctdb-etcd.7106
-rw-r--r--net/samba410/files/man/ctdb-script.options.5 (renamed from net/samba410/files/man/ctdbd.conf.5)727
-rw-r--r--net/samba410/files/man/ctdb-statistics.726
-rw-r--r--net/samba410/files/man/ctdb-tunables.761
-rw-r--r--net/samba410/files/man/ctdb.1145
-rw-r--r--net/samba410/files/man/ctdb.770
-rw-r--r--net/samba410/files/man/ctdb.conf.5359
-rw-r--r--net/samba410/files/man/ctdb.sysconfig.5139
-rw-r--r--net/samba410/files/man/ctdb_diagnostics.14
-rw-r--r--net/samba410/files/man/ctdb_mutex_ceph_rados_helper.779
-rw-r--r--net/samba410/files/man/ctdbd.1287
-rw-r--r--net/samba410/files/man/ctdbd_wrapper.114
-rw-r--r--net/samba410/files/man/samba-gpupdate.8 (renamed from net/samba410/files/man/samba_gpoupdate.8)0
-rw-r--r--net/samba410/files/man/vfs_freebsd.8204
-rw-r--r--net/samba410/files/patch-bind14 (renamed from net/samba410/files/patch-bind13)64
-rw-r--r--net/samba410/files/patch-buildtools__wafsamba__samba_python.py40
-rw-r--r--net/samba410/files/patch-buildtools_scripts_abi__gen.sh (renamed from net/samba410/files/patch-buildtools__scripts__abi_gen.sh)2
-rw-r--r--net/samba410/files/patch-buildtools_wafsamba_samba__autoconf.py (renamed from net/samba410/files/patch-buildtools__wafsamba__samba_autoconf.py)17
-rw-r--r--net/samba410/files/patch-buildtools_wafsamba_samba__install.py (renamed from net/samba410/files/patch-buildtools__wafsamba__samba_install.py)2
-rw-r--r--net/samba410/files/patch-buildtools_wafsamba_wafsamba.py (renamed from net/samba410/files/patch-buildtools__wafsamba__wafsamba.py)0
-rw-r--r--net/samba410/files/patch-buildtools_wafsamba_wscript (renamed from net/samba410/files/patch-buildtools__wafsamba__wscript)8
-rw-r--r--net/samba410/files/patch-ctdb_wscript (renamed from net/samba410/files/patch-ctdb__wscript)29
-rw-r--r--net/samba410/files/patch-dnssock.c13
-rw-r--r--net/samba410/files/patch-dwrap (renamed from net/samba410/files/patch-dbwrap)36
-rw-r--r--net/samba410/files/patch-dynconfig_wscript (renamed from net/samba410/files/patch-dynconfig__wscript)14
-rw-r--r--net/samba410/files/patch-examples_pdb_wscript__build (renamed from net/samba410/files/patch-examples__pdb__wscript_build)2
-rw-r--r--net/samba410/files/patch-glusterfs31
-rw-r--r--net/samba410/files/patch-lib__util__debug.c78
-rw-r--r--net/samba410/files/patch-lib_crypto_wscript__configure (renamed from net/samba410/files/patch-lib__crypto__wscript_configure)4
-rw-r--r--net/samba410/files/patch-lib_ldb_ldb__key__value_ldb__kv__cache.c (renamed from net/samba410/files/patch-lib__ldb__ldb_cache.c)6
-rw-r--r--net/samba410/files/patch-lib_ldb_ldb__mdb_ldb__mdb.c11
-rw-r--r--net/samba410/files/patch-lib_ldb_wscript24
-rw-r--r--net/samba410/files/patch-lib_replace_wscript (renamed from net/samba410/files/patch-lib__replace__wscript)8
-rw-r--r--net/samba410/files/patch-lib_talloc_talloc.c (renamed from net/samba410/files/patch-lib__talloc__talloc.c)6
-rw-r--r--net/samba410/files/patch-lib_talloc_wscript (renamed from net/samba410/files/patch-lib__talloc__wscript)4
-rw-r--r--net/samba410/files/patch-lib_util_wscript__build (renamed from net/samba410/files/patch-lib__util__wscript_build)4
-rw-r--r--net/samba410/files/patch-librpc__idl__xattr.idl13
-rw-r--r--net/samba410/files/patch-listen-backlog94
-rw-r--r--net/samba410/files/patch-mdns (renamed from net/samba410/files/0001-Freenas-master-mdns-fixes-22.patch)219
-rw-r--r--net/samba410/files/patch-nsswitch_wscript__build (renamed from net/samba410/files/patch-nsswitch__wscript_build)4
-rw-r--r--net/samba410/files/patch-source3__modules__wscript_build17
-rw-r--r--net/samba410/files/patch-source3_include_includes.h (renamed from net/samba410/files/patch-includes.h)4
-rw-r--r--net/samba410/files/patch-source3_lib_sysquotas__4B.c (renamed from net/samba410/files/patch-source3__lib__sysquotas_4B.c)2
-rw-r--r--net/samba410/files/patch-source3_lib_util.c (renamed from net/samba410/files/patch-source3__lib__util.c)8
-rw-r--r--net/samba410/files/patch-source3_librpc_crypto_gse.c (renamed from net/samba410/files/patch-source3__librpc__crypto__gse.c)4
-rw-r--r--net/samba410/files/patch-source3_modules_vfs__fruit.c (renamed from net/samba410/files/0001-bug-228462.patch)11
-rw-r--r--net/samba410/files/patch-source3_modules_vfs__streams__xattr.c34
-rw-r--r--net/samba410/files/patch-source3_modules_vfs__virusfilter__utils.c (renamed from net/samba410/files/patch-vfs_virusfilter)8
-rw-r--r--net/samba410/files/patch-source3_registry_tests_test__regfio.c10
-rw-r--r--net/samba410/files/patch-source3_rpc__server_mdssvc_mdssvc.c15
-rw-r--r--net/samba410/files/patch-source3_smbd_quotas.c (renamed from net/samba410/files/patch-source3__smbd__quotas.c)2
-rw-r--r--net/samba410/files/patch-source3_smbd_utmp.c (renamed from net/samba410/files/patch-source3__smbd__utmp.c)4
-rw-r--r--net/samba410/files/patch-source3_torture_cmd__vfs.c138
-rw-r--r--net/samba410/files/patch-source3_utils_net.c (renamed from net/samba410/files/patch-source3__utils__net.c)4
-rw-r--r--net/samba410/files/patch-source3_utils_net__time.c (renamed from net/samba410/files/patch-source3__utils__net_time.c)4
-rw-r--r--net/samba410/files/patch-source3_winbindd_wscript__build (renamed from net/samba410/files/patch-source3__winbindd__wscript_build)2
-rw-r--r--net/samba410/files/patch-source3_wscript (renamed from net/samba410/files/patch-source3__wscript)30
-rw-r--r--net/samba410/files/patch-source3_wscript__build (renamed from net/samba410/files/patch-source3__wscript_build)20
-rw-r--r--net/samba410/files/patch-source4_heimdal__build_wscript__configure20
-rw-r--r--net/samba410/files/patch-source4_heimdal_lib_roken_rand.c (renamed from net/samba410/files/patch-source4__heimdal__lib__roken__rand.c)4
-rw-r--r--net/samba410/files/patch-source4_kdc_kdc-service-mit.c (renamed from net/samba410/files/patch-source4__kdc__kdc-service-mit.c)2
-rw-r--r--net/samba410/files/patch-source4_lib_http_http.c (renamed from net/samba410/files/patch-source4__lib__http__http.c)10
-rw-r--r--net/samba410/files/patch-third__party_aesni-intel_wscript33
-rw-r--r--net/samba410/files/patch-third_party__waf__wafadmin__Logs.py21
-rw-r--r--net/samba410/files/patch-third_party__waf__wafadmin__Tools__cc.py11
-rw-r--r--net/samba410/files/patch-vfs_freebsd (renamed from net/samba410/files/patch-source3_modules_vfs__freebsd.c)242
-rw-r--r--net/samba410/pkg-plist1282
72 files changed, 2442 insertions, 3182 deletions
diff --git a/net/samba410/Makefile b/net/samba410/Makefile
index 3f7d81763f18..7bf7270ca0a6 100644
--- a/net/samba410/Makefile
+++ b/net/samba410/Makefile
@@ -1,9 +1,9 @@
# Created by: timur@FreeBSD.org
# $FreeBSD$
-PORTNAME= ${SAMBA4_BASENAME}48
+PORTNAME= ${SAMBA4_BASENAME}410
PORTVERSION= ${SAMBA4_VERSION}
-PORTREVISION= 1
+PORTREVISION= 0
CATEGORIES?= net
MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc
DISTNAME= ${SAMBA4_DISTNAME}
@@ -16,16 +16,13 @@ LICENSE_FILE= ${WRKSRC}/COPYING
IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
-CONFLICTS_INSTALL?= samba4-4.0.* samba4[1-79]-4.* p5-Parse-Pidl-4.*
+CONFLICTS_INSTALL?= samba4-4.0.* samba4[1-9]-4.* p5-Parse-Pidl-4.*
EXTRA_PATCHES+= ${PATCHDIR}/0001-Zfs-provision-1.patch:-p1
-EXTRA_PATCHES+= ${PATCHDIR}/0001-Freenas-master-mdns-fixes-22.patch:-p1
-EXTRA_PATCHES+= ${PATCHDIR}/0001-audit.patch:-p1
-EXTRA_PATCHES+= ${PATCHDIR}/0001-bug-228462.patch:-p1
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
-SAMBA4_VERSION= 4.8.12
+SAMBA4_VERSION= 4.10.5
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
@@ -42,7 +39,6 @@ SAMBA4_BINDDNSDIR= ${SAMBA4_LOCKDIR}/bind-dns
SAMBA4_PRIVATEDIR= ${SAMBA4_LOCKDIR}/private
SAMBA4_PAMDIR= ${PREFIX}/lib
SAMBA4_LIBDIR= ${PREFIX}/lib/${SAMBA4_PORTNAME}
-SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules
SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME}
SAMBA4_CONFDIR= ${PREFIX}/etc
SAMBA4_CONFIG= smb4.conf
@@ -74,6 +70,7 @@ USES= compiler:c++11-lang cpe iconv gettext-runtime \
ssl waf
USE_PERL5= build
USE_LDCONFIG= ${SAMBA4_LIBDIR}
+LLD_UNSAFE= yes
WAF_CMD= buildtools/bin/waf
CONFIGURE_LOG= bin/config.log
@@ -136,7 +133,7 @@ NSUPDATE_DESC= Use samba NSUPDATE utility for AD DC
# the system)
# Readline(sponsored by Python)
# XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency
-LIB_DEPENDS+= libreadline.so.8:devel/readline
+LIB_DEPENDS+= libreadline.so:devel/readline
# popt
LIB_DEPENDS+= libpopt.so:devel/popt
# inotify
@@ -148,6 +145,8 @@ LIB_DEPENDS+= libsunacl.so:sysutils/libsunacl
# Jansson
BUILD_DEPENDS+= jansson>=2.10:devel/jansson
RUN_DEPENDS+= jansson>=2.10:devel/jansson
+# tasn1
+LIB_DEPENDS+= libtasn1.so:security/libtasn1
# External Samba dependencies
# Needed for IDL compiler
BUILD_DEPENDS+= p5-Parse-Yapp>=0:devel/p5-Parse-Yapp
@@ -161,7 +160,7 @@ SAMBA4_BUNDLED_TALLOC?= no
SAMBA4_BUNDLED_TEVENT?= no
SAMBA4_BUNDLED_TDB?= no
SAMBA4_BUNDLED_LDB?= yes
-SAMBA4_LDB= 13
+SAMBA4_LDB= 15
# cmocka
.if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes
SAMBA4_BUNDLED_LIBS+= cmocka
@@ -170,47 +169,47 @@ PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA=""
SUB_LIST+= SAMBA4_BUNDLED_CMOCKA=""
.else
SAMBA4_BUNDLED_LIBS+= !cmocka
-BUILD_DEPENDS+= cmocka>=1.1.1:sysutils/cmocka
-RUN_DEPENDS+= cmocka>=1.1.1:sysutils/cmocka
+BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka
+RUN_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka
PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="@comment "
SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="@comment "
.endif
# talloc
.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes
SAMBA4_BUNDLED_LIBS+= talloc
-CONFLICTS+= talloc1-2.*
+CONFLICTS+= talloc-* talloc1-*
PLIST_SUB+= SAMBA4_BUNDLED_TALLOC=""
SUB_LIST+= SAMBA4_BUNDLED_TALLOC=""
.else
SAMBA4_BUNDLED_LIBS+= !talloc
-BUILD_DEPENDS+= talloc1>=2.1.14:devel/talloc1
-RUN_DEPENDS+= talloc1>=2.1.14:devel/talloc1
+BUILD_DEPENDS+= talloc>=2.2.0:devel/talloc
+RUN_DEPENDS+= talloc>=2.2.0:devel/talloc
PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TALLOC="@comment "
.endif
# tevent
.if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes
SAMBA4_BUNDLED_LIBS+= tevent
-CONFLICTS+= tevent1-0.*
+CONFLICTS+= tevent-* tevent1-*
PLIST_SUB+= SAMBA4_BUNDLED_TEVENT=""
SUB_LIST+= SAMBA4_BUNDLED_TEVENT=""
.else
SAMBA4_BUNDLED_LIBS+= !tevent
-BUILD_DEPENDS+= tevent1>=0.9.37:devel/tevent1
-RUN_DEPENDS+= tevent1>=0.9.37:devel/tevent1
+BUILD_DEPENDS+= tevent>=0.10.0:devel/tevent
+RUN_DEPENDS+= tevent>=0.10.0:devel/tevent
PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TEVENT="@comment "
.endif
# tdb
.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes
SAMBA4_BUNDLED_LIBS+= tdb
-CONFLICTS+= tdb1-1.*
+CONFLICTS+= tdb-* tdb1-*
PLIST_SUB+= SAMBA4_BUNDLED_TDB=""
SUB_LIST+= SAMBA4_BUNDLED_TDB=""
.else
SAMBA4_BUNDLED_LIBS+= !tdb
-BUILD_DEPENDS+= tdb1>=1.3.15:databases/tdb1
-RUN_DEPENDS+= tdb1>=1.3.15:databases/tdb1
+BUILD_DEPENDS+= tdb>=1.4.0:databases/tdb
+RUN_DEPENDS+= tdb>=1.4.0:databases/tdb
PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment "
.endif
@@ -218,26 +217,19 @@ SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment "
.if (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) || !defined(SAMBA4_LDB)
SAMBA4_BUNDLED_LDB= yes
SAMBA4_BUNDLED_LIBS+= ldb
-CONFLICTS+= ldb-1.* ldb1[23]-1.*
PLIST_SUB+= SAMBA4_BUNDLED_LDB=""
SUB_LIST+= SAMBA4_BUNDLED_LDB=""
+SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules
.else
-. if ${SAMBA4_LDB} == 13
-BUILD_DEPENDS+= ldb13>=1.3.6:databases/ldb13
-RUN_DEPENDS+= ldb13>=1.3.6:databases/ldb13
-. elif ${SAMBA4_LDB} == 12
-BUILD_DEPENDS+= ldb12>=1.2.3:databases/ldb12
-RUN_DEPENDS+= ldb12>=1.2.3:databases/ldb12
-. elif ${SAMBA4_LDB} == 11
-BUILD_DEPENDS+= ldb>=1.1.29:databases/ldb
-RUN_DEPENDS+= ldb>=1.1.29:databases/ldb
-. endif
SAMBA4_BUNDLED_LIBS+= !ldb
+BUILD_DEPENDS+= ldb14>=1.5.4:databases/ldb15
+RUN_DEPENDS+= ldb14>=1.5.4:databases/ldb15
PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment "
+SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules
.endif
-.if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TEVENT} == yes) \
+.if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TEVENT} == yes) \
|| (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \
|| (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes)
SAMBA4_BUNDLED_LIBS+= replace
@@ -272,6 +264,7 @@ CONFIGURE_ARGS+= \
${ICONV_CONFIGURE_BASE}
##############################################################################
BIND911_RUN_DEPENDS= bind911>=9.11.0.0:dns/bind911
+BIND912_RUN_DEPENDS= bind912>=9.12.0.0:dns/bind912
BIND913_RUN_DEPENDS= bind913>=9.13.0.0:dns/bind913
BIND914_RUN_DEPENDS= bind914>=9.14.0.0:dns/bind914
NSUPDATE_RUN_DEPENDS= samba-nsupdate:dns/samba-nsupdate
@@ -299,13 +292,16 @@ PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer
DEVELOPER_IMPLIES= NTVFS
DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable
-DEVELOPER_BUILD_DEPENDS= ${GDB_CMD}:devel/gdb
+DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS}
+DEVELOPER_BUILD_DEPENDS= ${GDB_CMD}:devel/gdb \
+ ${SAMBA4_LMDB_DEPENDS}
DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb
DEVELOPER_VARS_OFF= GDB_CMD=true
# XXX: Mostly used in conjuction with the DEVELOPER option, don't enable it
# if you don't know what you are doing
+NTVS_IMPLIES= AD_DC
NTVFS_CONFIGURE_WITH= ntvfs-fileserver
-NTVFS_PLIST_FILES= lib/shared-modules/service/smb.so \
+NTVFS_PLIST_FILES= ${SAMBA4_MODULEDIR}/service/smb.so \
lib/samba4/private/libntvfs-samba4.so
##############################################################################
CLUSTER_CONFIGURE_WITH= cluster-support
@@ -319,6 +315,7 @@ FAM_CONFIGURE_WITH= fam
GLUSTERFS_CONFIGURE_ENABLE= glusterfs
GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs
GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs
+GLUSTERFS_PLIST_FILES+= man/man8/vfs_glusterfs.8.gz
GPGME_CONFIGURE_WITH= gpgme
GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme
@@ -338,6 +335,8 @@ SYSLOG_CONFIGURE_WITH= syslog
UTMP_CONFIGURE_WITH= utmp
AD_DC_CONFIGURE_OFF= --without-ad-dc
+AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS}
+AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS}
ADS_IMPLIES= LDAP
ADS_CONFIGURE_WITH= ads dnsupdate
@@ -406,18 +405,18 @@ CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|
# XXX: Hack for nss-info_* -> nss_info/* modules
# Add selected modules to the plist
.for module in ${SAMBA4_MODULES}
-PLIST_FILES+= lib/shared-modules/${module:C|_|/|:C|-|_|}.so
+PLIST_FILES+= ${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so
.endfor
# Python bindings
.if defined(NO_PYTHON)
-USES+= python:2.7,build,test
+USES+= python:2.7+,build,test
CONFIGURE_ARGS+= --disable-python
-PLIST_SUB+= SAMBA4_PYTHON2="@comment " SAMBA4_PYTHON3="@comment "
-SUB_LIST+= SAMBA4_PYTHON2="@comment " SAMBA4_PYTHON3="@comment "
+PLIST_SUB+= SAMBA4_PYTHON="@comment "
+SUB_LIST+= SAMBA4_PYTHON="@comment "
.else
-USES+= python:2.7
-PLIST_SUB+= SAMBA4_PYTHON2=""
-SUB_LIST+= SAMBA4_PYTHON2=""
+USES+= python:3.4+
+PLIST_SUB+= SAMBA4_PYTHON=""
+SUB_LIST+= SAMBA4_PYTHON=""
.if !defined(SAMBA4_BUNDLED_TALLOC)
SAMBA4_BUNDLED_LIBS+= !pytalloc-util
@@ -437,36 +436,6 @@ RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=1.15.0:dns/py-dnspython@${PY_F
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR}
-# XXX: This is a gross hack to make port use both Python 2.7+ and 3.3+
-# This is not officially supported, use at your own risk
-.if defined(WITH_SAMBA4_PYTHON3) && ${WITH_SAMBA4_PYTHON3:M3\.[0-9]}
-SAMBA4_PYTHON3_VERSION= ${WITH_SAMBA4_PYTHON3}
-SAMBA4_PYTHON3= python${SAMBA4_PYTHON3_VERSION}
-SAMBA4_PYTHON3_VER= ${SAMBA4_PYTHON3_VERSION:C/\.//}
-.if !exists(${PORTSDIR}/lang/python${SAMBA4_PYTHON3_VER})
-.error unsupported or unknown Python version ${SAMBA4_PYTHON3_VERSION}
-.endif
-BUILD_DEPENDS+= ${SAMBA4_PYTHON3}:lang/python${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+= ${SAMBA4_PYTHON3}:lang/python${SAMBA4_PYTHON3_VER}
-# External Python modules
-BUILD_DEPENDS+= py${SAMBA4_PYTHON3_VER}-dnspython>=1.15.0:dns/py-dnspython@py${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+= py${SAMBA4_PYTHON3_VER}-dnspython>=1.15.0:dns/py-dnspython@py${SAMBA4_PYTHON3_VER}
-
-BUILD_DEPENDS+= py${SAMBA4_PYTHON3_VER}-iso8601>=0.1.11:devel/py-iso8601@py${SAMBA4_PYTHON3_VER}
-RUN_DEPENDS+= py${SAMBA4_PYTHON3_VER}-iso8601>=0.1.11:devel/py-iso8601@py${SAMBA4_PYTHON3_VER}
-# cpython-36m
-SAMBA4_PYTHON3_SO_ABI!= [ ! -f "${LOCALBASE}/bin/${SAMBA4_PYTHON3}" ] || ${LOCALBASE}/bin/${SAMBA4_PYTHON3} -c 'import sysconfig; print(sysconfig.get_config_var("SOABI") or "")' 2>/dev/null
-SAMBA4_PYTHON3_SITELIBDIR= lib/python${SAMBA4_PYTHON3_VERSION}/site-packages
-
-CONFIGURE_ENV+= PYTHON3_SO_ABI_FLAG=.${SAMBA4_PYTHON3_SO_ABI}
-CONFIGURE_ARGS+= --extra-python=${LOCALBASE}/bin/${SAMBA4_PYTHON3}
-
-PLIST_SUB+= SAMBA4_PYTHON3="" SAMBA4_PYTHON3_SITELIBDIR="${SAMBA4_PYTHON3_SITELIBDIR}"
-SUB_LIST+= SAMBA4_PYTHON3="" SAMBA4_PYTHON3_SITELIBDIR="${SAMBA4_PYTHON3_SITELIBDIR}"
-.else
-PLIST_SUB+= SAMBA4_PYTHON3="@comment "
-SUB_LIST+= SAMBA4_PYTHON3="@comment "
-.endif
.endif
# !SAMBA4_SUBPORT
.endif
@@ -484,12 +453,21 @@ PLIST_FILES+= lib/samba4/private/libaesni-intel-samba4.so
CONFIGURE_ARGS+= --accel-aes=none
.endif
+# Only for 64-bit architectures
+.if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe
+. if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && ${PORT_OPTIONS:MAD_DC}
+# LMDB
+SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb
+PLIST_FILES+= lib/samba4/private/libldb-mdb-int-samba4.so
+. endif
+.endif
+
.if ${PORT_OPTIONS:MGSSAPI_MIT}
-PLIST_FILES+= lib/shared-modules/krb5/winbind_krb5_localauth.so \
+PLIST_FILES+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \
man/man8/winbind_krb5_localauth.8.gz
-. if ${PORT_OPTIONS:MAD_DC}
+. if ${PORT_OPTIONS:MAD_DC}
PLIST_FILES+= lib/samba4/krb5/plugins/kdb/samba.so
-. endif
+. endif
.endif
# for libexecinfo: (so that __builtin_frame_address() finds the top of the stack)
CFLAGS_amd64+= -fno-omit-frame-pointer
@@ -499,7 +477,7 @@ MAKE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s'
.if ${CHOSEN_COMPILER_TYPE} == clang
CFLAGS+= -fno-color-diagnostics
.endif
-# Allow rpcgen ti find proper CPP
+# Allow rpcgen to find proper CPP
MAKE_ENV+= RPCGEN_CPP="${CPP}"
#.if ${readline_ARGS} == port
#CFLAGS+= -D_FUNCTION_DEF
@@ -565,7 +543,7 @@ pre-build-MANDOC-off:
source4/lib/registry/man/regpatch.1 \
source4/lib/registry/man/regshell.1 \
source4/lib/registry/man/regtree.1 \
- source4/scripting/man/samba_gpoupdate.8 \
+ source4/scripting/man/samba-gpupdate.8 \
source4/torture/man/gentest.1 \
source4/torture/man/locktest.1 \
source4/torture/man/masktest.1 \
@@ -583,14 +561,15 @@ pre-build-MANDOC-off:
lib/ldb/man/ldbmodify.1 \
lib/ldb/man/ldbrename.1 \
lib/ldb/man/ldbdel.1 \
- lib/ldb/man/ldbedit.1
+ lib/ldb/man/ldbedit.1 \
+ docs-xml/manpages/vfs_freebsd.8
${MKDIR} `dirname ${BUILD_WRKSRC}/bin/default/${man}`
${INSTALL_MAN} ${FILESDIR}/man/`basename ${man}` ${BUILD_WRKSRC}/bin/default/${man}
.endfor
.if ${PORT_OPTIONS:MCLUSTER}
${MKDIR} ${BUILD_WRKSRC}/bin/default/ctdb/
-. for man in ctdb_diagnostics.1 ctdb.1 ctdbd_wrapper.1 ctdbd.1 \
- ltdbtool.1 onnode.1 ping_pong.1 ctdbd.conf.5 \
+. for man in ctdb_diagnostics.1 ctdb.1 ctdbd_wrapper.1 ctdbd.1 ltdbtool.1 onnode.1 ping_pong.1 \
+ ctdb.conf.5 ctdb.sysconfig.5 ctdb-script.options.5 \
ctdb.7 ctdb-statistics.7 ctdb-tunables.7
${INSTALL_MAN} ${FILESDIR}/man/${man} ${BUILD_WRKSRC}/bin/default/ctdb/
. endfor
diff --git a/net/samba410/distinfo b/net/samba410/distinfo
index 221677af3c9b..70ffb70f2fc2 100644
--- a/net/samba410/distinfo
+++ b/net/samba410/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1557879791
-SHA256 (samba-4.8.12.tar.gz) = c162d519101e15d1a1d76df063bfefe8d1656f57fb74e1ef19fe05d341a65d8f
-SIZE (samba-4.8.12.tar.gz) = 17764832
+TIMESTAMP = 1560986236
+SHA256 (samba-4.10.5.tar.gz) = 6c10266d5e8c44ce1ea17dc993ace67a83607b4d9a830959c75e3188c6af6375
+SIZE (samba-4.10.5.tar.gz) = 18290612
diff --git a/net/samba410/files/0001-Zfs-provision-1.patch b/net/samba410/files/0001-Zfs-provision-1.patch
index 7edd94a9b1d9..df5a6ad3b6fa 100644
--- a/net/samba410/files/0001-Zfs-provision-1.patch
+++ b/net/samba410/files/0001-Zfs-provision-1.patch
@@ -40,8 +40,8 @@ index 5de986463a5..cd3b91f41b9 100644
+ file = tempfile.NamedTemporaryFile(dir=sysvol_dir)
try:
try:
-- smbd.set_simple_acl(file.name, 0755, gid)
-+ set_simple_acl(file.name, 0755, gid)
+- smbd.set_simple_acl(file.name, 0o755, gid)
++ set_simple_acl(file.name, 0o755, gid)
except OSError:
- if not smbd.have_posix_acls():
+ if not smbd.have_posix_acls() and not smbd.have_nfsv4_acls():
@@ -69,7 +69,7 @@ index 5de986463a5..cd3b91f41b9 100644
if not skip_sysvolacl:
@@ -2184,6 +2194,9 @@ def provision(logger, session_info, smbconf=None,
if not os.path.isdir(paths.netlogon):
- os.makedirs(paths.netlogon, 0755)
+ os.makedirs(paths.netlogon, 0o755)
+ if smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(paths.sysvol):
+ smbd.set_nfsv4_defaults()
@@ -120,7 +120,7 @@ diff --git a/source3/smbd/pysmbd.c b/source3/smbd/pysmbd.c
index 63fc5d68c33..f5a536ee186 100644
--- a/source3/smbd/pysmbd.c
+++ b/source3/smbd/pysmbd.c
-@@ -368,6 +368,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_
+@@ -387,6 +387,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_
return acl;
}
@@ -141,10 +141,12 @@ index 63fc5d68c33..f5a536ee186 100644
/*
set a simple ACL on a file, as a test
*/
-@@ -413,6 +427,53 @@ static PyObject *py_smbd_set_simple_acl(
+@@ -432,6 +446,57 @@ static PyObject *py_smbd_set_simple_acl(
+ Py_RETURN_NONE;
}
- /*
++
++/*
+ set a simple NFSv4 ACL on a file, as a test
+ */
+static PyObject *py_smbd_set_simple_nfsv4_acl(PyObject *self, PyObject *args, PyObject *kwargs)
@@ -170,8 +172,9 @@ index 63fc5d68c33..f5a536ee186 100644
+ return NULL;
+ }
+
-+ conn = get_conn(frame, service);
++ conn = get_conn_tos(service, NULL);
+ if (!conn) {
++ TALLOC_FREE(frame);
+ return NULL;
+ }
+
@@ -180,6 +183,8 @@ index 63fc5d68c33..f5a536ee186 100644
+ */
+ ret = 0;
+
++ /* ret = set_sys_acl_conn(fname, SMB_ACL_TYPE_ACCESS, acl, conn); */
++
+ if (ret != 0) {
+ TALLOC_FREE(frame);
+ errno = ret;
@@ -191,11 +196,10 @@ index 63fc5d68c33..f5a536ee186 100644
+ Py_RETURN_NONE;
+}
+
-+/*
+ /*
chown a file
*/
- static PyObject *py_smbd_chown(PyObject *self, PyObject *args, PyObject *kwargs)
-@@ -519,7 +580,7 @@ static PyObject *py_smbd_unlink(PyObject
+@@ -540,7 +605,7 @@ static PyObject *py_smbd_unlink(PyObject
}
/*
@@ -204,7 +208,7 @@ index 63fc5d68c33..f5a536ee186 100644
*/
static PyObject *py_smbd_have_posix_acls(PyObject *self)
{
-@@ -530,6 +591,86 @@ static PyObject *py_smbd_have_posix_acls
+@@ -551,6 +616,86 @@ static PyObject *py_smbd_have_posix_acls
#endif
}
@@ -291,7 +295,7 @@ index 63fc5d68c33..f5a536ee186 100644
/*
set the NT ACL on a file
*/
-@@ -717,9 +858,24 @@ static PyMethodDef py_smbd_methods[] = {
+@@ -843,9 +988,24 @@ static PyMethodDef py_smbd_methods[] = {
{ "have_posix_acls",
(PyCFunction)py_smbd_have_posix_acls, METH_NOARGS,
NULL },
diff --git a/net/samba410/files/0001-audit.patch b/net/samba410/files/0001-audit.patch
deleted file mode 100644
index 75708608e4ad..000000000000
--- a/net/samba410/files/0001-audit.patch
+++ /dev/null
@@ -1,247 +0,0 @@
-From 7d1bcfc99c393367093c903f95a5e365881b7989 Mon Sep 17 00:00:00 2001
-From: "Timur I. Bakeyev" <timur@iXsystems.com>
-Date: Fri, 22 Jun 2018 12:15:30 +0800
-Subject: [PATCH 1/3] Make sure that vfs*audit modules recognize and accept all
- the syslog facilities.
-
----
- source3/modules/vfs_audit.c | 34 +++++++++++++++++++++++-----------
- source3/modules/vfs_extd_audit.c | 34 +++++++++++++++++++++++-----------
- source3/modules/vfs_full_audit.c | 34 +++++++++++++++++++++++-----------
- 3 files changed, 69 insertions(+), 33 deletions(-)
-
-diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
-index 12477d5b01f..4f9d16c452e 100644
---- a/source3/modules/vfs_audit.c
-+++ b/source3/modules/vfs_audit.c
-@@ -33,16 +33,28 @@
- static int audit_syslog_facility(vfs_handle_struct *handle)
- {
- static const struct enum_list enum_log_facilities[] = {
-- { LOG_USER, "USER" },
-- { LOG_LOCAL0, "LOCAL0" },
-- { LOG_LOCAL1, "LOCAL1" },
-- { LOG_LOCAL2, "LOCAL2" },
-- { LOG_LOCAL3, "LOCAL3" },
-- { LOG_LOCAL4, "LOCAL4" },
-- { LOG_LOCAL5, "LOCAL5" },
-- { LOG_LOCAL6, "LOCAL6" },
-- { LOG_LOCAL7, "LOCAL7" },
-- { -1, NULL}
-+ { LOG_AUTH, "AUTH" },
-+ { LOG_CRON, "CRON" },
-+ { LOG_DAEMON, "DAEMON" },
-+ { LOG_FTP, "FTP" },
-+ { LOG_KERN, "KERN" },
-+ { LOG_LPR, "LPR" },
-+ { LOG_MAIL, "MAIL" },
-+ { LOG_NEWS, "NEWS" },
-+ { LOG_NTP, "NTP" },
-+ { LOG_SECURITY, "SECURITY" },
-+ { LOG_SYSLOG, "SYSLOG" },
-+ { LOG_USER, "USER" },
-+ { LOG_UUCP, "UUCP" },
-+ { LOG_LOCAL0, "LOCAL0" },
-+ { LOG_LOCAL1, "LOCAL1" },
-+ { LOG_LOCAL2, "LOCAL2" },
-+ { LOG_LOCAL3, "LOCAL3" },
-+ { LOG_LOCAL4, "LOCAL4" },
-+ { LOG_LOCAL5, "LOCAL5" },
-+ { LOG_LOCAL6, "LOCAL6" },
-+ { LOG_LOCAL7, "LOCAL7" },
-+ { -1, NULL }
- };
-
- int facility;
-@@ -64,7 +76,7 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
- { LOG_NOTICE, "NOTICE" },
- { LOG_INFO, "INFO" },
- { LOG_DEBUG, "DEBUG" },
-- { -1, NULL}
-+ { -1, NULL }
- };
-
- int priority;
-diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c
-index 7d1fe273978..5307569a010 100644
---- a/source3/modules/vfs_extd_audit.c
-+++ b/source3/modules/vfs_extd_audit.c
-@@ -36,16 +36,28 @@ static int vfs_extd_audit_debug_level = DBGC_VFS;
- static int audit_syslog_facility(vfs_handle_struct *handle)
- {
- static const struct enum_list enum_log_facilities[] = {
-- { LOG_USER, "USER" },
-- { LOG_LOCAL0, "LOCAL0" },
-- { LOG_LOCAL1, "LOCAL1" },
-- { LOG_LOCAL2, "LOCAL2" },
-- { LOG_LOCAL3, "LOCAL3" },
-- { LOG_LOCAL4, "LOCAL4" },
-- { LOG_LOCAL5, "LOCAL5" },
-- { LOG_LOCAL6, "LOCAL6" },
-- { LOG_LOCAL7, "LOCAL7" },
-- { -1, NULL}
-+ { LOG_AUTH, "AUTH" },
-+ { LOG_CRON, "CRON" },
-+ { LOG_DAEMON, "DAEMON" },
-+ { LOG_FTP, "FTP" },
-+ { LOG_KERN, "KERN" },
-+ { LOG_LPR, "LPR" },
-+ { LOG_MAIL, "MAIL" },
-+ { LOG_NEWS, "NEWS" },
-+ { LOG_NTP, "NTP" },
-+ { LOG_SECURITY, "SECURITY" },
-+ { LOG_SYSLOG, "SYSLOG" },
-+ { LOG_USER, "USER" },
-+ { LOG_UUCP, "UUCP" },
-+ { LOG_LOCAL0, "LOCAL0" },
-+ { LOG_LOCAL1, "LOCAL1" },
-+ { LOG_LOCAL2, "LOCAL2" },
-+ { LOG_LOCAL3, "LOCAL3" },
-+ { LOG_LOCAL4, "LOCAL4" },
-+ { LOG_LOCAL5, "LOCAL5" },
-+ { LOG_LOCAL6, "LOCAL6" },
-+ { LOG_LOCAL7, "LOCAL7" },
-+ { -1, NULL }
- };
-
- int facility;
-@@ -67,7 +79,7 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
- { LOG_NOTICE, "NOTICE" },
- { LOG_INFO, "INFO" },
- { LOG_DEBUG, "DEBUG" },
-- { -1, NULL}
-+ { -1, NULL }
- };
-
- int priority;
-diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
-index a205007f46f..a52af4b5740 100644
---- a/source3/modules/vfs_full_audit.c
-+++ b/source3/modules/vfs_full_audit.c
-@@ -357,16 +357,28 @@ static struct {
- static int audit_syslog_facility(vfs_handle_struct *handle)
- {
- static const struct enum_list enum_log_facilities[] = {
-- { LOG_USER, "USER" },
-- { LOG_LOCAL0, "LOCAL0" },
-- { LOG_LOCAL1, "LOCAL1" },
-- { LOG_LOCAL2, "LOCAL2" },
-- { LOG_LOCAL3, "LOCAL3" },
-- { LOG_LOCAL4, "LOCAL4" },
-- { LOG_LOCAL5, "LOCAL5" },
-- { LOG_LOCAL6, "LOCAL6" },
-- { LOG_LOCAL7, "LOCAL7" },
-- { -1, NULL}
-+ { LOG_AUTH, "AUTH" },
-+ { LOG_CRON, "CRON" },
-+ { LOG_DAEMON, "DAEMON" },
-+ { LOG_FTP, "FTP" },
-+ { LOG_KERN, "KERN" },
-+ { LOG_LPR, "LPR" },
-+ { LOG_MAIL, "MAIL" },
-+ { LOG_NEWS, "NEWS" },
-+ { LOG_NTP, "NTP" },
-+ { LOG_SECURITY, "SECURITY" },
-+ { LOG_SYSLOG, "SYSLOG" },
-+ { LOG_USER, "USER" },
-+ { LOG_UUCP, "UUCP" },
-+ { LOG_LOCAL0, "LOCAL0" },
-+ { LOG_LOCAL1, "LOCAL1" },
-+ { LOG_LOCAL2, "LOCAL2" },
-+ { LOG_LOCAL3, "LOCAL3" },
-+ { LOG_LOCAL4, "LOCAL4" },
-+ { LOG_LOCAL5, "LOCAL5" },
-+ { LOG_LOCAL6, "LOCAL6" },
-+ { LOG_LOCAL7, "LOCAL7" },
-+ { -1, NULL }
- };
-
- int facility;
-@@ -387,7 +399,7 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
- { LOG_NOTICE, "NOTICE" },
- { LOG_INFO, "INFO" },
- { LOG_DEBUG, "DEBUG" },
-- { -1, NULL}
-+ { -1, NULL }
- };
-
- int priority;
---
-2.16.3
-
-
-From b98fc517251ad25b695ef64453ffe3eaaffed5d8 Mon Sep 17 00:00:00 2001
-From: "Timur I. Bakeyev" <timur@iXsystems.com>
-Date: Fri, 22 Jun 2018 12:19:42 +0800
-Subject: [PATCH 2/3] Make "none" is the default setting for the successful and
- failed operations in the vfs_full_audit, so you don't blow up your server by
- just adding this module to the configuration.
-
----
- source3/modules/vfs_full_audit.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
-index a52af4b5740..bc40c8137dc 100644
---- a/source3/modules/vfs_full_audit.c
-+++ b/source3/modules/vfs_full_audit.c
-@@ -624,6 +624,7 @@ static int smb_full_audit_connect(vfs_handle_struct *handle,
- const char *svc, const char *user)
- {
- int result;
-+ const char *none[] = { "none" };
- struct vfs_full_audit_private_data *pd = NULL;
-
- result = SMB_VFS_NEXT_CONNECT(handle, svc, user);
-@@ -663,10 +664,10 @@ static int smb_full_audit_connect(vfs_handle_struct *handle,
-
- pd->success_ops = init_bitmap(
- pd, lp_parm_string_list(SNUM(handle->conn), "full_audit",
-- "success", NULL));
-+ "success", none));
- pd->failure_ops = init_bitmap(
- pd, lp_parm_string_list(SNUM(handle->conn), "full_audit",
-- "failure", NULL));
-+ "failure", none));
-
- /* Store the private data. */
- SMB_VFS_HANDLE_SET_DATA(handle, pd, NULL,
---
-2.16.3
-
-
-From e25f3a6cfc284737d8df941686f6629568763103 Mon Sep 17 00:00:00 2001
-From: "Timur I. Bakeyev" <timur@iXsystems.com>
-Date: Fri, 22 Jun 2018 12:36:07 +0800
-Subject: [PATCH 3/3] Document that vfs_full_audit defaults are "none" for the
- successful and failed operations.
-
----
- docs-xml/manpages/vfs_full_audit.8.xml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/docs-xml/manpages/vfs_full_audit.8.xml b/docs-xml/manpages/vfs_full_audit.8.xml
-index cefe66d8b6f..ac8473f9990 100644
---- a/docs-xml/manpages/vfs_full_audit.8.xml
-+++ b/docs-xml/manpages/vfs_full_audit.8.xml
-@@ -164,7 +164,7 @@
- <para>LIST is a list of VFS operations that should be
- recorded if they succeed. Operations are specified using
- the names listed above. Operations can be unset by prefixing
-- the names with "!". The default is all operations.
-+ the names with "!". The default is none operations.
- </para>
-
- </listitem>
-@@ -176,7 +176,7 @@
- <para>LIST is a list of VFS operations that should be
- recorded if they failed. Operations are specified using
- the names listed above. Operations can be unset by prefixing
-- the names with "!". The default is all operations.
-+ the names with "!". The default is none operations.
- </para>
-
- </listitem>
---
-2.16.3
-
diff --git a/net/samba410/files/0001-ctdb.patch b/net/samba410/files/0001-ctdb.patch
deleted file mode 100644
index 6efc8860dba1..000000000000
--- a/net/samba410/files/0001-ctdb.patch
+++ /dev/null
@@ -1,308 +0,0 @@
-From 8304a62ea7847ba6934d44c1b5b7acef9667750d Mon Sep 17 00:00:00 2001
-From: Martin Schwenke <martin@meltin.net>
-Date: Fri, 8 Jun 2018 19:57:20 +1000
-Subject: [PATCH 1/2] ctdb-common: New include file common/system_network.h
-
-Contains declarations for functions that need ctdb_sock_addr.
-
-Signed-off-by: Martin Schwenke <martin@meltin.net>
----
- ctdb/common/system.h | 16 ------------
- ctdb/common/system_aix.c | 1 +
- ctdb/common/system_common.c | 2 +-
- ctdb/common/system_freebsd.c | 1 +
- ctdb/common/system_gnu.c | 1 +
- ctdb/common/system_kfreebsd.c | 1 +
- ctdb/common/system_linux.c | 1 +
- ctdb/common/system_network.h | 46 ++++++++++++++++++++++++++++++++++
- ctdb/server/ctdb_daemon.c | 1 +
- ctdb/server/ctdb_recoverd.c | 2 +-
- ctdb/server/ctdb_takeover.c | 1 +
- ctdb/tests/src/porting_tests.c | 1 +
- ctdb/tools/ctdb.c | 1 +
- ctdb/tools/ctdb_killtcp.c | 2 +-
- 14 files changed, 58 insertions(+), 19 deletions(-)
- create mode 100644 ctdb/common/system_network.h
-
-diff --git a/ctdb/common/system.h b/ctdb/common/system.h
-index e6f65b5e621..38ae67d2ab1 100644
---- a/ctdb/common/system.h
-+++ b/ctdb/common/system.h
-@@ -22,24 +22,8 @@
-
- #include <talloc.h>
-
--/* From system_common.c */
--
--uint32_t uint16_checksum(uint16_t *data, size_t n);
--bool ctdb_sys_have_ip(ctdb_sock_addr *_addr);
--char *ctdb_sys_find_ifname(ctdb_sock_addr *addr);
--
- /* From system_<os>.c */
-
--int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface);
--int ctdb_sys_send_tcp(const ctdb_sock_addr *dest,
-- const ctdb_sock_addr *src,
-- uint32_t seq, uint32_t ack, int rst);
--int ctdb_sys_open_capture_socket(const char *iface, void **private_data);
--int ctdb_sys_close_capture_socket(void *private_data);
--int ctdb_sys_read_tcp_packet(int s, void *private_data,
-- ctdb_sock_addr *src, ctdb_sock_addr *dst,
-- uint32_t *ack_seq, uint32_t *seq,
-- int *rst, uint16_t *window);
- bool ctdb_sys_check_iface_exists(const char *iface);
- int ctdb_get_peer_pid(const int fd, pid_t *peer_pid);
-
-diff --git a/ctdb/common/system_aix.c b/ctdb/common/system_aix.c
-index f0a0a62efc0..7be54c7a46b 100644
---- a/ctdb/common/system_aix.c
-+++ b/ctdb/common/system_aix.c
-@@ -38,6 +38,7 @@
-
- #include "common/logging.h"
- #include "common/system.h"
-+#include "common/system_network.h"
-
-
- #if 0
-diff --git a/ctdb/common/system_common.c b/ctdb/common/system_common.c
-index a80189cd6c8..2618bf88c7f 100644
---- a/ctdb/common/system_common.c
-+++ b/ctdb/common/system_common.c
-@@ -26,7 +26,7 @@
- #include "protocol/protocol.h"
-
- #include "common/logging.h"
--#include "common/system.h"
-+#include "common/system_network.h"
-
- /*
- uint16 checksum for n bytes
-diff --git a/ctdb/common/system_freebsd.c b/ctdb/common/system_freebsd.c
-index b709a5c75c1..e5a6522c08f 100644
---- a/ctdb/common/system_freebsd.c
-+++ b/ctdb/common/system_freebsd.c
-@@ -41,6 +41,7 @@
-
- #include "common/logging.h"
- #include "common/system.h"
-+#include "common/system_network.h"
-
- #ifndef ETHERTYPE_IP6
- #define ETHERTYPE_IP6 0x86dd
-diff --git a/ctdb/common/system_gnu.c b/ctdb/common/system_gnu.c
-index 38ccd13988b..683843a6b76 100644
---- a/ctdb/common/system_gnu.c
-+++ b/ctdb/common/system_gnu.c
-@@ -40,6 +40,7 @@
-
- #include "common/logging.h"
- #include "common/system.h"
-+#include "common/system_network.h"
-
- #ifndef ETHERTYPE_IP6
- #define ETHERTYPE_IP6 0x86dd
-diff --git a/ctdb/common/system_kfreebsd.c b/ctdb/common/system_kfreebsd.c
-index d02f28659cb..cdf13572b2b 100644
---- a/ctdb/common/system_kfreebsd.c
-+++ b/ctdb/common/system_kfreebsd.c
-@@ -40,6 +40,7 @@
-
- #include "common/logging.h"
- #include "common/system.h"
-+#include "common/system_network.h"
-
- #ifndef ETHERTYPE_IP6
- #define ETHERTYPE_IP6 0x86dd
-diff --git a/ctdb/common/system_linux.c b/ctdb/common/system_linux.c
-index fa77a45460f..beacbf34138 100644
---- a/ctdb/common/system_linux.c
-+++ b/ctdb/common/system_linux.c
-@@ -37,6 +37,7 @@
-
- #include "common/logging.h"
- #include "common/system.h"
-+#include "common/system_network.h"
-
- #ifndef ETHERTYPE_IP6
- #define ETHERTYPE_IP6 0x86dd
-diff --git a/ctdb/common/system_network.h b/ctdb/common/system_network.h
-new file mode 100644
-index 00000000000..b6761d29c76
---- /dev/null
-+++ b/ctdb/common/system_network.h
-@@ -0,0 +1,46 @@
-+/*
-+ System specific network code
-+
-+ Copyright (C) Amitay Isaacs 2015
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 3 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program; if not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#ifndef __CTDB_SYSTEM_NETWORK_H__
-+#define __CTDB_SYSTEM_NETWORK_H__
-+
-+#include <talloc.h>
-+
-+#include "protocol/protocol.h"
-+
-+/* From system_common.c */
-+
-+uint32_t uint16_checksum(uint16_t *data, size_t n);
-+bool ctdb_sys_have_ip(ctdb_sock_addr *_addr);
-+char *ctdb_sys_find_ifname(ctdb_sock_addr *addr);
-+
-+/* From system_<os>.c */
-+
-+int ctdb_sys_send_arp(const ctdb_sock_addr *addr, const char *iface);
-+int ctdb_sys_send_tcp(const ctdb_sock_addr *dest,
-+ const ctdb_sock_addr *src,
-+ uint32_t seq, uint32_t ack, int rst);
-+int ctdb_sys_open_capture_socket(const char *iface, void **private_data);
-+int ctdb_sys_close_capture_socket(void *private_data);
-+int ctdb_sys_read_tcp_packet(int s, void *private_data,
-+ ctdb_sock_addr *src, ctdb_sock_addr *dst,
-+ uint32_t *ack_seq, uint32_t *seq,
-+ int *rst, uint16_t *window);
-+
-+#endif /* __CTDB_SYSTEM_H__ */
-diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c
-index 35c1ab639b5..37a93ec6de1 100644
---- a/ctdb/server/ctdb_daemon.c
-+++ b/ctdb/server/ctdb_daemon.c
-@@ -43,6 +43,7 @@
- #include "common/rb_tree.h"
- #include "common/reqid.h"
- #include "common/system.h"
-+#include "common/system_network.h"
- #include "common/common.h"
- #include "common/logging.h"
- #include "common/pidfile.h"
-diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
-index 2b94fed7478..73451711845 100644
---- a/ctdb/server/ctdb_recoverd.c
-+++ b/ctdb/server/ctdb_recoverd.c
-@@ -38,7 +38,7 @@
- #include "ctdb_private.h"
- #include "ctdb_client.h"
-
--#include "common/system.h"
-+#include "common/system_network.h"
- #include "common/common.h"
- #include "common/logging.h"
-
-diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c
-index cd240875ba2..a97ce2b6de6 100644
---- a/ctdb/server/ctdb_takeover.c
-+++ b/ctdb/server/ctdb_takeover.c
-@@ -39,6 +39,7 @@
- #include "common/rb_tree.h"
- #include "common/reqid.h"
- #include "common/system.h"
-+#include "common/system_network.h"
- #include "common/common.h"
- #include "common/logging.h"
-
-diff --git a/ctdb/tests/src/porting_tests.c b/ctdb/tests/src/porting_tests.c
-index 74dbf0781b4..b7ad5256fdc 100644
---- a/ctdb/tests/src/porting_tests.c
-+++ b/ctdb/tests/src/porting_tests.c
-@@ -32,6 +32,7 @@
-
- #include "protocol/protocol.h"
- #include "common/system.h"
-+#include "common/system_network.h"
- #include "common/logging.h"
-
-
-diff --git a/ctdb/tools/ctdb.c b/ctdb/tools/ctdb.c
-index 2cb46b057f0..8cbe706ab54 100644
---- a/ctdb/tools/ctdb.c
-+++ b/ctdb/tools/ctdb.c
-@@ -41,6 +41,7 @@
- #include "protocol/protocol_api.h"
- #include "protocol/protocol_util.h"
- #include "common/system.h"
-+#include "common/system_network.h"
- #include "client/client.h"
- #include "client/client_sync.h"
-
-diff --git a/ctdb/tools/ctdb_killtcp.c b/ctdb/tools/ctdb_killtcp.c
-index 71b5999b10e..408a7b4e121 100644
---- a/ctdb/tools/ctdb_killtcp.c
-+++ b/ctdb/tools/ctdb_killtcp.c
-@@ -30,7 +30,7 @@
- #include "protocol/protocol_util.h"
-
- #include "common/db_hash.h"
--#include "common/system.h"
-+#include "common/system_network.h"
- #include "common/logging.h"
-
-
---
-2.17.1
-
-
-From fb350f80cc072d4b699759a432217211986926be Mon Sep 17 00:00:00 2001
-From: Martin Schwenke <martin@meltin.net>
-Date: Fri, 8 Jun 2018 22:31:48 +1000
-Subject: [PATCH 2/2] ctdb-tests: Switch fake_ctdbd to use ctdb_get_peer_pid()
-
-This potentially improves portability.
-
-Signed-off-by: Martin Schwenke <martin@meltin.net>
----
- ctdb/tests/src/fake_ctdbd.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/ctdb/tests/src/fake_ctdbd.c b/ctdb/tests/src/fake_ctdbd.c
-index 2f4e87f6f6c..0e33f8c02e0 100644
---- a/ctdb/tests/src/fake_ctdbd.c
-+++ b/ctdb/tests/src/fake_ctdbd.c
-@@ -40,6 +40,7 @@
- #include "common/logging.h"
- #include "common/tunable.h"
- #include "common/srvid.h"
-+#include "common/system.h"
-
- #include "ipalloc_read_known_ips.h"
-
-@@ -3050,8 +3051,6 @@ static struct tevent_req *client_send(TALLOC_CTX *mem_ctx,
- {
- struct tevent_req *req;
- struct client_state *state;
-- struct ucred cr;
-- socklen_t crl = sizeof(struct ucred);
- int ret;
-
- req = tevent_req_create(mem_ctx, &state, struct client_state);
-@@ -3064,12 +3063,11 @@ static struct tevent_req *client_send(TALLOC_CTX *mem_ctx,
- state->ctdb = ctdb;
- state->pnn = pnn;
-
-- ret = getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cr, &crl);
-+ ret = ctdb_get_peer_pid(fd, &state->pid);
- if (ret != 0) {
- tevent_req_error(req, ret);
- return tevent_req_post(req, ev);
- }
-- state->pid = cr.pid;
-
- ret = comm_setup(state, ev, fd, client_read_handler, req,
- client_dead_handler, req, &state->comm);
---
-2.17.1
-
diff --git a/net/samba410/files/man/ctdb-etcd.7 b/net/samba410/files/man/ctdb-etcd.7
deleted file mode 100644
index 75c739274925..000000000000
--- a/net/samba410/files/man/ctdb-etcd.7
+++ /dev/null
@@ -1,106 +0,0 @@
-'\" t
-.\" Title: ctdb-etcd
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
-.\" Manual: CTDB - clustered TDB database
-.\" Source: ctdb
-.\" Language: English
-.\"
-.TH "CTDB\-ETCD" "7" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-ctdb-etcd \- CTDB etcd integration
-.SH "SYNOPSIS"
-.HP \w'\fBctdb_etcd_lock\fR\ 'u
-\fBctdb_etcd_lock\fR
-.SH "DESCRIPTION"
-.PP
-ctdb_etcd_lock is intended to be run as a mutex helper for CTDB\&. It will try to connect to an existing etcd cluster and grab a lock in that cluster to function as CTDB\*(Aqs recovery lock\&. Please see
-\fIctdb/doc/cluster_mutex_helper\&.txt\fR
-for details on the mutex helper API\&. To use this, include the following line in your CTDB config file:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-CTDB_RECOVERY_LOCK="!/usr/local/usr/libexec/ctdb/ctdb_etcd_lock"
-
-.fi
-.if n \{\
-.RE
-.\}
-.PP
-You can also pass "\-v", "\-vv", or "\-vvv" to include verbose output in the CTDB log\&. Additional "v"s indicate increases in verbosity\&.
-.PP
-This mutex helper expects the system Python interpreter to have access to the etcd Python module\&. It also expects an etcd cluster to be configured and running\&. To integrate with this, there is an optional config file of the following format:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-key = value
-
-.fi
-.if n \{\
-.RE
-.\}
-.PP
-The following configuration parameters (and their defaults) are defined for use by ctdb_etcd_lock:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-port = 2379 # connecting port for the etcd cluster
-lock_ttl = 9 # seconds for TTL
-refresh = 2 # seconds between attempts to maintain lock
-locks_dir = _ctdb # where to store CTDB locks in etcd
- # The final etcd directory for any given lock looks like:
- # /_locks/{locks_dir}/{netbios name}/
-
-.fi
-.if n \{\
-.RE
-.\}
-.PP
-In addition, any keyword parameter that can be used to configure an etcd client may be specified and modified here\&. For more documentation on these parameters, see here: https://github\&.com/jplana/python\-etcd/
-.SH "SEE ALSO"
-.PP
-\fBctdb\fR(7),
-\fBctdbd\fR(1),
-\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
-.SH "AUTHOR"
-.br
-.PP
-This documentation was written by Jose A\&. Rivera
-.SH "COPYRIGHT"
-.br
-Copyright \(co 2016 Jose A. Rivera
-.br
-.PP
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
-.PP
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
-.PP
-You should have received a copy of the GNU General Public License along with this program; if not, see
-\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
-.sp
diff --git a/net/samba410/files/man/ctdbd.conf.5 b/net/samba410/files/man/ctdb-script.options.5
index 5601a979bf2a..094cbdecff3e 100644
--- a/net/samba410/files/man/ctdbd.conf.5
+++ b/net/samba410/files/man/ctdb-script.options.5
@@ -1,13 +1,13 @@
'\" t
-.\" Title: ctdbd.conf
+.\" Title: ctdb-script.options
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDBD\&.CONF" "5" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB\-SCRIPT\&.OPTIO" "5" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -28,288 +28,44 @@
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
-ctdbd.conf \- CTDB daemon configuration file
+ctdb-script.options \- CTDB scripts configuration files
.SH "DESCRIPTION"
.PP
-This file contains CTDB configuration variables that are affect the operation of CTDB\&. The default location of this file is
-/usr/local/etc/ctdb/ctdbd\&.conf\&.
+Each CTDB script has 2 possible locations for its configuration options:
.PP
-This file is a shell script (see
-\fBsh\fR(1)) but is usually limited to simple variable assignments and shell\-style comments\&.
-.PP
-CTDB configuration variables are grouped into several categories below\&.
-.PP
-Variables defined in this document can also be set in a distribution\-specific configuration file such as
-/etc/sysconfig/ctdb
-(Red Hat) or
-/etc/default/ctdb
-(Debian)\&. However, these files should be reserved for variables used by the initscript\&. A historical alternative is
-/usr/local/etc/ctdb/sysconfig/ctdb
-\- this is deprecated\&.
-.SH "INITSCRIPT CONFIGURATION"
-.PP
-Some options must be available to the initscript so they need to be set in the distribution\-specific initscript configuration, such as
-/etc/sysconfig/ctdb
-or
-/etc/default/ctdb\&.
-.PP
-CTDB_PIDFILE=\fIFILENAME\fR
-.RS 4
-FILENAME is the name of the file used to contain the process ID (PID) of the main CTDB daemon when it is running\&. This is passed from the initscript to
-\fBctdbd_wrapper\fR(1)\&.
-.sp
-Default is
-/usr/local/var/run/ctdb/ctdbd\&.pid\&. Corresponds to
-\fB\-\-pidfile\fR\&.
-.RE
-.SH "GLOBAL CONFIGURATION"
-.PP
-These options may be used in the initscripts, daemon and scripts\&.
-.PP
-CTDB_BASE=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY containing CTDB scripts and configuration files\&.
-.RE
-.SH "DAEMON CONFIGURATION"
-.PP
-Variables in this section are processed by
-\fBctdbd_wrapper\fR(1)
-and are converted into command\-line arguments to
-\fBctdbd\fR(1)\&. Correspondence with
-\fBctdbd\fR(1)
-options is shown for each variable\&. The the documentation for the relevant options for more details\&.
-.PP
-Many of these variables are also used by event scripts\&.
-.PP
-CTDB_CAPABILITY_LMASTER=yes|no
-.RS 4
-Defaults to yes\&. Corresponds to
-\fB\-\-no\-lmaster\fR\&.
-.RE
-.PP
-CTDB_CAPABILITY_RECMASTER=yes|no
-.RS 4
-Defaults to yes\&. Corresponds to
-\fB\-\-no\-recmaster\fR\&.
-.RE
-.PP
-CTDB_DBDIR=\fIDIRECTORY\fR
-.RS 4
-Defaults to
-/usr/local/var/lib/ctdb\&.
-.sp
-Apart from a DIRECTORY, this can take a special value of the form
-\fBtmpfs\fR[:\fIOPTIONS\fR]\&. OPTIONS is a comma\-separated list of any permissible options to the tmpfs filesystem\&. The only pre\-specified default is
-\fBmode=700\fR, which can overridden by specifying
-\fBmode\fR
-in OPTIONS\&. It probably makes sense to specify a maximum
-\fBsize\fR\&.
-.sp
-Corresponds to
-\fB\-\-dbdir\fR\&.
-.RE
-.PP
-CTDB_DBDIR_PERSISTENT=\fIDIRECTORY\fR
-.RS 4
-Defaults to
-/usr/local/var/lib/ctdb/persistent\&.
-.sp
-Corresponds to
-\fB\-\-dbdir\-persistent\fR\&.
-.RE
-.PP
-CTDB_DBDIR_STATE=\fIDIRECTORY\fR
-.RS 4
-Defaults to
-/usr/local/var/lib/ctdb/state\&.
-.sp
-Corresponds to
-\fB\-\-dbdir\-state\fR\&.
-.RE
-.PP
-CTDB_DEBUGLEVEL=\fIDEBUGLEVEL\fR
-.RS 4
-Default is NOTICE\&. Corresponds to
-\fB\-d\fR
-or
-\fB\-\-debug\fR\&.
-.RE
-.PP
-CTDB_EVENT_SCRIPT_DIR=\fIDIRECTORY\fR
-.RS 4
-Default is
-\fICTDB_BASE\fR/events\&.d, so usually
-/usr/local/etc/ctdb/events\&.d\&. Corresponds to
-\fB\-\-event\-script\-dir\fR\&.
-.RE
-.PP
-CTDB_LOGGING=\fISTRING\fR
-.RS 4
-STRING specifies where ctdbd will write its log\&. The default is file:/usr/local/var/log/log\&.ctdb\&. Corresponds to
-\fB\-\-logging\fR\&.
-.sp
-Valid values are:
-.PP
-file:\fIFILENAME\fR
-.RS 4
-FILENAME where ctdbd will write its log\&. This is usually
-/usr/local/var/log/log\&.ctdb\&.
-.RE
-.PP
-syslog[:\fIMETHOD\fR]
-.RS 4
-CTDB will log to syslog\&. By default this will use the syslog(3) API\&.
-.sp
-If METHOD is specified then it specifies an extension that causes logging to be done in a non\-blocking fashion\&. This can be useful under heavy loads that might cause the syslog daemon to dequeue messages too slowly, which would otherwise cause CTDB to block when logging\&. METHOD must be one of:
-.PP
-nonblocking
-.RS 4
-CTDB will log to syslog via
-/dev/log
-in non\-blocking mode\&.
-.RE
-.PP
-udp
-.RS 4
-CTDB will log to syslog via UDP to localhost:514\&. The syslog daemon must be configured to listen on (at least) localhost:514\&. Most implementations will log the messages against hostname "localhost" \- this is a limit of the implementation for compatibility with more syslog daemon implementations\&.
-.RE
-.PP
-udp\-rfc5424
-.RS 4
-As with "udp" but messages are sent in RFC5424 format\&. This method will log the correct hostname but is not as widely implemented in syslog daemons\&.
-.RE
-.RE
-.RE
-.PP
-CTDB_NODES=\fIFILENAME\fR
-.RS 4
-Default is
-\fICTDB_BASE\fR/nodes, so usually
-/usr/local/etc/ctdb/nodes\&. Corresponds to
-\fB\-\-nlist\fR\&.
-.RE
-.PP
-CTDB_NOSETSCHED=yes|no
-.RS 4
-Defaults to no\&. Corresponds to
-\fB\-\-nosetsched\fR\&.
-.sp
-Usually CTDB runs with real\-time priority\&. If you are running CTDB on a platform that does not support real\-time priority, you can set this\&.
-.RE
-.PP
-CTDB_NOTIFY_SCRIPT=\fIFILENAME\fR
-.RS 4
-No default, usually
-/usr/local/etc/ctdb/notify\&.sh\&. Corresponds to
-\fB\-\-notification\-script\fR\&.
-.RE
-.PP
-CTDB_MAX_PERSISTENT_CHECK_ERRORS=\fINUM\fR
+/usr/local/etc/ctdb/script\&.options
.RS 4
-Default 0\&. Corresponds to
-\fB\-\-max\-persistent\-check\-errors\fR\&.
+This is a catch\-all global file for general purpose scripts and for options that are used in multiple event scripts\&.
.RE
.PP
-CTDB_NODE_ADDRESS=\fIIPADDR\fR
+\fISCRIPT\fR\&.options
.RS 4
-IPADDR is the private IP address that ctdbd will bind to\&. Corresponds to
-\fB\-\-listen\fR\&.
-.sp
-By default ctdbd will select the first address from the nodes list that in can bind to\&. See also
-CTDB_NODES\&.
+That is, options for
+\fISCRIPT\fR
+are placed in a file alongside the script, with a "\&.script" suffix added\&. This style is usually recommended for event scripts\&.
.sp
-This option is only required when automatic address detection can not be used\&. This can be the case when running multiple ctdbd daemons/nodes on the same physical host (usually for testing), using InfiniBand for the private network or on Linux when sysctl net\&.ipv4\&.ip_nonlocal_bind=1\&.
-.RE
-.PP
-CTDB_PUBLIC_ADDRESSES=\fIFILENAME\fR
-.RS 4
-No default, usually
-/usr/local/etc/ctdb/public_addresses\&. Corresponds to
-\fB\-\-public\-addresses\fR\&.
+Options in this script\-specific file override those in the global file\&.
.RE
.PP
-CTDB_PUBLIC_INTERFACE=\fIINTERFACE\fR
-.RS 4
-No default\&. Corresponds to
-\fB\-\-public\-interface\fR\&.
-.RE
-.PP
-CTDB_RECOVERY_LOCK=\fILOCK\fR
-.RS 4
-LOCK specifies the cluster\-wide mutex used to detect and prevent a partitioned cluster (or "split brain")\&.
-.sp
-No default, but the default configuration file specifies
-/some/place/on/shared/storage, which should be change to a useful value\&. Corresponds to
-\fB\-\-reclock\fR\&.
-.sp
-For information about the recovery lock please see the
-RECOVERY LOCK
-section in
-\fBctdb\fR(7)\&.
-.RE
+These files should include simple shell\-style variable assignments and shell\-style comments\&.
+.SH "NETWORK CONFIGURATION"
+.SS "10\&.interface"
.PP
-CTDB_SCRIPT_LOG_LEVEL=\fIDEBUGLEVEL\fR
-.RS 4
-Defaults to ERR\&. Corresponds to
-\fB\-\-script\-log\-level\fR\&.
-.RE
+This event script handles monitoring of interfaces using by public IP addresses\&.
.PP
-CTDB_SOCKET=\fIFILENAME\fR
+CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no
.RS 4
-Defaults to
-/usr/local/var/run/ctdb/ctdbd\&.socket\&. Corresponds to
-\fB\-\-socket\fR\&.
+Whether one or more offline interfaces should cause a monitor event to fail if there are other interfaces that are up\&. If this is "yes" and a node has some interfaces that are down then
+\fBctdb status\fR
+will display the node as "PARTIALLYONLINE"\&.
.sp
-If you change this then you probably want to set this in root\*(Aqs environment (perhaps in a file in
-/etc/profile\&.d) so that you can use the
-\fBctdb\fR(1)
-command in a straightforward manner\&.
-.RE
-.PP
-CTDB_START_AS_DISABLED=yes|no
-.RS 4
-Default is no\&. Corresponds to
-\fB\-\-start\-as\-disabled\fR\&.
-.RE
-.PP
-CTDB_START_AS_STOPPED=yes|no
-.RS 4
-Default is no\&. Corresponds to
-\fB\-\-start\-as\-stopped\fR\&.
-.RE
-.PP
-CTDB_TRANSPORT=tcp|infiniband
-.RS 4
-Defaults to tcp\&. Corresponds to
-\fB\-\-transport\fR\&.
-.RE
-.PP
-While the following variables do not translate into daemon options they are used by
-\fBctdbd_wrapper\fR(1)
-when starting and stopping
-\fBctdbd\fR(1)\&.
-.PP
-CTDB_SHUTDOWN_TIMEOUT=\fINUM\fR
-.RS 4
-NUM is the number of seconds to wait for
-\fBctdbd\fR(1)
-to shut down gracefully before giving up and killing it\&.
+Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is not generally compatible with NAT gateway or LVS\&. NAT gateway relies on the interface configured by CTDB_NATGW_PUBLIC_IFACE to be up and LVS replies on CTDB_LVS_PUBLIC_IFACE to be up\&. CTDB does not check if these options are set in an incompatible way so care is needed to understand the interaction\&.
.sp
-Defaults is 30\&.
+Default is "no"\&.
.RE
+.SS "11\&.natgw"
.PP
-CTDB_STARTUP_TIMEOUT=\fINUM\fR
-.RS 4
-NUM is the number of seconds to wait for
-\fBctdbd\fR(1)
-complete early initialisation up to a point where it is unlikely to abort\&. If
-\fBctdbd\fR
-doesn\*(Aqt complete the "setup" event before this timeout then it is killed\&.
-.sp
-Defaults is 10\&.
-.RE
-.SH "NETWORK CONFIGURATION"
-.SS "NAT GATEWAY"
+Provides CTDB\*(Aqs NAT gateway functionality\&.
.PP
NAT gateway is used to configure fallback routing for nodes when they do not host any public IP addresses\&. For example, it allows unhealthy nodes to reliably communicate with external infrastructure\&. One node in a NAT gateway group will be designated as the NAT gateway master node and other (slave) nodes will be configured with fallback routes via the NAT gateway master node\&. For more information, see the
NAT GATEWAY
@@ -435,7 +191,9 @@ Note that
\fICTDB_NATGW_DEFAULT_GATEWAY\fR
is not specified\&.
.RE
-.SS "POLICY ROUTING"
+.SS "13\&.per_ip_routing"
+.PP
+Provides CTDB\*(Aqs policy routing functionality\&.
.PP
A node running CTDB may be a component of a complex network topology\&. In particular, public addresses may be spread across several different networks (or VLANs) and it may not be possible to route packets from these public addresses via the system\*(Aqs default route\&. Therefore, CTDB has support for policy routing via the
13\&.per_ip_routing
@@ -460,7 +218,7 @@ File format:
.RS 4
.\}
.nf
-\fIIPADDR\fR \fIDEST\-IPADDR/MASK\fR [\fIGATEWAY\-IPADDR\fR]
+ \fIIPADDR\fR \fIDEST\-IPADDR/MASK\fR [\fIGATEWAY\-IPADDR\fR]
.fi
.if n \{\
@@ -518,24 +276,14 @@ CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=9000
.RE
.\}
.RE
-.SS "LVS"
+.SS "91\&.lvs"
+.PP
+Provides CTDB\*(Aqs LVS functionality\&.
.PP
For a general description see the
LVS
section in
\fBctdb\fR(7)\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-91\&.lvs
-.RE
-.RE
.PP
CTDB_LVS_NODES=\fIFILENAME\fR
.RS 4
@@ -577,53 +325,50 @@ CTDB_LVS_PUBLIC_IP=\fIIPADDR\fR
.RS 4
CTDB_LVS_PUBLIC_IP is the LVS public address\&. No default\&.
.RE
-.SS "MISCELLANEOUS NETWORK CONFIGURATION"
-.PP
-CTDB_PARTIALLY_ONLINE_INTERFACES=yes|no
-.RS 4
-Whether one or more offline interfaces should cause a monitor event to fail if there are other interfaces that are up\&. If this is "yes" and a node has some interfaces that are down then
-\fBctdb status\fR
-will display the node as "PARTIALLYONLINE"\&.
-.sp
-Note that CTDB_PARTIALLY_ONLINE_INTERFACES=yes is incompatible with NAT gateway, since NAT gateway relies on the interface configured by CTDB_NATGW_PUBLIC_IFACE to be up\&.
-.sp
-Default is "no"\&.
-.RE
.SH "SERVICE CONFIGURATION"
.PP
CTDB can be configured to manage and/or monitor various NAS (and other) services via its eventscripts\&.
.PP
In the simplest case CTDB will manage a service\&. This means the service will be started and stopped along with CTDB, CTDB will monitor the service and CTDB will do any required reconfiguration of the service when public IP addresses are failed over\&.
-.SS "SAMBA"
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscripts\fR
-.RS 4
-.RS 4
-49\&.winbind
-.RE
+.SS "20\&.multipathd"
+.PP
+Provides CTDB\*(Aqs Linux multipathd service management\&.
+.PP
+It can monitor multipath devices to ensure that active paths are available\&.
+.PP
+CTDB_MONITOR_MPDEVICES=\fIMP\-DEVICE\-LIST\fR
.RS 4
-50\&.samba
-.RE
+MP\-DEVICE\-LIST is a list of multipath devices for CTDB to monitor?
+.sp
+No default\&.
.RE
+.SS "31\&.clamd"
+.PP
+This event script provide CTDB\*(Aqs ClamAV anti\-virus service management\&.
+.PP
+This eventscript is not enabled by default\&. Use
+\fBctdb enablescript\fR
+to enable it\&.
.PP
-CTDB_MANAGES_SAMBA=yes|no
+CTDB_CLAMD_SOCKET=\fIFILENAME\fR
.RS 4
-Should CTDB manage Samba?
+FILENAME is the socket to monitor ClamAV\&.
.sp
-Default is no\&.
+No default\&.
.RE
+.SS "49\&.winbind"
+.PP
+Provides CTDB\*(Aqs Samba winbind service management\&.
.PP
-CTDB_MANAGES_WINBIND=yes|no
+CTDB_SERVICE_WINBIND=\fISERVICE\fR
.RS 4
-Should CTDB manage Winbind?
+Distribution specific SERVICE for managing winbindd\&.
.sp
-Default is no\&.
+Default is "winbind"\&.
.RE
+.SS "50\&.samba"
+.PP
+Provides the core of CTDB\*(Aqs Samba file service management\&.
.PP
CTDB_SAMBA_CHECK_PORTS=\fIPORT\-LIST\fR
.RS 4
@@ -652,37 +397,13 @@ Distribution specific SERVICE for managing smbd\&.
.sp
Default is distribution\-dependant\&.
.RE
+.SS "60\&.nfs"
.PP
-CTDB_SERVICE_WINBIND=\fISERVICE\fR
-.RS 4
-Distribution specific SERVICE for managing winbindd\&.
-.sp
-Default is "winbind"\&.
-.RE
-.SS "NFS"
+This event script (along with 06\&.nfs) provides CTDB\*(Aqs NFS service management\&.
.PP
This includes parameters for the kernel NFS server\&. Alternative NFS subsystems (such as
\m[blue]\fBNFS\-Ganesha\fR\m[]\&\s-2\u[1]\d\s+2) can be integrated using
\fICTDB_NFS_CALLOUT\fR\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-60\&.nfs
-.RE
-.RE
-.PP
-CTDB_MANAGES_NFS=yes|no
-.RS 4
-Should CTDB manage NFS?
-.sp
-Default is no\&.
-.RE
.PP
CTDB_NFS_CALLOUT=\fICOMMAND\fR
.RS 4
@@ -744,83 +465,9 @@ CTDB_NFS_STATE_MNT=\fIDIR\fR
.RS 4
The directory where a clustered NFS\*(Aq shared state will be located\&. No default\&.
.RE
-.SS "APACHE HTTPD"
+.SS "70\&.iscsi"
.PP
-CTDB can manage the Apache web server\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-41\&.httpd
-.RE
-.RE
-.PP
-CTDB_MANAGES_HTTPD=yes|no
-.RS 4
-Should CTDB manage the Apache web server?
-.sp
-Default is no\&.
-.RE
-.SS "CLAMAV"
-.PP
-CTDB has support to manage the popular anti\-virus daemon ClamAV\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-31\&.clamd
-.RE
-.PP
-This eventscript is not enabled by default\&. Use
-\fBctdb enablescript\fR
-to enable it\&.
-.RE
-.PP
-CTDB_MANAGES_CLAMD=yes|no
-.RS 4
-Should CTDB manage ClamAV?
-.sp
-Default is no\&.
-.RE
-.PP
-CTDB_CLAMD_SOCKET=\fIFILENAME\fR
-.RS 4
-FILENAME is the socket to monitor ClamAV\&.
-.sp
-No default\&.
-.RE
-.SS "ISCSI"
-.PP
-CTDB has support for managing the Linux iSCSI tgtd service\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-70\&.iscsi
-.RE
-.RE
-.PP
-CTDB_MANAGES_ISCSI=yes|no
-.RS 4
-Should CTDB manage iSCSI tgtd?
-.sp
-Default is no\&.
-.RE
+Provides CTDB\*(Aqs Linux iSCSI tgtd service management\&.
.PP
CTDB_START_ISCSI_SCRIPTS=\fIDIRECTORY\fR
.RS 4
@@ -828,74 +475,25 @@ DIRECTORY on shared storage containing scripts to start tgtd for each public IP
.sp
No default\&.
.RE
-.SS "MULTIPATHD"
-.PP
-CTDB can monitor multipath devices to ensure that active paths are available\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-20\&.multipathd
-.RE
+.SH "DATABASE SETUP"
.PP
-This eventscript is not enabled by default\&. Use
-\fBctdb enablescript\fR
-to enable it\&.
-.RE
+CTDB checks the consistency of databases during startup\&.
+.SS "00\&.ctdb"
.PP
-CTDB_MONITOR_MPDEVICES=\fIMP\-DEVICE\-LIST\fR
+CTDB_MAX_CORRUPT_DB_BACKUPS=\fINUM\fR
.RS 4
-MP\-DEVICE\-LIST is a list of multipath devices for CTDB to monitor?
-.sp
-No default\&.
-.RE
-.SS "VSFTPD"
-.PP
-CTDB can manage the vsftpd FTP server\&.
+NUM is the maximum number of volatile TDB database backups to be kept (for each database) when a corrupt database is found during startup\&. Volatile TDBs are zeroed during startup so backups are needed to debug any corruption that occurs before a restart\&.
.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscript\fR
-.RS 4
-.RS 4
-40\&.vsftpd
-.RE
+Default is 10\&.
.RE
+.SH "SYSTEM RESOURCE MONITORING"
+.SS "05\&.system"
.PP
-CTDB_MANAGES_VSFTPD=yes|no
-.RS 4
-Should CTDB manage the vsftpd FTP server?
-.sp
-Default is no\&.
-.RE
-.SS "SYSTEM RESOURCE MONITORING CONFIGURATION"
+Provides CTDB\*(Aqs filesystem and memory usage monitoring\&.
.PP
CTDB can experience seemingly random (performance and other) issues if system resources become too constrained\&. Options in this section can be enabled to allow certain system resources to be checked\&. They allows warnings to be logged and nodes to be marked unhealthy when system resource usage reaches the configured thresholds\&.
.PP
Some checks are enabled by default\&. It is recommended that these checks remain enabled or are augmented by extra checks\&. There is no supported way of completely disabling the checks\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBEventscripts\fR
-.RS 4
-.RS 4
-05\&.system
-.RE
-.PP
-Filesystem and memory usage monitoring is in
-05\&.system\&.
-.RE
.PP
CTDB_MONITOR_FILESYSTEM_USAGE=\fIFS\-LIMIT\-LIST\fR
.RS 4
@@ -903,9 +501,9 @@ FS\-LIMIT\-LIST is a space\-separated list of
\fIFILESYSTEM\fR:\fIWARN_LIMIT\fR[:\fIUNHEALTHY_LIMIT\fR]
triples indicating that warnings should be logged if the space used on FILESYSTEM reaches WARN_LIMIT%\&. If usage reaches UNHEALTHY_LIMIT then the node should be flagged unhealthy\&. Either WARN_LIMIT or UNHEALTHY_LIMIT may be left blank, meaning that check will be omitted\&.
.sp
-Default is to warn for each filesystem containing a database directory (\fBCTDB_DBDIR\fR,
-\fBCTDB_DBDIR_PERSISTENT\fR,
-\fBCTDB_DBDIR_STATE\fR) with a threshold of 90%\&.
+Default is to warn for each filesystem containing a database directory (volatile\ \&database\ \&directory,
+persistent\ \&database\ \&directory,
+state\ \&database\ \&directory) with a threshold of 90%\&.
.RE
.PP
CTDB_MONITOR_MEMORY_USAGE=\fIMEM\-LIMITS\fR
@@ -925,186 +523,25 @@ indicating that warnings should be logged if swap usage reaches WARN_LIMIT%\&. I
.sp
Default is 25, so warnings will be logged when swap usage reaches 25%\&.
.RE
-.SS "MISCELLANEOUS SERVICE\-RELATED CONFIGURATION"
-.PP
-CTDB_MANAGED_SERVICES=\fISERVICE\-LIST\fR
-.RS 4
-SERVICE\-LIST is a space\-separated list of SERVICEs that CTDB should manage\&. This can be used as an alternative to the
-\fICTDB_MANAGES_\fR\fI\fISERVICE\fR\fR
-variables\&.
-.sp
-No default\&.
-.RE
-.SH "TUNABLES CONFIGURATION"
-.PP
-CTDB tunables (see
-\fBctdbd-tunables\fR(7)) can be set from the configuration file\&. They are set as follows:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-CTDB_SET_\fITUNABLE\fR=\fIVALUE\fR
-
-.fi
-.if n \{\
-.RE
-.\}
-.PP
-For example:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-CTDB_SET_MonitorInterval=20
-
-.fi
-.if n \{\
-.RE
-.\}
-.sp
-.SH "DEBUG AND TEST"
-.PP
-Variable in this section are for debugging and testing CTDB\&. They should not generally be needed\&.
-.PP
-CTDB_DEBUG_HUNG_SCRIPT=\fIFILENAME\fR
-.RS 4
-FILENAME is a script to run to log debug information when an event script times out\&.
-.sp
-Default is
-\fICTDB_BASE\fR/debug\-hung\-script\&.sh\&.
-.RE
-.PP
-CTDB_DEBUG_HUNG_SCRIPT_LOGFILE=\fIFILENAME\fR
-.RS 4
-FILENAME specifies where log messages should go when debugging hung eventscripts\&. This is a testing option\&. See also
-CTDB_DEBUG_HUNG_SCRIPT\&.
-.sp
-No default\&. Messages go to stdout/stderr and are logged to the same place as other CTDB log messages\&.
-.RE
+.SH "EVENT SCRIPT DEBUGGING"
+.SS "debug\-hung\-script\&.sh"
.PP
CTDB_DEBUG_HUNG_SCRIPT_STACKPAT=\fIREGEXP\fR
.RS 4
-REGEXP specifies interesting processes for which stack traces should be logged when debugging hung eventscripts and those processes are matched in pstree output\&. REGEXP is an extended regexp so choices are separated by pipes (\*(Aq|\*(Aq)\&. However, REGEXP should not contain parentheses\&. See also
-CTDB_DEBUG_HUNG_SCRIPT\&.
+REGEXP specifies interesting processes for which stack traces should be logged when debugging hung eventscripts and those processes are matched in pstree output\&. REGEXP is an extended regexp so choices are separated by pipes (\*(Aq|\*(Aq)\&. However, REGEXP should not contain parentheses\&. See also the
+\fBctdb.conf\fR(5)
+[event] "debug\ \&script" option\&.
.sp
Default is "exportfs|rpcinfo"\&.
.RE
-.PP
-CTDB_DEBUG_LOCKS=\fIFILENAME\fR
-.RS 4
-FILENAME is a script to run to log debug information when an CTDB fails to freeze databases during recovery\&.
-.sp
-No default, usually
-\fICTDB_BASE\fR/debug_locks\&.sh\&.
-.RE
-.PP
-CTDB_SYS_ETCDIR=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY containing system configuration files\&. This is used to provide alternate configuration when testing and should not need to be changed from the default\&.
-.sp
-Default is
-/etc\&.
-.RE
-.PP
-CTDB_INIT_STYLE=debian|redhat|suse
-.RS 4
-This is the init style used by the Linux distribution (or other operating system) being used\&. This is usually determined dynamically by checking the system\&. This variable is used by the initscript to determine which init system primitives to use\&. It is also used by some eventscripts to choose the name of initscripts for certain services, since these can vary between distributions\&.
-.sp
-No fixed default\&.
-.sp
-If this option needs to be changed from the calculated default for the initscript to function properly, then it must be set in the distribution\-specific initscript configuration, such as
-/etc/sysconfig/ctdb
-.RE
-.PP
-CTDB_MAX_CORRUPT_DB_BACKUPS=\fINUM\fR
-.RS 4
-NUM is the maximum number of volatile TDB database backups to be kept (for each database) when a corrupt database is found during startup\&. Volatile TDBs are zeroed during startup so backups are needed to debug any corruption that occurs before a restart\&.
-.sp
-Default is 10\&.
-.RE
-.PP
-CTDB_MAX_OPEN_FILES=\fINUM\fR
-.RS 4
-NUM is the maximum number of open files\&.
-.sp
-There is no default\&.
-.RE
-.PP
-CTDB_RC_LOCAL=\fIFILENAME\fR
-.RS 4
-FILENAME is a script fragment to be sourced by the
-functions
-that is sourced by scripts\&. On example use would be to override function definitions in unit tests\&. As a sanity check, this file must be executable for it to be used\&.
-.sp
-No default\&.
-.RE
-.PP
-CTDB_RUN_TIMEOUT_MONITOR=yes|no
-.RS 4
-Whether CTDB should simulate timing out monitor events\&. This uses the
-99\&.timeout
-eventscript\&.
-.sp
-Default is no\&.
-.RE
-.PP
-CTDB_SUPPRESS_COREFILE=yes|no
-.RS 4
-Whether CTDB core files should be suppressed\&.
-.sp
-Default is no\&.
-.RE
-.PP
-CTDB_VALGRIND=yes|no|\fICOMMAND\fR
-.RS 4
-If "yes", this causes
-\fBctdbd\fR(1)
-to be run under
-\fBvalgrind\fR(1)
-with logs going to
-/usr/local/var/log/ctdb_valgrind\&. If neither "yes" nor "no" then the value is assumed to be a COMMAND (e\&.g\&. a
-\fBvalgrind\fR
-variation, a
-\fBgdb\fR(1)
-command) that is used in place of the default
-\fBvalgrind\fR
-command\&. In either case, the
-\fB\-\-valgrind\fR
-option is passed to
-\fBctdbd\fR\&.
-.sp
-Default is no\&.
-.RE
-.PP
-CTDB_VARDIR=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY containing CTDB files that are modified at runtime\&.
-.sp
-Defaults to
-/usr/local/var/lib/ctdb\&.
-.RE
.SH "FILES"
.RS 4
-/usr/local/etc/ctdb/ctdbd\&.conf
-.RE
-.RS 4
-/etc/sysconfig/ctdb
-.RE
-.RS 4
-/etc/default/ctdb
-.RE
-.RS 4
-/usr/local/etc/ctdb/sysconfig/ctdb
+/usr/local/etc/ctdb/script\&.options
.RE
.SH "SEE ALSO"
.PP
\fBctdbd\fR(1),
-\fBctdbd_wrapper\fR(1),
-\fBonnode\fR(1),
\fBctdb\fR(7),
-\fBctdb-tunables\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "AUTHOR"
.br
diff --git a/net/samba410/files/man/ctdb-statistics.7 b/net/samba410/files/man/ctdb-statistics.7
index 760abf040d2e..747eec8b4a5e 100644
--- a/net/samba410/files/man/ctdb-statistics.7
+++ b/net/samba410/files/man/ctdb-statistics.7
@@ -2,12 +2,12 @@
.\" Title: ctdb-statistics
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDB\-STATISTICS" "7" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB\-STATISTICS" "7" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -237,6 +237,17 @@ Number of REQ_CONTROL messages from the other nodes\&.
.PP
Number of REPLY_CONTROL messages from the other nodes\&.
.RE
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBreq_tunnel\fR
+.RS 4
+.PP
+Number of REQ_TUNNEL messages from the other nodes\&.
+.RE
.SS "client"
.PP
This section lists various types of messages processed which originated from clients via unix domain socket\&.
@@ -273,6 +284,17 @@ Number of REQ_MESSAGE messages from the clients\&.
.PP
Number of REQ_CONTROL messages from the clients\&.
.RE
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.ps +1
+\fBreq_tunnel\fR
+.RS 4
+.PP
+Number of REQ_TUNNEL messages from the clients\&.
+.RE
.SS "timeouts"
.PP
This section lists timeouts occurred when sending various messages\&.
diff --git a/net/samba410/files/man/ctdb-tunables.7 b/net/samba410/files/man/ctdb-tunables.7
index e4ce6a685d3d..13ecbe899f6d 100644
--- a/net/samba410/files/man/ctdb-tunables.7
+++ b/net/samba410/files/man/ctdb-tunables.7
@@ -2,12 +2,12 @@
.\" Title: ctdb-tunables
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDB\-TUNABLES" "7" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB\-TUNABLES" "7" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -41,7 +41,35 @@ commands for more details\&.
.PP
Unless otherwise stated, tunables should be set to the same value on all nodes\&. Setting tunables to different values across nodes may produce unexpected results\&. Future releases may set (some or most) tunables globally across the cluster but doing so is currently a manual process\&.
.PP
-The tunable variables are listed alphabetically\&.
+Tunables can be set at startup from the
+/usr/local/etc/ctdb/ctdb\&.tunables
+configuration file\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fITUNABLE\fR=\fIVALUE\fR
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+For example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+MonitorInterval=20
+
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+The available tunable variables are listed alphabetically below\&.
.SS "AllowClientDBAttach"
.PP
Default: 1
@@ -98,13 +126,6 @@ Default: 120
When databases are frozen we do not allow clients to attach to the databases\&. Instead of returning an error immediately to the client, the attach request from the client is deferred until the database becomes available again at which stage we respond to the client\&.
.PP
This timeout controls how long we will defer the request from the client before timing it out and returning an error to the client\&.
-.SS "DisableIPFailover"
-.PP
-Default: 0
-.PP
-When set to non\-zero, ctdb will not perform failover or failback\&. Even if a node fails while holding public IPs, ctdb will not recover the IPs or assign them to another node\&.
-.PP
-When this tunable is enabled, ctdb will no longer attempt to recover the cluster by failing IP addresses over to other nodes\&. This leads to a service outage until the administrator has manually performed IP failover to replacement nodes using the \*(Aqctdb moveip\*(Aq command\&.
.SS "ElectionTimeout"
.PP
Default: 3
@@ -218,16 +239,11 @@ When set to 1, ctdb will not perform failback of IP addresses when a node become
Use with caution! Normally when a node becomes available to the cluster ctdb will try to reassign public IP addresses onto the new node as a way to distribute the workload evenly across the clusternode\&. Ctdb tries to make sure that all running nodes have approximately the same number of public addresses it hosts\&.
.PP
When you enable this tunable, ctdb will no longer attempt to rebalance the cluster by failing IP addresses back to the new nodes\&. An unbalanced cluster will therefore remain unbalanced until there is manual intervention from the administrator\&. When this parameter is set, you can manually fail public IP addresses over to the new node(s) using the \*(Aqctdb moveip\*(Aq command\&.
-.SS "NoIPHostOnAllDisabled"
-.PP
-Default: 0
-.PP
-If no nodes are HEALTHY then by default ctdb will happily host public IPs on disabled (unhealthy or administratively disabled) nodes\&. This can cause problems, for example if the underlying cluster filesystem is not mounted\&. When set to 1 and a node is disabled, any IPs hosted by this node will be released and the node will not takeover any IPs until it is no longer disabled\&.
.SS "NoIPTakeover"
.PP
Default: 0
.PP
-When set to 1, ctdb will not allow IP addresses to be failed over to other nodes\&. Any IP addresses already hosted on healthy nodes will remain\&. Usually IP addresses hosted on unhealthy nodes will also remain, if NoIPHostOnAllDisabled is 0\&. However, if NoIPHostOnAllDisabled is 1 then IP addresses will be released by unhealthy nodes and will become un\-hosted\&.
+When set to 1, ctdb will not allow IP addresses to be failed over to other nodes\&. Any IP addresses already hosted on healthy nodes will remain\&. Any IP addresses hosted on unhealthy nodes will be released by unhealthy nodes and will become un\-hosted\&.
.SS "PullDBPreallocation"
.PP
Default: 10*1024*1024
@@ -310,7 +326,7 @@ Once a recovery has completed, no additional recoveries are permitted until this
.PP
Default: 1000
.PP
-Some databases have seqnum tracking enabled, so that samba will be able to detect asynchronously when there has been updates to the database\&. Everytime a database is updated its sequence number is increased\&.
+Some databases have seqnum tracking enabled, so that samba will be able to detect asynchronously when there has been updates to the database\&. Every time a database is updated its sequence number is increased\&.
.PP
This tunable is used to specify in milliseconds how frequently ctdb will send out updates to remote nodes to inform them that the sequence number is increased\&.
.SS "StatHistoryInterval"
@@ -333,11 +349,6 @@ Once a STICKY record has been migrated onto a node, it will be pinned down on th
Default: 9
.PP
This is the duration in seconds in which ctdb tries to complete IP failover\&.
-.SS "TDBMutexEnabled"
-.PP
-Default: 1
-.PP
-This parameter enables TDB_MUTEX_LOCKING feature on volatile databases if the robust mutexes are supported\&. This optimizes the record locking using robust mutexes and is much more efficient that using posix locks\&.
.SS "TickleUpdateInterval"
.PP
Default: 20
@@ -384,11 +395,15 @@ The maximum time in seconds for which the vacuuming process is allowed to run\&.
Default: 0
.PP
When set to non\-zero, ctdb assigns verbose names for some of the talloc allocated memory objects\&. These names are visible in the talloc memory report generated by \*(Aqctdb dumpmemory\*(Aq\&.
+.SH "FILES>"
+.RS 4
+/usr/local/etc/ctdb/ctdb\&.tunables
+.RE
.SH "SEE ALSO"
.PP
\fBctdb\fR(1),
\fBctdbd\fR(1),
-\fBctdbd.conf\fR(5),
+\fBctdb.conf\fR(5),
\fBctdb\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "AUTHOR"
diff --git a/net/samba410/files/man/ctdb.1 b/net/samba410/files/man/ctdb.1
index 0cc973b6b65e..ec21fda0a091 100644
--- a/net/samba410/files/man/ctdb.1
+++ b/net/samba410/files/man/ctdb.1
@@ -2,12 +2,12 @@
.\" Title: ctdb
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDB" "1" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB" "1" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -110,12 +110,6 @@ Print useage information to the screen\&.
.RS 4
Change the debug level for the command\&. Default is NOTICE\&.
.RE
-.PP
-\-\-socket=\fIFILENAME\fR
-.RS 4
-Specify that FILENAME is the name of the Unix domain socket to use when connecting to the local CTDB daemon\&. The default is
-/usr/local/var/run/ctdb/ctdbd\&.socket\&.
-.RE
.SH "ADMINISTRATIVE COMMANDS"
.PP
These are commands used to monitor and administer a CTDB cluster\&.
@@ -164,7 +158,7 @@ Sometimes this number will be shown as "INVALID"\&. This only means that the ctd
\fBVirtual Node Number (VNN) map\fR
.RS 4
.PP
-Consists of the number of virtual nodes and mapping from virtual node numbers to physical node numbers\&. Virtual nodes host CTDB databases\&. Only nodes that are participating in the VNN map can become lmaster or dmaster for database records\&.
+Consists of the number of virtual nodes and mapping from virtual node numbers to physical node numbers\&. Only nodes that are participating in the VNN map can become lmaster for database records\&.
.RE
.sp
.it 1 an-trap
@@ -553,18 +547,19 @@ Interface[2]: Name:eth5 Link:up References:2 (active)
.PP
This command is used to control event daemon and to inspect status of various events\&.
.PP
-run \fIEVENT\fR \fITIMEOUT\fR [\fIARGUMENTS\fR]
+The commands below require a component to be specified\&. In the current version the only valid component is
+legacy\&.
+.PP
+run \fITIMEOUT\fR \fICOMPONENT\fR \fIEVENT\fR [\fIARGUMENTS\fR]
.RS 4
-This command can be used to manually run specified EVENT with optional ARGUMENTS\&. The event will be allowed to run a maximum of TIMEOUT seconds\&. If TIMEOUT is 0, then there is no time limit for running the event\&.
+This command can be used to manually run specified EVENT in COMPONENT with optional ARGUMENTS\&. The event will be allowed to run a maximum of TIMEOUT seconds\&. If TIMEOUT is 0, then there is no time limit for running the event\&.
.RE
.PP
-status [\fIEVENT\fR] [lastrun|lastpass|lastfail]
+status \fICOMPONENT\fR \fIEVENT\fR
.RS 4
-This command displays the last execution status of the specified EVENT\&. If no event is specified, then the status of last executed monitor event will be displayed\&.
+This command displays the last execution status of the specified EVENT in COMPONENT\&.
.sp
-To see the last successful execution of the event, lastpass can be specified\&. Similarly lastfail can be specified to see the last unsuccessful execution of the event\&. The optional lastrun can be specified to query the last execution of the event\&.
-.sp
-The command will terminate with the exit status corresponding to the overall status of event that is displayed\&. If lastpass is specified, then the command will always terminate with 0\&. If lastfail is specified then the command will always terminate with non\-zero exit status\&. If lastrun is specified, then the command will terminate with 0 or not depending on if the last execution of the event was successful or not\&.
+The command will terminate with the exit status corresponding to the overall status of event that is displayed\&.
.sp
The output is the list of event scripts executed\&. Each line shows the name, status, duration and start time for each script\&.
.sp
@@ -578,7 +573,6 @@ Example output:
01\&.reclock OK 0\&.013 Sat Dec 17 19:39:11 2016
05\&.system OK 0\&.029 Sat Dec 17 19:39:11 2016
06\&.nfs OK 0\&.014 Sat Dec 17 19:39:11 2016
-10\&.external DISABLED
10\&.interface OK 0\&.037 Sat Dec 17 19:39:11 2016
11\&.natgw OK 0\&.011 Sat Dec 17 19:39:11 2016
11\&.routing OK 0\&.007 Sat Dec 17 19:39:11 2016
@@ -592,7 +586,6 @@ Example output:
60\&.nfs OK 0\&.376 Sat Dec 17 19:39:12 2016
70\&.iscsi OK 0\&.009 Sat Dec 17 19:39:12 2016
91\&.lvs OK 0\&.007 Sat Dec 17 19:39:12 2016
-99\&.timeout OK 0\&.007 Sat Dec 17 19:39:12 2016
.fi
.if n \{\
@@ -600,9 +593,11 @@ Example output:
.\}
.RE
.PP
-script list
+script list \fICOMPONENT\fR
.RS 4
-List the available event scripts\&.
+List the available event scripts in COMPONENT\&. Enabled scripts are flagged with a \*(Aq*\*(Aq\&.
+.sp
+Generally, event scripts are provided by CTDB\&. However, local or 3rd party event scripts may also be available\&. These are shown in a separate section after those provided by CTDB\&.
.sp
Example output:
.sp
@@ -610,25 +605,25 @@ Example output:
.RS 4
.\}
.nf
-00\&.ctdb
-01\&.reclock
-05\&.system
-06\&.nfs
-10\&.external DISABLED
-10\&.interface
-11\&.natgw
-11\&.routing
-13\&.per_ip_routing
-20\&.multipathd
-31\&.clamd
-40\&.vsftpd
-41\&.httpd
-49\&.winbind
-50\&.samba
-60\&.nfs
-70\&.iscsi
-91\&.lvs
-99\&.timeout
+* 00\&.ctdb
+* 01\&.reclock
+* 05\&.system
+* 06\&.nfs
+* 10\&.interface
+ 11\&.natgw
+ 11\&.routing
+ 13\&.per_ip_routing
+ 20\&.multipathd
+ 31\&.clamd
+ 40\&.vsftpd
+ 41\&.httpd
+* 49\&.winbind
+* 50\&.samba
+* 60\&.nfs
+ 70\&.iscsi
+ 91\&.lvs
+
+* 02\&.local
.fi
.if n \{\
@@ -636,14 +631,14 @@ Example output:
.\}
.RE
.PP
-script enable \fISCRIPT\fR
+script enable \fICOMPONENT\fR \fISCRIPT\fR
.RS 4
-Enable the specified event SCRIPT\&. Only enabled scripts will be executed when running any event\&.
+Enable the specified event SCRIPT in COMPONENT\&. Only enabled scripts will be executed when running any event\&.
.RE
.PP
-script disable \fISCRIPT\fR
+script disable \fICOMPONENT\fR \fISCRIPT\fR
.RS 4
-Disable the specified event SCRIPT\&. This will prevent the script from executing when running any event\&.
+Disable the specified event SCRIPT in COMPONENT\&. This will prevent the script from executing when running any event\&.
.RE
.SS "scriptstatus"
.PP
@@ -670,7 +665,6 @@ This command is deprecated\&. It\*(Aqs provided for backward compatibility\&. In
01\&.reclock OK 0\&.010 Sat Dec 17 19:40:46 2016
05\&.system OK 0\&.030 Sat Dec 17 19:40:46 2016
06\&.nfs OK 0\&.014 Sat Dec 17 19:40:46 2016
-10\&.external DISABLED
10\&.interface OK 0\&.041 Sat Dec 17 19:40:46 2016
11\&.natgw OK 0\&.008 Sat Dec 17 19:40:46 2016
11\&.routing OK 0\&.007 Sat Dec 17 19:40:46 2016
@@ -725,7 +719,6 @@ DatabaseMaxDead = 5
RerecoveryTimeout = 10
EnableBans = 1
NoIPFailback = 0
-DisableIPFailover = 0
VerboseMemoryNames = 0
RecdPingTimeout = 60
RecdFailCount = 10
@@ -753,8 +746,6 @@ DBRecordCountWarn = 100000
DBRecordSizeWarn = 10000000
DBSizeWarn = 100000000
PullDBPreallocation = 10485760
-NoIPHostOnAllDisabled = 0
-TDBMutexEnabled = 1
LockProcessesPerDB = 200
RecBufferSizeLimit = 1000000
QueueBufferSize = 1024
@@ -1278,24 +1269,24 @@ Most databases are not persistent and only store the state information that the
.nf
# ctdb getdbmap
Number of databases:10
-dbid:0x435d3410 name:notify\&.tdb path:/usr/local/var/lib/ctdb/notify\&.tdb\&.0
-dbid:0x42fe72c5 name:locking\&.tdb path:/usr/local/var/lib/ctdb/locking\&.tdb\&.0
-dbid:0x1421fb78 name:brlock\&.tdb path:/usr/local/var/lib/ctdb/brlock\&.tdb\&.0
-dbid:0x17055d90 name:connections\&.tdb path:/usr/local/var/lib/ctdb/connections\&.tdb\&.0
-dbid:0xc0bdde6a name:sessionid\&.tdb path:/usr/local/var/lib/ctdb/sessionid\&.tdb\&.0
-dbid:0x122224da name:test\&.tdb path:/usr/local/var/lib/ctdb/test\&.tdb\&.0
-dbid:0x2672a57f name:idmap2\&.tdb path:/usr/local/var/lib/ctdb/persistent/idmap2\&.tdb\&.0 PERSISTENT
-dbid:0xb775fff6 name:secrets\&.tdb path:/usr/local/var/lib/ctdb/persistent/secrets\&.tdb\&.0 PERSISTENT
-dbid:0xe98e08b6 name:group_mapping\&.tdb path:/usr/local/var/lib/ctdb/persistent/group_mapping\&.tdb\&.0 PERSISTENT
-dbid:0x7bbbd26c name:passdb\&.tdb path:/usr/local/var/lib/ctdb/persistent/passdb\&.tdb\&.0 PERSISTENT
+dbid:0x435d3410 name:notify\&.tdb path:/var/lib/ctdb/notify\&.tdb\&.0
+dbid:0x42fe72c5 name:locking\&.tdb path:/var/lib/ctdb/locking\&.tdb\&.0
+dbid:0x1421fb78 name:brlock\&.tdb path:/var/lib/ctdb/brlock\&.tdb\&.0
+dbid:0x17055d90 name:connections\&.tdb path:/var/lib/ctdb/connections\&.tdb\&.0
+dbid:0xc0bdde6a name:sessionid\&.tdb path:/var/lib/ctdb/sessionid\&.tdb\&.0
+dbid:0x122224da name:test\&.tdb path:/var/lib/ctdb/test\&.tdb\&.0
+dbid:0x2672a57f name:idmap2\&.tdb path:/var/lib/ctdb/persistent/idmap2\&.tdb\&.0 PERSISTENT
+dbid:0xb775fff6 name:secrets\&.tdb path:/var/lib/ctdb/persistent/secrets\&.tdb\&.0 PERSISTENT
+dbid:0xe98e08b6 name:group_mapping\&.tdb path:/var/lib/ctdb/persistent/group_mapping\&.tdb\&.0 PERSISTENT
+dbid:0x7bbbd26c name:passdb\&.tdb path:/var/lib/ctdb/persistent/passdb\&.tdb\&.0 PERSISTENT
# ctdb getdbmap # example for unhealthy database
Number of databases:1
-dbid:0xb775fff6 name:secrets\&.tdb path:/usr/local/var/lib/ctdb/persistent/secrets\&.tdb\&.0 PERSISTENT UNHEALTHY
+dbid:0xb775fff6 name:secrets\&.tdb path:/var/lib/ctdb/persistent/secrets\&.tdb\&.0 PERSISTENT UNHEALTHY
# ctdb \-X getdbmap
|ID|Name|Path|Persistent|Unhealthy|
-|0x7bbbd26c|passdb\&.tdb|/usr/local/var/lib/ctdb/persistent/passdb\&.tdb\&.0|1|0|
+|0x7bbbd26c|passdb\&.tdb|/var/lib/ctdb/persistent/passdb\&.tdb\&.0|1|0|
.fi
.if n \{\
@@ -1447,16 +1438,16 @@ This command displays more details about a database\&.
# ctdb getdbstatus test\&.tdb\&.0
dbid: 0x122224da
name: test\&.tdb
-path: /usr/local/var/lib/ctdb/test\&.tdb\&.0
+path: /var/lib/ctdb/test\&.tdb\&.0
PERSISTENT: no
HEALTH: OK
# ctdb getdbstatus registry\&.tdb # with a corrupted TDB
dbid: 0xf2a58948
name: registry\&.tdb
-path: /usr/local/var/lib/ctdb/persistent/registry\&.tdb\&.0
+path: /var/lib/ctdb/persistent/registry\&.tdb\&.0
PERSISTENT: yes
-HEALTH: NO\-HEALTHY\-NODES \- ERROR \- Backup of corrupted TDB in \*(Aq/usr/local/var/lib/ctdb/persistent/registry\&.tdb\&.0\&.corrupted\&.20091208091949\&.0Z\*(Aq
+HEALTH: NO\-HEALTHY\-NODES \- ERROR \- Backup of corrupted TDB in \*(Aq/var/lib/ctdb/persistent/registry\&.tdb\&.0\&.corrupted\&.20091208091949\&.0Z\*(Aq
.fi
.if n \{\
@@ -1482,9 +1473,6 @@ This command will trigger the recovery daemon to do a cluster recovery\&.
.SS "ipreallocate, sync"
.PP
This command will force the recovery master to perform a full ip reallocation process and redistribute all ip addresses\&. This is useful to "reset" the allocations back to its default state if they have been changed using the "moveip" command\&. While a "recover" will also perform this reallocation, a recovery is much more hevyweight since it will also rebuild all the databases\&.
-.SS "getmonmode"
-.PP
-This command prints the monitoring mode of a node\&. This indicates when CTDB is monitoring services on the node\&. The monitoring mode is either ENABLED or DISABLED\&.
.SS "attach \fIDBNAME\fR [persistent|replicated]"
.PP
Create a new CTDB database called DBNAME and attach to it on all nodes\&.
@@ -1513,33 +1501,6 @@ command\&.
.SS "unban"
.PP
This command is used to unban a node that has either been administratively banned using the ban command or has been automatically banned\&.
-.SS "check_srvids \fISRVID\fR \&.\&.\&."
-.PP
-This command checks whether a set of srvid message ports are registered on the node or not\&. The command takes a list of values to check\&.
-.sp
-.it 1 an-trap
-.nr an-no-space-flag 1
-.nr an-break-flag 1
-.br
-.ps +1
-\fBExample\fR
-.RS 4
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-# ctdb check_srvids 1 2 3 14765
-Server id 0:1 does not exist
-Server id 0:2 does not exist
-Server id 0:3 does not exist
-Server id 0:14765 exists
-
-.fi
-.if n \{\
-.RE
-.\}
-.RE
.SH "SEE ALSO"
.PP
\fBctdbd\fR(1),
diff --git a/net/samba410/files/man/ctdb.7 b/net/samba410/files/man/ctdb.7
index 4b763ee50e11..105e161132ba 100644
--- a/net/samba410/files/man/ctdb.7
+++ b/net/samba410/files/man/ctdb.7
@@ -2,12 +2,12 @@
.\" Title: ctdb
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDB" "7" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB" "7" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -87,12 +87,16 @@ model of cluster management\&. All nodes in a cluster elect one node to be the l
\fIrecovery master\fR\&. This node takes and holds the recovery lock to assert its privileged role in the cluster\&.
.PP
By default, the recovery lock is implemented using a file (specified by
-\fICTDB_RECOVERY_LOCK\fR) residing in shared storage (usually) on a cluster filesystem\&. To support a recovery lock the cluster filesystem must support lock coherence\&. See
+\fIrecovery lock\fR
+in the
+[cluster]
+section of
+\fBctdb.conf\fR(5)) residing in shared storage (usually) on a cluster filesystem\&. To support a recovery lock the cluster filesystem must support lock coherence\&. See
\fBping_pong\fR(1)
for more details\&.
.PP
The recovery lock can also be implemented using an arbitrary cluster mutex call\-out by using an exclamation point (\*(Aq!\*(Aq) as the first character of
-\fICTDB_RECOVERY_LOCK\fR\&. For example, a value of
+\fIrecovery lock\fR\&. For example, a value of
\fB!/usr/local/bin/myhelper recovery\fR
would run the given helper with the specified arguments\&. See the source code relating to cluster mutexes for clues about writing call\-outs\&.
.PP
@@ -131,12 +135,11 @@ One or more public IP addresses that are used to provide NAS or other services\&
.PP
Each node is configured with a unique, permanently assigned private address\&. This address is configured by the operating system\&. This address uniquely identifies a physical node in the cluster and is the address that CTDB daemons will use to communicate with the CTDB daemons on other nodes\&.
.PP
-Private addresses are listed in the file specified by the
-\fICTDB_NODES\fR
-configuration variable (see
-\fBctdbd.conf\fR(5), default
+Private addresses are listed in the file
/usr/local/etc/ctdb/nodes)\&. This file contains the list of private addresses for all nodes in the cluster, one per line\&. This file must be the same on all nodes in the cluster\&.
.PP
+Some users like to put this configuration file in their cluster filesystem\&. A symbolic link should be used in this case\&.
+.PP
Private addresses should not be used by clients to connect to services provided by the cluster\&.
.PP
It is strongly recommended that the private addresses are configured on a private network that is separate from client networks\&. This is because the CTDB protocol is both unauthenticated and unencrypted\&. If clients share the private network then steps need to be taken to stop injection of packets to relevant ports on the private addresses\&. It is also likely that CTDB protocol traffic between nodes could leak sensitive information if it can be intercepted\&.
@@ -164,11 +167,11 @@ Public addresses are used to provide services to clients\&. Public addresses are
.PP
The CTDB cluster will assign/reassign these public addresses across the available healthy nodes in the cluster\&. When one node fails, its public addresses will be taken over by one or more other nodes in the cluster\&. This ensures that services provided by all public addresses are always available to clients, as long as there are nodes available capable of hosting this address\&.
.PP
-The public address configuration is stored in a file on each node specified by the
-\fICTDB_PUBLIC_ADDRESSES\fR
-configuration variable (see
-\fBctdbd.conf\fR(5), recommended
-/usr/local/etc/ctdb/public_addresses)\&. This file contains a list of the public addresses that the node is capable of hosting, one per line\&. Each entry also contains the netmask and the interface to which the address should be assigned\&.
+The public address configuration is stored in
+/usr/local/etc/ctdb/public_addresses
+on each node\&. This file contains a list of the public addresses that the node is capable of hosting, one per line\&. Each entry also contains the netmask and the interface to which the address should be assigned\&. If this file is missing then no public addresses are configured\&.
+.PP
+Some users who have the same public addresses on all nodes like to put this configuration file in their cluster filesystem\&. A symbolic link should be used in this case\&.
.PP
Example
/usr/local/etc/ctdb/public_addresses
@@ -311,7 +314,7 @@ Client access to the cluster is load\-balanced across the HEALTHY nodes in an LV
command is used to show which nodes are currently load\-balanced across\&.
.PP
In each LVS group, one of the nodes is selected by CTDB to be the LVS master\&. This node receives all traffic from clients coming in to the LVS public address and multiplexes it across the internal network to one of the nodes that LVS is using\&. When responding to the client, that node will send the data back directly to the client, bypassing the LVS master node\&. The command
-\fBctdb lvsmaster\fR
+\fBctdb lvs master\fR
will show which node is the current LVS master\&.
.PP
The path used for a client I/O is:
@@ -360,7 +363,7 @@ Selected node processes the request\&.
Node responds back to client\&.
.RE
.PP
-This means that all incoming traffic to the cluster will pass through one physical node, which limits scalability\&. You can send more data to the LVS address that one physical node can multiplex\&. This means that you should not use LVS if your I/O pattern is write\-intensive since you will be limited in the available network bandwidth that node can handle\&. LVS does work wery well for read\-intensive workloads where only smallish READ requests are going through the LVSMASTER bottleneck and the majority of the traffic volume (the data in the read replies) goes straight from the processing node back to the clients\&. For read\-intensive i/o patterns you can achieve very high throughput rates in this mode\&.
+This means that all incoming traffic to the cluster will pass through one physical node, which limits scalability\&. You can send more data to the LVS address that one physical node can multiplex\&. This means that you should not use LVS if your I/O pattern is write\-intensive since you will be limited in the available network bandwidth that node can handle\&. LVS does work very well for read\-intensive workloads where only smallish READ requests are going through the LVSMASTER bottleneck and the majority of the traffic volume (the data in the read replies) goes straight from the processing node back to the clients\&. For read\-intensive i/o patterns you can achieve very high throughput rates in this mode\&.
.PP
Note: you can use LVS and public addresses at the same time\&.
.PP
@@ -474,7 +477,7 @@ file to limit the NATGW functionality of those nodes\&.
See the
NAT GATEWAY
section in
-\fBctdbd.conf\fR(5)
+\fBctdb-script.options\fR(5)
for more details of NATGW configuration\&.
.SS "Implementation details"
.PP
@@ -499,7 +502,7 @@ This is implemented in the
eventscript\&. Please see the eventscript file and the
NAT GATEWAY
section in
-\fBctdbd.conf\fR(5)
+\fBctdb-script.options\fR(5)
for more details\&.
.SH "POLICY ROUTING"
.PP
@@ -515,7 +518,7 @@ There are 4 configuration variables related to policy routing:
\fICTDB_PER_IP_ROUTING_TABLE_ID_HIGH\fR\&. See the
POLICY ROUTING
section in
-\fBctdbd.conf\fR(5)
+\fBctdb-script.options\fR(5)
for more details\&.
.SS "Configuration"
.PP
@@ -682,18 +685,12 @@ Here is a more complete example configuration\&.
.\}
.PP
The routes local packets as expected, the default route is as previously discussed, but packets to 192\&.168\&.200\&.0/24 are routed via the alternate gateway 192\&.168\&.1\&.254\&.
-.SH "NOTIFICATION SCRIPT"
-.PP
-When certain state changes occur in CTDB, it can be configured to perform arbitrary actions via a notification script\&. For example, sending SNMP traps or emails when a node becomes unhealthy or similar\&.
+.SH "NOTIFICATIONS"
.PP
-This is activated by setting the
-\fICTDB_NOTIFY_SCRIPT\fR
-configuration variable\&. The specified script must be executable\&.
+When certain state changes occur in CTDB, it can be configured to perform arbitrary actions via notifications\&. For example, sending SNMP traps or emails when a node becomes unhealthy or similar\&.
.PP
-Use of the provided
-/usr/local/etc/ctdb/notify\&.sh
-script is recommended\&. It executes files in
-/usr/local/etc/ctdb/notify\&.d/\&.
+The notification mechanism runs all executable files ending in "\&.script" in
+/usr/local/etc/ctdb/events/notification/, ignoring any failures and continuing to run all files\&.
.PP
CTDB currently generates notifications after CTDB changes to these states:
.RS 4
@@ -711,11 +708,11 @@ healthy
.RS 4
unhealthy
.RE
-.SH "DEBUG LEVELS"
+.SH "LOG LEVELS"
.PP
-Valid values for DEBUGLEVEL are:
+Valid log levels, in increasing order of verbosity, are:
.RS 4
-ERR
+ERROR
.RE
.RS 4
WARNING
@@ -737,14 +734,15 @@ See the cluster as one single multihomed samba server where one of the NICs (the
.PP
NOTE: This does require that the cluster filesystem you use can cope with WAN\-link latencies\&. Not all cluster filesystems can handle WAN\-link latencies! Whether this will provide very good WAN\-accelerator performance or it will perform very poorly depends entirely on how optimized your cluster filesystem is in handling high latency for data and metadata operations\&.
.PP
-To activate a node as being a remote cluster node you need to set the following two parameters in /etc/sysconfig/ctdb for the remote node:
+To activate a node as being a remote cluster node you need to set the following two parameters in /usr/local/etc/ctdb/ctdb\&.conf for the remote node:
.sp
.if n \{\
.RS 4
.\}
.nf
-CTDB_CAPABILITY_LMASTER=no
-CTDB_CAPABILITY_RECMASTER=no
+[legacy]
+ lmaster capability = false
+ recmaster capability = false
.fi
.if n \{\
@@ -761,7 +759,9 @@ Verify with the command "ctdb getcapabilities" that that node no longer has the
\fBltdbtool\fR(1),
\fBonnode\fR(1),
\fBping_pong\fR(1),
-\fBctdbd.conf\fR(5),
+\fBctdb.conf\fR(5),
+\fBctdb-script.options\fR(5),
+\fBctdb.sysconfig\fR(5),
\fBctdb-statistics\fR(7),
\fBctdb-tunables\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
diff --git a/net/samba410/files/man/ctdb.conf.5 b/net/samba410/files/man/ctdb.conf.5
new file mode 100644
index 000000000000..0a363078c38a
--- /dev/null
+++ b/net/samba410/files/man/ctdb.conf.5
@@ -0,0 +1,359 @@
+'\" t
+.\" Title: ctdb.conf
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 11/18/2018
+.\" Manual: CTDB - clustered TDB database
+.\" Source: ctdb
+.\" Language: English
+.\"
+.TH "CTDB\&.CONF" "5" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ctdb.conf \- CTDB configuration file
+.SH "DESCRIPTION"
+.PP
+This file contains CTDB configuration options that affect the operation of CTDB daemons and command\-line tools\&. The default location of this file is
+/usr/local/etc/ctdb/ctdb\&.conf\&.
+.PP
+Note that this is a Samba\-style configuration file, so it has a very different syntax to previous CTDB configuration files\&.
+.PP
+For event script options please see
+\fBctdb-script.options\fR(5)\&.
+.PP
+Configuration options are grouped into several sections below\&. There are only a few options in each section, allowing them to be ordered (approximately) in decreasing order of importance\&.
+.SH "LOGGING CONFIGURATION"
+.PP
+Options in this section control CTDB\*(Aqs logging\&. They are valid within the
+\fIlogging\fR
+section of file, indicated by
+[logging]\&.
+.PP
+log level = \fILOGLEVEL\fR
+.RS 4
+LOGLEVEL is a string that controls the verbosity of ctdbd\*(Aqs logging\&. See the
+LOG LEVELS
+section in
+\fBctdb\fR(7)
+for more details\&.
+.sp
+Default:
+NOTICE
+.RE
+.PP
+location = \fISTRING\fR
+.RS 4
+STRING specifies where ctdbd will write its log\&.
+.sp
+Valid values are:
+.PP
+file:\fIFILENAME\fR
+.RS 4
+FILENAME where ctdbd will write its log\&. This is usually
+/var/log/log\&.ctdb\&.
+.RE
+.PP
+syslog[:\fIMETHOD\fR]
+.RS 4
+CTDB will log to syslog\&. By default this will use the syslog(3) API\&.
+.sp
+If METHOD is specified then it specifies an extension that causes logging to be done in a non\-blocking fashion\&. This can be useful under heavy loads that might cause the syslog daemon to dequeue messages too slowly, which would otherwise cause CTDB to block when logging\&. METHOD must be one of:
+.PP
+nonblocking
+.RS 4
+CTDB will log to syslog via
+/dev/log
+in non\-blocking mode\&.
+.RE
+.PP
+udp
+.RS 4
+CTDB will log to syslog via UDP to localhost:514\&. The syslog daemon must be configured to listen on (at least) localhost:514\&. Most implementations will log the messages against hostname "localhost" \- this is a limit of the implementation for compatibility with more syslog daemon implementations\&.
+.RE
+.PP
+udp\-rfc5424
+.RS 4
+As with "udp" but messages are sent in RFC5424 format\&. This method will log the correct hostname but is not as widely implemented in syslog daemons\&.
+.RE
+.RE
+.sp
+Default: file:/var/log/log\&.ctdb
+.RE
+.SH "CLUSTER CONFIGURATION"
+.PP
+Options in this section affect the CTDB cluster setup\&. They are valid within the
+\fIcluster\fR
+section of file, indicated by
+[cluster]\&.
+.PP
+recovery lock = \fILOCK\fR
+.RS 4
+LOCK specifies the cluster\-wide mutex used to detect and prevent a partitioned cluster (or "split brain")\&.
+.sp
+For information about the recovery lock please see the
+RECOVERY LOCK
+section in
+\fBctdb\fR(7)\&.
+.sp
+Default: NONE\&. However, uses of a recovery lock is
+\fIstrongly recommended\fR\&.
+.RE
+.PP
+node address = \fIIPADDR\fR
+.RS 4
+IPADDR is the private IP address that ctdbd will bind to\&.
+.sp
+This option is only required when automatic address detection can not be used\&. This can be the case when running multiple ctdbd daemons/nodes on the same physical host (usually for testing), using InfiniBand for the private network or on Linux when sysctl net\&.ipv4\&.ip_nonlocal_bind=1\&.
+.sp
+Default: CTDB selects the first address from the nodes list that it can bind to\&. See also the
+PRIVATE ADDRESS
+section in
+\fBctdb\fR(7)\&.
+.RE
+.PP
+transport = tcp|ib
+.RS 4
+This option specifies which transport to use for ctdbd internode communications on the private network\&.
+.sp
+ib
+means InfiniBand\&. The InfiniBand support is not regularly tested\&. If it is known to be broken then it may be disabled so that a value of
+ib
+is considered invalid\&.
+.sp
+Default:
+tcp
+.RE
+.SH "DATABASE CONFIGURATION"
+.PP
+Options in this section affect the CTDB database setup\&. They are valid within the
+\fIdatabase\fR
+section of file, indicated by
+[database]\&.
+.PP
+volatile database directory = \fIDIRECTORY\fR
+.RS 4
+DIRECTORY on local storage where CTDB keeps a local copy of volatile TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
+.sp
+Mounting a tmpfs (or similar memory filesystem) on this directory can provide a significant performance improvement when there is I/O contention on the local disk\&.
+.sp
+Default:
+/var/lib/ctdb/volatile
+.RE
+.PP
+persistent database directory=\fIDIRECTORY\fR
+.RS 4
+DIRECTORY on local storage where CTDB keeps a local copy of persistent TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
+.sp
+Default:
+/var/lib/ctdb/persistent
+.RE
+.PP
+state database directory = \fIDIRECTORY\fR
+.RS 4
+DIRECTORY on local storage where CTDB keeps a local copy of internal state TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
+.sp
+Default:
+/var/lib/ctdb/state
+.RE
+.PP
+tdb mutexes = true|false
+.RS 4
+This parameter enables TDB_MUTEX_LOCKING feature on volatile databases if the robust mutexes are supported\&. This optimizes the record locking using robust mutexes and is much more efficient that using posix locks\&.
+.sp
+If robust mutexes are unreliable on the platform being used then they can be disabled by setting this to
+false\&.
+.RE
+.PP
+lock debug script = \fIFILENAME\fR
+.RS 4
+FILENAME is a script used by CTDB\*(Aqs database locking code to attempt to provide debugging information when CTDB is unable to lock an entire database or a record\&.
+.sp
+This script should be a bare filename relative to the CTDB configuration directory (/usr/local/etc/ctdb/)\&. Any directory prefix is ignored and the path is calculated relative to this directory\&.
+.sp
+CTDB provides a lock debugging script and installs it as
+/usr/local/etc/ctdb/debug_locks\&.sh\&.
+.sp
+Default: NONE
+.RE
+.SH "EVENT HANDLING CONFIGURATION"
+.PP
+Options in this section affect CTDB event handling\&. They are valid within the
+\fIevent\fR
+section of file, indicated by
+[event]\&.
+.PP
+debug script = \fIFILENAME\fR
+.RS 4
+FILENAME is a script used by CTDB\*(Aqs event handling code to attempt to provide debugging information when an event times out\&.
+.sp
+This script should be a bare filename relative to the CTDB configuration directory (/usr/local/etc/ctdb/)\&. Any directory prefix is ignored and the path is calculated relative to this directory\&.
+.sp
+CTDB provides a script for debugging timed out event scripts and installs it as
+/usr/local/etc/ctdb/debug\-hung\-script\&.sh\&.
+.sp
+Default: NONE
+.RE
+.SH "FAILOVER CONFIGURATION"
+.PP
+Options in this section affect CTDB failover\&. They are valid within the
+\fIfailover\fR
+section of file, indicated by
+[failover]\&.
+.PP
+disabled = true|false
+.RS 4
+If set to
+true
+then public IP failover is disabled\&.
+.sp
+Default:
+false
+.RE
+.SH "LEGACY CONFIGURATION"
+.PP
+Options in this section affect legacy CTDB setup\&. They are valid within the
+\fIlegacy\fR
+section of file, indicated by
+[legacy]\&.
+.PP
+ctdb start as stopped = true|false
+.RS 4
+If set to
+true
+CTDB starts in the STOPPED state\&.
+.sp
+To allow the node to take part in the cluster it must be manually continued with the the
+\fBctdb continue\fR
+command\&.
+.sp
+Please see the
+NODE STATES
+section in
+\fBctdb\fR(7)
+for more information about the STOPPED state\&.
+.sp
+Default:
+false
+.RE
+.PP
+start as disabled = true|false
+.RS 4
+If set to
+true
+CTDB starts in the DISABLED state\&.
+.sp
+To allow the node to host public IP addresses and services, it must be manually enabled using the
+\fBctdb enable\fR
+command\&.
+.sp
+Please see the
+NODE STATES
+section in
+\fBctdb\fR(7)
+for more information about the DISABLED state\&.
+.sp
+Default:
+false
+.RE
+.PP
+realtime scheduling = true|false
+.RS 4
+Usually CTDB runs with real\-time priority\&. This helps it to perform effectively on a busy system, such as when there are thousands of Samba clients\&. If you are running CTDB on a platform that does not support real\-time priority, you can set this to
+false\&.
+.sp
+Default:
+true
+.RE
+.PP
+recmaster capability = true|false
+.RS 4
+Indicates whether a node can become the recovery master for the cluster\&. If this is set to
+false
+then the node will not be able to become the recovery master for the cluster\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
+.sp
+Please see the
+REMOTE CLUSTER NODES
+section in
+\fBctdb\fR(7)
+for more information\&.
+.sp
+Default:
+true
+.RE
+.PP
+lmaster capability = true|false
+.RS 4
+Indicates whether a node can become a location master for records in a database\&. If this is set to
+false
+then the node will not be part of the vnnmap\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
+.sp
+Please see the
+REMOTE CLUSTER NODES
+section in
+\fBctdb\fR(7)
+for more information\&.
+.sp
+Default:
+true
+.RE
+.PP
+script log level = \fILOGLEVEL\fR
+.RS 4
+This option sets the debug level of event script output to LOGLEVEL\&.
+.sp
+See the
+DEBUG LEVELS
+section in
+\fBctdb\fR(7)
+for more information\&.
+.sp
+Default:
+ERROR
+.RE
+.SH "FILES"
+.RS 4
+/usr/local/etc/ctdb/ctdb\&.conf
+.RE
+.SH "SEE ALSO"
+.PP
+\fBctdbd\fR(1),
+\fBonnode\fR(1),
+\fBctdb.sysconfig\fR(5),
+\fBctdb-script.options\fR(5),
+\fBctdb\fR(7),
+\fBctdb-tunables\fR(7),
+\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
+.SH "AUTHOR"
+.br
+.PP
+This documentation was written by Amitay Isaacs, Martin Schwenke
+.SH "COPYRIGHT"
+.br
+Copyright \(co 2007 Andrew Tridgell, Ronnie Sahlberg
+.br
+.PP
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
+.PP
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
+.PP
+You should have received a copy of the GNU General Public License along with this program; if not, see
+\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
+.sp
diff --git a/net/samba410/files/man/ctdb.sysconfig.5 b/net/samba410/files/man/ctdb.sysconfig.5
new file mode 100644
index 000000000000..e3622f6b1d94
--- /dev/null
+++ b/net/samba410/files/man/ctdb.sysconfig.5
@@ -0,0 +1,139 @@
+'\" t
+.\" Title: ctdb.sysconfig
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 11/18/2018
+.\" Manual: CTDB - clustered TDB database
+.\" Source: ctdb
+.\" Language: English
+.\"
+.TH "CTDB\&.SYSCONFIG" "5" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+ctdb.sysconfig \- CTDB daemon configuration file
+.SH "DESCRIPTION"
+.PP
+This file contains configuration that affects the operation of CTDB\&. This is a distribution\-specific service configuration file such as
+/etc/sysconfig/ctdb
+(Red Hat) or
+/etc/default/ctdb
+(Debian) and is a shell script (see
+\fBsh\fR(1))\&.
+.SH "GLOBAL CONFIGURATION"
+.PP
+CTDB_INIT_STYLE=debian|redhat|suse
+.RS 4
+This is the init style used by the Linux distribution (or other operating system) being used\&. This is usually determined dynamically by checking the system\&. This variable is used by the initscript to determine which init system primitives to use\&. It is also used by some eventscripts to choose the name of initscripts for certain services, since these can vary between distributions\&.
+.sp
+If using CTDB\*(Aqs event scripts are unable to determine an appropriate default then this option can also be placed in a relevant
+\fBctdb-script.options\fR(5)
+file\&.
+.sp
+Default: NONE\&. Guessed, based on features of distribution\&.
+.RE
+.PP
+CTDB_STARTUP_TIMEOUT=\fINUM\fR
+.RS 4
+NUM is the number of seconds to wait for
+\fBctdbd\fR(1)
+complete early initialisation up to a point where it is unlikely to abort\&. If
+\fBctdbd\fR
+doesn\*(Aqt complete the "setup" event before this timeout then it is killed\&.
+.sp
+Defaults: 10
+.RE
+.SH "RESOURCE LIMITS"
+.SS "Maximum number of open files"
+.PP
+CTDB can use a lot of file descriptors, especially when used with Samba\&. If there are thousands of smbd processes connected to CTDB when this can mean that thousands of file descriptors are used\&. For CTDB, it is often necessary to increase limit on the maximum number of open files\&.
+.PP
+The maximum number of open files should be configured using an operating system mechanism\&.
+.PP
+systemd
+.RS 4
+The
+LimitNOFILE=\fBLIMIT\fR
+option can be used in a unit/service file increase the maximum number of open files\&. See
+\fBsystemd.exec\fR(5)
+for details\&.
+.RE
+.PP
+SYSV init
+.RS 4
+Use a command like
+\fBulimit \-n \fR\fB\fBLIMIT\fR\fR
+to increase the maximum number of open files\&. This command can be put in the relevant distribution\-specific service configuration file\&.
+.RE
+.SS "Allowing core dumps"
+.PP
+Many distributions do not allow core dump files to be generated by default\&. To assist with debugging, core files can be enabled\&. This should be configured using an operating system mechanism\&.
+.PP
+systemd
+.RS 4
+The
+LimitCORE=0|unlimited
+option can be used in a unit/service file\&.
+0
+disallows core files,
+unlimited
+allows them\&. maximum number of open files\&. See
+\fBsystemd.exec\fR(5)
+for details\&.
+.RE
+.PP
+SYSV init
+.RS 4
+Use a command like
+\fBulimit \-c 0|unlimited\fR
+to disable or enable core files as required\&. This command can be put in the relevant distribution\-specific service configuration file\&.
+.RE
+.SH "FILES"
+.RS 4
+/etc/sysconfig/ctdb
+.RE
+.RS 4
+/etc/default/ctdb
+.RE
+.RS 4
+/usr/local/etc/ctdb/script\&.options
+.RE
+.SH "SEE ALSO"
+.PP
+\fBctdbd\fR(1),
+\fBctdb-script.options\fR(5),
+\fBctdb\fR(7),
+\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
+.SH "AUTHOR"
+.br
+.PP
+This documentation was written by Martin Schwenke
+.SH "COPYRIGHT"
+.br
+Copyright \(co 2007 Andrew Tridgell, Ronnie Sahlberg
+.br
+.PP
+This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
+.PP
+This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
+.PP
+You should have received a copy of the GNU General Public License along with this program; if not, see
+\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
+.sp
diff --git a/net/samba410/files/man/ctdb_diagnostics.1 b/net/samba410/files/man/ctdb_diagnostics.1
index e87057ece6c1..b24c57d5acd6 100644
--- a/net/samba410/files/man/ctdb_diagnostics.1
+++ b/net/samba410/files/man/ctdb_diagnostics.1
@@ -2,12 +2,12 @@
.\" Title: ctdb_diagnostics
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDB_DIAGNOSTICS" "1" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDB_DIAGNOSTICS" "1" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/net/samba410/files/man/ctdb_mutex_ceph_rados_helper.7 b/net/samba410/files/man/ctdb_mutex_ceph_rados_helper.7
deleted file mode 100644
index 90cf4c9e034e..000000000000
--- a/net/samba410/files/man/ctdb_mutex_ceph_rados_helper.7
+++ /dev/null
@@ -1,79 +0,0 @@
-'\" t
-.\" Title: Ceph RADOS Mutex
-.\" Author:
-.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
-.\" Manual: CTDB - clustered TDB database
-.\" Source: ctdb
-.\" Language: English
-.\"
-.TH "CEPH RADOS MUTEX" "7" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-ctdb_mutex_ceph_rados_helper \- Ceph RADOS cluster mutex helper
-.SH "DESCRIPTION"
-.PP
-ctdb_mutex_ceph_rados_helper can be used as a recovery lock provider for CTDB\&. When configured, split brain avoidance during CTDB recovery will be handled using locks against an object located in a Ceph RADOS pool\&. To enable this functionality, include the following line in your CTDB config file:
-.sp
-.if n \{\
-.RS 4
-.\}
-.nf
-CTDB_RECOVERY_LOCK="!ctdb_mutex_ceph_rados_helper [Cluster] [User] [Pool] [Object]"
-
-Cluster: Ceph cluster name (e\&.g\&. ceph)
-User: Ceph cluster user name (e\&.g\&. client\&.admin)
-Pool: Ceph RADOS pool name
-Object: Ceph RADOS object name
-
-.fi
-.if n \{\
-.RE
-.\}
-.PP
-The Ceph cluster
-\fICluster\fR
-must be up and running, with a configuration, and keyring file for
-\fIUser\fR
-located in a librados default search path (e\&.g\&. /etc/ceph/)\&.
-\fIPool\fR
-must already exist\&.
-.SH "SEE ALSO"
-.PP
-\fBctdb\fR(7),
-\fBctdbd\fR(1),
-\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
-.SH "AUTHOR"
-.br
-.PP
-This documentation was written by David Disseldorp
-.SH "COPYRIGHT"
-.br
-Copyright \(co 2016 David Disseldorp
-.br
-.PP
-This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
-.PP
-This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
-.PP
-You should have received a copy of the GNU General Public License along with this program; if not, see
-\m[blue]\fB\%http://www.gnu.org/licenses\fR\m[]\&.
-.sp
diff --git a/net/samba410/files/man/ctdbd.1 b/net/samba410/files/man/ctdbd.1
index e9146d847b60..65ad240c1b29 100644
--- a/net/samba410/files/man/ctdbd.1
+++ b/net/samba410/files/man/ctdbd.1
@@ -2,12 +2,12 @@
.\" Title: ctdbd
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDBD" "1" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDBD" "1" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -45,298 +45,21 @@ See
for an overview of CTDB\&.
.SH "GENERAL OPTIONS"
.PP
-\-d, \-\-debug=\fIDEBUGLEVEL\fR
-.RS 4
-This option sets the debug level to DEBUGLEVEL, which controls what will be written by the logging subsystem\&. The default is 2\&.
-.sp
-See the
-DEBUG LEVELS
-section in
-\fBctdb\fR(7)
-for more information\&.
-.RE
-.PP
-\-\-dbdir=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY on local storage where ctdbd keeps a local copy of TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
-.sp
-Defaults to
-/usr/local/var/lib/ctdb\&.
-.RE
-.PP
-\-\-dbdir\-persistent=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY on local storage where ctdbd keeps a local copy of persistent TDB databases\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
-.sp
-Defaults to
-/usr/local/var/lib/ctdb/persistent\&.
-.RE
-.PP
-\-\-dbdir\-state=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY on local storage where ctdbd keep internal state TDB files\&. This directory is local for each node and should not be stored on the shared cluster filesystem\&.
-.sp
-Defaults to
-/usr/local/var/lib/ctdb/state\&.
-.RE
-.PP
-\-\-event\-script\-dir=\fIDIRECTORY\fR
-.RS 4
-DIRECTORY where the CTDB event scripts are stored\&. See the
-EVENT SCRIPTS
-section in
-\fBctdb\fR(7)
-for more information\&.
-.sp
-Default is
-\fBCTDB_BASE\fR/events\&.d, so usually
-/usr/local/etc/ctdb/events\&.d, which is part of the CTDB installation\&.
-.RE
-.PP
-\-\-listen=\fIIPADDR\fR
-.RS 4
-IPADDR is the private IP address that ctdbd will bind to\&.
-.sp
-By default ctdbd will select the first address from the nodes list that in can bind to\&. See also
-\-\-nlist\&.
-.sp
-This option is only required when automatic address detection can not be used\&. This can be the case when running multiple ctdbd daemons/nodes on the same physical host (usually for testing), using InfiniBand for the private network or on Linux when sysctl net\&.ipv4\&.ip_nonlocal_bind=1\&.
-.RE
-.PP
-\-\-logging=\fISTRING\fR
-.RS 4
-STRING specifies where ctdbd will write its log\&. The default is file:/usr/local/var/log/log\&.ctdb\&.
-.sp
-Valid values are:
-.PP
-file:\fIFILENAME\fR
-.RS 4
-FILENAME where ctdbd will write its log\&. This is usually
-/usr/local/var/log/log\&.ctdb\&.
-.RE
-.PP
-syslog[:\fIMETHOD\fR]
-.RS 4
-CTDB will log to syslog\&. By default this will use the syslog(3) API\&.
-.sp
-Under heavy loads syslog(3) can block if the syslog daemon processes messages too slowly\&. This can cause CTDB to block when logging\&.
-.sp
-If METHOD is specified then it specifies an extension that causes logging to be done in a non\-blocking mode\&. Note that
-\fIthis may cause messages to be dropped\fR\&. METHOD must be one of:
-.PP
-nonblocking
-.RS 4
-CTDB will log to syslog via
-/dev/log
-in non\-blocking mode\&.
-.RE
-.PP
-udp
-.RS 4
-CTDB will log to syslog via UDP to localhost:514\&. The syslog daemon must be configured to listen on (at least) localhost:514\&. Most syslog daemons will log the messages with hostname "localhost" \- this is a limitation of the implementation, for compatibility with more syslog daemons\&.
-.RE
-.PP
-udp\-rfc5424
-.RS 4
-As with "udp" but messages are sent in RFC5424 format\&. This method will log the correct hostname but is not as widely implemented in syslog daemons\&.
-.RE
-.RE
-.RE
-.PP
-\-\-max\-persistent\-check\-errors=\fINUM\fR
-.RS 4
-NUM specifies the maximum number of health check failures allowed for persistent databases during startup\&.
-.sp
-The default value is 0\&. Setting this to non\-zero allows a node with unhealthy persistent databases to startup and join the cluster as long as there is another node with healthy persistent databases\&.
-.RE
-.PP
-\-\-nlist=\fIFILENAME\fR
-.RS 4
-FILENAME containing a list of the private IP addresses, one per line, for each node in the cluster\&. This file
-\fImust be the same on each node\fR
-in the cluster\&.
-.sp
-Default is
-\fBCTDB_BASE\fR/nodes, so usually
-/usr/local/etc/ctdb/nodes\&.
-.RE
-.PP
-\-\-no\-lmaster
-.RS 4
-This argument specifies that this node can NOT become an lmaster for records in the database\&. This means that it will never show up in the vnnmap\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
-.sp
-Please see the
-REMOTE CLUSTER NODES
-section in
-\fBctdb\fR(7)
-for more information\&.
-.RE
-.PP
-\-\-no\-recmaster
-.RS 4
-This argument specifies that this node can NOT become a recmaster for the database\&. This feature is primarily used for making a cluster span across a WAN link and use CTDB as a WAN\-accelerator\&.
-.sp
-Please see the
-REMOTE CLUSTER NODES
-section in
-\fBctdb\fR(7)
-for more information\&.
-.RE
-.PP
-\-\-notification\-script=\fIFILENAME\fR
-.RS 4
-FILENAME specifying a script to be invoked by ctdbd when certain state changes occur\&.
-.sp
-This file is usually
-/usr/local/etc/ctdb/notify\&.sh\&.
-.sp
-Please see the
-NOTIFICATION SCRIPT
-section in
-\fBctdb\fR(7)
-for more information\&.
-.RE
-.PP
-\-\-pidfile=\fIFILENAME\fR
-.RS 4
-FILENAME for file containing process ID of main CTDB daemon\&. This file is automatically created and removed by CTDB\&.
-.sp
-The default is to not create a PID file\&.
-.RE
-.PP
-\-\-public_addresses=\fIFILENAME\fR
-.RS 4
-FILENAME specifying a file containing the public IP addresses to use on the cluster when CTDB should use IP takeover\&. This file contains a list of IP addresses, netmasks and interfaces\&. CTDB will distribute these public IP addresses appropriately across the available nodes\&.
-.sp
-The IP addresses specified in this file can differ across nodes\&.
-.sp
-This is usually the file
-/usr/local/etc/ctdb/public_addresses
-.RE
-.PP
-\-\-public\-interface=\fIINTERFACE\fR
-.RS 4
-Default INTERFACE on which to attach public IP addresses\&.
-.sp
-When using public IP addresses, this is only required if interfaces are not explicitly specified in the public addresses file\&.
-.RE
-.PP
-\-\-reclock=\fILOCK\fR
-.RS 4
-LOCK specifies the cluster\-wide mutex used to detect and prevent a partitioned cluster (or "split brain")\&.
-.sp
-For information about the recovery lock please see the
-RECOVERY LOCK
-section in
-\fBctdb\fR(7)\&.
-.RE
-.PP
-\-\-start\-as\-disabled
-.RS 4
-This makes ctdbd start in the DISABLED state\&.
-.sp
-To allow the node to host public IP addresses and services, it must be manually enabled using the
-\fBctdb enable\fR
-command\&.
-.sp
-Please see the
-NODE STATES
-section in
-\fBctdb\fR(7)
-for more information about the DISABLED state\&.
-.RE
-.PP
-\-\-start\-as\-stopped
-.RS 4
-This makes ctdbd start in the STOPPED state\&.
-.sp
-To allow the node to take part in the cluster it must be manually continued with the the
-\fBctdb enable\fR
-command\&.
-.sp
-Please see the
-NODE STATES
-section in
-\fBctdb\fR(7)
-for more information about the STOPPED state\&.
-.RE
-.PP
-\-\-transport=tcp|infiniband
-.RS 4
-This option specifies which transport to use for ctdbd internode communications\&. The default is "tcp"\&.
-.sp
-The "infiniband" support is not regularly tested\&.
-.RE
-.PP
-\-?, \-\-help
-.RS 4
-Display a summary of options\&.
-.RE
-.SH "DEBUGGING OPTIONS"
-.PP
\-i, \-\-interactive
.RS 4
Enable interactive mode\&. This will make ctdbd run in the foreground and not detach from the terminal\&. By default ctdbd will detach itself and run in the background as a daemon\&.
.RE
.PP
-\-\-nopublicipcheck
-.RS 4
-This option is used when testing with multiple local daemons on a single machine\&. It disables checks related to public IP addresses\&.
-.RE
-.PP
-\-\-nosetsched
-.RS 4
-This is a debugging option\&. This option is only used when debugging ctdbd\&.
-.sp
-Normally ctdbd will change its scheduler to run as a real\-time process\&. This is the default mode for a normal ctdbd operation to gurarantee that ctdbd always gets the CPU cycles that it needs\&.
-.sp
-This option is used to tell ctdbd to
-\fInot\fR
-run as a real\-time process and instead run ctdbd as a normal userspace process\&. This is useful for debugging and when you want to run ctdbd under valgrind or gdb\&. (You don\*(Aqt want to attach valgrind or gdb to a real\-time process\&.)
-.RE
-.PP
-\-\-socket=\fIFILENAME\fR
-.RS 4
-FILENAME specifies the name of the Unix domain socket that ctdbd will create\&. This socket is used by local clients to communicate with ctdbd\&.
-.sp
-The default is
-/usr/local/var/run/ctdb/ctdbd\&.socket\&. You only need to use this option if you plan to run multiple ctdbd daemons on the same physical host, usually for testing\&.
-.RE
-.PP
-\-\-script\-log\-level=\fIDEBUGLEVEL\fR
-.RS 4
-This option sets the debug level of event script output to DEBUGLEVEL\&. The default is ERR\&.
-.sp
-See the
-DEBUG LEVELS
-section in
-\fBctdb\fR(7)
-for more information\&.
-.RE
-.PP
-\-\-sloppy\-start
-.RS 4
-This is debugging option\&. This speeds up the initial recovery during startup at the expense of some consistency checking\&.
-\fIDon\*(Aqt use this option in production\fR\&.
-.RE
-.PP
-\-\-torture
-.RS 4
-This option is only used for development and testing of CTDB\&. It adds artificial errors and failures to the common codepaths in ctdbd to verify that ctdbd can recover correctly from failures\&.
-.sp
-\fIDo not use this option\fR
-unless you are developing and testing new functionality in CTDB\&.
-.RE
-.PP
-\-\-valgrinding
+\-?, \-\-help
.RS 4
-This is a debugging option\&. This option is only used when debugging ctdbd\&. This enables additional debugging capabilities and implies \-\-nosetsched\&.
+Display a summary of options\&.
.RE
.SH "SEE ALSO"
.PP
\fBctdb\fR(1),
\fBctdbd_wrapper\fR(1),
\fBonnode\fR(1),
+\fBctdb.conf\fR(5),
\fBctdb\fR(7),
\fBctdb-tunables\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
diff --git a/net/samba410/files/man/ctdbd_wrapper.1 b/net/samba410/files/man/ctdbd_wrapper.1
index f3a9287119d1..0fd207dea5ab 100644
--- a/net/samba410/files/man/ctdbd_wrapper.1
+++ b/net/samba410/files/man/ctdbd_wrapper.1
@@ -2,12 +2,12 @@
.\" Title: ctdbd_wrapper
.\" Author:
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 11/20/2017
+.\" Date: 11/18/2018
.\" Manual: CTDB - clustered TDB database
.\" Source: ctdb
.\" Language: English
.\"
-.TH "CTDBD_WRAPPER" "1" "11/20/2017" "ctdb" "CTDB \- clustered TDB database"
+.TH "CTDBD_WRAPPER" "1" "11/18/2018" "ctdb" "CTDB \- clustered TDB database"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -31,24 +31,18 @@
ctdbd_wrapper \- Wrapper for ctdbd
.SH "SYNOPSIS"
.HP \w'\fBctdbd_wrapper\fR\ 'u
-\fBctdbd_wrapper\fR {\fIPIDFILE\fR} {start | stop}
+\fBctdbd_wrapper\fR {start | stop}
.SH "DESCRIPTION"
.PP
ctdbd_wrapper is used to start or stop the main CTDB daemon\&.
.PP
-\fIPIDFILE\fR
-specifies the location of the file containing the PID of the main CTDB daemon\&.
-.PP
-ctdbd_wrapper constructs command\-line options for ctdbd from configuration variables specified in
-\fBctdbd.conf\fR(5)\&.
-.PP
See
\fBctdb\fR(7)
for an overview of CTDB\&.
.SH "SEE ALSO"
.PP
\fBctdbd\fR(1),
-\fBctdbd.conf\fR(5),
+\fBctdb.sysconfig\fR(5),
\fBctdb\fR(7),
\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
.SH "AUTHOR"
diff --git a/net/samba410/files/man/samba_gpoupdate.8 b/net/samba410/files/man/samba-gpupdate.8
index b797fc9976b6..b797fc9976b6 100644
--- a/net/samba410/files/man/samba_gpoupdate.8
+++ b/net/samba410/files/man/samba-gpupdate.8
diff --git a/net/samba410/files/man/vfs_freebsd.8 b/net/samba410/files/man/vfs_freebsd.8
new file mode 100644
index 000000000000..d721fd4589ac
--- /dev/null
+++ b/net/samba410/files/man/vfs_freebsd.8
@@ -0,0 +1,204 @@
+'\" t
+.\" Title: vfs_freebsd
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 06/24/2019
+.\" Manual: System Administration tools
+.\" Source: Samba 4.10.5
+.\" Language: English
+.\"
+.TH "VFS_FREEBSD" "8" "06/24/2019" "Samba 4\&.10\&.5" "System Administration tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+vfs_freebsd \- FreeBSD\-specific VFS functions
+.SH "SYNOPSIS"
+.HP \w'\ 'u
+vfs objects = freebsd
+.SH "DESCRIPTION"
+.PP
+This VFS module is part of the
+\fBsamba\fR(7)
+suite\&.
+.PP
+The
+vfs_freebsd
+module implements some of the FreeBSD\-specific VFS functions\&.
+.PP
+This module is stackable\&.
+.SH "OPTIONS"
+.PP
+freebsd:extattr mode=[legacy|compat|secure]
+.RS 4
+This parameter defines how the emulation of the Linux attr(5) extended attributes is performed through the FreeBSD native extattr(9) system calls\&.
+.sp
+Currently the
+\fIsecurity\fR,
+\fIsystem\fR,
+\fItrusted\fR
+and
+\fIuser\fR
+extended attribute(xattr) classes are defined in Linux\&. Contrary FreeBSD has only
+\fIUSER\fR
+and
+\fISYSTEM\fR
+extended attribute(extattr) namespaces, so mapping of one set into another isn\*(Aqt straightforward and can be done in different ways\&.
+.sp
+Historically the Samba(7) built\-in xattr mapping implementation simply converted
+\fIsystem\fR
+and
+\fIuser\fR
+xattr into corresponding
+\fISYSTEM\fR
+and
+\fIUSER\fR
+extattr namespaces, dropping the class prefix name with the separating dot and using attribute name only within the mapped namespace\&. It also rejected any other xattr classes, like
+\fIsecurity\fR
+and
+\fItrusted\fR
+as invalid\&. Such behavior in particular broke AD provisioning on UFS2 file systems as essential
+\fIsecurity\&.NTACL\fR
+xattr was rejected as invalid\&.
+.sp
+This module tries to address this problem and provide secure, where it\*(Aqs possible, way to map Linux xattr into FreeBSD\*(Aqs extattr\&.
+.sp
+When
+\fImode\fR
+is set to the
+\fIlegacy (default)\fR
+then modified version of built\-in mapping is used, where
+\fIsystem\fR
+xattr is mapped into SYSTEM namespace, while
+\fIsecure\fR,
+\fItrusted\fR
+and
+\fIuser\fR
+xattr are all mapped into the USER namespace, dropping class prefixes and mix them all together\&. This is the way how Samba FreeBSD ports were patched up to the 4\&.9 version and that created multiple potential security issues\&. This mode is aimed for the compatibility with the legacy installations only and should be avoided in new setups\&.
+.sp
+The
+\fIcompat\fR
+mode is mostly designed for the jailed environments, where it\*(Aqs not possible to write extattrs into the secure SYSTEM namespace, so all four classes are mapped into the USER namespace\&. To preserve information about origin of the extended attribute it is stored together with the class preffix in the
+\fIclass\&.attribute\fR
+format\&.
+.sp
+The
+\fIsecure\fR
+mode is meant for storing extended attributes in a secure manner, so that
+\fIsecurity\fR,
+\fIsystem\fR
+and
+\fItrusted\fR
+are stored in the SYSTEM namespace, which can be modified only by root\&.
+.RE
+.SH ""
+.sp
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.br
+.B Table\ \&1.\ \&Attributes mapping
+.TS
+allbox tab(:);
+lB lB lB lB lB.
+T{
+
+T}:T{
+built\-in
+T}:T{
+legacy
+T}:T{
+compat/jail
+T}:T{
+secure
+T}
+.T&
+lB l l l l
+lB l l l l
+lB l l l l
+lB l l l l.
+T{
+user
+T}:T{
+USER; attribute
+T}:T{
+USER; attribute
+T}:T{
+USER; user\&.attribute
+T}:T{
+USER; user\&.attribute
+T}
+T{
+system
+T}:T{
+SYSTEM; attribute
+T}:T{
+SYSTEM; attribute
+T}:T{
+USER; system\&.attribute
+T}:T{
+SYSTEM; system\&.attribute
+T}
+T{
+trusted
+T}:T{
+FAIL
+T}:T{
+USER; attribute
+T}:T{
+USER; trusted\&.attribute
+T}:T{
+SYSTEM; trusted\&.attribute
+T}
+T{
+security
+T}:T{
+FAIL
+T}:T{
+USER; attribute
+T}:T{
+USER; security\&.attribute
+T}:T{
+SYSTEM; security\&.attribute
+T}
+.TE
+.sp 1
+.SH "EXAMPLES"
+.PP
+Use secure method of setting extended attributes on the share:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ \fI[sysvol]\fR
+ \m[blue]\fBvfs objects = freebsd\fR\m[]
+ \m[blue]\fBfreebsd:extattr mode = secure\fR\m[]
+.fi
+.if n \{\
+.RE
+.\}
+.SH "VERSION"
+.PP
+This man page is part of version 4\&.10\&.5 of the Samba suite\&.
+.SH "AUTHOR"
+.PP
+The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
+.PP
+This module was written by Timur I\&. Bakeyev
diff --git a/net/samba410/files/patch-bind13 b/net/samba410/files/patch-bind14
index 17c53ea5cda7..89106dd42975 100644
--- a/net/samba410/files/patch-bind13
+++ b/net/samba410/files/patch-bind14
@@ -1,19 +1,9 @@
---- source4/dns_server/wscript_build.orig 2018-01-14 20:41:58 UTC
+--- source4/dns_server/wscript_build.orig 2019-01-15 10:07:00 UTC
+++ source4/dns_server/wscript_build
-@@ -58,6 +58,36 @@
+@@ -68,6 +68,26 @@ bld.SAMBA_LIBRARY('dlz_bind9_12',
deps='samba-hostconfig samdb-common gensec popt dnsserver_common',
enabled=bld.AD_DC_BUILD_IS_ENABLED())
-+bld.SAMBA_LIBRARY('dlz_bind9_12',
-+ source='dlz_bind9.c',
-+ cflags='-DBIND_VERSION_9_12',
-+ private_library=True,
-+ link_name='modules/bind9/dlz_bind9_12.so',
-+ realname='dlz_bind9_12.so',
-+ install_path='${MODULESDIR}/bind9',
-+ deps='samba-hostconfig samdb-common gensec popt dnsserver_common',
-+ enabled=bld.AD_DC_BUILD_IS_ENABLED())
-+
+bld.SAMBA_LIBRARY('dlz_bind9_13',
+ source='dlz_bind9.c',
+ cflags='-DBIND_VERSION_9_13',
@@ -37,52 +27,46 @@
bld.SAMBA_LIBRARY('dlz_bind9_for_torture',
source='dlz_bind9.c',
cflags='-DBIND_VERSION_9_8',
---- source4/dns_server/dlz_minimal.h.orig 2018-01-14 20:41:58 UTC
+--- source4/dns_server/dlz_minimal.h.orig 2019-01-15 10:07:00 UTC
+++ source4/dns_server/dlz_minimal.h
-@@ -31,7 +31,7 @@
+@@ -31,10 +31,7 @@
#elif defined (BIND_VERSION_9_10)
# define DLZ_DLOPEN_VERSION 3
# define DNS_CLIENTINFO_VERSION 1
-#elif defined (BIND_VERSION_9_11)
+-# define DLZ_DLOPEN_VERSION 3
+-# define DNS_CLIENTINFO_VERSION 2
+-#elif defined (BIND_VERSION_9_12)
+#elif defined (BIND_VERSION_9_11) || defined (BIND_VERSION_9_12) || defined (BIND_VERSION_9_13) || defined (BIND_VERSION_9_14)
# define DLZ_DLOPEN_VERSION 3
# define DNS_CLIENTINFO_VERSION 2
#else
---- source4/setup/named.conf.dlz.orig 2018-01-14 22:41:59 UTC
+--- source4/setup/named.conf.dlz.orig 2019-06-22 09:56:57 UTC
+++ source4/setup/named.conf.dlz
-@@ -21,5 +21,14 @@ dlz "AD DNS Zone" {
-
+@@ -22,5 +22,8 @@ dlz "AD DNS Zone" {
# For BIND 9.11.x
${BIND9_11} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_11.so";
-+
+
+ # For BIND 9.12.x
+ ${BIND9_12} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_12.so";
+
-+ # For BIND 9.13.x
-+ ${BIND9_13} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_13.so";
-+
-+ # For BIND 9.14.x
-+ ${BIND9_14} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_14.so";
};
---- python/samba/provision/sambadns.py.orig 2018-01-17 09:08:39 UTC
+--- python/samba/provision/sambadns.py.orig 2019-01-15 10:07:00 UTC
+++ python/samba/provision/sambadns.py
-@@ -937,6 +937,9 @@ def create_named_conf(paths, realm, dnsd
- bind9_9 = '#'
+@@ -960,6 +960,8 @@ def create_named_conf(paths, realm, dnsd
bind9_10 = '#'
bind9_11 = '#'
-+ bind9_12 = '#'
+ bind9_12 = '#'
+ bind9_13 = '#'
+ bind9_14 = '#'
if bind_info.upper().find('BIND 9.8') != -1:
bind9_8 = ''
elif bind_info.upper().find('BIND 9.9') != -1:
-@@ -945,6 +947,12 @@ def create_named_conf(paths, realm, dnsd
- bind9_10 = ''
- elif bind_info.upper().find('BIND 9.11') != -1:
+@@ -970,6 +972,10 @@ def create_named_conf(paths, realm, dnsd
bind9_11 = ''
-+ elif bind_info.upper().find('BIND 9.12') != -1:
-+ bind9_12 = ''
+ elif bind_info.upper().find('BIND 9.12') != -1:
+ bind9_12 = ''
+ elif bind_info.upper().find('BIND 9.13') != -1:
+ bind9_13 = ''
+ elif bind_info.upper().find('BIND 9.14') != -1:
@@ -90,15 +74,15 @@
elif bind_info.upper().find('BIND 9.7') != -1:
raise ProvisioningError("DLZ option incompatible with BIND 9.7.")
else:
-@@ -955,7 +961,10 @@ def create_named_conf(paths, realm, dnsd
- "BIND9_8" : bind9_8,
- "BIND9_9" : bind9_9,
- "BIND9_10" : bind9_10,
-- "BIND9_11" : bind9_11
-+ "BIND9_11" : bind9_11,
+@@ -981,8 +987,9 @@ def create_named_conf(paths, realm, dnsd
+ "BIND9_9": bind9_9,
+ "BIND9_10": bind9_10,
+ "BIND9_11": bind9_11,
+- "BIND9_12": bind9_12
+-
+ "BIND9_12" : bind9_12,
+ "BIND9_13" : bind9_13,
+ "BIND9_14" : bind9_14
})
-
-
+
+
diff --git a/net/samba410/files/patch-buildtools__wafsamba__samba_python.py b/net/samba410/files/patch-buildtools__wafsamba__samba_python.py
deleted file mode 100644
index 429ec5e778f9..000000000000
--- a/net/samba410/files/patch-buildtools__wafsamba__samba_python.py
+++ /dev/null
@@ -1,40 +0,0 @@
---- buildtools/wafsamba/samba_python.py.orig 2018-01-13 09:07:51 UTC
-+++ buildtools/wafsamba/samba_python.py
-@@ -76,17 +76,35 @@ def SAMBA_CHECK_PYTHON_HEADERS(conf, man
-
- def _check_python_headers(conf, mandatory):
- try:
-+ from python import _get_python_variables
- Configure.ConfigurationError
- conf.check_python_headers(mandatory=mandatory)
-+ conf.env['PYTHON_SO_ABI'] = _get_python_variables(
-+ conf.env['PYTHON'],
-+ ["get_config_var('SOABI') or ''"],
-+ ['from distutils.sysconfig import get_config_var']
-+ )[0]
- except Configure.ConfigurationError:
- if mandatory:
- raise
-
- if conf.env['PYTHON_VERSION'] > '3':
-- abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
-- conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
-+ '''Be caucious here - conf parameter is PYTHON_SO_ABI_FLAG,
-+ while environment variable is PYTHON3_SO_ABI_FLAG'''
-+ override_PYTHON_SO_ABI_FLAG = os.getenv('PYTHON3_SO_ABI_FLAG', None)
-+ if override_PYTHON_SO_ABI_FLAG is not None:
-+ conf.env['PYTHON_SO_ABI_FLAG'] = override_PYTHON_SO_ABI_FLAG
-+ conf.env['pyext_PATTERN'] = '%%s%s.%s' % (conf.env['PYTHON_SO_ABI_FLAG'], conf.env['SHLIBEXT'])
-+ if not conf.env['PYTHON_SO_ABI_FLAG']:
-+ if conf.env['PYTHON_SO_ABI']:
-+ conf.env['PYTHON_SO_ABI_FLAG'] = '.'+conf.env['PYTHON_SO_ABI']
-+ conf.env['pyext_PATTERN'] = '%%s%s.%s' % (conf.env['PYTHON_SO_ABI_FLAG'], conf.env['SHLIBEXT'])
-+ else:
-+ abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
-+ conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
- else:
- conf.env['PYTHON_SO_ABI_FLAG'] = ''
-+
- conf.env['PYTHON_LIBNAME_SO_ABI_FLAG'] = (
- conf.env['PYTHON_SO_ABI_FLAG'].replace('_', '-'))
-
diff --git a/net/samba410/files/patch-buildtools__scripts__abi_gen.sh b/net/samba410/files/patch-buildtools_scripts_abi__gen.sh
index 454b5e2be3fc..caa696b7961a 100644
--- a/net/samba410/files/patch-buildtools__scripts__abi_gen.sh
+++ b/net/samba410/files/patch-buildtools_scripts_abi__gen.sh
@@ -1,4 +1,4 @@
---- buildtools/scripts/abi_gen.sh.orig 2017-07-04 14:05:25 UTC
+--- buildtools/scripts/abi_gen.sh.orig 2019-01-15 10:07:00 UTC
+++ buildtools/scripts/abi_gen.sh
@@ -9,13 +9,14 @@ GDBSCRIPT="gdb_syms.$$"
cat <<EOF
diff --git a/net/samba410/files/patch-buildtools__wafsamba__samba_autoconf.py b/net/samba410/files/patch-buildtools_wafsamba_samba__autoconf.py
index c92d308462be..1f9ec6a2718a 100644
--- a/net/samba410/files/patch-buildtools__wafsamba__samba_autoconf.py
+++ b/net/samba410/files/patch-buildtools_wafsamba_samba__autoconf.py
@@ -1,6 +1,6 @@
---- buildtools/wafsamba/samba_autoconf.py.orig 2016-10-07 04:45:35 UTC
+--- buildtools/wafsamba/samba_autoconf.py.orig 2019-01-15 10:07:00 UTC
+++ buildtools/wafsamba/samba_autoconf.py
-@@ -548,7 +548,7 @@ def library_flags(self, libs):
+@@ -575,7 +575,7 @@ def library_flags(self, libs):
@conf
@@ -9,7 +9,7 @@
'''check if a set of libraries exist as system libraries
returns the sublist of libs that do exist as a syslib or []
-@@ -568,11 +568,29 @@ int foo()
+@@ -595,11 +595,29 @@ int foo()
ret.append(lib)
continue
@@ -19,21 +19,21 @@
(ccflags, ldflags, cpppath) = library_flags(conf, lib)
+
if shlib:
-- res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, ccflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+- res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+ res = conf.check(features='c cshlib',
+ fragment=fragment,
+ lib=lib,
+ uselib_store=lib,
-+ ccflags=ccflags,
++ cflags=ccflags,
+ ldflags=ldflags,
+ uselib=lib.upper(),
+ mandatory=False,
+ msg=msg)
else:
-- res = conf.check(lib=lib, uselib_store=lib, ccflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+- res = conf.check(lib=lib, uselib_store=lib, cflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+ res = conf.check(lib=lib,
+ uselib_store=lib,
-+ ccflags=ccflags,
++ cflags=ccflags,
+ ldflags=ldflags,
+ uselib=lib.upper(),
+ mandatory=False,
@@ -41,7 +41,7 @@
if not res:
if mandatory:
-@@ -873,7 +891,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
+@@ -927,6 +945,6 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
if not sys.platform.startswith("openbsd") and conf.env.undefined_ignore_ldflags == []:
@@ -49,4 +49,3 @@
+ if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'] + conf.env.WERROR_CFLAGS):
conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup']
- @conf
diff --git a/net/samba410/files/patch-buildtools__wafsamba__samba_install.py b/net/samba410/files/patch-buildtools_wafsamba_samba__install.py
index 5c6cf0414153..5f6bdad7df2d 100644
--- a/net/samba410/files/patch-buildtools__wafsamba__samba_install.py
+++ b/net/samba410/files/patch-buildtools_wafsamba_samba__install.py
@@ -1,4 +1,4 @@
---- buildtools/wafsamba/samba_install.py.orig 2017-07-04 10:05:25 UTC
+--- buildtools/wafsamba/samba_install.py.orig 2019-01-15 10:07:00 UTC
+++ buildtools/wafsamba/samba_install.py
@@ -118,7 +118,7 @@ def install_library(self):
inst_name = bld.make_libname(t.target)
diff --git a/net/samba410/files/patch-buildtools__wafsamba__wafsamba.py b/net/samba410/files/patch-buildtools_wafsamba_wafsamba.py
index 574abc74b1dd..574abc74b1dd 100644
--- a/net/samba410/files/patch-buildtools__wafsamba__wafsamba.py
+++ b/net/samba410/files/patch-buildtools_wafsamba_wafsamba.py
diff --git a/net/samba410/files/patch-buildtools__wafsamba__wscript b/net/samba410/files/patch-buildtools_wafsamba_wscript
index 890289f51e24..39df9d9922a5 100644
--- a/net/samba410/files/patch-buildtools__wafsamba__wscript
+++ b/net/samba410/files/patch-buildtools_wafsamba_wscript
@@ -1,13 +1,13 @@
---- buildtools/wafsamba/wscript.orig 2017-04-28 11:57:26 UTC
+--- buildtools/wafsamba/wscript.orig 2019-01-15 10:07:00 UTC
+++ buildtools/wafsamba/wscript
-@@ -74,12 +74,17 @@ def set_options(opt):
- help=("private library directory [PREFIX/lib/%s]" % Utils.g_module.APPNAME),
+@@ -80,12 +80,17 @@ def options(opt):
+ help=("private library directory [PREFIX/lib/%s]" % Context.g_module.APPNAME),
action="store", dest='PRIVATELIBDIR', default=None)
+ opt.add_option('--with-openldap',
+ help='additional directory to search for OpenLDAP libs',
+ action='store', dest='ldap_open', default=None,
-+ match = ['Checking for header ldap.h', 'Checking for header lber.h', 'Checking for library lber', 'Checking for library ldap'])
++ match = ['Checking for library lber', 'Checking for library ldap'])
+
opt.add_option('--with-libiconv',
help='additional directory to search for libiconv',
diff --git a/net/samba410/files/patch-ctdb__wscript b/net/samba410/files/patch-ctdb_wscript
index 3660e9473c9e..085f45ecb1e0 100644
--- a/net/samba410/files/patch-ctdb__wscript
+++ b/net/samba410/files/patch-ctdb_wscript
@@ -1,6 +1,6 @@
---- ctdb/wscript.orig 2018-08-24 11:58:20 UTC
+--- ctdb/wscript.orig 2019-05-22 10:16:26 UTC
+++ ctdb/wscript
-@@ -90,6 +90,9 @@ def set_options(opt):
+@@ -104,6 +104,9 @@ def options(opt):
opt.add_option('--enable-ceph-reclock',
help=("Enable Ceph CTDB recovery lock helper (default=no)"),
action="store_true", dest='ctdb_ceph_reclock', default=False)
@@ -10,7 +10,7 @@
opt.add_option('--with-logdir',
help=("Path to log directory"),
-@@ -231,7 +234,7 @@ def configure(conf):
+@@ -260,7 +263,7 @@ def configure(conf):
conf.env['LIBPATH_CEPH-COMMON'] = conf.env['LIBPATH_RADOS'] + '/ceph'
if (conf.CHECK_HEADERS('rados/librados.h', False, False, 'rados') and
@@ -19,25 +19,24 @@
conf.CHECK_LIB('ceph-common', shlib=True)
Logs.info('Building with Ceph librados recovery lock support')
conf.define('HAVE_LIBRADOS', 1)
-@@ -268,9 +271,15 @@ def configure(conf):
+@@ -300,8 +303,14 @@ def configure(conf):
conf.env.CTDB_VARDIR,
conf.env.CTDB_RUNDIR))
-- conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.EXEC_PREFIX,
+- conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests')
+- conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests')
+ if Options.options.ctdb_no_tests:
+ conf.env.ctdb_tests = False
+ else:
+ conf.env.ctdb_tests = True
+
+ if conf.env.ctdb_tests:
-+ conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.EXEC_PREFIX,
- 'share/ctdb/tests')
-- conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests')
++ conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests')
+ conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests')
# Allow unified compilation and separate compilation of utilities
# to find includes
-@@ -605,9 +614,9 @@ def build(bld):
+@@ -679,9 +688,9 @@ def build(bld):
if bld.env.HAVE_LIBRADOS:
bld.SAMBA_BINARY('ctdb_mutex_ceph_rados_helper',
source='utils/ceph/ctdb_mutex_ceph_rados_helper.c',
@@ -50,13 +49,13 @@
sed_expr1 = 's|/usr/local/var/lib/ctdb|%s|g' % (bld.env.CTDB_VARDIR)
sed_expr2 = 's|/usr/local/etc/ctdb|%s|g' % (bld.env.CTDB_ETCDIR)
-@@ -750,6 +759,9 @@ def build(bld):
- bld.install_dir(bld.env.CTDB_RUNDIR)
- bld.install_dir(bld.env.CTDB_VARDIR)
+@@ -858,6 +867,9 @@ def build(bld):
+ for d in ['volatile', 'persistent', 'state']:
+ bld.INSTALL_DIR(os.path.join(bld.env.CTDB_VARDIR, d))
+ if not bld.env.ctdb_tests:
+ return
+
- # Unit tests
- ctdb_unit_tests = [
- 'db_hash_test',
+ bld.SAMBA_BINARY('errcode',
+ source='tests/src/errcode.c',
+ deps='replace',
diff --git a/net/samba410/files/patch-dnssock.c b/net/samba410/files/patch-dnssock.c
deleted file mode 100644
index 766de19d7779..000000000000
--- a/net/samba410/files/patch-dnssock.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- lib/addns/dnssock.c.orig 2018-06-11 14:38:36 UTC
-+++ lib/addns/dnssock.c
-@@ -221,9 +221,7 @@ static DNS_ERROR dns_send_udp(struct dns
- ssize_t ret;
-
- do {
-- ret = sendto(conn->s, buf->data, buf->offset, 0,
-- (struct sockaddr *)&conn->RecvAddr,
-- sizeof(conn->RecvAddr));
-+ ret = send(conn->s, buf->data, buf->offset, 0);
- } while ((ret == -1) && (errno == EINTR));
-
- if (ret != buf->offset) {
diff --git a/net/samba410/files/patch-dbwrap b/net/samba410/files/patch-dwrap
index 619cf53681f5..34ac6f296637 100644
--- a/net/samba410/files/patch-dbwrap
+++ b/net/samba410/files/patch-dwrap
@@ -1,4 +1,4 @@
---- lib/dbwrap/dbwrap.c.orig 2018-01-17 10:08:39 UTC
+--- lib/dbwrap/dbwrap.c.orig 2019-01-15 10:07:00 UTC
+++ lib/dbwrap/dbwrap.c
@@ -28,6 +28,9 @@
#include "lib/util/util_tdb.h"
@@ -10,20 +10,20 @@
/*
* Fall back using fetch if no genuine exists operation is provided
*/
---- lib/dbwrap/dbwrap_local_open.c.orig 2018-01-14 21:41:58.000000000 +0100
-+++ lib/dbwrap/dbwrap_local_open.c 2018-03-29 23:49:51.888588000 +0200
-@@ -24,6 +24,9 @@
+--- lib/dbwrap/dbwrap_local_open.c.orig 2019-01-15 10:07:00 UTC
++++ lib/dbwrap/dbwrap_local_open.c
+@@ -23,6 +23,9 @@
+ #include "dbwrap/dbwrap_tdb.h"
#include "tdb.h"
- #include "lib/param/param.h"
+#undef DBGC_CLASS
+#define DBGC_CLASS DBGC_LOCKING
+
struct db_context *dbwrap_local_open(TALLOC_CTX *mem_ctx,
- struct loadparm_context *lp_ctx,
const char *name,
---- lib/dbwrap/dbwrap_rbt.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ lib/dbwrap/dbwrap_rbt.c 2018-03-29 23:50:13.427755000 +0200
+ int hash_size, int tdb_flags,
+--- lib/dbwrap/dbwrap_rbt.c.orig 2019-01-15 10:07:00 UTC
++++ lib/dbwrap/dbwrap_rbt.c
@@ -24,6 +24,9 @@
#include "../lib/util/rbtree.h"
#include "../lib/util/dlinklist.h"
@@ -34,8 +34,8 @@
#define DBWRAP_RBT_ALIGN(_size_) (((_size_)+15)&~15)
struct db_rbt_ctx {
---- lib/dbwrap/dbwrap_tdb.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ lib/dbwrap/dbwrap_tdb.c 2018-03-29 23:50:40.789642000 +0200
+--- lib/dbwrap/dbwrap_tdb.c.orig 2019-01-15 10:07:00 UTC
++++ lib/dbwrap/dbwrap_tdb.c
@@ -27,6 +27,9 @@
#include "lib/param/param.h"
#include "libcli/util/error.h"
@@ -46,8 +46,8 @@
struct db_tdb_ctx {
struct tdb_wrap *wtdb;
---- lib/dbwrap/dbwrap_util.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ lib/dbwrap/dbwrap_util.c 2018-03-29 23:51:35.907061000 +0200
+--- lib/dbwrap/dbwrap_util.c.orig 2019-01-15 10:07:00 UTC
++++ lib/dbwrap/dbwrap_util.c
@@ -26,6 +26,9 @@
#include "dbwrap.h"
#include "lib/util/util_tdb.h"
@@ -58,8 +58,8 @@
struct dbwrap_fetch_int32_state {
NTSTATUS status;
int32_t result;
---- source3/lib/dbwrap/dbwrap_ctdb.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ source3/lib/dbwrap/dbwrap_ctdb.c 2018-03-29 23:57:41.784931000 +0200
+--- source3/lib/dbwrap/dbwrap_ctdb.c.orig 2019-01-15 10:07:00 UTC
++++ source3/lib/dbwrap/dbwrap_ctdb.c
@@ -38,6 +38,9 @@
#include "lib/cluster_support.h"
#include "lib/util/tevent_ntstatus.h"
@@ -70,8 +70,8 @@
struct db_ctdb_transaction_handle {
struct db_ctdb_ctx *ctx;
/*
---- source3/lib/dbwrap/dbwrap_open.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ source3/lib/dbwrap/dbwrap_open.c 2018-03-29 23:57:54.680614000 +0200
+--- source3/lib/dbwrap/dbwrap_open.c.orig 2019-01-15 10:07:00 UTC
++++ source3/lib/dbwrap/dbwrap_open.c
@@ -31,6 +31,9 @@
#include "ctdbd_conn.h"
#include "messages.h"
@@ -82,8 +82,8 @@
bool db_is_local(const char *name)
{
const char *sockname = lp_ctdbd_socket();
---- source3/lib/dbwrap/dbwrap_watch.c.orig 2018-01-17 09:08:39.000000000 +0100
-+++ source3/lib/dbwrap/dbwrap_watch.c 2018-03-29 23:58:09.746298000 +0200
+--- source3/lib/dbwrap/dbwrap_watch.c.orig 2019-01-15 10:07:00 UTC
++++ source3/lib/dbwrap/dbwrap_watch.c
@@ -28,6 +28,9 @@
#include "server_id_watch.h"
#include "lib/dbwrap/dbwrap_private.h"
diff --git a/net/samba410/files/patch-dynconfig__wscript b/net/samba410/files/patch-dynconfig_wscript
index 97a756e2ddb6..ac1c9da8cf14 100644
--- a/net/samba410/files/patch-dynconfig__wscript
+++ b/net/samba410/files/patch-dynconfig_wscript
@@ -1,6 +1,6 @@
---- dynconfig/wscript.orig 2017-07-04 10:05:25 UTC
+--- dynconfig/wscript.orig 2019-01-15 10:07:00 UTC
+++ dynconfig/wscript
-@@ -137,6 +137,8 @@ dynconfig = {
+@@ -141,6 +141,8 @@ dynconfig = {
'PKGCONFIGDIR' : {
'STD-PATH': '${LIBDIR}/pkgconfig',
'FHS-PATH': '${LIBDIR}/pkgconfig',
@@ -9,24 +9,24 @@
},
'CODEPAGEDIR' : {
'STD-PATH': '${DATADIR}/codepages',
-@@ -237,8 +239,8 @@ dynconfig = {
+@@ -247,8 +249,8 @@ dynconfig = {
'DELAY': True,
},
'CONFIGFILE' : {
- 'STD-PATH': '${CONFIGDIR}/smb.conf',
- 'FHS-PATH': '${CONFIGDIR}/smb.conf',
-+ 'STD-PATH': '${CONFIGDIR}/smb4.conf',
-+ 'FHS-PATH': '${CONFIGDIR}/smb4.conf',
++ 'STD-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%',
++ 'FHS-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%',
'DELAY': True,
},
'LMHOSTSFILE' : {
-@@ -297,9 +299,6 @@ def configure(conf):
+@@ -307,9 +309,6 @@ def configure(conf):
flavor = 'FHS-PATH'
else:
flavor = 'STD-PATH'
- if conf.env.PREFIX == '/usr' or conf.env.PREFIX == '/usr/local':
- Logs.error("Don't install directly under /usr or /usr/local without using the FHS option (--enable-fhs)")
-- raise Utils.WafError("ERROR: invalid --prefix=%s value" % (conf.env.PREFIX))
+- raise Errors.WafError("ERROR: invalid --prefix=%s value" % (conf.env.PREFIX))
explicit_set ={}
diff --git a/net/samba410/files/patch-examples__pdb__wscript_build b/net/samba410/files/patch-examples_pdb_wscript__build
index 4d467f2481ca..6b8e2685e80a 100644
--- a/net/samba410/files/patch-examples__pdb__wscript_build
+++ b/net/samba410/files/patch-examples_pdb_wscript__build
@@ -1,4 +1,4 @@
---- examples/pdb/wscript_build.orig 2017-11-14 06:05:12 UTC
+--- examples/pdb/wscript_build.orig 2019-01-15 10:07:00 UTC
+++ examples/pdb/wscript_build
@@ -3,7 +3,7 @@
bld.SAMBA3_MODULE('pdb_test',
diff --git a/net/samba410/files/patch-glusterfs b/net/samba410/files/patch-glusterfs
deleted file mode 100644
index 6de8af880100..000000000000
--- a/net/samba410/files/patch-glusterfs
+++ /dev/null
@@ -1,31 +0,0 @@
---- lib/replace/system/filesys.h.orig 2017-12-16 01:37:41 UTC
-+++ lib/replace/system/filesys.h
-@@ -213,8 +213,10 @@
- this allows us to use a uniform error handling for our xattr
- wrappers
- */
--#ifndef ENOATTR
-+#if !defined(ENOATTR) && defined(ENODATA)
- #define ENOATTR ENODATA
-+#elif defined(ENOATTR) && !defined(ENODATA)
-+#define ENODATA ENOATTR
- #endif
-
-
---- source3/modules/vfs_glusterfs.c.orig 2017-12-23 08:02:15 UTC
-+++ source3/modules/vfs_glusterfs.c
-@@ -36,12 +36,13 @@
- */
-
- #include "includes.h"
-+#include "system/filesys.h"
-+#include "smbd/globals.h"
- #include "smbd/smbd.h"
- #include <stdio.h>
- #include <glusterfs/api/glfs.h>
- #include "lib/util/dlinklist.h"
- #include "lib/util/tevent_unix.h"
--#include "smbd/globals.h"
- #include "lib/util/sys_rw.h"
- #include "smbprofile.h"
- #include "modules/posixacl_xattr.h"
diff --git a/net/samba410/files/patch-lib__util__debug.c b/net/samba410/files/patch-lib__util__debug.c
deleted file mode 100644
index 280ed9f83629..000000000000
--- a/net/samba410/files/patch-lib__util__debug.c
+++ /dev/null
@@ -1,78 +0,0 @@
---- lib/util/debug.c.orig 2017-09-17 19:15:34 UTC
-+++ lib/util/debug.c
-@@ -653,7 +653,8 @@ static int debug_lookup_classname_int(co
- {
- size_t i;
-
-- if (!classname) return -1;
-+ if (!classname)
-+ return -1;
-
- for (i=0; i < debug_num_classes; i++) {
- if (strcmp(classname, classname_table[i])==0)
-@@ -752,12 +753,21 @@ static void debug_dump_status(int level)
- }
- }
-
-+static void debug_set_all_levels(int level)
-+{
-+ size_t i;
-+ /* Array is debug_num_classes long */
-+ for (i = DBGC_ALL; i < debug_num_classes; i++) {
-+ DEBUGLEVEL_CLASS[i] = level;
-+ }
-+}
-+
- static bool debug_parse_param(char *param)
- {
- char *class_name;
- char *class_level;
- char *saveptr = NULL;
-- int ndx;
-+ int ndx, level;
-
- class_name = strtok_r(param, ":", &saveptr);
- if (class_name == NULL) {
-@@ -774,7 +784,13 @@ static bool debug_parse_param(char *para
- return false;
- }
-
-- DEBUGLEVEL_CLASS[ndx] = atoi(class_level);
-+ level = atoi(class_level);
-+
-+ if(ndx == DBGC_ALL) {
-+ debug_set_all_levels(level);
-+ } else {
-+ DEBUGLEVEL_CLASS[ndx] = level;
-+ }
-
- return true;
- }
-@@ -790,7 +806,7 @@ bool debug_parse_levels(const char *para
- size_t str_len = strlen(params_str);
- char str[str_len+1];
- char *tok, *saveptr;
-- size_t i;
-+ int level = 0;
-
- /* Just in case */
- debug_init();
-@@ -806,16 +822,11 @@ bool debug_parse_levels(const char *para
- * v.s. "all:10", this is the traditional way to set DEBUGLEVEL
- */
- if (isdigit(tok[0])) {
-- DEBUGLEVEL_CLASS[DBGC_ALL] = atoi(tok);
-+ level = atoi(tok);
- tok = strtok_r(NULL, LIST_SEP, &saveptr);
-- } else {
-- DEBUGLEVEL_CLASS[DBGC_ALL] = 0;
- }
-
-- /* Array is debug_num_classes long */
-- for (i = DBGC_ALL+1; i < debug_num_classes; i++) {
-- DEBUGLEVEL_CLASS[i] = DEBUGLEVEL_CLASS[DBGC_ALL];
-- }
-+ debug_set_all_levels(level);
-
- while (tok != NULL) {
- bool ok;
diff --git a/net/samba410/files/patch-lib__crypto__wscript_configure b/net/samba410/files/patch-lib_crypto_wscript__configure
index 0a342a488bce..e31f94f22ab9 100644
--- a/net/samba410/files/patch-lib__crypto__wscript_configure
+++ b/net/samba410/files/patch-lib_crypto_wscript__configure
@@ -1,6 +1,6 @@
---- lib/crypto/wscript_configure.orig 2017-09-17 19:15:34 UTC
+--- lib/crypto/wscript_configure.orig 2019-01-15 10:07:00 UTC
+++ lib/crypto/wscript_configure
-@@ -4,10 +4,10 @@ import Utils
+@@ -4,10 +4,10 @@ from waflib import Errors, Logs
if not conf.CHECK_FUNCS_IN('MD5Init', 'bsd', headers='bsd/md5.h',
checklibc=True):
diff --git a/net/samba410/files/patch-lib__ldb__ldb_cache.c b/net/samba410/files/patch-lib_ldb_ldb__key__value_ldb__kv__cache.c
index 66884957e68e..0f21db6d6126 100644
--- a/net/samba410/files/patch-lib__ldb__ldb_cache.c
+++ b/net/samba410/files/patch-lib_ldb_ldb__key__value_ldb__kv__cache.c
@@ -1,6 +1,6 @@
---- lib/ldb/ldb_tdb/ldb_cache.c.orig 2018-03-04 05:41:25 UTC
-+++ lib/ldb/ldb_tdb/ldb_cache.c
-@@ -91,7 +91,9 @@ static int ldb_schema_attribute_compare(
+--- lib/ldb/ldb_key_value/ldb_kv_cache.c.orig 2019-01-15 10:07:00 UTC
++++ lib/ldb/ldb_key_value/ldb_kv_cache.c
+@@ -90,7 +90,9 @@ static int ldb_schema_attribute_compare(
{
const struct ldb_schema_attribute *sa1 = (const struct ldb_schema_attribute *)p1;
const struct ldb_schema_attribute *sa2 = (const struct ldb_schema_attribute *)p2;
diff --git a/net/samba410/files/patch-lib_ldb_ldb__mdb_ldb__mdb.c b/net/samba410/files/patch-lib_ldb_ldb__mdb_ldb__mdb.c
new file mode 100644
index 000000000000..4be0d5eb2f3f
--- /dev/null
+++ b/net/samba410/files/patch-lib_ldb_ldb__mdb_ldb__mdb.c
@@ -0,0 +1,11 @@
+--- lib/ldb/ldb_mdb/ldb_mdb.c.orig 2019-01-15 10:07:00 UTC
++++ lib/ldb/ldb_mdb/ldb_mdb.c
+@@ -183,7 +183,7 @@ static int lmdb_store(struct ldb_kv_priv
+
+ if (flags == TDB_INSERT) {
+ mdb_flags = MDB_NOOVERWRITE;
+- } else if ((flags == TDB_MODIFY)) {
++ } else if (flags == TDB_MODIFY) {
+ /*
+ * Modifying a record, ensure that it exists.
+ * This mimics the TDB semantics
diff --git a/net/samba410/files/patch-lib_ldb_wscript b/net/samba410/files/patch-lib_ldb_wscript
new file mode 100644
index 000000000000..f660800e66aa
--- /dev/null
+++ b/net/samba410/files/patch-lib_ldb_wscript
@@ -0,0 +1,24 @@
+--- lib/ldb/wscript.orig 2019-05-07 08:38:21 UTC
++++ lib/ldb/wscript
+@@ -451,7 +451,7 @@ def build(bld):
+
+ LDB_TOOLS='ldbadd ldbsearch ldbdel ldbmodify ldbedit ldbrename'
+ for t in LDB_TOOLS.split():
+- bld.SAMBA_BINARY(t, 'tools/%s.c' % t, deps='ldb-cmdline ldb',
++ bld.SAMBA_BINARY('samba-%s' % t, 'tools/%s.c' % t, deps='ldb-cmdline ldb',
+ manpages='man/%s.1' % t)
+
+ # ldbtest doesn't get installed
+@@ -463,10 +463,10 @@ def build(bld):
+ else:
+ lmdb_deps = ''
+ # ldbdump doesn't get installed
+- bld.SAMBA_BINARY('ldbdump',
++ bld.SAMBA_BINARY('samba-ldbdump',
+ 'tools/ldbdump.c',
+ deps='ldb-cmdline ldb' + lmdb_deps,
+- install=False)
++ install=True)
+
+ bld.SAMBA_LIBRARY('ldb-cmdline',
+ source='tools/ldbutil.c tools/cmdline.c',
diff --git a/net/samba410/files/patch-lib__replace__wscript b/net/samba410/files/patch-lib_replace_wscript
index d6d32b6c3dca..9688e7e2082b 100644
--- a/net/samba410/files/patch-lib__replace__wscript
+++ b/net/samba410/files/patch-lib_replace_wscript
@@ -1,11 +1,11 @@
---- lib/replace/wscript.orig 2017-08-24 11:27:53 UTC
+--- lib/replace/wscript.orig 2019-01-15 10:07:00 UTC
+++ lib/replace/wscript
-@@ -81,7 +81,7 @@ def configure(conf):
- conf.CHECK_HEADERS('sys/atomic.h')
+@@ -119,7 +119,7 @@ def configure(conf):
+ conf.CHECK_HEADERS('sys/atomic.h stdatomic.h')
conf.CHECK_HEADERS('libgen.h')
- if conf.CHECK_CFLAGS('-Wno-format-truncation'):
+ if conf.CHECK_CFLAGS(['-Wno-format-truncation'] + conf.env.WERROR_CFLAGS):
conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1')
- # Check for process set name support
+ if conf.CHECK_CFLAGS('-Wno-unused-function'):
diff --git a/net/samba410/files/patch-lib__talloc__talloc.c b/net/samba410/files/patch-lib_talloc_talloc.c
index 5874b615d8f6..25b68fd71844 100644
--- a/net/samba410/files/patch-lib__talloc__talloc.c
+++ b/net/samba410/files/patch-lib_talloc_talloc.c
@@ -1,6 +1,6 @@
---- lib/talloc/talloc.c.orig 2018-01-13 09:07:51 UTC
+--- lib/talloc/talloc.c.orig 2019-01-15 10:07:00 UTC
+++ lib/talloc/talloc.c
-@@ -387,6 +387,9 @@ void talloc_lib_init(void) __attribute__
+@@ -391,6 +391,9 @@ void talloc_lib_init(void) __attribute__
void talloc_lib_init(void)
{
uint32_t random_value;
@@ -10,7 +10,7 @@
#if defined(HAVE_GETAUXVAL) && defined(AT_RANDOM)
uint8_t *p;
/*
-@@ -420,6 +423,7 @@ void talloc_lib_init(void)
+@@ -424,6 +427,7 @@ void talloc_lib_init(void)
*/
random_value = ((uintptr_t)talloc_lib_init & 0xFFFFFFFF);
}
diff --git a/net/samba410/files/patch-lib__talloc__wscript b/net/samba410/files/patch-lib_talloc_wscript
index 67014276b595..522c2055f34c 100644
--- a/net/samba410/files/patch-lib__talloc__wscript
+++ b/net/samba410/files/patch-lib_talloc_wscript
@@ -1,6 +1,6 @@
---- lib/talloc/wscript.orig 2018-01-17 09:08:39 UTC
+--- lib/talloc/wscript.orig 2019-05-07 08:38:21 UTC
+++ lib/talloc/wscript
-@@ -46,13 +46,14 @@ def configure(conf):
+@@ -45,13 +45,14 @@ def configure(conf):
conf.env.TALLOC_COMPAT1 = False
if conf.env.standalone_talloc:
conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1
diff --git a/net/samba410/files/patch-lib__util__wscript_build b/net/samba410/files/patch-lib_util_wscript__build
index b2c8425264ee..5b88f2183bc0 100644
--- a/net/samba410/files/patch-lib__util__wscript_build
+++ b/net/samba410/files/patch-lib_util_wscript__build
@@ -1,6 +1,6 @@
---- lib/util/wscript_build.orig 2017-07-04 10:05:25 UTC
+--- lib/util/wscript_build.orig 2019-05-07 08:38:21 UTC
+++ lib/util/wscript_build
-@@ -133,7 +133,7 @@ else:
+@@ -151,7 +151,7 @@ else:
bld.SAMBA_LIBRARY('samba-modules',
source='modules.c',
diff --git a/net/samba410/files/patch-librpc__idl__xattr.idl b/net/samba410/files/patch-librpc__idl__xattr.idl
deleted file mode 100644
index c84276ae1b49..000000000000
--- a/net/samba410/files/patch-librpc__idl__xattr.idl
+++ /dev/null
@@ -1,13 +0,0 @@
-Signed-off-by: Alexander Zagrebin <alex@zagrebin.ru>
-
---- librpc/idl/xattr.idl.orig 2017-12-17 05:40:37 UTC
-+++ librpc/idl/xattr.idl 2017-12-17
-@@ -168,7 +168,7 @@ interface xattr
- can discard if this doesn't match the underlying ACL hash.
- */
-
-- const char *XATTR_NTACL_NAME = "security.NTACL";
-+ const char *XATTR_NTACL_NAME = "user.NTACL";
-
- const int XATTR_SD_HASH_SIZE = 64;
- const int XATTR_SD_HASH_TYPE_NONE = 0x0;
diff --git a/net/samba410/files/patch-listen-backlog b/net/samba410/files/patch-listen-backlog
new file mode 100644
index 000000000000..eab1da203259
--- /dev/null
+++ b/net/samba410/files/patch-listen-backlog
@@ -0,0 +1,94 @@
+--- lib/tevent/echo_server.c.orig 2019-01-15 10:07:00 UTC
++++ lib/tevent/echo_server.c
+@@ -633,7 +633,7 @@ int main(int argc, const char **argv)
+ exit(1);
+ }
+
+- ret = listen(listen_sock, 5);
++ ret = listen(listen_sock, -1);
+ if (ret == -1) {
+ perror("listen() failed");
+ exit(1);
+--- source3/include/local.h.orig 2019-01-15 10:07:00 UTC
++++ source3/include/local.h
+@@ -173,7 +173,18 @@
+ #define WINBIND_SERVER_MUTEX_WAIT_TIME (( ((NUM_CLI_AUTH_CONNECT_RETRIES) * ((CLI_AUTH_TIMEOUT)/1000)) + 5)*2)
+
+ /* size of listen() backlog in smbd */
++#if defined (FREEBSD)
++#define SMBD_LISTEN_BACKLOG -1
++#else
+ #define SMBD_LISTEN_BACKLOG 50
++#endif
++
++/* size of listen() default backlog */
++#if defined (FREEBSD)
++#define DEFAULT_LISTEN_BACKLOG -1
++#else
++#define DEFAULT_LISTEN_BACKLOG 5
++#endif
+
+ /* Number of microseconds to wait before a sharing violation. */
+ #define SHARING_VIOLATION_USEC_WAIT 950000
+--- source3/libsmb/unexpected.c.orig 2019-01-15 10:07:00 UTC
++++ source3/libsmb/unexpected.c
+@@ -95,7 +95,7 @@ NTSTATUS nb_packet_server_create(TALLOC_
+ status = map_nt_error_from_unix(errno);
+ goto fail;
+ }
+- rc = listen(result->listen_sock, 5);
++ rc = listen(result->listen_sock, DEFAULT_LISTEN_BACKLOG);
+ if (rc < 0) {
+ status = map_nt_error_from_unix(errno);
+ goto fail;
+--- source3/rpc_server/rpc_server.c.orig 2019-01-15 10:07:00 UTC
++++ source3/rpc_server/rpc_server.c
+@@ -158,7 +158,7 @@ bool setup_named_pipe_socket(const char
+ goto out;
+ }
+
+- rc = listen(state->fd, 5);
++ rc = listen(state->fd, DEFAULT_LISTEN_BACKLOG);
+ if (rc < 0) {
+ DEBUG(0, ("Failed to listen on pipe socket %s: %s\n",
+ pipe_name, strerror(errno)));
+@@ -830,7 +830,7 @@ bool setup_dcerpc_ncalrpc_socket(struct
+ goto out;
+ }
+
+- rc = listen(state->fd, 5);
++ rc = listen(state->fd, DEFAULT_LISTEN_BACKLOG);
+ if (rc < 0) {
+ DEBUG(0, ("Failed to listen on ncalrpc socket %s: %s\n",
+ name, strerror(errno)));
+--- source3/utils/smbfilter.c.orig 2019-01-15 10:07:00 UTC
++++ source3/utils/smbfilter.c
+@@ -291,7 +291,7 @@ static void start_filter(char *desthost)
+ exit(1);
+ }
+
+- if (listen(s, 5) == -1) {
++ if (listen(s, DEFAULT_LISTEN_BACKLOG) == -1) {
+ d_printf("listen failed\n");
+ }
+
+--- source3/winbindd/winbindd.c.orig 2019-01-15 10:07:00 UTC
++++ source3/winbindd/winbindd.c
+@@ -1317,7 +1317,7 @@ static bool winbindd_setup_listeners(voi
+ if (pub_state->fd == -1) {
+ goto failed;
+ }
+- rc = listen(pub_state->fd, 5);
++ rc = listen(pub_state->fd, DEFAULT_LISTEN_BACKLOG);
+ if (rc < 0) {
+ goto failed;
+ }
+@@ -1349,7 +1349,7 @@ static bool winbindd_setup_listeners(voi
+ if (priv_state->fd == -1) {
+ goto failed;
+ }
+- rc = listen(priv_state->fd, 5);
++ rc = listen(priv_state->fd, DEFAULT_LISTEN_BACKLOG);
+ if (rc < 0) {
+ goto failed;
+ }
diff --git a/net/samba410/files/0001-Freenas-master-mdns-fixes-22.patch b/net/samba410/files/patch-mdns
index 70c87d0eff74..c707fb620eb3 100644
--- a/net/samba410/files/0001-Freenas-master-mdns-fixes-22.patch
+++ b/net/samba410/files/patch-mdns
@@ -10,15 +10,9 @@ Subject: [PATCH] Freenas/master mdns fixes (#22)
* Fix mDNS browsing in smbclient
Signed-off-by: Timur I. Bakeyev <timur@iXsystems.com>
----
- source3/client/dnsbrowse.c | 17 ++--
- source3/smbd/dnsregister.c | 193 +++++++++++++++++++++++++++++----------------
- 2 files changed, 137 insertions(+), 73 deletions(-)
-diff --git a/source3/client/dnsbrowse.c b/source3/client/dnsbrowse.c
-index efd57d42d88..83aef966d2a 100644
---- a/source3/client/dnsbrowse.c
-+++ b/source3/client/dnsbrowse.c
+--- source3/client/dnsbrowse.c.orig 2019-01-15 10:07:00 UTC
++++ source3/client/dnsbrowse.c
@@ -39,6 +39,7 @@ struct mdns_smbsrv_result
struct mdns_browse_state
{
@@ -27,7 +21,7 @@ index efd57d42d88..83aef966d2a 100644
int browseDone;
};
-@@ -64,7 +65,7 @@ static void do_smb_resolve(struct mdns_smbsrv_result *browsesrv)
+@@ -64,7 +65,7 @@ static void do_smb_resolve(struct mdns_s
struct timeval tv;
DNSServiceErrorType err;
@@ -36,7 +30,7 @@ index efd57d42d88..83aef966d2a 100644
err = DNSServiceResolve(&mdns_conn_sdref, 0 /* flags */,
browsesrv->ifIndex,
-@@ -91,7 +91,7 @@ static void do_smb_resolve(struct mdns_s
+@@ -91,7 +92,7 @@ static void do_smb_resolve(struct mdns_s
}
}
@@ -45,7 +39,7 @@ index efd57d42d88..83aef966d2a 100644
DNSServiceRefDeallocate(mdns_conn_sdref);
}
-@@ -124,18 +125,19 @@ do_smb_browse_reply(DNSServiceRef sdRef, DNSServiceFlags flags,
+@@ -124,18 +125,19 @@ do_smb_browse_reply(DNSServiceRef sdRef,
return;
}
@@ -84,11 +78,39 @@ index efd57d42d88..83aef966d2a 100644
err = DNSServiceBrowse(&mdns_conn_sdref, 0, 0, "_smb._tcp", "",
do_smb_browse_reply, &bstate);
-diff --git a/source3/smbd/dnsregister.c b/source3/smbd/dnsregister.c
-index df189001a09..f25b60f4611 100644
---- a/source3/smbd/dnsregister.c
-+++ b/source3/smbd/dnsregister.c
-@@ -36,85 +36,111 @@
+--- source3/smbd/dnsregister.c.orig 2019-01-15 10:07:00 UTC
++++ source3/smbd/dnsregister.c
+@@ -29,6 +29,29 @@
+ * browse for advertised SMB services.
+ */
+
++/*
++ * Time Machine Errata:
++ * sys=adVF=0x100 -- this is required when ._adisk._tcp is present on device. When it is
++ * set, the MacOS client will send a NetShareEnumAll IOCTL and shares will be visible.
++ * Otherwise, Finder will only see the Time Machine share. In the absence of ._adisk._tcp
++ * MacOS will _always_ send NetShareEnumAll IOCTL.
++ *
++ * waMa=0 -- MacOS server uses waMa=0, while embedded devices have it set to their Mac Address.
++ * Speculation in Samba-Technical indicates that this stands for "Wireless AirDisk Mac Address".
++ *
++ * adVU -- AirDisk Volume UUID. Mac OS servers generate a UUID. Time machine over SMB works without one
++ * set. Netatalk generates a UUID and stores it persistently in afp_voluuid.conf. This can be
++ * set by adding the share parameter "fruit:volume_uuid = "
++ *
++ * dk(n)=adVF=
++ * 0xa1, 0x81 - AFP support
++ * 0xa2, 0x82 - SMB support
++ * 0xa3, 0x83 - AFP and SMB support
++ *
++ * adVN -- AirDisk Volume Name. We set this to the share name.
++ *
++ */
++
+ #define DNS_REG_RETRY_INTERVAL (5*60) /* in seconds */
+
+ #ifdef WITH_DNSSD_SUPPORT
+@@ -36,85 +59,177 @@
#include <dns_sd.h>
struct dns_reg_state {
@@ -156,8 +178,63 @@ index df189001a09..f25b60f4611 100644
- struct tevent_fd *fde,
- uint16_t flags,
- void *private_data);
++int TXTRecordPrintf(TXTRecordRef * rec, const char * key, const char * fmt, ... )
++{
++ int ret = 0;
++ char *str;
++ va_list ap;
++ va_start( ap, fmt );
-static bool dns_register_smbd_schedule(struct dns_reg_state *dns_state,
++ if( 0 > vasprintf(&str, fmt, ap ) ) {
++ va_end(ap);
++ return -1;
++ }
++ va_end(ap);
++
++ if( kDNSServiceErr_NoError != TXTRecordSetValue(rec, key, strlen(str), str) ) {
++ ret = -1;
++ }
++
++ free(str);
++ return ret;
++}
++
++int TXTRecordKeyPrintf(TXTRecordRef * rec, const char * key_fmt, int key_var, const char * fmt, ...)
++{
++ int ret = 0;
++ char *key = NULL, *str = NULL;
++ va_list ap;
++
++ if( 0 > asprintf(&key, key_fmt, key_var)) {
++ DEBUG(1, ("Failed in asprintf\n"));
++ return -1;
++ }
++
++ va_start( ap, fmt );
++ if( 0 > vasprintf(&str, fmt, ap )) {
++ va_end(ap);
++ DEBUG(1, ("Failed in vasprintf\n"));
++ ret = -1;
++ goto exit;
++ }
++ va_end(ap);
++
++ if( kDNSServiceErr_NoError != TXTRecordSetValue(rec, key, strlen(str), str) ) {
++ DEBUG(1, ("Failed in TXTRecordSetValuen"));
++ ret = -1;
++ goto exit;
++ }
++
++ exit:
++ if (str)
++ free(str);
++ if (key)
++ free(key);
++ return ret;
++}
++
++
+static bool dns_register_smbd_schedule(struct reg_state *state,
struct timeval tval)
{
@@ -204,12 +281,22 @@ index df189001a09..f25b60f4611 100644
- struct dns_reg_state);
+ struct reg_state *state = (struct reg_state *)private_data;
DNSServiceErrorType err;
++ int snum;
++ size_t dk = 0;
++ bool sys_txt_created = false;
++ TXTRecordRef txt_adisk;
++ TXTRecordRef txt_devinfo;
++ char *servname;
++ char *v_uuid;
++ int num_services = lp_numservices();
- dns_reg_state_destructor(dns_state);
+ reg_state_destructor(state);
- DEBUG(6, ("registering _smb._tcp service on port %d\n",
- dns_state->port));
++ TXTRecordCreate(&txt_adisk, 0, NULL);
++
+ DEBUG(6, ("registering _smb._tcp service on port %d index %d\n",
+ state->port, state->if_index));
@@ -231,24 +318,97 @@ index df189001a09..f25b60f4611 100644
+ err = DNSServiceRegister(&state->srv_ref,
+ 0 /* flags */,
+ state->if_index /* interface index */,
-+ NULL /* service name */,
++ NULL /* service name */,
+ "_smb._tcp" /* service type */,
+ NULL /* domain */,
+ "" /* SRV target host name */,
-+ htons(state->port) /* port */,
++ htons(state->port) /* port */,
+ 0 /* TXT record len */,
+ NULL /* TXT record data */,
+ dns_register_smbd_callback /* callback func */,
+ NULL /* callback context */);
++
if (err != kDNSServiceErr_NoError) {
/* Failed to register service. Schedule a re-try attempt.
-@@ -123,24 +149,24 @@ static void dns_register_smbd_retry(struct tevent_context *ctx,
+@@ -123,24 +238,96 @@ static void dns_register_smbd_retry(stru
goto retry;
}
- dns_state->fd = DNSServiceRefSockFD(dns_state->srv_ref);
- if (dns_state->fd == -1) {
++ /*
++ * Check for services that are configured as Time Machine targets
++ *
++ */
++ for (snum = 0; snum < num_services; snum++) {
++ if (lp_snum_ok(snum) && lp_parm_bool(snum, "fruit", "time machine", false))
++ {
++ if (!sys_txt_created) {
++ if( 0 > TXTRecordPrintf(&txt_adisk, "sys", "adVF=0x100") ) {
++ DEBUG(1, ("Failed to create Zeroconf TXTRecord for sys") );
++ goto retry;
++ }
++ else
++ {
++ sys_txt_created = true;
++ }
++ }
++
++ v_uuid = lp_parm_const_string(snum, "fruit", "volume_uuid", NULL);
++ servname = lp_const_servicename(snum);
++ DEBUG(1, ("Registering volume %s for TimeMachine\n", servname));
++ if (v_uuid) {
++ if( 0 > TXTRecordKeyPrintf(&txt_adisk, "dk%zu", dk++, "adVN=%s,adVF=0x82,adVU=%s",
++ servname, v_uuid) ) {
++ DEBUG(1, ("Could not set Zeroconf TXTRecord for dk%zu \n", dk));
++ goto retry;
++ }
++ DEBUG(1, ("Registering TimeMachine with the following TXT parameters: "
++ "dk%zu,adVN=%s,adVF=0x82,adVU=%s\n", dk, servname, v_uuid) );
++ }
++ else {
++ if( 0 > TXTRecordKeyPrintf(&txt_adisk, "dk%zu", dk++, "adVN=%s,adVF=0x82",
++ servname) ) {
++ DEBUG(1, ("Could not set Zeroconf TXTRecord for dk%zu \n", dk));
++ goto retry;
++ }
++ DEBUG(1, ("Registering TimeMachine with the following TXT parameters: "
++ "dk%zu,adVN=%s,adVF=0x82\n", dk, servname) );
++ }
++ }
++ }
++
++ if (dk) {
++ err = DNSServiceRegister(&state->srv_ref,
++ 0 /* flags */,
++ state->if_index /* interface index */,
++ NULL /* service name */,
++ "_adisk._tcp" /* service type */,
++ NULL /* domain */,
++ "" /* SRV target host name */,
++ /*
++ * We would probably use port 0 zero, but we can't, from man DNSServiceRegister:
++ * "A value of 0 for a port is passed to register placeholder services.
++ * Place holder services are not found when browsing, but other
++ * clients cannot register with the same name as the placeholder service."
++ * We therefor use port 9 which is used by the adisk service type.
++ */
++ htons(9) /* port */,
++ TXTRecordGetLength(&txt_adisk) /* TXT record len */,
++ TXTRecordGetBytesPtr(&txt_adisk) /* TXT record data */,
++ dns_register_smbd_callback /* callback func */,
++ NULL /* callback context */);
++
++
++ if (err != kDNSServiceErr_NoError) {
++ /* Failed to register service. Schedule a re-try attempt.
++ */
++ DEBUG(1, ("unable to register with mDNS (err %d)\n", err));
++ goto retry;
++ }
++ }
++
+ state->fd = DNSServiceRefSockFD(state->srv_ref);
+ if (state->fd == -1) {
goto retry;
@@ -278,7 +438,7 @@ index df189001a09..f25b60f4611 100644
timeval_current_ofs(DNS_REG_RETRY_INTERVAL, 0));
}
-@@ -150,44 +176,77 @@ static void dns_register_smbd_fde_handler(struct tevent_context *ev,
+@@ -150,44 +337,77 @@ static void dns_register_smbd_fde_handle
uint16_t flags,
void *private_data)
{
@@ -303,16 +463,16 @@ index df189001a09..f25b60f4611 100644
- dns_register_smbd_schedule(dns_state,
- timeval_current_ofs(DNS_REG_RETRY_INTERVAL, 0));
+ dns_register_smbd_schedule(state, timeval_zero());
- }
-
++}
++
+static int dns_reg_state_destructor(struct dns_reg_state *state)
+{
+ if (state != NULL) {
+ talloc_free(state);
+ }
+ return 0;
-+}
-+
+ }
+
+
bool smbd_setup_mdns_registration(struct tevent_context *ev,
TALLOC_CTX *mem_ctx,
@@ -347,7 +507,8 @@ index df189001a09..f25b60f4611 100644
+ for (i = 0; i < dns_state->count; i++) {
+ struct interface *iface = get_interface(i);
+ struct reg_state *state = &dns_state->drs[i];
-+
+
+- return dns_register_smbd_schedule(dns_state, timeval_zero());
+ state->mem_ctx = mem_ctx;
+ state->srv_ref = NULL;
+ state->event_ctx = ev;
@@ -357,11 +518,10 @@ index df189001a09..f25b60f4611 100644
+ state->fd = -1;
+
+ state->if_index = bind_all ? kDNSServiceInterfaceIndexAny : iface->if_index;
-
-- return dns_register_smbd_schedule(dns_state, timeval_zero());
++
+ dns_register_smbd_schedule(&dns_state->drs[i], timeval_zero());
+ }
-+
++
+ talloc_set_destructor(dns_state, dns_reg_state_destructor);
+ return true;
}
@@ -370,6 +530,3 @@ index df189001a09..f25b60f4611 100644
#else /* WITH_DNSSD_SUPPORT */
bool smbd_setup_mdns_registration(struct tevent_context *ev,
---
-2.14.2
-
diff --git a/net/samba410/files/patch-nsswitch__wscript_build b/net/samba410/files/patch-nsswitch_wscript__build
index d24620b91dd6..bb94e8aeeb38 100644
--- a/net/samba410/files/patch-nsswitch__wscript_build
+++ b/net/samba410/files/patch-nsswitch_wscript__build
@@ -1,6 +1,6 @@
---- nsswitch/wscript_build.orig 2017-07-04 10:05:25 UTC
+--- nsswitch/wscript_build.orig 2019-01-15 10:07:00 UTC
+++ nsswitch/wscript_build
-@@ -54,12 +54,14 @@ elif (host_os.rfind('freebsd') > -1):
+@@ -61,12 +61,14 @@ elif (host_os.rfind('freebsd') > -1):
source='winbind_nss_linux.c winbind_nss_freebsd.c',
deps='winbind-client',
realname='nss_winbind.so.1',
diff --git a/net/samba410/files/patch-source3__modules__wscript_build b/net/samba410/files/patch-source3__modules__wscript_build
deleted file mode 100644
index 585d3cfec1fc..000000000000
--- a/net/samba410/files/patch-source3__modules__wscript_build
+++ /dev/null
@@ -1,17 +0,0 @@
---- source3/modules/wscript_build.orig 2018-02-25 05:33:23 UTC
-+++ source3/modules/wscript_build
-@@ -222,6 +222,14 @@ bld.SAMBA3_MODULE('vfs_zfsacl',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
-
-+bld.SAMBA3_MODULE('vfs_freebsd',
-+ subsystem='vfs',
-+ source='vfs_freebsd.c',
-+ deps='samba-util',
-+ init_function='',
-+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'),
-+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd'))
-+
- xdr_buf_hack = 'sed -e "s@^\([ \t]*register int32_t \*buf\);@\\1 = buf;@"'
-
- bld.SAMBA_GENERATOR('nfs41acl-xdr-c',
diff --git a/net/samba410/files/patch-includes.h b/net/samba410/files/patch-source3_include_includes.h
index 130fa8401e6c..269fcb5d8113 100644
--- a/net/samba410/files/patch-includes.h
+++ b/net/samba410/files/patch-source3_include_includes.h
@@ -1,6 +1,6 @@
---- source3/include/includes.h.orig 2018-04-03 05:23:35 UTC
+--- source3/include/includes.h.orig 2019-01-15 10:07:00 UTC
+++ source3/include/includes.h
-@@ -323,6 +323,8 @@ typedef char fstring[FSTRING_LEN];
+@@ -322,6 +322,8 @@ typedef char fstring[FSTRING_LEN];
* the *bottom* of include files so as not to conflict. */
#ifdef ENABLE_DMALLOC
# include <dmalloc.h>
diff --git a/net/samba410/files/patch-source3__lib__sysquotas_4B.c b/net/samba410/files/patch-source3_lib_sysquotas__4B.c
index f58d5be11dd9..637db805c0c8 100644
--- a/net/samba410/files/patch-source3__lib__sysquotas_4B.c
+++ b/net/samba410/files/patch-source3_lib_sysquotas__4B.c
@@ -1,4 +1,4 @@
---- source3/lib/sysquotas_4B.c.orig 2019-01-28 03:56:23 UTC
+--- source3/lib/sysquotas_4B.c.orig 2019-01-15 10:07:00 UTC
+++ source3/lib/sysquotas_4B.c
@@ -141,7 +141,14 @@ static int sys_quotactl_4B(const char *
/* ENOTSUP means quota support is not compiled in. EINVAL
diff --git a/net/samba410/files/patch-source3__lib__util.c b/net/samba410/files/patch-source3_lib_util.c
index ede8b1665fb0..cf5bae739144 100644
--- a/net/samba410/files/patch-source3__lib__util.c
+++ b/net/samba410/files/patch-source3_lib_util.c
@@ -1,8 +1,6 @@
-Signed-off-by: Alexander Zagrebin <alex@zagrebin.ru>
-
---- source3/lib/util.c.orig 2017-12-17 05:35:49 UTC
-+++ source3/lib/util.c 2017-12-17
-@@ -2036,7 +2036,10 @@ bool any_nt_status_not_ok(NTSTATUS err1,
+--- source3/lib/util.c.orig 2019-05-07 08:38:21 UTC
++++ source3/lib/util.c
+@@ -1916,7 +1916,10 @@ bool any_nt_status_not_ok(NTSTATUS err1,
int timeval_to_msec(struct timeval t)
{
diff --git a/net/samba410/files/patch-source3__librpc__crypto__gse.c b/net/samba410/files/patch-source3_librpc_crypto_gse.c
index 3e29bdf0a8d9..61897ee6c8a2 100644
--- a/net/samba410/files/patch-source3__librpc__crypto__gse.c
+++ b/net/samba410/files/patch-source3_librpc_crypto_gse.c
@@ -1,6 +1,6 @@
---- source3/librpc/crypto/gse.c.orig 2017-07-04 10:05:25 UTC
+--- source3/librpc/crypto/gse.c.orig 2019-01-15 10:07:00 UTC
+++ source3/librpc/crypto/gse.c
-@@ -610,11 +610,12 @@ static NTSTATUS gse_get_server_auth_toke
+@@ -621,11 +621,12 @@ static NTSTATUS gse_get_server_auth_toke
struct gse_context *gse_ctx =
talloc_get_type_abort(gensec_security->private_data,
struct gse_context);
diff --git a/net/samba410/files/0001-bug-228462.patch b/net/samba410/files/patch-source3_modules_vfs__fruit.c
index 59641f02a3a3..21fc040dfd70 100644
--- a/net/samba410/files/0001-bug-228462.patch
+++ b/net/samba410/files/patch-source3_modules_vfs__fruit.c
@@ -11,14 +11,9 @@ parsed by afpinfo_unpack().
FreeBSD Bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228462
Signed-off-by: Ralph Boehme <slow@samba.org>
----
- source3/modules/vfs_fruit.c | 32 ++++++++++++++++++++++++--------
- 1 file changed, 27 insertions(+), 4 deletions(-)
-diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
-index df3cd0c899e..d84e6991036 100644
---- a/source3/modules/vfs_fruit.c
-+++ b/source3/modules/vfs_fruit.c
+--- source3/modules/vfs_fruit.c.orig 2019-05-07 08:38:21 UTC
++++ source3/modules/vfs_fruit.c
@@ -2350,6 +2350,8 @@ static ssize_t afpinfo_pack(const AfpInf
return AFP_INFO_SIZE;
}
@@ -52,7 +47,7 @@ index df3cd0c899e..d84e6991036 100644
}
return ai;
-@@ -4171,9 +4183,20 @@ static ssize_t fruit_pread_meta_stream(v
+@@ -4242,9 +4254,20 @@ static ssize_t fruit_pread_meta_stream(v
{
ssize_t nread;
int ret;
diff --git a/net/samba410/files/patch-source3_modules_vfs__streams__xattr.c b/net/samba410/files/patch-source3_modules_vfs__streams__xattr.c
index 40139bf604c8..59d79d9f76cd 100644
--- a/net/samba410/files/patch-source3_modules_vfs__streams__xattr.c
+++ b/net/samba410/files/patch-source3_modules_vfs__streams__xattr.c
@@ -1,4 +1,4 @@
---- source3/modules/vfs_streams_xattr.c.orig 2018-11-08 07:58:08 UTC
+--- source3/modules/vfs_streams_xattr.c.orig 2019-01-15 10:07:00 UTC
+++ source3/modules/vfs_streams_xattr.c
@@ -1,10 +1,10 @@
/*
@@ -130,7 +130,7 @@
stream_name));
talloc_free(sname);
-@@ -265,8 +320,8 @@ static int streams_xattr_fstat(vfs_handl
+@@ -270,8 +325,8 @@ static int streams_xattr_fstat(vfs_handl
return -1;
}
@@ -141,7 +141,7 @@
if (sbuf->st_ex_size == -1) {
TALLOC_FREE(smb_fname_base);
SET_STAT_INVALID(*sbuf);
-@@ -441,10 +496,10 @@ static int streams_xattr_open(vfs_handle
+@@ -446,10 +501,10 @@ static int streams_xattr_open(vfs_handle
goto fail;
}
@@ -155,7 +155,7 @@
if (!NT_STATUS_IS_OK(status)) {
if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) {
-@@ -475,19 +530,13 @@ static int streams_xattr_open(vfs_handle
+@@ -480,19 +535,13 @@ static int streams_xattr_open(vfs_handle
/*
* The attribute does not exist or needs to be truncated
*/
@@ -176,7 +176,7 @@
flags & O_EXCL ? XATTR_CREATE : 0);
if (ret != 0) {
goto fail;
-@@ -643,8 +692,8 @@ static int streams_xattr_rename(vfs_hand
+@@ -678,8 +727,8 @@ static int streams_xattr_rename(vfs_hand
}
/* read the old stream */
@@ -187,7 +187,7 @@
if (!NT_STATUS_IS_OK(status)) {
errno = ENOENT;
goto fail;
-@@ -731,14 +780,13 @@ static NTSTATUS walk_xattr_streams(vfs_h
+@@ -766,14 +815,13 @@ static NTSTATUS walk_xattr_streams(vfs_h
continue;
}
@@ -204,7 +204,7 @@
names[i],
smb_fname->base_name,
nt_errstr(status)));
-@@ -800,16 +848,17 @@ struct streaminfo_state {
+@@ -835,16 +883,17 @@ struct streaminfo_state {
NTSTATUS status;
};
@@ -225,7 +225,7 @@
state->status = NT_STATUS_NO_MEMORY;
return false;
}
-@@ -929,14 +978,17 @@ static ssize_t streams_xattr_pwrite(vfs_
+@@ -964,14 +1013,17 @@ static ssize_t streams_xattr_pwrite(vfs_
files_struct *fsp, const void *data,
size_t n, off_t offset)
{
@@ -246,7 +246,7 @@
if (sio == NULL) {
return SMB_VFS_NEXT_PWRITE(handle, fsp, data, n, offset);
-@@ -946,6 +998,8 @@ static ssize_t streams_xattr_pwrite(vfs_
+@@ -981,6 +1033,8 @@ static ssize_t streams_xattr_pwrite(vfs_
return -1;
}
@@ -255,7 +255,7 @@
/* Create an smb_filename with stream_name == NULL. */
smb_fname_base = synthetic_smb_fname(talloc_tos(),
sio->base,
-@@ -953,39 +1007,55 @@ static ssize_t streams_xattr_pwrite(vfs_
+@@ -988,39 +1042,55 @@ static ssize_t streams_xattr_pwrite(vfs_
NULL,
fsp->fsp_name->flags);
if (smb_fname_base == NULL) {
@@ -332,7 +332,7 @@
if (ret == -1) {
return -1;
-@@ -998,15 +1068,17 @@ static ssize_t streams_xattr_pread(vfs_h
+@@ -1033,15 +1103,17 @@ static ssize_t streams_xattr_pread(vfs_h
files_struct *fsp, void *data,
size_t n, off_t offset)
{
@@ -355,7 +355,7 @@
if (sio == NULL) {
return SMB_VFS_NEXT_PREAD(handle, fsp, data, n, offset);
-@@ -1016,6 +1088,8 @@ static ssize_t streams_xattr_pread(vfs_h
+@@ -1051,6 +1123,8 @@ static ssize_t streams_xattr_pread(vfs_h
return -1;
}
@@ -364,7 +364,7 @@
/* Create an smb_filename with stream_name == NULL. */
smb_fname_base = synthetic_smb_fname(talloc_tos(),
sio->base,
-@@ -1023,31 +1097,35 @@ static ssize_t streams_xattr_pread(vfs_h
+@@ -1058,31 +1132,35 @@ static ssize_t streams_xattr_pread(vfs_h
NULL,
fsp->fsp_name->flags);
if (smb_fname_base == NULL) {
@@ -413,7 +413,7 @@
}
struct streams_xattr_pread_state {
-@@ -1214,16 +1292,18 @@ static int streams_xattr_ftruncate(struc
+@@ -1249,16 +1327,18 @@ static int streams_xattr_ftruncate(struc
struct files_struct *fsp,
off_t offset)
{
@@ -439,7 +439,7 @@
if (sio == NULL) {
return SMB_VFS_NEXT_FTRUNCATE(handle, fsp, offset);
-@@ -1233,6 +1313,8 @@ static int streams_xattr_ftruncate(struc
+@@ -1268,6 +1348,8 @@ static int streams_xattr_ftruncate(struc
return -1;
}
@@ -448,7 +448,7 @@
/* Create an smb_filename with stream_name == NULL. */
smb_fname_base = synthetic_smb_fname(talloc_tos(),
sio->base,
-@@ -1240,40 +1322,46 @@ static int streams_xattr_ftruncate(struc
+@@ -1275,40 +1357,46 @@ static int streams_xattr_ftruncate(struc
NULL,
fsp->fsp_name->flags);
if (smb_fname_base == NULL) {
@@ -511,7 +511,7 @@
if (ret == -1) {
return -1;
-@@ -1291,9 +1379,9 @@ static int streams_xattr_fallocate(struc
+@@ -1326,9 +1414,9 @@ static int streams_xattr_fallocate(struc
struct stream_io *sio =
(struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp);
diff --git a/net/samba410/files/patch-vfs_virusfilter b/net/samba410/files/patch-source3_modules_vfs__virusfilter__utils.c
index b041f2adc14c..6e6dc6d2bae5 100644
--- a/net/samba410/files/patch-vfs_virusfilter
+++ b/net/samba410/files/patch-source3_modules_vfs__virusfilter__utils.c
@@ -1,6 +1,6 @@
---- source3/modules/vfs_virusfilter_utils.c.orig 2018-02-21 03:34:19 UTC
+--- source3/modules/vfs_virusfilter_utils.c.orig 2019-01-15 10:07:00 UTC
+++ source3/modules/vfs_virusfilter_utils.c
-@@ -391,6 +391,10 @@ bool virusfilter_io_writel(
+@@ -392,6 +392,10 @@ bool virusfilter_io_writel(
bool virusfilter_io_writefl(
struct virusfilter_io_handle *io_h,
@@ -11,7 +11,7 @@
const char *data_fmt, ...)
{
va_list ap;
-@@ -414,6 +418,10 @@ bool virusfilter_io_writefl(
+@@ -415,6 +419,10 @@ bool virusfilter_io_writefl(
bool virusfilter_io_vwritefl(
struct virusfilter_io_handle *io_h,
@@ -22,7 +22,7 @@
const char *data_fmt, va_list ap)
{
char data[VIRUSFILTER_IO_BUFFER_SIZE + VIRUSFILTER_IO_EOL_SIZE];
-@@ -665,6 +673,11 @@ bool virusfilter_io_readl(TALLOC_CTX *ct
+@@ -666,6 +674,11 @@ bool virusfilter_io_readl(TALLOC_CTX *ct
bool virusfilter_io_writefl_readl(
struct virusfilter_io_handle *io_h,
char **read_line,
diff --git a/net/samba410/files/patch-source3_registry_tests_test__regfio.c b/net/samba410/files/patch-source3_registry_tests_test__regfio.c
new file mode 100644
index 000000000000..e79c77c9731e
--- /dev/null
+++ b/net/samba410/files/patch-source3_registry_tests_test__regfio.c
@@ -0,0 +1,10 @@
+--- source3/registry/tests/test_regfio.c.orig 2019-05-07 08:38:21 UTC
++++ source3/registry/tests/test_regfio.c
+@@ -24,6 +24,7 @@
+
+ #include <errno.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
diff --git a/net/samba410/files/patch-source3_rpc__server_mdssvc_mdssvc.c b/net/samba410/files/patch-source3_rpc__server_mdssvc_mdssvc.c
deleted file mode 100644
index c883381b8b52..000000000000
--- a/net/samba410/files/patch-source3_rpc__server_mdssvc_mdssvc.c
+++ /dev/null
@@ -1,15 +0,0 @@
-../source3/rpc_server/mdssvc/mdssvc.c:157:9: error: format specifies type 'unsigned long' but the argument has type 'size_t' (aka 'unsigned int') [-Werror,-Wformat]
- dalloc_size(dd));
- ^~~~~~~~~~~~~~~
-
---- source3/rpc_server/mdssvc/mdssvc.c.orig 2019-04-09 01:04:10 UTC
-+++ source3/rpc_server/mdssvc/mdssvc.c
-@@ -151,7 +151,7 @@ char *mds_dalloc_dump(DALLOC_CTX *dd, in
- }
-
- logstring = talloc_asprintf(dd,
-- "%s%s(#%lu): {\n",
-+ "%s%s(#%zu): {\n",
- tab_string1,
- talloc_get_name(dd),
- dalloc_size(dd));
diff --git a/net/samba410/files/patch-source3__smbd__quotas.c b/net/samba410/files/patch-source3_smbd_quotas.c
index 53e3de3290a5..8419481ae935 100644
--- a/net/samba410/files/patch-source3__smbd__quotas.c
+++ b/net/samba410/files/patch-source3_smbd_quotas.c
@@ -1,4 +1,4 @@
---- source3/smbd/quotas.c.orig 2017-07-04 10:05:26 UTC
+--- source3/smbd/quotas.c.orig 2019-01-15 10:07:00 UTC
+++ source3/smbd/quotas.c
@@ -125,6 +125,7 @@ static bool nfs_quotas(char *nfspath, ui
if (!cutstr)
diff --git a/net/samba410/files/patch-source3__smbd__utmp.c b/net/samba410/files/patch-source3_smbd_utmp.c
index 9e2d7af06c70..b8cedca303d0 100644
--- a/net/samba410/files/patch-source3__smbd__utmp.c
+++ b/net/samba410/files/patch-source3_smbd_utmp.c
@@ -1,4 +1,4 @@
---- source3/smbd/utmp.c.orig 2018-01-15 12:41:58 UTC
+--- source3/smbd/utmp.c.orig 2019-01-15 10:07:00 UTC
+++ source3/smbd/utmp.c
@@ -257,7 +257,7 @@ static char *uw_pathname(TALLOC_CTX *ctx
Update utmp file directly. No subroutine interface: probably a BSD system.
@@ -101,7 +101,7 @@
- else
- ux.ut_syslen = 0;
-#endif
--#if defined(HAVE_UT_UT_HOST)
+-#if defined(HAVE_UX_UT_HOST)
- utmp_strcpy(ux.ut_host, hostname, sizeof(ux.ut_host));
-#endif
-
diff --git a/net/samba410/files/patch-source3_torture_cmd__vfs.c b/net/samba410/files/patch-source3_torture_cmd__vfs.c
new file mode 100644
index 000000000000..ee8cd47b0b92
--- /dev/null
+++ b/net/samba410/files/patch-source3_torture_cmd__vfs.c
@@ -0,0 +1,138 @@
+--- source3/torture/cmd_vfs.c.orig 2019-01-15 10:07:00 UTC
++++ source3/torture/cmd_vfs.c
+@@ -141,6 +141,82 @@ static NTSTATUS cmd_disk_free(struct vfs
+ return NT_STATUS_OK;
+ }
+
++static NTSTATUS cmd_get_quota(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
++{
++ struct smb_filename *smb_fname = NULL;
++ uint64_t quota, bsize, dfree, dsize;
++ enum SMB_QUOTA_TYPE qtype;
++ SMB_DISK_QUOTA D;
++ unid_t id;
++ int r;
++
++ if (argc != 4) {
++ printf("Usage: get_quota <path> [user|group] id\n");
++ return NT_STATUS_OK;
++ }
++
++ smb_fname = synthetic_smb_fname(talloc_tos(),
++ argv[1],
++ NULL,
++ NULL,
++ ssf_flags());
++ if (smb_fname == NULL) {
++ return NT_STATUS_NO_MEMORY;
++ }
++
++ if(strcmp(argv[2], "user") == 0) {
++ qtype = SMB_USER_FS_QUOTA_TYPE;
++ }
++ else if(strcmp(argv[2], "group") == 0) {
++ qtype = SMB_GROUP_FS_QUOTA_TYPE;
++ }
++ else {
++ printf("Usage: get_quota <path> [user|group] id\n");
++ return NT_STATUS_OK;
++ }
++
++ id.uid = atoi(argv[3]);
++
++ ZERO_STRUCT(D);
++
++ r = SMB_VFS_GET_QUOTA(vfs->conn, smb_fname, qtype, id, &D);
++
++ if (r == -1 && errno != ENOSYS) {
++ return NT_STATUS_UNSUCCESSFUL;
++ }
++
++ if (r == 0 && (D.qflags & QUOTAS_DENY_DISK) == 0) {
++ return NT_STATUS_UNSUCCESSFUL;
++ }
++
++ bsize = D.bsize;
++ /* Use softlimit to determine disk space, except when it has been exceeded */
++ if (
++ (D.softlimit && D.curblocks >= D.softlimit) ||
++ (D.hardlimit && D.curblocks >= D.hardlimit) ||
++ (D.isoftlimit && D.curinodes >= D.isoftlimit) ||
++ (D.ihardlimit && D.curinodes>=D.ihardlimit)
++ ) {
++ dfree = 0;
++ dsize = D.curblocks;
++ } else if (D.softlimit==0 && D.hardlimit==0) {
++ return NT_STATUS_UNSUCCESSFUL;
++ } else {
++ if (D.softlimit == 0) {
++ D.softlimit = D.hardlimit;
++ }
++ dfree = D.softlimit - D.curblocks;
++ dsize = D.softlimit;
++ }
++
++ printf("get_quota: bsize = %lu, dfree = %lu, dsize = %lu\n",
++ (unsigned long)bsize,
++ (unsigned long)dfree,
++ (unsigned long)dsize);
++
++ return NT_STATUS_OK;
++}
++
+
+ static NTSTATUS cmd_opendir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
+ {
+@@ -1947,6 +2023,7 @@ struct cmd_set vfs_commands[] = {
+ { "connect", cmd_connect, "VFS connect()", "connect" },
+ { "disconnect", cmd_disconnect, "VFS disconnect()", "disconnect" },
+ { "disk_free", cmd_disk_free, "VFS disk_free()", "disk_free <path>" },
++ { "get_quota", cmd_get_quota, "VFS get_quota()", "get_quota <path> [user|group] id" },
+ { "opendir", cmd_opendir, "VFS opendir()", "opendir <fname>" },
+ { "readdir", cmd_readdir, "VFS readdir()", "readdir" },
+ { "mkdir", cmd_mkdir, "VFS mkdir()", "mkdir <path>" },
+@@ -1977,33 +2054,22 @@ struct cmd_set vfs_commands[] = {
+ { "link", cmd_link, "VFS link()", "link <oldpath> <newpath>" },
+ { "mknod", cmd_mknod, "VFS mknod()", "mknod <path> <mode> <dev>" },
+ { "realpath", cmd_realpath, "VFS realpath()", "realpath <path>" },
+- { "getxattr", cmd_getxattr, "VFS getxattr()",
+- "getxattr <path> <name>" },
+- { "listxattr", cmd_listxattr, "VFS listxattr()",
+- "listxattr <path>" },
+- { "setxattr", cmd_setxattr, "VFS setxattr()",
+- "setxattr <path> <name> <value> [<flags>]" },
+- { "removexattr", cmd_removexattr, "VFS removexattr()",
+- "removexattr <path> <name>\n" },
+- { "fget_nt_acl", cmd_fget_nt_acl, "VFS fget_nt_acl()",
+- "fget_nt_acl <fd>\n" },
+- { "get_nt_acl", cmd_get_nt_acl, "VFS get_nt_acl()",
+- "get_nt_acl <path>\n" },
+- { "fset_nt_acl", cmd_fset_nt_acl, "VFS fset_nt_acl()",
+- "fset_nt_acl <fd>\n" },
+- { "set_nt_acl", cmd_set_nt_acl, "VFS open() and fset_nt_acl()",
+- "set_nt_acl <file>\n" },
++ { "getxattr", cmd_getxattr, "VFS getxattr()", "getxattr <path> <name>" },
++ { "listxattr", cmd_listxattr, "VFS listxattr()", "listxattr <path>" },
++ { "setxattr", cmd_setxattr, "VFS setxattr()", "setxattr <path> <name> <value> [<flags>]" },
++ { "removexattr", cmd_removexattr, "VFS removexattr()", "removexattr <path> <name>\n" },
++ { "fget_nt_acl", cmd_fget_nt_acl, "VFS fget_nt_acl()", "fget_nt_acl <fd>\n" },
++ { "get_nt_acl", cmd_get_nt_acl, "VFS get_nt_acl()", "get_nt_acl <path>\n" },
++ { "fset_nt_acl", cmd_fset_nt_acl, "VFS fset_nt_acl()", "fset_nt_acl <fd>\n" },
++ { "set_nt_acl", cmd_set_nt_acl, "VFS open() and fset_nt_acl()", "set_nt_acl <file>\n" },
+ { "sys_acl_get_file", cmd_sys_acl_get_file, "VFS sys_acl_get_file()", "sys_acl_get_file <path>" },
+ { "sys_acl_get_fd", cmd_sys_acl_get_fd, "VFS sys_acl_get_fd()", "sys_acl_get_fd <fd>" },
+- { "sys_acl_blob_get_file", cmd_sys_acl_blob_get_file,
+- "VFS sys_acl_blob_get_file()", "sys_acl_blob_get_file <path>" },
+- { "sys_acl_blob_get_fd", cmd_sys_acl_blob_get_fd,
+- "VFS sys_acl_blob_get_fd()", "sys_acl_blob_get_fd <path>" },
++ { "sys_acl_blob_get_file", cmd_sys_acl_blob_get_file, "VFS sys_acl_blob_get_file()", "sys_acl_blob_get_file <path>" },
++ { "sys_acl_blob_get_fd", cmd_sys_acl_blob_get_fd, "VFS sys_acl_blob_get_fd()", "sys_acl_blob_get_fd <path>" },
+ { "sys_acl_delete_def_file", cmd_sys_acl_delete_def_file, "VFS sys_acl_delete_def_file()", "sys_acl_delete_def_file <path>" },
+
+
+- { "test_chain", cmd_test_chain, "test chain code",
+- "test_chain" },
++ { "test_chain", cmd_test_chain, "test chain code", "test_chain" },
+ { "translate_name", cmd_translate_name, "VFS translate_name()", "translate_name unix_filename" },
+ { NULL }
+ };
diff --git a/net/samba410/files/patch-source3__utils__net.c b/net/samba410/files/patch-source3_utils_net.c
index 509aa4be8c01..8a05070550bd 100644
--- a/net/samba410/files/patch-source3__utils__net.c
+++ b/net/samba410/files/patch-source3_utils_net.c
@@ -1,6 +1,6 @@
---- source3/utils/net.c.orig 2017-07-04 10:05:26 UTC
+--- source3/utils/net.c.orig 2019-01-15 10:07:00 UTC
+++ source3/utils/net.c
-@@ -1087,8 +1087,13 @@ static struct functable net_func[] = {
+@@ -1096,8 +1096,13 @@ static void get_credentials_file(struct
lp_set_cmdline("netbios name", c->opt_requester_name);
}
diff --git a/net/samba410/files/patch-source3__utils__net_time.c b/net/samba410/files/patch-source3_utils_net__time.c
index c970f2c98b2c..adcbd9001d85 100644
--- a/net/samba410/files/patch-source3__utils__net_time.c
+++ b/net/samba410/files/patch-source3_utils_net__time.c
@@ -1,6 +1,6 @@
---- source3/utils/net_time.c.orig 2017-07-04 10:05:26 UTC
+--- source3/utils/net_time.c.orig 2019-01-15 10:07:00 UTC
+++ source3/utils/net_time.c
-@@ -75,10 +75,15 @@ static const char *systime(time_t t)
+@@ -81,10 +81,15 @@ static const char *systime(time_t t)
if (!tm) {
return "unknown";
}
diff --git a/net/samba410/files/patch-source3__winbindd__wscript_build b/net/samba410/files/patch-source3_winbindd_wscript__build
index bf9c405fddf0..5c51b810e9c1 100644
--- a/net/samba410/files/patch-source3__winbindd__wscript_build
+++ b/net/samba410/files/patch-source3_winbindd_wscript__build
@@ -1,4 +1,4 @@
---- source3/winbindd/wscript_build.orig 2017-11-14 04:44:42 UTC
+--- source3/winbindd/wscript_build.orig 2019-01-15 10:07:00 UTC
+++ source3/winbindd/wscript_build
@@ -2,7 +2,7 @@
diff --git a/net/samba410/files/patch-source3__wscript b/net/samba410/files/patch-source3_wscript
index 5408e6808b9f..9cd7c3e81c44 100644
--- a/net/samba410/files/patch-source3__wscript
+++ b/net/samba410/files/patch-source3_wscript
@@ -1,14 +1,14 @@
---- source3/wscript.orig 2018-06-26 18:42:46 UTC
+--- source3/wscript.orig 2019-05-07 08:38:21 UTC
+++ source3/wscript
-@@ -47,6 +47,7 @@ def set_options(opt):
- opt.SAMBA3_ADD_OPTION('sendfile-support')
+@@ -50,6 +50,7 @@ def options(opt):
+ opt.SAMBA3_ADD_OPTION('sendfile-support', default=None)
opt.SAMBA3_ADD_OPTION('utmp')
opt.SAMBA3_ADD_OPTION('avahi', with_name="enable", without_name="disable")
+ opt.SAMBA3_ADD_OPTION('dnssd', with_name="enable", without_name="disable")
opt.SAMBA3_ADD_OPTION('iconv')
opt.SAMBA3_ADD_OPTION('acl-support')
opt.SAMBA3_ADD_OPTION('dnsupdate')
-@@ -802,32 +803,38 @@ msg.msg_accrightslen = sizeof(fd);
+@@ -787,34 +788,39 @@ msg.msg_accrightslen = sizeof(fd);
if Options.options.with_utmp:
conf.env.with_utmp = True
@@ -26,6 +26,7 @@
+ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_name', headers='utmpx.h utmp.h',
define='HAVE_UT_UT_NAME')
- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_user', headers='utmp.h',
++
+ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_user', headers='utmpx.h utmp.h',
define='HAVE_UT_UT_USER')
- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_id', headers='utmp.h',
@@ -51,6 +52,8 @@
define='HAVE_UT_UT_EXIT')
- conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_syslen', headers='utmpx.h',
- define='HAVE_UX_UT_SYSLEN')
+- conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_host', headers='utmpx.h',
+- define='HAVE_UX_UT_HOST')
+ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_syslen', headers='utmpx.h utmp.h',
+ define='HAVE_UT_UT_SYSLEN')
conf.CHECK_CODE('struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);',
@@ -61,7 +64,7 @@
define='SIZEOF_UTMP_UT_LINE', critical=False)
if not conf.CONFIG_SET('SIZEOF_UTMP_UT_LINE'):
conf.env.with_utmp = False
-@@ -849,6 +856,17 @@ msg.msg_accrightslen = sizeof(fd);
+@@ -836,6 +842,17 @@ msg.msg_accrightslen = sizeof(fd);
conf.SET_TARGET_TYPE('avahi-common', 'EMPTY')
conf.SET_TARGET_TYPE('avahi-client', 'EMPTY')
@@ -79,22 +82,13 @@
if Options.options.with_iconv:
conf.env.with_iconv = True
if not conf.CHECK_FUNCS_IN('iconv_open', 'iconv', headers='iconv.h'):
-@@ -1637,7 +1655,7 @@ main() {
- if not conf.env['FLEX']:
- conf.fatal("Spotlight support requested but flex missing")
- conf.CHECK_COMMAND('%s --version' % conf.env['FLEX'], msg='Using flex version', define=None, on_target=False)
-- versions = ['1.0', '0.16', '0.14']
-+ versions = ['2.0', '1.0', '0.16', '0.14']
- for version in versions:
- testlib = 'tracker-sparql-' + version
- if conf.CHECK_CFG(package=testlib,
-@@ -1729,9 +1747,6 @@ main() {
-
+@@ -1730,9 +1747,6 @@ main() {
if conf.CONFIG_SET('HAVE_VXFS'):
default_shared_modules.extend(TO_LIST('vfs_vxfs'))
--
+
- if conf.CONFIG_SET('HAVE_DBUS'):
- default_shared_modules.extend(TO_LIST('vfs_snapper'))
-
+-
explicit_shared_modules = TO_LIST(Options.options.shared_modules, delimiter=',')
explicit_static_modules = TO_LIST(Options.options.static_modules, delimiter=',')
+
diff --git a/net/samba410/files/patch-source3__wscript_build b/net/samba410/files/patch-source3_wscript__build
index cb13cb304e43..0f021d899ccb 100644
--- a/net/samba410/files/patch-source3__wscript_build
+++ b/net/samba410/files/patch-source3_wscript__build
@@ -1,14 +1,6 @@
---- source3/wscript_build.orig 2017-07-25 13:09:58 UTC
+--- source3/wscript_build.orig 2019-05-07 08:38:21 UTC
+++ source3/wscript_build
-@@ -124,7 +124,6 @@ ldapsam_pdb_match = ['!priv2ld', '!smbldap_search_doma
- '!get_attr_list']
- private_pdb_match.append('!pdb_nds_*')
- private_pdb_match.append('!pdb_ldapsam_init*')
--private_pdb_match.append('!pdb_*_init')
- private_pdb_match = private_pdb_match + ldapsam_pdb_match
-
- bld.SAMBA3_LIBRARY('samba-passdb',
-@@ -221,11 +221,9 @@ bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
+@@ -236,11 +236,9 @@ bld.SAMBA3_SUBSYSTEM('SMBREGISTRY',
talloc
replace
util_reg
@@ -21,7 +13,7 @@
''')
# Do not link against this use 'smbconf'
-@@ -488,7 +486,7 @@ bld.SAMBA3_LIBRARY('secrets3',
+@@ -514,7 +512,7 @@ bld.SAMBA3_LIBRARY('secrets3',
bld.SAMBA3_LIBRARY('smbldap',
source='lib/smbldap.c',
@@ -30,7 +22,7 @@
enabled=bld.CONFIG_SET("HAVE_LDAP"),
private_library=False,
abi_directory='lib/ABI',
-@@ -713,6 +711,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
+@@ -739,6 +737,7 @@ bld.SAMBA3_LIBRARY('smbd_base',
smbd_conn
param_service
AVAHI
@@ -38,7 +30,7 @@
PRINTBASE
PROFILE
LOCKING
-@@ -1089,6 +1088,7 @@ bld.SAMBA3_BINARY('client/smbclient',
+@@ -1116,6 +1115,7 @@ bld.SAMBA3_BINARY('client/smbclient',
msrpc3
RPC_NDR_SRVSVC
cli_smb_common
@@ -46,7 +38,7 @@
archive
''')
-@@ -1254,8 +1254,7 @@ bld.SAMBA3_BINARY('vfstest',
+@@ -1284,8 +1284,7 @@ bld.SAMBA3_BINARY('vfstest',
popt_samba3
smbconf
SMBREADLINE
diff --git a/net/samba410/files/patch-source4_heimdal__build_wscript__configure b/net/samba410/files/patch-source4_heimdal__build_wscript__configure
new file mode 100644
index 000000000000..fd63921253a9
--- /dev/null
+++ b/net/samba410/files/patch-source4_heimdal__build_wscript__configure
@@ -0,0 +1,20 @@
+--- source4/heimdal_build/wscript_configure.orig 2019-01-15 10:07:00 UTC
++++ source4/heimdal_build/wscript_configure
+@@ -171,7 +171,7 @@ if not krb5_config:
+ krb5_config = conf.find_program("krb5-config", var="HEIMDAL_KRB5_CONFIG")
+ if krb5_config:
+ # Not ideal, but seems like the best way to get at these paths:
+- f = open(krb5_config[0], 'r')
++ f = open(krb5_config[0], 'r', errors='ignore')
+ try:
+ for l in f:
+ if l.startswith("libdir="):
+@@ -181,6 +181,8 @@ if krb5_config:
+ heimdal_includedirs.append(include_path)
+ conf.define('HEIMDAL_KRB5_TYPES_PATH',
+ include_path + "/krb5-types.h")
++ except:
++ pass
+ finally:
+ f.close()
+
diff --git a/net/samba410/files/patch-source4__heimdal__lib__roken__rand.c b/net/samba410/files/patch-source4_heimdal_lib_roken_rand.c
index c02f94427627..5d2fab694d8a 100644
--- a/net/samba410/files/patch-source4__heimdal__lib__roken__rand.c
+++ b/net/samba410/files/patch-source4_heimdal_lib_roken_rand.c
@@ -1,6 +1,6 @@
---- source4/heimdal/lib/roken/rand.c.orig 2018-01-14 04:41:58 UTC
+--- source4/heimdal/lib/roken/rand.c.orig 2019-01-15 10:07:00 UTC
+++ source4/heimdal/lib/roken/rand.c
-@@ -37,7 +37,6 @@
+@@ -37,7 +37,6 @@ void ROKEN_LIB_FUNCTION
rk_random_init(void)
{
#if defined(HAVE_ARC4RANDOM)
diff --git a/net/samba410/files/patch-source4__kdc__kdc-service-mit.c b/net/samba410/files/patch-source4_kdc_kdc-service-mit.c
index c9dd8968805b..06624be7b94f 100644
--- a/net/samba410/files/patch-source4__kdc__kdc-service-mit.c
+++ b/net/samba410/files/patch-source4_kdc_kdc-service-mit.c
@@ -1,4 +1,4 @@
---- source4/kdc/kdc-service-mit.c.orig 2018-01-18 00:08:39 UTC
+--- source4/kdc/kdc-service-mit.c.orig 2019-01-15 10:07:00 UTC
+++ source4/kdc/kdc-service-mit.c
@@ -36,9 +36,13 @@
#include "kdc/samba_kdc.h"
diff --git a/net/samba410/files/patch-source4__lib__http__http.c b/net/samba410/files/patch-source4_lib_http_http.c
index 969a648a3d37..8d91c17e8022 100644
--- a/net/samba410/files/patch-source4__lib__http__http.c
+++ b/net/samba410/files/patch-source4_lib_http_http.c
@@ -1,6 +1,6 @@
---- source4/lib/http/http.c.orig 2017-07-04 10:05:26 UTC
+--- source4/lib/http/http.c.orig 2019-01-15 10:07:00 UTC
+++ source4/lib/http/http.c
-@@ -112,7 +112,19 @@ static enum http_read_status http_parse_
+@@ -134,7 +134,19 @@ static enum http_read_status http_parse_
return HTTP_ALL_DATA_READ;
}
@@ -20,7 +20,7 @@
if (n != 2) {
DEBUG(0, ("%s: Error parsing header '%s'\n", __func__, line));
status = HTTP_DATA_CORRUPTED;
-@@ -138,7 +150,7 @@ error:
+@@ -160,7 +172,7 @@ error:
static bool http_parse_response_line(struct http_read_response_state *state)
{
bool status = true;
@@ -29,7 +29,7 @@
char *msg = NULL;
char major;
char minor;
-@@ -158,12 +170,22 @@ static bool http_parse_response_line(str
+@@ -180,12 +192,22 @@ static bool http_parse_response_line(str
return false;
}
@@ -56,7 +56,7 @@
if (n != 5) {
DEBUG(0, ("%s: Error parsing header\n", __func__));
-@@ -171,6 +193,10 @@ static bool http_parse_response_line(str
+@@ -193,6 +215,10 @@ static bool http_parse_response_line(str
goto error;
}
diff --git a/net/samba410/files/patch-third__party_aesni-intel_wscript b/net/samba410/files/patch-third__party_aesni-intel_wscript
deleted file mode 100644
index 64886d1affb0..000000000000
--- a/net/samba410/files/patch-third__party_aesni-intel_wscript
+++ /dev/null
@@ -1,33 +0,0 @@
---- third_party/aesni-intel/wscript.orig 2017-09-17 19:15:34 UTC
-+++ third_party/aesni-intel/wscript
-@@ -4,14 +4,19 @@ import Utils
-
- def configure(conf):
- if Options.options.accel_aes.lower() == "intelaesni":
-- if conf.CHECK_CFLAGS('-Wp,-E,-lang-asm', ''):
-- if conf.env['SYSTEM_UNAME_MACHINE'] == 'x86_64':
-+ asm_flags = ('-Wp,-E,-lang-asm', '-xassembler-with-cpp')
-+ for f in asm_flags:
-+ if conf.CHECK_CFLAGS(f, ''):
-+ conf.DEFINE('AESNI_INTEL_CFLAGS', f)
-+ break
-+ if conf.CONFIG_SET('AESNI_INTEL_CFLAGS'):
-+ if conf.env['SYSTEM_UNAME_MACHINE'] in ('x86_64', 'amd64'):
- print("Compiling with Intel AES instructions")
- conf.DEFINE('HAVE_AESNI_INTEL', 1)
- else:
- raise Utils.WafError('--accel-aes=intelaesni selected and non x86_64 CPU')
- else:
-- raise Utils.WafError('--accel-aes=intelaesni selected and compiler rejects -Wp,-E,-lang-asm')
-+ raise Utils.WafError('--aes-accel=intelaesni selected and compiler rejects ' + str(asm_flags))
- if not conf.CHECK_LDFLAGS('-Wl,-z,noexecstack'):
- raise Utils.WafError('--accel-aes=intelaesni selected and linker rejects -z noexecstack')
-
-@@ -21,6 +26,6 @@ def build(bld):
-
- bld.SAMBA_LIBRARY('aesni-intel',
- source='aesni-intel_asm.c',
-- cflags='-Wp,-E,-lang-asm',
-+ cflags=bld.CONFIG_GET('AESNI_INTEL_CFLAGS'),
- ldflags='-Wl,-z,noexecstack',
- private_library=True)
diff --git a/net/samba410/files/patch-third_party__waf__wafadmin__Logs.py b/net/samba410/files/patch-third_party__waf__wafadmin__Logs.py
deleted file mode 100644
index 2fc72af791df..000000000000
--- a/net/samba410/files/patch-third_party__waf__wafadmin__Logs.py
+++ /dev/null
@@ -1,21 +0,0 @@
---- third_party/waf/wafadmin/Logs.py.orig 2017-07-04 10:05:26 UTC
-+++ third_party/waf/wafadmin/Logs.py
-@@ -23,6 +23,9 @@ colors_lst = {
- 'cursor_off' :'\x1b[?25l',
- }
-
-+WAF_LOG_FORMAT = os.environ.get('WAF_LOG_FORMAT', LOG_FORMAT)
-+WAF_HOUR_FORMAT = os.environ.get('WAF_HOUR_FORMAT', HOUR_FORMAT)
-+
- got_tty = False
- term = os.environ.get('TERM', 'dumb')
- if not term in ['dumb', 'emacs']:
-@@ -84,7 +87,7 @@ class log_filter(logging.Filter):
-
- class formatter(logging.Formatter):
- def __init__(self):
-- logging.Formatter.__init__(self, LOG_FORMAT, HOUR_FORMAT)
-+ logging.Formatter.__init__(self, WAF_LOG_FORMAT, WAF_HOUR_FORMAT)
-
- def format(self, rec):
- if rec.levelno >= logging.WARNING or rec.levelno == logging.INFO:
diff --git a/net/samba410/files/patch-third_party__waf__wafadmin__Tools__cc.py b/net/samba410/files/patch-third_party__waf__wafadmin__Tools__cc.py
deleted file mode 100644
index 5a2b2a634df2..000000000000
--- a/net/samba410/files/patch-third_party__waf__wafadmin__Tools__cc.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/waf/wafadmin/Tools/cc.py.orig 2017-07-04 10:05:26 UTC
-+++ third_party/waf/wafadmin/Tools/cc.py
-@@ -88,7 +88,7 @@ def c_hook(self, node):
- raise Utils.WafError('Have you forgotten to set the feature "cc" on %s?' % str(self))
- return task
-
--cc_str = '${CC} ${CCFLAGS} ${CPPFLAGS} ${_CCINCFLAGS} ${_CCDEFFLAGS} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}'
-+cc_str = '${CC} ${CCFLAGS} ${_CCINCFLAGS} ${CPPFLAGS} ${_CCDEFFLAGS} ${CC_SRC_F}${SRC} ${CC_TGT_F}${TGT}'
- cls = Task.simple_task_type('cc', cc_str, 'GREEN', ext_out='.o', ext_in='.c', shell=False)
- cls.scan = ccroot.scan
- cls.vars.append('CCDEPS')
diff --git a/net/samba410/files/patch-source3_modules_vfs__freebsd.c b/net/samba410/files/patch-vfs_freebsd
index 8499940319e9..cd07b4eceb1e 100644
--- a/net/samba410/files/patch-source3_modules_vfs__freebsd.c
+++ b/net/samba410/files/patch-vfs_freebsd
@@ -1,6 +1,33 @@
---- /dev/null 2018-11-29 02:13:13 UTC
+--- docs-xml/wscript_build.orig 2019-06-25 00:52:38 UTC
++++ docs-xml/wscript_build
+@@ -79,6 +79,7 @@ vfs_module_manpages = ['vfs_acl_tdb',
+ 'vfs_extd_audit',
+ 'vfs_fake_perms',
+ 'vfs_fileid',
++ 'vfs_freebsd',
+ 'vfs_fruit',
+ 'vfs_full_audit',
+ 'vfs_glusterfs',
+--- source3/modules/wscript_build.orig 2019-05-07 08:38:21 UTC
++++ source3/modules/wscript_build
+@@ -243,6 +243,14 @@ bld.SAMBA3_MODULE('vfs_zfsacl',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
+
++bld.SAMBA3_MODULE('vfs_freebsd',
++ subsystem='vfs',
++ source='vfs_freebsd.c',
++ deps='samba-util',
++ init_function='',
++ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'),
++ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd'))
++
+ xdr_buf_hack = 'sed -e "s@^\([ \t]*register int32_t \*buf\);@\\1 = buf;@"'
+
+ bld.SAMBA_GENERATOR('nfs41acl-xdr-c',
+--- source3/modules/vfs_freebsd.c.orig 2019-06-22 11:56:57 UTC
+++ source3/modules/vfs_freebsd.c
-@@ -0,0 +1,795 @@
+@@ -0,0 +1,808 @@
+/*
+ * This module implements VFS calls specific to FreeBSD
+ *
@@ -140,7 +167,7 @@
+static extattr_attr* freebsd_map_xattr(enum extattr_mode extattr_mode, const char *name, extattr_attr *attr)
+{
+ int attrnamespace = EXTATTR_NAMESPACE_EMPTY;
-+ const char *attrname = name;
++ const char *p, *attrname = name;
+
+ if(name == NULL || name[0] == '\0') {
+ return NULL;
@@ -153,33 +180,46 @@
+ uint16_t flags = freebsd_map_attrname(name);
+
+ switch(flags) {
-+ case EXTATTR_USER:
-+ attrnamespace = EXTATTR_NAMESPACE_USER;
-+ if(extattr_mode == FREEBSD_EXTATTR_LEGACY)
-+ attrname = name + 5;
-+ break;
+ case EXTATTR_SECURITY:
+ case EXTATTR_TRUSTED:
-+ attrnamespace = (extattr_mode == FREEBSD_EXTATTR_SECURE) ?
-+ EXTATTR_NAMESPACE_SYSTEM :
-+ EXTATTR_NAMESPACE_USER;
-+ break;
+ case EXTATTR_SYSTEM:
+ attrnamespace = (extattr_mode == FREEBSD_EXTATTR_SECURE) ?
+ EXTATTR_NAMESPACE_SYSTEM :
+ EXTATTR_NAMESPACE_USER;
-+ if (extattr_mode == FREEBSD_EXTATTR_LEGACY)
-+ attrname = name + 7;
++ break;
++ case EXTATTR_USER:
++ attrnamespace = EXTATTR_NAMESPACE_USER;
+ break;
+ default:
+ /* Default to "user" namespace if nothing else was specified */
+ attrnamespace = EXTATTR_NAMESPACE_USER;
+ flags = EXTATTR_USER;
++ break;
++ }
++
++ if (extattr_mode == FREEBSD_EXTATTR_LEGACY) {
++ switch(flags) {
++ case EXTATTR_SECURITY:
++ attrname = name + 9;
++ break;
++ case EXTATTR_TRUSTED:
++ attrname = name + 8;
++ break;
++ case EXTATTR_SYSTEM:
++ attrname = name + 7;
++ break;
++ case EXTATTR_USER:
++ attrname = name + 5;
++ break;
++ default:
++ attrname = ((p=strchr(name, '.')) != NULL) ? p + 1 : name;
++ break;
++ }
+ }
+
+ attr->namespace = attrnamespace;
+ attr->data.flags = flags;
-+ strlcpy(attr->name, attrname, EXTATTR_MAXNAMELEN+1);
++ strlcpy(attr->name, attrname, EXTATTR_MAXNAMELEN + 1);
+
+ return attr;
+}
@@ -796,3 +836,175 @@
+
+ return ret;
+}
+--- docs-xml/manpages/vfs_freebsd.8.xml.orig 2019-06-25 00:51:54 UTC
++++ docs-xml/manpages/vfs_freebsd.8.xml
+@@ -0,0 +1,169 @@
++<?xml version="1.0" encoding="iso-8859-1"?>
++<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
++<refentry id="vfs_freebsd.8">
++
++<refmeta>
++ <refentrytitle>vfs_freebsd</refentrytitle>
++ <manvolnum>8</manvolnum>
++ <refmiscinfo class="source">Samba</refmiscinfo>
++ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
++ <refmiscinfo class="version">&doc.version;</refmiscinfo>
++</refmeta>
++
++<refnamediv>
++ <refname>vfs_freebsd</refname>
++ <refpurpose>FreeBSD-specific VFS functions</refpurpose>
++</refnamediv>
++
++<refsynopsisdiv>
++ <cmdsynopsis>
++ <command>vfs objects = freebsd</command>
++ </cmdsynopsis>
++</refsynopsisdiv>
++
++<refsect1>
++ <title>DESCRIPTION</title>
++
++ <para>This VFS module is part of the <citerefentry><refentrytitle>samba</refentrytitle>
++ <manvolnum>7</manvolnum></citerefentry> suite.</para>
++
++ <para>The <command>vfs_freebsd</command> module implements some of the FreeBSD-specific VFS functions.</para>
++
++ <para>This module is stackable.</para>
++</refsect1>
++
++
++<refsect1>
++ <title>OPTIONS</title>
++
++ <variablelist>
++
++ <varlistentry>
++ <term>freebsd:extattr mode=[legacy|compat|secure]</term>
++ <listitem>
++ <para>This parameter defines how the emulation of the Linux attr(5) extended attributes
++ is performed through the FreeBSD native extattr(9) system calls.</para>
++
++ <para>Currently the <emphasis>security</emphasis>, <emphasis>system</emphasis>,
++ <emphasis>trusted</emphasis> and <emphasis>user</emphasis> extended attribute(xattr)
++ classes are defined in Linux. Contrary FreeBSD has only <emphasis>USER</emphasis>
++ and <emphasis>SYSTEM</emphasis> extended attribute(extattr) namespaces, so mapping
++ of one set into another isn't straightforward and can be done in different ways.</para>
++
++ <para>Historically the Samba(7) built-in xattr mapping implementation simply converted
++ <emphasis>system</emphasis> and <emphasis>user</emphasis> xattr into corresponding
++ <emphasis>SYSTEM</emphasis> and <emphasis>USER</emphasis> extattr namespaces, dropping
++ the class prefix name with the separating dot and using attribute name only within the
++ mapped namespace. It also rejected any other xattr classes, like <emphasis>security</emphasis>
++ and <emphasis>trusted</emphasis> as invalid. Such behavior in particular broke AD
++ provisioning on UFS2 file systems as essential <emphasis>security.NTACL</emphasis>
++ xattr was rejected as invalid.</para>
++
++ <para>This module tries to address this problem and provide secure, where it's possible,
++ way to map Linux xattr into FreeBSD's extattr.</para>
++
++ <para>When <emphasis>mode</emphasis> is set to the <emphasis>legacy (default)</emphasis>
++ then modified version of built-in mapping is used, where <emphasis>system</emphasis> xattr
++ is mapped into SYSTEM namespace, while <emphasis>secure</emphasis>, <emphasis>trusted</emphasis>
++ and <emphasis>user</emphasis> xattr are all mapped into the USER namespace, dropping class
++ prefixes and mix them all together. This is the way how Samba FreeBSD ports were patched
++ up to the 4.9 version and that created multiple potential security issues. This mode is aimed for
++ the compatibility with the legacy installations only and should be avoided in new setups.</para>
++
++ <para>The <emphasis>compat</emphasis> mode is mostly designed for the jailed environments,
++ where it's not possible to write extattrs into the secure SYSTEM namespace, so all four
++ classes are mapped into the USER namespace. To preserve information about origin of the
++ extended attribute it is stored together with the class preffix in the <emphasis>class.attribute</emphasis>
++ format.</para>
++
++ <para>The <emphasis>secure</emphasis> mode is meant for storing extended attributes in a secure
++ manner, so that <emphasis>security</emphasis>, <emphasis>system</emphasis> and <emphasis>trusted</emphasis>
++ are stored in the SYSTEM namespace, which can be modified only by root.
++ </para>
++ </listitem>
++ </varlistentry>
++
++
++ </variablelist>
++</refsect1>
++
++<refsect1>
++ <table frame="all" rowheader="firstcol">
++ <title>Attributes mapping</title>
++ <tgroup cols='5' align='left' colsep='1' rowsep='1'>
++ <thead>
++ <row>
++ <entry> </entry>
++ <entry>built-in</entry>
++ <entry>legacy</entry>
++ <entry>compat/jail</entry>
++ <entry>secure</entry>
++ </row>
++ </thead>
++ <tbody>
++ <row>
++ <entry>user</entry>
++ <entry>USER; attribute</entry>
++ <entry>USER; attribute</entry>
++ <entry>USER; user.attribute</entry>
++ <entry>USER; user.attribute</entry>
++ </row>
++ <row>
++ <entry>system</entry>
++ <entry>SYSTEM; attribute</entry>
++ <entry>SYSTEM; attribute</entry>
++ <entry>USER; system.attribute</entry>
++ <entry>SYSTEM; system.attribute</entry>
++ </row>
++ <row>
++ <entry>trusted</entry>
++ <entry>FAIL</entry>
++ <entry>USER; attribute</entry>
++ <entry>USER; trusted.attribute</entry>
++ <entry>SYSTEM; trusted.attribute</entry>
++ </row>
++ <row>
++ <entry>security</entry>
++ <entry>FAIL</entry>
++ <entry>USER; attribute</entry>
++ <entry>USER; security.attribute</entry>
++ <entry>SYSTEM; security.attribute</entry>
++ </row>
++ </tbody>
++ </tgroup>
++ </table>
++</refsect1>
++
++<refsect1>
++ <title>EXAMPLES</title>
++
++ <para>Use secure method of setting extended attributes on the share:</para>
++
++<programlisting>
++ <smbconfsection name="[sysvol]"/>
++ <smbconfoption name="vfs objects">freebsd</smbconfoption>
++ <smbconfoption name="freebsd:extattr mode">secure</smbconfoption>
++</programlisting>
++
++</refsect1>
++
++<refsect1>
++ <title>VERSION</title>
++
++ <para>This man page is part of version &doc.version; of the Samba suite.
++ </para>
++</refsect1>
++
++<refsect1>
++ <title>AUTHOR</title>
++
++ <para>The original Samba software and related utilities
++ were created by Andrew Tridgell. Samba is now developed
++ by the Samba Team as an Open Source project similar
++ to the way the Linux kernel is developed.</para>
++
++ <para>This module was written by Timur I. Bakeyev</para>
++
++</refsect1>
++
++</refentry>
diff --git a/net/samba410/pkg-plist b/net/samba410/pkg-plist
index 78852d8f35ab..8a80c8c097c3 100644
--- a/net/samba410/pkg-plist
+++ b/net/samba410/pkg-plist
@@ -1,6 +1,6 @@
bin/cifsdd
bin/dbwrap_tool
-bin/eventlogadm
+bin/dumpmscat
bin/findsmb
bin/gentest
bin/locktest
@@ -31,17 +31,18 @@ bin/smbpasswd
bin/smbspool
bin/smbstatus
bin/smbtar
-%%SAMBA4_PYTHON2%%bin/smbtorture
+%%SAMBA4_PYTHON%%bin/smbtorture
bin/smbtree
bin/testparm
bin/vfstest
bin/wbinfo
+sbin/eventlogadm
sbin/nmbd
sbin/smbd
sbin/winbindd
%%AD_DC%%sbin/samba
%%AD_DC%%sbin/samba_dnsupdate
-%%AD_DC%%sbin/samba_gpoupdate
+%%AD_DC%%sbin/samba-gpupdate
%%AD_DC%%sbin/samba_kcc
%%AD_DC%%sbin/samba_spnupdate
%%AD_DC%%sbin/samba_upgradedns
@@ -98,7 +99,7 @@ include/samba4/ndr/ndr_svcctl.h
include/samba4/netapi.h
include/samba4/param.h
include/samba4/passdb.h
-%%SAMBA4_PYTHON2%%include/samba4/policy.h
+%%SAMBA4_PYTHON%%include/samba4/policy.h
include/samba4/rpc_common.h
include/samba4/samba/session.h
include/samba4/samba/version.h
@@ -114,16 +115,14 @@ include/samba4/util/blocking.h
include/samba4/util/byteorder.h
include/samba4/util/data_blob.h
include/samba4/util/debug.h
+include/samba4/util/discard.h
include/samba4/util/fault.h
include/samba4/util/genrand.h
include/samba4/util/idtree_random.h
include/samba4/util/idtree.h
-include/samba4/util/memory.h
-include/samba4/util/safe_string.h
include/samba4/util/signal.h
include/samba4/util/string_wrappers.h
include/samba4/util/substitute.h
-include/samba4/util/talloc_stack.h
include/samba4/util/tevent_ntstatus.h
include/samba4/util/tevent_unix.h
include/samba4/util/tevent_werror.h
@@ -162,8 +161,8 @@ lib/samba4/libsamba-hostconfig.so
lib/samba4/libsamba-hostconfig.so.0
lib/samba4/libsamba-passdb.so
lib/samba4/libsamba-passdb.so.0
-%%SAMBA4_PYTHON2%%lib/samba4/libsamba-policy.so
-%%SAMBA4_PYTHON2%%lib/samba4/libsamba-policy.so.0
+%%SAMBA4_PYTHON%%lib/samba4/libsamba-policy.so
+%%SAMBA4_PYTHON%%lib/samba4/libsamba-policy.so.0
lib/samba4/libsamba-util.so
lib/samba4/libsamba-util.so.0
lib/samba4/libsamdb.so
@@ -204,11 +203,12 @@ lib/samba4/private/libcli-ldap-common-samba4.so
lib/samba4/private/libcli-ldap-samba4.so
lib/samba4/private/libcli-nbt-samba4.so
lib/samba4/private/libcli-smb-common-samba4.so
+lib/samba4/private/libclidns-samba4.so
lib/samba4/private/libcli-spoolss-samba4.so
lib/samba4/private/libcliauth-samba4.so
lib/samba4/private/libcluster-samba4.so
-lib/samba4/private/libcmdline-credentials-samba4.so
lib/samba4/private/libcmdline-contexts-samba4.so
+lib/samba4/private/libcmdline-credentials-samba4.so
%%GSSAPI_BUILTIN%%lib/samba4/private/libcom_err-samba4.so.0
lib/samba4/private/libcommon-auth-samba4.so
%%AD_DC%%lib/samba4/private/libdb-glue-samba4.so
@@ -217,8 +217,8 @@ lib/samba4/private/libdcerpc-samba-samba4.so
lib/samba4/private/libdcerpc-samba4.so
%%AD_DC%%lib/samba4/private/libdfs-server-ad-samba4.so
%%AD_DC%%lib/samba4/private/libdnsserver-common-samba4.so
-lib/samba4/private/libdsdb-garbage-collect-tombstones-samba4.so
lib/samba4/private/libdsdb-module-samba4.so
+%%AD_DC%%lib/samba4/private/libdsdb-garbage-collect-tombstones-samba4.so
lib/samba4/private/libevents-samba4.so
lib/samba4/private/libflag-mapping-samba4.so
lib/samba4/private/libgenrand-samba4.so
@@ -238,12 +238,15 @@ lib/samba4/private/libiov-buf-samba4.so
%%GSSAPI_BUILTIN%%lib/samba4/private/libkdc-samba4.so.2
%%GSSAPI_BUILTIN%%lib/samba4/private/libkrb5-samba4.so.26
lib/samba4/private/libkrb5samba-samba4.so
+lib/samba4/private/libldb-tdb-err-map-samba4.so
+lib/samba4/private/libldb-tdb-int-samba4.so
lib/samba4/private/libldbsamba-samba4.so
lib/samba4/private/liblibcli-lsa3-samba4.so
lib/samba4/private/liblibcli-netlogon3-samba4.so
lib/samba4/private/liblibsmb-samba4.so
lib/samba4/private/libmessages-dgm-samba4.so
lib/samba4/private/libmessages-util-samba4.so
+lib/samba4/private/libmscat-samba4.so
lib/samba4/private/libmsghdr-samba4.so
lib/samba4/private/libmsrpc3-samba4.so
lib/samba4/private/libndr-samba-samba4.so
@@ -254,8 +257,8 @@ lib/samba4/private/libnon-posix-acls-samba4.so
lib/samba4/private/libnpa-tstream-samba4.so
lib/samba4/private/libnss-info-samba4.so
%%AD_DC%%lib/samba4/private/libpac-samba4.so
-lib/samba4/private/libpopt-samba3-samba4.so
lib/samba4/private/libpopt-samba3-cmdline-samba4.so
+lib/samba4/private/libpopt-samba3-samba4.so
lib/samba4/private/libprinting-migrate-samba4.so
lib/samba4/private/libregistry-samba4.so
lib/samba4/private/libreplace-samba4.so
@@ -263,12 +266,13 @@ lib/samba4/private/libreplace-samba4.so
lib/samba4/private/libsamba-cluster-support-samba4.so
lib/samba4/private/libsamba-debug-samba4.so
lib/samba4/private/libsamba-modules-samba4.so
-%%SAMBA4_PYTHON2%%lib/samba4/private/libsamba-net-samba4.so
-%%SAMBA4_PYTHON2%%lib/samba4/private/libsamba-python-samba4.so
+%%SAMBA4_PYTHON%%lib/samba4/private/libsamba-net-samba4.so
+%%SAMBA4_PYTHON%%lib/samba4/private/libsamba-python-samba4.so
lib/samba4/private/libsamba-security-samba4.so
lib/samba4/private/libsamba-sockets-samba4.so
lib/samba4/private/libsamba3-util-samba4.so
lib/samba4/private/libsamdb-common-samba4.so
+%%AD_DC%%lib/samba4/private/libscavenge-dns-records-samba4.so
lib/samba4/private/libsecrets3-samba4.so
lib/samba4/private/libserver-id-db-samba4.so
lib/samba4/private/libserver-role-samba4.so
@@ -294,129 +298,130 @@ lib/samba4/private/libutil-tdb-samba4.so
lib/samba4/private/libwinbind-client-samba4.so
%%GSSAPI_BUILTIN%%lib/samba4/private/libwind-samba4.so.0
lib/samba4/private/libxattr-tdb-samba4.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_10.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_11.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_12.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_13.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_14.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_9.so
-%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
-%%AD_DC%%lib/shared-modules/gensec/krb5.so
-%%AD_DC%%lib/shared-modules/krb5/winbind_krb5_locator.so
-%%AD_DC%%lib/shared-modules/ldb/acl.so
-%%AD_DC%%lib/shared-modules/ldb/aclread.so
-%%AD_DC%%lib/shared-modules/ldb/anr.so
-%%AD_DC%%lib/shared-modules/ldb/descriptor.so
-%%AD_DC%%lib/shared-modules/ldb/dirsync.so
-%%AD_DC%%lib/shared-modules/ldb/dns_notify.so
-%%AD_DC%%lib/shared-modules/ldb/dsdb_notification.so
-%%AD_DC%%lib/shared-modules/ldb/encrypted_secrets.so
-%%AD_DC%%lib/shared-modules/ldb/extended_dn_in.so
-%%AD_DC%%lib/shared-modules/ldb/extended_dn_out.so
-%%AD_DC%%lib/shared-modules/ldb/extended_dn_store.so
-%%AD_DC%%lib/shared-modules/ldb/ildap.so
-%%AD_DC%%lib/shared-modules/ldb/instancetype.so
-%%AD_DC%%lib/shared-modules/ldb/lazy_commit.so
-%%AD_DC%%lib/shared-modules/ldb/ldbsamba_extensions.so
-%%AD_DC%%lib/shared-modules/ldb/linked_attributes.so
-%%AD_DC%%lib/shared-modules/ldb/local_password.so
-%%AD_DC%%lib/shared-modules/ldb/new_partition.so
-%%AD_DC%%lib/shared-modules/ldb/objectclass_attrs.so
-%%AD_DC%%lib/shared-modules/ldb/objectclass.so
-%%AD_DC%%lib/shared-modules/ldb/objectguid.so
-%%AD_DC%%lib/shared-modules/ldb/operational.so
-%%AD_DC%%lib/shared-modules/ldb/partition.so
-%%AD_DC%%lib/shared-modules/ldb/password_hash.so
-%%AD_DC%%lib/shared-modules/ldb/ranged_results.so
-%%AD_DC%%lib/shared-modules/ldb/repl_meta_data.so
-%%AD_DC%%lib/shared-modules/ldb/resolve_oids.so
-%%AD_DC%%lib/shared-modules/ldb/rootdse.so
-%%AD_DC%%lib/shared-modules/ldb/samba_dsdb.so
-%%AD_DC%%lib/shared-modules/ldb/samba_secrets.so
-%%AD_DC%%lib/shared-modules/ldb/samba3sam.so
-%%AD_DC%%lib/shared-modules/ldb/samba3sid.so
-%%AD_DC%%lib/shared-modules/ldb/samldb.so
-%%AD_DC%%lib/shared-modules/ldb/schema_data.so
-%%AD_DC%%lib/shared-modules/ldb/schema_load.so
-%%AD_DC%%lib/shared-modules/ldb/secrets_tdb_sync.so
-%%AD_DC%%lib/shared-modules/ldb/show_deleted.so
-%%AD_DC%%lib/shared-modules/ldb/simple_dn.so
-%%AD_DC%%lib/shared-modules/ldb/simple_ldap_map.so
-%%AD_DC%%lib/shared-modules/ldb/subtree_delete.so
-%%AD_DC%%lib/shared-modules/ldb/subtree_rename.so
-%%AD_DC%%lib/shared-modules/ldb/tombstone_reanimate.so
-%%AD_DC%%lib/shared-modules/ldb/unique_object_sids.so
-%%AD_DC%%lib/shared-modules/ldb/update_keytab.so
-%%AD_DC%%lib/shared-modules/ldb/vlv.so
-%%AD_DC%%lib/shared-modules/ldb/wins_ldb.so
-%%AD_DC%%lib/shared-modules/process_model/prefork.so
-%%AD_DC%%lib/shared-modules/process_model/standard.so
-%%AD_DC%%lib/shared-modules/service/cldap.so
-%%AD_DC%%lib/shared-modules/service/dcerpc.so
-%%AD_DC%%lib/shared-modules/service/dns_update.so
-%%AD_DC%%lib/shared-modules/service/dns.so
-%%AD_DC%%lib/shared-modules/service/drepl.so
-%%AD_DC%%lib/shared-modules/service/kcc.so
-%%AD_DC%%lib/shared-modules/service/kdc.so
-%%AD_DC%%lib/shared-modules/service/ldap.so
-%%AD_DC%%lib/shared-modules/service/nbtd.so
-%%AD_DC%%lib/shared-modules/service/ntp_signd.so
-%%AD_DC%%lib/shared-modules/service/s3fs.so
-%%AD_DC%%lib/shared-modules/service/web.so
-%%AD_DC%%lib/shared-modules/service/winbindd.so
-%%AD_DC%%lib/shared-modules/service/wrepl.so
-%%AD_DC%%lib/shared-modules/vfs/posix_eadb.so
-lib/shared-modules/auth/script.so
-lib/shared-modules/vfs/acl_tdb.so
-lib/shared-modules/vfs/acl_xattr.so
-lib/shared-modules/vfs/aio_fork.so
-lib/shared-modules/vfs/aio_pthread.so
-lib/shared-modules/vfs/audit.so
-lib/shared-modules/vfs/cap.so
-lib/shared-modules/vfs/catia.so
-lib/shared-modules/vfs/commit.so
-lib/shared-modules/vfs/crossrename.so
-lib/shared-modules/vfs/default_quota.so
-lib/shared-modules/vfs/dirsort.so
-lib/shared-modules/vfs/expand_msdfs.so
-lib/shared-modules/vfs/extd_audit.so
-lib/shared-modules/vfs/fake_perms.so
-lib/shared-modules/vfs/fruit.so
-lib/shared-modules/vfs/full_audit.so
-lib/shared-modules/vfs/glusterfs_fuse.so
-lib/shared-modules/vfs/linux_xfs_sgid.so
-lib/shared-modules/vfs/media_harmony.so
-lib/shared-modules/vfs/netatalk.so
-lib/shared-modules/vfs/offline.so
-lib/shared-modules/vfs/preopen.so
-lib/shared-modules/vfs/readahead.so
-lib/shared-modules/vfs/readonly.so
-lib/shared-modules/vfs/recycle.so
-lib/shared-modules/vfs/shadow_copy.so
-lib/shared-modules/vfs/shadow_copy2.so
-lib/shared-modules/vfs/shell_snap.so
-lib/shared-modules/vfs/streams_depot.so
-lib/shared-modules/vfs/streams_xattr.so
-lib/shared-modules/vfs/syncops.so
-lib/shared-modules/vfs/time_audit.so
-lib/shared-modules/vfs/unityed_media.so
-lib/shared-modules/vfs/virusfilter.so
-lib/shared-modules/vfs/worm.so
-lib/shared-modules/vfs/xattr_tdb.so
-lib/shared-modules/vfs/zfsacl.so
-@dir lib/shared-modules/vfs
-%%AD_DC%%@dir lib/shared-modules/service
-%%AD_DC%%@dir lib/shared-modules/process_model
-@dir lib/shared-modules/perfcount
-@dir lib/shared-modules/pdb
-@dir lib/shared-modules/nss_info
-@dir lib/shared-modules/ldb
-@dir lib/shared-modules/idmap
-@dir lib/shared-modules/gpext
-@dir lib/shared-modules/gensec
-@dir lib/shared-modules/bind9
-@dir lib/shared-modules/auth
-@dir lib/shared-modules
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_10.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_11.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_12.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_13.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_14.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_9.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/gensec/krb5.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/krb5/winbind_krb5_locator.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/acl.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/aclread.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/anr.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/descriptor.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/dirsync.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/dns_notify.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/dsdb_notification.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/encrypted_secrets.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/extended_dn_in.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/extended_dn_out.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/extended_dn_store.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/ildap.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/instancetype.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/lazy_commit.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/linked_attributes.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/local_password.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/new_partition.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/objectclass_attrs.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/objectclass.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/objectguid.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/operational.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/paged_results.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/partition.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/password_hash.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/ranged_results.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/repl_meta_data.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/resolve_oids.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/rootdse.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/samba_dsdb.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/samba_secrets.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/samba3sam.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/samba3sid.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/samldb.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/schema_data.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/schema_load.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/secrets_tdb_sync.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/show_deleted.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/simple_dn.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/simple_ldap_map.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/subtree_delete.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/subtree_rename.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/tombstone_reanimate.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/unique_object_sids.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/update_keytab.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/vlv.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/wins_ldb.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/process_model/prefork.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/process_model/standard.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/cldap.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/dcerpc.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/dns_update.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/dns.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/drepl.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/kcc.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/kdc.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/ldap.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/nbtd.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/ntp_signd.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/s3fs.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/web.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/winbindd.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/service/wrepl.so
+%%AD_DC%%%%SAMBA4_MODULEDIR%%/vfs/posix_eadb.so
+%%SAMBA4_MODULEDIR%%/auth/script.so
+%%SAMBA4_MODULEDIR%%/vfs/acl_tdb.so
+%%SAMBA4_MODULEDIR%%/vfs/acl_xattr.so
+%%SAMBA4_MODULEDIR%%/vfs/aio_fork.so
+%%SAMBA4_MODULEDIR%%/vfs/aio_pthread.so
+%%SAMBA4_MODULEDIR%%/vfs/audit.so
+%%SAMBA4_MODULEDIR%%/vfs/cap.so
+%%SAMBA4_MODULEDIR%%/vfs/catia.so
+%%SAMBA4_MODULEDIR%%/vfs/commit.so
+%%SAMBA4_MODULEDIR%%/vfs/crossrename.so
+%%SAMBA4_MODULEDIR%%/vfs/default_quota.so
+%%SAMBA4_MODULEDIR%%/vfs/dirsort.so
+%%SAMBA4_MODULEDIR%%/vfs/expand_msdfs.so
+%%SAMBA4_MODULEDIR%%/vfs/extd_audit.so
+%%SAMBA4_MODULEDIR%%/vfs/fake_perms.so
+%%SAMBA4_MODULEDIR%%/vfs/fruit.so
+%%SAMBA4_MODULEDIR%%/vfs/full_audit.so
+%%SAMBA4_MODULEDIR%%/vfs/glusterfs_fuse.so
+%%SAMBA4_MODULEDIR%%/vfs/linux_xfs_sgid.so
+%%SAMBA4_MODULEDIR%%/vfs/media_harmony.so
+%%SAMBA4_MODULEDIR%%/vfs/netatalk.so
+%%SAMBA4_MODULEDIR%%/vfs/offline.so
+%%SAMBA4_MODULEDIR%%/vfs/preopen.so
+%%SAMBA4_MODULEDIR%%/vfs/readahead.so
+%%SAMBA4_MODULEDIR%%/vfs/readonly.so
+%%SAMBA4_MODULEDIR%%/vfs/recycle.so
+%%SAMBA4_MODULEDIR%%/vfs/shadow_copy.so
+%%SAMBA4_MODULEDIR%%/vfs/shadow_copy2.so
+%%SAMBA4_MODULEDIR%%/vfs/shell_snap.so
+%%SAMBA4_MODULEDIR%%/vfs/streams_depot.so
+%%SAMBA4_MODULEDIR%%/vfs/streams_xattr.so
+%%SAMBA4_MODULEDIR%%/vfs/syncops.so
+%%SAMBA4_MODULEDIR%%/vfs/time_audit.so
+%%SAMBA4_MODULEDIR%%/vfs/unityed_media.so
+%%SAMBA4_MODULEDIR%%/vfs/virusfilter.so
+%%SAMBA4_MODULEDIR%%/vfs/worm.so
+%%SAMBA4_MODULEDIR%%/vfs/xattr_tdb.so
+%%SAMBA4_MODULEDIR%%/vfs/zfsacl.so
+@dir %%SAMBA4_MODULEDIR%%/vfs
+%%AD_DC%%@dir %%SAMBA4_MODULEDIR%%/service
+%%AD_DC%%@dir %%SAMBA4_MODULEDIR%%/process_model
+@dir %%SAMBA4_MODULEDIR%%/perfcount
+@dir %%SAMBA4_MODULEDIR%%/pdb
+@dir %%SAMBA4_MODULEDIR%%/nss_info
+@dir %%SAMBA4_MODULEDIR%%/ldb
+@dir %%SAMBA4_MODULEDIR%%/idmap
+@dir %%SAMBA4_MODULEDIR%%/gpext
+@dir %%SAMBA4_MODULEDIR%%/gensec
+@dir %%SAMBA4_MODULEDIR%%/bind9
+@dir %%SAMBA4_MODULEDIR%%/auth
+@dir %%SAMBA4_MODULEDIR%%
@dir lib/samba4/private
@dir lib/samba4
%%PKGCONFIGDIR%%/dcerpc.pc
@@ -429,533 +434,11 @@ lib/shared-modules/vfs/zfsacl.so
%%PKGCONFIGDIR%%/netapi.pc
%%PKGCONFIGDIR%%/samba-credentials.pc
%%PKGCONFIGDIR%%/samba-hostconfig.pc
-%%SAMBA4_PYTHON2%%%%PKGCONFIGDIR%%/samba-policy.pc
+%%SAMBA4_PYTHON%%%%PKGCONFIGDIR%%/samba-policy.pc
%%PKGCONFIGDIR%%/samba-util.pc
%%PKGCONFIGDIR%%/samdb.pc
%%PKGCONFIGDIR%%/smbclient.pc
%%PKGCONFIGDIR%%/wbclient.pc
-@comment Python2 block
-%%SAMBA4_PYTHON2%%%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dckeytab.so
-%%SAMBA4_PYTHON2%%%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/posix_eadb.so
-%%SAMBA4_PYTHON2%%%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_native.so
-%%SAMBA4_PYTHON2%%%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_tdb.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/_glue.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/_ldb.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/auth.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/colour.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/common.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/compat.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/credentials.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/crypto.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dbchecker.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/atsvc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/auth.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/base.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/dcerpc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/dfs.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/dns.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsp.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsserver.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsblobs.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsuapi.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/echo.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/epmapper.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/idmap.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/initshutdown.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/irpc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5pac.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/lsa.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/messaging.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/mgmt.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/misc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/nbt.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/netlogon.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/ntlmssp.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/samr.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/security.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/server_id.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/smb_acl.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/srvsvc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/svcctl.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/unixinfo.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/winbind.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/winreg.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/descriptor.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dnsserver.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/domain_update.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/drs_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dsdb_dns.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/dsdb.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/emulate/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/emulate/traffic_packets.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/emulate/traffic.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/forest_update.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/gensec.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/getopt.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/gpclass.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/gpo.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/graph.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/hostconfig.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/idmap.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/join.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/debug.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/graph_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/graph.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/kcc_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/kcc/ldif_import_export.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/messaging.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ms_display_specifiers.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ms_forest_updates_markdown.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ms_schema_markdown.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ms_schema.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ndr.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/net.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netbios.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/common.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/dbcheck.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/delegation.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/dns.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/domain.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/drs.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/dsacl.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/fsmo.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/gpo.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/group.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/ldapcmp.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/main.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/nettime.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/ntacl.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/processes.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/rodc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/sites.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/spn.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/testparm.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/user.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/netcmd/visualize.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ntacls.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/ntstatus.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/param.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/policy.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/backend.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/common.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/kerberos_implementation.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/kerberos.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/provision/sambadns.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/registry.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/remove_dc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_internal.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samba3/param.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samba3/passdb.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samba3/smbd.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/samdb.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/schema.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/sd_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/security.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/sites.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/smb.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/subnets.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/subunit/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/subunit/run.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tdb_util.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_base.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_ncalrpc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon_bad_creds.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_pass_change.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_samlogon.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth_log.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/auth.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/check_output.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/ndrdump.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/samba_dnsupdate.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_learner.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_replay.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_summary.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/common.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/core.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/credentials.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/array.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/bare.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/dnsserver.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/integer.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/misc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_protocol.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_testcase.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/registry.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpc_talloc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpcecho.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/sam.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/srvsvc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/string.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/testrpc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/unix.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_base.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/server.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_invalid.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_tkey.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns_wildcard.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dns.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/docs.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_lock.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_schema_attributes.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/dsdb.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/emulate/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic_packet.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/encrypted_secrets.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/gensec.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/get_opt.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/glue.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/graph.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/hostconfig.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/join.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/kcc/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/kcc/kcc_utils.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/kcc/ldif_import_export.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/krb5_credentials.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/libsmb_samba_internal.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/lsa_string.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/messaging.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/net_join_no_spnego.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/net_join.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/netcmd.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/netlogonsvc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/ntacls.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/ntlmdisabled.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_warn_pwd_expire.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/param.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2003.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2008.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_gpgme.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_ldap.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_hash.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/password_quality.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/policy.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/posixacl.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/provision.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/py_credentials.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/registry.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/base.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dnscmd.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/fsmo.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/group.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/help.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ntacl.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/processes.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_password_check.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/rodc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/sites.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/timecmd.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_check_password_script.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_wdigest.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize_drs.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba3.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samba3sam.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/samdb.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/security.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/source.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/strings.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/subunitrun.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/tdb_util.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/unicodenames.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/upgrade.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovision.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovisionneeddc.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/tests/xattr.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/third_party/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/upgrade.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/upgradehelpers.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/web_server/__init__.py
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/werror.so
-%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/samba/xattr.py
-%%SAMBA4_PYTHON2%%@unexec find %D/%%PYTHON_SITELIBDIR%%/samba -name '*.py[co]' -delete >/dev/null 2>&1
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/web_server
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/tests/blackbox
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/tests
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/samba3
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/provision
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/netcmd
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba/dcerpc
-%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba
-@comment Python3 block
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_glue.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_ldb.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/auth.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/colour.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/common.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/compat.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/credentials.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/crypto.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dbchecker.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/atsvc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/auth.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/base.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dcerpc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dfs.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dns.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsp.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsserver.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsblobs.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsuapi.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/echo.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/epmapper.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/idmap.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/initshutdown.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/irpc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/krb5pac.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/lsa.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/messaging.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/mgmt.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/misc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/nbt.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/netlogon.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/ntlmssp.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/samr.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/security.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/server_id.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/smb_acl.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/srvsvc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/svcctl.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/unixinfo.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winbind.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winreg.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/wkssvc.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/xattr.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/descriptor.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dnsserver.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/domain_update.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/drs_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/emulate/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/emulate/traffic_packets.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/emulate/traffic.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/forest_update.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/gensec.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/getopt.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/gpclass.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/graph.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/hostconfig.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/idmap.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/join.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/debug.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/graph_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/graph.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/kcc_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/kcc/ldif_import_export.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/messaging.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_display_specifiers.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_forest_updates_markdown.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_schema_markdown.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_schema.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ndr.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/net.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/common.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/dbcheck.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/delegation.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/dns.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/domain.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/drs.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/dsacl.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/fsmo.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/gpo.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/group.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/ldapcmp.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/main.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/nettime.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/ntacl.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/processes.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/rodc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/sites.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/spn.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/testparm.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/user.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/visualize.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ntacls.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ntstatus.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/param.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/posix_eadb.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/backend.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/common.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/kerberos_implementation.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/kerberos.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/sambadns.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/registry.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/remove_dc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/samba3/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/samdb.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/schema.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/sd_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/security.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/sites.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/subnets.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/subunit/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/subunit/run.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tdb_util.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_base.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_ncalrpc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_netlogon_bad_creds.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_netlogon.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_pass_change.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log_samlogon.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth_log.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/auth.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/check_output.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/ndrdump.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/samba_dnsupdate.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/smbcontrol.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/traffic_learner.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/traffic_replay.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox/traffic_summary.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/common.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/core.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/credentials.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/array.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/bare.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/dnsserver.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/integer.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/misc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/raw_protocol.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/raw_testcase.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/registry.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/rpc_talloc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/rpcecho.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/sam.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/srvsvc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/string.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/testrpc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc/unix.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_base.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/server.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_forwarder.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_invalid.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_tkey.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns_wildcard.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dns.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/docs.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dsdb_lock.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dsdb_schema_attributes.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dsdb.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/emulate/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/emulate/traffic_packet.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/emulate/traffic.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/encrypted_secrets.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/gensec.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/get_opt.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/glue.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/graph.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/hostconfig.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/join.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/kcc/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/kcc/graph_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/kcc/graph.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/kcc/kcc_utils.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/kcc/ldif_import_export.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/krb5_credentials.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/libsmb_samba_internal.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/lsa_string.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/messaging.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/net_join_no_spnego.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/net_join.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/netcmd.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/netlogonsvc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/ntacls.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/ntlmdisabled.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/pam_winbind_warn_pwd_expire.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/pam_winbind.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/param.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_hash_fl2003.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_hash_fl2008.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_hash_gpgme.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_hash_ldap.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_hash.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/password_quality.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/policy.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/posixacl.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/provision.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/py_credentials.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/registry.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/base.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/dnscmd.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/fsmo.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/gpo.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/group.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/help.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/join.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/ntacl.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/processes.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/provision_password_check.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/rodc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/sites.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/timecmd.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/user_check_password_script.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/user_wdigest.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/user.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/visualize_drs.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool/visualize.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba3.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba3sam.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samdb.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/security.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/source.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/strings.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/subunitrun.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/tdb_util.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/unicodenames.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/upgrade.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/upgradeprovision.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/upgradeprovisionneeddc.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/xattr.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/upgrade.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/upgradehelpers.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/web_server/__init__.py
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/werror.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/xattr_native.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/xattr_tdb.cpython-36m.so
-%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/xattr.py
-%%SAMBA4_PYTHON3%%@unexec find %D/%%PYTHON_SITELIBDIR%%/samba -name '*.py[co]' -delete >/dev/null 2>&1
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/web_server
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/samba_tool
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/dcerpc
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests/blackbox
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/tests
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/samba3
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc
-%%SAMBA4_PYTHON3%%@dir %%SAMBA4_PYTHON3_SITELIBDIR%%/samba
@comment Pidl block
%%DATADIR%%/perl5/Parse/Pidl.pm
%%DATADIR%%/perl5/Parse/Pidl/CUtil.pm
@@ -1126,7 +609,7 @@ man/man1/smbcquotas.1.gz
man/man1/smbget.1.gz
man/man1/smbstatus.1.gz
man/man1/smbtar.1.gz
-%%SAMBA4_PYTHON2%%man/man1/smbtorture.1.gz
+%%SAMBA4_PYTHON%%man/man1/smbtorture.1.gz
man/man1/smbtree.1.gz
man/man1/testparm.1.gz
man/man1/vfstest.1.gz
@@ -1162,7 +645,7 @@ man/man8/net.8.gz
man/man8/nmbd.8.gz
man/man8/pam_winbind.8.gz
man/man8/pdbedit.8.gz
-man/man8/samba_gpoupdate.8.gz
+man/man8/samba-gpupdate.8.gz
man/man8/samba-regedit.8.gz
man/man8/samba-tool.8.gz
man/man8/samba.8.gz
@@ -1184,17 +667,14 @@ man/man8/vfs_default_quota.8.gz
man/man8/vfs_dirsort.8.gz
man/man8/vfs_extd_audit.8.gz
man/man8/vfs_fake_perms.8.gz
-man/man8/vfs_fileid.8.gz
+man/man8/vfs_freebsd.8.gz
man/man8/vfs_fruit.8.gz
man/man8/vfs_full_audit.8.gz
-man/man8/vfs_glusterfs.8.gz
man/man8/vfs_glusterfs_fuse.8.gz
man/man8/vfs_linux_xfs_sgid.8.gz
man/man8/vfs_media_harmony.8.gz
man/man8/vfs_netatalk.8.gz
-man/man8/vfs_nfs4acl_xattr.8.gz
man/man8/vfs_offline.8.gz
-man/man8/vfs_prealloc.8.gz
man/man8/vfs_preopen.8.gz
man/man8/vfs_readahead.8.gz
man/man8/vfs_readonly.8.gz
@@ -1202,12 +682,10 @@ man/man8/vfs_recycle.8.gz
man/man8/vfs_shadow_copy.8.gz
man/man8/vfs_shadow_copy2.8.gz
man/man8/vfs_shell_snap.8.gz
-man/man8/vfs_snapper.8.gz
man/man8/vfs_streams_depot.8.gz
man/man8/vfs_streams_xattr.8.gz
man/man8/vfs_syncops.8.gz
man/man8/vfs_time_audit.8.gz
-man/man8/vfs_tsmsm.8.gz
man/man8/vfs_unityed_media.8.gz
man/man8/vfs_virusfilter.8.gz
man/man8/vfs_worm.8.gz
@@ -1226,33 +704,15 @@ man/man8/winbindd.8.gz
%%CLUSTER%%bin/ltdbtool
%%CLUSTER%%bin/onnode
%%CLUSTER%%bin/ping_pong
-%%CLUSTER%%sbin/ctdbd
-%%CLUSTER%%sbin/ctdbd_wrapper
%%CLUSTER%%etc/ctdb/ctdb-crash-cleanup.sh
-%%CLUSTER%%etc/ctdb/debug-hung-script.sh
%%CLUSTER%%etc/ctdb/debug_locks.sh
-%%CLUSTER%%etc/ctdb/events.d/00.ctdb
-%%CLUSTER%%etc/ctdb/events.d/01.reclock
-%%CLUSTER%%etc/ctdb/events.d/05.system
-%%CLUSTER%%etc/ctdb/events.d/06.nfs
-%%CLUSTER%%etc/ctdb/events.d/10.external
-%%CLUSTER%%etc/ctdb/events.d/10.interface
-%%CLUSTER%%etc/ctdb/events.d/11.natgw
-%%CLUSTER%%etc/ctdb/events.d/11.routing
-%%CLUSTER%%etc/ctdb/events.d/13.per_ip_routing
-%%CLUSTER%%etc/ctdb/events.d/20.multipathd
-%%CLUSTER%%etc/ctdb/events.d/31.clamd
-%%CLUSTER%%etc/ctdb/events.d/40.vsftpd
-%%CLUSTER%%etc/ctdb/events.d/41.httpd
-%%CLUSTER%%etc/ctdb/events.d/49.winbind
-%%CLUSTER%%etc/ctdb/events.d/50.samba
-%%CLUSTER%%etc/ctdb/events.d/60.nfs
-%%CLUSTER%%etc/ctdb/events.d/70.iscsi
-%%CLUSTER%%etc/ctdb/events.d/91.lvs
-%%CLUSTER%%etc/ctdb/events.d/99.timeout
-%%CLUSTER%%etc/ctdb/events.d/README
+%%CLUSTER%%etc/ctdb/debug-hung-script.sh
+%%CLUSTER%%etc/ctdb/events/legacy/00.ctdb.script
+%%CLUSTER%%etc/ctdb/events/legacy/01.reclock.script
+%%CLUSTER%%etc/ctdb/events/legacy/05.system.script
+%%CLUSTER%%etc/ctdb/events/legacy/10.interface.script
+%%CLUSTER%%etc/ctdb/events/notification/README
%%CLUSTER%%etc/ctdb/functions
-%%CLUSTER%%etc/ctdb/gcore_trace.sh
%%CLUSTER%%etc/ctdb/nfs-checks.d/00.portmapper.check
%%CLUSTER%%etc/ctdb/nfs-checks.d/10.status.check
%%CLUSTER%%etc/ctdb/nfs-checks.d/20.nfs.check
@@ -1261,12 +721,10 @@ man/man8/winbindd.8.gz
%%CLUSTER%%etc/ctdb/nfs-checks.d/50.rquotad.check
%%CLUSTER%%etc/ctdb/nfs-checks.d/README
%%CLUSTER%%etc/ctdb/nfs-linux-kernel-callout
-%%CLUSTER%%etc/ctdb/notify.d/README
%%CLUSTER%%etc/ctdb/notify.sh
%%CLUSTER%%etc/ctdb/statd-callout
%%CLUSTER%%etc/sudoers.d/ctdb
-%%CLUSTER%%libexec/ctdb/ctdb_event
-%%CLUSTER%%libexec/ctdb/ctdb_eventd
+%%CLUSTER%%lib/samba4/private/libctdb-event-client-samba4.so
%%CLUSTER%%libexec/ctdb/ctdb_killtcp
%%CLUSTER%%libexec/ctdb/ctdb_lock_helper
%%CLUSTER%%libexec/ctdb/ctdb_lvs
@@ -1274,64 +732,75 @@ man/man8/winbindd.8.gz
%%CLUSTER%%libexec/ctdb/ctdb_natgw
%%CLUSTER%%libexec/ctdb/ctdb_recovery_helper
%%CLUSTER%%libexec/ctdb/ctdb_takeover_helper
+%%CLUSTER%%libexec/ctdb/ctdb-config
+%%CLUSTER%%libexec/ctdb/ctdb-event
+%%CLUSTER%%libexec/ctdb/ctdb-eventd
+%%CLUSTER%%libexec/ctdb/ctdb-path
%%CLUSTER%%libexec/ctdb/smnotify
-%%CLUSTER%%man/man1/ctdb.1.gz
%%CLUSTER%%man/man1/ctdb_diagnostics.1.gz
-%%CLUSTER%%man/man1/ctdbd.1.gz
+%%CLUSTER%%man/man1/ctdb.1.gz
%%CLUSTER%%man/man1/ctdbd_wrapper.1.gz
+%%CLUSTER%%man/man1/ctdbd.1.gz
%%CLUSTER%%man/man1/ltdbtool.1.gz
%%CLUSTER%%man/man1/onnode.1.gz
%%CLUSTER%%man/man1/ping_pong.1.gz
-%%CLUSTER%%man/man5/ctdbd.conf.5.gz
+%%CLUSTER%%man/man5/ctdb-script.options.5.gz
+%%CLUSTER%%man/man5/ctdb.conf.5.gz
+%%CLUSTER%%man/man5/ctdb.sysconfig.5.gz
%%CLUSTER%%man/man7/ctdb-statistics.7.gz
%%CLUSTER%%man/man7/ctdb-tunables.7.gz
%%CLUSTER%%man/man7/ctdb.7.gz
+%%CLUSTER%%sbin/ctdbd
+%%CLUSTER%%sbin/ctdbd_wrapper
+%%CLUSTER%%share/ctdb/events/legacy/00.ctdb.script
+%%CLUSTER%%share/ctdb/events/legacy/01.reclock.script
+%%CLUSTER%%share/ctdb/events/legacy/05.system.script
+%%CLUSTER%%share/ctdb/events/legacy/06.nfs.script
+%%CLUSTER%%share/ctdb/events/legacy/10.interface.script
+%%CLUSTER%%share/ctdb/events/legacy/11.natgw.script
+%%CLUSTER%%share/ctdb/events/legacy/11.routing.script
+%%CLUSTER%%share/ctdb/events/legacy/13.per_ip_routing.script
+%%CLUSTER%%share/ctdb/events/legacy/20.multipathd.script
+%%CLUSTER%%share/ctdb/events/legacy/31.clamd.script
+%%CLUSTER%%share/ctdb/events/legacy/40.vsftpd.script
+%%CLUSTER%%share/ctdb/events/legacy/41.httpd.script
+%%CLUSTER%%share/ctdb/events/legacy/49.winbind.script
+%%CLUSTER%%share/ctdb/events/legacy/50.samba.script
+%%CLUSTER%%share/ctdb/events/legacy/60.nfs.script
+%%CLUSTER%%share/ctdb/events/legacy/70.iscsi.script
+%%CLUSTER%%share/ctdb/events/legacy/91.lvs.script
+%%CLUSTER%%@dir /var/lib/ctdb/volatile
+%%CLUSTER%%@dir /var/lib/ctdb/state
+%%CLUSTER%%@dir /var/lib/ctdb/persistent
%%CLUSTER%%@dir /var/lib/ctdb
%%CLUSTER%%@dir /var/lib
%%CLUSTER%%@dir /var/run/ctdb
@comment Use bundled libraries
-%%SAMBA4_BUNDLED_LDB%%bin/ldbadd
-%%SAMBA4_BUNDLED_LDB%%bin/ldbdel
-%%SAMBA4_BUNDLED_LDB%%bin/ldbedit
-%%SAMBA4_BUNDLED_LDB%%bin/ldbmodify
-%%SAMBA4_BUNDLED_LDB%%bin/ldbrename
-%%SAMBA4_BUNDLED_LDB%%bin/ldbsearch
-%%SAMBA4_BUNDLED_TDB%%bin/tdbbackup
-%%SAMBA4_BUNDLED_TDB%%bin/tdbdump
-%%SAMBA4_BUNDLED_TDB%%bin/tdbrestore
-%%SAMBA4_BUNDLED_TDB%%bin/tdbtool
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
-%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
-%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_tevent.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/ldb.so
-%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/talloc.so
-%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/tdb.so
-%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/tevent.py
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_ldb_text.py
-%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_tdb_text.py
-%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_tevent.cpython-36m.so
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/ldb.cpython-36m.so
-%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/talloc.cpython-36m.so
-%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/tdb.cpython-36m.so
-%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/tevent.py
%%SAMBA4_BUNDLED_CMOCKA%%lib/samba4/private/libcmocka-samba4.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/ldb.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON%%lib/samba4/private/libpyldb-util.so.1
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbdump
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbadd
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbdel
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbedit
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbmodify
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbrename
+%%SAMBA4_BUNDLED_LDB%%bin/samba-ldbsearch
%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb-cmdline-samba4.so
+%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb-key-value-samba4.so
%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb.so.1
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%lib/samba4/private/libpyldb-util.cpython-36m.so.1
-%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%lib/samba4/private/libpyldb-util.so.1
-%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON3%%lib/samba4/private/libpytalloc-util.cpython-36m.so.2
-%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON2%%lib/samba4/private/libpytalloc-util.so.2
-%%SAMBA4_BUNDLED_TALLOC%%lib/samba4/private/libtalloc.so.2
-%%SAMBA4_BUNDLED_TDB%%lib/samba4/private/libtdb.so.1
-%%SAMBA4_BUNDLED_TEVENT%%lib/samba4/private/libtevent.so.0
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/asq.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/paged_results.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/paged_searches.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/rdn_name.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/sample.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/server_sort.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/skel.so
-%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/tdb.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/asq.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldb.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/paged_searches.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/rdn_name.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/sample.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/server_sort.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/skel.so
+%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/tdb.so
+@comment %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/audit_log.so
+@comment %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/group_audit_log.so
+@comment %%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/mdb.so
%%SAMBA4_BUNDLED_LDB%%man/man1/ldbadd.1.gz
%%SAMBA4_BUNDLED_LDB%%man/man1/ldbdel.1.gz
%%SAMBA4_BUNDLED_LDB%%man/man1/ldbedit.1.gz
@@ -1339,8 +808,347 @@ man/man8/winbindd.8.gz
%%SAMBA4_BUNDLED_LDB%%man/man1/ldbrename.1.gz
%%SAMBA4_BUNDLED_LDB%%man/man1/ldbsearch.1.gz
%%SAMBA4_BUNDLED_LDB%%man/man3/ldb.3.gz
+%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/talloc.so
+%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON%%lib/samba4/private/libpytalloc-util.so.2
+%%SAMBA4_BUNDLED_TALLOC%%lib/samba4/private/libtalloc.so.2
%%SAMBA4_BUNDLED_TALLOC%%man/man3/talloc.3.gz
+%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
+%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/tdb.so
+%%SAMBA4_BUNDLED_TDB%%bin/tdbbackup
+%%SAMBA4_BUNDLED_TDB%%bin/tdbdump
+%%SAMBA4_BUNDLED_TDB%%bin/tdbrestore
+%%SAMBA4_BUNDLED_TDB%%bin/tdbtool
+%%SAMBA4_BUNDLED_TDB%%lib/samba4/private/libtdb.so.1
%%SAMBA4_BUNDLED_TDB%%man/man8/tdbbackup.8.gz
%%SAMBA4_BUNDLED_TDB%%man/man8/tdbdump.8.gz
%%SAMBA4_BUNDLED_TDB%%man/man8/tdbrestore.8.gz
%%SAMBA4_BUNDLED_TDB%%man/man8/tdbtool.8.gz
+%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/_tevent.so
+%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON%%%%PYTHON_SITELIBDIR%%/tevent.py
+%%SAMBA4_BUNDLED_TEVENT%%lib/samba4/private/libtevent.so.0
+@comment Python2 block
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dckeytab.so
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/posix_eadb.so
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_native.so
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_tdb.so
+%%PYTHON_SITELIBDIR%%/samba/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/_glue.so
+%%PYTHON_SITELIBDIR%%/samba/_ldb.so
+%%PYTHON_SITELIBDIR%%/samba/auth.so
+%%PYTHON_SITELIBDIR%%/samba/colour.py
+%%PYTHON_SITELIBDIR%%/samba/common.py
+%%PYTHON_SITELIBDIR%%/samba/compat.py
+%%PYTHON_SITELIBDIR%%/samba/credentials.so
+%%PYTHON_SITELIBDIR%%/samba/crypto.so
+%%PYTHON_SITELIBDIR%%/samba/dbchecker.py
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/atsvc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/auth.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/base.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/dcerpc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/dfs.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/dns.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsp.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsserver.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsblobs.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsuapi.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/echo.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/epmapper.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/idmap.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/initshutdown.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/irpc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5pac.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/lsa.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/messaging.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/mgmt.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/misc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/nbt.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/netlogon.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/ntlmssp.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/preg.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/samr.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/security.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/server_id.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/smb_acl.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/spoolss.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/srvsvc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/svcctl.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/unixinfo.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/winbind.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/windows_event_ids.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/winreg.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/winspool.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/witness.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc.so
+%%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr.so
+%%PYTHON_SITELIBDIR%%/samba/descriptor.py
+%%PYTHON_SITELIBDIR%%/samba/dnsserver.py
+%%PYTHON_SITELIBDIR%%/samba/domain_update.py
+%%PYTHON_SITELIBDIR%%/samba/drs_utils.py
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb_dns.so
+%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb.so
+%%PYTHON_SITELIBDIR%%/samba/emulate/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/emulate/traffic_packets.py
+%%PYTHON_SITELIBDIR%%/samba/emulate/traffic.py
+%%PYTHON_SITELIBDIR%%/samba/forest_update.py
+%%PYTHON_SITELIBDIR%%/samba/gensec.so
+%%PYTHON_SITELIBDIR%%/samba/getopt.py
+%%PYTHON_SITELIBDIR%%/samba/gp_ext_loader.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_aas.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_csv.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_inf.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_ini.py
+%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_pol.py
+%%PYTHON_SITELIBDIR%%/samba/gp_sec_ext.py
+%%PYTHON_SITELIBDIR%%/samba/gpclass.py
+%%PYTHON_SITELIBDIR%%/samba/gpo.so
+%%PYTHON_SITELIBDIR%%/samba/graph.py
+%%PYTHON_SITELIBDIR%%/samba/hostconfig.py
+%%PYTHON_SITELIBDIR%%/samba/idmap.py
+%%PYTHON_SITELIBDIR%%/samba/join.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/debug.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/graph_utils.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/graph.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/kcc_utils.py
+%%PYTHON_SITELIBDIR%%/samba/kcc/ldif_import_export.py
+%%PYTHON_SITELIBDIR%%/samba/logger.py
+%%PYTHON_SITELIBDIR%%/samba/mdb_util.py
+%%PYTHON_SITELIBDIR%%/samba/messaging.so
+%%PYTHON_SITELIBDIR%%/samba/ms_display_specifiers.py
+%%PYTHON_SITELIBDIR%%/samba/ms_forest_updates_markdown.py
+%%PYTHON_SITELIBDIR%%/samba/ms_schema_markdown.py
+%%PYTHON_SITELIBDIR%%/samba/ms_schema.py
+%%PYTHON_SITELIBDIR%%/samba/ndr.py
+%%PYTHON_SITELIBDIR%%/samba/net.so
+%%PYTHON_SITELIBDIR%%/samba/netbios.so
+%%PYTHON_SITELIBDIR%%/samba/netcmd/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/common.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/computer.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/dbcheck.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/delegation.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/dns.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/domain_backup.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/domain.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/drs.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/dsacl.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/forest.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/fsmo.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/gpo.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/group.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/ldapcmp.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/main.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/nettime.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/ntacl.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/ou.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/processes.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/pso.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/rodc.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/schema.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/sites.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/spn.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/testparm.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/user.py
+%%PYTHON_SITELIBDIR%%/samba/netcmd/visualize.py
+%%PYTHON_SITELIBDIR%%/samba/ntacls.py
+%%PYTHON_SITELIBDIR%%/samba/ntstatus.so
+%%PYTHON_SITELIBDIR%%/samba/param.so
+%%PYTHON_SITELIBDIR%%/samba/policy.so
+%%PYTHON_SITELIBDIR%%/samba/provision/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/provision/backend.py
+%%PYTHON_SITELIBDIR%%/samba/provision/common.py
+%%PYTHON_SITELIBDIR%%/samba/provision/kerberos_implementation.py
+%%PYTHON_SITELIBDIR%%/samba/provision/kerberos.py
+%%PYTHON_SITELIBDIR%%/samba/provision/sambadns.py
+%%PYTHON_SITELIBDIR%%/samba/registry.so
+%%PYTHON_SITELIBDIR%%/samba/remove_dc.py
+%%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_internal.so
+%%PYTHON_SITELIBDIR%%/samba/samba3/param.so
+%%PYTHON_SITELIBDIR%%/samba/samba3/passdb.so
+%%PYTHON_SITELIBDIR%%/samba/samba3/smbd.so
+%%PYTHON_SITELIBDIR%%/samba/samdb.py
+%%PYTHON_SITELIBDIR%%/samba/schema.py
+%%PYTHON_SITELIBDIR%%/samba/sd_utils.py
+%%PYTHON_SITELIBDIR%%/samba/security.so
+%%PYTHON_SITELIBDIR%%/samba/sites.py
+%%PYTHON_SITELIBDIR%%/samba/smb.so
+%%PYTHON_SITELIBDIR%%/samba/subnets.py
+%%PYTHON_SITELIBDIR%%/samba/subunit/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/subunit/run.py
+%%PYTHON_SITELIBDIR%%/samba/tdb_util.py
+%%PYTHON_SITELIBDIR%%/samba/tests/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_dsdb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_pass_change.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_ncalrpc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon_bad_creds.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_pass_change.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_samlogon.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth_log.py
+%%PYTHON_SITELIBDIR%%/samba/tests/auth.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/bug13653.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/check_output.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/ndrdump.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/netads_json.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/samba_dnsupdate.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol_process.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_learner.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_replay.py
+%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_summary.py
+%%PYTHON_SITELIBDIR%%/samba/tests/common.py
+%%PYTHON_SITELIBDIR%%/samba/tests/complex_expressions.py
+%%PYTHON_SITELIBDIR%%/samba/tests/core.py
+%%PYTHON_SITELIBDIR%%/samba/tests/credentials.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/array.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/bare.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/dnsserver.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/integer.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/misc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_protocol.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_testcase.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/registry.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpc_talloc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpcecho.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/sam.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/srvsvc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/string_tests.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/testrpc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/unix.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dckeytab.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/dns_hub.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/server.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_invalid.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_tkey.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns_wildcard.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dns.py
+%%PYTHON_SITELIBDIR%%/samba/tests/docs.py
+%%PYTHON_SITELIBDIR%%/samba/tests/domain_backup_offline.py
+%%PYTHON_SITELIBDIR%%/samba/tests/domain_backup.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_lock.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_schema_attributes.py
+%%PYTHON_SITELIBDIR%%/samba/tests/dsdb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/emulate/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic_packet.py
+%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic.py
+%%PYTHON_SITELIBDIR%%/samba/tests/encrypted_secrets.py
+%%PYTHON_SITELIBDIR%%/samba/tests/gensec.py
+%%PYTHON_SITELIBDIR%%/samba/tests/get_opt.py
+%%PYTHON_SITELIBDIR%%/samba/tests/getdcname.py
+%%PYTHON_SITELIBDIR%%/samba/tests/glue.py
+%%PYTHON_SITELIBDIR%%/samba/tests/gpo.py
+%%PYTHON_SITELIBDIR%%/samba/tests/graph.py
+%%PYTHON_SITELIBDIR%%/samba/tests/group_audit.py
+%%PYTHON_SITELIBDIR%%/samba/tests/hostconfig.py
+%%PYTHON_SITELIBDIR%%/samba/tests/join.py
+%%PYTHON_SITELIBDIR%%/samba/tests/kcc/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph_utils.py
+%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph.py
+%%PYTHON_SITELIBDIR%%/samba/tests/kcc/kcc_utils.py
+%%PYTHON_SITELIBDIR%%/samba/tests/kcc/ldif_import_export.py
+%%PYTHON_SITELIBDIR%%/samba/tests/krb5_credentials.py
+%%PYTHON_SITELIBDIR%%/samba/tests/libsmb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/loadparm.py
+%%PYTHON_SITELIBDIR%%/samba/tests/lsa_string.py
+%%PYTHON_SITELIBDIR%%/samba/tests/messaging.py
+%%PYTHON_SITELIBDIR%%/samba/tests/net_join_no_spnego.py
+%%PYTHON_SITELIBDIR%%/samba/tests/net_join.py
+%%PYTHON_SITELIBDIR%%/samba/tests/netbios.py
+%%PYTHON_SITELIBDIR%%/samba/tests/netcmd.py
+%%PYTHON_SITELIBDIR%%/samba/tests/netlogonsvc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntacls_backup.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntacls.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_krb5.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth.py
+%%PYTHON_SITELIBDIR%%/samba/tests/ntlmdisabled.py
+%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_chauthtok.py
+%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_warn_pwd_expire.py
+%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind.py
+%%PYTHON_SITELIBDIR%%/samba/tests/param.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2003.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2008.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_gpgme.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_ldap.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_hash.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_quality.py
+%%PYTHON_SITELIBDIR%%/samba/tests/password_test.py
+%%PYTHON_SITELIBDIR%%/samba/tests/policy.py
+%%PYTHON_SITELIBDIR%%/samba/tests/posixacl.py
+%%PYTHON_SITELIBDIR%%/samba/tests/prefork_restart.py
+%%PYTHON_SITELIBDIR%%/samba/tests/process_limits.py
+%%PYTHON_SITELIBDIR%%/samba/tests/provision.py
+%%PYTHON_SITELIBDIR%%/samba/tests/pso.py
+%%PYTHON_SITELIBDIR%%/samba/tests/py_credentials.py
+%%PYTHON_SITELIBDIR%%/samba/tests/registry.py
+%%PYTHON_SITELIBDIR%%/samba/tests/s3idmapdb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/s3param.py
+%%PYTHON_SITELIBDIR%%/samba/tests/s3passdb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/s3registry.py
+%%PYTHON_SITELIBDIR%%/samba/tests/s3windb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/computer.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/demote.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dnscmd.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/forest.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/fsmo.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/group.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/help.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ntacl.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ou.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/passwordsettings.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/processes.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_password_check.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/rodc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/schema.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/sites.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/timecmd.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_check_password_script.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_wdigest.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize_drs.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samba3sam.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samdb_api.py
+%%PYTHON_SITELIBDIR%%/samba/tests/samdb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/security.py
+%%PYTHON_SITELIBDIR%%/samba/tests/smb.py
+%%PYTHON_SITELIBDIR%%/samba/tests/smbd_base.py
+%%PYTHON_SITELIBDIR%%/samba/tests/source.py
+%%PYTHON_SITELIBDIR%%/samba/tests/strings.py
+%%PYTHON_SITELIBDIR%%/samba/tests/subunitrun.py
+%%PYTHON_SITELIBDIR%%/samba/tests/tdb_util.py
+%%PYTHON_SITELIBDIR%%/samba/tests/upgrade.py
+%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovision.py
+%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovisionneeddc.py
+%%PYTHON_SITELIBDIR%%/samba/tests/xattr.py
+%%PYTHON_SITELIBDIR%%/samba/third_party/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/upgrade.py
+%%PYTHON_SITELIBDIR%%/samba/upgradehelpers.py
+%%PYTHON_SITELIBDIR%%/samba/web_server/__init__.py
+%%PYTHON_SITELIBDIR%%/samba/uptodateness.py
+%%PYTHON_SITELIBDIR%%/samba/werror.so
+%%PYTHON_SITELIBDIR%%/samba/xattr.py
+@unexec find %D/%%PYTHON_SITELIBDIR%%/samba -name '*.py[co]' -delete >/dev/null 2>&1
+@dir %%PYTHON_SITELIBDIR%%/samba/web_server
+@dir %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool
+@dir %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc
+@dir %%PYTHON_SITELIBDIR%%/samba/tests/blackbox
+@dir %%PYTHON_SITELIBDIR%%/samba/tests
+@dir %%PYTHON_SITELIBDIR%%/samba/samba3
+@dir %%PYTHON_SITELIBDIR%%/samba/provision
+@dir %%PYTHON_SITELIBDIR%%/samba/netcmd
+@dir %%PYTHON_SITELIBDIR%%/samba/dcerpc
+@dir %%PYTHON_SITELIBDIR%%/samba