Commit Graph

897 Commits

Author SHA1 Message Date
Adam Ierymenko
2a3e646b94 Manually generate IPv6 link-local address only on Mac. 2014-02-01 14:02:14 -08:00
Adam Ierymenko
64231aa3f0 Fix for GitHub issue #36 on OSX... results in a duplicate entry for IPv6 link-local but seems okay... need to test on OSX 10.6 though. 2014-01-31 15:55:45 -08:00
Adam Ierymenko
117e6fb356 Remove some more junk from tap driver tree. 2014-01-31 12:40:06 -08:00
Adam Ierymenko
03ea06fa84 VERSION 0.6.11: Windows wrap-up work, NAT-t fixes
This version fixes a minor NAT traversal issue. In the past, NAT-t links had a timeout
but otherwise were preserved. This version makes them more ephemeral and invalidates
them on sleep/wake or changes in network configuration or environment.

This is because many NAT setups are very fragile with regard to hole punches, so the
past stickiness of links caused dead links to persist too long and break connectivity
between peers.

This is about 75% of what needs to be done to greatly improve robustness. The other 25%
involves detecting failed links or failed relays.

This version is also almost done for the Windows platform, moving us even closer to
binary release.
2014-01-30 15:49:08 -08:00
Adam Ierymenko
525ab3faa9 Take TRACE back out of Mac makefile, fix a few decode little things. 2014-01-30 15:26:12 -08:00
Adam Ierymenko
490e86dde3 Bunch of fixes to startup, pinging, and choice of route. Also some TRACE updates. 2014-01-30 14:23:52 -08:00
Adam Ierymenko
6e076e77d8 More work on connection reset stuff... 2014-01-29 22:04:23 -08:00
Adam Ierymenko
d75f2f7051 SIGHUP now causes resync with peers. 2014-01-29 17:24:55 -08:00
Adam Ierymenko
aa1be9fcad Some TRACE cleanup. 2014-01-29 20:09:55 -05:00
Adam Ierymenko
17796aaed4 TRACE NOP receipt. 2014-01-29 17:08:03 -08:00
Adam Ierymenko
2355fa973e Tiny compiler warning fix. 2014-01-29 18:27:02 -05:00
Adam Ierymenko
694e9f2bdc Some cleanup and rationalization of main loop. 2014-01-29 14:09:12 -08:00
Adam Ierymenko
372566295e Alternate order of packet emission in unite(). 2014-01-29 12:11:01 -08:00
Adam Ierymenko
4e85213473 Yank RuntimeEnvironment from SysEnv. 2014-01-29 09:58:17 -08:00
Adam Ierymenko
d6a346ca6e Fix for GitHub issue #35 and also possibly partial fix for #29 issues. 2014-01-28 16:12:24 -08:00
Adam Ierymenko
8b65b3e6d7 Yank PROBE stuff since it's not used and was a premature addition to the protocol. 2014-01-28 10:41:43 -08:00
Adam Ierymenko
ffffc0179f Fix a couple compile items. 2014-01-27 23:16:15 -08:00
Adam Ierymenko
f80ec871f6 Make EthernetTap creation occur in a background thread in Network since it's a time consuming operation on Windows. This fixes one of the last remaining Windows problems. 2014-01-27 23:13:36 -08:00
Adam Ierymenko
e0cb5caef2 UI appearance tweaks. 2014-01-27 14:55:56 -08:00
Adam Ierymenko
afbbf61588 Delete persistent tap device on Windows when we leave a network. 2014-01-26 22:47:08 -08:00
Adam Ierymenko
28665079a0 Windows UI appearance fixes (font issue, etc.) and fix to WinSock init on GUI client. 2014-01-26 22:24:29 -08:00
Adam Ierymenko
80997f652b Few small cleanup things... 2014-01-26 10:59:33 -08:00
Adam Ierymenko
9d67a02b5f Lock down individual files in networks.d instead of directory since directory ACLs are more complex on Windows. 2014-01-26 10:32:12 -08:00
Adam Ierymenko
22efa1ab53 Windows Installer work, fix 100% CPU bug in EthernetTap on Windows, Windows lockDownFile() implementation that uses 'cacls' utility. 2014-01-26 10:21:43 -08:00
Adam Ierymenko
f19d1e253a Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com/git/ZeroTierOne into adamierymenko-dev 2014-01-24 23:15:38 -08:00
Adam Ierymenko
b65f7f7895 Qt GUI now builds and runs on Windows. On Windows it can (via its manifest) automatically request admin rights on launch, which plugs it nicely into Windows' admin rights system without requiring file copies and such. 2014-01-24 23:15:14 -08:00
Adam Ierymenko
fb49d2ced9 Small mac installer script fix. 2014-01-24 17:30:46 -08:00
Adam Ierymenko
434ce96f2c Officially signed 32-bit build of Windows tap driver. 2014-01-24 17:29:46 -08:00
Adam Ierymenko
6ae2c5f5c7 VERSION 0.6.10: Windows runs again!
Not a significant release for OSS users, but this version marks a significant
increase in workitude on the Windows platform. A properly and officially
signed x64 driver is also included. x86 drivers and more Windows work including
Qt UI are coming soon.
2014-01-24 15:05:04 -08:00
Adam Ierymenko
6f4e494e06 Bunch of UI style improvements. 2014-01-24 13:26:24 -08:00
Adam Ierymenko
eb554a504d Fix for allIps -> ips in EthernetTap on Unix. 2014-01-23 16:25:51 -08:00
Adam Ierymenko
8771418170 Fix bug in tap driver introduced during unused code purge (deleted the part that acknowledges writes!), and fix bug in EthernetTap causing 0000 for etherType. Windows works now! Yay! 2014-01-23 16:10:24 -08:00
Adam Ierymenko
2f37ea842f Couple of Windows fixes, get rid of ips()/allIps() distinction in EthernetTap. (Will need to be fixed on Unix now... later.) 2014-01-23 14:15:00 -08:00
Adam Ierymenko
9232ba1da0 Tap works on Windows now, sort of. Now I discovered that Windows has two mechanisms for assigning IP addresses: the registry and lower-level calls. Joy. 2014-01-22 23:46:33 -08:00
Adam Ierymenko
a0916b926f Finally got the Windows x64 driver signed correctly. Turns out signtool.exe with the older (NDIS5) version of the Windows DDK does not understand cross-certificates, yet it blithely continues on and signs incorrectly anyway. Got it working by using DigiCert's own certificate tool which includes a sign files operation. Must be done manually but this doesn't have to be done often. F@!K. 2014-01-22 22:11:22 -08:00
Adam Ierymenko
2da6a7570b More tap driver work, increment version number, remove old binaries since signatures may not have been valid. 2014-01-22 18:38:45 -08:00
Adam Ierymenko
2498ecbc84 Windows compile fixes, check if running as administrator on startup for Windows. 2014-01-21 16:49:34 -08:00
Adam Ierymenko
4935fdf6e4 Windows ignore file updates 2014-01-21 13:18:19 -08:00
Adam Ierymenko
370dd6c4da Several things:
(1) Add a bunch of tedious type casts to eliminate unnecessary compiler warnings on Windows X64 builds.

