1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Security update for samba45, samba46, samba47 ports to address CVE-2018-1050 and CVE-2018-1057.

As AD DC doesn't work in samba46 and was broken again in samba 4.7.4 - the attack vector is quite narrow.

Security:	CVE-2018-1050
		CVE-2018-1057
Sponsored by:	iXsystems Inc.
This commit is contained in:
Timur I. Bakeyev 2018-03-13 21:00:04 +00:00
parent 57b7a75075
commit 617b5aaaac
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=464431
29 changed files with 2448 additions and 168 deletions

View File

@ -19,7 +19,7 @@ CONFLICTS?= samba4-4.0.* samba4[1-46-9]-4.* p5-Parse-Pidl-4.*
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
SAMBA4_VERSION= 4.5.15
SAMBA4_VERSION= 4.5.16
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1511311588
SHA256 (samba-4.5.15.tar.gz) = 811bf727892a1e1e3d170eb72eb39c43d06ed8ff557e5e036a41aabc19008e94
SIZE (samba-4.5.15.tar.gz) = 21020181
TIMESTAMP = 1520943716
SHA256 (samba-4.5.16.tar.gz) = 3a3356faab1694680e2ccd7fdf051ab1bbd3b0d058fc1f671e135dd2d1eae1aa
SIZE (samba-4.5.16.tar.gz) = 21024396

View File

@ -21,7 +21,7 @@ CONFLICTS_INSTALL?= samba4-4.0.* samba4[1-57-9]-4.* p5-Parse-Pidl-4.*
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
SAMBA4_VERSION= 4.6.12
SAMBA4_VERSION= 4.6.14
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
@ -239,7 +239,7 @@ SAMBA4_MODULES+= idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-
.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_nfs4acl_xattr vfs_error_inject
.endif
.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1514070924
SHA256 (samba-4.6.12.tar.gz) = 18f1c89bb6687b94080f5ec8aa73c14acdad1106425403945a32928a4b1e54a1
SIZE (samba-4.6.12.tar.gz) = 21160637
TIMESTAMP = 1520935711
SHA256 (samba-4.6.14.tar.gz) = 673f459f9e423f3893b017c86343df1e65d57571c949fe030fcffdcc05b8de47
SIZE (samba-4.6.14.tar.gz) = 21161954

View File

@ -1,5 +1,5 @@
--- ./buildtools/wafsamba/wafsamba.py.orig 2015-07-21 09:47:48.000000000 +0000
+++ ./buildtools/wafsamba/wafsamba.py 2015-10-05 20:12:39.057228568 +0000
--- ./buildtools/wafsamba/wafsamba.py.orig 2015-07-21 09:47:48 UTC
+++ ./buildtools/wafsamba/wafsamba.py
@@ -892,7 +892,7 @@
bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl'
bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl'

View File

@ -1,5 +1,5 @@
--- source3/libads/kerberos_keytab.c.orig 2017-12-23 14:23:53.247467000 +0100
+++ source3/libads/kerberos_keytab.c 2017-12-23 18:57:07.135340000 +0100
--- source3/libads/kerberos_keytab.c.orig 2017-12-23 15:23:53 UTC
+++ source3/libads/kerberos_keytab.c
@@ -32,8 +32,6 @@
#ifdef HAVE_KRB5

View File

@ -36,16 +36,17 @@ bin/smbtree
bin/testparm
bin/wbinfo
sbin/nmbd
sbin/smbd
sbin/winbindd
%%AD_DC%%sbin/samba
%%AD_DC%%sbin/samba_dnsupdate
%%AD_DC%%sbin/samba_kcc
%%AD_DC%%sbin/samba_spnupdate
%%AD_DC%%sbin/samba_upgradedns
sbin/smbd
sbin/winbindd
include/samba4/charset.h
include/samba4/core/doserr.h
include/samba4/core/error.h
include/samba4/core/hresult.h
include/samba4/core/ntstatus.h
include/samba4/core/werror.h
include/samba4/credentials.h
@ -53,7 +54,6 @@ include/samba4/dcerpc.h
%%AD_DC%%include/samba4/dcerpc_server.h
%%LDAP%%include/samba4/smb_ldap.h
%%LDAP%%include/samba4/smbldap.h
include/samba4/core/hresult.h
include/samba4/domain_credentials.h
include/samba4/gen_ndr/atsvc.h
include/samba4/gen_ndr/auth.h
@ -71,10 +71,10 @@ 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.h
include/samba4/gen_ndr/ndr_samr_c.h
include/samba4/gen_ndr/ndr_svcctl.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
@ -102,8 +102,9 @@ include/samba4/share.h
include/samba4/smb2_lease_struct.h
include/samba4/smbconf.h
include/samba4/tdr.h
include/samba4/tsocket.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
@ -111,8 +112,8 @@ include/samba4/util/data_blob.h
include/samba4/util/debug.h
include/samba4/util/fault.h
include/samba4/util/genrand.h
include/samba4/util/idtree.h
include/samba4/util/idtree_random.h
include/samba4/util/idtree.h
include/samba4/util/memory.h
include/samba4/util/safe_string.h
include/samba4/util/signal.h
@ -123,7 +124,6 @@ include/samba4/util/tevent_ntstatus.h
include/samba4/util/tevent_unix.h
include/samba4/util/tevent_werror.h
include/samba4/util/time.h
include/samba4/util_ldb.h
include/samba4/wbclient.h
lib/samba4/libdcerpc-binding.so
lib/samba4/libdcerpc-binding.so.0
@ -282,10 +282,10 @@ lib/samba4/private/libutil-tdb-samba4.so
lib/samba4/private/libwinbind-client-samba4.so
lib/samba4/private/libwind-samba4.so.0
lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_10.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_11.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_9.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
%%AD_DC%%lib/shared-modules/gensec/krb5.so
%%AD_DC%%lib/shared-modules/ldb/acl.so
%%AD_DC%%lib/shared-modules/ldb/aclread.so
@ -301,8 +301,8 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/ldb/linked_attributes.so
%%AD_DC%%lib/shared-modules/ldb/local_password.so
%%AD_DC%%lib/shared-modules/ldb/new_partition.so
%%AD_DC%%lib/shared-modules/ldb/objectclass.so
%%AD_DC%%lib/shared-modules/ldb/objectclass_attrs.so
%%AD_DC%%lib/shared-modules/ldb/objectclass.so
%%AD_DC%%lib/shared-modules/ldb/objectguid.so
%%AD_DC%%lib/shared-modules/ldb/operational.so
%%AD_DC%%lib/shared-modules/ldb/partition.so
@ -311,10 +311,10 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/ldb/repl_meta_data.so
%%AD_DC%%lib/shared-modules/ldb/resolve_oids.so
%%AD_DC%%lib/shared-modules/ldb/rootdse.so
%%AD_DC%%lib/shared-modules/ldb/samba3sam.so
%%AD_DC%%lib/shared-modules/ldb/samba3sid.so
%%AD_DC%%lib/shared-modules/ldb/samba_dsdb.so
%%AD_DC%%lib/shared-modules/ldb/samba_secrets.so
%%AD_DC%%lib/shared-modules/ldb/samba3sam.so
%%AD_DC%%lib/shared-modules/ldb/samba3sid.so
%%AD_DC%%lib/shared-modules/ldb/samldb.so
%%AD_DC%%lib/shared-modules/ldb/schema_data.so
%%AD_DC%%lib/shared-modules/ldb/schema_load.so
@ -330,8 +330,8 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/process_model/standard.so
%%AD_DC%%lib/shared-modules/service/cldap.so
%%AD_DC%%lib/shared-modules/service/dcerpc.so
%%AD_DC%%lib/shared-modules/service/dns.so
%%AD_DC%%lib/shared-modules/service/dns_update.so
%%AD_DC%%lib/shared-modules/service/dns.so
%%AD_DC%%lib/shared-modules/service/drepl.so
%%AD_DC%%lib/shared-modules/service/kcc.so
%%AD_DC%%lib/shared-modules/service/kdc.so
@ -339,11 +339,11 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/service/nbtd.so
%%AD_DC%%lib/shared-modules/service/ntp_signd.so
%%AD_DC%%lib/shared-modules/service/s3fs.so
%%NTVFS%%lib/shared-modules/service/smb.so
%%AD_DC%%lib/shared-modules/service/web.so
%%AD_DC%%lib/shared-modules/service/winbindd.so
%%AD_DC%%lib/shared-modules/service/wrepl.so
%%AD_DC%%lib/shared-modules/vfs/posix_eadb.so
%%NTVFS%%lib/shared-modules/service/smb.so
lib/shared-modules/auth/script.so
%%AD_DC%%lib/shared-modules/ldb/dns_notify.so
lib/shared-modules/ldb/ildap.so

View File

