Patch from Nicholas Brealey <nick@brealey.org> to distinguish between WinXP and WinXP64.
authorGerald W. Carter <jerry@samba.org>
Mon, 31 Mar 2008 19:33:53 +0000 (14:33 -0500)
committerGerald W. Carter <jerry@samba.org>
Mon, 31 Mar 2008 19:34:43 +0000 (14:34 -0500)
Defines a new value for the %a variable when detecting a Windows XP 64-bit client.

source/include/smb.h
source/lib/util.c

index bf9ca6b92caf8339bb34769d1fd5762a64794b45..4d18dc594fcef59576c073cbad7d6386e786d03a 100644 (file)
@@ -1571,7 +1571,7 @@ enum ldap_passwd_sync_types {LDAP_PASSWD_SYNC_ON, LDAP_PASSWD_SYNC_OFF, LDAP_PAS
 /* Remote architectures we know about. */
 enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT,
                        RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_VISTA,
-                       RA_SAMBA, RA_CIFSFS};
+                       RA_SAMBA, RA_CIFSFS, RA_WINXP64};
 
 /* case handling */
 enum case_handling {CASE_LOWER,CASE_UPPER};
index dba7142bad35011c57029169252f5e75630b0411..00062b82a9d257f45ead64768a256c8b6cd2cfc1 100644 (file)
@@ -2057,7 +2057,7 @@ void ra_lanman_string( const char *native_lanman )
        if ( strcmp( native_lanman, "Windows 2002 5.1" ) == 0 )
                set_remote_arch( RA_WINXP );
        else if ( strcmp( native_lanman, "Windows XP 5.2" ) == 0 )
-               set_remote_arch( RA_WINXP );
+               set_remote_arch( RA_WINXP64 );
        else if ( strcmp( native_lanman, "Windows Server 2003 5.2" ) == 0 )
                set_remote_arch( RA_WIN2K3 );
 }
@@ -2098,6 +2098,9 @@ void set_remote_arch(enum remote_arch_types type)
        case RA_WINXP:
                remote_arch_str = "WinXP";
                break;
+       case RA_WINXP64:
+               remote_arch_str = "WinXP64";
+               break;
        case RA_WIN2K3:
                remote_arch_str = "Win2K3";
                break;