(2) Some EthernetTap work to integrate Windows custom IOCTL for multicast group lookup (not done quite yet).

(3) Dump some more info in selftest to make sure our Windows path lookup functions are returning sane results.
2014-01-21 13:07:22 -08:00
Adam Ierymenko
06ca24e8e2 More work on Windows service, cleanup. 2014-01-21 09:18:12 -08:00
Adam Ierymenko
c4425c836a Ignores... 2014-01-20 17:04:44 -08:00
Adam Ierymenko
f0dd90d9d7 Windows Service stubs... 2014-01-20 17:03:15 -08:00
Adam Ierymenko
6bc5a84a2d Windows build fixes and installer work... 2014-01-20 16:16:01 -08:00
Adam Ierymenko
3375363d93 More tap driver cleanup, and add IOCTL to get L2 multicast ethernet address subscriptions. 2014-01-20 14:33:05 -08:00
Adam Ierymenko
fbb40b98ad Add Windows Build folder to ignore list. 2014-01-20 11:20:13 -08:00
Adam Ierymenko
a365a0e3ba Remove a lot of code that we don't need from tap-windows, further winnowing down this fork of OpenVPN's tap-windows to a more minimal version that does only basic Ethernet tap functionality. 2014-01-20 11:18:55 -08:00
Adam Ierymenko
45c5b66e9e Self test now passes on Windows. 2014-01-18 14:53:59 -08:00
Adam Ierymenko
f303c24d3c Build fix. 2014-01-18 10:23:44 -08:00
Adam Ierymenko
3d4762eab3 Merge branch 'adamierymenko-dev' of ssh://shub-niggurath.zerotier.com/git/ZeroTierOne into adamierymenko-dev
Conflicts:
	.gitignore
2014-01-18 10:19:53 -08:00
Adam Ierymenko
a5896264fa Builds on Windows now. 2014-01-18 10:17:15 -08:00