[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Mon May 2 08:06:03 MDT 2011


The branch, master has been updated
       via  56cd3b3 s3-rpc_server: (re)move last globally included rpc_server prototypes.
       via  1a561de s3-spoolss: remove another unused header.
       via  0e76edd s3: include ntdomain.h before including generated srv_ headers.
       via  911cdc5 s3-rpc_server: add pipes_struct forward declaration.
       via  233779c s3-winbindd: remove unused headers.
       via  0bb4701 s3: remove various references to server side dcerpc structs (which are not needed).
       via  80fa624 s3: move pipe_auth_data to dcerpc.h
       via  f7d6a0a s3-printing: include ../librpc/ndr/libndr.h  in ads printing.
       via  61cd106 s3-smbd: avoid using pipes_struct when only session_info is needed.
       via  cd5b2b2 s3-printing: avoid using pipes_struct when only session_info is needed.
       via  89ceb48 libcli/named_pipe_auth: add forward declaration in npa_tstream.h.
       via  daa02f3 s3-proto: move remaining srvsvc protos to own header file.
       via  c233c21 s3-proto: move remaining spoolss protos to own header file.
       via  047d8c0 s3-proto: move more rpc_server prototypes out of proto.h
       via  c6fe379 s3-rpc_server: remove proto of nonexisting function (rpc_pipe_register_commands).
       via  c1f3ff7 s3-util: move valid_share_pathname() to lib/util.c
       via  49d5f62 s3-proto: move rpc_srv_register protos and structs to town headerfile.
      from  6dd97ac s4:libcli/util/nterr: NO_S4U_PROT_SUPPORT and CROSSREALM_DELEGATION_FAILURE

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


- Log -----------------------------------------------------------------
commit 56cd3b3bbbb595cb0c98fa2dfa397c915fbf37d2
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 13:27:45 2011 +0200

    s3-rpc_server: (re)move last globally included rpc_server prototypes.
    
    Guenther
    
    Autobuild-User: Günther Deschner <gd at samba.org>
    Autobuild-Date: Mon May  2 16:05:31 CEST 2011 on sn-devel-104

commit 1a561dedb9995f52411d2fed2c6e0cc1e37a85d1
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 13:25:19 2011 +0200

    s3-spoolss: remove another unused header.
    
    Guenther

commit 0e76eddcc8a4e7e98167b8f92387fae015fae095
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 13:21:53 2011 +0200

    s3: include ntdomain.h before including generated srv_ headers.
    
    Guenther

commit 911cdc56c146014058063b872372ff8096c06065
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 13:19:51 2011 +0200

    s3-rpc_server: add pipes_struct forward declaration.
    
    Guenther

commit 233779cce4f47799d5912f362faadcd564bbf096
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 13:18:39 2011 +0200

    s3-winbindd: remove unused headers.
    
    Guenther

commit 0bb4701a747599042242b0612bc392a6e6d777af
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 12:36:55 2011 +0200

    s3: remove various references to server side dcerpc structs (which are not needed).
    
    Guenther

commit 80fa624861e6f45c4b6837969253d5fbac2f3b1e
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 2 12:36:25 2011 +0200

    s3: move pipe_auth_data to dcerpc.h
    
    Guenther

commit f7d6a0a1121c355a87dd113d2cb2a4985cdc06ce
Author: Günther Deschner <gd at samba.org>
Date:   Sat Apr 30 00:40:28 2011 +0200

    s3-printing: include ../librpc/ndr/libndr.h  in ads printing.
    
    Guenther

commit 61cd1067efacd91e22b4acbdf0d1d92dc2efc162
Author: Günther Deschner <gd at samba.org>
Date:   Sat Apr 30 00:37:05 2011 +0200

    s3-smbd: avoid using pipes_struct when only session_info is needed.
    
    Guenther

commit cd5b2b242b39437081592d41d297bce0668b40ab
Author: Günther Deschner <gd at samba.org>
Date:   Sat Apr 30 00:09:09 2011 +0200

    s3-printing: avoid using pipes_struct when only session_info is needed.
    
    Guenther

commit 89ceb489784358f9476bb6be0ad3ab9ea4d1b9c2
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 23:58:18 2011 +0200

    libcli/named_pipe_auth: add forward declaration in npa_tstream.h.
    
    Guenther

commit daa02f34b181a3ec7224e920f787cc677bc3cdf2
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 23:57:49 2011 +0200

    s3-proto: move remaining srvsvc protos to own header file.
    
    Guenther

commit c233c21425a183dd1124329fdbca13ab92cc6d6a
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 23:47:25 2011 +0200

    s3-proto: move remaining spoolss protos to own header file.
    
    Guenther

commit 047d8c073b57bc12648a251deaceedb65f4f59cf
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 23:32:28 2011 +0200

    s3-proto: move more rpc_server prototypes out of proto.h
    
    Guenther

commit c6fe379a4637dd1d5db34cbe4f566d3913b21fd2
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 22:43:59 2011 +0200

    s3-rpc_server: remove proto of nonexisting function
    (rpc_pipe_register_commands).
    
    Guenther

commit c1f3ff734043082a9488c787324e76a37702f94d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 22:34:56 2011 +0200

    s3-util: move valid_share_pathname() to lib/util.c
    
    Guenther

commit 49d5f62b42d821bb8a11b595efb53eb88ec3c570
Author: Günther Deschner <gd at samba.org>
Date:   Fri Apr 29 22:32:12 2011 +0200

    s3-proto: move rpc_srv_register protos and structs to town headerfile.
    
    Guenther

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

Summary of changes:
 libcli/named_pipe_auth/npa_tstream.h               |    1 +
 source3/include/nt_printing.h                      |    6 +-
 source3/include/ntdomain.h                         |   15 +----
 source3/include/proto.h                            |   74 +-------------------
 source3/lib/util.c                                 |   34 +++++++++
 source3/librpc/rpc/dcerpc.h                        |   15 ++++-
 source3/librpc/rpc/dcerpc_helpers.c                |    1 -
 source3/printing/nt_printing.c                     |   24 +++---
 source3/printing/nt_printing_ads.c                 |    1 +
 source3/printing/spoolssd.c                        |    3 +
 source3/rpc_client/cli_pipe.c                      |    1 -
 source3/rpc_client/cli_spoolss.c                   |    1 -
 source3/rpc_server/dfs/srv_dfs_nt.c                |    2 +-
 source3/rpc_server/dssetup/srv_dssetup_nt.c        |    2 +-
 source3/rpc_server/echo/srv_echo_nt.c              |    2 +-
 source3/rpc_server/epmapper/srv_epmapper.c         |    2 +-
 source3/rpc_server/epmd.c                          |    2 +
 source3/rpc_server/eventlog/srv_eventlog_nt.c      |    2 +-
 .../rpc_server/initshutdown/srv_initshutdown_nt.c  |    2 +-
 source3/rpc_server/lsa/srv_lsa_nt.c                |    2 +-
 source3/rpc_server/netlogon/srv_netlog_nt.c        |    2 +-
 source3/rpc_server/ntsvcs/srv_ntsvcs_nt.c          |    2 +-
 source3/rpc_server/rpc_ep_setup.c                  |    4 +
 source3/rpc_server/rpc_ep_setup.h                  |    2 +
 source3/rpc_server/rpc_ncacn_np.h                  |    2 +
 source3/rpc_server/rpc_server.c                    |    4 +-
 source3/rpc_server/rpc_server.h                    |    2 +
 source3/rpc_server/samr/srv_samr_nt.c              |    2 +-
 source3/rpc_server/spoolss/srv_spoolss_nt.c        |    7 +-
 source3/rpc_server/spoolss/srv_spoolss_nt.h        |   40 +++++++++++
 source3/rpc_server/spoolss/srv_spoolss_util.c      |    1 -
 source3/rpc_server/srv_pipe.c                      |    3 +-
 .../srv_pipe.h}                                    |   19 ++++--
 source3/rpc_server/srv_pipe_hnd.c                  |    4 +-
 source3/rpc_server/srv_pipe_hnd.h                  |   51 ++++++++++++++
 source3/rpc_server/srv_pipe_register.c             |    3 +-
 .../{srv_pipe_internal.h => srv_pipe_register.h}   |   33 ++++-----
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c          |   35 +---------
 source3/rpc_server/svcctl/srv_svcctl_nt.c          |    3 +-
 .../svcctl/srv_svcctl_nt.h}                        |   17 +++--
 source3/rpc_server/winreg/srv_winreg_nt.c          |    2 +-
 source3/rpc_server/wkssvc/srv_wkssvc_nt.c          |    2 +-
 source3/rpcclient/rpcclient.c                      |    1 -
 source3/smbd/ipc.c                                 |    1 +
 source3/smbd/pipes.c                               |    1 +
 source3/smbd/process.c                             |    1 +
 source3/smbd/proto.h                               |    2 +-
 source3/smbd/server_exit.c                         |    2 +-
 source3/smbd/smb2_ioctl.c                          |    1 +
 source3/smbd/smb2_read.c                           |    1 +
 source3/smbd/smb2_write.c                          |    1 +
 source3/smbd/trans2.c                              |    1 +
 source3/smbd/uid.c                                 |    9 +--
 source3/utils/net_rpc_printer.c                    |    1 -
 source3/winbindd/winbindd.c                        |    1 +
 source3/winbindd/winbindd_cm.c                     |    1 -
 source3/winbindd/winbindd_dual.c                   |    1 -
 source3/winbindd/winbindd_dual_ndr.c               |    2 +-
 source3/winbindd/winbindd_dual_srv.c               |    2 +-
 source3/winbindd/winbindd_pam.c                    |    1 -
 source3/winbindd/winbindd_rpc.c                    |    3 -
 source3/winbindd/winbindd_samr.c                   |    3 -
 62 files changed, 258 insertions(+), 210 deletions(-)
 create mode 100644 source3/rpc_server/spoolss/srv_spoolss_nt.h
 copy source3/{printing/nt_printing_migrate.h => rpc_server/srv_pipe.h} (57%)
 create mode 100644 source3/rpc_server/srv_pipe_hnd.h
 copy source3/rpc_server/{srv_pipe_internal.h => srv_pipe_register.h} (53%)
 copy source3/{printing/nt_printing_migrate.h => rpc_server/svcctl/srv_svcctl_nt.h} (59%)


