[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Dec 8 12:27:03 UTC 2016


The branch, master has been updated
       via  50dff7e pidl: Make dcesrv\_$name\_interface "static const"
       via  0e2f03f s4-rpc_server: Avoid extern reference to dcesrv_mgmt_interface and memcpy()
      from  52fad16 s3: torture: Regression test case for permissions check on rename.

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 50dff7e094d48793b432992a28571a6f7e5cc73c
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Nov 21 11:21:50 2016 +1300

    pidl: Make dcesrv\_$name\_interface "static const"
    
    This moves it out of the global namespace
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Thu Dec  8 13:25:57 CET 2016 on sn-devel-144

commit 0e2f03f9bd1cf91aa09e528d1a02c88262fdb2a9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Nov 21 11:31:27 2016 +1300

    s4-rpc_server: Avoid extern reference to dcesrv_mgmt_interface and memcpy()
    
    Use a typesafe struct-returning function instead
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

-----------------------------------------------------------------------

Summary of changes:
 pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm | 2 +-
 source4/rpc_server/dcerpc_server.c       | 5 +----
 source4/rpc_server/dcesrv_mgmt.c         | 6 ++++++
 3 files changed, 8 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm
index 7077864..7ca18a8 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Server.pm
@@ -192,7 +192,7 @@ static NTSTATUS $name\__op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_C
 	return NT_STATUS_OK;
 }
 
-const struct dcesrv_interface dcesrv\_$name\_interface = {
+static const struct dcesrv_interface dcesrv\_$name\_interface = {
 	.name		= \"$name\",
 	.syntax_id  = {".print_uuid($uuid).",$if_version},
 	.bind		= $name\__op_bind,
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c
index 862127b..072e352 100644
--- a/source4/rpc_server/dcerpc_server.c
+++ b/source4/rpc_server/dcerpc_server.c
@@ -42,8 +42,6 @@
 #include "lib/util/samba_modules.h"
 #include "librpc/gen_ndr/ndr_dcerpc.h"
 
-extern const struct dcesrv_interface dcesrv_mgmt_interface;
-
 static NTSTATUS dcesrv_negotiate_contexts(struct dcesrv_call_state *call,
 				const struct dcerpc_bind *b,
 				struct dcerpc_ack_ctx *ack_ctx_list);
@@ -283,8 +281,7 @@ _PUBLIC_ NTSTATUS dcesrv_interface_register(struct dcesrv_context *dce_ctx,
 			return NT_STATUS_NO_MEMORY;
 		}
 
-		memcpy(&(ifl->iface), &dcesrv_mgmt_interface, 
-			   sizeof(struct dcesrv_interface));
+		ifl->iface = dcesrv_get_mgmt_interface();
 
 		DLIST_ADD(ep->interface_list, ifl);
 	}
diff --git a/source4/rpc_server/dcesrv_mgmt.c b/source4/rpc_server/dcesrv_mgmt.c
index 4d3428d..577f0fb 100644
--- a/source4/rpc_server/dcesrv_mgmt.c
+++ b/source4/rpc_server/dcesrv_mgmt.c
@@ -21,6 +21,7 @@
 
 #include "includes.h"
 #include "rpc_server/dcerpc_server.h"
+#include "rpc_server/dcerpc_server_proto.h"
 #include "librpc/gen_ndr/ndr_mgmt.h"
 
 #define DCESRV_INTERFACE_MGMT_BIND(call, iface) \
@@ -107,3 +108,8 @@ static WERROR dcesrv_mgmt_inq_princ_name(struct dcesrv_call_state *dce_call, TAL
 
 /* include the generated boilerplate */
 #include "librpc/gen_ndr/ndr_mgmt_s.c"
+
+const struct dcesrv_interface dcesrv_get_mgmt_interface(void)
+{
+	return dcesrv_mgmt_interface;
+}


-- 
Samba Shared Repository



More information about the samba-cvs mailing list