@ -1,28 +1,28 @@
# Created by: timur@FreeBSD.org
# $FreeBSD$
PORTNAME?= ${SAMBA4_BASENAME}47
PORTVERSION?= ${SAMBA4_VERSION}
PORTREVISION?= 1
PORTNAME= ${SAMBA4_BASENAME}47
PORTVERSION= ${SAMBA4_VERSION}
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
MAINTAINER= timur@FreeBSD.org
COMMENT= Free SMB/CIFS and AD/DC server and client for Unix
LICENSE= GPLv3
IGNORE_NONTHREAD_PYTHON= needs port lang/python${PYTHON_SUFFIX} to be build with THREADS support
CONFLICTS?= samba4-4.0.* samba4[1-689]-4.* p5-Parse-Pidl-4.*
CONFLICTS_INSTALL?= samba4-4.0.* samba4[1-689]-4.* p5-Parse-Pidl-4.*
EXTRA_PATCHES+= ${PATCHDIR}/0001-Zfs-provision-1.patch:-p1
EXTRA_PATCHES+= ${PATCHDIR}/0001-Freenas-master-mdns-fixes-22.patch:-p1
SAMBA4_BASENAME= samba
SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4
SAMBA4_VERSION= 4.7.4
SAMBA4_VERSION= 4.7.6
SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|}
WRKSRC?= ${WRKDIR}/${DISTNAME}
@ -62,11 +62,13 @@ CONFIGURE_ARGS+= --mandir="${MANPREFIX}/man" \
--with-cachedir="${SAMBA4_LOCKDIR}" \
--with-privatedir="${SAMBA4_PRIVATEDIR}" \
--with-logfilebase="${SAMBA4_LOGDIR}"
# Flags
# XXX: Flags
CONFIGURE_ENV+= PTHREAD_LDFLAGS="-lpthread"
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
USES= cpe compiler waf pkgconfig perl5 \
readline iconv shebangfix
iconv shebangfix
USE_PERL5= build
USE_LDCONFIG= ${SAMBA4_LIBDIR}
WAF_CMD= buildtools/bin/waf
@ -135,41 +137,96 @@ RUN_DEPENDS+= jansson>=2.10:devel/jansson
# 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
SAMBA4_BUNDLED_LIBS+= !libarchive
### Bundled libraries
#SAMBA4_BUNDLED_CMOCKA= yes
#SAMBA4_BUNDLED_TALLOC= yes
#SAMBA4_BUNDLED_TEVENT= yes
#SAMBA4_BUNDLED_TDB= yes
#SAMBA4_BUNDLED_LDB= yes
SAMBA4_LDB= 12
# cmocka
.if defined(SAMBA4_BUNDLED_CMOCKA)
SAMBA4_BUNDLED_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.1:sysutils/cmocka
RUN_DEPENDS+= cmocka>=1.1.1:sysutils/cmocka
SAMBA4_BUNDLED_LIBS+= !cmocka
PLIST_SUB+= SAMBA4_BUNDLED_CMOCKA="@comment "
SUB_LIST+= SAMBA4_BUNDLED_CMOCKA="@comment "
.endif
# talloc
BUILD_DEPENDS+= talloc>=2.1.9:devel/talloc
RUN_DEPENDS+= talloc>=2.1.9:devel/talloc
SAMBA4_BUNDLED_LIBS+= !talloc,!pytalloc-util
.if defined(SAMBA4_BUNDLED_TALLOC)
SAMBA4_BUNDLED_LIBS+= talloc
CONFLICTS+= talloc-2.*
PLIST_SUB+= SAMBA4_BUNDLED_TALLOC=""
SUB_LIST+= SAMBA4_BUNDLED_TALLOC=""
.else
SAMBA4_BUNDLED_LIBS+= !talloc
BUILD_DEPENDS+= talloc>=2.1.11:devel/talloc
RUN_DEPENDS+= talloc>=2.1.11:devel/talloc
PLIST_SUB+= SAMBA4_BUNDLED_TALLOC="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TALLOC="@comment "
.endif
# tevent
BUILD_DEPENDS+= tevent>=0.9.34:devel/tevent
RUN_DEPENDS+= tevent>=0.9.34:devel/tevent
SAMBA4_BUNDLED_LIBS+= !tevent,!pytevent
.if defined(SAMBA4_BUNDLED_TEVENT)
SAMBA4_BUNDLED_LIBS+= tevent
CONFLICTS+= tevent-0.*
PLIST_SUB+= SAMBA4_BUNDLED_TEVENT=""
SUB_LIST+= SAMBA4_BUNDLED_TEVENT=""
.else
SAMBA4_BUNDLED_LIBS+= !tevent
BUILD_DEPENDS+= tevent>=0.9.36:devel/tevent
RUN_DEPENDS+= tevent>=0.9.36:devel/tevent
PLIST_SUB+= SAMBA4_BUNDLED_TEVENT="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TEVENT="@comment "
.endif
# tdb
BUILD_DEPENDS+= tdb>=1.3.14:databases/tdb
RUN_DEPENDS+= tdb>=1.3.14:databases/tdb
SAMBA4_BUNDLED_LIBS+= !tdb,!pytdb
.if defined(SAMBA4_BUNDLED_TDB)
SAMBA4_BUNDLED_LIBS+= tdb
CONFLICTS+= tdb-1.*
PLIST_SUB+= SAMBA4_BUNDLED_TDB=""
SUB_LIST+= SAMBA4_BUNDLED_TDB=""
.else
SAMBA4_BUNDLED_LIBS+= !tdb
BUILD_DEPENDS+= tdb>=1.3.15:databases/tdb
RUN_DEPENDS+= tdb>=1.3.15:databases/tdb
PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment "
.endif
# ldb
SAMBA4_LDB= 12
.if !defined(SAMBA4_LDB) || ${SAMBA4_LDB} == 13
BUILD_DEPENDS+= ldb13>=1.3.0:databases/ldb13
RUN_DEPENDS+= ldb13>=1.3.0:databases/ldb13
.elif ${SAMBA4_LDB} == 12
.if defined(SAMBA4_BUNDLED_LDB) || !defined(SAMBA4_LDB)
SAMBA4_BUNDLED_LDB= yes
SAMBA4_BUNDLED_LIBS+= ldb
CONFLICTS+= ldb-1.* ldb1[23]-1.*
PLIST_SUB+= SAMBA4_BUNDLED_LDB=""
SUB_LIST+= SAMBA4_BUNDLED_LDB=""
.else
. if ${SAMBA4_LDB} == 13
BUILD_DEPENDS+= ldb13>=1.3.2:databases/ldb13
RUN_DEPENDS+= ldb13>=1.3.2:databases/ldb13
. elif ${SAMBA4_LDB} == 12
BUILD_DEPENDS+= ldb12>=1.2.3:databases/ldb12
RUN_DEPENDS+= ldb12>=1.2.3:databases/ldb12
.elif ${SAMBA4_LDB} == 11
. elif ${SAMBA4_LDB} == 11
BUILD_DEPENDS+= ldb>=1.1.29:databases/ldb
RUN_DEPENDS+= ldb>=1.1.29:databases/ldb
. endif
SAMBA4_BUNDLED_LIBS+= !ldb
PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment "
.endif
.if defined(SAMBA4_BUNDLED_TALLOC) || defined(SAMBA4_BUNDLED_TEVENT) || defined(SAMBA4_BUNDLED_TDB)
SAMBA4_BUNDLED_LIBS+= replace
.endif
SAMBA4_BUNDLED_LIBS+= !ldb,!pyldb,!pyldb-util
# Don't use external libcom_err
SAMBA4_BUNDLED_LIBS+= com_err
# Set the test environment variables
TEST_ENV+= PYTHON="${PYTHON_CMD}" \
SHA1SUM=/sbin/sha1 \
@ -196,6 +253,7 @@ CONFIGURE_ARGS+= \
--with-sendfile-support \
--disable-ctdb-tests \
${ICONV_CONFIGURE_BASE}
##############################################################################
BIND99_RUN_DEPENDS= bind99>=9.9.0.0:dns/bind99
BIND910_RUN_DEPENDS= bind910>=9.10.0.0:dns/bind910
@ -210,8 +268,7 @@ MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder
##############################################################################
DEBUG_CONFIGURE_ON= --verbose --enable-debug
DEBUG_MAKE_ARGS= --verbose
DEBUG_CFLAGS= -g -ggdb -gdwarf-2 -gstrict-dwarf -O0
DEBUG_VARS= WITH_DEBUG=yes
DEBUG_FLAGS= -g -ggdb3 -O0
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046
GDB_CMD?= ${LOCALBASE}/bin/gdb
# https://bugzilla.samba.org/show_bug.cgi?id=8969
@ -225,15 +282,14 @@ 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
#NTVFS_PREVENTS= AD_DC
#NTVFS_PREVENTS_MSG= NTVFS can't be combined with AD_DC
NTVFS_CONFIGURE_WITH= ntvfs-fileserver
NTVFS_PLIST_FILES= lib/shared-modules/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
@ -261,23 +317,20 @@ UTMP_CONFIGURE_WITH= utmp
AD_DC_CONFIGURE_OFF= --without-ad-dc
#NTVFS_PREVENTS= AD_DC
#NTVFS_PREVENTS_MSG= NTVFS needs AD_DC
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
# LIBZFS_CONFIGURE_WITH= libzfs
# LIBZFS_VARS= SAMBA4_MODULES+=vfs_zfs_space
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
@ -297,6 +350,8 @@ 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
@ -336,6 +391,19 @@ SUB_LIST+= SAMBA4_PYTHON2="@comment " SAMBA4_PYTHON3="@comment "
USES+= python:2.7
PLIST_SUB+= SAMBA4_PYTHON2=""
SUB_LIST+= SAMBA4_PYTHON2=""
.if !defined(SAMBA4_BUNDLED_TALLOC)
SAMBA4_BUNDLED_LIBS+= !pytalloc-util
.endif
.if !defined(SAMBA4_BUNDLED_TEVENT)
SAMBA4_BUNDLED_LIBS+= !pytevent
.endif
.if !defined(SAMBA4_BUNDLED_TDB)
SAMBA4_BUNDLED_LIBS+= !pytdb
.endif
.if !defined(SAMBA4_BUNDLED_LDB)
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}
@ -373,7 +441,6 @@ PLIST_SUB+= SAMBA4_PYTHON3="@comment "
SUB_LIST+= SAMBA4_PYTHON3="@comment "
.endif
.endif
# !SAMBA4_SUBPORT
.endif
@ -397,9 +464,9 @@ 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
.if ${readline_ARGS} == port
CFLAGS+= -D_FUNCTION_DEF
.endif
#.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/*
@ -459,7 +526,19 @@ pre-build-MANDOC-off:
source4/torture/man/masktest.1 \
source4/torture/man/smbtorture.1 \
source4/utils/man/ntlm_auth4.1 \
source4/utils/man/oLschema2ldif.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
${MKDIR} `dirname ${BUILD_WRKSRC}/bin/default/${man}`
${INSTALL_MAN} ${FILESDIR}/man/`basename ${man}` ${BUILD_WRKSRC}/bin/default/${man}
.endfor

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1514004480
SHA256 (samba-4.7.4.tar.gz) = fb12d0c4452f85b67b78bbeabd4c762d8feb8ff83e39d044d285120c2c488247
SIZE (samba-4.7.4.tar.gz) = 16853555
TIMESTAMP = 1520935629
SHA256 (samba-4.7.6.tar.gz) = 1eede30fc8ef6504e24602fb72b00baa0a7b73b59f16d25cb0771dc8c7c57d6e
SIZE (samba-4.7.6.tar.gz) = 16864824

457
net/samba47/files/man/ldb.3 Normal file
View File

@ -0,0 +1,457 @@
'\" t
.\" Title: ldb
.\" Author: [see the "Author" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" 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 <ldb\&.h>
.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

View File

