diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-01-03 07:00:18 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-01-03 07:00:18 +0000 |
commit | 2998af3746b1e31bddbc3c1718ba482fa53c616b (patch) | |
tree | f59595669d5f1a0c04e9c16b02234c7a31532d9a /source3/torture/torture.c | |
parent | f9866e88a682e101e0b5f15e63632f6858781842 (diff) | |
download | samba-2998af3746b1e31bddbc3c1718ba482fa53c616b.tar.gz samba-2998af3746b1e31bddbc3c1718ba482fa53c616b.tar.bz2 samba-2998af3746b1e31bddbc3c1718ba482fa53c616b.zip |
Workaround some 'smarts' in Win2k.
Win2k kills off connections that have issued a negprot but havn't yet issued
a session setup when a second connection appears from the same host.
(This used to be commit d47e61eb468218cae631e78edbd5d02982c78ab0)
Diffstat (limited to 'source3/torture/torture.c')
-rw-r--r-- | source3/torture/torture.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source3/torture/torture.c b/source3/torture/torture.c index 53f3e11e43..256fb891b3 100644 --- a/source3/torture/torture.c +++ b/source3/torture/torture.c @@ -2869,27 +2869,47 @@ static BOOL run_error_map_extract(int dummy) { fstring user; + /* NT-Error connection */ + if (!open_nbt_connection(&c_nt)) { return False; } + c_nt.use_spnego = False; + if (!cli_negprot(&c_nt)) { printf("%s rejected the NT-error negprot (%s)\n",host, cli_errstr(&c_nt)); cli_shutdown(&c_nt); return False; } + if (!cli_session_setup(&c_nt, "", "", 0, "", 0, + workgroup)) { + printf("%s rejected the NT-error initial session setup (%s)\n",host, cli_errstr(&c_nt)); + return False; + } + + /* DOS-Error connection */ + if (!open_nbt_connection(&c_dos)) { return False; } + c_dos.use_spnego = False; c_dos.force_dos_errors = True; + if (!cli_negprot(&c_dos)) { printf("%s rejected the DOS-error negprot (%s)\n",host, cli_errstr(&c_dos)); cli_shutdown(&c_dos); return False; } + if (!cli_session_setup(&c_dos, "", "", 0, "", 0, + workgroup)) { + printf("%s rejected the DOS-error initial session setup (%s)\n",host, cli_errstr(&c_dos)); + return False; + } + for (error=(0xc0000000 | 0x1); error < (0xc0000000| 0xFFF); error++) { snprintf(user, sizeof(user), "%X", error); |