119 Commits (5bc89034bcd2f4835e0ea48e72071c46e041a1fb)

Author SHA1 Message Date
Adam Ierymenko d8783b14eb Build fix. 11 years ago
Adam Ierymenko 6867922d9e typo 11 years ago
Adam Ierymenko 196f27f1f0 Add delay to NAT-t escalation stuff to try to address GitHub issue #167 11 years ago
Adam Ierymenko d9006712f6 Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world. 11 years ago
Adam Ierymenko a1005ca858 Do not unite() peers across different IP scopes as this would pretty much never work. 11 years ago
Adam Ierymenko 98bcc3d4b5 Disable a few noisy TRACEs, and limit how often we confirm new paths to avoid flooding. 11 years ago
Adam Ierymenko 1c9ca73065 Fix some deadlock issues, move awareness of broadcast subscription into core, other bug fixes. 11 years ago
Adam Ierymenko 5e331d6733 Restrict unite() to desperation==0 since NAT-t only works right now with direct links. 11 years ago
Adam Ierymenko 068d311ecc TRACE compile fixes, other fixes, and it basically works! It says HELLO. 11 years ago
Adam Ierymenko 4d5a6a25d3 Add events for packet decode errors, etc., and re-implement TRACE as an event. 11 years ago
Adam Ierymenko bf2ff964e1 Utils::now() removal and a bunch of compile fixes. 11 years ago
Adam Ierymenko 49f031ccb4 Tons of refactoring, change to desperation algorithm to use max of core or link, porting over core loop code from old Node.cpp to new CAPI version, etc. 11 years ago
Adam Ierymenko 24608d5ca3 Always use HELLO to contact, and we now confirm newly learned paths via a two-way handshake to prevent half-connects. 11 years ago
Adam Ierymenko 197d272287 More NAT strategy cleanup. 11 years ago
Adam Ierymenko be4683a96d Get rid of random port strategy -- research does not support. 11 years ago
Adam Ierymenko a95f1e1418 Eliminate redundant SharedPtr assignment. 11 years ago
Adam Ierymenko 6eb9289367 Bunch more cleanup, improvements to NAT traversal logic, finished updating Switch. 11 years ago
Adam Ierymenko ee0f56355b Send path simplification. 11 years ago
Adam Ierymenko a69e1876f1 The concept of link desperation (escalating to less desirable transports) simplifies a ton of stuff. Loads of spaghetti logic can die since we no longer have to make these decisions down in the core. 11 years ago
Adam Ierymenko 93012b0ee5 Re-incorporation: ZeroTier Networks -> ZeroTier, Inc. [Delaware] 11 years ago
Adam Ierymenko 4e95384ad6 Cleanup, add tristate to config code in Network, and happy new year! 11 years ago
Adam Ierymenko 0c85b4ef5f Tweak to symmetric NAT buster to add one to the number of ports above the current one it attempts. 11 years ago
Adam Ierymenko 5bb854e504 Fix a nasty bug introduced in packet fragmentation a while back during refactoring, and a few other things related to multicast. 12 years ago
Adam Ierymenko 4941c8a1f3 New multicast bug fixes, TRACE improvements, and temporarily disable legacy multicast for debugging purposes. 12 years ago
Adam Ierymenko d5e0f7e3e4 Reorg multicast packet, and a whole bunch of refactoring around the pushing of certificates of membership. 12 years ago
Adam Ierymenko 2c8321be1f Pull logic to always send new multicasts to supernode since we need to do that differently, re-add support for active bridges, and remove some gratuitous use of std::set where not needed. 12 years ago
Adam Ierymenko e7c81ef34e Turns out that needed to be a list after all. Also clean up Multicaster::gather(). 12 years ago
Adam Ierymenko 49dc47ff38 Make multicast gathering a bit smarter. 12 years ago
Adam Ierymenko e1882b614b Some cleanup, Multicaster now sends multicasts as it gets additional members. 12 years ago
Adam Ierymenko ae082c3cb8 Yay... now everything compiles! Getting close to testing on this. Still have not added backward compatibility support for relaying of multicasts to 0.9.X clients yet but that will be easy. Will test with heterogenous 1.0.0 clients only first. 12 years ago
Adam Ierymenko 8607aa7c3c Everything in for new multicast except IncomingPacket parsing... 12 years ago
Adam Ierymenko 81b12b6826 Rename the ubiquitous _r pointer to RuntimeEnvironment to RR just to be a little more consistent about using _ to denote private member variables. 12 years ago
Adam Ierymenko 431476e2e4 Some more multicast algo work... 12 years ago
Adam Ierymenko 557801a09e Rename PacketDecoder to much more descriptive IncomingPacket 12 years ago
Adam Ierymenko d9abd4d9be Work on defining new direct broadcast multicast algorithm. 12 years ago
Adam Ierymenko b8729de9da Temporarily DISABLE multicast authentication (doing in branch, will reenable in dev) 12 years ago
Adam Ierymenko 4e9280fc7a Rip out dead "firewall opener" code, replace in pipeline with anti-symmetric-NAT tactics. 12 years ago
Adam Ierymenko 282114e96c Makefile changes, and make Topology::getBestSupernode() return the "next" supernode if I am a supernode. Also some comment cleanup. 12 years ago
Adam Ierymenko 8a804b5257 (1) Disable firewall openers (its easy to re-enable), (2) Do some prep work for making supernode topology hot-updatable. 12 years ago
Adam Ierymenko 88bdb81791 Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops. 12 years ago
Adam Ierymenko 458f6ae7c3 Only add active bridges to top of MC propagation list if they are alive. Otherwise a dead active bridge might kill multicast for us. 12 years ago
Adam Ierymenko ae7143d693 Comments and cleanup. 12 years ago
Adam Ierymenko aead1050fb Bridging (GitHub issue #68) does indeed work! Just needed to fix a packet size thinko. 12 years ago
Adam Ierymenko 11e1f7a3fb . 12 years ago
Adam Ierymenko 0b0d5fabac Bridging #68 should work now! 12 years ago
Adam Ierymenko 35aa0921ee . 12 years ago
Adam Ierymenko 2f8936181c Debug code -- temporary. 12 years ago
Adam Ierymenko 5d467f0f45 Some TRACE improvements and comment revs. 12 years ago
Adam Ierymenko 2162a419e3 Some logging fixes. 12 years ago
Adam Ierymenko 6802da457e Bridging pretty much ready to test! Got Switch all wired up. Also fix a latent probably-never-triggered bug in MULTICAST_FRAME handling. GitHub issue #68 12 years ago