summaryrefslogtreecommitdiff
path: root/source3/smbd/ipc.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-10-15 00:55:17 +0000
committerJeremy Allison <jra@samba.org>1998-10-15 00:55:17 +0000
commitfc7d3e4caa7650c02ef36fff83b64b06050f66b1 (patch)
tree8fbe7f4ec700a5f2f42397683783e7d19249337a /source3/smbd/ipc.c
parentbc747b8a077d22344aa03bbba202f5137b59284d (diff)
downloadsamba-fc7d3e4caa7650c02ef36fff83b64b06050f66b1.tar.gz
samba-fc7d3e4caa7650c02ef36fff83b64b06050f66b1.tar.bz2
samba-fc7d3e4caa7650c02ef36fff83b64b06050f66b1.zip
config: Fix crypt prototype on RedHat Linux.
include/includes.h: Fix crypt prototype on RedHat Linux. smbd/fileio.c: Fix mmap bug found by WinCE client. smbd/ipc.c: Fix WinCE wierdness with pipes being opened as \server\pipe\lanman smbd/password.c: Fix encrypted null passwords. Jeremy. (This used to be commit 475992730c0ecbf31c09b3518df2f0354cec61da)
Diffstat (limited to 'source3/smbd/ipc.c')
-rw-r--r--source3/smbd/ipc.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index 0c4d0d5bfe..646ac83331 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -3454,6 +3454,7 @@ static int named_pipe(connection_struct *conn,uint16 vuid, char *outbuf,char *na
int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int bufsize)
{
fstring name;
+ int name_offset = 0;
char *data=NULL,*params=NULL;
uint16 *setup=NULL;
int outsize = 0;
@@ -3563,10 +3564,19 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
DEBUG(3,("trans <%s> data=%d params=%d setup=%d\n",
name,tdscnt,tpscnt,suwcnt));
- if (strncmp(name,"\\PIPE\\",strlen("\\PIPE\\")) == 0) {
+ /*
+ * WinCE wierdness....
+ */
+
+ if (name[0] == '\\' && (StrnCaseCmp(&name[1],local_machine,
+ strlen(local_machine)) == 0)) {
+ name_offset = strlen(local_machine)+1;
+ }
+
+ if (strncmp(&name[name_offset],"\\PIPE\\",strlen("\\PIPE\\")) == 0) {
DEBUG(5,("calling named_pipe\n"));
outsize = named_pipe(conn,vuid,outbuf,
- name+strlen("\\PIPE\\"),setup,data,params,
+ name+name_offset+strlen("\\PIPE\\"),setup,data,params,
suwcnt,tdscnt,tpscnt,msrcnt,mdrcnt,mprcnt);
} else {
DEBUG(3,("invalid pipe name\n"));