summaryrefslogtreecommitdiff
path: root/source/libsmb/cliconnect.c
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2005-02-25 14:08:30 +0000
committerGerald Carter <jerry@samba.org>2005-02-25 14:08:30 +0000
commit70cd25be8b07743816b9376f9d219453f0f906fc (patch)
tree073f3d33dac8c96b0d4c7b809b3dc86b91023214 /source/libsmb/cliconnect.c
parent1d58e0d7811acc335f09128ae757f5f76a51644d (diff)
downloadsamba-70cd25be8b07743816b9376f9d219453f0f906fc.tar.gz
r5555: current with 3.0 tree as of r5548; getting ready for 3.0.12pre1
Diffstat (limited to 'source/libsmb/cliconnect.c')
-rw-r--r--source/libsmb/cliconnect.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source/libsmb/cliconnect.c b/source/libsmb/cliconnect.c
index 78cf9028c68..01a92a89ba4 100644
--- a/source/libsmb/cliconnect.c
+++ b/source/libsmb/cliconnect.c
@@ -151,7 +151,7 @@ static uint32 cli_session_setup_capabilities(struct cli_state *cli)
if (cli->use_level_II_oplocks)
capabilities |= CAP_LEVEL_II_OPLOCKS;
- capabilities |= (cli->capabilities & (CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX));
+ capabilities |= (cli->capabilities & (CAP_UNICODE|CAP_LARGE_FILES|CAP_LARGE_READX|CAP_LARGE_WRITEX|CAP_DFS));
return capabilities;
}
@@ -972,6 +972,9 @@ BOOL cli_send_tconX(struct cli_state *cli,
/* almost certainly win95 - enable bug fixes */
cli->win95 = True;
}
+
+ if ( cli->protocol >= PROTOCOL_LANMAN2 )
+ cli->dfsroot = (SVAL( cli->inbuf, smb_vwv2 ) & SMB_SHARE_IN_DFS);
cli->cnum = SVAL(cli->inbuf,smb_tid);
return True;
@@ -993,7 +996,12 @@ BOOL cli_tdis(struct cli_state *cli)
if (!cli_receive_smb(cli))
return False;
- return !cli_is_error(cli);
+ if (cli_is_error(cli)) {
+ return False;
+ }
+
+ cli->cnum = -1;
+ return True;
}
/****************************************************************************