Browse Source

More tap driver work, increment version number, remove old binaries since signatures may not have been valid.

Adam Ierymenko 11 years ago
parent
commit
2da6a7570b

+ 1 - 0
.gitignore

@@ -28,3 +28,4 @@
 *.autosave
 /ZeroTier One.zip
 /ZeroTier One.dmg
+/windows/x64

+ 0 - 85
ext/bin/tap-windows/x64/ztTap100.inf

@@ -1,85 +0,0 @@
-[Version]
-Signature="$WINDOWS NT$"
-Class=Net
-ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
-Provider=%Provider%
-CatalogFile=ztTap100.cat
-DriverVer=01/20/2014,14.30.21.864
-
-
-[Strings]
-DeviceDescription = "ZeroTier One Ethernet Tap"
-Provider = "ZeroTier Networks"
-
-[Manufacturer]
-%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
-
-[ztTap100.ndi.Services]
-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%"
-
-[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"
-
-[ztTap100.service]
-DisplayName = %DeviceDescription%
-ServiceType = 1
-StartType = 3
-ErrorControl = 1
-LoadOrderGroup = NDIS
-ServiceBinary = %12%\ztTap100.sys
-
-[SourceDisksNames]
-1 = %DeviceDescription%, ztTap100.sys
-
-[SourceDisksFiles]
-ztTap100.sys = 1
-
-[DestinationDirs]
-ztTap100.files  = 11
-ztTap100.driver = 12
-
-[ztTap100.files]
-;
-
-[ztTap100.driver]
-ztTap100.sys,,,6     ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK

BIN
ext/bin/tap-windows/x64/ztTap100.sys


BIN
ext/bin/tap-windows/x64/zttap100.cat


+ 0 - 85
ext/bin/tap-windows/x86/ztTap100.inf

@@ -1,85 +0,0 @@
-[Version]
-Signature="$WINDOWS NT$"
-Class=Net
-ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
-Provider=%Provider%
-CatalogFile=ztTap100.cat
-DriverVer=01/20/2014,14.30.31.745
-
-
-[Strings]
-DeviceDescription = "ZeroTier One Ethernet Tap"
-Provider = "ZeroTier Networks"
-
-[Manufacturer]
-%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
-
-[ztTap100.ndi.Services]
-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%"
-
-[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"
-
-[ztTap100.service]
-DisplayName = %DeviceDescription%
-ServiceType = 1
-StartType = 3
-ErrorControl = 1
-LoadOrderGroup = NDIS
-ServiceBinary = %12%\ztTap100.sys
-
-[SourceDisksNames]
-1 = %DeviceDescription%, ztTap100.sys
-
-[SourceDisksFiles]
-ztTap100.sys = 1
-
-[DestinationDirs]
-ztTap100.files  = 11
-ztTap100.driver = 12
-
-[ztTap100.files]
-;
-
-[ztTap100.driver]
-ztTap100.sys,,,6     ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK

BIN
ext/bin/tap-windows/x86/ztTap100.sys


BIN
ext/bin/tap-windows/x86/zttap100.cat


+ 1 - 1
node/EthernetTap.cpp

@@ -1168,7 +1168,7 @@ EthernetTap::EthernetTap(
 	Utils::snprintf(tapPath,sizeof(tapPath),"\\\\.\\Global\\%s.tap",_myDeviceInstanceId.c_str());
 	_tap = CreateFileA(tapPath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_SYSTEM|FILE_FLAG_OVERLAPPED,NULL);
 	if (_tap == INVALID_HANDLE_VALUE)
-		throw std::runtime_error("unable to open tap in \\\\.\\Global\\ namespace");
+		throw std::runtime_error(std::string("unable to open tap device ")+tapPath);
 
 	// Set media status to enabled
 	uint32_t tmpi = 1;

+ 0 - 30
windows/TapDriver Package/TapDriver Package.vcxproj

@@ -195,36 +195,6 @@
       <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <None Include="..\Build\Win32\VistaRelease\ztTap100.sys">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Debug|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">true</ExcludedFromBuild>
-    </None>
-    <None Include="..\Build\x64\VistaRelease\ztTap100.sys">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win7 Release|x64'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Win8 Release|x64'">false</ExcludedFromBuild>
-    </None>
-  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
   </ImportGroup>

+ 0 - 8
windows/TapDriver Package/TapDriver Package.vcxproj.filters

@@ -6,12 +6,4 @@
       <Extensions>inf;inv;inx;mof;mc;</Extensions>
     </Filter>
   </ItemGroup>
-  <ItemGroup>
-    <None Include="..\Build\x64\VistaRelease\ztTap100.sys">
-      <Filter>Driver Files</Filter>
-    </None>
-    <None Include="..\Build\Win32\VistaRelease\ztTap100.sys">
-      <Filter>Driver Files</Filter>
-    </None>
-  </ItemGroup>
 </Project>

+ 3 - 2
windows/TapDriver/TapDriver.vcxproj

@@ -173,9 +173,10 @@
     <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Vista Release|x64'">
-    <TargetName>ztTap100</TargetName>
+    <TargetName>zttap200</TargetName>
     <OutDir>$(SolutionDir)\Build\$(Platform)\$(ConfigurationName)\</OutDir>
     <TimeStampServer>http://timestamp.digicert.com/</TimeStampServer>
+    <DiagnosticMode>true</DiagnosticMode>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'">
     <TargetName>ztTap100</TargetName>
@@ -266,7 +267,7 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <Inf Include="ztTap100.inf" />
+    <Inf Include="zttap200.inf" />
   </ItemGroup>
   <ItemGroup>
     <FilesToPackage Include="$(TargetPath)" />

+ 1 - 1
windows/TapDriver/TapDriver.vcxproj.filters

@@ -68,7 +68,7 @@
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
-    <Inf Include="ztTap100.inf">
+    <Inf Include="zttap200.inf">
       <Filter>Driver Files</Filter>
     </Inf>
   </ItemGroup>

+ 6 - 6
windows/TapDriver/config.h

@@ -1,12 +1,12 @@
-#define PRODUCT_NAME			"ZeroTier One Ethernet Tap"
-#define PRODUCT_VERSION			"1.0.0"
-#define PRODUCT_VERSION_RESOURCE	1,0,0,1
-#define PRODUCT_TAP_WIN_COMPONENT_ID	"ztTap100"
-#define PRODUCT_TAP_WIN_MAJOR		1
+#define PRODUCT_NAME			"ZeroTier One Virtual Network Port"
+#define PRODUCT_VERSION			"2.0.0"
+#define PRODUCT_VERSION_RESOURCE	2,0,0,1
+#define PRODUCT_TAP_WIN_COMPONENT_ID	"zttap200"
+#define PRODUCT_TAP_WIN_MAJOR		2
 #define PRODUCT_TAP_WIN_MINOR		0
 #define PRODUCT_TAP_WIN_PROVIDER		"ZeroTier Networks"
 #define PRODUCT_TAP_WIN_DEVICE_DESCRIPTION	PRODUCT_NAME
-#define PRODUCT_TAP_WIN_RELDATE		"01/20/2014"
+#define PRODUCT_TAP_WIN_RELDATE		"01/22/2014"
 
 #define TAP_DRIVER_MAJOR_VERSION PRODUCT_TAP_WIN_MAJOR
 #define TAP_DRIVER_MINOR_VERSION PRODUCT_TAP_WIN_MINOR

+ 0 - 1
windows/TapDriver/constants.h

@@ -47,6 +47,5 @@
 
 #define PACKET_QUEUE_SIZE   64 // tap -> userspace queue size
 #define IRP_QUEUE_SIZE      16 // max number of simultaneous i/o operations from userspace
-#define INJECT_QUEUE_SIZE   16 // DHCP/ARP -> tap injection queue
 
 #define TAP_LITTLE_ENDIAN      // affects ntohs, htonl, etc. functions

+ 27 - 33
windows/TapDriver/ztTap100.inf → windows/TapDriver/zttap200.inf

@@ -3,39 +3,39 @@ Signature="$WINDOWS NT$"
 Class=Net
 ClassGuid={4d36e972-e325-11ce-bfc1-08002be10318}
 Provider=%Provider%
-CatalogFile=ztTap100.cat
-
+CatalogFile=zttap200.cat
 
 [Strings]
-DeviceDescription = "ZeroTier One Ethernet Tap"
-Provider = "ZeroTier Networks"
+DeviceDescription = "ZeroTier One Virtual Network Port"
+Provider = "ZeroTier Networks LLC"
 
+; To build for x86, take NTamd64 off this and off the named section manually, build, then put it back!
 [Manufacturer]
-%Provider%=ztTap100,NTamd64
+%Provider%=zttap200,NTamd64
 
-[ztTap100]
-%DeviceDescription%=ztTap100.ndi,ztTap100
+[zttap200]
+%DeviceDescription%=zttap200.ndi,zttap200
 
-[ztTap100.NTamd64]
-%DeviceDescription%=ztTap100.ndi,ztTap100
+[ztTap200.NTamd64]
+%DeviceDescription%=zttap200.ndi,zttap200
 
-[ztTap100.ndi]
-CopyFiles       = ztTap100.driver,ztTap100.files
-AddReg          = ztTap100.reg
-AddReg          = ztTap100.params.reg
+[zttap200.ndi]
+CopyFiles       = zttap200.driver,zttap200.files
+AddReg          = zttap200.reg
+AddReg          = zttap200.params.reg
 Characteristics = 0x81
 
-[ztTap100.ndi.Services]
-AddService = ztTap100,        2, ztTap100.service
+[zttap200.ndi.Services]
+AddService = zttap200,        2, zttap200.service
 
-[ztTap100.reg]
-HKR, Ndi,            Service,      0, "ztTap100"
+[zttap200.reg]
+HKR, Ndi,            Service,      0, "zttap200"
 HKR, Ndi\Interfaces, UpperRange,   0, "ndis5"
 HKR, Ndi\Interfaces, LowerRange,   0, "ethernet"
 HKR, ,               Manufacturer, 0, "%Provider%"
 HKR, ,               ProductName,  0, "%DeviceDescription%"
 
-[ztTap100.params.reg]
+[zttap200.params.reg]
 HKR, Ndi\params\MTU,                  ParamDesc, 0, "MTU"
 HKR, Ndi\params\MTU,                  Type,      0, "int"
 HKR, Ndi\params\MTU,                  Default,   0, "2800"
@@ -52,33 +52,27 @@ 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"
 
-[ztTap100.service]
+[zttap200.service]
 DisplayName = %DeviceDescription%
 ServiceType = 1
 StartType = 3
 ErrorControl = 1
 LoadOrderGroup = NDIS
-ServiceBinary = %12%\ztTap100.sys
+ServiceBinary = %12%\zttap200.sys
 
 [SourceDisksNames]
-1 = %DeviceDescription%, ztTap100.sys
+1 = %DeviceDescription%, zttap200.sys
 
 [SourceDisksFiles]
-ztTap100.sys = 1
+zttap200.sys = 1
 
 [DestinationDirs]
-ztTap100.files  = 11
-ztTap100.driver = 12
+zttap200.files  = 11
+zttap200.driver = 12
 
-[ztTap100.files]
+[zttap200.files]
 ;
 
-[ztTap100.driver]
-ztTap100.sys,,,6     ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK
+[zttap200.driver]
+zttap200.sys,,,6     ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK