summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/cliconnect.c3
-rw-r--r--source3/torture/torture.c31
2 files changed, 20 insertions, 14 deletions
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index 4bfa694e63..9dddb6a163 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -810,9 +810,6 @@ BOOL cli_send_tconX(struct cli_state *cli,
clistr_pull(cli, cli->dev, smb_buf(cli->inbuf), sizeof(fstring), -1, STR_TERMINATE|STR_ASCII);
- if (strcasecmp(share,"IPC$")==0)
- fstrcpy(cli->dev, "IPC");
-
if (cli->protocol >= PROTOCOL_NT1 &&
smb_buflen(cli->inbuf) == 3) {
/* almost certainly win95 - enable bug fixes */
diff --git a/source3/torture/torture.c b/source3/torture/torture.c
index 740fae4425..840b6ad294 100644
--- a/source3/torture/torture.c
+++ b/source3/torture/torture.c
@@ -1066,6 +1066,7 @@ static BOOL run_tcon2_test(int dummy)
static BOOL tcon_devtest(struct cli_state *cli,
const char *myshare, const char *devtype,
+ const char *return_devtype,
NTSTATUS expected_error)
{
BOOL status;
@@ -1076,7 +1077,15 @@ static BOOL tcon_devtest(struct cli_state *cli,
if (NT_STATUS_IS_OK(expected_error)) {
if (status) {
- ret = True;
+ if (strcmp(cli->dev, return_devtype) == 0) {
+ ret = True;
+ } else {
+ printf("tconX to share %s with type %s "
+ "succeeded but returned the wrong "
+ "device type (got [%s] but should have got [%s])\n",
+ myshare, devtype, cli->dev, return_devtype);
+ ret = False;
+ }
} else {
printf("tconX to share %s with type %s "
"should have succeeded but failed\n",
@@ -1125,34 +1134,34 @@ static BOOL run_tcon_devtype_test(int dummy)
return False;
}
- if (!tcon_devtest(cli1, "IPC$", "A:", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, "IPC$", "A:", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
- if (!tcon_devtest(cli1, "IPC$", "?????", NT_STATUS_OK))
+ if (!tcon_devtest(cli1, "IPC$", "?????", "IPC", NT_STATUS_OK))
ret = False;
- if (!tcon_devtest(cli1, "IPC$", "LPT:", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, "IPC$", "LPT:", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
- if (!tcon_devtest(cli1, "IPC$", "IPC", NT_STATUS_OK))
+ if (!tcon_devtest(cli1, "IPC$", "IPC", "IPC", NT_STATUS_OK))
ret = False;
- if (!tcon_devtest(cli1, "IPC$", "FOOBA", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, "IPC$", "FOOBA", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
- if (!tcon_devtest(cli1, share, "A:", NT_STATUS_OK))
+ if (!tcon_devtest(cli1, share, "A:", "A:", NT_STATUS_OK))
ret = False;
- if (!tcon_devtest(cli1, share, "?????", NT_STATUS_OK))
+ if (!tcon_devtest(cli1, share, "?????", "A:", NT_STATUS_OK))
ret = False;
- if (!tcon_devtest(cli1, share, "LPT:", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, share, "LPT:", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
- if (!tcon_devtest(cli1, share, "IPC", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, share, "IPC", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
- if (!tcon_devtest(cli1, share, "FOOBA", NT_STATUS_BAD_DEVICE_TYPE))
+ if (!tcon_devtest(cli1, share, "FOOBA", NULL, NT_STATUS_BAD_DEVICE_TYPE))
ret = False;
cli_shutdown(cli1);