#include "includes.h"
#include "lib/tdb_wrap/tdb_wrap.h"
+#ifdef WITH_NTVFS_FILESERVER
#include "vfs_posix.h"
+#endif
#include "posix_eadb.h"
#define XATTR_LIST_ATTR ".xattr_list"
return NT_STATUS_OK;
}
-NTSTATUS pull_xattr_blob_tdb(struct pvfs_state *pvfs_state,
- TALLOC_CTX *mem_ctx,
- const char *attr_name,
- const char *fname,
- int fd,
- size_t estimated_size,
- DATA_BLOB *blob)
-{
- return pull_xattr_blob_tdb_raw(pvfs_state->ea_db,mem_ctx,attr_name,fname,fd,estimated_size,blob);
-}
-
/*
push a xattr as a blob, using ea_tdb
*/
talloc_free(mem_ctx);
return status;
}
-NTSTATUS push_xattr_blob_tdb(struct pvfs_state *pvfs_state,
- const char *attr_name,
- const char *fname,
- int fd,
- const DATA_BLOB *blob)
-{
- return push_xattr_blob_tdb_raw(pvfs_state->ea_db, attr_name, fname, fd, blob);
-}
/*
}
-/*
- delete a xattr
-*/
-NTSTATUS delete_posix_eadb(struct pvfs_state *pvfs_state, const char *attr_name,
- const char *fname, int fd)
-{
- return delete_posix_eadb_raw(pvfs_state->ea_db,
- attr_name, fname, fd);
-}
-
-
/*
delete all xattrs for a file
*/
return status;
}
-/*
- delete all xattrs for a file
-*/
-NTSTATUS unlink_posix_eadb(struct pvfs_state *pvfs_state, const char *fname)
-{
- return unlink_posix_eadb_raw(pvfs_state->ea_db, fname, -1);
-}
-
/*
list all xattrs for a file
*/
return pull_xattr_blob_tdb_raw(ea_tdb, mem_ctx, XATTR_LIST_ATTR,
fname, fd, 100, list);
}
+
+#ifdef WITH_NTVFS_FILESERVER
+NTSTATUS pull_xattr_blob_tdb(struct pvfs_state *pvfs_state,
+ TALLOC_CTX *mem_ctx,
+ const char *attr_name,
+ const char *fname,
+ int fd,
+ size_t estimated_size,
+ DATA_BLOB *blob)
+{
+ return pull_xattr_blob_tdb_raw(pvfs_state->ea_db,mem_ctx,attr_name,fname,fd,estimated_size,blob);
+}
+
+NTSTATUS push_xattr_blob_tdb(struct pvfs_state *pvfs_state,
+ const char *attr_name,
+ const char *fname,
+ int fd,
+ const DATA_BLOB *blob)
+{
+ return push_xattr_blob_tdb_raw(pvfs_state->ea_db, attr_name, fname, fd, blob);
+}
+
+/*
+ delete a xattr
+*/
+NTSTATUS delete_posix_eadb(struct pvfs_state *pvfs_state, const char *attr_name,
+ const char *fname, int fd)
+{
+ return delete_posix_eadb_raw(pvfs_state->ea_db,
+ attr_name, fname, fd);
+}
+
+/*
+ delete all xattrs for a file
+*/
+NTSTATUS unlink_posix_eadb(struct pvfs_state *pvfs_state, const char *fname)
+{
+ return unlink_posix_eadb_raw(pvfs_state->ea_db, fname, -1);
+}
+
+#endif
#!/usr/bin/env python
-bld.SAMBA_SUBSYSTEM('pvfs_acl',
- source='pvfs_acl.c',
- autoproto='vfs_acl_proto.h',
- deps='events samba-modules',
- )
+if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'):
+ bld.SAMBA_SUBSYSTEM('pvfs_acl',
+ source='pvfs_acl.c',
+ autoproto='vfs_acl_proto.h',
+ deps='events samba-modules',
+ )
-bld.SAMBA_MODULE('pvfs_acl_xattr',
- source='pvfs_acl_xattr.c',
- subsystem='pvfs_acl',
- init_function='pvfs_acl_xattr_init',
- deps='NDR_XATTR events'
- )
+ bld.SAMBA_MODULE('pvfs_acl_xattr',
+ source='pvfs_acl_xattr.c',
+ subsystem='pvfs_acl',
+ init_function='pvfs_acl_xattr_init',
+ deps='NDR_XATTR events'
+ )
-bld.SAMBA_MODULE('pvfs_acl_nfs4',
- source='pvfs_acl_nfs4.c',
- subsystem='pvfs_acl',
- init_function='pvfs_acl_nfs4_init',
- deps='NDR_NFS4ACL samdb events'
- )
+ bld.SAMBA_MODULE('pvfs_acl_nfs4',
+ source='pvfs_acl_nfs4.c',
+ subsystem='pvfs_acl',
+ init_function='pvfs_acl_nfs4_init',
+ deps='NDR_NFS4ACL samdb events'
+ )
-bld.SAMBA_SUBSYSTEM('pvfs_aio',
- source='pvfs_aio.c',
- deps='tevent',
- enabled=False
- )
+ bld.SAMBA_SUBSYSTEM('pvfs_aio',
+ source='pvfs_aio.c',
+ deps='tevent',
+ enabled=False
+ )
-bld.SAMBA_MODULE('ntvfs_posix',
- source='vfs_posix.c pvfs_util.c pvfs_search.c pvfs_dirlist.c pvfs_fileinfo.c pvfs_unlink.c pvfs_mkdir.c pvfs_open.c pvfs_read.c pvfs_flush.c pvfs_write.c pvfs_fsinfo.c pvfs_qfileinfo.c pvfs_setfileinfo.c pvfs_rename.c pvfs_resolve.c pvfs_shortname.c pvfs_lock.c pvfs_oplock.c pvfs_wait.c pvfs_seek.c pvfs_ioctl.c pvfs_xattr.c pvfs_streams.c pvfs_notify.c pvfs_sys.c xattr_system.c',
- autoproto='vfs_posix_proto.h',
- subsystem='ntvfs',
- init_function='ntvfs_posix_init',
- deps='NDR_XATTR attr ntvfs_common MESSAGING LIBWBCLIENT_OLD pvfs_acl pvfs_aio posix_eadb',
- internal_module=True
- )
+ bld.SAMBA_MODULE('ntvfs_posix',
+ source='vfs_posix.c pvfs_util.c pvfs_search.c pvfs_dirlist.c pvfs_fileinfo.c pvfs_unlink.c pvfs_mkdir.c pvfs_open.c pvfs_read.c pvfs_flush.c pvfs_write.c pvfs_fsinfo.c pvfs_qfileinfo.c pvfs_setfileinfo.c pvfs_rename.c pvfs_resolve.c pvfs_shortname.c pvfs_lock.c pvfs_oplock.c pvfs_wait.c pvfs_seek.c pvfs_ioctl.c pvfs_xattr.c pvfs_streams.c pvfs_notify.c pvfs_sys.c xattr_system.c',
+ autoproto='vfs_posix_proto.h',
+ subsystem='ntvfs',
+ init_function='ntvfs_posix_init',
+ deps='NDR_XATTR attr ntvfs_common MESSAGING LIBWBCLIENT_OLD pvfs_acl pvfs_aio posix_eadb',
+ internal_module=True
+ )
bld.SAMBA_PYTHON('python_xattr_native',
autoproto='ntvfs_proto.h',
deps='tevent samba-modules',
private_library=True,
- enabled=bld.AD_DC_BUILD_IS_ENABLED()
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
-if bld.AD_DC_BUILD_IS_ENABLED():
- bld.RECURSE('posix')
+bld.RECURSE('posix')
+if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'):
bld.RECURSE('common')
bld.RECURSE('unixuid')
bld.RECURSE('sysdep')
-bld.SAMBA_MODULE('ntvfs_cifs',
- source='cifs/vfs_cifs.c',
- subsystem='ntvfs',
- init_function='ntvfs_cifs_init',
- deps='LIBCLI_SMB smbclient-raw param_options'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_smb2',
- source='smb2/vfs_smb2.c',
- subsystem='ntvfs',
- init_function='ntvfs_smb2_init',
- deps='LIBCLI_SMB smbclient-raw param_options'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_simple',
- source='simple/vfs_simple.c simple/svfs_util.c',
- autoproto='simple/proto.h',
- subsystem='ntvfs',
- init_function='ntvfs_simple_init',
- deps='talloc'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_cifsposix',
- source='cifs_posix_cli/vfs_cifs_posix.c cifs_posix_cli/svfs_util.c',
- autoproto='cifs_posix_cli/proto.h',
- subsystem='ntvfs',
- init_function='ntvfs_cifs_posix_init',
- deps='talloc'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_print',
- source='print/vfs_print.c',
- subsystem='ntvfs',
- init_function='ntvfs_print_init',
- deps='talloc'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_ipc',
- source='ipc/vfs_ipc.c ipc/ipc_rap.c ipc/rap_server.c',
- autoproto='ipc/proto.h',
- subsystem='ntvfs',
- init_function='ntvfs_ipc_init',
- deps='NDR_NAMED_PIPE_AUTH npa_tstream gssapi samba-credentials DCERPC_SHARE'
- )
-
-
-bld.SAMBA_MODULE('ntvfs_nbench',
- source='nbench/vfs_nbench.c',
- subsystem='ntvfs',
- init_function='ntvfs_nbench_init',
- deps='talloc'
- )
+ bld.SAMBA_MODULE('ntvfs_cifs',
+ source='cifs/vfs_cifs.c',
+ subsystem='ntvfs',
+ init_function='ntvfs_cifs_init',
+ deps='LIBCLI_SMB smbclient-raw param_options'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_smb2',
+ source='smb2/vfs_smb2.c',
+ subsystem='ntvfs',
+ init_function='ntvfs_smb2_init',
+ deps='LIBCLI_SMB smbclient-raw param_options'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_simple',
+ source='simple/vfs_simple.c simple/svfs_util.c',
+ autoproto='simple/proto.h',
+ subsystem='ntvfs',
+ init_function='ntvfs_simple_init',
+ deps='talloc'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_cifsposix',
+ source='cifs_posix_cli/vfs_cifs_posix.c cifs_posix_cli/svfs_util.c',
+ autoproto='cifs_posix_cli/proto.h',
+ subsystem='ntvfs',
+ init_function='ntvfs_cifs_posix_init',
+ deps='talloc'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_print',
+ source='print/vfs_print.c',
+ subsystem='ntvfs',
+ init_function='ntvfs_print_init',
+ deps='talloc'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_ipc',
+ source='ipc/vfs_ipc.c ipc/ipc_rap.c ipc/rap_server.c',
+ autoproto='ipc/proto.h',
+ subsystem='ntvfs',
+ init_function='ntvfs_ipc_init',
+ deps='NDR_NAMED_PIPE_AUTH npa_tstream gssapi samba-credentials DCERPC_SHARE'
+ )
+
+
+ bld.SAMBA_MODULE('ntvfs_nbench',
+ source='nbench/vfs_nbench.c',
+ subsystem='ntvfs',
+ init_function='ntvfs_nbench_init',
+ deps='talloc'
+ )
#include "auth/auth.h"
#include "param/param.h"
#include "rpc_server/common/common.h"
-#include "rpc_server/common/share.h"
#include "libds/common/roles.h"
/*
#include "librpc/gen_ndr/ndr_wkssvc.h"
#include "librpc/gen_ndr/ndr_srvsvc.h"
#include "rpc_server/common/common.h"
-#include "rpc_server/common/share.h"
#include "param/param.h"
/*
#!/usr/bin/env python
bld.SAMBA_SUBSYSTEM('DCERPC_SHARE',
- source='common/server_info.c common/share_info.c',
+ source='common/share_info.c',
autoproto='common/share.h',
deps='ldb',
- enabled=bld.AD_DC_BUILD_IS_ENABLED()
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER'),
)
bld.SAMBA_SUBSYSTEM('DCERPC_COMMON',
- source='common/forward.c common/reply.c dcesrv_auth.c common/loadparm.c',
+ source='common/server_info.c common/forward.c common/reply.c dcesrv_auth.c common/loadparm.c',
autoproto='common/proto.h',
deps='ldb DCERPC_SHARE samba_server_gensec',
enabled=bld.AD_DC_BUILD_IS_ENABLED()
autoproto='srvsvc/proto.h',
subsystem='dcerpc_server',
init_function='dcerpc_server_srvsvc_init',
- deps='DCERPC_COMMON NDR_SRVSVC share ntvfs'
+ deps='DCERPC_COMMON NDR_SRVSVC share ntvfs',
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
subsystem='dcerpc_server',
init_function='dcerpc_server_winreg_init',
deps='registry ndr-standard',
- internal_module=True
+ internal_module=True,
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
subsystem='dcerpc_server',
init_function='dcerpc_server_spoolss_init',
deps='DCERPC_COMMON NDR_SPOOLSS ntptr RPC_NDR_SPOOLSS',
- internal_module=True
+ internal_module=True,
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
source='eventlog/dcesrv_eventlog6.c',
subsystem='dcerpc_server',
init_function='dcerpc_server_eventlog6_init',
- deps='DCERPC_COMMON'
+ deps='DCERPC_COMMON',
+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
bld.SAMBA_MODULE('dcerpc_dnsserver',
#include "dsdb/samdb/samdb.h"
#include "param/param.h"
#include "file_server/file_server.h"
-
+#include "ntvfs/ntvfs.h"
+#include "lib/cmdline/popt_common.h"
/*
open the smb server sockets
*/
/* called at smbd startup - register ourselves as a server service */
NTSTATUS server_service_smb_init(void)
{
+ ntvfs_init(cmdline_lp_ctx);
share_init();
return register_server_service("smb", smbsrv_task_init);
}
autoproto='service_smb_proto.h',
subsystem='service',
init_function='server_service_smb_init',
- deps='SMB_SERVER netif shares samba-hostconfig',
+ deps='SMB_SERVER netif shares samba-hostconfig POPT_SAMBA',
internal_module=False,
enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER')
)
#include "lib/cmdline/popt_common.h"
#include "system/dir.h"
#include "system/filesys.h"
-#include "ntvfs/ntvfs.h"
#include "ntptr/ntptr.h"
#include "auth/gensec/gensec.h"
#include "libcli/auth/schannel.h"
ntptr_init(); /* FIXME: maybe run this in the initialization function
of the spoolss RPC server instead? */
- ntvfs_init(cmdline_lp_ctx); /* FIXME: maybe run this in the initialization functions
- of the SMB[,2] server instead? */
-
process_model_init(cmdline_lp_ctx);
shared_init = load_samba_modules(NULL, "service");