Adam Ierymenko
1c88a518cf
Dike out some cruft in Windows tap that we will never use, like TUN mode, DHCP masq, ARP emulation, NDP emulation, and related. We operate only in L2 mode. All tap, no tun.
2013-08-27 11:55:56 -04:00
Adam Ierymenko
b4be07149f
Tap now basically sorta works on Windows. Now have to figure out how to control DHCP behavior since we normally don't want that.
2013-08-27 11:15:14 -04:00
Adam Ierymenko
335733f110
Build fixes for *nix
2013-08-26 17:51:36 -04:00
Adam Ierymenko
4a370c5f3f
Windows: disable and enable tap to allow changes to take effect.
2013-08-26 17:48:47 -04:00
Adam Ierymenko
487eb17ec0
ZeroTierOne for Windows binary project, builds and runs and mostly works but still some issues with tap.
2013-08-26 17:22:20 -04:00
Adam Ierymenko
9f16707b0b
Cut out tap test code from selftest.
2013-08-25 18:25:22 -04:00
Adam Ierymenko
bbbc032959
Tap works! At least in isolation. Time to create the Windows executable and the Windows service to run it and handle auto-update.
2013-08-25 18:18:02 -04:00
Adam Ierymenko
e0bdc02139
Docs, Node picks a default home folder if created with NULL as its home path, and add binary tap drivers (self-signed for now).
2013-08-24 17:10:34 -04:00
Adam Ierymenko
6d7b1c1e5f
Forked tap driver installs with test cert, assuming Windows is in test mode, and seems to work!
2013-08-24 14:10:34 -04:00
Adam Ierymenko
8637d06e0e
It builds and it installs! Well, except for not being digitally signed. :P
2013-08-24 13:21:51 -04:00
Adam Ierymenko
df98e5a635
More tap work in progress.
2013-08-24 13:17:01 -04:00
Adam Ierymenko
62dd433756
Tap driver project config, inf file.
2013-08-24 12:11:42 -04:00
Adam Ierymenko
e2effbd1ce
Tap driver basically builds in VS2012... fork of tap-windows from OpenVPN (compatible license).
2013-08-23 17:39:21 -04:00
Adam Ierymenko
b6248c7cb7
VERSION 0.4.4: multicast cleanup, Windows port work
...
In addition to a lot of Windows port work that isn't finished yet (and doesn't
affect the *nix platforms at all), this version contains quite a bit of multicast
cleanup and code simplification.
I also pulled rate limits for now, as it seems to be causing problems. More testing
on the testnet is going to be needed.
2013-08-23 10:54:45 -04:00
Adam Ierymenko
f6e7be102a
Decided to abandon the winpcap direction for Windows tap... re-evaluating using OpenVPN tap driver in some form for now.
2013-08-23 09:50:51 -04:00
Adam Ierymenko
c8213a3f58
Commit of a draft of the pcap-based strategy for a Windows tap. This may, in the end, not work, since winpcap may not support immediate capture and also because some software flags winpcap as malware. Like I said, trying to do anything interesting with Windows is PAIN.
2013-08-22 22:33:32 -04:00
Adam Ierymenko
d19516b40a
Add winpcap development libraries and includes.
2013-08-22 16:42:17 -04:00
Adam Ierymenko
ca5334509c
Tap now creates Microsoft Loopback Adapter instances and tags them with a special ID... work in progress.
2013-08-22 14:30:55 -04:00
Adam Ierymenko
a0a9d52213
Bug fix in multicast changes.
2013-08-21 14:51:32 -04:00
Adam Ierymenko
2efc9b31bd
Huge convoluted logic de-tangling in multicast propagation, supernodes now do random propagation for more efficient coverage with less bias in sparse graph cases.
2013-08-21 11:45:06 -04:00
Adam Ierymenko
1d9977b8b9
A bit of code comment cleanup.
2013-08-21 10:19:34 -04:00
Adam Ierymenko
edad580c32
Some work on Windows tap.
2013-08-21 10:18:05 -04:00
Adam Ierymenko
2536352e5d
Make that an arbitrary tag to identify persistent taps...
2013-08-21 08:13:48 -04:00
Adam Ierymenko
dbb509a302
Add an interface description to EthernetTap, mostly for Windows.
2013-08-19 17:44:46 -04:00
Adam Ierymenko
3daf73710a
Add devcon 32-bit and 64-bit Windoze binaries.
2013-08-19 17:20:27 -04:00
Adam Ierymenko
d372cd1b17
Clean up...
2013-08-19 15:39:11 -04:00
Adam Ierymenko
ee7e826f0c
On second thought... argh.
2013-08-16 16:37:01 -04:00
Adam Ierymenko
d7bd3e37cb
Add a fork of tap-windows from OpenVPN, will be customized.
2013-08-15 15:52:52 -04:00
Adam Ierymenko
b23748aa5a
Create devel project for Windows tap work. (Might be temporary.)
2013-08-15 15:51:03 -04:00
Adam Ierymenko
8584515a50
A few test build changes.
2013-08-14 13:30:27 -04:00
Adam Ierymenko
08fe84d707
Windows builds, self test runs in Debug mode!
2013-08-14 13:23:25 -04:00
Adam Ierymenko
150a53eb17
Self test almost builds, now need skeleton EthernetTap implementation for Windows.
2013-08-14 11:19:21 -04:00
Adam Ierymenko
1f9a7e26ba
Move .vcxproj files to vsprojects\ subfolder and use Visual Studio's ability to add existing files to create per-tool solutions. Create self test solution to test basic functionality on Windows.
2013-08-14 10:29:20 -04:00
Adam Ierymenko
fc18334dbb
Version 0.4.3 (the real one): fix Gentoo ip config failures and crashes
...
This version fixes problems with locating the 'ip' command on Gentoo
and possibly other Linux systems, and a problem that could cause a
crash if EthernetTap was unable to locate one of the commands it
invokes to configure IP information on tap devices.
The code also now builds on Windows. It doesn't run yet, but it's a
step. Windows port is in full swing.
Finally, the multicast rate limit defaults were raised a little. More
testing is needed here, and real world measurments.
2013-08-13 15:14:03 -04:00
Adam Ierymenko
4ce88d7f72
Version 0.4.3: fix Gentoo ip config failures and crashes
...
This version fixes problems with locating the 'ip' command on Gentoo
and possibly other Linux systems, and a problem that could cause a
crash if EthernetTap was unable to locate one of the commands it
invokes to configure IP information on tap devices.
The code also now builds on Windows. It doesn't run yet, but it's a
step. Windows port is in full swing.
2013-08-13 14:42:51 -04:00
Adam Ierymenko
ce1a03bde3
Fix a *nix build issue.
2013-08-12 21:27:07 -04:00
Adam Ierymenko
d6414c9ff7
Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's a start.
2013-08-12 21:25:36 -04:00
Adam Ierymenko
5076c75b07
More Windows port work.
2013-08-12 16:57:34 -04:00
Adam Ierymenko
36af3d92ec
Windows build work: condition, mutex, thread, udp socket...
2013-08-12 16:18:35 -04:00
Adam Ierymenko
2ad80063ec
A few more visual studio file changes, forgot to save all. Will be switching to dev branch now.
2013-08-12 14:47:02 -04:00
Adam Ierymenko
2fbe1e200b
Add Visual Studio DLL project for core
2013-08-12 14:44:02 -04:00
Adam Ierymenko
53996050a2
0.4.2: cleanup release
...
Version 0.4.2 is largely a cleanup release. Changes are minor:
* Programatically replace libcrypto's random number generator with our
own (using /dev/urandom or Windows CAPI) since libcrypto's RNG likes
to use uninitialized memory as one of its entropy sources. This causes
massive floods of valgrind (debugger) errors during memory error
profiling analysis.
* Clean up some other code to eliminate valgrind errors.
Valgrind now runs on Linux with only one error. This error is in
EthernetTap and is a false positive.
2013-08-12 13:17:41 -04:00
Adam Ierymenko
f5d77a1bc2
Clean up a bunch of valgrind errors, nix a potentially unsafe op in Buffer assignment operator.
2013-08-12 13:17:03 -04:00
Adam Ierymenko
93a7eef2a5
Replace libcrypto RAND_ with our own to avoid valgrind errors.
2013-08-10 10:27:53 -04:00
Adam Ierymenko
67acba4bc9
Stop using RAND_ in libcrypto for Utils::getSecureRandom() due to annoying valgrind spew from libcrypto use of uninitialized RAM as a random source. Might look into replacing RAND_ in libcrypto with our own simple /dev/urandom / Windows CAPI plugin.
2013-08-10 10:12:16 -04:00
Adam Ierymenko
9979474f1e
Add range safety check to EllipticCurveKey.
2013-08-09 20:45:15 -04:00
Adam Ierymenko
6c53891b44
Version 0.4.1 - RateLimiter for multicast, bug fixes.
...
This version adds a draft of the multicast rate limiting architecture. A
few minor bugs are also fixed. The Linux version builds in debug mode for
now.
2013-08-09 17:21:35 -04:00
Adam Ierymenko
95a23dc7ec
Fix for another wonderful C++ threading race condition.
2013-08-09 17:20:40 -04:00
Adam Ierymenko
7c3a446499
Tweak default multicast rate limits.
2013-08-09 17:02:06 -04:00
Adam Ierymenko
6a24ac4f00
Add a concept of debt to RateLimiter, save a bit of RAM.
2013-08-09 16:36:58 -04:00