summaryrefslogtreecommitdiff
path: root/source3/smbd/reply.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r--source3/smbd/reply.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 6b1d28abe0..4b0400fe6c 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -636,7 +636,8 @@ static int bad_password_error(char *inbuf,char *outbuf)
{
enum remote_arch_types ra_type = get_remote_arch();
- if(ra_type == RA_WINNT && (global_client_caps & (CAP_NT_SMBS | CAP_STATUS32 ))) {
+ if(((ra_type == RA_WINNT) || (ra_type == RA_WIN2K)) &&
+ (global_client_caps & (CAP_NT_SMBS | CAP_STATUS32 ))) {
SSVAL(outbuf,smb_flg2,FLAGS2_32_BIT_ERROR_CODES);
return(ERROR(0,0xc0000000|NT_STATUS_LOGON_FAILURE));
}
@@ -702,11 +703,10 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int
circumstances.
*/
- if(ra_type == RA_WINNT || ra_type == RA_WIN95) {
- if(global_client_caps & (CAP_NT_SMBS | CAP_STATUS32))
- set_remote_arch( RA_WINNT);
- else
+ if(ra_type == RA_WINNT || ra_type == RA_WIN2K || ra_type == RA_WIN95) {
+ if(!(global_client_caps & (CAP_NT_SMBS | CAP_STATUS32))) {
set_remote_arch( RA_WIN95);
+ }
}
if (passlen1 != 24 && passlen2 != 24)