Index: head/net/samba410/Makefile =================================================================== --- head/net/samba410/Makefile (revision 509382) +++ head/net/samba410/Makefile (revision 509383) @@ -1,608 +1,640 @@ # Created by: timur@FreeBSD.org # $FreeBSD$ PORTNAME= ${SAMBA4_BASENAME}410 PORTVERSION= ${SAMBA4_VERSION} -PORTREVISION= 1 +PORTREVISION= 0 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} MAINTAINER= timur@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix LICENSE= GPLv3+ 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-9]-4.* p5-Parse-Pidl-4.* EXTRA_PATCHES+= ${PATCHDIR}/0001-Zfs-provision-1.patch:-p1 SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 -SAMBA4_VERSION= 4.10.5 +SAMBA4_VERSION= 4.10.6 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} .if !defined(SAMBA4_SUBPORT) CPE_VENDOR= samba CPE_PRODUCT= samba # Directories VARDIR= ${DESTDIR}/var SAMBA4_RUNDIR= ${VARDIR}/run/${SAMBA4_PORTNAME} SAMBA4_LOGDIR= ${VARDIR}/log/${SAMBA4_PORTNAME} SAMBA4_LOCKDIR= ${VARDIR}/db/${SAMBA4_PORTNAME} SAMBA4_BINDDNSDIR= ${SAMBA4_LOCKDIR}/bind-dns SAMBA4_PRIVATEDIR= ${SAMBA4_LOCKDIR}/private SAMBA4_PAMDIR= ${PREFIX}/lib SAMBA4_LIBDIR= ${PREFIX}/lib/${SAMBA4_PORTNAME} SAMBA4_INCLUDEDIR= ${PREFIX}/include/${SAMBA4_PORTNAME} SAMBA4_CONFDIR= ${PREFIX}/etc SAMBA4_CONFIG= smb4.conf CONFIGURE_ARGS+= --mandir="${MANPREFIX}/man" \ --sysconfdir="${SAMBA4_CONFDIR}" \ --includedir="${SAMBA4_INCLUDEDIR}" \ --datadir="${DATADIR}" \ --libdir="${SAMBA4_LIBDIR}" \ --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ --with-pammodulesdir="${SAMBA4_PAMDIR}" \ --with-modulesdir="${SAMBA4_MODULEDIR}" \ --with-pkgconfigdir="${PKGCONFIGDIR}" \ --localstatedir="${VARDIR}" \ --with-piddir="${SAMBA4_RUNDIR}" \ --with-sockets-dir="${SAMBA4_RUNDIR}" \ --with-privileged-socket-dir="${SAMBA4_RUNDIR}" \ --with-lockdir="${SAMBA4_LOCKDIR}" \ --with-statedir="${SAMBA4_LOCKDIR}" \ --with-cachedir="${SAMBA4_LOCKDIR}" \ --with-bind-dns-dir=${SAMBA4_BINDDNSDIR} \ --with-privatedir="${SAMBA4_PRIVATEDIR}" \ --with-logfilebase="${SAMBA4_LOGDIR}" # XXX: Flags CONFIGURE_ENV+= PTHREAD_LDFLAGS="-lpthread" USES= compiler:c++11-lang cpe iconv gettext-runtime \ localbase:ldflags perl5 pkgconfig shebangfix \ ssl waf USE_PERL5= build USE_LDCONFIG= ${SAMBA4_LIBDIR} LLD_UNSAFE= yes WAF_CMD= buildtools/bin/waf CONFIGURE_LOG= bin/config.log PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} PLIST_SUB+= PKGCONFIGDIR=${PKGCONFIGDIR_REL} SUB_LIST+= PKGCONFIGDIR=${PKGCONFIGDIR_REL} ############################################################################## # Options OPTIONS_SUB= yes OPTIONS_DEFINE= AD_DC ADS DEBUG DOCS FAM LDAP \ QUOTAS SYSLOG UTMP PROFILE # Make those default options -OPTIONS_DEFAULT:= ${OPTIONS_DEFINE} GSSAPI_BUILTIN +OPTIONS_DEFAULT:= ${OPTIONS_DEFINE} GSSAPI_BUILTIN AVAHI # This shouldn't be default in the release OPTIONS_DEFINE+= DEVELOPER MANDOC OPTIONS_DEFINE_amd64= AESNI OPTIONS_DEFAULT_amd64= AESNI OPTIONS_DEFINE+= CLUSTER CUPS GLUSTERFS GPGME NTVFS SPOTLIGHT #OPTIONS_DEFINE+= MEMORY_DEBUG -OPTIONS_SINGLE= GSSAPI +OPTIONS_SINGLE= GSSAPI ZEROCONF # GSSAPI_HEIMDAL OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT +OPTIONS_SINGLE_ZEROCONF= AVAHI MDNSRESPONDER -OPTIONS_RADIO= DNS ZEROCONF -OPTIONS_RADIO_DNS= NSUPDATE BIND911 BIND913 BIND914 -OPTIONS_RADIO_ZEROCONF= MDNSRESPONDER AVAHI +OPTIONS_RADIO= DNS +OPTIONS_RADIO_DNS= NSUPDATE BIND911 BIND914 ############################################################################## AD_DC_DESC= Active Directory Domain Controller ADS_DESC= Active Directory client(implies LDAP) AESNI_DESC= Accelerated AES crypto functions(amd64 only) CLUSTER_DESC= Clustering DEVELOPER_DESC= With developer framework(implies NTVFS) FAM_DESC= File Alteration Monitor GPGME_DESC= GpgME GLUSTERFS_DESC= GlusterFS LDAP_DESC= LDAP client LIBZFS_DESC= LibZFS SPOTLIGHT_DESC= Spotlight MANDOC_DESC= Build manpages from DOCBOOK templates MEMORY_DEBUG_DESC= Debug memory allocation NTVFS_DESC= Build *DEPRECATED* NTVFS file server PICKY_DEVELOPER_DESC= Treat compiler warnings as errors(implies DEVELOPER) PROFILE_DESC= Profiling data QUOTAS_DESC= Disk quota UTMP_DESC= UTMP accounting GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal BIND911_DESC= Use Bind 9.11 as AD DC DNS server frontend -BIND913_DESC= Use Bind 9.13 as AD DC DNS server frontend BIND914_DESC= Use Bind 9.14 as AD DC DNS server frontend NSUPDATE_DESC= Use samba NSUPDATE utility for AD DC ############################################################################## # XXX: Unconditional dependencies which can't be switched off(if present in # the system) # Readline(sponsored by Python) # XXX: USES=readline pollutes CPPFLAGS, so we explicitly put dependency LIB_DEPENDS+= libreadline.so:devel/readline # popt LIB_DEPENDS+= libpopt.so:devel/popt # inotify LIB_DEPENDS+= libinotify.so:devel/libinotify # GNUTLS LIB_DEPENDS+= libgnutls.so:security/gnutls # NFS4 ACL glue 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 # Libarchive SAMBA4_BUNDLED_LIBS+= !libarchive BUILD_DEPENDS+= libarchive>=3.1.2:archivers/libarchive RUN_DEPENDS+= libarchive>=3.1.2:archivers/libarchive ### Bundled libraries SAMBA4_BUNDLED_CMOCKA?= no SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TDB?= no SAMBA4_BUNDLED_LDB?= yes -SAMBA4_LDB= 15 # cmocka .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes SAMBA4_BUNDLED_LIBS+= cmocka +SAMBA4_BUILTIN_LIBS+= cmocka CONFLICTS+= cmocka-1.* PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="" SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="" .else SAMBA4_BUNDLED_LIBS+= !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 +SAMBA4_BUILTIN_LIBS+= talloc CONFLICTS+= talloc-* talloc1-* PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="" SUB_LIST+= SAMBA4_BUNDLED_TALLOC="" .else SAMBA4_BUNDLED_LIBS+= !talloc 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 +SAMBA4_BUILTIN_LIBS+= tevent CONFLICTS+= tevent-* tevent1-* PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="" SUB_LIST+= SAMBA4_BUNDLED_TEVENT="" .else SAMBA4_BUNDLED_LIBS+= !tevent 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 +SAMBA4_BUILTIN_LIBS+= tdb CONFLICTS+= tdb-* tdb1-* PLIST_SUB+= SAMBA4_BUNDLED_TDB="" SUB_LIST+= SAMBA4_BUNDLED_TDB="" .else SAMBA4_BUNDLED_LIBS+= !tdb 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 # ldb -.if (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) || !defined(SAMBA4_LDB) +.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes SAMBA4_BUNDLED_LDB= yes SAMBA4_BUNDLED_LIBS+= ldb +SAMBA4_BUILTIN_LIBS+= ldb PLIST_SUB+= SAMBA4_BUNDLED_LDB="" SUB_LIST+= SAMBA4_BUNDLED_LDB="" SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules .else SAMBA4_BUNDLED_LIBS+= !ldb -BUILD_DEPENDS+= ldb14>=1.5.4:databases/ldb15 -RUN_DEPENDS+= ldb14>=1.5.4:databases/ldb15 +BUILD_DEPENDS+= ldb15>=1.5.4:databases/ldb15 +RUN_DEPENDS+= ldb15>=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) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ + || (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \ || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) SAMBA4_BUNDLED_LIBS+= replace +#SAMBA4_BUILTIN_LIBS+= replace .endif # Don't use external libcom_err SAMBA4_BUNDLED_LIBS+= com_err # Set the test environment variables TEST_USES= python TEST_ENV+= PYTHON="${PYTHON_CMD}" \ SHA1SUM=/sbin/sha1 \ SHA256SUM=/sbin/sha256 \ MD5SUM=/sbin/md5 TEST_DEPENDS+= bash:shells/bash \ tshark:net/tshark ############################################################################## CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ --with-winbind \ --with-regedit \ --disable-rpath \ --without-lttng \ --without-gettext \ --enable-pthreadpool \ --without-fake-kaserver \ --without-systemd \ --enable-gnutls \ --with-libarchive \ --with-acl-support \ --with-sendfile-support \ --disable-ctdb-tests \ ${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 AVAHI_CONFIGURE_ENABLE= avahi AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon MDNSRESPONDER_CONFIGURE_ENABLE= dnssd MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd ############################################################################## DEBUG_CONFIGURE_ON= --verbose --enable-debug DEBUG_MAKE_ARGS= --verbose DEBUG_FLAGS= -g -ggdb3 -O0 MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 GDB_CMD?= ${LOCALBASE}/bin/gdb # https://bugzilla.samba.org/show_bug.cgi?id=8969 PICKY_DEVELOPER_IMPLIES= DEVELOPER PICKY_DEVELOPER_CONFIGURE_ON= --picky-developer DEVELOPER_IMPLIES= NTVFS DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable 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_IMPLIES= AD_DC NTVFS_CONFIGURE_WITH= ntvfs-fileserver NTVFS_PLIST_FILES= ${SAMBA4_MODULEDIR}/service/smb.so \ lib/samba4/private/libntvfs-samba4.so ############################################################################## CLUSTER_CONFIGURE_WITH= cluster-support CUPS_CONFIGURE_ENABLE= cups iprint CUPS_LIB_DEPENDS= libcups.so:print/cups # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_USES= fam 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 PROFILE_CONFIGURE_WITH= profiling-data QUOTAS_CONFIGURE_WITH= quotas SPOTLIGHT_CONFIGURE_ENABLE= spotlight SPOTLIGHT_BUILD_DEPENDS= tracker>=1.4.1:sysutils/tracker SPOTLIGHT_RUN_DEPENDS= tracker>=1.4.1:sysutils/tracker SPOTLIGHT_USES= bison SPOTLIGHT_USE= gnome=glib20 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 LDAP_CONFIGURE_WITH= ldap LDAP_CONFIGURE_ON= --with-openldap=${LOCALBASE} LDAP_USE= OPENLDAP=yes LDAP_VARS= SAMBA4_MODULES+=idmap_ldap GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc GSSAPI_MIT_USES= gssapi:mit LIBZFS_CONFIGURE_WITH= libzfs LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space MANDOC_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt MANDOC_CONFIGURE_ENV_OFF= XSLTPROC="true" # !SAMBA4_SUBPORT .endif ############################################################################## .include ############################################################################## .if !defined(SAMBA4_SUBPORT) .if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime .endif .if ${WANT_EXP_MODULES:Mvfs_snapper} # snapper needs dbus LIB_DEPENDS+= libdbus-1.so:devel/dbus LIB_DEPENDS+= libdbus-glib-1.so:devel/dbus-glib .endif SAMBA4_MODULES+= vfs_freebsd SAMBA4_MODULES+= idmap_nss idmap_autorid idmap_rid idmap_hash idmap_tdb idmap_tdb2 idmap_script nss-info_hash # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 .if ${PORT_OPTIONS:MADS} SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20 .endif .if ${PORT_OPTIONS:MDEVELOPER} SAMBA4_MODULES+= auth_skel pdb_test gpext_security gpext_registry gpext_scripts perfcount_test \ vfs_fake_dfq vfs_skel_opaque vfs_skel_transparent vfs_shadow_copy_test vfs_fake_acls \ vfs_nfs4acl_xattr vfs_error_inject vfs_delay_inject .endif - -.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) -SAMBA4_MODULES+= ${WANT_EXP_MODULES} -.endif - -.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS) -CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" -.endif - -.if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES) -CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}" -.endif -# XXX: Hack for nss-info_* -> nss_info/* modules -# Add selected modules to the plist -.for module in ${SAMBA4_MODULES} -PLIST_FILES+= ${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so -.endfor # Python bindings .if defined(NO_PYTHON) USES+= python:2.7+,build,test CONFIGURE_ARGS+= --disable-python PLIST_SUB+= SAMBA4_PYTHON="@comment " SUB_LIST+= SAMBA4_PYTHON="@comment " .else USES+= python:3.4+ PLIST_SUB+= SAMBA4_PYTHON="" SUB_LIST+= SAMBA4_PYTHON="" -.if !defined(SAMBA4_BUNDLED_TALLOC) +.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes +SAMBA4_BUNDLED_LIBS+= pytalloc-util +.else SAMBA4_BUNDLED_LIBS+= !pytalloc-util .endif -.if !defined(SAMBA4_BUNDLED_TEVENT) + +.if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes +SAMBA4_BUNDLED_LIBS+= pytevent +.else SAMBA4_BUNDLED_LIBS+= !pytevent .endif -.if !defined(SAMBA4_BUNDLED_TDB) + +.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes +SAMBA4_BUNDLED_LIBS+= pytdb +.else SAMBA4_BUNDLED_LIBS+= !pytdb .endif -.if !defined(SAMBA4_BUNDLED_LDB) -SAMBA4_BUNDLED_LIBS+= !pyldb,!pyldb-util + +.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes +SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util +.else +SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util .endif # External Python modules BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=1.15.0:dns/py-dnspython@${PY_FLAVOR} RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}dnspython>=1.15.0:dns/py-dnspython@${PY_FLAVOR} 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} .endif + +.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) +SAMBA4_MODULES+= ${WANT_EXP_MODULES} +.endif + +.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS) +CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" +CONFIGURE_ARGS+= --builtin-libraries="${SAMBA4_BUILTIN_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" +.endif + +.if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES) +CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}" +.endif +# XXX: Hack for nss-info_* -> nss_info/* modules +# Add selected modules to the plist +.for module in ${SAMBA4_MODULES} +PLIST_FILES+= ${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so +.endfor # !SAMBA4_SUBPORT .endif ############################################################################## .include ############################################################################## .if !defined(SAMBA4_SUBPORT) # Require llvm 4.0 and AMD64 .if ${PORT_OPTIONS:MAESNI} && ${ARCH} == "amd64" CONFIGURE_ARGS+= --accel-aes=intelaesni PLIST_FILES+= lib/samba4/private/libaesni-intel-samba4.so .else 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+= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \ man/man8/winbind_krb5_localauth.8.gz . if ${PORT_OPTIONS:MAD_DC} PLIST_FILES+= lib/samba4/krb5/plugins/kdb/samba.so . endif .endif # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer # No fancy color error messages CONFIGURE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' 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 to find proper CPP MAKE_ENV+= RPCGEN_CPP="${CPP}" #.if ${readline_ARGS} == port #CFLAGS+= -D_FUNCTION_DEF #.endif # Make sure that the right version of Python is used by the tools # https://bugzilla.samba.org/show_bug.cgi?id=7305 SHEBANG_FILES= ${PATCH_WRKSRC}/source4/scripting/bin/* ${PATCH_WRKSRC}/selftest/* SAMBA4_SUB= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ SAMBA4_SERVICES="${SAMBA4_SERVICES}" PLIST_SUB+= ${SAMBA4_SUB} SUB_LIST+= ${SAMBA4_SUB} USE_RC_SUBR= samba_server SUB_FILES= pkg-message README.FreeBSD PORTDOCS= README.FreeBSD post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: @${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${PKGCONFIGDIR}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py @${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${GDB_CMD}|g' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript @${REINPLACE_CMD} -e '1s|/bin/bash|/bin/sh|' \ ${PATCH_WRKSRC}/ctdb/tools/onnode # Use threading (or multiprocessing) but not thread (renamed in python 3+). pre-configure: .if ! ${PORT_OPTIONS:MAD_DC} && ${PORT_OPTIONS:MNTVFS} @${ECHO_CMD}; \ ${ECHO_MSG} "===> NTVFS option requires AD_DC to be set"; \ ${ECHO_CMD}; \ ${FALSE} .endif @if ! ${PYTHON_CMD} -c "import multiprocessing;" 2>/dev/null; then \ ${ECHO_CMD}; \ ${ECHO_MSG} "===> ${PKGNAME} "${IGNORE_NONTHREAD_PYTHON:Q}.; \ ${ECHO_CMD}; \ ${FALSE}; \ fi pre-build-MANDOC-off: ${MKDIR} ${BUILD_WRKSRC}/bin/default/docs-xml/ ${CP} -rp ${BUILD_WRKSRC}/docs/manpages ${BUILD_WRKSRC}/bin/default/docs-xml/ .for man in libcli/nbt/man/nmblookup4.1 \ librpc/tools/ndrdump.1 \ source4/lib/registry/man/regdiff.1 \ source4/lib/registry/man/regpatch.1 \ source4/lib/registry/man/regshell.1 \ source4/lib/registry/man/regtree.1 \ source4/scripting/man/samba-gpupdate.8 \ source4/torture/man/gentest.1 \ source4/torture/man/locktest.1 \ source4/torture/man/masktest.1 \ source4/torture/man/smbtorture.1 \ source4/utils/man/ntlm_auth4.1 \ source4/utils/man/oLschema2ldif.1 \ lib/tdb/man/tdbdump.8 \ lib/tdb/man/tdbbackup.8 \ lib/tdb/man/tdbtool.8 \ lib/talloc/man/talloc.3 \ lib/tdb/man/tdbrestore.8 \ - lib/ldb/man/ldb.3 \ lib/ldb/man/ldbadd.1 \ lib/ldb/man/ldbsearch.1 \ lib/ldb/man/ldbmodify.1 \ lib/ldb/man/ldbrename.1 \ lib/ldb/man/ldbdel.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 \ 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 .endif post-install-rm-junk: -.for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 - ${RM} ${STAGEDIR}${PREFIX}/man/man8/${f} -.endfor .if defined(NO_PYTHON) ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party/dns \ ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party/iso8601 .endif -post-install: post-install-rm-junk +post-install-fix-manpages: +.for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 + ${RM} ${STAGEDIR}${PREFIX}/man/man8/${f} +.endfor +.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes +. for f in ldbadd.1 ldbdel.1 ldbedit.1 ldbmodify.1 ldbrename.1 ldbsearch.1 + ${MV} ${STAGEDIR}${PREFIX}/man/man1/${f} ${STAGEDIR}${PREFIX}/man/man1/samba-${f} +. endfor +.endif +.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes +. for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8 + ${MV} ${STAGEDIR}${PREFIX}/man/man8/${f} ${STAGEDIR}${PREFIX}/man/man8/samba-${f} +. endfor +.endif + +post-install: post-install-rm-junk post-install-fix-manpages ${LN} -sf smb.conf.5.gz ${STAGEDIR}${PREFIX}/man/man5/smb4.conf.5.gz # Run post-install script .for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" .endfor ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_BINDDNSDIR}" ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_PRIVATEDIR}" .for dir in auth bind9 gensec gpext idmap ldb nss_info pdb perfcount process_model service vfs ${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA4_MODULEDIR}/${dir}" .endfor post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} .for doc in ${PORTDOCS} ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} .endfor + +post-install-CLUSTER-on: + ${LN} -nfs ../../../../share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script + ${LN} -nfs ../../../../share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script + ${LN} -nfs ../../../../share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script + ${LN} -nfs ../../../../share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script # !SAMBA4_SUBPORT .endif .include Index: head/net/samba410/distinfo =================================================================== --- head/net/samba410/distinfo (revision 509382) +++ head/net/samba410/distinfo (revision 509383) @@ -1,3 +1,3 @@ -TIMESTAMP = 1560986236 -SHA256 (samba-4.10.5.tar.gz) = 6c10266d5e8c44ce1ea17dc993ace67a83607b4d9a830959c75e3188c6af6375 -SIZE (samba-4.10.5.tar.gz) = 18290612 +TIMESTAMP = 1562972432 +SHA256 (samba-4.10.6.tar.gz) = 9efbeb52db1203dc779b118f1c48c161e569f7a6af5101e745497ee6296eef42 +SIZE (samba-4.10.6.tar.gz) = 18306135 Index: head/net/samba410/files/man/ldb.3 =================================================================== --- head/net/samba410/files/man/ldb.3 (revision 509382) +++ head/net/samba410/files/man/ldb.3 (nonexistent) @@ -1,457 +0,0 @@ -'\" t -.\" Title: ldb -.\" Author: [see the "Author" section] -.\" Generator: DocBook XSL Stylesheets v1.76.1 -.\" Date: 11/05/2017 -.\" Manual: System Administration tools -.\" Source: LDB 1.1 -.\" Language: English -.\" -.TH "LDB" "3" "11/05/2017" "LDB 1\&.1" "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" -ldb \- A light\-weight database library -.SH "SYNOPSIS" -.sp -.nf -#include -.fi -.SH "DESCRIPTION" -.PP -ldb is a light weight embedded database library and API\&. With a programming interface that is very similar to LDAP, ldb can store its data either in a tdb(3) database or in a real LDAP database\&. -.PP -When used with the tdb backend ldb does not require any database daemon\&. Instead, ldb function calls are processed immediately by the ldb library, which does IO directly on the database, while allowing multiple readers/writers using operating system byte range locks\&. This leads to an API with very low overheads, often resulting in speeds of more than 10x what can be achieved with a more traditional LDAP architecture\&. -.PP -In a taxonomy of databases ldb would sit half way between key/value pair databases (such as berkley db or tdb) and a full LDAP database\&. With a structured attribute oriented API like LDAP and good indexing capabilities, ldb can be used for quite sophisticated applications that need a light weight database, without the administrative overhead of a full LDAP installation\&. -.PP -Included with ldb are a number of useful command line tools for manipulating a ldb database\&. These tools are similar in style to the equivalent ldap command line tools\&. -.PP -In its default mode of operation with a tdb backend, ldb can also be seen as a "schema\-less LDAP"\&. By default ldb does not require a schema, which greatly reduces the complexity of getting started with ldb databases\&. As the complexity of you application grows you can take advantage of some of the optional schema\-like attributes that ldb offers, or you can migrate to using the full LDAP api while keeping your exiting ldb code\&. -.PP -If you are new to ldb, then I suggest starting with the manual pages for ldbsearch(1) and ldbedit(1), and experimenting with a local database\&. Then I suggest you look at the ldb_connect(3) and ldb_search(3) manual pages\&. -.SH "TOOLS" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -ldbsearch(1) -\- command line ldb search utility -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -ldbedit(1) -\- edit all or part of a ldb database using your favourite editor -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -ldbadd(1) -\- add records to a ldb database using LDIF formatted input -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -ldbdel(1) -\- delete records from a ldb database -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -ldbmodify(1) -\- modify records in a ldb database using LDIF formatted input -.RE -.SH "FUNCTIONS" -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_connect(3)\fR -\- connect to a ldb backend -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_search(3)\fR -\- perform a database search -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_add(3)\fR -\- add a record to the database -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_delete(3)\fR -\- delete a record from the database -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_modify(3)\fR -\- modify a record in the database -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_errstring(3)\fR -\- retrieve extended error information from the last operation -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_write(3)\fR -\- write a LDIF formatted message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_write_file(3)\fR -\- write a LDIF formatted message to a file -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_read(3)\fR -\- read a LDIF formatted message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_read_free(3)\fR -\- free the result of a ldb_ldif_read() -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_read_file(3)\fR -\- read a LDIF message from a file -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_ldif_read_string(3)\fR -\- read a LDIF message from a string -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_element(3)\fR -\- find an element in a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_val_equal_exact(3)\fR -\- compare two ldb_val structures -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_val(3)\fR -\- find an element by value -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_add_empty(3)\fR -\- add an empty message element to a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_add(3)\fR -\- add a non\-empty message element to a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_element_compare(3)\fR -\- compare two ldb_message_element structures -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_int(3)\fR -\- return an integer value from a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_uint(3)\fR -\- return an unsigned integer value from a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_double(3)\fR -\- return a double value from a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_msg_find_string(3)\fR -\- return a string value from a ldb_message -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_set_alloc(3)\fR -\- set the memory allocation function to be used by ldb -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_set_debug(3)\fR -\- set a debug handler to be used by ldb -.RE -.sp -.RS 4 -.ie n \{\ -\h'-04'\(bu\h'+03'\c -.\} -.el \{\ -.sp -1 -.IP \(bu 2.3 -.\} - -\fBldb_set_debug_stderr(3)\fR -\- set a debug handler for stderr output -.RE -.SH "AUTHOR" -.PP -ldb was written by -\m[blue]\fBAndrew Tridgell\fR\m[]\&\s-2\u[1]\d\s+2\&. -.PP -If you wish to report a problem or make a suggestion then please see the -\m[blue]\fB\%http://ldb.samba.org/\fR\m[] -web site for current contact and maintainer information\&. -.PP -ldb is released under the GNU Lesser General Public License version 2 or later\&. Please see the file COPYING for license details\&. -.SH "NOTES" -.IP " 1." 4 -Andrew Tridgell -.RS 4 -\%https://www.samba.org/~tridge/ -.RE Property changes on: head/net/samba410/files/man/ldb.3 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/samba410/files/patch-lib_ldb_wscript =================================================================== --- head/net/samba410/files/patch-lib_ldb_wscript (revision 509382) +++ head/net/samba410/files/patch-lib_ldb_wscript (revision 509383) @@ -1,24 +1,63 @@ ---- lib/ldb/wscript.orig 2019-05-07 08:38:21 UTC +--- lib/ldb/wscript.orig 2019-07-08 12:47:51 UTC +++ lib/ldb/wscript -@@ -451,7 +451,7 @@ def build(bld): +@@ -218,7 +218,7 @@ def build(bld): + if bld.env.standalone_ldb: + if not 'PACKAGE_VERSION' in bld.env: + bld.env.PACKAGE_VERSION = VERSION +- bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' ++ bld.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%' + private_library = False + else: + private_library = True +@@ -298,7 +298,6 @@ def build(bld): + pc_files='ldb.pc', + vnum=VERSION, + private_library=private_library, +- manpages='man/ldb.3', + abi_directory='ABI', + abi_match = abi_match) +@@ -451,7 +450,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): +@@ -463,10 +462,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', +@@ -511,11 +510,6 @@ def build(bld): + deps='cmocka ldb', + install=False) + +- bld.SAMBA_BINARY('ldb_match_test', +- source='tests/ldb_match_test.c', +- deps='cmocka ldb', +- install=False) +- + if bld.CONFIG_SET('HAVE_LMDB'): + bld.SAMBA_BINARY('ldb_mdb_mod_op_test', + source='tests/ldb_mod_op_test.c', +@@ -583,8 +577,7 @@ def test(ctx): + # we don't want to run ldb_lmdb_size_test (which proves we can + # fit > 4G of data into the DB), it would fill up the disk on + # many of our test instances +- 'ldb_mdb_kv_ops_test', +- 'ldb_match_test'] ++ 'ldb_mdb_kv_ops_test'] + + for test_exe in test_exes: + cmd = os.path.join(Context.g_module.out, test_exe) Index: head/net/samba410/files/patch-lib_tdb_wscript =================================================================== --- head/net/samba410/files/patch-lib_tdb_wscript (nonexistent) +++ head/net/samba410/files/patch-lib_tdb_wscript (revision 509383) @@ -0,0 +1,27 @@ +--- lib/tdb/wscript.orig 2019-07-02 22:39:54 UTC ++++ lib/tdb/wscript +@@ -145,20 +145,20 @@ def build(bld): + 'tdb', + install=False) + +- bld.SAMBA_BINARY('tdbrestore', ++ bld.SAMBA_BINARY('samba-tdbrestore', + 'tools/tdbrestore.c', + 'tdb', manpages='man/tdbrestore.8') + +- bld.SAMBA_BINARY('tdbdump', ++ bld.SAMBA_BINARY('samba-tdbdump', + 'tools/tdbdump.c', + 'tdb', manpages='man/tdbdump.8') + +- bld.SAMBA_BINARY('tdbbackup', ++ bld.SAMBA_BINARY('samba-tdbbackup', + 'tools/tdbbackup.c', + 'tdb', + manpages='man/tdbbackup.8') + +- bld.SAMBA_BINARY('tdbtool', ++ bld.SAMBA_BINARY('samba-tdbtool', + 'tools/tdbtool.c', + 'tdb', manpages='man/tdbtool.8') + Property changes on: head/net/samba410/files/patch-lib_tdb_wscript ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/samba410/files/patch-listen-backlog =================================================================== --- head/net/samba410/files/patch-listen-backlog (revision 509382) +++ head/net/samba410/files/patch-listen-backlog (revision 509383) @@ -1,94 +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); ++ ret = listen(listen_sock, DEFAULT_LISTEN_BACKLOG); 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; } Index: head/net/samba410/files/patch-vfs_freebsd =================================================================== --- head/net/samba410/files/patch-vfs_freebsd (revision 509382) +++ head/net/samba410/files/patch-vfs_freebsd (revision 509383) @@ -1,1010 +1,1002 @@ --- 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,808 @@ +@@ -0,0 +1,800 @@ +/* + * This module implements VFS calls specific to FreeBSD + * + * Copyright (C) Timur I. Bakeyev, 2018 + * + * 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 . + */ + +#include "includes.h" + +#include "lib/util/tevent_unix.h" +#include "lib/util/tevent_ntstatus.h" +#include "system/filesys.h" + +#include + +static int vfs_freebsd_debug_level = DBGC_VFS; + +#undef DBGC_CLASS +#define DBGC_CLASS vfs_freebsd_debug_level + +#ifndef EXTATTR_MAXNAMELEN +#define EXTATTR_MAXNAMELEN UINT8_MAX +#endif + +#define EXTATTR_NAMESPACE(NS) EXTATTR_NAMESPACE_ ## NS, \ + EXTATTR_NAMESPACE_ ## NS ## _STRING ".", \ + .data.len = (sizeof(EXTATTR_NAMESPACE_ ## NS ## _STRING ".") - 1) + +#define EXTATTR_EMPTY 0x00 +#define EXTATTR_USER 0x01 +#define EXTATTR_SYSTEM 0x02 +#define EXTATTR_SECURITY 0x03 +#define EXTATTR_TRUSTED 0x04 + +enum extattr_mode { + FREEBSD_EXTATTR_SECURE, + FREEBSD_EXTATTR_COMPAT, + FREEBSD_EXTATTR_LEGACY +}; + +typedef struct { + int namespace; + char name[EXTATTR_MAXNAMELEN+1]; + union { + uint16_t len; + uint16_t flags; + } data; +} extattr_attr; + +typedef struct { + enum { + EXTATTR_FILE, EXTATTR_LINK, EXTATTR_FDES + } method; + union { + const char *path; + int filedes; + } param; +} extattr_arg; + +static const struct enum_list extattr_mode_param[] = { + { FREEBSD_EXTATTR_SECURE, "secure" }, /* */ + { FREEBSD_EXTATTR_COMPAT, "compat" }, /* */ + { FREEBSD_EXTATTR_LEGACY, "legacy" }, /* */ + { -1, NULL } +}; + + +/* */ +struct freebsd_handle_data { + enum extattr_mode extattr_mode; +}; + + +/* XXX: This order doesn't match namespace ids order! */ +static extattr_attr extattr[] = { + { EXTATTR_NAMESPACE(EMPTY) }, + { EXTATTR_NAMESPACE(SYSTEM) }, + { EXTATTR_NAMESPACE(USER) }, +}; + + +static bool freebsd_in_jail(void) { + int val = 0; + size_t val_len = sizeof(val); + + if((sysctlbyname("security.jail.jailed", &val, &val_len, NULL, 0) != -1) && val == 1) { + return true; + } + return false; +} + +static uint16_t freebsd_map_attrname(const char *name) +{ + if(name == NULL || name[0] == '\0') { + return EXTATTR_EMPTY; + } + + switch(name[0]) { + case 'u': + if(strncmp(name, "user.", 5) == 0) + return EXTATTR_USER; + break; + case 't': + if(strncmp(name, "trusted.", 8) == 0) + return EXTATTR_TRUSTED; + break; + case 's': + /* name[1] could be any character, including '\0' */ + switch(name[1]) { + case 'e': + if(strncmp(name, "security.", 9) == 0) + return EXTATTR_SECURITY; + break; + case 'y': + if(strncmp(name, "system.", 7) == 0) + return EXTATTR_SYSTEM; + break; + } + break; + } + return EXTATTR_USER; +} + +/* security, system, trusted or user */ +static extattr_attr* freebsd_map_xattr(enum extattr_mode extattr_mode, const char *name, extattr_attr *attr) +{ + int attrnamespace = EXTATTR_NAMESPACE_EMPTY; + const char *p, *attrname = name; + + if(name == NULL || name[0] == '\0') { + return NULL; + } + + if(attr == NULL) { + return NULL; + } + + uint16_t flags = freebsd_map_attrname(name); + + switch(flags) { + case EXTATTR_SECURITY: + case EXTATTR_TRUSTED: + case EXTATTR_SYSTEM: + attrnamespace = (extattr_mode == FREEBSD_EXTATTR_SECURE) ? + EXTATTR_NAMESPACE_SYSTEM : + EXTATTR_NAMESPACE_USER; + 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); + + return attr; +} + +static ssize_t extattr_size(extattr_arg arg, extattr_attr *attr) +{ + ssize_t result; + + switch(arg.method) { -+#if defined(HAVE_EXTATTR_GET_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + case EXTATTR_FILE: + result = extattr_get_file(arg.param.path, attr->namespace, attr->name, NULL, 0); + break; -+#endif -+#if defined(HAVE_EXTATTR_GET_LINK) + case EXTATTR_LINK: + result = extattr_get_link(arg.param.path, attr->namespace, attr->name, NULL, 0); + break; -+#endif -+#if defined(HAVE_EXTATTR_GET_FD) + case EXTATTR_FDES: + result = extattr_get_fd(arg.param.filedes, attr->namespace, attr->name, NULL, 0); + break; +#endif + default: + errno = ENOSYS; + return -1; + } + + if(result < 0) { + errno = EINVAL; + return -1; + } + + return result; +} + + +/* + * The list of names is returned as an unordered array of NULL-terminated + * character strings (attribute names are separated by NULL characters), + * like this: + * user.name1\0system.name1\0user.name2\0 + * + * Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using + * extended attributes, might return a list like this: + * system.posix_acl_access\0system.posix_acl_default\0 + */ +/* + * The extattr_list_file() returns a list of attributes present in the + * requested namespace. Each list entry consists of a single byte containing + * the length of the attribute name, followed by the attribute name. The + * attribute name is not terminated by ASCII 0 (nul). +*/ + +static ssize_t freebsd_extattr_list(extattr_arg arg, enum extattr_mode extattr_mode, char *list, size_t size) +{ + ssize_t list_size, total_size = 0; + char *p, *q, *list_end; + int len; + /* + Ignore all but user namespace when we are not root or in jail + See: https://bugzilla.samba.org/show_bug.cgi?id=10247 + */ + bool as_root = (geteuid() == 0); + + int ns = (extattr_mode == FREEBSD_EXTATTR_SECURE && as_root) ? 1 : 2; + + /* Iterate through extattr(2) namespaces */ + for(; ns < ARRAY_SIZE(extattr); ns++) { + switch(arg.method) { -+#if defined(HAVE_EXTATTR_LIST_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + case EXTATTR_FILE: + list_size = extattr_list_file(arg.param.path, extattr[ns].namespace, list, size); + break; -+#endif -+#if defined(HAVE_EXTATTR_LIST_LINK) + case EXTATTR_LINK: + list_size = extattr_list_link(arg.param.path, extattr[ns].namespace, list, size); + break; -+#endif -+#if defined(HAVE_EXTATTR_LIST_FD) + case EXTATTR_FDES: + list_size = extattr_list_fd(arg.param.filedes, extattr[ns].namespace, list, size); + break; +#endif + default: + errno = ENOSYS; + return -1; + } + /* Some error happend. Errno should be set by the previous call */ + if(list_size < 0) + return -1; + /* No attributes in this namespace */ + if(list_size == 0) + continue; + /* + Call with an empty buffer may be used to calculate + necessary buffer size. + */ + if(list == NULL) { + /* + XXX: Unfortunately, we can't say, how many attributes were + returned, so here is the potential problem with the emulation. + */ + if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { + /* + Take the worse case of one char attribute names - + two bytes per name plus one more for sanity. + */ + total_size += list_size + (list_size/2 + 1)*extattr[ns].data.len; + } + else { + total_size += list_size; + } + continue; + } + + if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { + /* Count necessary offset to fit namespace prefixes */ + int extra_len = 0; + uint16_t flags; + list_end = list + list_size; + for(list_size = 0, p = q = list; p < list_end; p += len) { + len = p[0] + 1; + (void)strlcpy(q, p + 1, len); + flags = freebsd_map_attrname(q); + /* Skip secure attributes for non-root user */ + if(extattr_mode != FREEBSD_EXTATTR_SECURE && !as_root && flags > EXTATTR_USER) { + continue; + } + if(flags <= EXTATTR_USER) { + /* Don't count trailing '\0' */ + extra_len += extattr[ns].data.len; + } + list_size += len; + q += len; + } + total_size += list_size + extra_len; + /* Buffer is too small to fit the results */ + if(total_size > size) { + errno = ERANGE; + return -1; + } + /* Shift results backwards, so we can prepend prefixes */ + list_end = list + extra_len; + p = (char*)memmove(list_end, list, list_size); + /* + We enter the loop with `p` pointing to the shifted list and + `extra_len` having the total margin between `list` and `p` + */ + for(list_end += list_size; p < list_end; p += len) { + len = strlen(p) + 1; + flags = freebsd_map_attrname(p); + if(flags <= EXTATTR_USER) { + /* Add namespace prefix */ + (void)strncpy(list, extattr[ns].name, extattr[ns].data.len); + list += extattr[ns].data.len; + } + /* Append attribute name */ + (void)strlcpy(list, p, len); + list += len; + } + } + else { + /* Convert UCSD strings into nul-terminated strings */ + for(list_end = list + list_size; list < list_end; list += len) { + len = list[0] + 1; + (void)strlcpy(list, list + 1, len); + } + total_size += list_size; + } + } + return total_size; +} + +/* +static ssize_t freebsd_getxattr_size(vfs_handle_struct *handle, + const struct smb_filename *smb_fname, + const char *name) +{ + struct freebsd_handle_data *data; + extattr_arg arg = { EXTATTR_FILE, smb_fname->base_name }; + extattr_attr attr; + + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + return extattr_size(arg, &attr); +} +*/ + +/* VFS entries */ +static ssize_t freebsd_getxattr(vfs_handle_struct *handle, + const struct smb_filename *smb_fname, + const char *name, + void *value, + size_t size) +{ -+#if defined(HAVE_EXTATTR_GET_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_arg arg = { EXTATTR_FILE, .param.path = smb_fname->base_name }; + extattr_attr attr; + ssize_t res; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + /* + * The BSD implementation has a nasty habit of silently truncating + * the returned value to the size of the buffer, so we have to check + * that the buffer is large enough to fit the returned value. + */ + if((res=extattr_size(arg, &attr)) < 0) { + return -1; + } + + if (size == 0) { + return res; + } + else if (res > size) { + errno = ERANGE; + return -1; + } + + if((res=extattr_get_file(smb_fname->base_name, attr.namespace, attr.name, value, size)) >= 0) { + return res; + } + return -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static ssize_t freebsd_fgetxattr(vfs_handle_struct *handle, + struct files_struct *fsp, const char *name, + void *value, size_t size) +{ -+#if defined(HAVE_EXTATTR_GET_FD) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_arg arg = { EXTATTR_FDES, .param.filedes = fsp->fh->fd }; + extattr_attr attr; + ssize_t res; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + /* + * The BSD implementation has a nasty habit of silently truncating + * the returned value to the size of the buffer, so we have to check + * that the buffer is large enough to fit the returned value. + */ + if((res=extattr_size(arg, &attr)) < 0) { + return -1; + } + + if (size == 0) { + return res; + } + else if (res > size) { + errno = ERANGE; + return -1; + } + + if((res=extattr_get_fd(fsp->fh->fd, attr.namespace, attr.name, value, size)) >= 0) { + return res; + } + return -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static ssize_t freebsd_listxattr(vfs_handle_struct *handle, + const struct smb_filename *smb_fname, + char *list, + size_t size) +{ -+#if defined(HAVE_EXTATTR_LIST_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + extattr_arg arg = { EXTATTR_FILE, .param.path = smb_fname->base_name }; + + return freebsd_extattr_list(arg, data->extattr_mode, list, size); +#else + errno = ENOSYS; + return -1; +#endif +} + + +static ssize_t freebsd_flistxattr(vfs_handle_struct *handle, + struct files_struct *fsp, char *list, + size_t size) +{ -+#if defined(HAVE_EXTATTR_LIST_FD) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_arg arg = { EXTATTR_FDES, .param.filedes = fsp->fh->fd }; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + return freebsd_extattr_list(arg, data->extattr_mode, list, size); +#else + errno = ENOSYS; + return -1; +#endif +} + +static int freebsd_removexattr(vfs_handle_struct *handle, + const struct smb_filename *smb_fname, + const char *name) +{ -+#if defined(HAVE_EXTATTR_DELETE_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + return extattr_delete_file(smb_fname->base_name, attr.namespace, attr.name); +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_fremovexattr(vfs_handle_struct *handle, + struct files_struct *fsp, const char *name) +{ -+#if defined(HAVE_EXTATTR_DELETE_FD) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + return extattr_delete_fd(fsp->fh->fd, attr.namespace, attr.name); +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_setxattr(vfs_handle_struct *handle, + const struct smb_filename *smb_fname, + const char *name, + const void *value, + size_t size, + int flags) +{ -+#if defined(HAVE_EXTATTR_SET_FILE) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + ssize_t res; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + if (flags) { + extattr_arg arg = { EXTATTR_FILE, .param.path = smb_fname->base_name }; + /* Check attribute existence */ + res = extattr_size(arg, &attr); + if (res < 0) { + /* REPLACE attribute, that doesn't exist */ + if ((flags & XATTR_REPLACE) && errno == ENOATTR) { + errno = ENOATTR; + return -1; + } + /* Ignore other errors */ + } + else { + /* CREATE attribute, that already exists */ + if (flags & XATTR_CREATE) { + errno = EEXIST; + return -1; + } + } + } + res = extattr_set_file(smb_fname->base_name, attr.namespace, attr.name, value, size); + + return (res >= 0) ? 0 : -1; +#else + errno = ENOSYS; + return -1; +#endif +} + + +static int freebsd_fsetxattr(vfs_handle_struct *handle, struct files_struct *fsp, + const char *name, const void *value, size_t size, + int flags) +{ -+#if defined(HAVE_EXTATTR_SET_FD) ++#if defined(HAVE_XATTR_EXTATTR) + struct freebsd_handle_data *data; + extattr_attr attr; + ssize_t res; + + SMB_VFS_HANDLE_GET_DATA(handle, data, + struct freebsd_handle_data, + return -1); + + if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { + errno = EINVAL; + return -1; + } + + /* Filter out 'secure' entries */ + if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { + errno = ENOATTR; + return -1; + } + + if (flags) { + extattr_arg arg = { EXTATTR_FDES, .param.filedes = fsp->fh->fd }; + /* Check attribute existence */ + res = extattr_size(arg, &attr); + if (res < 0) { + /* REPLACE attribute, that doesn't exist */ + if ((flags & XATTR_REPLACE) && errno == ENOATTR) { + errno = ENOATTR; + return -1; + } + /* Ignore other errors */ + } + else { + /* CREATE attribute, that already exists */ + if (flags & XATTR_CREATE) { + errno = EEXIST; + return -1; + } + } + } + + res = extattr_set_fd(fsp->fh->fd, attr.namespace, attr.name, value, size); + + return (res >= 0) ? 0 : -1; +#else + errno = ENOSYS; + return -1; +#endif +} + +static int freebsd_connect(vfs_handle_struct *handle, const char *service, + const char *user) +{ + struct freebsd_handle_data *data; + int enumval, saved_errno; + + int ret = SMB_VFS_NEXT_CONNECT(handle, service, user); + + if (ret < 0) { + return ret; + } + + data = talloc_zero(handle->conn, struct freebsd_handle_data); + if (!data) { + saved_errno = errno; + SMB_VFS_NEXT_DISCONNECT(handle); + DEBUG(0, ("talloc_zero() failed\n")); + errno = saved_errno; + return -1; + } + + enumval = lp_parm_enum(SNUM(handle->conn), "freebsd", + "extattr mode", extattr_mode_param, FREEBSD_EXTATTR_LEGACY); + if (enumval == -1) { + saved_errno = errno; + SMB_VFS_NEXT_DISCONNECT(handle); + DBG_DEBUG("value for freebsd: 'extattr mode' is unknown\n"); + errno = saved_errno; + return -1; + } + + if(freebsd_in_jail()) { + enumval = FREEBSD_EXTATTR_COMPAT; + DBG_WARNING("running in jail, enforcing 'compat' mode\n"); + } + + data->extattr_mode = (enum extattr_mode)enumval; + + SMB_VFS_HANDLE_SET_DATA(handle, data, NULL, + struct freebsd_handle_data, + return -1); + + DBG_DEBUG("connect to service[%s] with '%s' extattr mode\n", + service, extattr_mode_param[data->extattr_mode].name); + + return 0; +} + +static void freebsd_disconnect(vfs_handle_struct *handle) +{ + SMB_VFS_NEXT_DISCONNECT(handle); +} + +/* VFS operations structure */ + +struct vfs_fn_pointers freebsd_fns = { + /* Disk operations */ + + .connect_fn = freebsd_connect, + .disconnect_fn = freebsd_disconnect, + + /* EA operations. */ + .getxattr_fn = freebsd_getxattr, + .fgetxattr_fn = freebsd_fgetxattr, + .listxattr_fn = freebsd_listxattr, + .flistxattr_fn = freebsd_flistxattr, + .removexattr_fn = freebsd_removexattr, + .fremovexattr_fn = freebsd_fremovexattr, + .setxattr_fn = freebsd_setxattr, + .fsetxattr_fn = freebsd_fsetxattr, +}; + +static_decl_vfs; +NTSTATUS vfs_freebsd_init(TALLOC_CTX *ctx) +{ + NTSTATUS ret; + + ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "freebsd", + &freebsd_fns); + + if (!NT_STATUS_IS_OK(ret)) { + return ret; + } + + vfs_freebsd_debug_level = debug_add_class("freebsd"); + if (vfs_freebsd_debug_level == -1) { + vfs_freebsd_debug_level = DBGC_VFS; + DEBUG(0, ("vfs_freebsd: Couldn't register custom debugging class!\n")); + } else { + DEBUG(10, ("vfs_freebsd: Debug class number of 'fileid': %d\n", vfs_freebsd_debug_level)); + } + + 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 @@ + + + + + + vfs_freebsd + 8 + Samba + System Administration tools + &doc.version; + + + + vfs_freebsd + FreeBSD-specific VFS functions + + + + + vfs objects = freebsd + + + + + DESCRIPTION + + This VFS module is part of the samba + 7 suite. + + The vfs_freebsd module implements some of the FreeBSD-specific VFS functions. + + This module is stackable. + + + + + OPTIONS + + + + + freebsd:extattr mode=[legacy|compat|secure] + + This parameter defines how the emulation of the Linux attr(5) extended attributes + is performed through the FreeBSD native extattr(9) system calls. + + Currently the security, system, + trusted and user extended attribute(xattr) + classes are defined in Linux. Contrary FreeBSD has only USER + and SYSTEM extended attribute(extattr) namespaces, so mapping + of one set into another isn't straightforward and can be done in different ways. + + Historically the Samba(7) built-in xattr mapping implementation simply converted + system and user xattr into corresponding + SYSTEM and USER 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 security + and trusted as invalid. Such behavior in particular broke AD + provisioning on UFS2 file systems as essential security.NTACL + xattr was rejected as invalid. + + This module tries to address this problem and provide secure, where it's possible, + way to map Linux xattr into FreeBSD's extattr. + + When mode is set to the legacy (default) + then modified version of built-in mapping is used, where system xattr + is mapped into SYSTEM namespace, while secure, trusted + and user 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. + + The compat 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 class.attribute + format. + + The secure mode is meant for storing extended attributes in a secure + manner, so that security, system and trusted + are stored in the SYSTEM namespace, which can be modified only by root. + + + + + + + + + + + Attributes mapping + + + + + built-in + legacy + compat/jail + secure + + + + + user + USER; attribute + USER; attribute + USER; user.attribute + USER; user.attribute + + + system + SYSTEM; attribute + SYSTEM; attribute + USER; system.attribute + SYSTEM; system.attribute + + + trusted + FAIL + USER; attribute + USER; trusted.attribute + SYSTEM; trusted.attribute + + + security + FAIL + USER; attribute + USER; security.attribute + SYSTEM; security.attribute + + + +
+
+ + + EXAMPLES + + Use secure method of setting extended attributes on the share: + + + + freebsd + secure + + + + + + VERSION + + This man page is part of version &doc.version; of the Samba suite. + + + + + AUTHOR + + 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. + + This module was written by Timur I. Bakeyev + + + +
Index: head/net/samba410/pkg-plist =================================================================== --- head/net/samba410/pkg-plist (revision 509382) +++ head/net/samba410/pkg-plist (revision 509383) @@ -1,1154 +1,1153 @@ bin/cifsdd bin/dbwrap_tool bin/dumpmscat bin/findsmb bin/gentest bin/locktest bin/masktest bin/mvxattr bin/ndrdump bin/net bin/nmblookup bin/ntlm_auth bin/oLschema2ldif bin/pdbedit bin/pidl bin/profiles bin/regdiff bin/regpatch bin/regshell bin/regtree bin/rpcclient bin/samba-regedit %%AD_DC%%bin/samba-tool bin/sharesec bin/smbcacls bin/smbclient bin/smbcontrol bin/smbcquotas bin/smbget bin/smbpasswd bin/smbspool bin/smbstatus bin/smbtar %%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-gpupdate %%AD_DC%%sbin/samba_kcc %%AD_DC%%sbin/samba_spnupdate %%AD_DC%%sbin/samba_upgradedns include/samba4/charset.h include/samba4/core/doserr.h include/samba4/core/error.h include/samba4/core/hresult.h include/samba4/core/ntstatus_gen.h include/samba4/core/ntstatus.h include/samba4/core/werror_gen.h include/samba4/core/werror.h include/samba4/credentials.h include/samba4/dcerpc.h %%AD_DC%%include/samba4/dcerpc_server.h %%LDAP%%include/samba4/smb_ldap.h %%LDAP%%include/samba4/smbldap.h include/samba4/domain_credentials.h include/samba4/gen_ndr/atsvc.h include/samba4/gen_ndr/auth.h include/samba4/gen_ndr/dcerpc.h include/samba4/gen_ndr/drsblobs.h include/samba4/gen_ndr/drsuapi.h include/samba4/gen_ndr/krb5pac.h include/samba4/gen_ndr/lsa.h include/samba4/gen_ndr/misc.h include/samba4/gen_ndr/nbt.h include/samba4/gen_ndr/ndr_atsvc.h include/samba4/gen_ndr/ndr_dcerpc.h include/samba4/gen_ndr/ndr_drsblobs.h include/samba4/gen_ndr/ndr_drsuapi.h include/samba4/gen_ndr/ndr_krb5pac.h include/samba4/gen_ndr/ndr_misc.h include/samba4/gen_ndr/ndr_nbt.h include/samba4/gen_ndr/ndr_samr_c.h include/samba4/gen_ndr/ndr_samr.h include/samba4/gen_ndr/ndr_svcctl_c.h include/samba4/gen_ndr/ndr_svcctl.h include/samba4/gen_ndr/netlogon.h include/samba4/gen_ndr/samr.h include/samba4/gen_ndr/security.h include/samba4/gen_ndr/server_id.h include/samba4/gen_ndr/svcctl.h include/samba4/ldb_wrap.h include/samba4/libsmbclient.h include/samba4/lookup_sid.h include/samba4/machine_sid.h include/samba4/ndr.h include/samba4/ndr/ndr_dcerpc.h include/samba4/ndr/ndr_drsblobs.h include/samba4/ndr/ndr_drsuapi.h include/samba4/ndr/ndr_krb5pac.h include/samba4/ndr/ndr_nbt.h include/samba4/ndr/ndr_svcctl.h include/samba4/netapi.h include/samba4/param.h include/samba4/passdb.h %%SAMBA4_PYTHON%%include/samba4/policy.h include/samba4/rpc_common.h include/samba4/samba/session.h include/samba4/samba/version.h include/samba4/share.h include/samba4/smb2_lease_struct.h include/samba4/smbconf.h include/samba4/tdr.h include/samba4/tsocket_internal.h include/samba4/tsocket.h include/samba4/util_ldb.h include/samba4/util/attr.h 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/signal.h include/samba4/util/string_wrappers.h include/samba4/util/substitute.h include/samba4/util/tevent_ntstatus.h include/samba4/util/tevent_unix.h include/samba4/util/tevent_werror.h include/samba4/util/tfork.h include/samba4/util/time.h include/samba4/wbclient.h @dir include/samba4/util @dir include/samba4/samba @dir include/samba4/ndr @dir include/samba4/gen_ndr @dir include/samba4/core @dir include/samba4 lib/samba4/libdcerpc-binding.so lib/samba4/libdcerpc-binding.so.0 lib/samba4/libdcerpc-samr.so lib/samba4/libdcerpc-samr.so.0 %%AD_DC%%lib/samba4/libdcerpc-server.so %%AD_DC%%lib/samba4/libdcerpc-server.so.0 lib/samba4/libdcerpc.so lib/samba4/libdcerpc.so.0 lib/samba4/libndr-krb5pac.so lib/samba4/libndr-krb5pac.so.0 lib/samba4/libndr-nbt.so lib/samba4/libndr-nbt.so.0 lib/samba4/libndr-standard.so lib/samba4/libndr-standard.so.0 lib/samba4/libndr.so lib/samba4/libndr.so.0 lib/samba4/libnetapi.so lib/samba4/libnetapi.so.0 lib/samba4/libsamba-credentials.so lib/samba4/libsamba-credentials.so.0 lib/samba4/libsamba-errors.so lib/samba4/libsamba-errors.so.1 lib/samba4/libsamba-hostconfig.so lib/samba4/libsamba-hostconfig.so.0 lib/samba4/libsamba-passdb.so lib/samba4/libsamba-passdb.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 lib/samba4/libsamdb.so.0 lib/samba4/libsmbclient.so lib/samba4/libsmbclient.so.0 lib/samba4/libsmbconf.so lib/samba4/libsmbconf.so.0 %%LDAP%%lib/samba4/libsmbldap.so %%LDAP%%lib/samba4/libsmbldap.so.2 lib/samba4/libtevent-util.so lib/samba4/libtevent-util.so.0 lib/samba4/libwbclient.so lib/samba4/libwbclient.so.0 lib/nss_winbind.so.1 lib/nss_wins.so.1 lib/pam_winbind.so %%CUPS%%libexec/samba/smbspool_krb5_wrapper %%AD_DC%%lib/samba4/private/libdlz-bind9-for-torture-samba4.so %%AD_DC%%lib/samba4/private/libposix-eadb-samba4.so %%AD_DC%%lib/samba4/private/libprocess-model-samba4.so %%AD_DC%%lib/samba4/private/libservice-samba4.so lib/samba4/private/libCHARSET3-samba4.so %%AD_DC%%%%GSSAPI_BUILTIN%%lib/samba4/private/libHDB-SAMBA4-samba4.so lib/samba4/private/libLIBWBCLIENT-OLD-samba4.so lib/samba4/private/libMESSAGING-samba4.so lib/samba4/private/libMESSAGING-SEND-samba4.so lib/samba4/private/libaddns-samba4.so lib/samba4/private/libads-samba4.so %%GSSAPI_BUILTIN%%lib/samba4/private/libasn1-samba4.so.8 lib/samba4/private/libasn1util-samba4.so lib/samba4/private/libauth-samba4.so lib/samba4/private/libauth-unix-token-samba4.so lib/samba4/private/libauth4-samba4.so lib/samba4/private/libauthkrb5-samba4.so lib/samba4/private/libcli-cldap-samba4.so 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-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 lib/samba4/private/libdbwrap-samba4.so 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-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 lib/samba4/private/libgensec-samba4.so lib/samba4/private/libgpext-samba4.so lib/samba4/private/libgse-samba4.so %%GSSAPI_BUILTIN%%lib/samba4/private/libgssapi-samba4.so.2 %%GSSAPI_BUILTIN%%lib/samba4/private/libhcrypto-samba4.so.5 %%GSSAPI_BUILTIN%%lib/samba4/private/libhdb-samba4.so.11 %%GSSAPI_BUILTIN%%lib/samba4/private/libheimbase-samba4.so.1 %%GSSAPI_BUILTIN%%lib/samba4/private/libheimntlm-samba4.so.1 lib/samba4/private/libhttp-samba4.so %%GSSAPI_BUILTIN%%lib/samba4/private/libhx509-samba4.so.5 lib/samba4/private/libidmap-samba4.so lib/samba4/private/libinterfaces-samba4.so 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 lib/samba4/private/libndr-samba4.so lib/samba4/private/libnet-keytab-samba4.so lib/samba4/private/libnetif-samba4.so 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-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 %%GSSAPI_BUILTIN%%lib/samba4/private/libroken-samba4.so.19 lib/samba4/private/libsamba-cluster-support-samba4.so lib/samba4/private/libsamba-debug-samba4.so lib/samba4/private/libsamba-modules-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 lib/samba4/private/libshares-samba4.so lib/samba4/private/libsmb-transport-samba4.so lib/samba4/private/libsmbclient-raw-samba4.so lib/samba4/private/libsmbd-base-samba4.so lib/samba4/private/libsmbd-conn-samba4.so lib/samba4/private/libsmbd-shim-samba4.so %%LDAP%%lib/samba4/private/libsmbldaphelper-samba4.so lib/samba4/private/libsmbpasswdparser-samba4.so lib/samba4/private/libsocket-blocking-samba4.so lib/samba4/private/libsys-rw-samba4.so lib/samba4/private/libtalloc-report-samba4.so lib/samba4/private/libtdb-wrap-samba4.so lib/samba4/private/libtime-basic-samba4.so lib/samba4/private/libtorture-samba4.so lib/samba4/private/libtrusts-util-samba4.so lib/samba4/private/libutil-cmdline-samba4.so lib/samba4/private/libutil-reg-samba4.so lib/samba4/private/libutil-setid-samba4.so 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%%%%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/audit_log.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/group_audit_log.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 %%PKGCONFIGDIR%%/dcerpc_samr.pc %%AD_DC%%%%PKGCONFIGDIR%%/dcerpc_server.pc %%PKGCONFIGDIR%%/ndr.pc %%PKGCONFIGDIR%%/ndr_krb5pac.pc %%PKGCONFIGDIR%%/ndr_nbt.pc %%PKGCONFIGDIR%%/ndr_standard.pc %%PKGCONFIGDIR%%/netapi.pc %%PKGCONFIGDIR%%/samba-credentials.pc %%PKGCONFIGDIR%%/samba-hostconfig.pc %%SAMBA4_PYTHON%%%%PKGCONFIGDIR%%/samba-policy.pc %%PKGCONFIGDIR%%/samba-util.pc %%PKGCONFIGDIR%%/samdb.pc %%PKGCONFIGDIR%%/smbclient.pc %%PKGCONFIGDIR%%/wbclient.pc @comment Pidl block %%DATADIR%%/perl5/Parse/Pidl.pm %%DATADIR%%/perl5/Parse/Pidl/CUtil.pm %%DATADIR%%/perl5/Parse/Pidl/Compat.pm %%DATADIR%%/perl5/Parse/Pidl/Dump.pm %%DATADIR%%/perl5/Parse/Pidl/Expr.pm %%DATADIR%%/perl5/Parse/Pidl/IDL.pm %%DATADIR%%/perl5/Parse/Pidl/NDR.pm %%DATADIR%%/perl5/Parse/Pidl/ODL.pm %%DATADIR%%/perl5/Parse/Pidl/Samba3/ClientNDR.pm %%DATADIR%%/perl5/Parse/Pidl/Samba3/ServerNDR.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/COM/Header.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/COM/Proxy.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/COM/Stub.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/Header.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/NDR/Client.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/NDR/Parser.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/NDR/Server.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/Python.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/TDR.pm %%DATADIR%%/perl5/Parse/Pidl/Samba4/Template.pm %%DATADIR%%/perl5/Parse/Pidl/Typelist.pm %%DATADIR%%/perl5/Parse/Pidl/Util.pm %%DATADIR%%/perl5/Parse/Pidl/Wireshark/Conformance.pm %%DATADIR%%/perl5/Parse/Pidl/Wireshark/NDR.pm @dir %%DATADIR%%/perl5/Parse/Pidl/Wireshark @dir %%DATADIR%%/perl5/Parse/Pidl/Samba4/NDR @dir %%DATADIR%%/perl5/Parse/Pidl/Samba4/COM @dir %%DATADIR%%/perl5/Parse/Pidl/Samba4 @dir %%DATADIR%%/perl5/Parse/Pidl/Samba3 @dir %%DATADIR%%/perl5/Parse/Pidl @dir %%DATADIR%%/perl5/Parse @dir %%DATADIR%%/perl5 %%AD_DC%%%%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2012_R2.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2016.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2012_R2.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2016.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2008_R2.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2012.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2008_R2.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2012.ldf %%AD_DC%%%%DATADIR%%/setup/ad-schema/licence.txt %%AD_DC%%%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Attributes.txt %%AD_DC%%%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Classes.txt %%AD_DC%%%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Attributes.txt %%AD_DC%%%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Classes.txt %%AD_DC%%%%DATADIR%%/setup/adprep/fix-forest-rev.ldf %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Forest-Wide-Updates.md %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch49.ldf.diff %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch50.ldf.diff %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch51.ldf.diff %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch57.ldf.diff %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch59.ldf.diff %%AD_DC%%%%DATADIR%%/setup/adprep/WindowsServerDocs/Schema-Updates.md %%AD_DC%%%%DATADIR%%/setup/aggregate_schema.ldif %%AD_DC%%%%DATADIR%%/setup/cn=samba.ldif %%AD_DC%%%%DATADIR%%/setup/DB_CONFIG %%AD_DC%%%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k0.txt %%AD_DC%%%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3.txt %%AD_DC%%%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3R2.txt %%AD_DC%%%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8.txt %%AD_DC%%%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8R2.txt %%AD_DC%%%%DATADIR%%/setup/dns_update_list %%AD_DC%%%%DATADIR%%/setup/extended-rights.ldif %%AD_DC%%%%DATADIR%%/setup/fedora-ds-init.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-dna.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-index.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-linked-attributes.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-pam.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-partitions.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-refint-add.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-refint-delete.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-samba.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads-sasl.ldif %%AD_DC%%%%DATADIR%%/setup/fedorads.inf %%AD_DC%%%%DATADIR%%/setup/idmap_init.ldif %%AD_DC%%%%DATADIR%%/setup/krb5.conf %%AD_DC%%%%DATADIR%%/setup/memberof.conf %%AD_DC%%%%DATADIR%%/setup/mmr_serverids.conf %%AD_DC%%%%DATADIR%%/setup/mmr_syncrepl.conf %%AD_DC%%%%DATADIR%%/setup/modules.conf %%AD_DC%%%%DATADIR%%/setup/named.conf %%AD_DC%%%%DATADIR%%/setup/named.conf.dlz %%AD_DC%%%%DATADIR%%/setup/named.conf.update %%AD_DC%%%%DATADIR%%/setup/named.txt %%AD_DC%%%%DATADIR%%/setup/olc_mmr.conf %%AD_DC%%%%DATADIR%%/setup/olc_seed.ldif %%AD_DC%%%%DATADIR%%/setup/olc_serverid.conf %%AD_DC%%%%DATADIR%%/setup/olc_syncrepl_seed.conf %%AD_DC%%%%DATADIR%%/setup/olc_syncrepl.conf %%AD_DC%%%%DATADIR%%/setup/prefixMap.txt %%AD_DC%%%%DATADIR%%/setup/provision_basedn_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_basedn_options.ldif %%AD_DC%%%%DATADIR%%/setup/provision_basedn_references.ldif %%AD_DC%%%%DATADIR%%/setup/provision_basedn.ldif %%AD_DC%%%%DATADIR%%/setup/provision_computers_add.ldif %%AD_DC%%%%DATADIR%%/setup/provision_computers_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_configuration_basedn.ldif %%AD_DC%%%%DATADIR%%/setup/provision_configuration_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_configuration_references.ldif %%AD_DC%%%%DATADIR%%/setup/provision_configuration.ldif %%AD_DC%%%%DATADIR%%/setup/provision_dns_accounts_add.ldif %%AD_DC%%%%DATADIR%%/setup/provision_dns_add_samba.ldif %%AD_DC%%%%DATADIR%%/setup/provision_dnszones_add.ldif %%AD_DC%%%%DATADIR%%/setup/provision_dnszones_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_dnszones_partitions.ldif %%AD_DC%%%%DATADIR%%/setup/provision_group_policy.ldif %%AD_DC%%%%DATADIR%%/setup/provision_init.ldif %%AD_DC%%%%DATADIR%%/setup/provision_partitions.ldif %%AD_DC%%%%DATADIR%%/setup/provision_privilege.ldif %%AD_DC%%%%DATADIR%%/setup/provision_rootdse_add.ldif %%AD_DC%%%%DATADIR%%/setup/provision_rootdse_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_schema_basedn_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_schema_basedn.ldif %%AD_DC%%%%DATADIR%%/setup/provision_self_join_config.ldif %%AD_DC%%%%DATADIR%%/setup/provision_self_join_modify_config.ldif +%%AD_DC%%%%DATADIR%%/setup/provision_self_join_modify_schema.ldif %%AD_DC%%%%DATADIR%%/setup/provision_self_join_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_self_join.ldif %%AD_DC%%%%DATADIR%%/setup/provision_users_add.ldif %%AD_DC%%%%DATADIR%%/setup/provision_users_modify.ldif %%AD_DC%%%%DATADIR%%/setup/provision_users.ldif %%AD_DC%%%%DATADIR%%/setup/provision_well_known_sec_princ.ldif %%AD_DC%%%%DATADIR%%/setup/provision.ldif %%AD_DC%%%%DATADIR%%/setup/provision.reg %%AD_DC%%%%DATADIR%%/setup/provision.zone %%AD_DC%%%%DATADIR%%/setup/refint.conf %%AD_DC%%%%DATADIR%%/setup/schema_samba4.ldif %%AD_DC%%%%DATADIR%%/setup/schema-map-fedora-ds-1.0 %%AD_DC%%%%DATADIR%%/setup/schema-map-openldap-2.3 %%AD_DC%%%%DATADIR%%/setup/secrets_dns.ldif %%AD_DC%%%%DATADIR%%/setup/secrets_init.ldif %%AD_DC%%%%DATADIR%%/setup/secrets_sasl_ldap.ldif %%AD_DC%%%%DATADIR%%/setup/secrets_simple_ldap.ldif %%AD_DC%%%%DATADIR%%/setup/secrets.ldif %%AD_DC%%%%DATADIR%%/setup/share.ldif %%AD_DC%%%%DATADIR%%/setup/slapd.conf %%AD_DC%%%%DATADIR%%/setup/spn_update_list %%AD_DC%%%%DATADIR%%/setup/ypServ30.ldif %%AD_DC%%@dir %%DATADIR%%/setup/display-specifiers %%AD_DC%%@dir %%DATADIR%%/setup/ad-schema %%AD_DC%%@dir %%DATADIR%%/setup %%AD_DC%%@dir %%DATADIR%% @comment Man pages man/man1/dbwrap_tool.1.gz man/man1/findsmb.1.gz man/man1/gentest.1.gz man/man1/locktest.1.gz man/man1/log2pcap.1.gz man/man1/masktest.1.gz man/man1/mvxattr.1.gz man/man1/ndrdump.1.gz man/man1/nmblookup.1.gz man/man1/ntlm_auth.1.gz man/man1/oLschema2ldif.1.gz man/man1/pidl.1.gz man/man1/profiles.1.gz man/man1/regdiff.1.gz man/man1/regpatch.1.gz man/man1/regshell.1.gz man/man1/regtree.1.gz man/man1/rpcclient.1.gz man/man1/sharesec.1.gz man/man1/smbcacls.1.gz man/man1/smbclient.1.gz man/man1/smbcontrol.1.gz man/man1/smbcquotas.1.gz man/man1/smbget.1.gz man/man1/smbstatus.1.gz man/man1/smbtar.1.gz %%SAMBA4_PYTHON%%man/man1/smbtorture.1.gz man/man1/smbtree.1.gz man/man1/testparm.1.gz man/man1/vfstest.1.gz man/man1/wbinfo.1.gz man/man3/Parse::Pidl::Dump.3.gz man/man3/Parse::Pidl::NDR.3.gz man/man3/Parse::Pidl::Util.3.gz man/man3/Parse::Pidl::Wireshark::Conformance.3.gz man/man3/Parse::Pidl::Wireshark::NDR.3.gz man/man5/lmhosts.5.gz man/man5/pam_winbind.conf.5.gz man/man5/smb.conf.5.gz man/man5/smb4.conf.5.gz man/man5/smbgetrc.5.gz man/man5/smbpasswd.5.gz man/man7/libsmbclient.7.gz man/man7/samba.7.gz man/man7/traffic_learner.7.gz man/man7/traffic_replay.7.gz man/man8/cifsdd.8.gz man/man8/eventlogadm.8.gz man/man8/idmap_ad.8.gz man/man8/idmap_autorid.8.gz man/man8/idmap_hash.8.gz man/man8/idmap_ldap.8.gz man/man8/idmap_nss.8.gz man/man8/idmap_rfc2307.8.gz man/man8/idmap_rid.8.gz man/man8/idmap_script.8.gz man/man8/idmap_tdb.8.gz man/man8/idmap_tdb2.8.gz man/man8/net.8.gz man/man8/nmbd.8.gz man/man8/pam_winbind.8.gz man/man8/pdbedit.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 man/man8/smbd.8.gz man/man8/smbpasswd.8.gz man/man8/smbspool_krb5_wrapper.8.gz man/man8/smbspool.8.gz man/man8/vfs_acl_tdb.8.gz man/man8/vfs_acl_xattr.8.gz man/man8/vfs_aio_fork.8.gz man/man8/vfs_aio_pthread.8.gz man/man8/vfs_audit.8.gz man/man8/vfs_cacheprime.8.gz man/man8/vfs_cap.8.gz man/man8/vfs_catia.8.gz man/man8/vfs_commit.8.gz man/man8/vfs_crossrename.8.gz 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_freebsd.8.gz man/man8/vfs_fruit.8.gz man/man8/vfs_full_audit.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_offline.8.gz man/man8/vfs_preopen.8.gz man/man8/vfs_readahead.8.gz man/man8/vfs_readonly.8.gz 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_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_unityed_media.8.gz man/man8/vfs_virusfilter.8.gz man/man8/vfs_worm.8.gz man/man8/vfs_xattr_tdb.8.gz man/man8/vfs_zfsacl.8.gz man/man8/winbind_krb5_locator.8.gz man/man8/winbindd.8.gz @dir %%SAMBA4_RUNDIR%% @dir %%SAMBA4_LOGDIR%% @dir %%SAMBA4_LOCKDIR%% @dir %%SAMBA4_PRIVATEDIR%% @dir %%SAMBA4_BINDDNSDIR%% @comment Cluster %%CLUSTER%%bin/ctdb %%CLUSTER%%bin/ctdb_diagnostics %%CLUSTER%%bin/ltdbtool %%CLUSTER%%bin/onnode %%CLUSTER%%bin/ping_pong %%CLUSTER%%etc/ctdb/ctdb-crash-cleanup.sh %%CLUSTER%%etc/ctdb/debug_locks.sh %%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/nfs-checks.d/00.portmapper.check %%CLUSTER%%etc/ctdb/nfs-checks.d/10.status.check %%CLUSTER%%etc/ctdb/nfs-checks.d/20.nfs.check %%CLUSTER%%etc/ctdb/nfs-checks.d/30.nlockmgr.check %%CLUSTER%%etc/ctdb/nfs-checks.d/40.mountd.check %%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.sh %%CLUSTER%%etc/ctdb/statd-callout %%CLUSTER%%etc/sudoers.d/ctdb %%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 %%CLUSTER%%libexec/ctdb/ctdb_mutex_fcntl_helper %%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_diagnostics.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/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_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_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 -%%SAMBA4_BUNDLED_LDB%%man/man1/ldbmodify.1.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 +@comment Python 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/ldap_referrals.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 +@comment Use bundled libraries +%%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-tdb-err-map-samba4.so +%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb-tdb-int-samba4.so +%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/asq.so +%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldb.so +%%AD_DC%%%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/mdb.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 +%%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/samba-tdbbackup +%%SAMBA4_BUNDLED_TDB%%bin/samba-tdbdump +%%SAMBA4_BUNDLED_TDB%%bin/samba-tdbrestore +%%SAMBA4_BUNDLED_TDB%%bin/samba-tdbtool +%%SAMBA4_BUNDLED_TDB%%lib/samba4/private/libtdb.so.1 +%%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 +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbadd.1.gz +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbdel.1.gz +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbedit.1.gz +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbmodify.1.gz +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbrename.1.gz +%%SAMBA4_BUNDLED_LDB%%man/man1/samba-ldbsearch.1.gz +%%SAMBA4_BUNDLED_TDB%%man/man8/samba-tdbbackup.8.gz +%%SAMBA4_BUNDLED_TDB%%man/man8/samba-tdbdump.8.gz +%%SAMBA4_BUNDLED_TDB%%man/man8/samba-tdbrestore.8.gz +%%SAMBA4_BUNDLED_TDB%%man/man8/samba-tdbtool.8.gz