Adam Ierymenko
52a166a71f
Relicense: GPLv3 -> ZeroTier BSL 1.1
7 years ago
Grant Limberg
d43e810ecb
Finally figured out how to update the network interface names on Windows so that they'll be visible in `ipconfig`, `Get-NetAdapter` etc.
7 years ago
Joseph Henry
0e597191b8
Updated licenses for 2019
7 years ago
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
8 years ago
Adam Ierymenko
d6e8a5f3ca
Fix Windows compile error.
8 years ago
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
8 years ago
Grant Limberg
629a3a2a24
call setFriendlyName() after tap adapter is initialized
9 years ago
Adam Ierymenko
88997a0314
Windows build fixes.
9 years ago
Adam Ierymenko
d2415dee00
Cleanup.
9 years ago
Adam Ierymenko
355cce3938
Rename Utils::snprintf due to it being a #define on one platform.
9 years ago
Adam Ierymenko
d5ed025871
Support MTU reconfigure for Windows.
9 years ago
Adam Ierymenko
b55422a528
MTU integration in taps.
9 years ago
Adam Ierymenko
1b68d6dbdc
License header update.
9 years ago
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.
9 years ago
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
9 years ago
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.
9 years ago
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.
9 years ago
Adam Ierymenko
4f237687ce
Route management now works on Windows, including default route override! 1.1.6 very close!
10 years ago
Adam Ierymenko
b6f6ed35fc
More Windows tweaks and a compile fix.
10 years ago
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.
10 years ago
Adam Ierymenko
4e4fd51117
boring doc stuff
10 years ago
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.
10 years ago
Adam Ierymenko
b75bdedaee
Manually set DeviceInstanceID since this registry key is missing on Windows Vista and Server 2008.
11 years ago
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.
11 years ago
Adam Ierymenko
922d9657b9
Save enumeration of statically assigned IPs so they will always be reassigned on device "power cycle."
11 years ago
Adam Ierymenko
6f46f0e0e1
Because Windows.
11 years ago
Adam Ierymenko
8169b35482
Kill the devcon.exe dependency by dynamically loading cfgmgr32, newdev, and setupapi and using these functions directly.
11 years ago
Adam Ierymenko
56285ec0d4
Another attempt at a fix for all the Windows driver coma issues.
11 years ago
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!
11 years ago
Adam Ierymenko
6fc090eb00
Don't actually "power cycle" the interface except on startup. Doing that after we're running could lose IP configuration.
11 years ago
Adam Ierymenko
dd70188643
Make tap driver even more defensive... seems to maybe fix the new network problem. Have to test a bit more.
11 years ago
Adam Ierymenko
c7eb5f0c81
Windows build warning removal, be more defensive in Windows tap driver code, and clean up service start/stop in installer.
11 years ago
Adam Ierymenko
241f308334
Fix to tap reset code in Windows tap connector.
11 years ago
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.
11 years ago
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.
11 years ago
Adam Ierymenko
720ac93ba9
Use NDIS6 driver preferentially if available.
11 years ago
Adam Ierymenko
ce09e363dc
Destroy tap devices on Windows 'leave'.
11 years ago
Adam Ierymenko
f5848972f9
Windows now builds and runs selftest correctly, and fixed a Windows (and possibly other platforms) issue in Phy<>.
11 years ago
Adam Ierymenko
7192fe6d15
osdep/ compile fixes, and remove some lingering OS-specific stuff from node/Defaults
11 years ago
Adam Ierymenko
8990fb8267
osnet -> osdep
11 years ago
Adam Ierymenko
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
11 years ago
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
11 years ago
Adam Ierymenko
67aa23530b
More work on adding testnet and user-mode capabilities for local network simulation.
12 years ago
Adam Ierymenko
de4e29288d
Fix for crazy Windows threading bug... repeatedly adding and removing a network now doesn't leave networks in limbo.
12 years ago
Adam Ierymenko
44d58ee871
Change 1.1.1.1 pseudo-IP used for default route hack to 25.255.255.254, since 1.1.1.1 is from a now-in-use IPv4 block while 25.0.0.0/8 is still unrouted. It can be changed in the future without impacting anything, since Windows keys off the MAC not the IP to classify networks.
12 years ago
Adam Ierymenko
f8d4611d15
(1) Tweak LAN locator beacon frequencies, (2) Windows virtual networks
...
now show up as *real* networks and prompt the user to set their
location and firewall status (public, private, home/work, etc.).
The hack used to achieve #2 should not be examined by children or those
suffering from epilepsy or heart conditions.
12 years ago
Adam Ierymenko
fe3ad5e2cc
Fix a Windows bug in refactored tap code, and always make sure we have a firewall exception rule on startup.
12 years ago
Adam Ierymenko
77457cbff1
Windows compile fixes, compiler warning fix, unfreed memory fix in main.c (though it would not have mattered since program exits immediately after).
12 years ago
Adam Ierymenko
92d9ad4a7f
Some tap interface changes and integration into main.cpp for *nix systems.
12 years ago
Adam Ierymenko
7adf0eac7e
Windows Ethernet tap refactoring complete.
12 years ago