summaryrefslogtreecommitdiffstats
path: root/src/peer.c
AgeCommit message (Collapse)Author
2014-08-24Instead of replacing changed peers, delete and re-add themMatthias Schiffer
This ensures they get a new ID, so asychronous replies for the old config aren't associated with the new one.
2014-08-24Fix connections to peers with static addressesMatthias Schiffer
2014-08-24Merge peer config into peer structureMatthias Schiffer
With this refactoring, the structure fastd_peer_config_t is merged into fastd_peer_t, and fastd_remote_config_t into fastd_remote_t. This also means we now create peers directly when reading their configurations, which significantly simplifies the whole reload process, and prepares for some future optimizations like a key hash table. Note: This commit is too big, but I couldn't come up with a nice way to split it into smaller pieces...
2014-08-22Remove VECTOR_ALLOCMatthias Schiffer
It is done automatically now if the VECTOR is zeroed before.
2014-08-19Create peer structures for disabled peers as wellMatthias Schiffer
We have a 1:1 association between peers and peer configs now.
2014-08-18Unify enabled and dynamic flags into a config_state flagMatthias Schiffer
2014-08-18Remove a few now unneeded peer->config NULL checksMatthias Schiffer
2014-08-18Dynamically create peer configs for dynamic peersMatthias Schiffer
This avoids duplicating the protocol_config field.
2014-08-18Rename WITH_VERIFY CMake option to WITH_DYNAMIC_PEERSMatthias Schiffer
2014-08-18peer: add a flag `dynamic' instead of checking the config field for NULLMatthias Schiffer
2014-08-18Rename "temporary peers" to "dynamic peers"Matthias Schiffer
2014-08-18peer: remove fastd_remote_is_dynamic()Matthias Schiffer
2014-08-18peer: remove dead code fastd_remote_matches_dynamic()Matthias Schiffer
2014-08-02Don't use exponential notation for integersMatthias Schiffer
2014-08-02Introduce and use alloc helpersMatthias Schiffer
These new helpers will terminate fastd on allocation failures and add some additional convenience (allow strdup with NULL; typesafe new(type) macros).
2014-06-14peer: remove always-true conditionMatthias Schiffer
2014-06-14Ensure that peers get their place in the handshake queue even when the async ↵Matthias Schiffer
queue is full When the first resolve return for a newly reset peer is lost, init_handshake() would never be called, and the peer would never get handshakes again. This probably won't ever happen in practice, but since it's easy to fix, better be correct here.
2014-06-10Clean up peer config loadingMatthias Schiffer
Instead of changing the peer list and peer group in the main conf during (re-)loading, add a parser state which contains this information.
2014-05-31Make log levels verbose and info more usefulMatthias Schiffer
2014-05-29Ensure peer hashtable consistency on address resetsMatthias Schiffer
2014-05-28Still more documentationMatthias Schiffer
2014-05-27More documentationMatthias Schiffer
2014-05-27peer: completely document peer.h and peer.cMatthias Schiffer
2014-05-27peer: remove some dead codeMatthias Schiffer
2014-05-25Unify fastd_peer_group_t and fastd_peer_group_config_t into a single structureMatthias Schiffer
2014-05-25Make a few struct fields that are not supposed to be changed defines insteadMatthias Schiffer
2014-04-26Make on-verify support optionalMatthias Schiffer
2014-04-26Implement async verifyMatthias Schiffer
2014-04-26Revise shell command APIMatthias Schiffer
2014-04-25Move around some codeMatthias Schiffer
2014-04-25Replace a few more O(n) peer operations with O(log n) using binary searchMatthias Schiffer
2014-04-25Remove ref-counting on remotesMatthias Schiffer
Now that peers have a peer id we can use that to specify a peer in a resolve return. As the remote list of a peer doesn't change without the peer id changing, instead of taking a remote ref we can just use the peer id and remote index.
2014-04-25fastd_peer_claim_address: add parameter to allow claiming addresses of ↵Matthias Schiffer
established peers
2014-04-25fastd_peer_claim_address: allow claiming addresses from other peers when ↵Matthias Schiffer
they aren't configured statically
2014-04-25vector: add VECTOR_BSEARCH macro and use where appropriateMatthias Schiffer
2014-04-24Add a sequential number to identify peersMatthias Schiffer
2014-04-24Always use size_t for countersMatthias Schiffer
2014-04-21Remove vector of new temporary peersMatthias Schiffer
The new poll code has made this second peer list obsolete.
2014-04-20Make ctx globalMatthias Schiffer
2014-04-20Make conf globalMatthias Schiffer
2014-04-20Minimize poll interface to simplify implementation of alternative ↵Matthias Schiffer
implementations
2014-04-19Keep peers in a hash table to allow fast address lookupsMatthias Schiffer
2014-04-19Keep a vector of pollfds instead of regenerating it all the timeMatthias Schiffer
2014-04-19Store peers as vectors of pointers instead of linked listsMatthias Schiffer
2014-04-19Make eth_addrs a vectorMatthias Schiffer
2014-04-18Clean up shell command handlingMatthias Schiffer
2014-04-11Add support for async commandsMatthias Schiffer
2014-04-11Improve shell command config handlingMatthias Schiffer
2014-03-20peer: add assertion to ensure no addresses are learned on unestablished peersMatthias Schiffer
2014-03-14Adjust copyright yearsMatthias Schiffer