summaryrefslogtreecommitdiff
path: root/node/IncomingPacket.cpp
AgeCommit message (Collapse)Author
2015-10-27Some cleanup, and use VERB_PUSH_DIRECT_PATHS to redirect newer peers.Adam Ierymenko
2015-10-20Move replication of COMs to avoid race condition.Adam Ierymenko
2015-10-20Finish wiring up Cluster, fix some issues with other recent changes.Adam Ierymenko
2015-10-20Wire up peer announcement in cluster.Adam Ierymenko
2015-10-20Cluster work -- integrating with the rest of the code.Adam Ierymenko
2015-10-19Fix bad COM attachment bug and eliminate an unnecessary redundant check.Adam Ierymenko
2015-10-19Do not allow VERB_RENDEZVOUS from non-upstream peers to block potential DOS ↵Adam Ierymenko
vector.
2015-10-16Add rate limit on receive of DIRECT_PATH_PUSH to prevent DOS exploitation.Adam Ierymenko
2015-10-15GitHub issue #235, and I also see no reason not to communicate with people ↵Adam Ierymenko
from other Worlds.
2015-10-14Fix for world size in OK(HELLO)Adam Ierymenko
2015-10-13Full integration of World and World updates.Adam Ierymenko
2015-10-13World stuff...Adam Ierymenko
2015-10-13More World stuff, and mkworld.Adam Ierymenko
2015-10-12Work in progress on refactoring root-topology into World and adding in-band ↵Adam Ierymenko
updates.
2015-10-09Create files for each hop (more convenient) and fix a packet parse bug.Adam Ierymenko
2015-10-09Be a bit more verbose in circuit test reports to more clearly track current ↵Adam Ierymenko
and upstream hop in graph traversal history.
2015-10-09Unroll Salsa20 fully for a little more speed (non-SSE now almost as fast as SSE)Adam Ierymenko
2015-10-08Abiltiy to post a test via the controller web API, and parsing of ↵Adam Ierymenko
CIRCUIT_TEST_REPORT messages.
2015-10-07Make sure received() gets called for some new messages, and docs.Adam Ierymenko
2015-10-07Finally add an ECHO.Adam Ierymenko
2015-10-07Limit proof of work difficulty to something sane.Adam Ierymenko
2015-10-07Add proof of work request for future DDOS mitigation use.Adam Ierymenko
2015-10-07Kill debug line.Adam Ierymenko
2015-10-07More cleanup and simple refactoring, consolidate InetAddres ↵Adam Ierymenko
serialize/deserialize into the class.
2015-10-07Trim some cruft that is not used and probably never would be.Adam Ierymenko
2015-10-06Send initial CIRCUIT_TEST packet.Adam Ierymenko
2015-10-06Plumbing through circuit test stuff.Adam Ierymenko
2015-10-06Handling of CIRCUIT_TEST, should be ready to test.Adam Ierymenko
2015-10-01Refactor: move network COMs out of Network and into Peer in prep for ↵Adam Ierymenko
tightening up multicast lookup and other things.
2015-09-30More work on circuit testing...Adam Ierymenko
2015-09-24(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local ↵Adam Ierymenko
interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
2015-09-23Plumb through localInterfaceId to track local interfaces corresponding with ↵Adam Ierymenko
remote addresses.
2015-09-08Add a bit of useful testing instrumentation to SqliteNetworkController.Adam Ierymenko
2015-07-28Try another NAT traversal improvement.Adam Ierymenko
2015-07-23Add a rate limiting circuit breaker to the network controller to prevent ↵Adam Ierymenko
flooding attacks and race conditions.
2015-07-23Eliminate some poorly thought out optimizations from the netconf/controller ↵Adam Ierymenko
interaction, and go ahead and bump version to 1.0.4. For a while in 1.0.3 -dev I was trying to optimize out repeated network controller requests by using a ratcheting mechanism. If the client received a network config that was indeed different from the one it had, it would respond by instantlly requesting it again. Not sure what I was thinking. It's fundamentally unsafe to respond to a message with another message of the same type -- it risks a race condition. In this case that's exactly what could happen. It just isn't worth the added complexity to avoid a tiny, tiny amount of network overhead, so I've taken this whole path out. A few extra bytes every two minutes isn't worth fretting about, but as I recall the reason for this optimization was to save CPU on the controller. This can be achieved by just caching responses in memory *there* and serving those same responses back out if they haven't changed. I think I developed that 'ratcheting' stuff before I went full time on this. It's hard to develop stuff like this without hours of sustained focus.
2015-07-13Clean up some YAGNI issues with implementation of GitHub issue #180, and ↵Adam Ierymenko
make best path choice aware of path rank.
2015-07-13Merge branch 'adamierymenko-dev' of ↵Adam Ierymenko
http://git.int.zerotier.com/zerotier/zerotierone into adamierymenko-dev
2015-07-13Fixes to PUSH_DIRECT_PATHS.Adam Ierymenko
2015-07-13ZT_TRACE build fix.Adam Ierymenko
2015-07-07Implement ERROR_UNWATNED_MULTICASTAdam Ierymenko
2015-07-07More cleanup to direct path push, comment fixes, etc.Adam Ierymenko
2015-07-07A bunch of comments and cleanup, including some to yesterday's direct path ↵Adam Ierymenko
pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
2015-07-07Revert some bad docs in Packet -- I think we will still use that. Also ↵Adam Ierymenko
rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
2015-07-06Remove debug printf().Adam Ierymenko
2015-07-06Add new .h file to VS build, and Windows side of local interface address ↵Adam Ierymenko
enumeration.
2015-07-06Almost everything for GitHub issue #180 except direct path map setup.Adam Ierymenko
2015-07-06Almost all of GitHub issue #180Adam Ierymenko
2015-07-06Documentation in Packet, more work on path push, and clean up ancient legacy ↵Adam Ierymenko
support code in Switch.
2015-06-19Root server terminology cleanup, and tighten up a security check by checking ↵Adam Ierymenko
full identity of peers instead of just address.