summaryrefslogtreecommitdiff
path: root/source3/modules/wscript_build
AgeCommit message (Collapse)AuthorFilesLines
2026-01-20build: add '--with-varlink' configure optionJohn Mulligan1-1/+9
When building with varlink support, require explicit '--with-varlink' configure option to be set. If set, allow ceph+fscrypt configuration. Pair-Programmed-With: Shachar Sharon <ssharon@redhat.com> Signed-off-by: Shachar Sharon <ssharon@redhat.com> Signed-off-by: John Mulligan <jmulligan@redhat.com> Reviewed-by: Gunther Deschner <gd@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org>
2026-01-18vfs_aio_ratelimit: rate-limiting module for async I/OShachar Sharon1-0/+8
A new stackable module to allow rate-limiting functionality for async I/O operations. When the number of IOPS or bytes-per-sec overflow a user-defined threshold, inject a delay before allowing an operation to complete, yielding an implicit throughput ceiling. Uses token-based algorithm to calculate the actual delay. Pair-Programmed-With: Avan Thakkar <athakkar@redhat.com> Signed-off-by: Shachar Sharon <ssharon@redhat.com> Reviewed-by: Avan Thakkar <athakkar@redhat.com> Reviewed-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Gunther Deschner <gd@samba.org>
2024-09-12wscript_build: Do not link vfs_ceph_new against libcephfsAnoop C S1-1/+1
vfs_ceph_new dynamically loads the appropriate libcephfs shared libraries which means that we don't statically link against it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15703 Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2024-07-29vfs_ceph_new: next iteration of samba-to-cephfs bridgeShachar Sharon1-0/+10
Defined new module 'vfs_ceph_new.c' which serves as a place holder for the next development phase of the bridge between samba's VFS layer and libcephfs. Begin with a module which is almost identical to existing 'vfs_ceph.c', except for hooks-names prefix which is 'vfs_ceph_' in order to make clear distinction from existing code base. Following commits will also switch to low-level APIs. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15686 Signed-off-by: Shachar Sharon <ssharon@redhat.com> Reviewed-by: Guenther Deschner <gd@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org>
2023-06-05modules: Remove perfcount_test moduleVolker Lendecke1-7/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2023-04-03s3:modules: call rpcgen only if vfs_nfs4acl_xattr is enabledDavid Disseldorp1-42/+41
rpcgen may be missing, so wrap all of the vfs_nfs4acl_xattr associated calls in an appropriate if bld.SAMBA3_IS_ENABLED_MODULE() check. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-03-03s3:modules: Fix invalid escape sequencesJoseph Sutton1-1/+1
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-02-06s3:modules: Ignore -Wunused-but-set-variable for autogenerated codeAndreas Schneider1-1/+4
source3/modules/getdate.c:1192:9: error: variable 'yynerrs' set but not used [-Werror,-Wunused-but-set-variable] int yynerrs; ^ Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2022-02-10s3:modules: Implement dummy virus scanner that uses filename matchingPavel Filipenský1-0/+1
Bug: https://bugzilla.samba.org/show_bug.cgi?id=14971 Signed-off-by: Pavel Filipenský <pfilipen@redhat.com> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2021-03-16s3: VFS: Remove vfs_tru64acl.[c|h]Jeremy Allison1-7/+0
Support was discontinued for the entire Tru64 OS on 31 December 2012. Signed-off-by: Jeremy Allison <jra@samba.org>
2020-10-23s3:modules: Do not install vfs modules only used for testingAndreas Schneider1-4/+8
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14550 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
2020-09-08selftest: Add unit test for vfs_gpfsChristof Schmitt1-0/+7
The mapping functions of the vfs_gpfs module can be easily unit tested. Begin a cmocka test to cover those. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2020-07-17test_vfs_posixacl: Add unit test for Linux POSIX ACL mappingChristof Schmitt1-0/+5
Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2020-06-15vfs: Move reparse point functions to util_reparse.cVolker Lendecke1-1/+5
Shamelessly copied from from Jeremy's smb2-unix branch :-) No change in behaviour, but we will have to cope with reparse points in the future. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Mon Jun 15 19:25:40 UTC 2020 on sn-devel-184
2020-04-22s3: selftest: Remove test_vfs_widelinks.Jeremy Allison1-5/+0
All of the tests that were in there are now tested in samba3.smbtorture_s3.LOCAL-CANONICALIZE-PATH along with other paths. Clean revert of f7fe3474298 not possible due to changes in source3/selftest/tests.py Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2020-04-14s3: VFS: Add cmocka test for vfs_full_audit to make sure all arrays are correct.Jeremy Allison1-0/+5
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14343 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Apr 14 17:58:40 UTC 2020 on sn-devel-184
2020-04-09s3: VFS: Add cmocka tests for pathname parsing in vfs_widelinks.Jeremy Allison1-0/+5
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2020-04-09VFS: Add vfs_widelinks module.Jeremy Allison1-0/+7
Hides symlinks from smbd. Will be used to replace the lp_widelinks() code inside smbd. Long description of how this module works with notes is included. The man page and WHATSNEW.txt update is done in a later patch in this series. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2020-02-15s3:modules: add vfs_io_uring moduleStefan Metzmacher1-0/+8
The module makes use of the new io_uring infrastructure (intruduced in linux 5.1), see https://lwn.net/Articles/778411/ and http://git.kernel.dk/cgit/liburing/ Currently this only implements SMB_VFS_{PREAD,PWRITE,FSYNC}_SEND/RECV and avoids the overhead of our userspace threadpool. In future we'll hopefully make more use of more advanced io_uring features. For now we don't have automated tests as our test infrastructure doesn't use a recent kernel. At least we're able to do compile tests on fedora31. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Sat Feb 15 11:37:45 UTC 2020 on sn-devel-184
2019-11-22build: Do not build selftest binaries for builds without --enable-selftestAndrew Bartlett1-1/+1
Add new for_selftest option to SAMBA_BINARY() and SAMBA3_BINARY() This allows us to be much more consistent (at least in the core Samba) and documents clearly why the binary should not be installed. Not modified are - test_lp_load - notifyd-tests - gendrandperf - test* from examples/libsmbclient - dbwrap_torture - split_tokens - locktest2 - msgtest - msg_sink - msg_source - versiontest - rpc_open_tcp - test_headers As these are not tested in selftest so any change would also be untested. Of course they probably should be added in a different MR. Also not modified (because they are not tests, nor part of the build system) are: - smb2mount - notifydd - log2pacp - debug2html - smbfilter - destroy_netlogon_creds_cli - spotlight2* - tevent_glib_tracker These do however appear to be untested. For now, the source4 forked client tools are left unchanged: - smbclient4 - nmblookup4 Finally, the heimdal binaries are left as install=False as they are either part of the build system or end-user tools that we just don't want to install. These are however tested. The motivation is commit like c34ec003b7d45aa4196ff93a0ac29694b25e5309 and da87fa998ab71328f30bcdf5b41aee8675aee48a, which are both totally correct but are not needed if the selftest is not run on MacOS. There are likely other platforms or build environments where building our test binaries is more pain than valuable, see for example also https://lists.samba.org/archive/samba/2019-November/227137.html Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Isaac Boukris <iboukris@samba.org> Autobuild-User(master): Isaac Boukris <iboukris@samba.org> Autobuild-Date(master): Fri Nov 22 11:48:59 UTC 2019 on sn-devel-184
2019-09-18s3: VFS: Remove vfs_netatalk. Old, unused and unmaintained.Jeremy Allison1-8/+0
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Sep 18 01:26:06 UTC 2019 on sn-devel-184
2019-08-10s3:modules: Link vfs_acl_common against gnutlsAndreas Schneider1-1/+2
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-07-23selftest: Start implementing unit test for nfs4_aclsChristof Schmitt1-0/+5
Existing smbtorture tests set and query ACLs through SMB, only working with the DACLs in the Security Descriptors, but never check the NFSv4 ACL representation. This patch introduces a unit test to verify the mapping between between Security Descriptors and NFSv4 ACLs. As the mapping code queries id mappings, the id mapping cache is first primed with the mappings used by the tests and those mappings are removed again during teardown. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14032 Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2019-07-12s3:{modules => lib}/string_replace.[c|h]Ralph Boehme1-3/+0
This is now also consumed by something outside source3/modules/. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-07-12vfs_fruit: move AppleDouble functionality to a dedicated subsystemRalph Boehme1-1/+1
It's still tied to the VFS, therefor it lives in source3/modules/. Reduces code bloat in vfs_fruit and makes it possible to use it from other parts of the codebase in future. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-07-03s3:modules: Use hash_inode() in vfs_streams_xattrAndreas Schneider1-1/+1
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Wed Jul 3 12:37:12 UTC 2019 on sn-devel-184
2019-07-03s3:modules: Use hash_inode() in vfs_fruitAndreas Schneider1-1/+1
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2019-07-03s3:modules: Add hash_inode() function based on SHA1Andreas Schneider1-0/+4
This should use SHA1 as modern CPUs have SHA NI instruction support. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2019-05-14vfs: add ceph_snapshots moduleDavid Disseldorp1-0/+8
vfs_ceph_snapshots is a module for accessing CephFS snapshots as Previous Versions. The module is separate from vfs_ceph, so that it can also be used atop a CephFS kernel backed share with vfs_default. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-04-12build: add explicit cephfs include path for vfs_ceph buildsDavid Disseldorp1-1/+2
Needed if building with a custom --with-libcephfs path. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-03-18vfs_nfs4acl_xattr: support for NFS 4.0 and 4.1 ACLs from NFS4 mountRalph Boehme1-0/+1
This adds a new main switch "nfs" to "nfs4acl_xattr:encoding" which enables to use NFS4 ACLs from an NFS4 mount on a Linux box. Tested with a FreeBSD NFS4 server. Supports both NFS 4.0 and 4.1 ACLs. By default NFS4 servers send user and group identifiers in ACLs as strings in the format "[USER|GROUP]@DNSDOMAIN". Some NFS4 servers support sending identifiers as numeric strings. This module does support this as well, the config knob "nfs4acl_xattr:nfs4_id_numeric = yes|no" controls behaviour. When "nfs4acl_xattr:encoding" is set to "nfs", the new option "nfs4acl_xattr:validate_mode", which defauts to "yes" is set to "no" to avoid checking and munging the mode on files. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-03-18nfs4acl_xattr: move some functions to a seperate fileRalph Boehme1-0/+1
These functions will be called from another translation unit in a subsequent commit. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2019-03-12modules: Add dependency on tirpc to vfs_nfs4acl_xattrAndrew Bartlett1-8/+11
This is done as a new subsystem (either filled or empty) rather than via string manipulation. This will fix compile error on fedora. Signed-off-by: Joe Guo <joeg@catalyst.net.nz> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
2019-02-11s3:modules: Fix compilation of nfs41acl_xdr.c when building outside srcAliaksei Karaliou1-7/+17
If the Samba build directory is outside its source directory, generation of nfs41acl_xdr.c by rpcgen leads to improper include paths to nfs41acl.h. This happens because rpcgen is designed to produce its generated file in the same directory as the input template. If the build directory is not located under the source directory, this relative path will be invalid and the header will not be found. Example: src dir is ~/samba-src bld dir is ~/samba-bld rpcgen will use path ../../samba-src/source3/modules/nfs41acl.x running from ~/samba-bld/default and nfs41acl_xdr.c will contain: #include "../../samba-src/source3/modules/nfs41acl.h" This behaviour is fixed through an intermediate copy of the input file to the build directory so that rpcgen receives the path as if located in src. Also now we avoid generation of nfs41acl_xdr.c when HAVE_RPC_XDR_H is not defined because it will not be used as part of the vfs_nfs4acl_xattr module. Signed-off-by: Aliaksei Karaliou <akaraliou@panasas.com> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-01-22s3-vfs: add glusterfs_fuse vfs module.Günther Deschner1-0/+8
This module only implements the get_real_filename function by accessing a distinct extended attribute that is available over a glusterfs fuse mount. By implementing this vfs function users of a glusterfs fuse mount achieve a much better performance in create based workloads where samba then can avoid trying multiple case folding options to detect the real filename. Patch is based on an initial patch provided by Poornima G <pgurusid@redhat.com> Guenther Signed-off-by: Günther Deschner <gd@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Tue Jan 22 18:37:56 CET 2019 on sn-devel-144
2019-01-18wscript: Make non_posix_acls a subsystemChristof Schmitt1-3/+2
This fixes build error when building vfs_gpfs as static module: ERROR: circular library dependency between smbd_base and non_posix_acls Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2018-09-05build:wafsamba: Build on waf 1.9Thomas Nagy1-1/+1
Signed-off-by: Thomas Nagy <tnagy@waf.io> Reviewed-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-08-31vfs_delay_inject: adding delay to VFS callsRalph Boehme1-0/+7
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13549 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2018-07-25s3:modules: add vfs_not_implemented moduleStefan Metzmacher1-0/+16
This provides helper functions, which can be used by other modules, if they don't implement a specific function. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2018-04-03s3:modules: Set -Wno-strict-overflow for getdate if supportedAndreas Schneider1-0/+5
bison generates an C89 files which does some weired things. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2018-01-24Samba-VirusFilter: clamav VFS and man page.Trever L. Adams1-0/+1
Signed-off-by: Trever L. Adams <trever.adams@gmail.com> Signed-off-by: SATOH Fumiyasu <fumiyas@osstech.co.jp> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Wed Jan 24 15:08:59 CET 2018 on sn-devel-144
2018-01-24Samba-VirusFilter: F-Secure AntiVirus (fsav) VFS and man page.Trever L. Adams1-0/+1
Signed-off-by: Trever L. Adams <trever.adams@gmail.com> Signed-off-by: SATOH Fumiyasu <fumiyas@osstech.co.jp> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2018-01-24Samba-VirusFilter: Sophos VFS backend.Trever L. Adams1-1/+4
Signed-off-by: Trever L. Adams <trever.adams@gmail.com> Signed-off-by: SATOH Fumiyasu <fumiyas@osstech.co.jp> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2018-01-24Samba-VirusFilter: common headers and sources.Trever L. Adams1-0/+13
Samba-VirusFilter Contributors: SATOH Fumiyasu @ OSS Technology Corp., Japan Module creator/maintainer Luke Dixon luke.dixon@zynstra.com Samba 4 support Trever L. Adams Documentation Code contributions Samba-master merge work With many thanks to the Samba Team. Signed-off-by: Trever L. Adams <trever.adams@gmail.com> Signed-off-by: SATOH Fumiyasu <fumiyas@osstech.co.jp> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2017-12-15vfs_error_inject: Add new moduleChristof Schmitt1-0/+7
This module allow injecting errors in vfs calls. It only implements one case (return ESTALE from chdir), but the idea is to extend this to more vfs functions and more errors when needed. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13189 Signed-off-by: Christof Schmitt <cs@samba.org> Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2017-11-11vfs: Remove aio_linuxVolker Lendecke1-8/+0
Triggered by https://bugzilla.samba.org/show_bug.cgi?id=13128 I think this module should go. Once Linux aio will do what Samba needs, this might be worth another look. What we should instead do soon is support Linux preadv2 and the RWF_NOWAIT flag to avoid the thread context switch whenever possible. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2017-11-08vfs_nfs4acl_xattr: add XDR backendRalph Boehme1-1/+22
Add a NFS4 ACL backend that stores the ACL blob in an XDR encoded xattr, by default in "security.nfs4acl_xdr". This backend is enabled by setting "nfs4acl_xattr:encoding = xdr" in a share definition. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2017-11-08vfs_nfs4acl_xattr: move the meat of the implementation to a seperate fileRalph Boehme1-1/+1
This is in preperation of modularizing the storage backend. Currently we store the NFS4 ACL as an IDL/NDR encoded blob in a xattr. Later commits will add a different backend storing the NFS4 ACL as an XDR encoded blob in a xattr. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2017-10-13vfs_fruit: on-access conversion of AppleDouble xattr dataRalph Boehme1-1/+1
This finally adds on-access conversion of xattr data stored in sidecar AppleDouble files. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2017-10-13vfs_catia: factor out mapping functionsRalph Boehme1-1/+4
This moves the core mapping functions to a seperate file and makes them global. string_replace_init_map() is called to parse a mapping in string and produce a mapping object that can then be passed to string_replace_allocate() to do the actual mapping of a string. Bug: https://bugzilla.samba.org/show_bug.cgi?id=13076 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>