@ -0,0 +1,78 @@
'\" t
.\" Title: ldbadd
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBADD" "1" "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"
ldbadd \- Command\-line utility for adding records to an LDB
.SH "SYNOPSIS"
.HP \w'\fBldbadd\fR\ 'u
\fBldbadd\fR [\-h] [\-H\ LDB\-URL] [ldif\-file1] [ldif\-file2] [\&.\&.\&.]
.SH "DESCRIPTION"
.PP
ldbadd adds records to an ldb(3) database\&. It reads the ldif(5) files specified on the command line and adds the records from these files to the LDB database, which is specified by the \-H option or the LDB_URL environment variable\&.
.PP
If \- is specified as a ldb file, the ldif input is read from standard input\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Show list of available options\&.
.RE
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. See ldb(3) for details\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbmodify, ldbdel, ldif(5)
.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
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,80 @@
'\" t
.\" Title: ldbdel
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBDEL" "1" "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"
ldbdel \- Command\-line program for deleting LDB records
.SH "SYNOPSIS"
.HP \w'\fBldbdel\fR\ 'u
\fBldbdel\fR [\-h] [\-H\ LDB\-URL] [dn] [\&.\&.\&.]
.SH "DESCRIPTION"
.PP
ldbdel deletes records from an ldb(3) database\&. It deletes the records identified by the dn\*(Aqs specified on the command\-line\&.
.PP
ldbdel uses either the database that is specified with the \-H option or the database specified by the LDB_URL environment variable\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Show list of available options\&.
.RE
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. See ldb(3) for details\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbmodify, ldbadd, ldif(5)
.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
ldbdel was written by Andrew Tridgell\&.
.PP
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,111 @@
'\" t
.\" Title: ldbedit
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBEDIT" "1" "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"
ldbedit \- Edit LDB databases using your preferred editor
.SH "SYNOPSIS"
.HP \w'\fBldbedit\fR\ 'u
\fBldbedit\fR [\-?] [\-\-usage] [\-s\ base|one|sub] [\-b\ basedn] [\-a] [\-e\ editor] [\-H\ LDB\-URL] [expression] [attributes...]
.SH "DESCRIPTION"
.PP
ldbedit is a utility that allows you to edit LDB entries (in tdb files, sqlite files or LDAP servers) using your preferred editor\&. ldbedit generates an LDIF file based on your query, allows you to edit the LDIF, and then merges that LDIF back into the LDB backend\&.
.SH "OPTIONS"
.PP
\-?, \-\-help
.RS 4
Show list of available options, and a phrase describing what that option does\&.
.RE
.PP
\-\-usage
.RS 4
Show list of available options\&. This is similar to the help option, however it does not provide any description, and is hence shorter\&.
.RE
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. For a tdb database, this will be of the form tdb://\fIfilename\fR\&. For a LDAP connection over unix domain sockets, this will be of the form ldapi://\fIsocket\fR\&. For a (potentially remote) LDAP connection over TCP, this will be of the form ldap://\fIhostname\fR\&. For an SQLite database, this will be of the form sqlite://\fIfilename\fR\&.
.RE
.PP
\-s one|sub|base
.RS 4
Search scope to use\&. One\-level, subtree or base\&.
.RE
.PP
\-a, \-all
.RS 4
Edit all records\&. This allows you to apply the same change to a number of records at once\&. You probably want to combine this with an expression of the form "objectclass=*"\&.
.RE
.PP
\-e editor, \-\-editor editor
.RS 4
Specify the editor that should be used (overrides the VISUAL and EDITOR environment variables)\&. If this option is not used, and neither VISUAL nor EDITOR environment variables are set, then the vi editor will be used\&.
.RE
.PP
\-b basedn
.RS 4
Specify Base Distinguished Name to use\&.
.RE
.PP
\-v, \-\-verbose
.RS 4
Make ldbedit more verbose about the operations that are being performed\&. Without this option, ldbedit will only provide a summary change line\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to\&. This can be overridden by using the \-H command\-line option\&.)
.RE
.PP
VISUAL and EDITOR
.RS 4
Environment variables used to determine what editor to use\&. VISUAL takes precedence over EDITOR, and both are overridden by the \-e command\-line option\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbmodify(1), ldbdel(1), ldif(5), vi(1)
.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
This manpage was written by Jelmer Vernooij and updated by Brad Hards\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,73 @@
'\" t
.\" Title: ldbmodify
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBMODIFY" "1" "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"
ldbmodify \- Modify records in a LDB database
.SH "SYNOPSIS"
.HP \w'\fBldbmodify\fR\ 'u
\fBldbmodify\fR [\-H\ LDB\-URL] [ldif\-file]
.SH "DESCRIPTION"
.PP
ldbmodify changes, adds and deletes records in a LDB database\&. The changes that should be made to the LDB database are read from the specified LDIF\-file\&. If \- is specified as the filename, input is read from stdin\&.
.PP
For now, see ldapmodify(1) for details on the LDIF file format\&.
.SH "OPTIONS"
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. See ldb(3) for details\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbedit
.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
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,81 @@
'\" t
.\" Title: ldbrename
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBRENAME" "1" "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"
ldbrename \- Edit LDB databases using your favorite editor
.SH "SYNOPSIS"
.HP \w'\fBldbrename\fR\ 'u
\fBldbrename\fR [\-h] [\-o\ options] {olddn} {newdn}
.SH "DESCRIPTION"
.PP
ldbrename is a utility that allows you to rename trees in an LDB database based by DN\&. This utility takes two arguments: the original DN name of the top element and the DN to change it to\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Show list of available options\&.
.RE
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. See ldb(3) for details\&.
.RE
.PP
\-o options
.RS 4
Extra ldb options, such as modules\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbmodify, ldbdel, ldif(5)
.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
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,91 @@
'\" t
.\" Title: ldbsearch
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 11/05/2017
.\" Manual: System Administration tools
.\" Source: LDB 1.1
.\" Language: English
.\"
.TH "LDBSEARCH" "1" "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"
ldbsearch \- Search for records in a LDB database
.SH "SYNOPSIS"
.HP \w'\fBldbsearch\fR\ 'u
\fBldbsearch\fR [\-h] [\-s\ base|one|sub] [\-b\ basedn] [\-i] [\-H\ LDB\-URL] [expression] [attributes]
.SH "DESCRIPTION"
.PP
ldbsearch searches a LDB database for records matching the specified expression (see the ldapsearch(1) manpage for a description of the expression format)\&. For each record, the specified attributes are printed\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Show list of available options\&.
.RE
.PP
\-H <ldb\-url>
.RS 4
LDB URL to connect to\&. See ldb(3) for details\&.
.RE
.PP
\-s one|sub|base
.RS 4
Search scope to use\&. One\-level, subtree or base\&.
.RE
.PP
\-i
.RS 4
Read search expressions from stdin\&.
.RE
.PP
\-b basedn
.RS 4
Specify Base DN to use\&.
.RE
.SH "ENVIRONMENT"
.PP
LDB_URL
.RS 4
LDB URL to connect to (can be overrided by using the \-H command\-line option\&.)
.RE
.SH "VERSION"
.PP
This man page is correct for version 1\&.1 of LDB\&.
.SH "SEE ALSO"
.PP
ldb(3), ldbedit(1)
.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
This manpage was written by Jelmer Vernooij\&.
.SH "NOTES"
.IP " 1." 4
Andrew Tridgell
.RS 4
\%https://www.samba.org/~tridge/
.RE

View File

