mirror of
https://github.com/samba-team/samba.git
synced 2025-08-03 04:22:09 +03:00
additional fix for CR 601
* distinguish WinXP from Win2k * add a 1/3 of a second delay in OpenPrinter in order to trigger a LAN/WAN optimization in 2k clients.
This commit is contained in:
@ -1408,7 +1408,7 @@ enum ldap_ssl_types {LDAP_SSL_ON, LDAP_SSL_OFF, LDAP_SSL_START_TLS};
|
||||
enum ldap_passwd_sync_types {LDAP_PASSWD_SYNC_ON, LDAP_PASSWD_SYNC_OFF, LDAP_PASSWD_SYNC_ONLY};
|
||||
|
||||
/* Remote architectures we know about. */
|
||||
enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, RA_WIN2K, RA_SAMBA};
|
||||
enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, RA_WIN2K, RA_WINXP, RA_SAMBA};
|
||||
|
||||
/* case handling */
|
||||
enum case_handling {CASE_LOWER,CASE_UPPER};
|
||||
|
@ -1764,6 +1764,9 @@ void set_remote_arch(enum remote_arch_types type)
|
||||
case RA_WIN2K:
|
||||
fstrcpy(remote_arch, "Win2K");
|
||||
return;
|
||||
case RA_WINXP:
|
||||
fstrcpy(remote_arch, "WinXP");
|
||||
return;
|
||||
case RA_SAMBA:
|
||||
fstrcpy(remote_arch,"Samba");
|
||||
return;
|
||||
|
@ -1675,6 +1675,12 @@ Can't find printer handle we created for printer %s\n", name ));
|
||||
&Printer->nt_devmode );
|
||||
}
|
||||
|
||||
/* HACK ALERT!!! Sleep for 1/3 of a second to try trigger a LAN/WAN
|
||||
optimization in Windows 2000 clients --jerry */
|
||||
|
||||
if ( RA_WIN2K == get_remote_arch() )
|
||||
usleep( 384000 );
|
||||
|
||||
return WERR_OK;
|
||||
}
|
||||
|
||||
|
@ -581,6 +581,21 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,
|
||||
p += srvstr_pull_buf(inbuf, native_lanman, p, sizeof(native_lanman), STR_TERMINATE);
|
||||
DEBUG(3,("Domain=[%s] NativeOS=[%s] NativeLanMan=[%s]\n",
|
||||
domain,native_os,native_lanman));
|
||||
|
||||
/*
|
||||
* we distinguish between 2K and XP by the "Native Lan Manager" string
|
||||
* WinXP => "Windows 2002 5.1"
|
||||
* Win2k => "Windows 2000 5.0"
|
||||
* NT4 => "Windows NT 4.0"
|
||||
* Win9x => "Windows 4.0"
|
||||
*/
|
||||
|
||||
if ( ra_type == RA_WIN2K ) {
|
||||
if ( 0 == strcmp( native_lanman, "Windows 2002 5.1" ) )
|
||||
set_remote_arch( RA_WINXP );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
DEBUG(3,("sesssetupX:name=[%s]\\[%s]@[%s]\n", domain, user, get_remote_machine_name()));
|
||||
|
Reference in New Issue
Block a user