summaryrefslogtreecommitdiffstats
path: root/src/peer.c
AgeCommit message (Collapse)Author
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
2014-01-26Switch to the new timeout helpers where possibleMatthias Schiffer
2014-01-26Get rid of long_ago variable, use timeout helpersMatthias Schiffer
2013-12-23Always reset to the first address of the first remoteMatthias Schiffer
2013-12-16resolve: consider all addresses returned for a hostnameMatthias Schiffer
2013-11-29Compile with -std=c99 and restructure some code to ensure there is no ↵Matthias Schiffer
invalid aliasing (hopefully)
2013-10-31Don't delay initial handshakes when no peer limit is setMatthias Schiffer
2013-08-29Don't initialize monotone timestamps with zeroMatthias Schiffer
The monotone timestamp is near zero on linux systems, confusing fastd.
2013-08-29Replace old task queueMatthias Schiffer
The handshakes are now schedules in a doubly-linked list that is maintained as a part of the peer structure.
2013-08-28ec25519: ensure that there is always a handshake enqueued after sending a ↵Matthias Schiffer
handshake finish This ensures that the handshake is repeated in case the finish packet is lost.
2013-08-20Use v4-mapped addresses for IPv4 peers on IPv6 socketsMatthias Schiffer
This is needed at least on FreeBSD
2013-08-20Fix lots of -Wextra warningsMatthias Schiffer
Everything clang and GCC warn about, except GCC's missing-field-initializers which are just stupid as they don't allow {} syntax to zero a field.
2013-08-07Add sys/wait.h includes where necessary on FreeBSDMatthias Schiffer
2013-07-25Move _GNU_SOURCE define to types.hMatthias Schiffer
2013-07-25Improve handling of similar remote resolvesMatthias Schiffer
2013-07-24Fix remote record memory leakMatthias Schiffer
2013-07-24Fix fastd_peer_claim_address for peers with different addressesMatthias Schiffer
2013-07-24Allow specifying multiple remote entries for a single peerMatthias Schiffer
2013-07-24Don't let resolves delay handshakesMatthias Schiffer
2013-07-23Prepare for improved peer state handlingMatthias Schiffer
2013-07-19Generalize float attribute, deprecate old float syntaxMatthias Schiffer
2013-07-17Use calloc to allocate peer configsMatthias Schiffer
2013-04-24Initialize local address on peer creationMatthias Schiffer
2013-04-20Greatly improve handling of hosts with multiple IP addressesMatthias Schiffer
2013-04-17Fix handling of the local address in shell commandsMatthias Schiffer
Without this fix, using on-establish/disestablish/verify would cause a strange zero port when a bind with a random port was used, and a segmentation fault with dynamic binds.