diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-10-18 16:25:36 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:01:53 -0500 |
commit | 06fe5d6cd92bbf87f80c3df305d136760d0f91d8 (patch) | |
tree | 6b1ab57f724b79090e04b0661d02eb0a96e78bcd | |
parent | 2c081d2c47452acff3115637bbd16f780e23b76a (diff) | |
download | samba-06fe5d6cd92bbf87f80c3df305d136760d0f91d8.tar.gz samba-06fe5d6cd92bbf87f80c3df305d136760d0f91d8.tar.bz2 samba-06fe5d6cd92bbf87f80c3df305d136760d0f91d8.zip |
r3047: Always include a \ again before the pipe name we're opening. Without a
backslash works, but is not like Windows does it.
(This used to be commit f6deb3d065e1a88f92bcb8a4a138453650c97b0b)
-rw-r--r-- | source4/librpc/rpc/dcerpc_util.c | 4 | ||||
-rw-r--r-- | source4/ntvfs/ipc/vfs_ipc.c | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/source4/librpc/rpc/dcerpc_util.c b/source4/librpc/rpc/dcerpc_util.c index 87a9073a73..ccb7f126ea 100644 --- a/source4/librpc/rpc/dcerpc_util.c +++ b/source4/librpc/rpc/dcerpc_util.c @@ -456,6 +456,10 @@ static NTSTATUS dcerpc_pipe_connect_ncacn_np(struct dcerpc_pipe **p, !strncasecmp(pipe_name, "\\pipe\\", 6)) { pipe_name+=6; } + + if (pipe_name[0] != '\\') { + pipe_name = talloc_asprintf(mem_ctx, "\\%s", pipe_name); + } if (!username || !username[0]) { status = smbcli_full_connection(NULL, &cli, lp_netbios_name(), diff --git a/source4/ntvfs/ipc/vfs_ipc.c b/source4/ntvfs/ipc/vfs_ipc.c index 238467a746..760cf07100 100644 --- a/source4/ntvfs/ipc/vfs_ipc.c +++ b/source4/ntvfs/ipc/vfs_ipc.c @@ -215,6 +215,8 @@ static NTSTATUS ipc_open_generic(struct ntvfs_module_context *ntvfs, return NT_STATUS_NO_MEMORY; } + while (fname[0] == '\\') fname++; + p->pipe_name = talloc_asprintf(p, "\\pipe\\%s", fname); if (!p->pipe_name) { talloc_free(p); @@ -240,6 +242,7 @@ static NTSTATUS ipc_open_generic(struct ntvfs_module_context *ntvfs, finalised for Samba4 */ + printf("FINDING: %s\n", p->pipe_name); ep_description.type = ENDPOINT_SMB; ep_description.info.smb_pipe = p->pipe_name; @@ -303,10 +306,6 @@ static NTSTATUS ipc_open_openx(struct ntvfs_module_context *ntvfs, NTSTATUS status; const char *fname = oi->openx.in.fname; - if (strncasecmp(fname, "PIPE\\", 5) != 0) { - return NT_STATUS_OBJECT_NAME_NOT_FOUND; - } - status = ipc_open_generic(ntvfs, req, fname, &p); if (!NT_STATUS_IS_OK(status)) { return status; |