diff --git a/.gitignore b/.gitignore
index 2c3c75643..71053b0ed 100755
--- a/.gitignore
+++ b/.gitignore
@@ -11,12 +11,10 @@ mac-tap/tuntap/tap.kext
/ZeroTierOne.v11.suo
/vsprojects/SelfTest/Debug
/vsprojects/SelfTest/Release
-/Debug
-/Release
+/vsprojects/TapDriver/Win32
+/vsprojects/TapDriver/x64
+/Build/*
*.log
*.opensdf
*.user
-/Win8Release
-/vsprojects/TapDriver/Win8Release
-
*.cache
diff --git a/ZeroTierOne.sln b/ZeroTierOne.sln
index 848997d56..008cb65ef 100644
--- a/ZeroTierOne.sln
+++ b/ZeroTierOne.sln
@@ -69,9 +69,9 @@ Global
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|Win32.ActiveCfg = Win8 Release|Win32
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|Win32.Build.0 = Win8 Release|Win32
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|Win32.Deploy.0 = Win8 Release|Win32
- {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.ActiveCfg = Win8 Release|x64
- {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.Build.0 = Win8 Release|x64
- {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.Deploy.0 = Win8 Release|x64
+ {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.ActiveCfg = Win7 Release|x64
+ {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.Build.0 = Win7 Release|x64
+ {689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Release|x64.Deploy.0 = Win7 Release|x64
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Vista Debug|Win32.ActiveCfg = Vista Debug|Win32
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Vista Debug|Win32.Build.0 = Vista Debug|Win32
{689210B1-467C-4850-BB7D-2E10D5B4A3DA}.Vista Debug|Win32.Deploy.0 = Vista Debug|Win32
@@ -117,9 +117,9 @@ Global
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|Win32.ActiveCfg = Win8 Release|Win32
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|Win32.Build.0 = Win8 Release|Win32
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|Win32.Deploy.0 = Win8 Release|Win32
- {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.ActiveCfg = Win8 Release|x64
- {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.Build.0 = Win8 Release|x64
- {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.Deploy.0 = Win8 Release|x64
+ {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.ActiveCfg = Win7 Release|x64
+ {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.Build.0 = Win7 Release|x64
+ {FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Release|x64.Deploy.0 = Win7 Release|x64
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Vista Debug|Win32.ActiveCfg = Vista Debug|Win32
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Vista Debug|Win32.Build.0 = Vista Debug|Win32
{FDA1DD8D-1D56-4BC1-B402-FCC0B550D946}.Vista Debug|Win32.Deploy.0 = Vista Debug|Win32
diff --git a/vsprojects/TapDriver/TapDriver.vcxproj b/vsprojects/TapDriver/TapDriver.vcxproj
index 0ee15a067..03357d5f0 100644
--- a/vsprojects/TapDriver/TapDriver.vcxproj
+++ b/vsprojects/TapDriver/TapDriver.vcxproj
@@ -125,24 +125,60 @@
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
DbgengKernelDebugger
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+ $(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
+
+
+ ztTap100
+ $(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\
@@ -151,6 +187,34 @@
true
Level2
false
+ None
+ None
+ None
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ Level2
+ false
+ None
+ None
+ None
C:\WinDDK\7600.16385.1\lib\wnet\i386\ndis.lib;C:\WinDDK\7600.16385.1\lib\wnet\i386\ntstrsafe.lib;%(AdditionalDependencies)
@@ -199,18 +263,73 @@
true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
+ true
diff --git a/vsprojects/TapDriver/ztTap100.inf b/vsprojects/TapDriver/ztTap100.inf
index 89c19c31b..79efd4e3d 100644
--- a/vsprojects/TapDriver/ztTap100.inf
+++ b/vsprojects/TapDriver/ztTap100.inf
@@ -1,80 +1,81 @@
[Version]
- Signature="$WINDOWS NT$"
- Class=Net
- ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
- Provider=%Provider%
- CatalogFile=ztTap100.cat
+Signature="$WINDOWS NT$"
+Class=Net
+ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
+Provider=%Provider%
+CatalogFile=ztTap100.cat
+
[Strings]
- DeviceDescription = "ZeroTier One Ethernet Tap"
- Provider = "ZeroTier Networks"
+DeviceDescription = "ZeroTier One Ethernet Tap"
+Provider = "ZeroTier Networks"
[Manufacturer]
- %Provider%=ztTap100
+%Provider%=ztTap100,NTamd64
-[ztTap100]
- %DeviceDescription%=ztTap100.ndi,ztTap100
+[ztTap100.NTamd64]
+%DeviceDescription%=ztTap100.ndi,ztTap100
[ztTap100.ndi]
- CopyFiles = ztTap100.driver,ztTap100.files
- AddReg = ztTap100.reg
- AddReg = ztTap100.params.reg
- Characteristics = 0x81
+CopyFiles = ztTap100.driver,ztTap100.files
+AddReg = ztTap100.reg
+AddReg = ztTap100.params.reg
+Characteristics = 0x81
[ztTap100.ndi.Services]
- AddService = ztTap100, 2, ztTap100.service
+AddService = ztTap100, 2, ztTap100.service
[ztTap100.reg]
- HKR, Ndi, Service, 0, "ztTap100"
- HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
- HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
- HKR, , Manufacturer, 0, "%Provider%"
- HKR, , ProductName, 0, "%DeviceDescription%"
+HKR, Ndi, Service, 0, "ztTap100"
+HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
+HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
+HKR, , Manufacturer, 0, "%Provider%"
+HKR, , ProductName, 0, "%DeviceDescription%"
[ztTap100.params.reg]
- HKR, Ndi\params\MTU, ParamDesc, 0, "MTU"
- HKR, Ndi\params\MTU, Type, 0, "int"
- HKR, Ndi\params\MTU, Default, 0, "2800"
- HKR, Ndi\params\MTU, Optional, 0, "0"
- HKR, Ndi\params\MTU, Min, 0, "100"
- HKR, Ndi\params\MTU, Max, 0, "2800"
- HKR, Ndi\params\MTU, Step, 0, "1"
- HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status"
- HKR, Ndi\params\MediaStatus, Type, 0, "enum"
- HKR, Ndi\params\MediaStatus, Default, 0, "0"
- HKR, Ndi\params\MediaStatus, Optional, 0, "0"
- HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled"
- HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected"
- HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address"
- HKR, Ndi\params\MAC, Type, 0, "edit"
- HKR, Ndi\params\MAC, Optional, 0, "1"
- HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access"
- HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum"
- HKR, Ndi\params\AllowNonAdmin, Default, 0, "0"
- HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0"
- HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed"
- HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed"
+HKR, Ndi\params\MTU, ParamDesc, 0, "MTU"
+HKR, Ndi\params\MTU, Type, 0, "int"
+HKR, Ndi\params\MTU, Default, 0, "2800"
+HKR, Ndi\params\MTU, Optional, 0, "0"
+HKR, Ndi\params\MTU, Min, 0, "100"
+HKR, Ndi\params\MTU, Max, 0, "2800"
+HKR, Ndi\params\MTU, Step, 0, "1"
+HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status"
+HKR, Ndi\params\MediaStatus, Type, 0, "enum"
+HKR, Ndi\params\MediaStatus, Default, 0, "0"
+HKR, Ndi\params\MediaStatus, Optional, 0, "0"
+HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application Controlled"
+HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always Connected"
+HKR, Ndi\params\MAC, ParamDesc, 0, "MAC Address"
+HKR, Ndi\params\MAC, Type, 0, "edit"
+HKR, Ndi\params\MAC, Optional, 0, "1"
+HKR, Ndi\params\AllowNonAdmin, ParamDesc, 0, "Non-Admin Access"
+HKR, Ndi\params\AllowNonAdmin, Type, 0, "enum"
+HKR, Ndi\params\AllowNonAdmin, Default, 0, "0"
+HKR, Ndi\params\AllowNonAdmin, Optional, 0, "0"
+HKR, Ndi\params\AllowNonAdmin\enum, "0", 0, "Not Allowed"
+HKR, Ndi\params\AllowNonAdmin\enum, "1", 0, "Allowed"
[tap0901.service]
- DisplayName = %DeviceDescription%
- ServiceType = 1
- StartType = 3
- ErrorControl = 1
- LoadOrderGroup = NDIS
- ServiceBinary = %12%\ztTap100.sys
+DisplayName = %DeviceDescription%
+ServiceType = 1
+StartType = 3
+ErrorControl = 1
+LoadOrderGroup = NDIS
+ServiceBinary = %12%\ztTap100.sys
[SourceDisksNames]
- 1 = %DeviceDescription%, ztTap100.sys
+1 = %DeviceDescription%, ztTap100.sys
[SourceDisksFiles]
- ztTap100.sys = 1
+ztTap100.sys = 1
[DestinationDirs]
- ztTap100.files = 11
- ztTap100.driver = 12
+ztTap100.files = 11
+ztTap100.driver = 12
[ztTap100.files]
;
[ztTap100.driver]
- ztTap100.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK
+ztTap100.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK