summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-19Clean up...Adam Ierymenko
2013-08-16On second thought... argh.Adam Ierymenko
2013-08-15Add a fork of tap-windows from OpenVPN, will be customized.Adam Ierymenko
2013-08-15Create devel project for Windows tap work. (Might be temporary.)Adam Ierymenko
2013-08-14A few test build changes.Adam Ierymenko
2013-08-14Windows builds, self test runs in Debug mode!Adam Ierymenko
2013-08-14Self test almost builds, now need skeleton EthernetTap implementation for ↵Adam Ierymenko
Windows.
2013-08-14Move .vcxproj files to vsprojects\ subfolder and use Visual Studio's ability ↵Adam Ierymenko
to add existing files to create per-tool solutions. Create self test solution to test basic functionality on Windows.
2013-08-13Version 0.4.3 (the real one): fix Gentoo ip config failures and crashesAdam Ierymenko
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-13Version 0.4.3: fix Gentoo ip config failures and crashesAdam Ierymenko
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-12Fix a *nix build issue.Adam Ierymenko
2013-08-12Windows compiles! (w/Visual Studio 2012) That's about all it does, but it's ↵Adam Ierymenko
a start.
2013-08-12More Windows port work.Adam Ierymenko
2013-08-12Windows build work: condition, mutex, thread, udp socket...Adam Ierymenko
2013-08-12A few more visual studio file changes, forgot to save all. Will be switching ↵Adam Ierymenko
to dev branch now.
2013-08-12Add Visual Studio DLL project for coreAdam Ierymenko
2013-08-120.4.2: cleanup releaseAdam Ierymenko
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-12Clean up a bunch of valgrind errors, nix a potentially unsafe op in Buffer ↵Adam Ierymenko
assignment operator.
2013-08-10Replace libcrypto RAND_ with our own to avoid valgrind errors.Adam Ierymenko
2013-08-10Stop using RAND_ in libcrypto for Utils::getSecureRandom() due to annoying ↵Adam Ierymenko
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-09Add range safety check to EllipticCurveKey.Adam Ierymenko
2013-08-09Version 0.4.1 - RateLimiter for multicast, bug fixes.Adam Ierymenko
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-09Fix for another wonderful C++ threading race condition.Adam Ierymenko
2013-08-09Tweak default multicast rate limits.Adam Ierymenko
2013-08-09Add a concept of debt to RateLimiter, save a bit of RAM.Adam Ierymenko
2013-08-08Add RateLimiter for rate limiting multicast, not tested yet.Adam Ierymenko
2013-08-08Back off a little on multicast propagation depth. Eventually this will be a ↵Adam Ierymenko
network parameter.
2013-08-08Actually report a meaningful network status instead of always OKAdam Ierymenko
2013-08-08Generalize unlink to OS-dep code in Utils, just a little prep for Windows port.Adam Ierymenko
2013-08-08Move template parameter in Thread to a more logical scope location.Adam Ierymenko
2013-08-070.4.0: MAJOR CHANGE TO NETWORK IDS AND NETWORK MEMBERSHIP (please upgrade!)Adam Ierymenko
In keeping with the wild west alpha phase of this software, this version is a major departure from 0.3.0 and an upgrade is required. The protocol hasn't changed much, but the system of network membership, network IDs, and network configuration bootstrapping has changed dramatically. The mechanism for network autoconfiguration is now in-band, via the ZeroTier protocol itself, rather than using an HTTP API. This simplifies the code and allows us to use a consistent system of encryption and authentication. To accomodate this change, network IDs now contain in their most significant 40 bits the ZeroTier address of a node responsible for overseeing the addressing of participating network members. The remaining bits are free, so each network controller (netconf node) can control up to 2^24 networks. The code for the netconf service is in /netconf-service, but for ordinary users there's not much need to look at it or use it. It's just there to be open source. The system for network membership tracking is also revamped. For open networks like Earth this doesn't matter, but for closed networks membership is now driven by something called a membership certificate that is signed by the controlling node in the network. There's still work to be done here, so private network support isn't fully baked yet. But public open networks work fine. Nodes still join "Earth" by default. The ID for Earth has changed from 1 to 6c92786fee000001 (hex). This means that old 0.3.0 clients and older will not be able to communicate with 0.4.0 as their network IDs will not match. The new certificate-based network membership system scales better than the old HTTP API system and will support some pretty amazing features. Stay tuned! For now just update and relaunch. You should get the same IPv4 address you had before. The second big change is zerotier-cli. Try running it as root (or after copying the auth file to the path it tells you about when you first run it) with 'help' as a command.
2013-08-07Make cli try to read auth token from global home if possible (unix-like systems)Adam Ierymenko
2013-08-07Go back to release build.Adam Ierymenko
2013-08-07Add code to automatically join Earth if no network memberships are defined.Adam Ierymenko
2013-08-07Fix a bug and wow, it works.Adam Ierymenko
2013-08-06More detail and output improvements to command bus "listpeers," and a little ↵Adam Ierymenko
cleanup.
2013-08-06Bit of comment and if nesting cleanup in PacketDecoder.Adam Ierymenko
2013-08-06Network constructor deuglification, remove unused old encrypt/decrypt ↵Adam Ierymenko
methods from Identity.
2013-08-06Bunch more debugging and loop closing on new netconf.Adam Ierymenko
2013-08-06Whole bunch of stuff: netconf, bug fixes, tweaks to ping and firewall opener ↵Adam Ierymenko
timing code.
2013-08-05CLI communication now working.Adam Ierymenko
2013-08-05CLI now actually sends commands... :PAdam Ierymenko
2013-08-05CLI debugging, got rid of nasty old Thread class and replaced with newer ↵Adam Ierymenko
cleaner portable idiom.
2013-08-05Poll for network autoconf, and a few other documentation changes.Adam Ierymenko
2013-08-05Documentation improvements and some very minor pre-emptive security stuff.Adam Ierymenko
2013-08-03Scratch that... more work wiring up netconf. Got to handle OK.Adam Ierymenko
2013-08-03Merge my adamierymenko-dev into the new master that incorporates Raspberry ↵Adam Ierymenko
Pi build changes in order to keep everything in sync.
2013-08-03Merge pull request #14 from paulfurley/12-libcrypto-armv4Adam Ierymenko
openssl static library for ARM, and ARM build scripts -- works on Raspberry Pi
2013-08-03Link against libdl to enable use of dlopen etc in libcrypto.aPaul Furley
2013-08-03Fixed typo in symlink, v61 vs v6lPaul Furley