summaryrefslogtreecommitdiff
path: root/source3/wscript
AgeCommit message (Collapse)AuthorFilesLines
2026-01-20build: add '--with-varlink' configure optionJohn Mulligan1-6/+19
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-1/+2
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>
2025-11-14s3:mdssvc: Remove support for tracker sparql supportAndreas Schneider1-41/+0
This only support v2 of tracker sparql which is only avilable on the Ubuntu 20.04 runner. All newer distributions provide only tracker sparql v3. Also the tevent glib stopped working on Fedora 43. Time to remove it. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2025-05-09source3/wscript: Remove extra config WITH_PROMETHEUS_EXPORTERAnoop C S1-1/+0
Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Anoop C S <anoopcs@samba.org> Autobuild-Date(master): Fri May 9 12:04:16 UTC 2025 on atb-devel-224
2025-05-09source3/wscript: Configure prometheus exporter only with profilingAnoop C S1-0/+3
Prometheus endpoint is only built when profiling is enabled during configure step. Therefore bail out early if this is not the case. Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2025-04-11s3-wscript: make sure to build with selftest without libeventGünther Deschner1-3/+0
No need to stop running selftest in absence of libevent anymore. Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Fri Apr 11 19:47:24 UTC 2025 on atb-devel-224
2025-04-11s3-selftest: only run prometheus exporter tests when configuredGünther Deschner1-0/+1
Extract the configure info for building with prometheus exporter and only run the blackbox test in case it is enabled. Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
2025-04-11build: use '--with-prometheus-exporter' configure optionShachar Sharon1-2/+2
Prefer '--with-prometheus-exporter' configure option over '--with-libevent', which in turn, requires libevent. Signed-off-by: Shachar Sharon <ssharon@redhat.com> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2025-04-11build: Detect libeventRalph Boehme1-0/+15
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2025-03-05s3:smbd: disable "vfs mkdir use tmp name = auto" on OpenBSDRalph Boehme1-0/+3
This is the simplest way to avoid a regression. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15801 Pair-Programmed-With: Stefan Metzmacher <metze@samba.org> Signed-off-by: Ralph Boehme <slow@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Mar 5 12:37:40 UTC 2025 on atb-devel-224
2025-03-04vfs_ceph_new: use libcephfs nonblocking API for async-io opsShachar Sharon1-0/+4
Use libcephfs non-blocking API (ceph_ll_nonblocking_readv_writev[1]) in combination with smb VFS async hooks ({pread,pwrite,fsync}_send/_recv). Fills libcephfs' struct ceph_ll_io_info with single iovec and submit/complete the operation asynchronously on libcephfs side, with corresponding tevent schedule-immediate upon completion on smbd side. Control nonblocking/normal I/O mode via config parameter. The common parts of async I/O (with/without HAVE_CEPH_ASYNCIO) are united. Specifically, use same struct vfs_ceph_aio_state and common code via helper function for all async I/O hooks. When HAVE_CEPH_ASYNCIO is True _and_ config option 'asyncio = yes' use libcephfs asynchronous I/O API. Otherwise, fake async operation using normal blocking APIs. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15810 [1] https://github.com/ceph/ceph/commit/b4e39f3eccd6734f1ed13c700c136e3aef1777f8 Signed-off-by: Shachar Sharon <ssharon@redhat.com> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Tue Mar 4 16:53:21 UTC 2025 on atb-devel-224
2025-02-28s3-waf: Enable build of MO files for localizationIvan Korytov1-0/+3
waf will now generate .mo files for pam_winbind and net when gettext support is enabled and gettext tools are available BUG: https://bugzilla.samba.org/show_bug.cgi?id=14491 Signed-off-by: Ivan Korytov <korytovip@basealt.ru> Reviewed-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Alexander Bokovoy <ab@samba.org> Autobuild-Date(master): Fri Feb 28 13:26:45 UTC 2025 on atb-devel-224
2025-02-20wscript: Add --with-systemd-userdb optionSamuel Cabrero1-0/+10
Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
2025-01-07vfs_io_uring: implement POSIX append-IORalph Boehme1-1/+1
Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2024-08-27source3/wscript: Introduce auto mode to build ceph vfs modulesAnoop C S1-5/+15
Use 'auto' mode as the default for building ceph vfs modules so that an explicit --enable-cephfs can reliably fail in the absence of required dependencies. ref: https://lists.samba.org/archive/samba/2024-August/249569.html Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Anoop C S <anoopcs@samba.org> Autobuild-Date(master): Tue Aug 27 06:18:51 UTC 2024 on atb-devel-224
2024-07-29vfs_ceph_new: next iteration of samba-to-cephfs bridgeShachar Sharon1-0/+1
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>
2024-07-09vfs_ceph: Disable the module on unsupported Ceph versionsAnoop C S1-18/+2
For the last major release(v4.20) we had a warning issued(fe16ae1fe834) to inform about the plan to disable building vfs_ceph in the absence of certain required APIs. This is now due to make the changes and further disable building the module if minimum required libcephfs APIs are not present. As we speak this requirement includes ceph_select_filesystem() and *at() variants of libcephfs APIs. These were around since v17(even earlier for ceph_select_filesystem) which is the lowest non-EOL version of Ceph available[1] at the moment. [1] https://docs.ceph.com/en/latest/releases/#ceph-releases-index Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): Anoop C S <anoopcs@samba.org> Autobuild-Date(master): Tue Jul 9 13:05:47 UTC 2024 on atb-devel-224
2024-07-02source3/wscript: Remove long pending unsupported optionAnoop C S1-8/+0
It has been a while since --with-libcephfs option was dropped. Therefore stop advertising it through waf scripts. Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2024-06-27smbd: Fix crossing automounter mount pointsVolker Lendecke1-0/+5
We get ENOENT on /proc/self/fd/<fdnum> when we try to turn the mountpoint's O_PATH handle into a real one. This does not trigger a mount attempt, you have to use name-based calls. This is not the real fix, because if the autofs mount triggers, the inode number will change. For directories this is not a huge problem as we don't touch the share mode database before we open the "real" fd. We would only violate potential share modes with other pure READ_ATTRIBUTES (i.e. stat-) opens that came before the mount trigger. As I don't think share modes on directories are really relevant, I think we can live with this "fix". Once we do directory leases this will potentially change. As a quick remedy we could use our defer_open() mechanism that starts path processing from scratch. But as long as this seems not really required, we should not add users of this really bad way of going back to square 1. The "real" fix would be to go back to the point where we open the last component with openat(). In the retry round we need to do this without O_PATH to trigger the mount and only then do the initial fstat. Right now I don't see an easy way to properly test this behaviour. Intercepting with vfs_error_inject is certainly possible, but nailing the exact call would clutter the main code path. So I have just tested this manually. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Thu Jun 27 11:59:05 UTC 2024 on atb-devel-224
2024-04-23s3:libads: always require ber_sockbuf_add_io() and LDAP_OPT_SOCKBUFStefan Metzmacher1-3/+3
There's no point in trying to support --with-ads, but only use plaintext ldap without sign/seal. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2024-03-01build: Move --with-ldap/--without-ldap from source3 build to top levelAndrew Bartlett1-48/+0
This code impacts on LDB, which is now built from the main build so we need to combined this with the check that was in lib/ldb or else we get conflicts. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2024-01-27vfs_ceph: Use ceph_fdopendir() when available for SMB_VFS_FDOPENDIRAnoop C S1-1/+2
Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Sat Jan 27 00:01:12 UTC 2024 on atb-devel-224
2024-01-26vfs_ceph: Implement SMB_VFS_FSTATATAnoop C S1-1/+1
Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Fri Jan 26 16:56:59 UTC 2024 on atb-devel-224
2024-01-26source3/wscript: Announce deprecation of old Ceph version supportAnoop C S1-10/+13
*at() variants for various libcephfs APIs were added with Ceph v17.x. Any other version less than v17.x is soon to be considered EOL[1] which we will now indicate with the help of a warning message during configure time. Going further such a situation will result in disabling the module altogether with the next major Samba version after v4.20. [1] https://docs.ceph.com/en/latest/releases/#ceph-releases-index Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org>
2024-01-26s3: Make build of wspsearch client enabled by defaultNoel Power1-1/+1
Although wspsearch client is experimental it is probably better to enable its building by default so it gets has some opportunity to be used/tested by users. Signed-off-by: Noel Power <noel.power@suse.com>
2024-01-04vfs_ceph: use extra 'ceph_*at()' calls when availableShachar Sharon1-0/+10
As of libcephfs version-10.0.3 the high-level API has few more '*at()' calls. Prefer those newer hooks over path-based when having an appropriate directory fd (namely: ceph_mkdirat, ceph_openat, cepth_unlinkat, ceph_symlinkat, ceph_readlinkat). Ceph commit: https://github.com/ceph/ceph/commit/3831aa12f3067d8cc362f39f7136dd53cb946d22 BUG: https://bugzilla.samba.org/show_bug.cgi?id=15516 Signed-off-by: Shachar Sharon <ssharon@redhat.com> Reviewed-by: Gunther Deschner <gd@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Thu Jan 4 21:09:54 UTC 2024 on atb-devel-224
2023-10-26s3:rpc_server/wkssvc: Remove get logged on user list from utmpSamuel Cabrero1-1/+1
utmp is not Y2038 safe. Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-10-25s3/build: Add support for WSP in configure script.Noel Power1-0/+9
Building wsp cli, tools should be controlled by specifying '--enable-wsp' Note: By default this option is not enabled as the is an experimental feature however it is enabled if configure is called with '--selftest' Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-10-04tests: We always do smb3 unix extensionsVolker Lendecke1-5/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2023-07-19s3:waf: Fix code spellingAndreas Schneider1-4/+4
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Joseph Sutton <josephsutton@catalyst.net.nz>
2023-07-03build: We don't need SEEKDIR_RETURNS_VOIDVolker Lendecke1-5/+0
We don't call seekdir() in source3 anymore 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 Jul 3 20:40:05 UTC 2023 on atb-devel-224
2023-06-05modules: Remove perfcount_test moduleVolker Lendecke1-3/+4
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2023-03-09lib:util: prefer mallinfo2() over mallinfo() if availableDmitry Antipov1-12/+0
Prefer mallinfo2() with 'size_t' fields over deprecated mallinfo() (with 'int' fields which may wrap around zero and so be inaccurate on a 64-bit system) and move relevant checks to lib/util/wscript_configure because mallinfo() is not used beyond 'samba-util'. Suggested-by: Andreas Schneider <asn@samba.org> Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com> Reviewed-by: Volker Lendecke <vl@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-03-03source3/wscript: Fix configure-time checksJoseph Sutton1-5/+5
Compilers are getting strict about this C89 behaviour and this kind of thing is already causing some configure checks to fail with modern compilers like clang. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15281 Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-02-24vfs_ceph: add support to select ceph file systemJohn Mulligan1-0/+2
Add a config parameter `ceph:filesystem` that will be passed to ceph_select_filesystem when provided. This allows shares on a single smbd to access multiple different cephfs file systems. The ceph_select_filesystem call was added as part of ceph 'nautilus' (v14), released on 2019-03-19 and EOLed on 2021-06-30. Since ceph 'pacific' (v16) multiple file system support is stable and ready to use. At the time of this commit, 'pacific' is the oldest actively supported version of ceph upstream. Since samba tests building on ubntu 18.04, which has ceph packages older than v14, a waf check for the function is added to test for the presence of ceph_select_filesystem and disable its use on these very old platforms. Signed-off-by: John Mulligan <jmulligan@redhat.com> Reviewed-by: Guenther Deschner <gd@samba.org> Reviewed-by: Anoop C S <anoopcs@samba.org>
2023-01-26selftest: Only run samba.tests.smb3unix in developer modeAndreas Schneider1-0/+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): Thu Jan 26 13:13:50 UTC 2023 on atb-devel-224
2023-01-09source3/wscript: Remove implicit int and implicit function declarationsFlorian Weimer1-5/+6
This should fix the remaining C89isms in these configure checks. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15281 Signed-off-by: Florian Weimer <fweimer@redhat.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Mon Jan 9 11:46:35 UTC 2023 on sn-devel-184
2023-01-09source3/wscript: Fix detection of major/minor macrosFlorian Weimer1-2/+2
These macros are only available via <sys/sysmacros.h> as of glibc commit e16deca62e16f645213dffd4ecd1153c37765f17 ("[BZ #19239] Don't include sys/sysmacros.h from sys/types.h."), which went into glibc 2.28. This is different from the usual C99 cleanups because it changes the configure check result with existing compilers that usually accept implicit function declarations. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15281 Signed-off-by: Florian Weimer <fweimer@redhat.com> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2022-08-26source3/wscript: Detect glusterfs-api with *at() calls supportAnoop C S1-0/+4
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15157 Signed-off-by: Anoop C S <anoopcs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2022-08-15vfs_io_uring: hide a possible definition of struct open_how in liburing/compat.hStefan Metzmacher1-0/+13
liburing.h will include liburing/compat.h, which either includes linux/openat2.h or defines struct open_how itself. This will help with the following changes, which will provide openat2() via libreplace's system/filesys.h, either including linux/openat2.h or defining open_how ourself. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2022-06-09Revert "s3:smbd: Remove NIS support"Samuel Cabrero1-0/+4
This partly reverts commit edda7a329e5bed442418de9782cec9f567092aae. Revert the chunks related to netgroups and skip NIS support related ones. Use getdomainname() from glibc instead of yp_get_default_domain() from libnsl to get the NIS domain name. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15087 Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2022-02-18waf: re-add missing readlink testBjörn Jacke1-0/+6
this was another portability regression that came with the moving to waf BUG: https://bugzilla.samba.org/show_bug.cgi?id=13631 Signed-off-by: Bjoern Jacke <bj@sernet.de> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Feb 18 23:12:51 UTC 2022 on sn-devel-184
2022-02-18wscript: s/default/required/ _static_modules for the acl modulesBjörn Jacke1-3/+3
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14974 Signed-off-by: Bjoern Jacke <bjacke@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2021-12-10s3:rpc_server: Activate samba-dcerpcdVolker Lendecke1-2/+1
This is the big switch to use samba-dcerpcd for the RPC services in source3/. It is a pretty big and unordered patch, but I don't see a good way to split this up into more manageable pieces without sacrificing bisectability even more. Probably I could cut out a few small ones, but a major architechtural switch like this will always be messy. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2021-10-13Fix detection of rpc/xdr.h on macOSAlex Richardson1-1/+1
We need to include rpc/types.h first to include this header. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14862 Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Oct 13 02:33:05 UTC 2021 on sn-devel-184
2021-09-14wscript: Remove config check for LOCK_MANDChristof Schmitt1-15/+0
The define set from this check is no longer needed. Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2021-07-14s3: expect fstatat() and dirfd()Ralph Boehme1-2/+0
FreeBSD, AIX and Solaris all have this. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2021-06-29VFS: Add initial implemenataion for SMB_VFS_FCHFLAGSNoel Power1-1/+2
Signed-off-by: Noel Power <noel.power@suse.com> Reviewed-by: Jeremy Allison <jra@samba.org>
2021-04-28build: Use bison at build time rather than lexyacc.sh to build the embedded ↵Andrew Bartlett1-9/+0
heimdal Because the filenames are changed to the *.tab.{h,c} format a transitional header is added. While the built compilers differ, the output of the compilers and the resulting .o files have been verified not to have changed on Ubuntu 20.04. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2021-04-22s3:smbd: Remove NIS supportAndreas Schneider1-4/+0
Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>