summaryrefslogtreecommitdiffstats
path: root/src/peer.c
AgeCommit message (Collapse)Author
2015-03-23Handle interface creation failure for peer-specific interfacesMatthias Schiffer
2015-03-23Use peer-specific interface in TUN modeMatthias Schiffer
2015-03-23Set the default interface for all peersMatthias Schiffer
2015-03-22First work towards multi-interface supportMatthias Schiffer
2015-03-22peer: remove free_socket_by_id()Matthias Schiffer
2015-03-22Refactor poll APIMatthias Schiffer
2015-01-14Update copyright yearsMatthias Schiffer
2015-01-14Reset all connections on SIGUSR2Matthias Schiffer
2014-09-26Don't forward frames with local destination MAC addressMatthias Schiffer
2014-09-15status: add uptime and established timesMatthias Schiffer
2014-09-12Add per-peer statsMatthias Schiffer
2014-09-01Ensure peer add/delete messages are printed for the same peersMatthias Schiffer
2014-08-24Coding style: always add a space between a pointer's type and the *Matthias Schiffer
2014-08-24Use simple int64_t timestamps in ms instead of timespecsMatthias Schiffer
2014-08-24Don't output "adding peer" messages for static peersMatthias Schiffer
Otherwise log messages are emitted to early.
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