]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Guido Serassio <serassio@squid-cache.org>
authorAmos Jeffries <squid3@treenet.co.nz>
Fri, 10 Apr 2009 09:10:33 +0000 (21:10 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Fri, 10 Apr 2009 09:10:33 +0000 (21:10 +1200)
Windows port: Added support for Windows 7, Windows Server 2008 R2 and later

doc/release-notes/release-3.0.sgml
src/WinSvc.cc [changed mode: 0644->0755]
src/dns_internal.cc [changed mode: 0644->0755]
src/enums.h [changed mode: 0644->0755]

index 23012b96b1987605669ec4cccc08b113070014dc..acd167544287eac7ba3f1806e0e4c7e589f13f12 100644 (file)
@@ -203,6 +203,7 @@ redirect_program c:/winnt/system32/cmd.exe /C c:/squid/libexec/redir.cmd</verb>
 <item>When Squid runs in command line mode, the launching user account must have administrative privilege on the system
 <item>"Start parameters" in the Windows 2000/XP/2003 Service applet cannot be used
 <item>Building with MinGW, when the configure option --enable-truncate is used, Squid cannot run on Windows NT, only Windows 2000 and later are supported
+<item>On Windows Vista and later, User Account Control (UAC) must be disabled before running service installation
 </itemize>
 </descrip>
 
old mode 100644 (file)
new mode 100755 (executable)
index c53df69..aafa55f
@@ -347,7 +347,21 @@ GetOSVersion()
                WIN32_OS_string = xstrdup("Windows Server 2008");
            return _WIN_OS_WINLON;
        }
-       break;
+       if ((osvi.dwMajorVersion == 6) && (osvi.dwMinorVersion == 1)) {
+           if (osvi.wProductType == VER_NT_WORKSTATION)
+               WIN32_OS_string = xstrdup("Windows 7");
+           else
+               WIN32_OS_string = xstrdup("Windows Server 2008 R2");
+           return _WIN_OS_WIN7;
+       }
+       if (((osvi.dwMajorVersion > 6)) || ((osvi.dwMajorVersion == 6) && (osvi.dwMinorVersion > 1))) {
+           if (osvi.wProductType == VER_NT_WORKSTATION)
+               WIN32_OS_string = xstrdup("Unknown Windows version, assuming Windows 7 capabilities");
+           else
+               WIN32_OS_string = xstrdup("Unknown Windows version, assuming Windows Server 2008 R2 capabilities");
+           return _WIN_OS_WIN7;
+       }
+        break;
     case VER_PLATFORM_WIN32_WINDOWS:
        if ((osvi.dwMajorVersion == 4) && (osvi.dwMinorVersion == 0)) {
            WIN32_OS_string = xstrdup("Windows 95");
old mode 100644 (file)
new mode 100755 (executable)
index 3e41419..db8440a
@@ -485,6 +485,8 @@ idnsParseWIN32Registry(void)
     case _WIN_OS_WINNET:
 
     case _WIN_OS_WINLON:
+
+    case _WIN_OS_WIN7:
         /* get nameservers from the Windows 2000 registry */
         /* search all interfaces for DNS server addresses */
 
old mode 100644 (file)
new mode 100755 (executable)
index 2b68f67..6748079
@@ -545,7 +545,8 @@ enum {
     _WIN_OS_WIN2K,
     _WIN_OS_WINXP,
     _WIN_OS_WINNET,
-    _WIN_OS_WINLON
+    _WIN_OS_WINLON,
+    _WIN_OS_WIN7
 };
 
 #endif