Commit graph

842 commits

Author SHA1 Message Date
1ea5ef8944 epoll: update time *after* waiting... 2014-04-25 21:50:29 +02:00
6785e06f2b handshake: simplify fastd_handshake_new_reply
This will hopefully lead to an async verify implementation...
2014-04-25 03:39:56 +02:00
8c193693d7 Move around some code 2014-04-25 03:23:13 +02:00
1723e18b1d Reduce minimum vector allocation 2014-04-25 02:28:32 +02:00
7fbaedb117 Replace a few more O(n) peer operations with O(log n) using binary search 2014-04-25 02:16:48 +02:00
5adfca9b65 Remove ref-counting on remotes
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-25 01:51:36 +02:00
482ddc46a6 fastd_peer_claim_address: add parameter to allow claiming addresses of established peers 2014-04-25 00:56:07 +02:00
1bb1eb5a33 fastd_peer_claim_address: allow claiming addresses from other peers when they aren't configured statically 2014-04-25 00:49:44 +02:00
53b74ddf2c vector: add VECTOR_BSEARCH macro and use where appropriate 2014-04-25 00:13:44 +02:00
4ea57586f5 Add a sequential number to identify peers 2014-04-24 22:25:41 +02:00
e4e4f007e8 config: remove support for deprecated float syntax 2014-04-24 04:12:16 +02:00
ea609fe8c2 Convert few more counters to size_t, just for the sake of consistency... 2014-04-24 03:36:36 +02:00
e8296fbc9f ec25519-fhmqvc: use PUBLICKEYBYTES and SECRETKEYBYTES defines more 2014-04-24 03:33:09 +02:00
4872dd03e7 Always use size_t for counters 2014-04-24 03:17:46 +02:00
baf9b2fd60 Make async handle buffer aligned 2014-04-24 01:04:03 +02:00
d3eb3ac888 Use socketpair instead of pipe for internal message pipes
While pipe2 recently got O_DIRECT on Linux, we'll just use SOCK_DGRAM to stay
portable, and get proper handling of full queues.
2014-04-23 17:36:59 +02:00
f37fb374a9 Fix peer group tree traversal when reading peer dirs
This broke when conf was made global.
2014-04-21 20:14:06 +02:00
505f97771a Remove vector of new temporary peers
The new poll code has made this second peer list obsolete.
2014-04-21 20:02:43 +02:00
175685ed5f poll: add pollfd count assert 2014-04-21 19:51:28 +02:00
bda274971e Define IP_FREEBIND if it is not provided 2014-04-20 19:37:07 +02:00
7adeb6e881 Make ctx global 2014-04-20 05:29:11 +02:00
b9c8603931 Make conf global 2014-04-20 04:36:34 +02:00
ab4ca17ba3 Linux: use epoll to handle great numbers of peers with less overhead 2014-04-20 02:48:25 +02:00
8c705b9cd4 Minimize poll interface to simplify implementation of alternative implementations 2014-04-20 02:16:44 +02:00
0bf9268453 Keep peers in a hash table to allow fast address lookups 2014-04-19 23:54:10 +02:00
194e1c878a Keep a vector of pollfds instead of regenerating it all the time 2014-04-19 22:03:07 +02:00
6798a76ffa Store peers as vectors of pointers instead of linked lists 2014-04-19 20:00:36 +02:00
2e14d72936 Make eth_addrs a vector 2014-04-19 19:07:18 +02:00
e59ff6e444 Add vector macros 2014-04-19 19:06:48 +02:00
a184210f2e Fix handling of new temporary peers 2014-04-19 03:53:11 +02:00
bcc97326a2 Free on-connect handler on exit 2014-04-19 03:50:42 +02:00
38141a902a dlist: remove unused includes 2014-04-19 02:44:19 +02:00
86888f3e1b Optimize maintenance routine (and don't run it more often than necessary) 2014-04-19 02:09:35 +02:00
d4c410f99a shell: unblock SIGCHLD before exec 2014-04-18 16:54:32 +02:00
e6ad38a540 Fix zombie process cleanup 2014-04-18 16:50:32 +02:00
87dd930bed Clean up shell command handling 2014-04-18 16:36:16 +02:00
dd5d95468e Simplify handling of on-verify commands 2014-04-13 18:53:21 +02:00
296fac170c Break very long line 2014-04-13 18:32:11 +02:00
e628a01fff Add on-connect hook 2014-04-13 18:21:17 +02:00
7cac6770e0 Add support for async commands 2014-04-11 18:56:47 +02:00
a45a313422 Improve shell command config handling 2014-04-11 15:50:43 +02:00
e5a8f90035 Add support for multiple async message types 2014-04-10 21:04:27 +02:00
80f981c052 Move handling of resolve returns requests to a new source file 2014-04-10 20:17:18 +02:00
2b3043e578 Use #pragma once 2014-04-10 19:42:06 +02:00
4ab823eb50 Set IP_FREEBIND 2014-04-06 12:31:51 +02:00
04842eebd0 Various fixes in --bind command line option
Specifying a port with "any" address and using scoped IPv6 link-local addresses
is possible now.
2014-03-25 07:08:32 +01:00
5b82a1dc8b Rename man page to fastd.1 2014-03-25 06:43:04 +01:00
b97deaecc5 Don't depend on libsystemd-daemon for systemd integration, always use systemd integration on Linux 2014-03-25 06:14:13 +01:00
2a1ad90ae3 Add a man page 2014-03-24 19:56:10 +01:00
3e92a28369 Move systemd service file from examples dir to doc 2014-03-24 18:19:11 +01:00