summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-03-25 04:19:04 +0000
committerGerald Carter <jerry@samba.org>2003-03-25 04:19:04 +0000
commitb7c4fa4cc6c8b9737f8657dace58042e135d8e44 (patch)
tree2f79b16bb7ce237168a8a829ac5cb4866fc8ae56 /source3/smbd/reply.c
parent6d6f1c0522201792412b4618098536bcc45f4919 (diff)
downloadsamba-b7c4fa4cc6c8b9737f8657dace58042e135d8e44.tar.gz
samba-b7c4fa4cc6c8b9737f8657dace58042e135d8e44.tar.bz2
samba-b7c4fa4cc6c8b9737f8657dace58042e135d8e44.zip
win9x was suffered a case of the blues during a domain logon.
For some reason, explicitly setting the service type during the tcon&X fixes this. (This used to be commit c458179d21465165705e6c035776698cb824baf5)
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 715bace152..1a1c84efed 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -272,9 +272,22 @@ int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int lengt
} else {
/* NT sets the fstype of IPC$ to the null string */
const char *fsname = IS_IPC(conn) ? "" : lp_fstype(SNUM(conn));
+ const char *devicetype;
set_message(outbuf,3,0,True);
-
+
+ if ( IS_IPC(conn) )
+ devicetype = "IPC";
+ else if ( IS_PRINT(conn) )
+ devicetype = "LPT:";
+ else
+ devicetype = "A:";
+
+ p = smb_buf(outbuf);
+ p += srvstr_push(outbuf, p, IS_IPC(conn) ? "IPC" : devicetype, -1,
+ STR_TERMINATE|STR_ASCII);
+ p += srvstr_push(outbuf, p, fsname, -1,
+ STR_TERMINATE);
p = smb_buf(outbuf);
p += srvstr_push(outbuf, p, IS_IPC(conn) ? "IPC" : devicename, -1,
STR_TERMINATE|STR_ASCII);