1869 Commits

Author SHA1 Message Date
8637d06e0e It builds and it installs! Well, except for not being digitally signed. :P 2013-08-24 13:21:51 -04:00
e2effbd1ce Tap driver basically builds in VS2012... fork of tap-windows from OpenVPN (compatible license). 2013-08-23 17:39:21 -04:00
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
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
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
a0a9d52213 Bug fix in multicast changes. 2013-08-21 14:51:32 -04:00
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
1d9977b8b9 A bit of code comment cleanup. 2013-08-21 10:19:34 -04:00
edad580c32 Some work on Windows tap. 2013-08-21 10:18:05 -04:00
2536352e5d Make that an arbitrary tag to identify persistent taps... 2013-08-21 08:13:48 -04:00
dbb509a302 Add an interface description to EthernetTap, mostly for Windows. 2013-08-19 17:44:46 -04:00
08fe84d707 Windows builds, self test runs in Debug mode! 2013-08-14 13:23:25 -04:00
150a53eb17 Self test almost builds, now need skeleton EthernetTap implementation for Windows. 2013-08-14 11:19:21 -04:00
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
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
ce1a03bde3 Fix a *nix build issue. 2013-08-12 21:27:07 -04:00
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
5076c75b07 More Windows port work. 2013-08-12 16:57:34 -04:00
36af3d92ec Windows build work: condition, mutex, thread, udp socket... 2013-08-12 16:18:35 -04:00
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
93a7eef2a5 Replace libcrypto RAND_ with our own to avoid valgrind errors. 2013-08-10 10:27:53 -04:00
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
9979474f1e Add range safety check to EllipticCurveKey. 2013-08-09 20:45:15 -04:00
95a23dc7ec Fix for another wonderful C++ threading race condition. 2013-08-09 17:20:40 -04:00
7c3a446499 Tweak default multicast rate limits. 2013-08-09 17:02:06 -04:00
6a24ac4f00 Add a concept of debt to RateLimiter, save a bit of RAM. 2013-08-09 16:36:58 -04:00
3af55f4423 Add RateLimiter for rate limiting multicast, not tested yet. 2013-08-08 17:20:35 -04:00
95c0790a88 Back off a little on multicast propagation depth. Eventually this will be a network parameter. 2013-08-08 12:55:01 -04:00
5cabb60a6f Actually report a meaningful network status instead of always OK 2013-08-08 10:41:17 -04:00
86056fdbd9 Generalize unlink to OS-dep code in Utils, just a little prep for Windows port. 2013-08-08 10:06:39 -04:00
8a46452a70 Move template parameter in Thread to a more logical scope location. 2013-08-08 09:19:36 -04:00
e98fd3dba0 Add code to automatically join Earth if no network memberships are defined. 2013-08-07 14:19:50 -04:00
f5717f4427 Fix a bug and wow, it works. 2013-08-07 11:55:55 -04:00
5f8a3f4a7f More detail and output improvements to command bus "listpeers," and a little cleanup. 2013-08-06 11:50:56 -04:00
499ac2699f Bit of comment and if nesting cleanup in PacketDecoder. 2013-08-06 10:39:20 -04:00
b342f56bec Network constructor deuglification, remove unused old encrypt/decrypt methods from Identity. 2013-08-06 10:15:05 -04:00
28a73b620e Bunch more debugging and loop closing on new netconf. 2013-08-06 01:28:56 -04:00
e73c4cb68b Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener timing code. 2013-08-06 00:05:39 -04:00
c9c63074bb CLI communication now working. 2013-08-05 17:44:39 -04:00
a7c4cbe53a CLI debugging, got rid of nasty old Thread class and replaced with newer cleaner portable idiom. 2013-08-05 16:06:16 -04:00
3368330b77 Poll for network autoconf, and a few other documentation changes. 2013-08-05 12:34:54 -04:00
b9aeec9f29 Documentation improvements and some very minor pre-emptive security stuff. 2013-08-05 12:16:25 -04:00
bf5c07f79a Scratch that... more work wiring up netconf. Got to handle OK. 2013-08-03 12:53:46 -04:00
80d8b7d0ae Netconf wired up, ready to test. 2013-08-02 17:17:34 -04:00
f823fd05ac Replace fork() with vfork() in tap config, faster. 2013-08-02 14:38:53 -04:00
2a6b74746e Netconf service itself works, time to integrate. 2013-08-02 14:25:23 -04:00
741642ba53 netconf service work 2013-08-01 17:32:37 -04:00
ee9a811b81 Netconf service code, interacts with our MySQL database. 2013-08-01 10:11:59 -04:00
f260c2839c Local service plugin stuff... work in progress. 2013-07-31 17:24:59 -04:00
2ba97fb46b Remove suicidalThread hack from Thread. 2013-07-31 10:06:59 -04:00