Commit graph

842 commits

Author SHA1 Message Date
f8d45bbe9e Add status.pl example script 2014-09-15 17:40:21 +02:00
00e313d7e9 Don't try to poll on invalid status socket FD 2014-09-15 17:19:15 +02:00
cfc893eae9 Reorder fields of the peer structure
This tries to get the structure a bit smaller and improve cache locality.
2014-09-15 16:58:55 +02:00
316180d885 status: add uptime and established times 2014-09-15 16:35:34 +02:00
7ebbe05f46 Add per-peer stats 2014-09-12 16:53:24 +02:00
d116950984 Restructure traffics stats to keep all stats in a single structure 2014-09-12 16:35:15 +02:00
3b18fc42b9 ec25519-fhmqvc: refactor old session check code 2014-09-10 02:43:23 +02:00
bcc60920ca Add current method of connections to status output 2014-09-09 19:35:06 +02:00
de7f8c4765 Fix copyright of the OpenWrt init script
I wrote it myself, so it's better if the copyright notice matches the rest of
fastd.
2014-09-09 02:44:50 +02:00
2eb0efacac Move systemd unit to a new doc/examples dir, add OpenWrt example config and init script 2014-09-08 22:40:27 +02:00
80b1412c65 Make stats of reordered packets 2014-09-08 20:30:44 +02:00
58b8518100 Move UNUSED attribute to the start of arguments to help editors understand the syntax 2014-09-06 01:33:26 +02:00
1e540bed62 Don't count stats when WITH_STATUS_SOCKET is not set 2014-09-06 00:54:28 +02:00
fc250931e8 Fix async command waitpid error handling (again...) 2014-09-06 00:49:28 +02:00
76becb4729 Fix poll initialization on systems without epoll 2014-09-06 00:41:15 +02:00
2561266c15 Add status socket to get the current status as JSON 2014-09-05 22:43:11 +02:00
5f898aa52f Dynamically grow hashtable when there are more than twice as many entries as buckets
This allows us to start with a much smaller hashtable and scale much higher.
2014-09-05 00:22:21 +02:00
95c81c5d77 Support dynamic binds with extra options (interface binds, specific addresses...) 2014-09-04 23:54:24 +02:00
4bb2d6fb99 Nicer handshake error messages instead of "unacceptable value" 2014-09-04 23:02:22 +02:00
c34b202fa9 Add user manual as Sphinx doc 2014-09-04 21:09:12 +02:00
64257e6eae Fix UHASH build on MacOS X 2014-09-03 18:00:10 +02:00
639ea07d77 Fix clock_gettime() on MacOS X 2014-09-03 18:00:10 +02:00
ed0aec25c5 Fix UHASH build on *BSD 2014-09-03 17:41:11 +02:00
edbfeca6ce Remove old state dump feature
It will be replaced by a nicer version.
2014-09-01 22:27:51 +02:00
715f2e467f Add missing docs to secure_memequal and block_equal 2014-09-01 22:05:50 +02:00
181715c5bc Add alloc helpers for aligned allocations 2014-09-01 22:03:43 +02:00
1a30018711 Add missing stdbool.h include to dlist.h 2014-09-01 21:56:31 +02:00
415020dcc3 Ensure peer add/delete messages are printed for the same peers 2014-09-01 21:52:47 +02:00
9225a4550a Replace memcmp with a constant-time version in some places 2014-08-31 16:21:24 +02:00
46a82c570c Add generic-umac and composed-umac methods based on UMAC 2014-08-28 18:46:02 +02:00
a681219a92 Add UHASH implementation 2014-08-28 16:34:10 +02:00
398f78c1ff Revert "Experimental HMAC-SHA1 implementation"
We don't really want to support it, and it's slower than GHASH...

This reverts commit 9bf4982637.
2014-08-28 15:42:56 +02:00
b4a53fddb8 Move some utility funtions to a new header 2014-08-25 17:23:05 +02:00
9bf4982637 Experimental HMAC-SHA1 implementation
This adds experimental support for <cipher>+hmac-sha1 methods. It currently
depends on OpenSSL and is not yet ready for production use.
2014-08-25 02:19:32 +02:00
f2d84afd9d MAC: rename hash() to digest() and change length unit from blocks to bytes 2014-08-25 00:09:19 +02:00
9855a34f48 Coding style: always add a space between a pointer's type and the * 2014-08-24 21:06:09 +02:00
1ae3aae351 Use simple int64_t timestamps in ms instead of timespecs 2014-08-24 16:07:50 +02:00
4c0623a080 Exit if invalid peers are configured on the command line 2014-08-24 03:31:12 +02:00
d42e9d9b1a Don't output "adding peer" messages for static peers
Otherwise log messages are emitted to early.
2014-08-24 03:19:15 +02:00
25c9d93516 Improve error messages for invalid static peers 2014-08-24 03:17:50 +02:00
e7b0801809 Fix function name in comment 2014-08-24 02:55:09 +02:00
6a178be29f Instead of replacing changed peers, delete and re-add them
This ensures they get a new ID, so asychronous replies for the old config aren't
associated with the new one.
2014-08-24 01:46:30 +02:00
b54d87d26f Fix waitpid EINTR error on SIGCHLD
waitpid may fail with EINTR for SIGCHLD even when all signals are blocked.
2014-08-24 01:33:02 +02:00
1d38bad857 Fix connections to peers with static addresses 2014-08-24 01:14:02 +02:00
a04bcf247f Merge peer config into peer structure
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-24 01:00:45 +02:00
ad4999488e Remove VECTOR_ALLOC
It is done automatically now if the VECTOR is zeroed before.
2014-08-22 17:47:51 +02:00
35a18b1dea Create peer structures for disabled peers as well
We have a 1:1 association between peers and peer configs now.
2014-08-19 00:21:38 +02:00
21ade840c9 Unify enabled and dynamic flags into a config_state flag 2014-08-18 22:52:25 +02:00
c9c7cbb67c Remove a few now unneeded peer->config NULL checks 2014-08-18 22:44:57 +02:00
d39193123e Fix a few comment typos 2014-08-18 22:33:01 +02:00