diff options
author | Gerald Carter <jerry@samba.org> | 2003-03-25 04:19:04 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-03-25 04:19:04 +0000 |
commit | b7c4fa4cc6c8b9737f8657dace58042e135d8e44 (patch) | |
tree | 2f79b16bb7ce237168a8a829ac5cb4866fc8ae56 /source3/smbd/reply.c | |
parent | 6d6f1c0522201792412b4618098536bcc45f4919 (diff) | |
download | samba-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.c | 15 |
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); |