summaryrefslogtreecommitdiffstats
path: root/src/peer.c
AgeCommit message (Collapse)Author
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.
2013-03-08Disable peer configs by default, enable on peer creationMatthias Schiffer
This allows to remove some duplicate code, and will simplify the detection and handling of duplicate keys.
2013-03-03Make 'peer limit 0' allow no connectionsMatthias Schiffer
2013-02-27Don't set the peer address for temporary peers before the session is ↵Matthias Schiffer
actually established Doing so could lead to duplicate address entries in different peers, causing very strange behaviour. Add additional parameters for the local and the peer address to fastd_shell_exec() to allow the on-verify script to use this information nevertheless.
2013-02-27Refactor fastd_peer_claim_addressMatthias Schiffer
2013-02-26Don't reset "seen" timestamp on peer resetMatthias Schiffer
2013-02-26Experimental support for accepting connections from unknown peersMatthias Schiffer