Changeset truncated at 500 lines:

diff --git a/libcli/named_pipe_auth/npa_tstream.h b/libcli/named_pipe_auth/npa_tstream.h
index f222317..1d85de7 100644
--- a/libcli/named_pipe_auth/npa_tstream.h
+++ b/libcli/named_pipe_auth/npa_tstream.h
@@ -23,6 +23,7 @@
 struct tevent_req;
 struct tevent_context;
 struct auth_session_info_transport;
+struct tsocket_address;
 
 struct tevent_req *tstream_npa_connect_send(TALLOC_CTX *mem_ctx,
 					    struct tevent_context *ev,
diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h
index 02a72b3..ad6262e 100644
--- a/source3/include/nt_printing.h
+++ b/source3/include/nt_printing.h
@@ -23,7 +23,7 @@
 #define NT_PRINTING_H_
 
 #include "client.h"
-#include "../librpc/gen_ndr/srv_spoolss.h"
+#include "../librpc/gen_ndr/spoolss.h"
 
 #ifndef SAMBA_PRINTER_PORT_NAME
 #define SAMBA_PRINTER_PORT_NAME "Samba Printer Port"
@@ -169,11 +169,11 @@ bool printer_driver_files_in_use(TALLOC_CTX *mem_ctx,
 bool delete_driver_files(const struct auth_serversupplied_info *server_info,
 			 const struct spoolss_DriverInfo8 *r);
 
-WERROR move_driver_to_download_area(struct pipes_struct *p,
+WERROR move_driver_to_download_area(struct auth_serversupplied_info *session_info,
 				    struct spoolss_AddDriverInfoCtr *r);
 
 WERROR clean_up_driver_struct(TALLOC_CTX *mem_ctx,
-			      struct pipes_struct *rpc_pipe,
+			      struct auth_serversupplied_info *session_info,
 			      struct spoolss_AddDriverInfoCtr *r);
 
 void map_printer_permissions(struct security_descriptor *sd);
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 9cd00da..ed97182 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -97,20 +97,6 @@ typedef struct pipe_rpc_fns {
 
 struct gse_context;
 
-/* auth state for all bind types. */
-
-struct pipe_auth_data {
-	enum dcerpc_AuthType auth_type;
-	enum dcerpc_AuthLevel auth_level;
-
-	void *auth_ctx;
-
-	/* Only the client code uses these 3 for now */
-	char *domain;
-	char *user_name;
-	DATA_BLOB user_session_key;
-};
-
 struct dcesrv_ep_entry_list;
 
 /*
@@ -234,5 +220,6 @@ void *_policy_handle_find(struct pipes_struct *p,
 	(_type *)_policy_handle_find((_p), (_hnd), (_access_required), \
 				     (_access_granted), #_type, __location__, (_pstatus))
 
+#include "rpc_server/srv_pipe_register.h"
 
 #endif /* _NT_DOMAIN_H */
diff --git a/source3/include/proto.h b/source3/include/proto.h
index c296487..ebfa5e6 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -736,6 +736,7 @@ bool tevent_req_poll_ntstatus(struct tevent_req *req,
 			      NTSTATUS *status);
 bool any_nt_status_not_ok(NTSTATUS err1, NTSTATUS err2, NTSTATUS *result);
 int timeval_to_msec(struct timeval t);
+char *valid_share_pathname(TALLOC_CTX *ctx, const char *dos_pathname);
 
 /* The following definitions come from lib/util_cmdline.c  */
 
@@ -2620,79 +2621,6 @@ void set_server_role(void);
 uint32 get_int_param( const char* param );
 char* get_string_param( const char* param );
 
-/* The following definitions come from rpc_server/srv_rpc_register.c  */
-
-struct rpc_srv_callbacks {
-	bool (*init)(void *private_data);
-	bool (*shutdown)(void *private_data);
-	void *private_data;
-};
-
-struct api_struct;
-struct ndr_interface_table;
-struct pipes_struct;
-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,
-			  const struct rpc_srv_callbacks *rpc_srv_cb);
-
-NTSTATUS rpc_srv_unregister(const struct ndr_interface_table *iface);
-
-/* The following definitions come from rpc_server/srv_pipe.c  */
-struct ncacn_packet;
-bool create_next_pdu(struct pipes_struct *p);
-bool api_pipe_bind_auth3(struct pipes_struct *p, struct ncacn_packet *pkt);
-bool setup_fault_pdu(struct pipes_struct *p, NTSTATUS status);
-NTSTATUS rpc_pipe_register_commands(int version, const char *clnt,
-				    const char *srv,
-				    const struct ndr_syntax_id *interface,
-				    const struct api_struct *cmds, int size);
-bool is_known_pipename(const char *cli_filename, struct ndr_syntax_id *syntax);
-
-/* The following definitions come from rpc_server/srv_pipe_hnd.c  */
-
-bool fsp_is_np(struct files_struct *fsp);
-struct tsocket_address;
-NTSTATUS np_open(TALLOC_CTX *mem_ctx, const char *name,
-		 const struct tsocket_address *local_address,
-		 const struct tsocket_address *remote_address,
-		 struct client_address *client_id,
-		 struct auth_serversupplied_info *session_info,
-		 struct messaging_context *msg_ctx,
-		 struct fake_file_handle **phandle);
-bool np_read_in_progress(struct fake_file_handle *handle);
-struct tevent_req *np_write_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
-				 struct fake_file_handle *handle,
-				 const uint8_t *data, size_t len);
-NTSTATUS np_write_recv(struct tevent_req *req, ssize_t *pnwritten);
-struct tevent_req *np_read_send(TALLOC_CTX *mem_ctx, struct event_context *ev,
-				struct fake_file_handle *handle,
-				uint8_t *data, size_t len);
-NTSTATUS np_read_recv(struct tevent_req *req, ssize_t *nread,
-		      bool *is_data_outstanding);
-
-ssize_t process_incoming_data(struct pipes_struct *p, char *data, size_t n);
-
-/* The following definitions come from rpc_server/srv_spoolss_nt.c  */
-void srv_spoolss_cleanup(void);
-
-void do_drv_upgrade_printer(struct messaging_context *msg,
-			    void *private_data,
-			    uint32_t msg_type,
-			    struct server_id server_id,
-			    DATA_BLOB *data);
-void update_monitored_printq_cache(struct messaging_context *msg_ctx);
-
-/* The following definitions come from rpc_server/srv_srvsvc_nt.c  */
-
-char *valid_share_pathname(TALLOC_CTX *ctx, const char *dos_pathname);
-
-/* The following definitions come from rpc_server/srv_svcctl_nt.c  */
-
-bool init_service_op_table( void );
-bool shutdown_service_op_table(void);
-
 /* The following definitions come from lib/server_contexts.c  */
 struct tevent_context *server_event_context(void);
 void server_event_context_free(void);
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 8805197..718500a 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -2652,3 +2652,37 @@ int timeval_to_msec(struct timeval t)
 {
 	return t.tv_sec * 1000 + (t.tv_usec+999) / 1000;
 }
+
+/*******************************************************************
+ Check a given DOS pathname is valid for a share.
+********************************************************************/
+
+char *valid_share_pathname(TALLOC_CTX *ctx, const char *dos_pathname)
+{
+	char *ptr = NULL;
+
+	if (!dos_pathname) {
+		return NULL;
+	}
+
+	ptr = talloc_strdup(ctx, dos_pathname);
+	if (!ptr) {
+		return NULL;
+	}
+	/* Convert any '\' paths to '/' */
+	unix_format(ptr);
+	ptr = unix_clean_name(ctx, ptr);
+	if (!ptr) {
+		return NULL;
+	}
+
+	/* NT is braindead - it wants a C: prefix to a pathname ! So strip it. */
+	if (strlen(ptr) > 2 && ptr[1] == ':' && ptr[0] != '/')
+		ptr += 2;
+
+	/* Only absolute paths allowed. */
+	if (*ptr != '/')
+		return NULL;
+
+	return ptr;
+}
diff --git a/source3/librpc/rpc/dcerpc.h b/source3/librpc/rpc/dcerpc.h
index 05e8e0d..d7e8e0c 100644
--- a/source3/librpc/rpc/dcerpc.h
+++ b/source3/librpc/rpc/dcerpc.h
@@ -33,7 +33,20 @@
 #define SMB_RPC_INTERFACE_VERSION 1
 
 struct NL_AUTH_MESSAGE;
-struct pipe_auth_data;
+
+/* auth state for all bind types. */
+
+struct pipe_auth_data {
+	enum dcerpc_AuthType auth_type;
+	enum dcerpc_AuthLevel auth_level;
+
+	void *auth_ctx;
+
+	/* Only the client code uses these 3 for now */
+	char *domain;
+	char *user_name;
+	DATA_BLOB user_session_key;
+};
 
 /* The following definitions come from librpc/rpc/dcerpc_helpers.c  */
 NTSTATUS dcerpc_push_ncacn_packet(TALLOC_CTX *mem_ctx,
diff --git a/source3/librpc/rpc/dcerpc_helpers.c b/source3/librpc/rpc/dcerpc_helpers.c
index 7e6990c..7520d76 100644
--- a/source3/librpc/rpc/dcerpc_helpers.c
+++ b/source3/librpc/rpc/dcerpc_helpers.c
@@ -28,7 +28,6 @@
 #include "ntlmssp_wrap.h"
 #include "librpc/crypto/gse.h"
 #include "librpc/crypto/spnego.h"
-#include "ntdomain.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_PARSE
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index a7539f6..552e1ba 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -36,7 +36,7 @@
 #include "smbd/smbd.h"
 #include "auth.h"
 #include "messages.h"
-#include "ntdomain.h"
+#include "rpc_server/spoolss/srv_spoolss_nt.h"
 
 /* Map generic permissions to printer object specific permissions */
 
@@ -578,7 +578,7 @@ static int file_version_is_newer(connection_struct *conn, fstring new_file, fstr
 /****************************************************************************
 Determine the correct cVersion associated with an architecture and driver
 ****************************************************************************/
-static uint32 get_correct_cversion(struct pipes_struct *p,
+static uint32 get_correct_cversion(struct auth_serversupplied_info *session_info,
 				   const char *architecture,
 				   const char *driverpath_in,
 				   WERROR *perr)
@@ -621,7 +621,7 @@ static uint32 get_correct_cversion(struct pipes_struct *p,
 
 	nt_status = create_conn_struct(talloc_tos(), &conn, printdollar_snum,
 				       lp_pathname(printdollar_snum),
-				       p->session_info, &oldcwd);
+				       session_info, &oldcwd);
 	if (!NT_STATUS_IS_OK(nt_status)) {
 		DEBUG(0,("get_correct_cversion: create_conn_struct "
 			 "returned %s\n", nt_errstr(nt_status)));
@@ -636,7 +636,7 @@ static uint32 get_correct_cversion(struct pipes_struct *p,
 		goto error_free_conn;
 	}
 
-	if (!become_user_by_session(conn, p->session_info)) {
+	if (!become_user_by_session(conn, session_info)) {
 		DEBUG(0, ("failed to become user\n"));
 		*perr = WERR_ACCESS_DENIED;
 		goto error_free_conn;
@@ -766,7 +766,7 @@ static uint32 get_correct_cversion(struct pipes_struct *p,
 } while (0);
 
 static WERROR clean_up_driver_struct_level(TALLOC_CTX *mem_ctx,
-					   struct pipes_struct *rpc_pipe,
+					   struct auth_serversupplied_info *session_info,
 					   const char *architecture,
 					   const char **driver_path,
 					   const char **data_file,
@@ -826,7 +826,7 @@ static WERROR clean_up_driver_struct_level(TALLOC_CTX *mem_ctx,
 	 *	NT2K: cversion=3
 	 */
 
-	*version = get_correct_cversion(rpc_pipe, short_architecture,
+	*version = get_correct_cversion(session_info, short_architecture,
 					*driver_path, &err);
 	if (*version == -1) {
 		return err;
@@ -839,12 +839,12 @@ static WERROR clean_up_driver_struct_level(TALLOC_CTX *mem_ctx,
 ****************************************************************************/
 
 WERROR clean_up_driver_struct(TALLOC_CTX *mem_ctx,
-			      struct pipes_struct *rpc_pipe,
+			      struct auth_serversupplied_info *session_info,
 			      struct spoolss_AddDriverInfoCtr *r)
 {
 	switch (r->level) {
 	case 3:
-		return clean_up_driver_struct_level(mem_ctx, rpc_pipe,
+		return clean_up_driver_struct_level(mem_ctx, session_info,
 						    r->info.info3->architecture,
 						    &r->info.info3->driver_path,
 						    &r->info.info3->data_file,
@@ -853,7 +853,7 @@ WERROR clean_up_driver_struct(TALLOC_CTX *mem_ctx,
 						    r->info.info3->dependent_files,
 						    &r->info.info3->version);
 	case 6:
-		return clean_up_driver_struct_level(mem_ctx, rpc_pipe,
+		return clean_up_driver_struct_level(mem_ctx, session_info,
 						    r->info.info6->architecture,
 						    &r->info.info6->driver_path,
 						    &r->info.info6->data_file,
@@ -958,7 +958,7 @@ static WERROR move_driver_file_to_download_area(TALLOC_CTX *mem_ctx,
 	return ret;
 }
 
-WERROR move_driver_to_download_area(struct pipes_struct *p,
+WERROR move_driver_to_download_area(struct auth_serversupplied_info *session_info,
 				    struct spoolss_AddDriverInfoCtr *r)
 {
 	struct spoolss_AddDriverInfo3 *driver;
@@ -1004,7 +1004,7 @@ WERROR move_driver_to_download_area(struct pipes_struct *p,
 
 	nt_status = create_conn_struct(talloc_tos(), &conn, printdollar_snum,
 				       lp_pathname(printdollar_snum),
-				       p->session_info, &oldcwd);
+				       session_info, &oldcwd);
 	if (!NT_STATUS_IS_OK(nt_status)) {
 		DEBUG(0,("move_driver_to_download_area: create_conn_struct "
 			 "returned %s\n", nt_errstr(nt_status)));
@@ -1019,7 +1019,7 @@ WERROR move_driver_to_download_area(struct pipes_struct *p,
 		goto err_free_conn;
 	}
 
-	if (!become_user_by_session(conn, p->session_info)) {
+	if (!become_user_by_session(conn, session_info)) {
 		DEBUG(0, ("failed to become user\n"));
 		err = WERR_ACCESS_DENIED;
 		goto err_free_conn;
diff --git a/source3/printing/nt_printing_ads.c b/source3/printing/nt_printing_ads.c
index ea41471..1ab1b0e 100644
--- a/source3/printing/nt_printing_ads.c
+++ b/source3/printing/nt_printing_ads.c
@@ -28,6 +28,7 @@
 #include "krb5_env.h"
 #include "../libcli/registry/util_reg.h"
 #include "auth.h"
+#include "../librpc/ndr/libndr.h"
 
 #ifdef HAVE_ADS
 /*****************************************************************
diff --git a/source3/printing/spoolssd.c b/source3/printing/spoolssd.c
index 340bf0a..a6d8a0f 100644
--- a/source3/printing/spoolssd.c
+++ b/source3/printing/spoolssd.c
@@ -24,10 +24,13 @@
 #include "messages.h"
 #include "include/printing.h"
 #include "printing/nt_printing_migrate.h"
+#include "ntdomain.h"
 #include "librpc/gen_ndr/srv_winreg.h"
 #include "librpc/gen_ndr/srv_spoolss.h"
 #include "rpc_server/rpc_server.h"
 #include "rpc_server/rpc_ep_setup.h"
+#include "rpc_server/srv_pipe_register.h"
+#include "rpc_server/spoolss/srv_spoolss_nt.h"
 
 #define SPOOLSS_PIPE_NAME "spoolss"
 #define DAEMON_NAME "spoolssd"
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
index 758f778..05f7d44 100644
--- a/source3/rpc_client/cli_pipe.c
+++ b/source3/rpc_client/cli_pipe.c
@@ -34,7 +34,6 @@
 #include "librpc/crypto/spnego.h"
 #include "rpc_dce.h"
 #include "cli_pipe.h"
-#include "ntdomain.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_CLI
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c
index 831da85..3c15e2f 100644
--- a/source3/rpc_client/cli_spoolss.c
+++ b/source3/rpc_client/cli_spoolss.c
@@ -26,7 +26,6 @@
 #include "rpc_client/rpc_client.h"
 #include "../librpc/gen_ndr/ndr_spoolss_c.h"
 #include "rpc_client/cli_spoolss.h"
-#include "ntdomain.h"
 
 /**********************************************************************
  convencience wrapper around rpccli_spoolss_OpenPrinterEx
diff --git a/source3/rpc_server/dfs/srv_dfs_nt.c b/source3/rpc_server/dfs/srv_dfs_nt.c
index 45e9d9a..324af53 100644
--- a/source3/rpc_server/dfs/srv_dfs_nt.c
+++ b/source3/rpc_server/dfs/srv_dfs_nt.c
@@ -22,11 +22,11 @@
 /* This is the implementation of the dfs pipe. */
 
 #include "includes.h"
+#include "ntdomain.h"
 #include "../librpc/gen_ndr/srv_dfs.h"
 #include "msdfs.h"
 #include "smbd/smbd.h"
 #include "auth.h"
-#include "ntdomain.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_MSDFS
diff --git a/source3/rpc_server/dssetup/srv_dssetup_nt.c b/source3/rpc_server/dssetup/srv_dssetup_nt.c
index 73617df..d90ad42 100644
--- a/source3/rpc_server/dssetup/srv_dssetup_nt.c
+++ b/source3/rpc_server/dssetup/srv_dssetup_nt.c
@@ -23,9 +23,9 @@
  */
 
 #include "includes.h"
+#include "ntdomain.h"
 #include "../librpc/gen_ndr/srv_dssetup.h"
 #include "secrets.h"
-#include "ntdomain.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/echo/srv_echo_nt.c b/source3/rpc_server/echo/srv_echo_nt.c
index 7f27984..c7a9e1a 100644
--- a/source3/rpc_server/echo/srv_echo_nt.c
+++ b/source3/rpc_server/echo/srv_echo_nt.c
@@ -22,8 +22,8 @@
 /* This is the interface to the rpcecho pipe. */
 
 #include "includes.h"
-#include "../librpc/gen_ndr/srv_echo.h"
 #include "ntdomain.h"
+#include "../librpc/gen_ndr/srv_echo.h"
 
 #undef DBGC_CLASS
 #define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/epmapper/srv_epmapper.c b/source3/rpc_server/epmapper/srv_epmapper.c
index d96fd1e..14f42d6 100644
--- a/source3/rpc_server/epmapper/srv_epmapper.c
+++ b/source3/rpc_server/epmapper/srv_epmapper.c
@@ -20,12 +20,12 @@
 */
 
 #include "includes.h"
+#include "ntdomain.h"
 #include "../libcli/security/security.h"
 #include "librpc/gen_ndr/ndr_epmapper.h"
 #include "librpc/gen_ndr/srv_epmapper.h"
 #include "srv_epmapper.h"
 #include "auth.h"
-#include "ntdomain.h"
 
 typedef uint32_t error_status_t;
 
diff --git a/source3/rpc_server/epmd.c b/source3/rpc_server/epmd.c
index 5e82b27..04fdfb1 100644
--- a/source3/rpc_server/epmd.c
+++ b/source3/rpc_server/epmd.c
@@ -22,9 +22,11 @@
 #include "includes.h"
 
 #include "serverid.h"
+#include "ntdomain.h"
 #include "../librpc/gen_ndr/srv_epmapper.h"
 #include "rpc_server/rpc_server.h"
 #include "rpc_server/epmapper/srv_epmapper.h"
+#include "rpc_server/srv_pipe_register.h"
 #include "messages.h"
 
 #define DAEMON_NAME "epmd"
diff --git a/source3/rpc_server/eventlog/srv_eventlog_nt.c b/source3/rpc_server/eventlog/srv_eventlog_nt.c
index 2e1c1fa..c0d9499 100644
--- a/source3/rpc_server/eventlog/srv_eventlog_nt.c
+++ b/source3/rpc_server/eventlog/srv_eventlog_nt.c
@@ -21,6 +21,7 @@
  */
 
 #include "includes.h"
+#include "ntdomain.h"
 #include "../librpc/gen_ndr/srv_eventlog.h"
 #include "lib/eventlog/eventlog.h"
 #include "registry.h"
@@ -30,7 +31,6 @@
 #include "rpc_client/cli_winreg.h"


-- 
Samba Shared Repository


More information about the samba-cvs mailing list