Grant Limberg
2ee358dbfc
TAP driver requires input and output buffers for calls passed into DeviceIoControl
...
Otherwise the driver returns STATUS_INVALID_PARAMETER and the call fails. This should fix some Multicast issues on Windows
2018-02-23 13:42:02 -08:00
Adam Ierymenko
d6e8a5f3ca
Fix Windows compile error.
2018-01-30 16:07:41 -08:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Grant Limberg
629a3a2a24
call setFriendlyName() after tap adapter is initialized
2017-10-16 12:16:05 -07:00
Adam Ierymenko
88997a0314
Windows build fixes.
2017-07-06 16:29:11 -07:00
Adam Ierymenko
d2415dee00
Cleanup.
2017-07-06 16:11:11 -07:00
Adam Ierymenko
355cce3938
Rename Utils::snprintf due to it being a #define on one platform.
2017-06-27 11:31:29 -07:00
Adam Ierymenko
d5ed025871
Support MTU reconfigure for Windows.
2017-05-04 19:50:02 -07:00
Adam Ierymenko
b55422a528
MTU integration in taps.
2017-05-04 19:31:50 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
e4896b257f
Add thread PTR that gets passed through the entire ZT core call stack and then passed to handler functions resulting from a call.
2017-03-27 17:03:17 -07:00
Grant Limberg
e2b1a7157e
Potential fix for routing issue on Windows
...
Move setting _initialized = true until after WindowsEthernetTap::threadMain() has actually created and brought up the adapter. Also in OneService::nodeVirtualNetworkConfigFunction(), wait up to 5 seconds for WindowsEthernatTap::isInitialized() to return true before attempting to configure the interface and managed routes. Without this, the adapter doesnt actually exist yet when trying to add routes
2017-01-05 11:43:26 -08:00
Grant Limberg
697520f1f5
Dont write IPv6 addresses to IPv4 sections of registry TCPIP settings.
...
Also, dont add the prefix length to the IP addresses in there.
Appears to fix Github Issue #357 . Still waiting on some info from Microsoft for confirmation of a few things.
2016-12-09 11:36:01 -08:00
Grant Limberg
56faf774ff
Store MTU as String instead of DWORD
...
WindowsEthernetTap was storing the MTU for the ZeroTier Adapter as a
DWORD. When changing the value from the network adapter settings UI, it
was stored as a string. Updated the call when creating the adapter to
store it as a string as windows expects.
2016-11-30 15:18:38 -08:00
Adam Ierymenko
4f237687ce
Route management now works on Windows, including default route override! 1.1.6 very close!
2016-06-21 13:54:03 -07:00
Adam Ierymenko
b6f6ed35fc
More Windows tweaks and a compile fix.
2016-03-02 19:06:29 -08:00
Adam Ierymenko
d3cb063d13
Tweaks to WindowsEthernetTap to attempt to address GitHub issue #308 and/or GitHub issue #277 -- we can't reproduce yet but I found one area where a spin was possible under certain failure conditions. Maybe.
2016-03-02 18:37:24 -08:00
Adam Ierymenko
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
Adam Ierymenko
0d9f33dc4f
Fix: (1) Windows stack overflow due to buffer too large in peer deserialize, (2) clean up some other stuff seen during debugging and reduce the sizes of some buffers due to Windows small stack size, (3) remove a redundant try/catch.
2015-11-13 12:14:28 -08:00
Adam Ierymenko
b75bdedaee
Manually set DeviceInstanceID since this registry key is missing on Windows Vista and Server 2008.
2015-08-13 15:52:54 -07:00
Adam Ierymenko
620562f7cf
Because Windows, because Windows. Now it upgrades correctly from 1.0.1, including automatic driver update from NDIS5 to NDIS6. Also a bit more robust on creating new ports, just in case.
2015-07-30 17:00:57 -07:00
Adam Ierymenko
922d9657b9
Save enumeration of statically assigned IPs so they will always be reassigned on device "power cycle."
2015-07-30 14:10:32 -07:00
Adam Ierymenko
6f46f0e0e1
Because Windows.
2015-07-30 11:57:48 -07:00
Adam Ierymenko
8169b35482
Kill the devcon.exe dependency by dynamically loading cfgmgr32, newdev, and setupapi and using these functions directly.
2015-07-30 11:31:38 -07:00
Adam Ierymenko
56285ec0d4
Another attempt at a fix for all the Windows driver coma issues.
2015-07-06 17:58:04 -07:00
Adam Ierymenko
494681a482
This might be a final fix for GitHub issue #173 and possibly others: ACTIVELY detect borked port status on Windows and if any "cable unplugged" or other wacky states are detected whack the adapter (close and reopen). Tested adding a whole bunch of windows networks, removing, adding more, etc. and it seems to work very well!
2015-06-12 16:02:04 +02:00
Adam Ierymenko
6fc090eb00
Don't actually "power cycle" the interface except on startup. Doing that after we're running could lose IP configuration.
2015-05-20 14:21:14 -07:00
Adam Ierymenko
dd70188643
Make tap driver even more defensive... seems to maybe fix the new network problem. Have to test a bit more.
2015-05-19 18:40:34 -07:00
Adam Ierymenko
c7eb5f0c81
Windows build warning removal, be more defensive in Windows tap driver code, and clean up service start/stop in installer.
2015-05-19 18:13:20 -07:00
Adam Ierymenko
241f308334
Fix to tap reset code in Windows tap connector.
2015-05-08 16:49:08 -07:00
Adam Ierymenko
e744580b89
Fix a bunch of Windows tap issues. Turns out NDIS6 allowed us to ditch some NDIS5 cruft, but I did have to add one hack specific to that one instead. Seems reliable now.
2015-05-08 16:31:50 -07:00
Adam Ierymenko
a40192a40b
Scratch that wrapper... it was easy to make, but it turns out WebControl is IE4 (!!!?!). Also prefer NDIS5 to NDIS6 *if* NDIS5 is installed. We will no longer ship it, but this will make older installs use the same driver they are already using. Should ease upgrade.
2015-05-08 12:35:03 -07:00
Adam Ierymenko
720ac93ba9
Use NDIS6 driver preferentially if available.
2015-04-25 15:22:43 -07:00
Adam Ierymenko
ce09e363dc
Destroy tap devices on Windows 'leave'.
2015-04-24 16:31:19 -07:00
Adam Ierymenko
f5848972f9
Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>.
2015-04-24 15:05:28 -07:00
Adam Ierymenko
7192fe6d15
osdep/ compile fixes, and remove some lingering OS-specific stuff from node/Defaults
2015-04-08 19:03:30 -07:00
Adam Ierymenko
8990fb8267
osnet -> osdep
2015-03-31 14:10:02 -07:00