[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Tue May 18 09:20:01 MDT 2010


The branch, master has been updated
       via  864a95f... s3:winbind use no_srv_register to avoid needing rpc_srv_register
       via  f5f184a... pidl: Allow new property 'no_srv_register'.
      from  0953087... s3-spoolss: Added EN ISO 216, A0 and A1 to builtin forms.

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


- Log -----------------------------------------------------------------
commit 864a95fd9c2dc74f2612478e7b7784c9abc37257
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu May 13 07:57:27 2010 +1000

    s3:winbind use no_srv_register to avoid needing rpc_srv_register
    
    This pidl attribute avoids the need for this dummy function, which
    helps s3compat.
    
    Andrew Bartlett
    
    Signed-off-by: Günther Deschner <gd at samba.org>

commit f5f184a77cfe83498d6e55f10fdf79ca37229696
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu May 13 07:53:07 2010 +1000

    pidl: Allow new property 'no_srv_register'.
    
    This Samba-only property prevents pild from emitting the
    rpc_wbint_init function, which causes problems because it needs
    rpc_srv_register().
    
    Andrew Bartlett
    
    Signed-off-by: Günther Deschner <gd at samba.org>

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

Summary of changes:
 pidl/lib/Parse/Pidl/Compat.pm           |    1 +
 pidl/lib/Parse/Pidl/NDR.pm              |    3 ++-
 pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm |   13 +++++++------
 source3/librpc/idl/wbint.idl            |    3 ++-
 source3/winbindd/winbindd_dual_ndr.c    |   10 ----------
 5 files changed, 12 insertions(+), 18 deletions(-)


Changeset truncated at 500 lines:

diff --git a/pidl/lib/Parse/Pidl/Compat.pm b/pidl/lib/Parse/Pidl/Compat.pm
index 66f3c5f..b8abcb8 100644
--- a/pidl/lib/Parse/Pidl/Compat.pm
+++ b/pidl/lib/Parse/Pidl/Compat.pm
@@ -19,6 +19,7 @@ my %supported_properties = (
 	"uuid"			=> ["INTERFACE"],
 	"endpoint"		=> ["INTERFACE"],
 	"pointer_default"	=> ["INTERFACE"],
+	"no_srv_register"	=> ["INTERFACE"],
 
 	# dcom
 	"object"		=> ["INTERFACE"],
diff --git a/pidl/lib/Parse/Pidl/NDR.pm b/pidl/lib/Parse/Pidl/NDR.pm
index 3d91f3a..a875ec8 100644
--- a/pidl/lib/Parse/Pidl/NDR.pm
+++ b/pidl/lib/Parse/Pidl/NDR.pm
@@ -882,7 +882,8 @@ my %property_list = (
 	"helper"		=> ["INTERFACE"],
 	"pyhelper"		=> ["INTERFACE"],
 	"authservice"		=> ["INTERFACE"],
-	"restricted"	=> ["INTERFACE"],
+	"restricted"	        => ["INTERFACE"],
+        "no_srv_register"       => ["INTERFACE"],
 
 	# dcom
 	"object"		=> ["INTERFACE"],
diff --git a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
index 23a8736..f4dbe18 100644
--- a/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
+++ b/pidl/lib/Parse/Pidl/Samba3/ServerNDR.pm
@@ -313,12 +313,13 @@ sub ParseInterface($)
 
 	ParseDispatchFunction($if);
 
-	pidl_hdr "NTSTATUS rpc_$if->{NAME}_init(void);";
-	pidl "NTSTATUS rpc_$if->{NAME}_init(void)";
-	pidl "{";
-	pidl "\treturn rpc_srv_register(SMB_RPC_INTERFACE_VERSION, \"$if->{NAME}\", \"$if->{NAME}\", \&ndr_table_$if->{NAME}, api_$if->{NAME}_cmds, sizeof(api_$if->{NAME}_cmds) / sizeof(struct api_struct));";
-	pidl "}";
-
+	if (not has_property($if, "no_srv_register")) {
+	    pidl_hdr "NTSTATUS rpc_$if->{NAME}_init(void);";
+	    pidl "NTSTATUS rpc_$if->{NAME}_init(void)";
+	    pidl "{";
+	    pidl "\treturn rpc_srv_register(SMB_RPC_INTERFACE_VERSION, \"$if->{NAME}\", \"$if->{NAME}\", \&ndr_table_$if->{NAME}, api_$if->{NAME}_cmds, sizeof(api_$if->{NAME}_cmds) / sizeof(struct api_struct));";
+	    pidl "}";
+	}
 	pidl_hdr "#endif /* __SRV_$uif\__ */";
 }
 
diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl
index 432d59e..2fd3e88 100644
--- a/source3/librpc/idl/wbint.idl
+++ b/source3/librpc/idl/wbint.idl
@@ -6,7 +6,8 @@ import "lsa.idl", "netlogon.idl";
     endpoint("ncalrpc:"),
     pointer_default(unique),
     version(1.0),
-    helpstring("winbind parent-child protocol")
+    helpstring("winbind parent-child protocol"),
+    no_srv_register
 ]
 interface wbint
 {
diff --git a/source3/winbindd/winbindd_dual_ndr.c b/source3/winbindd/winbindd_dual_ndr.c
index bc85d53..e100405 100644
--- a/source3/winbindd/winbindd_dual_ndr.c
+++ b/source3/winbindd/winbindd_dual_ndr.c
@@ -284,13 +284,3 @@ enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain,
 	}
 	return WINBINDD_OK;
 }
-
-/*
- * Just a dummy to make srv_wbint.c happy
- */
-NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv,
-			  const struct ndr_interface_table *iface,
-			  const struct api_struct *cmds, int size)
-{
-	return NT_STATUS_OK;
-}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list