The Samba-Bugzilla – Attachment 12206 Details for
Bug 11991
some python modules fail to resolve dependencies in non-dc build
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch from master for v4-3-test (fixed patch + one followup cherrypick)
patch-4.3.10-v2-with-followup (text/plain), 30.34 KB, created by
Guenther Deschner
on 2016-06-24 13:00:06 UTC
(
hide
)
Description:
patch from master for v4-3-test (fixed patch + one followup cherrypick)
Filename:
MIME Type:
Creator:
Guenther Deschner
Created:
2016-06-24 13:00:06 UTC
Size:
30.34 KB
patch
obsolete
>From 55b3c4d03fc307ace3b72461484ca9b53d6482b4 Mon Sep 17 00:00:00 2001 >From: Andrew Bartlett <abartlet@samba.org> >Date: Wed, 11 May 2016 05:33:17 +1200 >Subject: [PATCH 1/2] build: Build less of Samba when building > --without-ntvfs-fileserver > >We would build, but not use, many components of the NTVFS file server >even when we asked not to. They would then consume disk, but not be >of any use > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=11991 > >Signed-off-by: Andrew Bartlett <abartlet@samba.org> >Reviewed-by: Garming Sam <garming@catalyst.net.nz> >(cherry picked from commit 0b4c741b9c03d147ee5f56d027bacda75c1b5282) >--- > source4/ntvfs/posix/posix_eadb.c | 81 ++++++++++---------- > source4/ntvfs/posix/wscript_build | 61 +++++++-------- > source4/ntvfs/wscript_build | 120 +++++++++++++++--------------- > source4/rpc_server/common/server_info.c | 2 +- > source4/rpc_server/wkssvc/dcesrv_wkssvc.c | 1 - > source4/rpc_server/wscript_build | 18 +++-- > source4/smb_server/service_smb.c | 4 +- > source4/smb_server/wscript_build | 2 +- > source4/smbd/server.c | 4 - > 9 files changed, 150 insertions(+), 143 deletions(-) > >diff --git a/source4/ntvfs/posix/posix_eadb.c b/source4/ntvfs/posix/posix_eadb.c >index 31c565c..e08597c 100644 >--- a/source4/ntvfs/posix/posix_eadb.c >+++ b/source4/ntvfs/posix/posix_eadb.c >@@ -21,7 +21,9 @@ > > #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" >@@ -143,17 +145,6 @@ NTSTATUS pull_xattr_blob_tdb_raw(struct tdb_wrap *ea_tdb, > 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 > */ >@@ -199,14 +190,6 @@ done: > 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); >-} > > > /* >@@ -234,17 +217,6 @@ NTSTATUS delete_posix_eadb_raw(struct tdb_wrap *ea_tdb, const char *attr_name, > > > /* >- 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_raw(struct tdb_wrap *ea_tdb, const char *fname, int fd) >@@ -271,14 +243,6 @@ NTSTATUS unlink_posix_eadb_raw(struct tdb_wrap *ea_tdb, const char *fname, int f > } > > /* >- 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 > */ > NTSTATUS list_posix_eadb_raw(struct tdb_wrap *ea_tdb, TALLOC_CTX *mem_ctx, >@@ -288,3 +252,44 @@ NTSTATUS list_posix_eadb_raw(struct tdb_wrap *ea_tdb, TALLOC_CTX *mem_ctx, > 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 >diff --git a/source4/ntvfs/posix/wscript_build b/source4/ntvfs/posix/wscript_build >index 06fea0b..a07da33 100644 >--- a/source4/ntvfs/posix/wscript_build >+++ b/source4/ntvfs/posix/wscript_build >@@ -1,43 +1,44 @@ > #!/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', >diff --git a/source4/ntvfs/wscript_build b/source4/ntvfs/wscript_build >index 6e3ee6d..44cb78d 100644 >--- a/source4/ntvfs/wscript_build >+++ b/source4/ntvfs/wscript_build >@@ -5,71 +5,71 @@ bld.SAMBA_LIBRARY('ntvfs', > 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' >+ ) > > >diff --git a/source4/rpc_server/common/server_info.c b/source4/rpc_server/common/server_info.c >index afbbb23..39c75cc 100644 >--- a/source4/rpc_server/common/server_info.c >+++ b/source4/rpc_server/common/server_info.c >@@ -26,7 +26,7 @@ > #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" > > /* > Here are common server info functions used by some dcerpc server interfaces >diff --git a/source4/rpc_server/wkssvc/dcesrv_wkssvc.c b/source4/rpc_server/wkssvc/dcesrv_wkssvc.c >index 80a518c..baae0e3 100644 >--- a/source4/rpc_server/wkssvc/dcesrv_wkssvc.c >+++ b/source4/rpc_server/wkssvc/dcesrv_wkssvc.c >@@ -24,7 +24,6 @@ > #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" > > /* >diff --git a/source4/rpc_server/wscript_build b/source4/rpc_server/wscript_build >index 3506a7c..f519875 100755 >--- a/source4/rpc_server/wscript_build >+++ b/source4/rpc_server/wscript_build >@@ -1,14 +1,14 @@ > #!/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() >@@ -54,7 +54,8 @@ bld.SAMBA_MODULE('dcerpc_srvsvc', > 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') > ) > > >@@ -88,7 +89,8 @@ bld.SAMBA_MODULE('dcerpc_winreg', > 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') > ) > > >@@ -124,7 +126,8 @@ bld.SAMBA_MODULE('dcerpc_spoolss', > 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') > ) > > >@@ -147,7 +150,8 @@ bld.SAMBA_MODULE('dcerpc_eventlog', > 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', >diff --git a/source4/smb_server/service_smb.c b/source4/smb_server/service_smb.c >index 0e4897c..05004b0 100644 >--- a/source4/smb_server/service_smb.c >+++ b/source4/smb_server/service_smb.c >@@ -34,7 +34,8 @@ > #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 > */ >@@ -86,6 +87,7 @@ failed: > /* 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); > } >diff --git a/source4/smb_server/wscript_build b/source4/smb_server/wscript_build >index bfeba0e..e0e1888 100644 >--- a/source4/smb_server/wscript_build >+++ b/source4/smb_server/wscript_build >@@ -5,7 +5,7 @@ bld.SAMBA_MODULE('service_smb', > 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.AD_DC_BUILD_IS_ENABLED() > ) >diff --git a/source4/smbd/server.c b/source4/smbd/server.c >index b0f67c9..bf3a58f 100644 >--- a/source4/smbd/server.c >+++ b/source4/smbd/server.c >@@ -28,7 +28,6 @@ > #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" >@@ -414,9 +413,6 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ > 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"); >-- >2.5.5 > > >From 2a242bf03a29fc523b0b68bc34de94d739031667 Mon Sep 17 00:00:00 2001 >From: Andrew Bartlett <abartlet@samba.org> >Date: Sat, 10 Oct 2015 09:30:17 +1300 >Subject: [PATCH 2/2] build: Enable NTVFS file server to be omitted > >We now only build it by default with --enable-sefltest, or otherwise >if requested. > >The NTVFS file server still has features not present in the smbd file >server, such as a CIFS/SMB proxy, and a radically different design, >but it is also not undergoing any ongoing development so this keeps it >in a safe state for care and maintaince, with less of a security risk >if such an issue were to come up. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=11991 > >Signed-off-by: Andrew Bartlett <abartlet@samba.org> >Reviewed-by: Jeremy Allison <jra@samba.org> >(cherry picked from commit 71dcc76b70d8e249624f9bf057fc4fd3a44125e1) >--- > python/pyglue.c | 11 +++++++++++ > python/samba/__init__.py | 1 + > python/samba/netcmd/domain.py | 37 ++++++++++++++++++++++++++++------- > source4/smb_server/smb/wscript_build | 2 +- > source4/smb_server/smb2/wscript_build | 2 +- > source4/smb_server/wscript_build | 4 ++-- > source4/torture/rpc/rpc.c | 2 +- > source4/torture/wscript_build | 14 +++++++------ > wscript | 22 +++++++++++++++++++++ > 9 files changed, 77 insertions(+), 18 deletions(-) > >diff --git a/python/pyglue.c b/python/pyglue.c >index 3fc6e38..81244a2 100644 >--- a/python/pyglue.c >+++ b/python/pyglue.c >@@ -121,6 +121,15 @@ static PyObject *py_get_debug_level(PyObject *self) > return PyInt_FromLong(DEBUGLEVEL); > } > >+static PyObject *py_is_ntvfs_fileserver_built(PyObject *self) >+{ >+#ifdef WITH_NTVFS_FILESERVER >+ Py_RETURN_TRUE; >+#else >+ Py_RETURN_FALSE; >+#endif >+} >+ > /* > return the list of interface IPs we have configured > takes an loadparm context, returns a list of IPs in string form >@@ -267,6 +276,8 @@ static PyMethodDef py_misc_methods[] = { > "(for testing) compare two strings using Samba's strcasecmp_m()"}, > { "strstr_m", (PyCFunction)py_strstr_m, METH_VARARGS, > "(for testing) find one string in another with Samba's strstr_m()"}, >+ { "is_ntvfs_fileserver_built", (PyCFunction)py_is_ntvfs_fileserver_built, METH_NOARGS, >+ "is the NTVFS file server built in this installation?" }, > { NULL } > }; > >diff --git a/python/samba/__init__.py b/python/samba/__init__.py >index aaf335c..7cfbc4c 100644 >--- a/python/samba/__init__.py >+++ b/python/samba/__init__.py >@@ -398,3 +398,4 @@ unix2nttime = _glue.unix2nttime > generate_random_password = _glue.generate_random_password > strcasecmp_m = _glue.strcasecmp_m > strstr_m = _glue.strstr_m >+is_ntvfs_fileserver_built = _glue.is_ntvfs_fileserver_built >diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py >index 119e8b2..780d615 100644 >--- a/python/samba/netcmd/domain.py >+++ b/python/samba/netcmd/domain.py >@@ -224,7 +224,7 @@ class cmd_domain_provision(Command): > Option("--ol-mmr-urls", type="string", metavar="LDAPSERVER", > help="List of LDAP-URLS [ ldap://<FQHN>:<PORT>/ (where <PORT> has to be different than 389!) ] separated with comma (\",\") for use with OpenLDAP-MMR (Multi-Master-Replication), e.g.: \"ldap://s4dc1:9000,ldap://s4dc2:9000\""), > Option("--use-xattrs", type="choice", choices=["yes", "no", "auto"], help="Define if we should use the native fs capabilities or a tdb file for storing attributes likes ntacl, auto tries to make an inteligent guess based on the user rights and system capabilities", default="auto"), >- Option("--use-ntvfs", action="store_true", help="Use NTVFS for the fileserver (default = no)"), >+ > Option("--use-rfc2307", action="store_true", help="Use AD to store posix attributes (default = no)"), > ] > >@@ -239,9 +239,16 @@ class cmd_domain_provision(Command): > Option("--ldap-backend-nosync", help="Configure LDAP backend not to call fsync() (for performance in test environments)", action="store_true"), > ] > >+ ntvfs_options = [ >+ Option("--use-ntvfs", action="store_true", help="Use NTVFS for the fileserver (default = no)"), >+ ] >+ > if os.getenv('TEST_LDAP', "no") == "yes": > takes_options.extend(openldap_options) > >+ if samba.is_ntvfs_fileserver_built(): >+ takes_options.extend(ntvfs_options) >+ > takes_args = [] > > def run(self, sambaopts=None, versionopts=None, >@@ -490,8 +497,6 @@ class cmd_domain_dcpromo(Command): > action="store_true"), > Option("--machinepass", type=str, metavar="PASSWORD", > help="choose machine password (otherwise random)"), >- Option("--use-ntvfs", help="Use NTVFS for the fileserver (default = no)", >- action="store_true"), > Option("--dns-backend", type="choice", metavar="NAMESERVER-BACKEND", > choices=["SAMBA_INTERNAL", "BIND9_DLZ", "NONE"], > help="The DNS server backend. SAMBA_INTERNAL is the builtin name server (default), " >@@ -502,6 +507,14 @@ class cmd_domain_dcpromo(Command): > Option("--verbose", help="Be verbose", action="store_true") > ] > >+ ntvfs_options = [ >+ Option("--use-ntvfs", action="store_true", help="Use NTVFS for the fileserver (default = no)"), >+ ] >+ >+ if samba.is_ntvfs_fileserver_built(): >+ takes_options.extend(ntvfs_options) >+ >+ > takes_args = ["domain", "role?"] > > def run(self, domain, role=None, sambaopts=None, credopts=None, >@@ -569,8 +582,6 @@ class cmd_domain_join(Command): > help="choose machine password (otherwise random)"), > Option("--adminpass", type="string", metavar="PASSWORD", > help="choose adminstrator password when joining as a subdomain (otherwise random)"), >- Option("--use-ntvfs", help="Use NTVFS for the fileserver (default = no)", >- action="store_true"), > Option("--dns-backend", type="choice", metavar="NAMESERVER-BACKEND", > choices=["SAMBA_INTERNAL", "BIND9_DLZ", "NONE"], > help="The DNS server backend. SAMBA_INTERNAL is the builtin name server (default), " >@@ -581,6 +592,13 @@ class cmd_domain_join(Command): > Option("--verbose", help="Be verbose", action="store_true") > ] > >+ ntvfs_options = [ >+ Option("--use-ntvfs", help="Use NTVFS for the fileserver (default = no)", >+ action="store_true") >+ ] >+ if samba.is_ntvfs_fileserver_built(): >+ takes_options.extend(ntvfs_options) >+ > takes_args = ["domain", "role?"] > > def run(self, domain, role=None, sambaopts=None, credopts=None, >@@ -1358,8 +1376,6 @@ class cmd_domain_classicupgrade(Command): > Option("--verbose", help="Be verbose", action="store_true"), > Option("--use-xattrs", type="choice", choices=["yes","no","auto"], metavar="[yes|no|auto]", > help="Define if we should use the native fs capabilities or a tdb file for storing attributes likes ntacl, auto tries to make an inteligent guess based on the user rights and system capabilities", default="auto"), >- Option("--use-ntvfs", help="Use NTVFS for the fileserver (default = no)", >- action="store_true"), > Option("--dns-backend", type="choice", metavar="NAMESERVER-BACKEND", > choices=["SAMBA_INTERNAL", "BIND9_FLATFILE", "BIND9_DLZ", "NONE"], > help="The DNS server backend. SAMBA_INTERNAL is the builtin name server (default), " >@@ -1369,6 +1385,13 @@ class cmd_domain_classicupgrade(Command): > default="SAMBA_INTERNAL") > ] > >+ ntvfs_options = [ >+ Option("--use-ntvfs", help="Use NTVFS for the fileserver (default = no)", >+ action="store_true") >+ ] >+ if samba.is_ntvfs_fileserver_built(): >+ takes_options.extend(ntvfs_options) >+ > takes_args = ["smbconf"] > > def run(self, smbconf=None, targetdir=None, dbdir=None, testparm=None, >diff --git a/source4/smb_server/smb/wscript_build b/source4/smb_server/smb/wscript_build >index a17de06..3e3df21 100644 >--- a/source4/smb_server/smb/wscript_build >+++ b/source4/smb_server/smb/wscript_build >@@ -5,6 +5,6 @@ bld.SAMBA_SUBSYSTEM('SMB_PROTOCOL', > autoproto='smb_proto.h', > deps='dfs_server_ad', > public_deps='ntvfs LIBPACKET samba-credentials samba_server_gensec', >- enabled=bld.AD_DC_BUILD_IS_ENABLED() >+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER') > ) > >diff --git a/source4/smb_server/smb2/wscript_build b/source4/smb_server/smb2/wscript_build >index 18a2b29..7866ee9 100644 >--- a/source4/smb_server/smb2/wscript_build >+++ b/source4/smb_server/smb2/wscript_build >@@ -4,6 +4,6 @@ bld.SAMBA_SUBSYSTEM('SMB2_PROTOCOL', > source='receive.c negprot.c sesssetup.c tcon.c fileio.c fileinfo.c find.c keepalive.c', > autoproto='smb2_proto.h', > public_deps='ntvfs LIBPACKET LIBCLI_SMB2 samba_server_gensec NDR_DFSBLOBS', >- enabled=bld.AD_DC_BUILD_IS_ENABLED() >+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER') > ) > >diff --git a/source4/smb_server/wscript_build b/source4/smb_server/wscript_build >index e0e1888..5860340 100644 >--- a/source4/smb_server/wscript_build >+++ b/source4/smb_server/wscript_build >@@ -7,14 +7,14 @@ bld.SAMBA_MODULE('service_smb', > init_function='server_service_smb_init', > deps='SMB_SERVER netif shares samba-hostconfig POPT_SAMBA', > internal_module=False, >- enabled=bld.AD_DC_BUILD_IS_ENABLED() >+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER') > ) > > bld.SAMBA_SUBSYSTEM('SMB_SERVER', > source='handle.c tcon.c session.c blob.c management.c smb_server.c', > autoproto='smb_server_proto.h', > public_deps='share LIBPACKET SMB_PROTOCOL SMB2_PROTOCOL', >- enabled=bld.AD_DC_BUILD_IS_ENABLED() >+ enabled=bld.CONFIG_SET('WITH_NTVFS_FILESERVER') > ) > > bld.RECURSE('smb') >diff --git a/source4/torture/rpc/rpc.c b/source4/torture/rpc/rpc.c >index e70fac52..aa16242 100644 >--- a/source4/torture/rpc/rpc.c >+++ b/source4/torture/rpc/rpc.c >@@ -489,7 +489,7 @@ NTSTATUS torture_rpc_init(void) > torture_suite_add_suite(suite, torture_rpc_object_uuid(suite)); > torture_suite_add_suite(suite, torture_rpc_winreg(suite)); > torture_suite_add_suite(suite, torture_rpc_spoolss(suite)); >-#ifdef AD_DC_BUILD_IS_ENABLED >+#ifdef WITH_NTVFS_FILESERVER > torture_suite_add_suite(suite, torture_rpc_spoolss_notify(suite)); > #endif > torture_suite_add_suite(suite, torture_rpc_spoolss_win(suite)); >diff --git a/source4/torture/wscript_build b/source4/torture/wscript_build >index 9231bba..1b443b7 100755 >--- a/source4/torture/wscript_build >+++ b/source4/torture/wscript_build >@@ -32,11 +32,13 @@ bld.RECURSE('winbind') > bld.RECURSE('libnetapi') > bld.RECURSE('libsmbclient') > >-heimdal_specific = dict(source='', deps='') >+ntvfs_specific = dict(source='', deps='') > >-if bld.CONFIG_SET('AD_DC_BUILD_IS_ENABLED'): >- heimdal_specific['source'] += ' rpc/spoolss_notify.c' >- heimdal_specific['deps'] += ' SMB_SERVER dcerpc_server ntvfs' >+# Yes, the spoolss_notify test uses the NTVFS file server to run the SMB server expected >+# to handle the RPC callback! >+if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'): >+ ntvfs_specific['source'] += ' rpc/spoolss_notify.c' >+ ntvfs_specific['deps'] += ' SMB_SERVER dcerpc_server ntvfs' > > bld.SAMBA_SUBSYSTEM('TORTURE_NDR', > source='ndr/ndr.c ndr/winreg.c ndr/atsvc.c ndr/lsa.c ndr/epmap.c ndr/dfs.c ndr/netlogon.c ndr/drsuapi.c ndr/spoolss.c ndr/ntprinting.c ndr/samr.c ndr/dfsblob.c ndr/drsblobs.c ndr/nbt.c ndr/ntlmssp.c ndr/string.c ndr/backupkey.c ndr/witness.c', >@@ -100,7 +102,7 @@ bld.SAMBA_MODULE('torture_rpc', > rpc/clusapi.c > rpc/witness.c > rpc/backupkey.c >- ''' + heimdal_specific['source'], >+ ''' + ntvfs_specific['source'], > autoproto='rpc/proto.h', > subsystem='smbtorture', > init_function='torture_rpc_init', >@@ -146,7 +148,7 @@ bld.SAMBA_MODULE('torture_rpc', > RPC_NDR_CLUSAPI > RPC_NDR_WITNESS > RPC_NDR_BACKUPKEY >- ''' + heimdal_specific['deps'], >+ ''' + ntvfs_specific['deps'], > internal_module=True) > > bld.RECURSE('drs') >diff --git a/wscript b/wscript >index 9431e11..981f044 100644 >--- a/wscript >+++ b/wscript >@@ -53,6 +53,14 @@ def set_options(opt): > help='disable AD DC functionality (enables Samba 4 client and Samba 3 code base).', > action='store_true', dest='without_ad_dc', default=False) > >+ opt.add_option('--with-ntvfs-fileserver', >+ help='enable the depricated NTVFS file server from the original Samba4 branch (default if --enable-selftest specicifed). Conflicts with --with-system-mitkrb5 and --without-ad-dc', >+ action='store_true', dest='with_ntvfs_fileserver') >+ >+ opt.add_option('--without-ntvfs-fileserver', >+ help='disable the depricated NTVFS file server from the original Samba4 branch', >+ action='store_false', dest='with_ntvfs_fileserver') >+ > opt.add_option('--with-pie', > help=("Build Position Independent Executables " + > "(default if supported by compiler)"), >@@ -132,6 +140,7 @@ def configure(conf): > conf.PROCESS_SEPARATE_RULE('system_mitkrb5') > if not (Options.options.without_ad_dc or Options.options.with_system_mitkrb5): > conf.DEFINE('AD_DC_BUILD_IS_ENABLED', 1) >+ > # Only process heimdal_build for non-MIT KRB5 builds > # When MIT KRB5 checks are done as above, conf.env.KRB5_VENDOR will be set > # to the lowcased output of 'krb5-config --vendor'. >@@ -154,6 +163,19 @@ def configure(conf): > conf.RECURSE('lib/resolv_wrapper') > conf.RECURSE('lib/socket_wrapper') > conf.RECURSE('lib/uid_wrapper') >+ if Options.options.with_ntvfs_fileserver != False: >+ if not (Options.options.without_ad_dc or Options.options.with_system_mitkrb5): >+ conf.DEFINE('WITH_NTVFS_FILESERVER', 1) >+ if Options.options.with_ntvfs_fileserver == False: >+ if not (Options.options.without_ad_dc or Options.options.with_system_mitkrb5): >+ raise Utils.WafError('--without-ntvfs-fileserver conflicts with --enable-selftest while building the AD DC') >+ >+ if Options.options.with_ntvfs_fileserver == True: >+ if Options.options.without_ad_dc: >+ raise Utils.WafError('--with-ntvfs-fileserver conflicts with --without-ad-dc') >+ if Options.options.with_system_mitkrb5: >+ raise Utils.WafError('--with-ntvfs-fileserver conflicts with --with-system-mitkrb5') >+ conf.DEFINE('WITH_NTVFS_FILESERVER', 1) > conf.RECURSE('source3') > conf.RECURSE('lib/texpect') > if conf.env.with_ctdb: >-- >2.5.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
asn
:
review+
abartlet
:
review-
Actions:
View
Attachments on
bug 11991
:
12202
|
12203
| 12206 |
12265