First pass of Windows cleanup and build fixes...

This commit is contained in:
Adam Ierymenko 2015-04-24 13:35:17 -07:00
parent 883a216d2a
commit 54954f5b88
8 changed files with 125 additions and 254 deletions

View File

@ -33,6 +33,7 @@
#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif
#pragma warning(disable:4996)
#endif
const struct _json_value json_value_none;

View File

@ -28,10 +28,13 @@
#ifndef ZT_BWACCOUNT_HPP
#define ZT_BWACCOUNT_HPP
#include "Constants.hpp"
#include <algorithm>
#include <stdint.h>
#include <math.h>
#include "Constants.hpp"
#include "Utils.hpp"
#ifdef __WINDOWS__

View File

@ -91,7 +91,9 @@
#ifndef __WINDOWS__
#define __WINDOWS__
#endif
#ifndef NOMINMAX
#define NOMINMAX
#endif
#pragma warning(disable : 4290)
#pragma warning(disable : 4996)
#pragma warning(disable : 4101)

View File

@ -60,7 +60,7 @@ Node::Node(
ZT1_EventCallback eventCallback,
const char *overrideRootTopology) :
RR(new RuntimeEnvironment(this)),
_uptr(uptr),
_uPtr(uptr),
_dataStoreGetFunction(dataStoreGetFunction),
_dataStorePutFunction(dataStorePutFunction),
_wirePacketSendFunction(wirePacketSendFunction),
@ -426,7 +426,7 @@ std::string Node::dataStoreGet(const char *name)
std::string r;
unsigned long olen = 0;
do {
long n = _dataStoreGetFunction(reinterpret_cast<ZT1_Node *>(this),_uptr,name,buf,sizeof(buf),r.length(),&olen);
long n = _dataStoreGetFunction(reinterpret_cast<ZT1_Node *>(this),_uPtr,name,buf,sizeof(buf),r.length(),&olen);
if (n <= 0)
return std::string();
r.append(buf,n);

View File

@ -127,7 +127,7 @@ public:
{
return (_wirePacketSendFunction(
reinterpret_cast<ZT1_Node *>(this),
_uptr,
_uPtr,
reinterpret_cast<const struct sockaddr_storage *>(&addr),
desperation,
data,
@ -149,7 +149,7 @@ public:
{
_virtualNetworkFrameFunction(
reinterpret_cast<ZT1_Node *>(this),
_uptr,
_uPtr,
nwid,
source.toInt(),
dest.toInt(),
@ -192,9 +192,9 @@ public:
*/
inline unsigned int coreDesperation() const throw() { return _coreDesperation; }
inline bool dataStorePut(const char *name,const void *data,unsigned int len,bool secure) { return (_dataStorePutFunction(reinterpret_cast<ZT1_Node *>(this),_uptr,name,data,len,(int)secure) == 0); }
inline bool dataStorePut(const char *name,const void *data,unsigned int len,bool secure) { return (_dataStorePutFunction(reinterpret_cast<ZT1_Node *>(this),_uPtr,name,data,len,(int)secure) == 0); }
inline bool dataStorePut(const char *name,const std::string &data,bool secure) { return dataStorePut(name,(const void *)data.data(),(unsigned int)data.length(),secure); }
inline void dataStoreDelete(const char *name) { _dataStorePutFunction(reinterpret_cast<ZT1_Node *>(this),_uptr,name,(const void *)0,0,0); }
inline void dataStoreDelete(const char *name) { _dataStorePutFunction(reinterpret_cast<ZT1_Node *>(this),_uPtr,name,(const void *)0,0,0); }
std::string dataStoreGet(const char *name);
/**
@ -203,7 +203,7 @@ public:
* @param ev Event type
* @param md Meta-data (default: NULL/none)
*/
inline void postEvent(ZT1_Event ev,const void *md = (const void *)0) { _eventCallback(reinterpret_cast<ZT1_Node *>(this),_uptr,ev,md); }
inline void postEvent(ZT1_Event ev,const void *md = (const void *)0) { _eventCallback(reinterpret_cast<ZT1_Node *>(this),_uPtr,ev,md); }
/**
* Update virtual network port configuration
@ -212,7 +212,7 @@ public:
* @param op Configuration operation
* @param nc Network configuration
*/
inline int configureVirtualNetworkPort(uint64_t nwid,ZT1_VirtualNetworkConfigOperation op,const ZT1_VirtualNetworkConfig *nc) { return _virtualNetworkConfigFunction(reinterpret_cast<ZT1_Node *>(this),_uptr,nwid,op,nc); }
inline int configureVirtualNetworkPort(uint64_t nwid,ZT1_VirtualNetworkConfigOperation op,const ZT1_VirtualNetworkConfig *nc) { return _virtualNetworkConfigFunction(reinterpret_cast<ZT1_Node *>(this),_uPtr,nwid,op,nc); }
/**
* @return True if we appear to be online
@ -231,7 +231,7 @@ public:
private:
RuntimeEnvironment *RR;
void *_uptr;
void *_uPtr; // _uptr (lower case) is reserved in Visual Studio :P
ZT1_DataStoreGetFunction _dataStoreGetFunction;
ZT1_DataStorePutFunction _dataStorePutFunction;

View File

@ -30,6 +30,8 @@
#include <stdint.h>
#include "Constants.hpp"
#include <algorithm>
#include <utility>
#include <vector>
@ -37,7 +39,6 @@
#include "../include/ZeroTierOne.h"
#include "Constants.hpp"
#include "RuntimeEnvironment.hpp"
#include "Path.hpp"
#include "Address.hpp"

View File

@ -19,87 +19,40 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\control\IpcConnection.cpp" />
<ClCompile Include="..\..\control\IpcListener.cpp" />
<ClCompile Include="..\..\control\NodeControlClient.cpp" />
<ClCompile Include="..\..\control\NodeControlService.cpp" />
<ClCompile Include="..\..\ext\http-parser\http_parser.c" />
<ClCompile Include="..\..\ext\json-parser\json.c" />
<ClCompile Include="..\..\ext\lz4\lz4.c" />
<ClCompile Include="..\..\main.cpp" />
<ClCompile Include="..\..\node\C25519.cpp" />
<ClCompile Include="..\..\node\CertificateOfMembership.cpp" />
<ClCompile Include="..\..\node\Defaults.cpp" />
<ClCompile Include="..\..\node\Dictionary.cpp" />
<ClCompile Include="..\..\node\HttpClient.cpp" />
<ClCompile Include="..\..\node\Identity.cpp" />
<ClCompile Include="..\..\node\IncomingPacket.cpp" />
<ClCompile Include="..\..\node\InetAddress.cpp" />
<ClCompile Include="..\..\node\Logger.cpp" />
<ClCompile Include="..\..\node\Multicaster.cpp" />
<ClCompile Include="..\..\node\Network.cpp" />
<ClCompile Include="..\..\node\NetworkConfig.cpp" />
<ClCompile Include="..\..\node\Node.cpp" />
<ClCompile Include="..\..\node\NodeConfig.cpp" />
<ClCompile Include="..\..\node\OutboundMulticast.cpp" />
<ClCompile Include="..\..\node\Packet.cpp" />
<ClCompile Include="..\..\node\Peer.cpp" />
<ClCompile Include="..\..\node\Poly1305.cpp" />
<ClCompile Include="..\..\node\RoutingTable.cpp" />
<ClCompile Include="..\..\node\Salsa20.cpp" />
<ClCompile Include="..\..\node\Service.cpp" />
<ClCompile Include="..\..\node\SelfAwareness.cpp" />
<ClCompile Include="..\..\node\SHA512.cpp" />
<ClCompile Include="..\..\node\SoftwareUpdater.cpp" />
<ClCompile Include="..\..\node\Switch.cpp" />
<ClCompile Include="..\..\node\Topology.cpp" />
<ClCompile Include="..\..\node\Utils.cpp" />
<ClCompile Include="..\..\osnet\NativeSocketManager.cpp" />
<ClCompile Include="..\..\osnet\WindowsEthernetTap.cpp" />
<ClCompile Include="..\..\osnet\WindowsEthernetTapFactory.cpp" />
<ClCompile Include="..\..\osnet\WindowsRoutingTable.cpp" />
<ClCompile Include="..\..\testnet.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\testnet\SimNet.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\testnet\SimNetSocketManager.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\testnet\TestEthernetTap.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\testnet\TestEthernetTapFactory.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\testnet\TestRoutingTable.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="ServiceBase.cpp" />
<ClCompile Include="ServiceInstaller.cpp" />
<ClCompile Include="ZeroTierOneService.cpp" />
<ClCompile Include="..\..\osdep\Http.cpp" />
<ClCompile Include="..\..\osdep\OSUtils.cpp" />
<ClCompile Include="..\..\osdep\WindowsEthernetTap.cpp" />
<ClCompile Include="..\..\selftest.cpp" />
<ClCompile Include="..\..\service\ControlPlane.cpp" />
<ClCompile Include="..\..\service\OneService.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\control\IpcConnection.hpp" />
<ClInclude Include="..\..\control\IpcListener.hpp" />
<ClInclude Include="..\..\control\NodeControlClient.hpp" />
<ClInclude Include="..\..\control\NodeControlService.hpp" />
<ClInclude Include="..\..\ext\http-parser\http_parser.h" />
<ClInclude Include="..\..\ext\json-parser\json.h" />
<ClInclude Include="..\..\ext\lz4\lz4.h" />
<ClInclude Include="..\..\include\ZeroTierOne.h" />
<ClInclude Include="..\..\node\Address.hpp" />
@ -114,55 +67,41 @@
<ClInclude Include="..\..\node\Constants.hpp" />
<ClInclude Include="..\..\node\Defaults.hpp" />
<ClInclude Include="..\..\node\Dictionary.hpp" />
<ClInclude Include="..\..\node\EthernetTap.hpp" />
<ClInclude Include="..\..\node\EthernetTapFactory.hpp" />
<ClInclude Include="..\..\node\HttpClient.hpp" />
<ClInclude Include="..\..\node\Identity.hpp" />
<ClInclude Include="..\..\node\IncomingPacket.hpp" />
<ClInclude Include="..\..\node\InetAddress.hpp" />
<ClInclude Include="..\..\node\Logger.hpp" />
<ClInclude Include="..\..\node\MAC.hpp" />
<ClInclude Include="..\..\node\Multicaster.hpp" />
<ClInclude Include="..\..\node\MulticastGroup.hpp" />
<ClInclude Include="..\..\node\Mutex.hpp" />
<ClInclude Include="..\..\node\Network.hpp" />
<ClInclude Include="..\..\node\NetworkConfig.hpp" />
<ClInclude Include="..\..\node\NetworkController.hpp" />
<ClInclude Include="..\..\node\Node.hpp" />
<ClInclude Include="..\..\node\NodeConfig.hpp" />
<ClInclude Include="..\..\node\NonCopyable.hpp" />
<ClInclude Include="..\..\node\OutboundMulticast.hpp" />
<ClInclude Include="..\..\node\Packet.hpp" />
<ClInclude Include="..\..\node\Path.hpp" />
<ClInclude Include="..\..\node\Peer.hpp" />
<ClInclude Include="..\..\node\Poly1305.hpp" />
<ClInclude Include="..\..\node\RoutingTable.hpp" />
<ClInclude Include="..\..\node\RuntimeEnvironment.hpp" />
<ClInclude Include="..\..\node\Salsa20.hpp" />
<ClInclude Include="..\..\node\Service.hpp" />
<ClInclude Include="..\..\node\SelfAwareness.hpp" />
<ClInclude Include="..\..\node\SHA512.hpp" />
<ClInclude Include="..\..\node\SharedPtr.hpp" />
<ClInclude Include="..\..\node\Socket.hpp" />
<ClInclude Include="..\..\node\SocketManager.hpp" />
<ClInclude Include="..\..\node\SoftwareUpdater.hpp" />
<ClInclude Include="..\..\node\Switch.hpp" />
<ClInclude Include="..\..\node\Thread.hpp" />
<ClInclude Include="..\..\node\Topology.hpp" />
<ClInclude Include="..\..\node\Utils.hpp" />
<ClInclude Include="..\..\osnet\NativeSocketManager.hpp" />
<ClInclude Include="..\..\osnet\WindowsEthernetTap.hpp" />
<ClInclude Include="..\..\osnet\WindowsEthernetTapFactory.hpp" />
<ClInclude Include="..\..\osnet\WindowsRoutingTable.hpp" />
<ClInclude Include="..\..\testnet\MTQ.hpp" />
<ClInclude Include="..\..\testnet\SimNet.hpp" />
<ClInclude Include="..\..\testnet\SimNetSocketManager.hpp" />
<ClInclude Include="..\..\testnet\TestEthernetTap.hpp" />
<ClInclude Include="..\..\testnet\TestEthernetTapFactory.hpp" />
<ClInclude Include="..\..\testnet\TestRoutingTable.hpp" />
<ClInclude Include="..\..\osdep\Http.hpp" />
<ClInclude Include="..\..\osdep\OSUtils.hpp" />
<ClInclude Include="..\..\osdep\Phy.hpp" />
<ClInclude Include="..\..\osdep\Thread.hpp" />
<ClInclude Include="..\..\osdep\WindowsEthernetTap.hpp" />
<ClInclude Include="..\..\service\ControlPlane.hpp" />
<ClInclude Include="..\..\service\ControlPlaneSubsystem.hpp" />
<ClInclude Include="..\..\service\OneService.hpp" />
<ClInclude Include="..\..\version.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="ServiceBase.h" />
<ClInclude Include="ServiceInstaller.h" />
<ClInclude Include="ZeroTierOneService.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZeroTierOne.rc" />
@ -240,7 +179,7 @@
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)\ext\bin\libcrypto\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>ZT_LOG_STDOUT;ZT_TRACE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -254,7 +193,7 @@
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)\ext\bin\libcrypto\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>ZT_LOG_STDOUT;ZT_TRACE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NOMINMAX;ZT_TRACE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -270,7 +209,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)\ext\bin\libcrypto\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>
<StringPooling>true</StringPooling>
@ -294,7 +233,7 @@
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)\ext\bin\libcrypto\include</AdditionalIncludeDirectories>
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>ZT_OFFICIAL_RELEASE;ZT_AUTO_UPDATE;ZT_SALSA20_SSE;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
<StringPooling>true</StringPooling>

View File

@ -16,36 +16,66 @@
<Filter Include="Source Files\node">
<UniqueIdentifier>{67b1c0f8-b018-4169-9c14-7032ed12c786}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\control">
<UniqueIdentifier>{64683235-3edd-443c-828c-c8e657d3bfd7}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\osnet">
<UniqueIdentifier>{c8a3c54f-bb49-4c3f-b406-5177bc14a447}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\testnet">
<UniqueIdentifier>{142d7af3-1770-44d7-bd87-d509bb25be1e}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\include">
<UniqueIdentifier>{40761a4c-e8db-4a91-9cab-7afef332f4a8}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\control">
<UniqueIdentifier>{066d9967-d4f3-4b41-b9a8-b18ea763aca3}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\node">
<UniqueIdentifier>{da3b8126-840c-45db-8abe-9d7e7976f8be}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\osnet">
<UniqueIdentifier>{173e391d-1519-41b8-960b-9b8dad083827}</UniqueIdentifier>
<Filter Include="Source Files\osdep">
<UniqueIdentifier>{6054dfae-4ed2-4d69-8cf5-d6f27646f2d7}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\testnet">
<UniqueIdentifier>{6f36ddd5-a2e1-48e1-9543-1ab975f91780}</UniqueIdentifier>
<Filter Include="Source Files\service">
<UniqueIdentifier>{9944293a-4a1a-40e9-b92a-eff31fe87e2c}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\osdep">
<UniqueIdentifier>{ca21bd6b-ff4e-4f9e-bedd-c9f603d2d0d6}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\service">
<UniqueIdentifier>{e1743b3c-1d18-47f1-ab5a-f5703c19f1df}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\ext">
<UniqueIdentifier>{71865460-d693-4c73-84f6-dbff42f49df6}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\ext\http-parser">
<UniqueIdentifier>{17ae9a01-d39f-4c6d-a800-8f2cd0804c96}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\ext\json-parser">
<UniqueIdentifier>{736aad7f-8d95-4602-88df-3bb970869c6f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\ext\lz4">
<UniqueIdentifier>{3636527c-bc03-4852-bd3c-20ee25e56d82}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ext">
<UniqueIdentifier>{7784af31-5b60-4300-b07e-44cf864c54db}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ext\lz4">
<UniqueIdentifier>{29164186-10fc-45f5-b253-6d03f0ddd4db}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ext\http-parser">
<UniqueIdentifier>{f8a1c208-15b8-4d85-a4cb-11d2b82f2d1e}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\ext\json-parser">
<UniqueIdentifier>{da28e961-1761-41d8-9a59-65b00dfb1302}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\ext\lz4\lz4.c">
<Filter>Source Files</Filter>
<ClCompile Include="..\..\service\ControlPlane.cpp">
<Filter>Source Files\service</Filter>
</ClCompile>
<ClCompile Include="ZeroTierOneService.cpp">
<ClCompile Include="..\..\service\OneService.cpp">
<Filter>Source Files\service</Filter>
</ClCompile>
<ClCompile Include="..\..\osdep\WindowsEthernetTap.cpp">
<Filter>Source Files\osdep</Filter>
</ClCompile>
<ClCompile Include="..\..\osdep\Http.cpp">
<Filter>Source Files\osdep</Filter>
</ClCompile>
<ClCompile Include="..\..\osdep\OSUtils.cpp">
<Filter>Source Files\osdep</Filter>
</ClCompile>
<ClCompile Include="..\..\selftest.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\node\C25519.cpp">
@ -60,9 +90,6 @@
<ClCompile Include="..\..\node\Dictionary.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\HttpClient.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Identity.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
@ -72,9 +99,6 @@
<ClCompile Include="..\..\node\InetAddress.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Logger.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Multicaster.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
@ -87,9 +111,6 @@
<ClCompile Include="..\..\node\Node.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\NodeConfig.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\OutboundMulticast.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
@ -102,21 +123,15 @@
<ClCompile Include="..\..\node\Poly1305.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\RoutingTable.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Salsa20.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Service.cpp">
<ClCompile Include="..\..\node\SelfAwareness.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\SHA512.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\SoftwareUpdater.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\node\Switch.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
@ -126,118 +141,49 @@
<ClCompile Include="..\..\node\Utils.cpp">
<Filter>Source Files\node</Filter>
</ClCompile>
<ClCompile Include="..\..\control\IpcConnection.cpp">
<Filter>Source Files\control</Filter>
<ClCompile Include="..\..\ext\lz4\lz4.c">
<Filter>Source Files\ext\lz4</Filter>
</ClCompile>
<ClCompile Include="..\..\control\IpcListener.cpp">
<Filter>Source Files\control</Filter>
<ClCompile Include="..\..\ext\http-parser\http_parser.c">
<Filter>Source Files\ext\http-parser</Filter>
</ClCompile>
<ClCompile Include="..\..\control\NodeControlClient.cpp">
<Filter>Source Files\control</Filter>
</ClCompile>
<ClCompile Include="..\..\control\NodeControlService.cpp">
<Filter>Source Files\control</Filter>
</ClCompile>
<ClCompile Include="..\..\osnet\NativeSocketManager.cpp">
<Filter>Source Files\osnet</Filter>
</ClCompile>
<ClCompile Include="..\..\osnet\WindowsEthernetTap.cpp">
<Filter>Source Files\osnet</Filter>
</ClCompile>
<ClCompile Include="..\..\osnet\WindowsEthernetTapFactory.cpp">
<Filter>Source Files\osnet</Filter>
</ClCompile>
<ClCompile Include="..\..\osnet\WindowsRoutingTable.cpp">
<Filter>Source Files\osnet</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet\SimNet.cpp">
<Filter>Source Files\testnet</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet\SimNetSocketManager.cpp">
<Filter>Source Files\testnet</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet\TestEthernetTap.cpp">
<Filter>Source Files\testnet</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet\TestEthernetTapFactory.cpp">
<Filter>Source Files\testnet</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet\TestRoutingTable.cpp">
<Filter>Source Files\testnet</Filter>
</ClCompile>
<ClCompile Include="ServiceBase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="ServiceInstaller.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\testnet.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\main.cpp">
<Filter>Source Files</Filter>
<ClCompile Include="..\..\ext\json-parser\json.c">
<Filter>Source Files\ext\json-parser</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ServiceBase.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ServiceInstaller.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="ZeroTierOneService.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\version.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\MTQ.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\SimNet.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\SimNetSocketManager.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\TestEthernetTap.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\TestEthernetTapFactory.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\testnet\TestRoutingTable.hpp">
<Filter>Header Files\testnet</Filter>
</ClInclude>
<ClInclude Include="..\..\include\ZeroTierOne.h">
<Filter>Header Files\include</Filter>
</ClInclude>
<ClInclude Include="..\..\control\IpcConnection.hpp">
<Filter>Header Files\control</Filter>
<ClInclude Include="..\..\osdep\Http.hpp">
<Filter>Header Files\osdep</Filter>
</ClInclude>
<ClInclude Include="..\..\control\IpcListener.hpp">
<Filter>Header Files\control</Filter>
<ClInclude Include="..\..\osdep\OSUtils.hpp">
<Filter>Header Files\osdep</Filter>
</ClInclude>
<ClInclude Include="..\..\control\NodeControlClient.hpp">
<Filter>Header Files\control</Filter>
<ClInclude Include="..\..\osdep\Phy.hpp">
<Filter>Header Files\osdep</Filter>
</ClInclude>
<ClInclude Include="..\..\control\NodeControlService.hpp">
<Filter>Header Files\control</Filter>
<ClInclude Include="..\..\osdep\Thread.hpp">
<Filter>Header Files\osdep</Filter>
</ClInclude>
<ClInclude Include="..\..\osnet\NativeSocketManager.hpp">
<Filter>Header Files\osnet</Filter>
<ClInclude Include="..\..\osdep\WindowsEthernetTap.hpp">
<Filter>Header Files\osdep</Filter>
</ClInclude>
<ClInclude Include="..\..\osnet\WindowsEthernetTap.hpp">
<Filter>Header Files\osnet</Filter>
<ClInclude Include="..\..\service\ControlPlane.hpp">
<Filter>Header Files\service</Filter>
</ClInclude>
<ClInclude Include="..\..\osnet\WindowsEthernetTapFactory.hpp">
<Filter>Header Files\osnet</Filter>
<ClInclude Include="..\..\service\ControlPlaneSubsystem.hpp">
<Filter>Header Files\service</Filter>
</ClInclude>
<ClInclude Include="..\..\osnet\WindowsRoutingTable.hpp">
<Filter>Header Files\osnet</Filter>
<ClInclude Include="..\..\service\OneService.hpp">
<Filter>Header Files\service</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Address.hpp">
<Filter>Header Files\node</Filter>
@ -275,15 +221,6 @@
<ClInclude Include="..\..\node\Dictionary.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\EthernetTap.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\EthernetTapFactory.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\HttpClient.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Identity.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
@ -293,9 +230,6 @@
<ClInclude Include="..\..\node\InetAddress.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Logger.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\MAC.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
@ -314,10 +248,10 @@
<ClInclude Include="..\..\node\NetworkConfig.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Node.hpp">
<ClInclude Include="..\..\node\NetworkController.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\NodeConfig.hpp">
<ClInclude Include="..\..\node\Node.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\NonCopyable.hpp">
@ -338,16 +272,13 @@
<ClInclude Include="..\..\node\Poly1305.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\RoutingTable.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\RuntimeEnvironment.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Salsa20.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Service.hpp">
<ClInclude Include="..\..\node\SelfAwareness.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\SHA512.hpp">
@ -356,21 +287,9 @@
<ClInclude Include="..\..\node\SharedPtr.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Socket.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\SocketManager.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\SoftwareUpdater.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Switch.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Thread.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\node\Topology.hpp">
<Filter>Header Files\node</Filter>
</ClInclude>
@ -378,7 +297,13 @@
<Filter>Header Files\node</Filter>
</ClInclude>
<ClInclude Include="..\..\ext\lz4\lz4.h">
<Filter>Header Files</Filter>
<Filter>Header Files\ext\lz4</Filter>
</ClInclude>
<ClInclude Include="..\..\ext\json-parser\json.h">
<Filter>Header Files\ext\json-parser</Filter>
</ClInclude>
<ClInclude Include="..\..\ext\http-parser\http_parser.h">
<Filter>Header Files\ext\http-parser</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>