[SCM] Samba Shared Repository - branch master updated

[email protected] (Stefan Metzmacher)
Newsgroups gmane.network.samba.cvs
Message-ID <[email protected]>
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 <[email protected]>
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 <[email protected]>
    Reviewed-by: Stefan Metzmacher <[email protected]>
    
    Autobuild-User(master): Stefan Metzmacher <[email protected]>
    Autobuild-Date(master): Thu Dec  8 13:25:57 CET 2016 on sn-devel-144

commit 0e2f03f9bd1cf91aa09e528d1a02c88262fdb2a9
Author: Andrew Bartlett <[email protected]>
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 <[email protected]>
    Reviewed-by: Stefan Metzmacher <[email protected]>

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

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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.