Compare commits

...

2 Commits

Author SHA1 Message Date
fb9bdce10a 0mp port 2025-09-11 11:56:43 +07:00
ba38a2457f Grrr 2025-09-11 11:56:23 +07:00
13 changed files with 98 additions and 297 deletions

View File

@ -192,7 +192,6 @@ SAMBA4_BUNDLED_CMOCKA?= no
SAMBA4_BUNDLED_TALLOC?= no SAMBA4_BUNDLED_TALLOC?= no
SAMBA4_BUNDLED_TEVENT?= no SAMBA4_BUNDLED_TEVENT?= no
SAMBA4_BUNDLED_TDB?= no SAMBA4_BUNDLED_TDB?= no
SAMBA4_BUNDLED_LDB?= yes
# cmocka # cmocka
.if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes .if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes
SAMBA4_BUNDLED_LIBS+= cmocka SAMBA4_BUNDLED_LIBS+= cmocka
@ -244,31 +243,21 @@ RUN_DEPENDS+= tdb1413>=1.4.13:databases/tdb1413
PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment " PLIST_SUB+= SAMBA4_BUNDLED_TDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment " SUB_LIST+= SAMBA4_BUNDLED_TDB="@comment "
.endif .endif
# ldb
.if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes
SAMBA4_BUNDLED_LDB= yes
SAMBA4_BUNDLED_LIBS+= ldb
CONFLICTS_INSTALL+= ldb-* ldb2-*
PLIST_SUB+= SAMBA4_BUNDLED_LDB=""
SUB_LIST+= SAMBA4_BUNDLED_LDB=""
SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules
.else
SAMBA4_BUNDLED_LIBS+= !ldb
BUILD_DEPENDS+= ldb29>=2.9.1:databases/ldb29
RUN_DEPENDS+= ldb29>=2.9.1:databases/ldb29
PLIST_SUB+= SAMBA4_BUNDLED_LDB="@comment "
SUB_LIST+= SAMBA4_BUNDLED_LDB="@comment "
SAMBA4_MODULEDIR= ${PREFIX}/lib/shared-modules
.endif
.if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ .if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \
|| (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \
|| (defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes) \
|| (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes)
SAMBA4_BUNDLED_LIBS+= replace SAMBA4_BUNDLED_LIBS+= replace
.endif .endif
# Don't use external libcom_err # Don't use external libcom_err
SAMBA4_BUNDLED_LIBS+= com_err SAMBA4_BUNDLED_LIBS+= com_err
### Public libraries
# ldb
SAMBA4_PRIVATE_LIBS+= !ldb
CONFLICTS_INSTALL+= ldb-* ldb2[0-9]-*
SAMBA4_MODULEDIR= ${SAMBA4_LIBDIR}/modules
# Set the test environment variables # Set the test environment variables
TEST_USES= python TEST_USES= python
TEST_ENV= PYTHON="${PYTHON_CMD}" \ TEST_ENV= PYTHON="${PYTHON_CMD}" \
@ -471,17 +460,17 @@ SAMBA4_BUNDLED_LIBS+= pytdb
SAMBA4_BUNDLED_LIBS+= !pytdb SAMBA4_BUNDLED_LIBS+= !pytdb
. endif . endif
. if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes
SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util SAMBA4_BUNDLED_LIBS+= pyldb pyldb-util
. else
SAMBA4_BUNDLED_LIBS+= !pyldb !pyldb-util
. endif
.endif .endif
.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) .if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES)
SAMBA4_MODULES+= ${WANT_EXP_MODULES} SAMBA4_MODULES+= ${WANT_EXP_MODULES}
.endif .endif
.if defined(SAMBA4_PRIVATE_LIBS) && !empty(SAMBA4_PRIVATE_LIBS)
CONFIGURE_ARGS+= --private-libraries="${SAMBA4_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
.endif
.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS) .if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS)
CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"
.endif .endif
@ -511,7 +500,7 @@ DEBUG_FLAGS?= -g -ggdb3 -O0
############################################################################## ##############################################################################
# Only for 64-bit architectures # Only for 64-bit architectures
.if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe
. if defined(SAMBA4_BUNDLED_LDB) && ${SAMBA4_BUNDLED_LDB} == yes && (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) . if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER})
# LMDB # LMDB
SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb
PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \ PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \

View File

