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

This commit is contained in:
Adam Ierymenko 2014-01-22 18:38:45 -08:00
parent 2498ecbc84
commit 2da6a7570b
15 changed files with 39 additions and 252 deletions

1
.gitignore vendored
View File

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

View File

@ -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

Binary file not shown.

Binary file not shown.

View File

@ -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

Binary file not shown.

Binary file not shown.

View File

@ -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;

View File

@ -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>

View File

@ -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>

View File

@ -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)" />

View File

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

View File

@ -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

View File

@ -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

View File

@ -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