6da79ddb9b
Some handshake fixes for future protocol extensions
...
Extensions for arbitrary-length integers.
2014-09-20 17:51:20 +02:00
50390abdee
Make CMake fail if json-c is required, but not found
2014-09-18 17:24:06 +02:00
1788de0cc1
More fixes for zero-length VLAs
2014-09-16 16:26:31 +02:00
18e13778e5
Fix undefined behaviour due to zero length VLAs in null+* methods
2014-09-16 03:47:33 +02:00
86f2b8b72d
Add status socket option to OpenWrt example files
2014-09-16 02:31:08 +02:00
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