summaryrefslogtreecommitdiff
path: root/source3/smbd/ipc.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1997-10-30 01:05:13 +0000
committerLuke Leighton <lkcl@samba.org>1997-10-30 01:05:13 +0000
commita275e5d4e16142a9924f8b97980f364a80df3b64 (patch)
tree037c7e130d66a1c9b34593b6aa2ad51294e02dad /source3/smbd/ipc.c
parentcbafcc4d03d960749fdeed111d0f78dadc399095 (diff)
downloadsamba-a275e5d4e16142a9924f8b97980f364a80df3b64.tar.gz
samba-a275e5d4e16142a9924f8b97980f364a80df3b64.tar.bz2
samba-a275e5d4e16142a9924f8b97980f364a80df3b64.zip
removed mechanism that created actual files NETLOGON, lsarpc and the like,
which are pipes on the IPC$ connection. created mechanism to record pipe names in a separate pipes_struct. it is planned to expand this, to return sensible things like interface structures, and policy handles (RPC_IFACE and LSA_POL_HND). and the like. (This used to be commit 33cce5fac0e2f818a19a6c4e6a797ef44f3b5c75)
Diffstat (limited to 'source3/smbd/ipc.c')
-rw-r--r--source3/smbd/ipc.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index 0d57b1ecfe..b525f06046 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -2903,7 +2903,7 @@ static int api_fd_reply(int cnum,uint16 vuid,char *outbuf,
int i;
int fd;
int subcommand;
- pstring pipe_name;
+ char *pipe_name;
DEBUG(5,("api_fd_reply\n"));
/* First find out the name of this file. */
@@ -2916,14 +2916,11 @@ static int api_fd_reply(int cnum,uint16 vuid,char *outbuf,
/* Get the file handle and hence the file name. */
fd = setup[1];
subcommand = setup[0];
- if (fd >= 0 && fd < MAX_OPEN_FILES)
- {
- pstrcpy(pipe_name, Files[fd].name);
- }
- else
+ pipe_name = get_pipe_name(fd);
+
+ if (pipe_name == NULL)
{
- pipe_name[0] = 0;
- DEBUG(1,("api_fd_reply: INVALID FILE HANDLE: %x\n", fd));
+ DEBUG(1,("api_fd_reply: INVALID PIPE HANDLE: %x\n", fd));
}
DEBUG(3,("Got API command %d on pipe %s (fd %x)",
@@ -2946,7 +2943,7 @@ static int api_fd_reply(int cnum,uint16 vuid,char *outbuf,
rparam = (char *)malloc(1024); if (rparam) bzero(rparam,1024);
#ifdef NTDOMAIN
- if (data != NULL && api_fd_commands[i].subcommand != -1)
+ if (data != NULL && api_fd_commands[i].subcommand == 0x26)
{
RPC_HDR hdr;