Author: metze
Date: 2005-01-11 14:32:15 +0000 (Tue, 11 Jan 2005)
New Revision: 4684

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4684

Log:
the smbsrv code should not know about rpc stuff
just vfs_ipc

metze

Modified:
   branches/SAMBA_4_0/source/ntvfs/ipc/vfs_ipc.c
   branches/SAMBA_4_0/source/smb_server/smb_server.c
   branches/SAMBA_4_0/source/smb_server/smb_server.h


Changeset:
Modified: branches/SAMBA_4_0/source/ntvfs/ipc/vfs_ipc.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/ipc/vfs_ipc.c       2005-01-11 14:29:26 UTC 
(rev 4683)
+++ branches/SAMBA_4_0/source/ntvfs/ipc/vfs_ipc.c       2005-01-11 14:32:15 UTC 
(rev 4684)
@@ -38,6 +38,8 @@
 struct ipc_private {
        struct idr_context *idtree_fnum;
 
+       struct dcesrv_context *dcesrv;
+
        /* a list of open pipes */
        struct pipe_state {
                struct pipe_state *next, *prev;
@@ -73,6 +75,7 @@
 static NTSTATUS ipc_connect(struct ntvfs_module_context *ntvfs,
                            struct smbsrv_request *req, const char *sharename)
 {
+       NTSTATUS status;
        struct smbsrv_tcon *tcon = req->tcon;
        struct ipc_private *private;
 
@@ -80,19 +83,20 @@
        tcon->dev_type = talloc_strdup(tcon, "IPC");
 
        /* prepare the private state for this connection */
-       private = talloc_p(tcon, struct ipc_private);
-       if (!private) {
-               return NT_STATUS_NO_MEMORY;
-       }
+       private = talloc(tcon, struct ipc_private);
+       NT_STATUS_HAVE_NO_MEMORY(private);
+
        ntvfs->private_data = private;
 
        private->pipe_list = NULL;
 
        private->idtree_fnum = idr_init(private);
-       if (private->idtree_fnum == NULL) {
-               return NT_STATUS_NO_MEMORY;
-       }
+       NT_STATUS_HAVE_NO_MEMORY(private->idtree_fnum);
 
+       /* setup the DCERPC server subsystem */
+       status = dcesrv_init_context(private, &private->dcesrv);
+       NT_STATUS_NOT_OK_RETURN(status);
+
        return NT_STATUS_OK;
 }
 
@@ -226,7 +230,7 @@
                session_info = req->session->session_info;
        }
 
-       status = dcesrv_endpoint_search_connect(req->smb_conn->dcesrv, 
+       status = dcesrv_endpoint_search_connect(private->dcesrv, 
                                                &ep_description, 
                                                session_info,
                                                &p->dce_conn);

Modified: branches/SAMBA_4_0/source/smb_server/smb_server.c
===================================================================
--- branches/SAMBA_4_0/source/smb_server/smb_server.c   2005-01-11 14:29:26 UTC 
(rev 4683)
+++ branches/SAMBA_4_0/source/smb_server/smb_server.c   2005-01-11 14:32:15 UTC 
(rev 4684)
@@ -852,9 +852,6 @@
 
        conn->private_data = smb_conn;
 
-       /* setup the DCERPC server subsystem */
-       dcesrv_init_context(smb_conn, &smb_conn->dcesrv);
-
        return;
 }
 

Modified: branches/SAMBA_4_0/source/smb_server/smb_server.h
===================================================================
--- branches/SAMBA_4_0/source/smb_server/smb_server.h   2005-01-11 14:29:26 UTC 
(rev 4683)
+++ branches/SAMBA_4_0/source/smb_server/smb_server.h   2005-01-11 14:32:15 UTC 
(rev 4684)
@@ -268,8 +268,6 @@
 
        struct substitute_context substitute;
 
-       struct dcesrv_context *dcesrv;
-
        /* the pid of the process handling this session */
        pid_t pid;
        

Reply via email to