Adam Ierymenko
2966eac64f
Get rid of ZT_FAST_MEMCPY because this is not really needed.
2019-03-22 15:50:15 -07:00
Joseph Henry
0e597191b8
Updated licenses for 2019
2019-01-14 10:25:53 -08:00
Adam Ierymenko
40a9ebd078
GitHub issue #675
2018-03-29 10:44:57 -07:00
Adam Ierymenko
65c07afe05
Copyright updates for 2018.
2018-01-08 14:33:28 -08:00
Adam Ierymenko
0608704626
Some micro-optimizations, including a memcpy that is faster than Linux for most distro/compiler versions.
2017-12-15 11:03:20 -08:00
Adam Ierymenko
4e88c80a22
RethinkDB native connector work, minor fixes.
2017-11-02 07:05:11 -07:00
Adam Ierymenko
fac7dc9c91
Stop duplciate IPv6 addresses due to privacy mode IPs.
2017-10-25 16:01:36 -07:00
Adam Ierymenko
459f1e7bfb
Refactor path stability stuff and add basic multipath support.
2017-10-25 12:42:14 -07:00
Adam Ierymenko
b9e1d53d7a
Minor cleanup.
2017-07-17 14:21:09 -07:00
Adam Ierymenko
d2415dee00
Cleanup.
2017-07-06 16:11:11 -07:00
Joseph Henry
ceeb8ee0bc
added isEqualPrefix to InetAddress
2017-05-04 15:25:48 -07:00
Adam Ierymenko
1b68d6dbdc
License header update.
2017-04-27 20:47:25 -07:00
Adam Ierymenko
25f9c294dc
Small bug fix and warning removal.
2016-11-18 13:01:45 -08:00
Adam Ierymenko
2ea9f516e1
Rate gate expensive validation of new identities in HELLO.
2016-11-18 12:59:04 -08:00
Adam Ierymenko
01129d02b3
hashCode() for InetAddress
2016-09-28 13:45:25 -07:00
Adam Ierymenko
bd15262e54
Bunch of rule JSON stuff.
2016-08-15 18:49:50 -07:00
Adam Ierymenko
81959f14af
Refactor and redesign symmetric NAT predictor. This is cleaner.
2016-08-10 10:28:54 -07:00
Adam Ierymenko
ee649ae69a
Add 6plane assignment support to network controller, and cleanup.
2016-06-24 06:40:50 -07:00
Adam Ierymenko
3c655a4b84
Default route ready to test on Mac.
2016-06-15 15:46:57 -07:00
Adam Ierymenko
b90e66f7c7
ManagedRoute, which applies C++ RAII to injected routes. Move RoutingTable to attic.
2016-06-15 15:02:40 -07:00
Adam Ierymenko
4e4fd51117
boring doc stuff
2016-01-12 14:04:55 -08:00
Adam Ierymenko
b3e3d4cacc
Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
2016-01-11 10:17:44 -08:00
Adam Ierymenko
8ac411a9e4
Stashing utun work for OSX -- abandoning for now since utun excludes mDNS among other issues.
2015-11-12 10:47:50 -08:00
Adam Ierymenko
c9e6e60c09
Handle ZeroTier-RFC4193 IPv6 address NDP queries inline by spoofing responses if the addressing scheme matches -- this allows multicast-free instant lookup of local IPv6 for better performance and reliability.
2015-11-03 10:46:41 -08:00
Adam Ierymenko
fdc3e103cc
Cleanup and docs.
2015-10-28 09:38:33 -07:00
Adam Ierymenko
da93712846
Clean up PUSH_DIRECT_PATH limits a bit more and make them a bit smarter.
2015-10-28 09:11:30 -07:00
Adam Ierymenko
88b100e5d0
More cleanup.
2015-10-27 17:59:17 -07:00
Adam Ierymenko
3ce5ad9e2c
For forward compatibility, add minimal parse for some future physical address types.
2015-10-26 10:42:30 -07:00
Adam Ierymenko
a95fa379cc
Circuit tests basically work but need some tweaks, and fix some issues found with valgrind.
2015-10-09 14:51:38 -07:00
Adam Ierymenko
ab0228f626
More cleanup and simple refactoring, consolidate InetAddres serialize/deserialize into the class.
2015-10-07 10:30:47 -07:00
Adam Ierymenko
5076c49210
Peer serialization and related changes.
2015-10-01 15:40:54 -07:00
Adam Ierymenko
3664966340
Generate local IPv6 addresses from network IDs and addresses.
2015-09-17 21:30:32 -07:00
Adam Ierymenko
0b354803f3
Clean up some YAGNI issues with implementation of GitHub issue #180 , and make best path choice aware of path rank.
2015-07-13 10:03:04 -07:00
Adam Ierymenko
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
2015-06-29 10:21:28 -07:00
Adam Ierymenko
96a58becf8
Gateways support in network controller schema and database (not implemented yet in client) toward GitHub issue #178
2015-06-13 11:34:31 +02:00
Adam Ierymenko
b4b067bf12
So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
2015-05-04 18:34:30 -07:00
Adam Ierymenko
6f4b30add8
Turns out you do have to unpack and compare sockaddr structures due to sin_len / sin6_len not present on all platforms and other junk.
2015-04-14 14:49:34 -07:00
Adam Ierymenko
068d311ecc
TRACE compile fixes, other fixes, and it basically works! It says HELLO.
2015-04-09 20:54:00 -07:00
Adam Ierymenko
52c3b7c34e
Implemented empirical determination of external addressing, paritioned per scope.
2015-04-07 11:56:10 -07:00
Adam Ierymenko
817824b88b
Some external surface awareness work, and IP scope classification.
2015-04-07 10:57:59 -07:00
Adam Ierymenko
36eab4f1a9
Whole heap more cleanup and refactoring...
2015-03-31 17:53:34 -07:00
Adam Ierymenko
93012b0ee5
Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware]
2015-02-17 13:11:34 -08:00
Adam Ierymenko
c30bf7957e
Hash code method for InetAddress
2015-02-02 14:44:24 -08:00
Adam Ierymenko
4e95384ad6
Cleanup, add tristate to config code in Network, and happy new year!
2015-01-05 17:47:59 -08:00
Adam Ierymenko
1bd5a1ebcd
Make selftest build and run on FreeBSD 10 with gmake
2014-11-04 11:20:38 -08:00
Adam Ierymenko
6df9546742
Fix for missing broadcast address on Linux Ethernet taps.
2014-09-04 13:36:25 -04:00
Adam Ierymenko
f8d4611d15
(1) Tweak LAN locator beacon frequencies, (2) Windows virtual networks
...
now show up as *real* networks and prompt the user to set their
location and firewall status (public, private, home/work, etc.).
The hack used to achieve #2 should not be examined by children or those
suffering from epilepsy or heart conditions.
2014-08-12 17:20:34 -07:00
Adam Ierymenko
51766e6549
BSD routing table works... that hurt much worse than it should have.
2014-07-17 13:08:37 -07:00
Adam Ierymenko
f82c7006ea
Leave IP addresses alone instead of deleting them from tap if they are not members of any of the networks under management.
2014-07-02 15:59:08 -07:00
Adam Ierymenko
beb7b5bbe5
GitHub Issue #69 - make MAC assignment schema differ between virtual networks.
2014-05-23 14:32:31 -07:00