diff options
-rw-r--r-- | source3/include/proto.h | 24 | ||||
-rw-r--r-- | source3/rpc_server/rpc_ncacn_np.h | 1 | ||||
-rw-r--r-- | source3/rpc_server/rpc_server.c | 1 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.c | 3 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.h | 50 | ||||
-rw-r--r-- | source3/smbd/ipc.c | 1 | ||||
-rw-r--r-- | source3/smbd/pipes.c | 1 | ||||
-rw-r--r-- | source3/smbd/smb2_ioctl.c | 1 | ||||
-rw-r--r-- | source3/smbd/smb2_read.c | 1 | ||||
-rw-r--r-- | source3/smbd/smb2_write.c | 1 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 1 |
11 files changed, 60 insertions, 25 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 5a4604cbf6..cec11ad7eb 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2630,30 +2630,6 @@ bool api_pipe_bind_auth3(struct pipes_struct *p, struct ncacn_packet *pkt); bool setup_fault_pdu(struct pipes_struct *p, NTSTATUS status); 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); diff --git a/source3/rpc_server/rpc_ncacn_np.h b/source3/rpc_server/rpc_ncacn_np.h index 09feaa9f4a..edebceaa43 100644 --- a/source3/rpc_server/rpc_ncacn_np.h +++ b/source3/rpc_server/rpc_ncacn_np.h @@ -22,6 +22,7 @@ struct dcerpc_binding_handle; struct ndr_interface_table; +struct tsocket_address; struct np_proxy_state { uint16_t file_type; diff --git a/source3/rpc_server/rpc_server.c b/source3/rpc_server/rpc_server.c index 17cbf6d35a..b66ce6de27 100644 --- a/source3/rpc_server/rpc_server.c +++ b/source3/rpc_server/rpc_server.c @@ -28,6 +28,7 @@ #include "auth.h" #include "ntdomain.h" #include "rpc_server/rpc_ncacn_np.h" +#include "rpc_server/srv_pipe_hnd.h" #define SERVER_TCP_LOW_PORT 1024 #define SERVER_TCP_HIGH_PORT 1300 diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index e13c562351..fa296606a9 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -23,8 +23,9 @@ #include "rpc_server.h" #include "fake_file.h" #include "rpc_dce.h" -#include "rpc_server/rpc_ncacn_np.h" #include "ntdomain.h" +#include "rpc_server/rpc_ncacn_np.h" +#include "rpc_server/srv_pipe_hnd.h" #include "../lib/tsocket/tsocket.h" #include "../lib/util/tevent_ntstatus.h" diff --git a/source3/rpc_server/srv_pipe_hnd.h b/source3/rpc_server/srv_pipe_hnd.h new file mode 100644 index 0000000000..b66d7d42ee --- /dev/null +++ b/source3/rpc_server/srv_pipe_hnd.h @@ -0,0 +1,50 @@ +/* + * Unix SMB/CIFS implementation. + * RPC Pipe client / server routines + * Copyright (C) Andrew Tridgell 1992-1998, + * Largely re-written : 2005 + * Copyright (C) Jeremy Allison 1998 - 2005 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _RPC_SERVER_SRV_PIPE_HND_H_ +#define _RPC_SERVER_SRV_PIPE_HND_H_ + +struct tsocket_address; + +/* The following definitions come from rpc_server/srv_pipe_hnd.c */ + +bool fsp_is_np(struct files_struct *fsp); +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); + +#endif /* _RPC_SERVER_SRV_PIPE_HND_H_ */ diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c index 4f2fea5265..f303e8f171 100644 --- a/source3/smbd/ipc.c +++ b/source3/smbd/ipc.c @@ -28,6 +28,7 @@ #include "smbd/smbd.h" #include "smbd/globals.h" #include "smbprofile.h" +#include "rpc_server/srv_pipe_hnd.h" #define NERR_notsupported 50 diff --git a/source3/smbd/pipes.c b/source3/smbd/pipes.c index 89d6c8dfca..35dd9a74b9 100644 --- a/source3/smbd/pipes.c +++ b/source3/smbd/pipes.c @@ -29,6 +29,7 @@ #include "smbd/smbd.h" #include "smbd/globals.h" #include "libcli/security/security.h" +#include "rpc_server/srv_pipe_hnd.h" #define PIPE "\\PIPE\\" #define PIPELEN strlen(PIPE) diff --git a/source3/smbd/smb2_ioctl.c b/source3/smbd/smb2_ioctl.c index a716b9000e..3a5a582c75 100644 --- a/source3/smbd/smb2_ioctl.c +++ b/source3/smbd/smb2_ioctl.c @@ -23,6 +23,7 @@ #include "smbd/globals.h" #include "../libcli/smb/smb_common.h" #include "../lib/util/tevent_ntstatus.h" +#include "rpc_server/srv_pipe_hnd.h" static struct tevent_req *smbd_smb2_ioctl_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/source3/smbd/smb2_read.c b/source3/smbd/smb2_read.c index b21ce544d0..6850d3df66 100644 --- a/source3/smbd/smb2_read.c +++ b/source3/smbd/smb2_read.c @@ -25,6 +25,7 @@ #include "../libcli/smb/smb_common.h" #include "libcli/security/security.h" #include "../lib/util/tevent_ntstatus.h" +#include "rpc_server/srv_pipe_hnd.h" static struct tevent_req *smbd_smb2_read_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/source3/smbd/smb2_write.c b/source3/smbd/smb2_write.c index 0501b50245..c0cba804ef 100644 --- a/source3/smbd/smb2_write.c +++ b/source3/smbd/smb2_write.c @@ -23,6 +23,7 @@ #include "smbd/globals.h" #include "../libcli/smb/smb_common.h" #include "../lib/util/tevent_ntstatus.h" +#include "rpc_server/srv_pipe_hnd.h" static struct tevent_req *smbd_smb2_write_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 46f2aa0368..aee4e8865c 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -35,6 +35,7 @@ #include "trans2.h" #include "auth.h" #include "smbprofile.h" +#include "rpc_server/srv_pipe_hnd.h" #define DIR_ENTRY_SAFETY_MARGIN 4096 |