From b7c4fa4cc6c8b9737f8657dace58042e135d8e44 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Tue, 25 Mar 2003 04:19:04 +0000 Subject: 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) --- source3/smbd/reply.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'source3/smbd/reply.c') 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); -- cgit