Adam Ierymenko
e1310a764a
More cleanup and removal of cruft due to obsolete network-specific relays (will be replaced with federation stuff).
10 years ago
Adam Ierymenko
4d498b3765
Handling of multi-part chunked network configs on the inbound side.
10 years ago
Adam Ierymenko
2ba9343607
Encode and decode of tags and capabilities in NetworkConfig.
10 years ago
Adam Ierymenko
00fd9c3a15
It builds... almost ready to test some rules engine stuff.
10 years ago
Adam Ierymenko
8007ca56aa
Refactor and tie-up of capabilities and tags and packet evaluation points. Some optimization is possible here but it is minor and we will make it work first.
10 years ago
Adam Ierymenko
4d7f625aa1
.
10 years ago
Adam Ierymenko
e2f783ebbd
.
10 years ago
Adam Ierymenko
331382cf2f
More cleanup and a tiny federation prep item.
10 years ago
Adam Ierymenko
5cf410490e
.
10 years ago
Adam Ierymenko
7e6e56e2bc
Bunch of work on pushing and replication of tags and capabilities, and protocol cleanup.
10 years ago
Adam Ierymenko
b2d048aa0e
Make Dictionary templatable so it can be used where we want a higher capacity.
10 years ago
Adam Ierymenko
e09c1a1c11
Big refactor mostly builds. We now have a uniform backward compatible netconf.
10 years ago
Adam Ierymenko
4446dbde5e
Big refactor in service code to prep for plumbing through route management.
10 years ago
Adam Ierymenko
9161eebc68
Carry virtual network routes through to API.
10 years ago
Adam Ierymenko
93b673043c
Fix new binary meta-data deserialization and add some debug code (will disable later).
10 years ago
Adam Ierymenko
548730660b
Ready to test whole new netconf refactor.
10 years ago
Adam Ierymenko
8b9519f0af
Simplify a bunch of NetworkConfig stuff by eliminating accessors, also makes network controller easier to refactor.
10 years ago
Adam Ierymenko
529515d1d1
Changes to how new-style binary network configs are detected, and a new-style binary serialized meta-data representation.
10 years ago
Adam Ierymenko
59eb09d063
Deserialize new style netconf.
10 years ago
Adam Ierymenko
90e1262a8b
More refactoring to remove old Dictionary dependencies.
10 years ago
Adam Ierymenko
2f18a92e20
Cleanup in numerous places, reduce network chattiness around MULTICAST_LIKE, and fix a "how was that working" latent bug causing some control traffic to take the scenic route.
10 years ago
Adam Ierymenko
51fecc0be9
Refactor Network for new NetworkConfig.
10 years ago
Adam Ierymenko
6f854c8391
NetworkConfig refactor part 1
10 years ago
Adam Ierymenko
4e4fd51117
boring doc stuff
10 years ago
Adam Ierymenko
3883ac08c7
Docs and cleanup.
10 years ago
Adam Ierymenko
d6f0f1a82a
Use network user ptr in lookup for Ethernet frame handling to eliminate map lookup.
10 years ago
Adam Ierymenko
83ef98a9dc
Add a network-associated user ptr in API.
10 years ago
Adam Ierymenko
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
11 years ago
Adam Ierymenko
35676217e8
Refactor multicast group announcement to work directly or indirectly.
11 years ago
Adam Ierymenko
7d62dbe9f7
Tune NAT-t keepalives so that timing is better obeyed, clean up a build warning, and fix a potential source of network recursion (though harmless).
11 years ago
Adam Ierymenko
57c857e89a
Fix TRACE output.
11 years ago
Grant Limberg
c16ad053b6
no toString() method on peer. Commenting out for now.
11 years ago
Adam Ierymenko
d6676a9d6c
Always announce multicast groups, not just to peers with direct links, and push network COMs to any MULTICAST_LIKE recipient for future use.
11 years ago
Adam Ierymenko
9405150b11
Restore group announcement on Peer::receive() but centralize packet composition in one place.
11 years ago
Adam Ierymenko
a3db7d0728
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
11 years ago
Adam Ierymenko
f69454ec98
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
11 years ago
Adam Ierymenko
0d386f1c31
Add a bit of useful testing instrumentation to SqliteNetworkController.
11 years ago
Adam Ierymenko
307e44f7c8
Two for one! (std::map removal)
11 years ago
Adam Ierymenko
d1341578d8
... and another one!
11 years ago
Adam Ierymenko
7b8ce16057
Another std::map<> dies.
11 years ago
Adam Ierymenko
facb009a1d
Add security notice to auto-update info in -h output, and fix a missing paren.
11 years ago
Adam Ierymenko
8d09c37140
Remove a bit of redundant logic, and also announce MULTICAST_LIKEs to controllers (for future use).
11 years ago
Adam Ierymenko
3ba54c7e35
Eliminate some poorly thought out optimizations from the netconf/controller 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.
11 years ago
Adam Ierymenko
07ea4fd4f9
Fix potential bug in controller config request.
11 years ago
Adam Ierymenko
f398952a6c
Revert some bad docs in Packet -- I think we will still use that. Also rename addMembershipCertificate to more security-descriptive validateAndAddMembershipCertificate, give it a return value, and drop unused force parameter.
11 years ago
Adam Ierymenko
dbee1b38b3
Fix semantics of std::unique() to actually remove duplicates (hidden memory leak?)
11 years ago
Adam Ierymenko
57c7992c78
GitHub issue #191 - kill intra-network multicast rate limits (which were not well supported or easily configurable anyway) -- this is really left over from the old collaborative multicast propagation algorithm. New algorithm (in for a while) has been sender-side replication in which sender "pays" all bandwidth, which intrinsically limits multicast.
11 years ago
Kees Bos
8a68624dae
Fix cert verification check for self signed signatures
11 years ago
Adam Ierymenko
7bae95836c
Root server terminology cleanup, and tighten up a security check by checking full identity of peers instead of just address.
11 years ago
Adam Ierymenko
960ceb4791
Rest of GitHub issue #140 implementation.
11 years ago