Commit Graph

147 Commits

Author SHA1 Message Date
Adam Ierymenko
5885c6186d More updates to bandwidth accounting. 2013-09-11 16:08:31 -04:00
Adam Ierymenko
9cdaefdb9a Drop old Certificate type from Network. 2013-09-11 15:13:05 -04:00
Adam Ierymenko
de744e6df6 Version two of network certificate of membership, a much more concise and fast approach. 2013-09-11 15:09:53 -04:00
Adam Ierymenko
3a563250f7 Finish stripping minBalance from BandwidthAccount 2013-09-10 14:13:04 -04:00
Adam Ierymenko
a3a2b8dedb Look up rate info from database, but going to drop min balance cause it seems unnecessary. Also work in progress on membership certs. 2013-09-10 09:40:37 -04:00
Adam Ierymenko
a40b8c07f4 Apply multicast rate limits to my own multicasts. Will run locally and on a variety of system types to test the result of this. 2013-09-07 15:49:38 -04:00
Adam Ierymenko
cdb96726df updateAndCheckMulticastBalance and friends 2013-09-07 12:23:53 -04:00
Adam Ierymenko
56d8bbf780 Bit more netconf cleanup... 2013-09-06 15:06:51 -04:00
Adam Ierymenko
37931d8589 Multicast bandwidth accounting work in progress, and some config field changes and cleanup. 2013-09-04 09:27:56 -04:00
Adam Ierymenko
f3ad05347e Improve code security posture by replacing sprintf with a safer function. 2013-08-30 17:05:43 -04:00
Adam Ierymenko
1a7e303f97 docs and minor cleanup 2013-08-30 16:47:54 -04:00
Adam Ierymenko
4875eb49f8 Remove old launcher code, fix build error in idtool, add terminate command to control bus. 2013-08-30 15:02:12 -04:00
Adam Ierymenko
11774f7d5f Change rate limiter a little... 2013-08-30 14:15:24 -04:00
Adam Ierymenko
55616388ea Check network ethernet type whitelist instead of hard-coded ethernet types. 2013-08-28 16:01:27 -04:00
Adam Ierymenko
8e1b897f0a Add etherTypes to netconf response. 2013-08-28 15:25:49 -04:00
Adam Ierymenko
3745377872 Filter work, add name and desc to netconf response, small compiler warning fix. 2013-08-28 15:09:49 -04:00
Adam Ierymenko
01a70d09db Jigger with shutdown method to avoid a crash on CTRL+C in Windows. Feels a big hacky, might revisit later. 2013-08-27 18:00:07 -04:00
Adam Ierymenko
0afcf4877c Build fixes for *nix. 2013-08-27 16:49:49 -04:00
Adam Ierymenko
aa96bdfd1e Drop extra debug output. 2013-08-27 16:45:22 -04:00
Adam Ierymenko
c247a3d991 Build fix in tap, handling of Windows shutdown signals. 2013-08-27 16:11:39 -04:00
Adam Ierymenko
cd907a7662 More tap work -- DHCP configuration and such. 2013-08-27 15:55:32 -04:00
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
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
8637d06e0e It builds and it installs! Well, except for not being digitally signed. :P 2013-08-24 13:21:51 -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
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
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
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
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
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