source='nfs4_acls.c',
deps='samba-util tdb')
-bld.SAMBA3_LIBRARY('non_posix_acls',
+bld.SAMBA3_BINARY('test_nfs4_acls',
+ source='test_nfs4_acls.c',
+ deps='smbd_base cmocka',
+ for_selftest=True)
+
+bld.SAMBA3_SUBSYSTEM('vfs_acl_common',
+ source='vfs_acl_common.c',
+ deps='gnutls')
+
+bld.SAMBA3_SUBSYSTEM('POSIXACL_XATTR',
+ source='posixacl_xattr.c',
+ enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph') or bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs')),
+ deps='acl attr')
+
+bld.SAMBA3_SUBSYSTEM('non_posix_acls',
source='non_posix_acls.c',
- deps='samba-util vfs',
- private_library=True)
+ deps='samba-util vfs')
+
+bld.SAMBA3_SUBSYSTEM('VFS_VIRUSFILTER_UTILS',
+ source='vfs_virusfilter_utils.c',
+ deps='strv',
+ enabled=(bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter')))
bld.SAMBA3_SUBSYSTEM('VFS_AIXACL_UTIL',
source='vfs_aixacl_util.c',
source='',
deps='smbd_base')
+bld.SAMBA3_SUBSYSTEM('OFFLOAD_TOKEN',
+ source='offload_token.c',
+ deps='samba-util')
+
+bld.SAMBA3_SUBSYSTEM('UTIL_REPARSE',
+ source='util_reparse.c',
+ deps='samba-util')
+
+bld.SAMBA3_SUBSYSTEM('HASH_INODE',
+ source='hash_inode.c',
+ deps='gnutls')
+
+#
+# This is always be static, see
+# source3/wscript: required_static_modules
+#
bld.SAMBA3_MODULE('vfs_default',
subsystem='vfs',
source='vfs_default.c',
- deps='samba-util NDR_DFSBLOBS',
+ deps='samba-util NDR_DFSBLOBS OFFLOAD_TOKEN UTIL_REPARSE',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default'))
+#
+# This is always be static, see
+# source3/wscript: required_static_modules
+#
+bld.SAMBA3_MODULE('vfs_not_implemented',
+ subsystem='vfs',
+ source='vfs_not_implemented.c',
+ deps='samba-util',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_not_implemented'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_not_implemented'))
+
bld.SAMBA3_MODULE('vfs_audit',
subsystem='vfs',
source='vfs_audit.c',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_full_audit'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_full_audit'))
+bld.SAMBA3_BINARY('test_vfs_full_audit',
+ source='test_vfs_full_audit.c',
+ deps='smbd_base cmocka',
+ for_selftest=True)
+
bld.SAMBA3_MODULE('vfs_fake_perms',
subsystem='vfs',
source='vfs_fake_perms.c',
deps='samba-util',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_acls'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'))
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_acls'),
+ install=False)
bld.SAMBA3_MODULE('vfs_recycle',
subsystem='vfs',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_recycle'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_recycle'))
-bld.SAMBA3_MODULE('vfs_netatalk',
- subsystem='vfs',
- source='vfs_netatalk.c',
- deps='samba-util',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_netatalk'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_netatalk'))
-
bld.SAMBA3_MODULE('vfs_fruit',
subsystem='vfs',
source='vfs_fruit.c',
- deps='samba-util',
+ deps='samba-util OFFLOAD_TOKEN STRING_REPLACE HASH_INODE ADOUBLE',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fruit'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fruit'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_default_quota'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_default_quota'))
+module_cflags=''
+if bld.CONFIG_SET('HAVE_WNO_STRICT_OVERFLOW'):
+ module_cflags += ' -Wno-strict-overflow'
+
+if bld.CONFIG_SET('HAVE_WNO_UNUSED_BUT_SET_VARIABLE'):
+ module_cflags += ' -Wno-unused-but-set-variable'
+
bld.SAMBA3_MODULE('vfs_readonly',
subsystem='vfs',
source='vfs_readonly.c getdate.c',
deps='samba-util',
+ cflags_end=module_cflags,
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_readonly'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_readonly'))
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_posixacl'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_posixacl'))
+bld.SAMBA3_BINARY('test_vfs_posixacl',
+ source='test_vfs_posixacl.c',
+ deps='smbd_base cmocka',
+ for_selftest=True)
+
bld.SAMBA3_MODULE('vfs_aixacl',
subsystem='vfs',
source='vfs_aixacl.c',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_zfsacl'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_zfsacl'))
-bld.SAMBA3_MODULE('vfs_nfs4acl_xattr',
- subsystem='vfs',
- source='vfs_nfs4acl_xattr.c',
- deps='NFS4_ACLS sunacl NDR_NFS4ACL',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr'))
+if bld.SAMBA3_IS_ENABLED_MODULE('vfs_nfs4acl_xattr'):
+ bld.SAMBA_GENERATOR('nfs41acl-h',
+ source='nfs41acl.x',
+ target='nfs41acl.h',
+ rule='rpcgen -h ${SRC} > ${TGT}')
+
+ if bld.CONFIG_SET("HAVE_RPC_XDR_H"):
+ xdr_buf_hack = r'sed -e "s@^\([ \t]*register int32_t \*buf\);@\\1 = buf;@"'
+
+ # By default rpcgen assumes that the input file, generated header and
+ # source file are located in the same directory, which is extracted from
+ # the provided path to the input file.
+ # However if the build directory is not under the source tree, ${SRC} will
+ # be a long relative path through a common parent directory, resulting
+ # in an invalid path used in #include for the header.
+ # In order to fix that, the input file is first copied to the output build
+ # directory and then rpcgen is called with the proper path.
+ bld.SAMBA_GENERATOR('nfs41acl-xdr-c',
+ source='nfs41acl.x',
+ target='nfs41acl_xdr.c',
+ rule='cp -f ${SRC} ${TGT[0].parent} && rpcgen -c ' \
+ '${TGT[0].path_from(tsk.get_cwd())[:-len(tsk.outputs[0].name)] + tsk.inputs[0].name} | ' + \
+ xdr_buf_hack + ' > ${TGT}')
+
+ bld.SAMBA_SUBSYSTEM('VFS_NFS4_XDR',
+ source='nfs41acl_xdr.c',
+ deps='NFS4_ACLS NDR_NFS4ACL tirpc')
+ else:
+ bld.SET_TARGET_TYPE('VFS_NFS4_XDR', 'EMPTY')
+
+ bld.SAMBA3_MODULE('vfs_nfs4acl_xattr',
+ subsystem='vfs',
+ source = '''
+ vfs_nfs4acl_xattr.c
+ nfs4acl_xattr_ndr.c
+ nfs4acl_xattr_xdr.c
+ nfs4acl_xattr_nfs.c
+ nfs4acl_xattr_util.c
+ ''',
+ deps='NFS4_ACLS sunacl NDR_NFS4ACL VFS_NFS4_XDR',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_nfs4acl_xattr'))
bld.SAMBA3_MODULE('vfs_hpuxacl',
subsystem='vfs',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_hpuxacl'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_hpuxacl'))
-bld.SAMBA3_MODULE('vfs_tru64acl',
- subsystem='vfs',
- source='vfs_tru64acl.c',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_true64acl'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_true64acl'))
-
bld.SAMBA3_MODULE('vfs_catia',
subsystem='vfs',
source='vfs_catia.c',
- deps='samba-util',
+ deps='samba-util STRING_REPLACE',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_catia'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_catia'))
bld.SAMBA3_MODULE('vfs_streams_xattr',
subsystem='vfs',
source='vfs_streams_xattr.c',
- deps='samba-util',
+ deps='samba-util HASH_INODE',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_streams_xattr'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_streams_xattr'))
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'),
includes=bld.CONFIG_GET('CPPPATH_GPFS'))
-vfs_notify_fam_deps='samba-util '
-if bld.CONFIG_SET('SAMBA_FAM_LIBS'):
- vfs_notify_fam_deps += bld.CONFIG_GET('SAMBA_FAM_LIBS')
+bld.SAMBA3_BINARY('test_vfs_gpfs',
+ source='test_vfs_gpfs.c',
+ deps='NFS4_ACLS non_posix_acls gpfswrap cmocka',
+ for_selftest=True,
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_gpfs'),
+ includes=bld.CONFIG_GET('CPPPATH_GPFS'))
bld.SAMBA3_MODULE('vfs_readahead',
subsystem='vfs',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_pthread'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_pthread'))
-bld.SAMBA3_MODULE('vfs_aio_posix',
- subsystem='vfs',
- source='vfs_aio_posix.c',
- deps='samba-util tevent',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_posix'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_posix'))
-
-bld.SAMBA3_MODULE('vfs_aio_linux',
+bld.SAMBA3_MODULE('vfs_io_uring',
subsystem='vfs',
- source='vfs_aio_linux.c',
- deps='samba-util aio',
+ source='vfs_io_uring.c',
+ deps='samba-util tevent uring',
init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_aio_linux'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_aio_linux'))
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_io_uring'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_io_uring'))
bld.SAMBA3_MODULE('vfs_preopen',
subsystem='vfs',
bld.SAMBA3_MODULE('vfs_acl_xattr',
subsystem='vfs',
source='vfs_acl_xattr.c',
- deps='samba-util',
+ deps='samba-util vfs_acl_common',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_xattr'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_xattr'))
bld.SAMBA3_MODULE('vfs_acl_tdb',
subsystem='vfs',
source='vfs_acl_tdb.c',
- deps='NDR_XATTR tdb',
+ deps='samba-util vfs_acl_common',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_acl_tdb'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_acl_tdb'))
-bld.SAMBA3_MODULE('vfs_smb_traffic_analyzer',
- subsystem='vfs',
- source='vfs_smb_traffic_analyzer.c',
- deps='samba-util',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_smb_traffic_analyzer'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_smb_traffic_analyzer'))
-
bld.SAMBA3_MODULE('vfs_dirsort',
subsystem='vfs',
source='vfs_dirsort.c',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_dirsort'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_dirsort'))
-bld.SAMBA3_MODULE('vfs_scannedonly',
- subsystem='vfs',
- source='vfs_scannedonly.c',
- deps='samba-util',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_scannedonly'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_scannedonly'))
-
bld.SAMBA3_MODULE('vfs_crossrename',
subsystem='vfs',
source='vfs_crossrename.c',
bld.SAMBA3_MODULE('vfs_btrfs',
subsystem='vfs',
source='vfs_btrfs.c',
- deps='samba-util',
+ deps='samba-util OFFLOAD_TOKEN',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_btrfs'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_btrfs'))
source='',
deps='smbd_base')
-bld.SAMBA3_MODULE('perfcount_test',
- subsystem='perfcount',
- source='perfcount_test.c',
- init_function='',
- internal_module=bld.SAMBA3_IS_STATIC_MODULE('perfcount_test'),
- enabled=bld.SAMBA3_IS_ENABLED_MODULE('perfcount_test'))
-
bld.SAMBA3_MODULE('vfs_ceph',
subsystem='vfs',
source='vfs_ceph.c',
- deps='samba-util cephfs',
+ deps='POSIXACL_XATTR samba-util cephfs',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph'),
- cflags=bld.CONFIG_GET('CCFLAGS_CEPHFS'))
+ cflags=bld.CONFIG_GET('CFLAGS_CEPHFS'),
+ includes=bld.CONFIG_GET('CPPPATH_CEPHFS'))
+
+bld.SAMBA3_MODULE('vfs_ceph_snapshots',
+ subsystem='vfs',
+ source='vfs_ceph_snapshots.c',
+ deps='samba-util',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_ceph_snapshots'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_ceph_snapshots'))
bld.SAMBA3_MODULE('vfs_glusterfs',
subsystem='vfs',
source='vfs_glusterfs.c',
- deps='samba-util gfapi',
+ deps='POSIXACL_XATTR samba-util gfapi',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs'))
+bld.SAMBA3_MODULE('vfs_glusterfs_fuse',
+ subsystem='vfs',
+ source='vfs_glusterfs_fuse.c',
+ deps='',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_glusterfs_fuse'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_glusterfs_fuse'))
+
bld.SAMBA3_MODULE('vfs_worm',
subsystem='vfs',
source='vfs_worm.c',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_snapper'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_snapper'))
+bld.SAMBA3_MODULE('vfs_virusfilter',
+ subsystem='vfs',
+ source='''
+ vfs_virusfilter.c
+ vfs_virusfilter_sophos.c
+ vfs_virusfilter_fsav.c
+ vfs_virusfilter_clamav.c
+ vfs_virusfilter_dummy.c
+ ''',
+ deps='samba-util VFS_VIRUSFILTER_UTILS',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_virusfilter'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_virusfilter'))
+
bld.SAMBA3_MODULE('vfs_vxfs',
subsystem='vfs',
- source='vfs_vxfs.c',
+ source='lib_vxfs.c vfs_vxfs.c',
init_function='',
internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_vxfs'),
enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_vxfs'))
+
+bld.SAMBA3_MODULE('vfs_offline',
+ subsystem='vfs',
+ source='vfs_offline.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_offline'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_offline'))
+
+bld.SAMBA3_MODULE('vfs_fake_dfq',
+ subsystem='vfs',
+ source='vfs_fake_dfq.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_fake_dfq'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_fake_dfq'),
+ install=False)
+
+bld.SAMBA3_MODULE('vfs_error_inject',
+ subsystem='vfs',
+ source='vfs_error_inject.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_error_inject'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_error_inject'),
+ install=False)
+
+bld.SAMBA3_MODULE('vfs_delay_inject',
+ subsystem='vfs',
+ source='vfs_delay_inject.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_delay_inject'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'),
+ install=False)
+
+bld.SAMBA3_MODULE('vfs_widelinks',
+ subsystem='vfs',
+ source='vfs_widelinks.c',
+ init_function='',
+ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_widelinks'),
+ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_widelinks'))