@ -1,207 +1,5 @@
From f07e384150e53b18c3ea298f9a1ea588fb89e19b Mon Sep 17 00:00:00 2001 --- source3/modules/vfs_freebsd.c.orig 2025-07-11 10:55:17 UTC
From: "Timur I. Bakeyev" <timur@FreeBSD.org> +++ source3/modules/vfs_freebsd.c
Date: Sat, 29 May 2021 03:58:01 +0200
Subject: [PATCH 27/28] Add VFS module vfs_freebsd that implements FreeBSD
specific wrappers to some VFS functions.
At the moment that is configurable mapping between Linux xattrs and
FreeBSD extended attributes.
Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org>
---
docs-xml/manpages/vfs_freebsd.8.xml | 169 ++++++
docs-xml/wscript_build | 1
source3/modules/vfs_freebsd.c | 699 ++++++++++++++++++++++++++
source3/modules/wscript_build | 7
4 files changed, 876 insertions(+)
diff -Naurp a/docs-xml/manpages/vfs_freebsd.8.xml b/docs-xml/manpages/vfs_freebsd.8.xml
--- a/docs-xml/manpages/vfs_freebsd.8.xml 1969-12-31 19:00:00.000000000 -0500
+++ b/docs-xml/manpages/vfs_freebsd.8.xml 2024-08-05 13:57:36.246690000 -0400
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="vfs_freebsd.8">
+
+<refmeta>
+ <refentrytitle>vfs_freebsd</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="source">Samba</refmiscinfo>
+ <refmiscinfo class="manual">System Administration tools</refmiscinfo>
+ <refmiscinfo class="version">&doc.version;</refmiscinfo>
+</refmeta>
+
+<refnamediv>
+ <refname>vfs_freebsd</refname>
+ <refpurpose>FreeBSD-specific VFS functions</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>vfs objects = freebsd</command>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This VFS module is part of the <citerefentry><refentrytitle>samba</refentrytitle>
+ <manvolnum>7</manvolnum></citerefentry> suite.</para>
+
+ <para>The <command>vfs_freebsd</command> module implements some of the FreeBSD-specific VFS functions.</para>
+
+ <para>This module is stackable.</para>
+</refsect1>
+
+
+<refsect1>
+ <title>OPTIONS</title>
+
+ <variablelist>
+
+ <varlistentry>
+ <term>freebsd:extattr mode=[legacy|compat|secure]</term>
+ <listitem>
+ <para>This parameter defines how the emulation of the Linux attr(5) extended attributes
+ is performed through the FreeBSD native extattr(9) system calls.</para>
+
+ <para>Currently the <emphasis>security</emphasis>, <emphasis>system</emphasis>,
+ <emphasis>trusted</emphasis> and <emphasis>user</emphasis> extended attribute(xattr)
+ classes are defined in Linux. Contrary FreeBSD has only <emphasis>USER</emphasis>
+ and <emphasis>SYSTEM</emphasis> extended attribute(extattr) namespaces, so mapping
+ of one set into another isn't straightforward and can be done in different ways.</para>
+
+ <para>Historically the Samba(7) built-in xattr mapping implementation simply converted
+ <emphasis>system</emphasis> and <emphasis>user</emphasis> xattr into corresponding
+ <emphasis>SYSTEM</emphasis> and <emphasis>USER</emphasis> extattr namespaces, dropping
+ the class prefix name with the separating dot and using attribute name only within the
+ mapped namespace. It also rejected any other xattr classes, like <emphasis>security</emphasis>
+ and <emphasis>trusted</emphasis> as invalid. Such behavior in particular broke AD
+ provisioning on UFS2 file systems as essential <emphasis>security.NTACL</emphasis>
+ xattr was rejected as invalid.</para>
+
+ <para>This module tries to address this problem and provide secure, where it's possible,
+ way to map Linux xattr into FreeBSD's extattr.</para>
+
+ <para>When <emphasis>mode</emphasis> is set to the <emphasis>legacy (default)</emphasis>
+ then modified version of built-in mapping is used, where <emphasis>system</emphasis> xattr
+ is mapped into SYSTEM namespace, while <emphasis>secure</emphasis>, <emphasis>trusted</emphasis>
+ and <emphasis>user</emphasis> xattr are all mapped into the USER namespace, dropping class
+ prefixes and mix them all together. This is the way how Samba FreeBSD ports were patched
+ up to the 4.9 version and that created multiple potential security issues. This mode is aimed for
+ the compatibility with the legacy installations only and should be avoided in new setups.</para>
+
+ <para>The <emphasis>compat</emphasis> mode is mostly designed for the jailed environments,
+ where it's not possible to write extattrs into the secure SYSTEM namespace, so all four
+ classes are mapped into the USER namespace. To preserve information about origin of the
+ extended attribute it is stored together with the class preffix in the <emphasis>class.attribute</emphasis>
+ format.</para>
+
+ <para>The <emphasis>secure</emphasis> mode is meant for storing extended attributes in a secure
+ manner, so that <emphasis>security</emphasis>, <emphasis>system</emphasis> and <emphasis>trusted</emphasis>
+ are stored in the SYSTEM namespace, which can be modified only by root.
+ </para>
+ </listitem>
+ </varlistentry>
+
+
+ </variablelist>
+</refsect1>
+
+<refsect1>
+ <table frame="all" rowheader="firstcol">
+ <title>Attributes mapping</title>
+ <tgroup cols='5' align='left' colsep='1' rowsep='1'>
+ <thead>
+ <row>
+ <entry> </entry>
+ <entry>built-in</entry>
+ <entry>legacy</entry>
+ <entry>compat/jail</entry>
+ <entry>secure</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>user</entry>
+ <entry>USER; attribute</entry>
+ <entry>USER; attribute</entry>
+ <entry>USER; user.attribute</entry>
+ <entry>USER; user.attribute</entry>
+ </row>
+ <row>
+ <entry>system</entry>
+ <entry>SYSTEM; attribute</entry>
+ <entry>SYSTEM; attribute</entry>
+ <entry>USER; system.attribute</entry>
+ <entry>SYSTEM; system.attribute</entry>
+ </row>
+ <row>
+ <entry>trusted</entry>
+ <entry>FAIL</entry>
+ <entry>USER; attribute</entry>
+ <entry>USER; trusted.attribute</entry>
+ <entry>SYSTEM; trusted.attribute</entry>
+ </row>
+ <row>
+ <entry>security</entry>
+ <entry>FAIL</entry>
+ <entry>USER; attribute</entry>
+ <entry>USER; security.attribute</entry>
+ <entry>SYSTEM; security.attribute</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+</refsect1>
+
+<refsect1>
+ <title>EXAMPLES</title>
+
+ <para>Use secure method of setting extended attributes on the share:</para>
+
+<programlisting>
+ <smbconfsection name="[sysvol]"/>
+ <smbconfoption name="vfs objects">freebsd</smbconfoption>
+ <smbconfoption name="freebsd:extattr mode">secure</smbconfoption>
+</programlisting>
+
+</refsect1>
+
+<refsect1>
+ <title>VERSION</title>
+
+ <para>This man page is part of version &doc.version; of the Samba suite.
+ </para>
+</refsect1>
+
+<refsect1>
+ <title>AUTHOR</title>
+
+ <para>The original Samba software and related utilities
+ were created by Andrew Tridgell. Samba is now developed
+ by the Samba Team as an Open Source project similar
+ to the way the Linux kernel is developed.</para>
+
+ <para>This module was written by Timur I. Bakeyev</para>
+
+</refsect1>
+
+</refentry>
diff -Naurp a/docs-xml/wscript_build b/docs-xml/wscript_build
--- a/docs-xml/wscript_build 2024-08-02 07:54:09.597892000 -0400
+++ b/docs-xml/wscript_build 2024-08-05 13:57:36.246975000 -0400
@@ -87,6 +87,7 @@ vfs_module_manpages = ['vfs_acl_tdb',
'vfs_extd_audit',
'vfs_fake_perms',
'vfs_fileid',
+ 'vfs_freebsd',
'vfs_fruit',
'vfs_full_audit',
'vfs_glusterfs',
diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
--- a/source3/modules/vfs_freebsd.c 1969-12-31 19:00:00.000000000 -0500
+++ b/source3/modules/vfs_freebsd.c 2024-08-05 13:57:36.247358000 -0400
@@ -0,0 +1,699 @@ @@ -0,0 +1,699 @@
+/* +/*
+ * This module implements VFS calls specific to FreeBSD + * This module implements VFS calls specific to FreeBSD
@ -402,7 +200,7 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ const char *path = fsp->fsp_name->base_name; + const char *path = fsp->fsp_name->base_name;
+ if (fsp->fsp_flags.have_proc_fds) { + if (fsp->fsp_flags.have_proc_fds) {
+ char buf[PATH_MAX]; + char buf[PATH_MAX];
+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); + path = sys_proc_fd_path(fd, &buf);
+ if (path == NULL) { + if (path == NULL) {
+ return -1; + return -1;
+ } + }
@ -456,7 +254,7 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ const char *path = fsp->fsp_name->base_name; + const char *path = fsp->fsp_name->base_name;
+ if (fsp->fsp_flags.have_proc_fds) { + if (fsp->fsp_flags.have_proc_fds) {
+ char buf[PATH_MAX]; + char buf[PATH_MAX];
+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); + path = sys_proc_fd_path(fd, &buf);
+ if (path == NULL) { + if (path == NULL) {
+ return -1; + return -1;
+ } + }
@ -636,7 +434,7 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ const char *path = fsp->fsp_name->base_name; + const char *path = fsp->fsp_name->base_name;
+ if (fsp->fsp_flags.have_proc_fds) { + if (fsp->fsp_flags.have_proc_fds) {
+ char buf[PATH_MAX]; + char buf[PATH_MAX];
+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); + path = sys_proc_fd_path(fd, &buf);
+ if (path == NULL) { + if (path == NULL) {
+ return -1; + return -1;
+ } + }
@ -711,7 +509,7 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ const char *path = fsp->fsp_name->base_name; + const char *path = fsp->fsp_name->base_name;
+ if (fsp->fsp_flags.have_proc_fds) { + if (fsp->fsp_flags.have_proc_fds) {
+ char buf[PATH_MAX]; + char buf[PATH_MAX];
+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); + path = sys_proc_fd_path(fd, &buf);
+ if (path == NULL) { + if (path == NULL) {
+ return -1; + return -1;
+ } + }
@ -788,7 +586,7 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ const char *path = fsp->fsp_name->base_name; + const char *path = fsp->fsp_name->base_name;
+ if (fsp->fsp_flags.have_proc_fds) { + if (fsp->fsp_flags.have_proc_fds) {
+ char buf[PATH_MAX]; + char buf[PATH_MAX];
+ path = sys_proc_fd_path(fd, buf, sizeof(buf)); + path = sys_proc_fd_path(fd, &buf);
+ if (path == NULL) { + if (path == NULL) {
+ return -1; + return -1;
+ } + }
@ -902,20 +700,3 @@ diff -Naurp a/source3/modules/vfs_freebsd.c b/source3/modules/vfs_freebsd.c
+ +
+ return ret; + return ret;
+} +}
diff -Naurp a/source3/modules/wscript_build b/source3/modules/wscript_build
--- a/source3/modules/wscript_build 2024-02-02 04:33:51.236489800 -0500
+++ b/source3/modules/wscript_build 2024-08-05 13:57:36.247658000 -0400
@@ -631,6 +631,13 @@ bld.SAMBA3_MODULE('vfs_delay_inject',
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'),
install=False)
+bld.SAMBA3_MODULE('vfs_freebsd',
+ subsystem='vfs',
+ source='vfs_freebsd.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd'))
+
bld.SAMBA3_MODULE('vfs_widelinks',
subsystem='vfs',
source='vfs_widelinks.c',

View File

@ -40,6 +40,20 @@ sbin/eventlogadm
sbin/nmbd sbin/nmbd
sbin/smbd sbin/smbd
sbin/winbindd sbin/winbindd
include/samba4/credentials.h
include/samba4/dcerpc.h
include/samba4/dcerpc_server.h
include/samba4/gen_ndr/ndr_samr_c.h
include/samba4/ldb.h
include/samba4/ldb_errors.h
include/samba4/ldb_handlers.h
include/samba4/ldb_module.h
include/samba4/ldb_version.h
include/samba4/param.h
include/samba4/policy.h
include/samba4/util/tevent_ntstatus.h
include/samba4/util/tevent_unix.h
include/samba4/util/tevent_werror.h
include/samba4/charset.h include/samba4/charset.h
include/samba4/core/doserr.h include/samba4/core/doserr.h
include/samba4/core/error.h include/samba4/core/error.h
@ -121,6 +135,24 @@ include/samba4/wbclient.h
@dir include/samba4/gen_ndr @dir include/samba4/gen_ndr
@dir include/samba4/core @dir include/samba4/core
@dir include/samba4 @dir include/samba4
%%SAMBA4_LIBDIR%%/libdcerpc-samr.so
%%SAMBA4_LIBDIR%%/libdcerpc-samr.so.0
%%SAMBA4_LIBDIR%%/libdcerpc-server.so
%%SAMBA4_LIBDIR%%/libdcerpc-server.so.0
%%SAMBA4_LIBDIR%%/libdcerpc.so
%%SAMBA4_LIBDIR%%/libdcerpc.so.0
%%SAMBA4_LIBDIR%%/libldb.so
%%SAMBA4_LIBDIR%%/libldb.so.2
%%SAMBA4_LIBDIR%%/libsamba-credentials.so
%%SAMBA4_LIBDIR%%/libsamba-credentials.so.1
%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so
%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so.0
%%SAMBA4_LIBDIR%%/libsamba-policy.so
%%SAMBA4_LIBDIR%%/libsamba-policy.so.0
%%SAMBA4_LIBDIR%%/libsamdb.so
%%SAMBA4_LIBDIR%%/libsamdb.so.0
%%SAMBA4_LIBDIR%%/libtevent-util.so
%%SAMBA4_LIBDIR%%/libtevent-util.so.0
%%SAMBA4_LIBDIR%%/libdcerpc-binding.so %%SAMBA4_LIBDIR%%/libdcerpc-binding.so
%%SAMBA4_LIBDIR%%/libdcerpc-binding.so.0 %%SAMBA4_LIBDIR%%/libdcerpc-binding.so.0
%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so %%SAMBA4_LIBDIR%%/libdcerpc-server-core.so
@ -188,11 +220,8 @@ libexec/samba/samba-dcerpcd
%%SAMBA4_LIBDIR%%/private/libdbwrap-private-samba.so %%SAMBA4_LIBDIR%%/private/libdbwrap-private-samba.so
%%SAMBA4_LIBDIR%%/private/libutil-crypt-private-samba.so %%SAMBA4_LIBDIR%%/private/libutil-crypt-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-private-samba.so %%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-samr-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdcerpc-server-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdnsserver-common-private-samba.so %%SAMBA4_LIBDIR%%/private/libdnsserver-common-private-samba.so
%%SAMBA4_LIBDIR%%/private/libdsdb-module-private-samba.so %%SAMBA4_LIBDIR%%/private/libdsdb-module-private-samba.so
%%SAMBA4_LIBDIR%%/private/libevents-private-samba.so %%SAMBA4_LIBDIR%%/private/libevents-private-samba.so
@ -243,19 +272,7 @@ libexec/samba/samba-dcerpcd
%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-private-samba.so
%%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-private-samba.so %%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-private-samba.so
%%SAMBA4_LIBDIR%%/private/libRPC-WORKER-private-samba.so %%SAMBA4_LIBDIR%%/private/libRPC-WORKER-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-credentials-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-hostconfig-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-policy-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamdb-common-private-samba.so %%SAMBA4_LIBDIR%%/private/libsamdb-common-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamdb-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsecrets3-private-samba.so %%SAMBA4_LIBDIR%%/private/libsecrets3-private-samba.so
%%SAMBA4_LIBDIR%%/private/libserver-id-db-private-samba.so %%SAMBA4_LIBDIR%%/private/libserver-id-db-private-samba.so
%%SAMBA4_LIBDIR%%/private/libserver-role-private-samba.so %%SAMBA4_LIBDIR%%/private/libserver-role-private-samba.so
@ -270,7 +287,6 @@ libexec/samba/samba-dcerpcd
%%SAMBA4_LIBDIR%%/private/libsys-rw-private-samba.so %%SAMBA4_LIBDIR%%/private/libsys-rw-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-private-samba.so %%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtalloc-report-private-samba.so %%SAMBA4_LIBDIR%%/private/libtalloc-report-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtevent-util-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtdb-wrap-private-samba.so %%SAMBA4_LIBDIR%%/private/libtdb-wrap-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtime-basic-private-samba.so %%SAMBA4_LIBDIR%%/private/libtime-basic-private-samba.so
%%SAMBA4_LIBDIR%%/private/libtorture-private-samba.so %%SAMBA4_LIBDIR%%/private/libtorture-private-samba.so
@ -279,6 +295,14 @@ libexec/samba/samba-dcerpcd
%%SAMBA4_LIBDIR%%/private/libutil-tdb-private-samba.so %%SAMBA4_LIBDIR%%/private/libutil-tdb-private-samba.so
%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-private-samba.so %%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-private-samba.so
%%SAMBA4_LIBDIR%%/private/libxattr-tdb-private-samba.so %%SAMBA4_LIBDIR%%/private/libxattr-tdb-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so
%%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so
@dir %%SAMBA4_LIBDIR%%/private @dir %%SAMBA4_LIBDIR%%/private
@dir %%SAMBA4_LIBDIR%% @dir %%SAMBA4_LIBDIR%%
%%PKGCONFIGDIR%%/ndr.pc %%PKGCONFIGDIR%%/ndr.pc
@ -289,6 +313,14 @@ libexec/samba/samba-dcerpcd
%%PKGCONFIGDIR%%/samba-util.pc %%PKGCONFIGDIR%%/samba-util.pc
%%PKGCONFIGDIR%%/smbclient.pc %%PKGCONFIGDIR%%/smbclient.pc
%%PKGCONFIGDIR%%/wbclient.pc %%PKGCONFIGDIR%%/wbclient.pc
%%PKGCONFIGDIR%%/dcerpc.pc
%%PKGCONFIGDIR%%/dcerpc_samr.pc
%%PKGCONFIGDIR%%/dcerpc_server.pc
%%PKGCONFIGDIR%%/ldb.pc
%%PKGCONFIGDIR%%/samba-credentials.pc
%%PKGCONFIGDIR%%/samba-hostconfig.pc
%%PKGCONFIGDIR%%/samba-policy.pc
%%PKGCONFIGDIR%%/samdb.pc
@comment Setup files @comment Setup files
@comment Man pages @comment Man pages
%%MANPAGES%%share/man/man1/dbwrap_tool.1.gz %%MANPAGES%%share/man/man1/dbwrap_tool.1.gz
@ -402,38 +434,37 @@ libexec/samba/samba-dcerpcd
@dir %%SAMBA4_BINDDNSDIR%% @dir %%SAMBA4_BINDDNSDIR%%
@comment Use bundled libraries @comment Use bundled libraries
%%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so %%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so
%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py %%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py
%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so
%%SAMBA4_BUNDLED_LDB%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so %%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so
%%SAMBA4_BUNDLED_LDB%%bin/ldbadd bin/ldbadd
%%SAMBA4_BUNDLED_LDB%%bin/ldbdel bin/ldbdel
%%SAMBA4_BUNDLED_LDB%%bin/ldbedit bin/ldbedit
%%SAMBA4_BUNDLED_LDB%%bin/ldbmodify bin/ldbmodify
%%SAMBA4_BUNDLED_LDB%%bin/ldbrename bin/ldbrename
%%SAMBA4_BUNDLED_LDB%%bin/ldbsearch bin/ldbsearch
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so %%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so %%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-private-samba.so %%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so %%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so %%AD_DC%%%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so
%%AD_DC%%%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/count_attrs.so %%SAMBA4_MODULEDIR%%/ldb/asq.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/asq.so %%SAMBA4_MODULEDIR%%/ldb/ildap.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ildap.so %%SAMBA4_MODULEDIR%%/ldb/ldb.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldb.so %%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/ldbsamba_extensions.so %%SAMBA4_MODULEDIR%%/ldb/paged_searches.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/paged_searches.so %%SAMBA4_MODULEDIR%%/ldb/rdn_name.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/rdn_name.so %%SAMBA4_MODULEDIR%%/ldb/sample.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/sample.so %%SAMBA4_MODULEDIR%%/ldb/server_sort.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/server_sort.so %%SAMBA4_MODULEDIR%%/ldb/skel.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/skel.so %%SAMBA4_MODULEDIR%%/ldb/tdb.so
%%SAMBA4_BUNDLED_LDB%%%%SAMBA4_MODULEDIR%%/ldb/tdb.so %%MANPAGES%%share/man/man3/ldb.3.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man3/ldb.3.gz %%MANPAGES%%share/man/man1/ldbadd.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbadd.1.gz %%MANPAGES%%share/man/man1/ldbdel.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbdel.1.gz %%MANPAGES%%share/man/man1/ldbedit.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbedit.1.gz %%MANPAGES%%share/man/man1/ldbmodify.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbmodify.1.gz %%MANPAGES%%share/man/man1/ldbrename.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbrename.1.gz %%MANPAGES%%share/man/man1/ldbsearch.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_LDB%%share/man/man1/ldbsearch.1.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbbackup.8.gz %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbbackup.8.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbdump.8.gz %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbdump.8.gz
%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbrestore.8.gz %%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/tdbrestore.8.gz