@ -0,0 +1,683 @@
'\" t
.\" Title: talloc
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-10
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "TALLOC" "3" "2015\-04\-10" "Samba 4\&.0" "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"
talloc \- hierarchical reference counted memory pool system with destructors
.SH "SYNOPSIS"
.sp
.nf
#include <talloc\&.h>
.fi
.SH "DESCRIPTION"
.PP
If you are used to talloc from Samba3 then please read this carefully, as talloc has changed a lot\&.
.PP
The new talloc is a hierarchical, reference counted memory pool system with destructors\&. Quite a mouthful really, but not too bad once you get used to it\&.
.PP
Perhaps the biggest change from Samba3 is that there is no distinction between a "talloc context" and a "talloc pointer"\&. Any pointer returned from talloc() is itself a valid talloc context\&. This means you can do this:
.sp
.if n \{\
.RS 4
.\}
.nf
struct foo *X = talloc(mem_ctx, struct foo);
X\->name = talloc_strdup(X, "foo");
.fi
.if n \{\
.RE
.\}
.PP
and the pointer
X\->name
would be a "child" of the talloc context
X
which is itself a child of
mem_ctx\&. So if you do
talloc_free(mem_ctx)
then it is all destroyed, whereas if you do
talloc_free(X)
then just
X
and
X\->name
are destroyed, and if you do
talloc_free(X\->name)
then just the name element of
X
is destroyed\&.
.PP
If you think about this, then what this effectively gives you is an n\-ary tree, where you can free any part of the tree with talloc_free()\&.
.PP
If you find this confusing, then I suggest you run the
testsuite
program to watch talloc in action\&. You may also like to add your own tests to
testsuite\&.c
to clarify how some particular situation is handled\&.
.SH "TALLOC API"
.PP
The following is a complete guide to the talloc API\&. Read it all at least twice\&.
.SS "(type *)talloc(const void *ctx, type);"
.PP
The talloc() macro is the core of the talloc library\&. It takes a memory
\fIctx\fR
and a
\fItype\fR, and returns a pointer to a new area of memory of the given
\fItype\fR\&.
.PP
The returned pointer is itself a talloc context, so you can use it as the
\fIctx\fR
argument to more calls to talloc() if you wish\&.
.PP
The returned pointer is a "child" of the supplied context\&. This means that if you talloc_free() the
\fIctx\fR
then the new child disappears as well\&. Alternatively you can free just the child\&.
.PP
The
\fIctx\fR
argument to talloc() can be NULL, in which case a new top level context is created\&.
.SS "void *talloc_size(const void *ctx, size_t size);"
.PP
The function talloc_size() should be used when you don\*(Aqt have a convenient type to pass to talloc()\&. Unlike talloc(), it is not type safe (as it returns a void *), so you are on your own for type checking\&.
.SS "(typeof(ptr)) talloc_ptrtype(const void *ctx, ptr);"
.PP
The talloc_ptrtype() macro should be used when you have a pointer and want to allocate memory to point at with this pointer\&. When compiling with gcc >= 3 it is typesafe\&. Note this is a wrapper of talloc_size() and talloc_get_name() will return the current location in the source file\&. and not the type\&.
.SS "int talloc_free(void *ptr);"
.PP
The talloc_free() function frees a piece of talloc memory, and all its children\&. You can call talloc_free() on any pointer returned by talloc()\&.
.PP
The return value of talloc_free() indicates success or failure, with 0 returned for success and \-1 for failure\&. The only possible failure condition is if
\fIptr\fR
had a destructor attached to it and the destructor returned \-1\&. See
\(lqtalloc_set_destructor()\(rq
for details on destructors\&.
.PP
If this pointer has an additional parent when talloc_free() is called then the memory is not actually released, but instead the most recently established parent is destroyed\&. See
\(lqtalloc_reference()\(rq
for details on establishing additional parents\&.
.PP
For more control on which parent is removed, see
\(lqtalloc_unlink()\(rq\&.
.PP
talloc_free() operates recursively on its children\&.
.PP
From the 2\&.0 version of talloc, as a special case, talloc_free() is refused on pointers that have more than one parent, as talloc would have no way of knowing which parent should be removed\&. To free a pointer that has more than one parent please use talloc_unlink()\&.
.PP
To help you find problems in your code caused by this behaviour, if you do try and free a pointer with more than one parent then the talloc logging function will be called to give output like this:
.PP
.sp
.if n \{\
.RS 4
.\}
.nf
ERROR: talloc_free with references at some_dir/source/foo\&.c:123
reference at some_dir/source/other\&.c:325
reference at some_dir/source/third\&.c:121
.fi
.if n \{\
.RE
.\}
.PP
Please see the documentation for talloc_set_log_fn() and talloc_set_log_stderr() for more information on talloc logging functions\&.
.SS "void *talloc_reference(const void *ctx, const void *ptr);"
.PP
The talloc_reference() function makes
\fIctx\fR
an additional parent of
\fIptr\fR\&.
.PP
The return value of talloc_reference() is always the original pointer
\fIptr\fR, unless talloc ran out of memory in creating the reference in which case it will return NULL (each additional reference consumes around 48 bytes of memory on intel x86 platforms)\&.
.PP
If
\fIptr\fR
is NULL, then the function is a no\-op, and simply returns NULL\&.
.PP
After creating a reference you can free it in one of the following ways:
.PP
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
you can talloc_free() any parent of the original pointer\&. That will reduce the number of parents of this pointer by 1, and will cause this pointer to be freed if it runs out of parents\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
you can talloc_free() the pointer itself if it has at maximum one parent\&. This behaviour has been changed since the release of version 2\&.0\&. Further informations in the description of "talloc_free"\&.
.RE
.PP
For more control on which parent to remove, see
\(lqtalloc_unlink()\(rq\&.
.SS "int talloc_unlink(const void *ctx, void *ptr);"
.PP
The talloc_unlink() function removes a specific parent from
\fIptr\fR\&. The
\fIctx\fR
passed must either be a context used in talloc_reference() with this pointer, or must be a direct parent of ptr\&.
.PP
Note that if the parent has already been removed using talloc_free() then this function will fail and will return \-1\&. Likewise, if
\fIptr\fR
is NULL, then the function will make no modifications and return \-1\&.
.PP
Usually you can just use talloc_free() instead of talloc_unlink(), but sometimes it is useful to have the additional control on which parent is removed\&.
.SS "void talloc_set_destructor(const void *ptr, int (*destructor)(void *));"
.PP
The function talloc_set_destructor() sets the
\fIdestructor\fR
for the pointer
\fIptr\fR\&. A
\fIdestructor\fR
is a function that is called when the memory used by a pointer is about to be released\&. The destructor receives
\fIptr\fR
as an argument, and should return 0 for success and \-1 for failure\&.
.PP
The
\fIdestructor\fR
can do anything it wants to, including freeing other pieces of memory\&. A common use for destructors is to clean up operating system resources (such as open file descriptors) contained in the structure the destructor is placed on\&.
.PP
You can only place one destructor on a pointer\&. If you need more than one destructor then you can create a zero\-length child of the pointer and place an additional destructor on that\&.
.PP
To remove a destructor call talloc_set_destructor() with NULL for the destructor\&.
.PP
If your destructor attempts to talloc_free() the pointer that it is the destructor for then talloc_free() will return \-1 and the free will be ignored\&. This would be a pointless operation anyway, as the destructor is only called when the memory is just about to go away\&.
.SS "int talloc_increase_ref_count(const void *\fIptr\fR);"
.PP
The talloc_increase_ref_count(\fIptr\fR) function is exactly equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_reference(NULL, ptr);
.fi
.if n \{\
.RE
.\}
.PP
You can use either syntax, depending on which you think is clearer in your code\&.
.PP
It returns 0 on success and \-1 on failure\&.
.SS "size_t talloc_reference_count(const void *\fIptr\fR);"
.PP
Return the number of references to the pointer\&.
.SS "void talloc_set_name(const void *ptr, const char *fmt, \&.\&.\&.);"
.PP
Each talloc pointer has a "name"\&. The name is used principally for debugging purposes, although it is also possible to set and get the name on a pointer in as a way of "marking" pointers in your code\&.
.PP
The main use for names on pointer is for "talloc reports"\&. See
\(lqtalloc_report_depth_cb()\(rq,
\(lqtalloc_report_depth_file()\(rq,
\(lqtalloc_report()\(rq
\(lqtalloc_report()\(rq
and
\(lqtalloc_report_full()\(rq
for details\&. Also see
\(lqtalloc_enable_leak_report()\(rq
and
\(lqtalloc_enable_leak_report_full()\(rq\&.
.PP
The talloc_set_name() function allocates memory as a child of the pointer\&. It is logically equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, talloc_asprintf(ptr, fmt, \&.\&.\&.));
.fi
.if n \{\
.RE
.\}
.PP
Note that multiple calls to talloc_set_name() will allocate more memory without releasing the name\&. All of the memory is released when the ptr is freed using talloc_free()\&.
.SS "void talloc_set_name_const(const void *\fIptr\fR, const char *\fIname\fR);"
.PP
The function talloc_set_name_const() is just like talloc_set_name(), but it takes a string constant, and is much faster\&. It is extensively used by the "auto naming" macros, such as talloc_p()\&.
.PP
This function does not allocate any memory\&. It just copies the supplied pointer into the internal representation of the talloc ptr\&. This means you must not pass a
\fIname\fR
pointer to memory that will disappear before
\fIptr\fR
is freed with talloc_free()\&.
.SS "void *talloc_named(const void *\fIctx\fR, size_t \fIsize\fR, const char *\fIfmt\fR, \&.\&.\&.);"
.PP
The talloc_named() function creates a named talloc pointer\&. It is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
talloc_set_name(ptr, fmt, \&.\&.\&.\&.);
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_named_const(const void *\fIctx\fR, size_t \fIsize\fR, const char *\fIname\fR);"
.PP
This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
talloc_set_name_const(ptr, name);
.fi
.if n \{\
.RE
.\}
.SS "const char *talloc_get_name(const void *\fIptr\fR);"
.PP
This returns the current name for the given talloc pointer,
\fIptr\fR\&. See
\(lqtalloc_set_name()\(rq
for details\&.
.SS "void *talloc_init(const char *\fIfmt\fR, \&.\&.\&.);"
.PP
This function creates a zero length named talloc context as a top level context\&. It is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_named(NULL, 0, fmt, \&.\&.\&.);
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_new(void *\fIctx\fR);"
.PP
This is a utility macro that creates a new memory context hanging off an existing context, automatically naming it "talloc_new: __location__" where __location__ is the source line it is called from\&. It is particularly useful for creating a new temporary working context\&.
.SS "(\fItype\fR *)talloc_realloc(const void *\fIctx\fR, void *\fIptr\fR, \fItype\fR, \fIcount\fR);"
.PP
The talloc_realloc() macro changes the size of a talloc pointer\&. It has the following equivalences:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_realloc(ctx, NULL, type, 1) ==> talloc(ctx, type);
talloc_realloc(ctx, ptr, type, 0) ==> talloc_free(ptr);
.fi
.if n \{\
.RE
.\}
.PP
The
\fIctx\fR
argument is only used if
\fIptr\fR
is not NULL, otherwise it is ignored\&.
.PP
talloc_realloc() returns the new pointer, or NULL on failure\&. The call will fail either due to a lack of memory, or because the pointer has more than one parent (see
\(lqtalloc_reference()\(rq)\&.
.SS "void *talloc_realloc_size(const void *ctx, void *ptr, size_t size);"
.PP
the talloc_realloc_size() function is useful when the type is not known so the type\-safe talloc_realloc() cannot be used\&.
.SS "TYPE *talloc_steal(const void *\fInew_ctx\fR, const TYPE *\fIptr\fR);"
.PP
The talloc_steal() function changes the parent context of a talloc pointer\&. It is typically used when the context that the pointer is currently a child of is going to be freed and you wish to keep the memory for a longer time\&.
.PP
The talloc_steal() function returns the pointer that you pass it\&. It does not have any failure modes\&.
.PP
It is possible to produce loops in the parent/child relationship if you are not careful with talloc_steal()\&. No guarantees are provided as to your sanity or the safety of your data if you do this\&.
.PP
Note that if you try and call talloc_steal() on a pointer that has more than one parent then the result is ambiguous\&. Talloc will choose to remove the parent that is currently indicated by talloc_parent() and replace it with the chosen parent\&. You will also get a message like this via the talloc logging functions:
.PP
.sp
.if n \{\
.RS 4
.\}
.nf
WARNING: talloc_steal with references at some_dir/source/foo\&.c:123
reference at some_dir/source/other\&.c:325
reference at some_dir/source/third\&.c:121
.fi
.if n \{\
.RE
.\}
.PP
To unambiguously change the parent of a pointer please see the function
\(lqtalloc_reparent()\(rq\&. See the talloc_set_log_fn() documentation for more information on talloc logging\&.
.SS "TYPE *talloc_reparent(const void *\fIold_parent\fR, const void *\fInew_parent\fR, const TYPE *\fIptr\fR);"
.PP
The talloc_reparent() function changes the parent context of a talloc pointer\&. It is typically used when the context that the pointer is currently a child of is going to be freed and you wish to keep the memory for a longer time\&.
.PP
The talloc_reparent() function returns the pointer that you pass it\&. It does not have any failure modes\&.
.PP
The difference between talloc_reparent() and talloc_steal() is that talloc_reparent() can specify which parent you wish to change\&. This is useful when a pointer has multiple parents via references\&.
.SS "TYPE *talloc_move(const void *\fInew_ctx\fR, TYPE **\fIptr\fR);"
.PP
The talloc_move() function is a wrapper around talloc_steal() which zeros the source pointer after the move\&. This avoids a potential source of bugs where a programmer leaves a pointer in two structures, and uses the pointer from the old structure after it has been moved to a new one\&.
.SS "size_t talloc_total_size(const void *\fIptr\fR);"
.PP
The talloc_total_size() function returns the total size in bytes used by this pointer and all child pointers\&. Mostly useful for debugging\&.
.PP
Passing NULL is allowed, but it will only give a meaningful result if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "size_t talloc_total_blocks(const void *\fIptr\fR);"
.PP
The talloc_total_blocks() function returns the total memory block count used by this pointer and all child pointers\&. Mostly useful for debugging\&.
.PP
Passing NULL is allowed, but it will only give a meaningful result if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "void talloc_report(const void *ptr, FILE *f);"
.PP
The talloc_report() function prints a summary report of all memory used by
\fIptr\fR\&. One line of report is printed for each immediate child of ptr, showing the total memory and number of blocks used by that child\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS "void talloc_report_full(const void *\fIptr\fR, FILE *\fIf\fR);"
.PP
This provides a more detailed report than talloc_report()\&. It will recursively print the entire tree of memory referenced by the pointer\&. References in the tree are shown by giving the name of the pointer that is referenced\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.SS ""
.HP \w'void\ talloc_report_depth_cb('u
.BI "void talloc_report_depth_cb(" "const\ void\ *ptr" ", " "int\ depth" ", " "int\ max_depth" ", " "void\ (*callback)(const\ void\ *ptr,\ int\ depth,\ int\ max_depth,\ int\ is_ref,\ void\ *priv)" ", " "void\ *priv" ");"
.PP
This provides a more flexible reports than talloc_report()\&. It will recursively call the callback for the entire tree of memory referenced by the pointer\&. References in the tree are passed with
\fIis_ref = 1\fR
and the pointer that is referenced\&.
.PP
You can pass NULL for the pointer, in which case a report is printed for the top level memory context, but only if talloc_enable_leak_report() or talloc_enable_leak_report_full() has been called\&.
.PP
The recursion is stopped when depth >= max_depth\&. max_depth = \-1 means only stop at leaf nodes\&.
.SS ""
.HP \w'void\ talloc_report_depth_file('u
.BI "void talloc_report_depth_file(" "const\ void\ *ptr" ", " "int\ depth" ", " "int\ max_depth" ", " "FILE\ *f" ");"
.PP
This provides a more flexible reports than talloc_report()\&. It will let you specify the depth and max_depth\&.
.SS "void talloc_enable_leak_report(void);"
.PP
This enables calling of talloc_report(NULL, stderr) when the program exits\&. In Samba4 this is enabled by using the \-\-leak\-report command line option\&.
.PP
For it to be useful, this function must be called before any other talloc function as it establishes a "null context" that acts as the top of the tree\&. If you don\*(Aqt call this function first then passing NULL to talloc_report() or talloc_report_full() won\*(Aqt give you the full tree printout\&.
.PP
Here is a typical talloc report:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc report on \*(Aqnull_context\*(Aq (total 267 bytes in 15 blocks)
libcli/auth/spnego_parse\&.c:55 contains 31 bytes in 2 blocks
libcli/auth/spnego_parse\&.c:55 contains 31 bytes in 2 blocks
iconv(UTF8,CP850) contains 42 bytes in 2 blocks
libcli/auth/spnego_parse\&.c:55 contains 31 bytes in 2 blocks
iconv(CP850,UTF8) contains 42 bytes in 2 blocks
iconv(UTF8,UTF\-16LE) contains 45 bytes in 2 blocks
iconv(UTF\-16LE,UTF8) contains 45 bytes in 2 blocks
.fi
.if n \{\
.RE
.\}
.SS "void talloc_enable_leak_report_full(void);"
.PP
This enables calling of talloc_report_full(NULL, stderr) when the program exits\&. In Samba4 this is enabled by using the \-\-leak\-report\-full command line option\&.
.PP
For it to be useful, this function must be called before any other talloc function as it establishes a "null context" that acts as the top of the tree\&. If you don\*(Aqt call this function first then passing NULL to talloc_report() or talloc_report_full() won\*(Aqt give you the full tree printout\&.
.PP
Here is a typical full report:
.sp
.if n \{\
.RS 4
.\}
.nf
full talloc report on \*(Aqroot\*(Aq (total 18 bytes in 8 blocks)
p1 contains 18 bytes in 7 blocks (ref 0)
r1 contains 13 bytes in 2 blocks (ref 0)
reference to: p2
p2 contains 1 bytes in 1 blocks (ref 1)
x3 contains 1 bytes in 1 blocks (ref 0)
x2 contains 1 bytes in 1 blocks (ref 0)
x1 contains 1 bytes in 1 blocks (ref 0)
.fi
.if n \{\
.RE
.\}
.SS "(\fItype\fR *)talloc_zero(const void *\fIctx\fR, \fItype\fR);"
.PP
The talloc_zero() macro is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc(ctx, type);
if (ptr) memset(ptr, 0, sizeof(type));
.fi
.if n \{\
.RE
.\}
.SS "void *talloc_zero_size(const void *\fIctx\fR, size_t \fIsize\fR)"
.PP
The talloc_zero_size() function is useful when you don\*(Aqt have a known type\&.
.SS "void *talloc_memdup(const void *\fIctx\fR, const void *\fIp\fR, size_t size);"
.PP
The talloc_memdup() function is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, size);
if (ptr) memcpy(ptr, p, size);
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_strdup(const void *\fIctx\fR, const char *\fIp\fR);"
.PP
The talloc_strdup() function is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
ptr = talloc_size(ctx, strlen(p)+1);
if (ptr) memcpy(ptr, p, strlen(p)+1);
.fi
.if n \{\
.RE
.\}
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_strndup(const void *\fIt\fR, const char *\fIp\fR, size_t \fIn\fR);"
.PP
The talloc_strndup() function is the talloc equivalent of the C library function strndup(3)\&.
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_vasprintf(const void *\fIt\fR, const char *\fIfmt\fR, va_list \fIap\fR);"
.PP
The talloc_vasprintf() function is the talloc equivalent of the C library function vasprintf(3)\&.
.PP
This function sets the name of the new pointer to the new string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_asprintf(const void *\fIt\fR, const char *\fIfmt\fR, \&.\&.\&.);"
.PP
The talloc_asprintf() function is the talloc equivalent of the C library function asprintf(3)\&.
.PP
This function sets the name of the new pointer to the passed string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "char *talloc_asprintf_append(char *s, const char *fmt, \&.\&.\&.);"
.PP
The talloc_asprintf_append() function appends the given formatted string to the given string\&.
.PP
This function sets the name of the new pointer to the new string\&. This is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, ptr)
.fi
.if n \{\
.RE
.\}
.SS "(type *)talloc_array(const void *ctx, type, unsigned int count);"
.PP
The talloc_array() macro is equivalent to:
.sp
.if n \{\
.RS 4
.\}
.nf
(type *)talloc_size(ctx, sizeof(type) * count);
.fi
.if n \{\
.RE
.\}
.PP
except that it provides integer overflow protection for the multiply, returning NULL if the multiply overflows\&.
.SS "void *talloc_array_size(const void *ctx, size_t size, unsigned int count);"
.PP
The talloc_array_size() function is useful when the type is not known\&. It operates in the same way as talloc_array(), but takes a size instead of a type\&.
.SS "(typeof(ptr)) talloc_array_ptrtype(const void *ctx, ptr, unsigned int count);"
.PP
The talloc_ptrtype() macro should be used when you have a pointer to an array and want to allocate memory of an array to point at with this pointer\&. When compiling with gcc >= 3 it is typesafe\&. Note this is a wrapper of talloc_array_size() and talloc_get_name() will return the current location in the source file\&. and not the type\&.
.SS "void *talloc_realloc_fn(const void *ctx, void *ptr, size_t size)"
.PP
This is a non\-macro version of talloc_realloc(), which is useful as libraries sometimes want a realloc function pointer\&. A realloc(3) implementation encapsulates the functionality of malloc(3), free(3) and realloc(3) in one call, which is why it is useful to be able to pass around a single function pointer\&.
.SS "void *talloc_autofree_context(void);"
.PP
This is a handy utility function that returns a talloc context which will be automatically freed on program exit\&. This can be used to reduce the noise in memory leak reports\&.
.SS "void *talloc_check_name(const void *ptr, const char *name);"
.PP
This function checks if a pointer has the specified
\fIname\fR\&. If it does then the pointer is returned\&. It it doesn\*(Aqt then NULL is returned\&.
.SS "(type *)talloc_get_type(const void *ptr, type);"
.PP
This macro allows you to do type checking on talloc pointers\&. It is particularly useful for void* private pointers\&. It is equivalent to this:
.sp
.if n \{\
.RS 4
.\}
.nf
(type *)talloc_check_name(ptr, #type)
.fi
.if n \{\
.RE
.\}
.SS "talloc_set_type(const void *ptr, type);"
.PP
This macro allows you to force the name of a pointer to be a particular
\fItype\fR\&. This can be used in conjunction with talloc_get_type() to do type checking on void* pointers\&.
.PP
It is equivalent to this:
.sp
.if n \{\
.RS 4
.\}
.nf
talloc_set_name_const(ptr, #type)
.fi
.if n \{\
.RE
.\}
.SS "talloc_set_log_fn(void (*log_fn)(const char *message));"
.PP
This function sets a logging function that talloc will use for warnings and errors\&. By default talloc will not print any warnings or errors\&.
.SS "talloc_set_log_stderr(void);"
.PP
This sets the talloc log function to write log messages to stderr
.SH "PERFORMANCE"
.PP
All the additional features of talloc(3) over malloc(3) do come at a price\&. We have a simple performance test in Samba4 that measures talloc() versus malloc() performance, and it seems that talloc() is about 10% slower than malloc() on my x86 Debian Linux box\&. For Samba, the great reduction in code complexity that we get by using talloc makes this worthwhile, especially as the total overhead of talloc/malloc in Samba is already quite small\&.
.SH "SEE ALSO"
.PP
malloc(3), strndup(3), vasprintf(3), asprintf(3),
\m[blue]\fB\%http://talloc.samba.org/\fR\m[]
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
.SH "COPYRIGHT/LICENSE"
.PP
Copyright (C) Andrew Tridgell 2004
.PP
This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version\&.
.PP
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&.
.PP
You should have received a copy of the GNU General Public License along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.

View File

@ -0,0 +1,129 @@
'\" t
.\" Title: tdbbackup
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBBACKUP" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbbackup \- tool for backing up and for validating the integrity of samba \&.tdb files
.SH "SYNOPSIS"
.HP \w'\fBtdbbackup\fR\ 'u
\fBtdbbackup\fR [\-s\ suffix] [\-v] [\-h] [\-l]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbbackup\fR
is a tool that may be used to backup samba \&.tdb files\&. This tool may also be used to verify the integrity of the \&.tdb files prior to samba startup or during normal operation\&. If it finds file damage and it finds a prior backup the backup file will be restored\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Get help information\&.
.RE
.PP
\-s suffix
.RS 4
The
\fB\-s\fR
option allows the administrator to specify a file backup extension\&. This way it is possible to keep a history of tdb backup files by using a new suffix for each backup\&.
.RE
.PP
\-v
.RS 4
The
\fB\-v\fR
will check the database for damages (corrupt data) which if detected causes the backup to be restored\&.
.RE
.PP
\-l
.RS 4
This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex()\&. Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e\&.g\&. databases which were created with mutex locking\&.
.RE
.SH "COMMANDS"
.PP
\fIGENERAL INFORMATION\fR
.PP
The
\fBtdbbackup\fR
utility can safely be run at any time\&. It was designed so that it can be used at any time to validate the integrity of tdb files, even during Samba operation\&. Typical usage for the command will be:
.PP
tdbbackup [\-s suffix] *\&.tdb
.PP
Before restarting samba the following command may be run to validate \&.tdb files:
.PP
tdbbackup \-v [\-s suffix] *\&.tdb
.PP
Samba \&.tdb files are stored in various locations, be sure to run backup all \&.tdb file on the system\&. Important files includes:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBsecrets\&.tdb\fR
\- usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBpassdb\&.tdb\fR
\- usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fB*\&.tdb\fR
located in the /usr/local/samba/var directory or on some systems in the /var/cache or /var/lib/samba directories\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
.PP
The tdbbackup man page was written by John H Terpstra\&.

View File

@ -0,0 +1,72 @@
'\" t
.\" Title: tdbdump
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBDUMP" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbdump \- tool for printing the contents of a TDB file
.SH "SYNOPSIS"
.HP \w'\fBtdbdump\fR\ 'u
\fBtdbdump\fR [\-k\ \fIkeyname\fR] [\-e] [\-h] {filename}
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbdump\fR
is a very simple utility that \*(Aqdumps\*(Aq the contents of a TDB (Trivial DataBase) file to standard output in a human\-readable format\&.
.PP
This tool can be used when debugging problems with TDB files\&. It is intended for those who are somewhat familiar with Samba internals\&.
.SH "OPTIONS"
.PP
\-h
.RS 4
Get help information\&.
.RE
.PP
\-k \fIkeyname\fR
.RS 4
The
\fB\-k\fR
option restricts dumping to a single key, if found\&.
.RE
.PP
\-e
.RS 4
The
\fB\-e\fR
tries to dump out from a corrupt database\&. Naturally, such a dump is unreliable, at best\&.
.RE
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.
.PP
The tdbdump man page was written by Jelmer Vernooij\&.

View File

@ -0,0 +1,54 @@
'\" t
.\" Title: tdbrestore
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 3.6
.\" Language: English
.\"
.TH "TDBRESTORE" "8" "2015\-04\-25" "Samba 3\&.6" "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"
tdbrestore \- tool for creating a TDB file out of a tdbdump output
.SH "SYNOPSIS"
.HP \w'\fBtdbrestore\fR\ 'u
\fBtdbrestore\fR {tdbfilename}
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbrestore\fR
is a very simple utility that \*(Aqrestores\*(Aq the contents of dump file into TDB (Trivial DataBase) file\&. The dump file is obtained from the tdbdump command\&.
.PP
This tool wait on the standard input for the content of the dump and will write the tdb in the tdbfilename parameter\&.
.PP
This tool can be used for unpacking the content of tdb as backup mean\&.
.SH "VERSION"
.PP
This man page is correct for version 3 of the Samba suite\&.
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&. This tool was initially written by Volker Lendecke based on an idea by Simon McVittie\&.
.PP
The tdbrestore man page was written by Matthieu Patou\&.

View File

@ -0,0 +1,170 @@
'\" t
.\" Title: tdbtool
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: 2015-04-25
.\" Manual: System Administration tools
.\" Source: Samba 4.0
.\" Language: English
.\"
.TH "TDBTOOL" "8" "2015\-04\-25" "Samba 4\&.0" "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"
tdbtool \- manipulate the contents TDB files
.SH "SYNOPSIS"
.HP \w'\fBtdbtool\fR\ 'u
\fBtdbtool\fR
.HP \w'\fBtdbtool\fR\ 'u
\fBtdbtool\fR [\-l] \fITDBFILE\fR [\fICOMMANDS\fR...]
.SH "DESCRIPTION"
.PP
This tool is part of the
\fBsamba\fR(1)
suite\&.
.PP
\fBtdbtool\fR
a tool for displaying and altering the contents of Samba TDB (Trivial DataBase) files\&. Each of the commands listed below can be entered interactively or provided on the command line\&.
.SH "OPTIONS"
.PP
\-l
.RS 4
This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex()\&. Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e\&.g\&. databases which were created with mutex locking\&.
.RE
.SH "COMMANDS"
.PP
\fBcreate\fR \fITDBFILE\fR
.RS 4
Create a new database named
\fITDBFILE\fR\&.
.RE
.PP
\fBopen\fR \fITDBFILE\fR
.RS 4
Open an existing database named
\fITDBFILE\fR\&.
.RE
.PP
\fBerase\fR
.RS 4
Erase the current database\&.
.RE
.PP
\fBdump\fR
.RS 4
Dump the current database as strings\&.
.RE
.PP
\fBcdump\fR
.RS 4
Dump the current database as connection records\&.
.RE
.PP
\fBkeys\fR
.RS 4
Dump the current database keys as strings\&.
.RE
.PP
\fBhexkeys\fR
.RS 4
Dump the current database keys as hex values\&.
.RE
.PP
\fBinfo\fR
.RS 4
Print summary information about the current database\&.
.RE
.PP
\fBinsert\fR \fIKEY\fR \fIDATA\fR
.RS 4
Insert a record into the current database\&.
.RE
.PP
\fBmove\fR \fIKEY\fR \fITDBFILE\fR
.RS 4
Move a record from the current database into
\fITDBFILE\fR\&.
.RE
.PP
\fBstore\fR \fIKEY\fR \fIDATA\fR
.RS 4
Store (replace) a record in the current database\&.
.RE
.PP
\fBshow\fR \fIKEY\fR
.RS 4
Show a record by key\&.
.RE
.PP
\fBdelete\fR \fIKEY\fR
.RS 4
Delete a record by key\&.
.RE
.PP
\fBlist\fR
.RS 4
Print the current database hash table and free list\&.
.RE
.PP
\fBfree\fR
.RS 4
Print the current database and free list\&.
.RE
.PP
\fB!\fR \fICOMMAND\fR
.RS 4
Execute the given system command\&.
.RE
.PP
\fBfirst\fR
.RS 4
Print the first record in the current database\&.
.RE
.PP
\fBnext\fR
.RS 4
Print the next record in the current database\&.
.RE
.PP
\fBcheck\fR
.RS 4
Check the integrity of the current database\&.
.RE
.PP
\fBrepack\fR
.RS 4
Repack a database using a temporary file to remove fragmentation\&.
.RE
.PP
\fBquit\fR
.RS 4
Exit
\fBtdbtool\fR\&.
.RE
.SH "CAVEATS"
.PP
The contents of the Samba TDB files are private to the implementation and should not be altered with
\fBtdbtool\fR\&.
.SH "VERSION"
.PP
This man page is correct for version 3\&.6 of the Samba suite\&.
.SH "AUTHOR"
.PP
The original Samba software and related utilities were created by Andrew Tridgell\&. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed\&.

View File

@ -1,6 +1,47 @@
--- buildtools/wafsamba/samba_autoconf.py.orig 2017-07-04 10:05:25 UTC
--- buildtools/wafsamba/samba_autoconf.py.orig 2016-10-07 04:45:35 UTC
+++ buildtools/wafsamba/samba_autoconf.py
@@ -873,7 +873,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
@@ -548,7 +548,7 @@ def library_flags(self, libs):
@conf
-def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False):
+def CHECK_LIB(conf, libs, mandatory=False, empty_decl=True, set_target=True, shlib=False, msg=None):
'''check if a set of libraries exist as system libraries
returns the sublist of libs that do exist as a syslib or []
@@ -568,11 +568,29 @@ int foo()
ret.append(lib)
continue
+ if msg is None:
+ msg = 'Checking for library %s' % lib
+
(ccflags, ldflags, cpppath) = library_flags(conf, lib)
+
if shlib:
- res = conf.check(features='c cshlib', fragment=fragment, lib=lib, uselib_store=lib, ccflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+ res = conf.check(features='c cshlib',
+ fragment=fragment,
+ lib=lib,
+ uselib_store=lib,
+ ccflags=ccflags,
+ ldflags=ldflags,
+ uselib=lib.upper(),
+ mandatory=False,
+ msg=msg)
else:
- res = conf.check(lib=lib, uselib_store=lib, ccflags=ccflags, ldflags=ldflags, uselib=lib.upper(), mandatory=False)
+ res = conf.check(lib=lib,
+ uselib_store=lib,
+ ccflags=ccflags,
+ ldflags=ldflags,
+ uselib=lib.upper(),
+ mandatory=False,
+ msg=msg)
if not res:
if mandatory:
@@ -873,7 +891,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(c
conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)
if not sys.platform.startswith("openbsd") and conf.env.undefined_ignore_ldflags == []:

View File

@ -1,6 +1,6 @@
--- buildtools/wafsamba/samba_python.py.orig 2017-04-28 08:57:26 UTC
--- buildtools/wafsamba/samba_python.py.orig 2018-01-13 09:07:51 UTC
+++ buildtools/wafsamba/samba_python.py
@@ -76,17 +76,31 @@ def SAMBA_CHECK_PYTHON_HEADERS(conf, man
@@ -76,17 +76,35 @@ def SAMBA_CHECK_PYTHON_HEADERS(conf, man
def _check_python_headers(conf, mandatory):
try:
@ -19,12 +19,16 @@
if conf.env['PYTHON_VERSION'] > '3':
- abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
- conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''
+ override_PYTHON3_SO_ABI_FLAG = os.getenv('PYTHON3_SO_ABI_FLAG', None)
+ if override_PYTHON3_SO_ABI_FLAG is not None:
+ conf.env['PYTHON_SO_ABI_FLAG'] = override_PYTHON3_SO_ABI_FLAG
+ '''Be caucious here - conf parameter is PYTHON_SO_ABI_FLAG,
+ while environment variable is PYTHON3_SO_ABI_FLAG'''
+ override_PYTHON_SO_ABI_FLAG = os.getenv('PYTHON3_SO_ABI_FLAG', None)
+ if override_PYTHON_SO_ABI_FLAG is not None:
+ conf.env['PYTHON_SO_ABI_FLAG'] = override_PYTHON_SO_ABI_FLAG
+ conf.env['pyext_PATTERN'] = '%%s%s.%s' % (conf.env['PYTHON_SO_ABI_FLAG'], conf.env['SHLIBEXT'])
+ if not conf.env['PYTHON_SO_ABI_FLAG']:
+ if conf.env['PYTHON_SO_ABI']:
+ conf.env['PYTHON_SO_ABI_FLAG'] = '.'+conf.env['PYTHON_SO_ABI']
+ conf.env['pyext_PATTERN'] = '%%s%s.%s' % (conf.env['PYTHON_SO_ABI_FLAG'], conf.env['SHLIBEXT'])
+ else:
+ abi_pattern = os.path.splitext(conf.env['pyext_PATTERN'])[0]
+ conf.env['PYTHON_SO_ABI_FLAG'] = abi_pattern % ''

View File

@ -0,0 +1,22 @@
--- buildtools/wafsamba/wscript.orig 2017-04-28 11:57:26 UTC
+++ buildtools/wafsamba/wscript
@@ -74,12 +74,17 @@ def set_options(opt):
help=("private library directory [PREFIX/lib/%s]" % Utils.g_module.APPNAME),
action="store", dest='PRIVATELIBDIR', default=None)
+ opt.add_option('--with-openldap',
+ help='additional directory to search for OpenLDAP libs',
+ action='store', dest='ldap_open', default=None,
+ match = ['Checking for header ldap.h', 'Checking for header lber.h', 'Checking for library lber', 'Checking for library ldap'])
+
opt.add_option('--with-libiconv',
help='additional directory to search for libiconv',
- action='store', dest='iconv_open', default='/usr/local',
+ action='store', dest='iconv_open', default=None,
match = ['Checking for library iconv', 'Checking for iconv_open', 'Checking for header iconv.h'])
opt.add_option('--without-gettext',
- help=("Disable use of gettext"),
+ help=("disable use of gettext"),
action="store_true", dest='disable_gettext', default=False)
gr = opt.option_group('developer options')

View File

@ -1,4 +1,4 @@
--- ctdb/wscript.orig 2017-12-13 06:03:35 UTC
--- ctdb/wscript.orig 2018-03-13 13:18:01 UTC
+++ ctdb/wscript
@@ -86,6 +86,9 @@ def set_options(opt):
opt.add_option('--enable-ceph-reclock',
@ -51,19 +51,17 @@
sed_expr1 = 's|/usr/local/var/lib/ctdb|%s|g' % (bld.env.CTDB_VARDIR)
sed_expr2 = 's|/usr/local/etc/ctdb|%s|g' % (bld.env.CTDB_ETCDIR)
@@ -718,6 +727,11 @@ def build(bld):
@@ -718,6 +727,9 @@ def build(bld):
bld.install_dir(bld.env.CTDB_RUNDIR)
bld.install_dir(bld.env.CTDB_VARDIR)
+ if bld.env.ctdb_tests:
+ build_tests(bld)
+ if not bld.env.ctdb_tests:
+ return
+
+
+def build_tests(bld):
# Unit tests
ctdb_unit_tests = [
'db_hash_test',
@@ -828,7 +842,9 @@ def build(bld):
@@ -828,7 +840,9 @@ def build(bld):
ib_deps,
install_path='${CTDB_TEST_LIBEXECDIR}')

View File

@ -1,4 +1,4 @@
--- lib/replace/wscript.orig 2017-11-02 11:38:36 UTC
--- lib/replace/wscript.orig 2017-08-24 11:27:53 UTC
+++ lib/replace/wscript
@@ -81,7 +81,7 @@ def configure(conf):
conf.CHECK_HEADERS('sys/atomic.h')

View File

@ -1,5 +1,5 @@
--- source3/libads/kerberos_keytab.c.orig 2017-12-23 14:23:53.247467000 +0100
+++ source3/libads/kerberos_keytab.c 2017-12-23 18:57:07.135340000 +0100
--- source3/libads/kerberos_keytab.c.orig 2017-12-23 15:23:53 UTC
+++ source3/libads/kerberos_keytab.c
@@ -32,8 +32,6 @@
#ifdef HAVE_KRB5

View File

@ -1,4 +1,4 @@
--- source3/modules/vfs_streams_xattr.c.orig 2017-09-17 19:15:34 UTC
--- source3/modules/vfs_streams_xattr.c.orig 2017-09-17 22:15:34 UTC
+++ source3/modules/vfs_streams_xattr.c
@@ -1,10 +1,10 @@
/*
@ -54,7 +54,7 @@
- TALLOC_FREE(ea.value.data);
- return result;
+ pea->value = data_blob_talloc(mem_ctx, NULL, attr_size);
+ if(pea->value.data == NULL) {
+ if(pea->value.data == NULL && attr_size) {
+ DEBUG(5,
+ ("get_xattr_value: for EA '%s' failed to allocate %lu bytes\n",
+ ea_name, (unsigned long)attr_size)
@ -400,7 +400,7 @@
/* Create an smb_filename with stream_name == NULL. */
smb_fname_base = synthetic_smb_fname(talloc_tos(),
sio->base,
@@ -1228,40 +1293,43 @@ static int streams_xattr_ftruncate(struc
@@ -1228,40 +1293,46 @@ static int streams_xattr_ftruncate(struc
NULL,
fsp->fsp_name->flags);
if (smb_fname_base == NULL) {
@ -430,7 +430,8 @@
- if (tmp == NULL) {
- TALLOC_FREE(ea.value.data);
+ /* That can both shrink and expand */
+ if(!data_blob_realloc(talloc_tos(), &ea.value, offset)) {
+ /* XXX: If offset == 0 the result of talloc_realloc is NULL, but still valid */
+ if(offset && !data_blob_realloc(talloc_tos(), &ea.value, offset)) {
+ TALLOC_FREE(frame);
errno = ENOMEM;
return -1;
@ -450,16 +451,19 @@
- ea.value.length = offset + 1;
- ea.value.data[offset] = 0;
-
+ /* XXX: We should use ea.value.length here, but when offset == 0
+ it's not reset to 0 in data_blob_realloc() */
ret = SMB_VFS_SETXATTR(fsp->conn,
fsp->fsp_name,
sio->xattr_name,
ea.value.data, ea.value.length, 0);
- ea.value.data, ea.value.length, 0);
- TALLOC_FREE(ea.value.data);
+ ea.value.data, offset, 0);
+ TALLOC_FREE(frame);
if (ret == -1) {
return -1;
@@ -1279,9 +1347,9 @@ static int streams_xattr_fallocate(struc
@@ -1279,9 +1350,9 @@ static int streams_xattr_fallocate(struc
struct stream_io *sio =
(struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp);

View File

@ -12,8 +12,8 @@ bin/nmblookup
bin/ntlm_auth
bin/oLschema2ldif
bin/pdbedit
bin/profiles
bin/pidl
bin/profiles
bin/regdiff
bin/regpatch
bin/regshell
@ -36,13 +36,13 @@ bin/smbtree
bin/testparm
bin/wbinfo
sbin/nmbd
sbin/smbd
sbin/winbindd
%%AD_DC%%sbin/samba
%%AD_DC%%sbin/samba_dnsupdate
%%AD_DC%%sbin/samba_kcc
%%AD_DC%%sbin/samba_spnupdate
%%AD_DC%%sbin/samba_upgradedns
sbin/smbd
sbin/winbindd
include/samba4/charset.h
include/samba4/core/doserr.h
include/samba4/core/error.h
@ -276,7 +276,6 @@ 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
%%NTVFS%%lib/samba4/private/libntvfs-samba4.so
lib/samba4/private/libsmbpasswdparser-samba4.so
lib/samba4/private/libsocket-blocking-samba4.so
lib/samba4/private/libsys-rw-samba4.so
@ -292,27 +291,30 @@ lib/samba4/private/libutil-tdb-samba4.so
lib/samba4/private/libwinbind-client-samba4.so
lib/samba4/private/libwind-samba4.so.0
lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_10.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_11.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9_9.so
%%AD_DC%%lib/shared-modules/bind9/dlz_bind9.so
%%AD_DC%%lib/shared-modules/gensec/krb5.so
%%AD_DC%%lib/shared-modules/ldb/acl.so
%%AD_DC%%lib/shared-modules/ldb/aclread.so
%%AD_DC%%lib/shared-modules/ldb/anr.so
%%AD_DC%%lib/shared-modules/ldb/descriptor.so
%%AD_DC%%lib/shared-modules/ldb/dirsync.so
%%AD_DC%%lib/shared-modules/ldb/dns_notify.so
%%AD_DC%%lib/shared-modules/ldb/dsdb_notification.so
%%AD_DC%%lib/shared-modules/ldb/extended_dn_in.so
%%AD_DC%%lib/shared-modules/ldb/extended_dn_out.so
%%AD_DC%%lib/shared-modules/ldb/extended_dn_store.so
%%AD_DC%%lib/shared-modules/ldb/ildap.so
%%AD_DC%%lib/shared-modules/ldb/instancetype.so
%%AD_DC%%lib/shared-modules/ldb/lazy_commit.so
%%AD_DC%%lib/shared-modules/ldb/ldbsamba_extensions.so
%%AD_DC%%lib/shared-modules/ldb/linked_attributes.so
%%AD_DC%%lib/shared-modules/ldb/local_password.so
%%AD_DC%%lib/shared-modules/ldb/new_partition.so
%%AD_DC%%lib/shared-modules/ldb/objectclass.so
%%AD_DC%%lib/shared-modules/ldb/objectclass_attrs.so
%%AD_DC%%lib/shared-modules/ldb/objectclass.so
%%AD_DC%%lib/shared-modules/ldb/objectguid.so
%%AD_DC%%lib/shared-modules/ldb/operational.so
%%AD_DC%%lib/shared-modules/ldb/partition.so
@ -321,10 +323,10 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/ldb/repl_meta_data.so
%%AD_DC%%lib/shared-modules/ldb/resolve_oids.so
%%AD_DC%%lib/shared-modules/ldb/rootdse.so
%%AD_DC%%lib/shared-modules/ldb/samba3sam.so
%%AD_DC%%lib/shared-modules/ldb/samba3sid.so
%%AD_DC%%lib/shared-modules/ldb/samba_dsdb.so
%%AD_DC%%lib/shared-modules/ldb/samba_secrets.so
%%AD_DC%%lib/shared-modules/ldb/samba3sam.so
%%AD_DC%%lib/shared-modules/ldb/samba3sid.so
%%AD_DC%%lib/shared-modules/ldb/samldb.so
%%AD_DC%%lib/shared-modules/ldb/schema_data.so
%%AD_DC%%lib/shared-modules/ldb/schema_load.so
@ -334,14 +336,15 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/ldb/simple_ldap_map.so
%%AD_DC%%lib/shared-modules/ldb/subtree_delete.so
%%AD_DC%%lib/shared-modules/ldb/subtree_rename.so
%%AD_DC%%lib/shared-modules/ldb/tombstone_reanimate.so
%%AD_DC%%lib/shared-modules/ldb/update_keytab.so
%%AD_DC%%lib/shared-modules/ldb/vlv.so
%%AD_DC%%lib/shared-modules/ldb/wins_ldb.so
%%AD_DC%%lib/shared-modules/process_model/standard.so
%%AD_DC%%lib/shared-modules/service/cldap.so
%%AD_DC%%lib/shared-modules/service/dcerpc.so
%%AD_DC%%lib/shared-modules/service/dns.so
%%AD_DC%%lib/shared-modules/service/dns_update.so
%%AD_DC%%lib/shared-modules/service/dns.so
%%AD_DC%%lib/shared-modules/service/drepl.so
%%AD_DC%%lib/shared-modules/service/kcc.so
%%AD_DC%%lib/shared-modules/service/kdc.so
@ -349,16 +352,11 @@ lib/samba4/private/libxattr-tdb-samba4.so
%%AD_DC%%lib/shared-modules/service/nbtd.so
%%AD_DC%%lib/shared-modules/service/ntp_signd.so
%%AD_DC%%lib/shared-modules/service/s3fs.so
%%NTVFS%%lib/shared-modules/service/smb.so
%%AD_DC%%lib/shared-modules/service/web.so
%%AD_DC%%lib/shared-modules/service/winbindd.so
%%AD_DC%%lib/shared-modules/service/wrepl.so
%%AD_DC%%lib/shared-modules/vfs/posix_eadb.so
lib/shared-modules/auth/script.so
%%AD_DC%%lib/shared-modules/ldb/dns_notify.so
lib/shared-modules/ldb/ildap.so
lib/shared-modules/ldb/ldbsamba_extensions.so
%%AD_DC%%lib/shared-modules/ldb/tombstone_reanimate.so
lib/shared-modules/vfs/acl_tdb.so
lib/shared-modules/vfs/acl_xattr.so
lib/shared-modules/vfs/aio_fork.so
@ -661,53 +659,53 @@ lib/shared-modules/vfs/zfsacl.so
%%SAMBA4_PYTHON2%%@dir %%PYTHON_SITELIBDIR%%/samba
@comment Python3 block
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/__init__.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_glue.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_ldb.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/auth.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_glue.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/_ldb.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/auth.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/common.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/compat.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/credentials.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/crypto.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/credentials.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/crypto.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dbchecker.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/__init__.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/atsvc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/auth.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/base.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dcerpc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dfs.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dns.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsp.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsserver.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsblobs.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsuapi.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/echo.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/epmapper.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/idmap.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/initshutdown.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/irpc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/krb5pac.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/lsa.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/messaging.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/mgmt.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/misc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/nbt.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/netlogon.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/ntlmssp.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/samr.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/security.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/server_id.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/smb_acl.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/srvsvc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/svcctl.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/unixinfo.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winbind.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winreg.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/wkssvc.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/xattr.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/atsvc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/auth.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/base.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dcerpc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dfs.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dns.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsp.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/dnsserver.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsblobs.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/drsuapi.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/echo.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/epmapper.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/idmap.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/initshutdown.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/irpc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/krb5pac.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/lsa.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/messaging.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/mgmt.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/misc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/nbt.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/netlogon.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/ntlmssp.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/samr.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/security.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/server_id.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/smb_acl.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/srvsvc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/svcctl.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/unixinfo.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winbind.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/winreg.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/wkssvc.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dcerpc/xattr.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/descriptor.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/dnsserver.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/drs_utils.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/gensec.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/gensec.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/getopt.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/hostconfig.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/idmap.py
@ -721,7 +719,7 @@ lib/shared-modules/vfs/zfsacl.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_display_specifiers.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ms_schema.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ndr.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/net.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/net.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/__init__.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/common.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/dbcheck.py
@ -744,7 +742,7 @@ lib/shared-modules/vfs/zfsacl.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/testparm.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/netcmd/user.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/ntacls.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/param.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/param.cpython-36m.so
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/__init__.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/backend.py
%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/samba/provision/common.py
@ -909,14 +907,14 @@ lib/shared-modules/vfs/zfsacl.so
@dir %%DATADIR%%/perl5/Parse/Pidl
@dir %%DATADIR%%/perl5/Parse
@dir %%DATADIR%%/perl5
%%AD_DC%%%%DATADIR%%/setup/DB_CONFIG
%%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/ad-schema/licence.txt
%%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
@ -947,22 +945,19 @@ lib/shared-modules/vfs/zfsacl.so
%%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.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.ldif
%%AD_DC%%%%DATADIR%%/setup/provision.reg
%%AD_DC%%%%DATADIR%%/setup/provision.zone
%%AD_DC%%%%DATADIR%%/setup/provision_basedn.ldif
%%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.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
@ -974,25 +969,28 @@ lib/shared-modules/vfs/zfsacl.so
%%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.ldif
%%AD_DC%%%%DATADIR%%/setup/provision_schema_basedn_modify.ldif
%%AD_DC%%%%DATADIR%%/setup/provision_self_join.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.ldif
%%AD_DC%%%%DATADIR%%/setup/provision_self_join_modify_config.ldif
%%AD_DC%%%%DATADIR%%/setup/provision_users.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/schema_samba4.ldif
%%AD_DC%%%%DATADIR%%/setup/secrets.ldif
%%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
@ -1002,7 +1000,6 @@ lib/shared-modules/vfs/zfsacl.so
%%AD_DC%%@dir %%DATADIR%%/setup
%%AD_DC%%@dir %%DATADIR%%
@comment Man pages
%%SAMBA4_PYTHON2%%man/man1/smbtorture.1.gz
man/man1/dbwrap_tool.1.gz
man/man1/findsmb.1.gz
man/man1/gentest.1.gz
@ -1029,6 +1026,7 @@ man/man1/smbcquotas.1.gz
man/man1/smbget.1.gz
man/man1/smbstatus.1.gz
man/man1/smbtar.1.gz
%%SAMBA4_PYTHON2%%man/man1/smbtorture.1.gz
man/man1/smbtree.1.gz
man/man1/testparm.1.gz
man/man1/vfstest.1.gz
@ -1185,3 +1183,58 @@ man/man8/winbindd.8.gz
%%CLUSTER%%@dir /var/lib/ctdb
%%CLUSTER%%@dir /var/lib
%%CLUSTER%%@dir /var/run/ctdb
@comment Use bundled libraries
%%SAMBA4_BUNDLED_LDB%%bin/ldbadd
%%SAMBA4_BUNDLED_LDB%%bin/ldbdel
%%SAMBA4_BUNDLED_LDB%%bin/ldbedit
%%SAMBA4_BUNDLED_LDB%%bin/ldbmodify
%%SAMBA4_BUNDLED_LDB%%bin/ldbrename
%%SAMBA4_BUNDLED_LDB%%bin/ldbsearch
%%SAMBA4_BUNDLED_TDB%%bin/tdbbackup
%%SAMBA4_BUNDLED_TDB%%bin/tdbdump
%%SAMBA4_BUNDLED_TDB%%bin/tdbrestore
%%SAMBA4_BUNDLED_TDB%%bin/tdbtool
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_tdb_text.py
%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/_tevent.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/ldb.so
%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/talloc.so
%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/tdb.so
%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON2%%%%PYTHON_SITELIBDIR%%/tevent.py
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_ldb_text.py
%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_tdb_text.py
%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/_tevent.cpython-36m.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/ldb.cpython-36m.so
%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/talloc.cpython-36m.so
%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/tdb.cpython-36m.so
%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_PYTHON3%%%%SAMBA4_PYTHON3_SITELIBDIR%%/tevent.py
%%SAMBA4_BUNDLED_CMOCKA%%lib/samba4/private/libcmocka-samba4.so
%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb-cmdline-samba4.so
%%SAMBA4_BUNDLED_LDB%%lib/samba4/private/libldb.so.1
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON3%%lib/samba4/private/libpyldb-util.cpython-36m.so.1
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_PYTHON2%%lib/samba4/private/libpyldb-util.so.1
%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON3%%lib/samba4/private/libpytalloc-util.cpython-36m.so.2
%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_PYTHON2%%lib/samba4/private/libpytalloc-util.so.2
%%SAMBA4_BUNDLED_TALLOC%%lib/samba4/private/libtalloc.so.2
%%SAMBA4_BUNDLED_TDB%%lib/samba4/private/libtdb.so.1
%%SAMBA4_BUNDLED_TEVENT%%lib/samba4/private/libtevent.so.0
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/asq.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/paged_results.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/paged_searches.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/rdn_name.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/sample.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/server_sort.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/skel.so
%%SAMBA4_BUNDLED_LDB%%lib/shared-modules/ldb/tdb.so
%%SAMBA4_BUNDLED_LDB%%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%%man/man3/talloc.3.gz
%%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