Commit graph

863 commits

Author SHA1 Message Date
dda9809683 ec25519-fhmqvc: drop is_established test in protocol_handle_recv()
handle_socket() now tests it before calling handle_recv
2013-04-20 20:03:47 +02:00
289a3ee320 Always include interface name for link-local addresses 2013-04-20 18:53:10 +02:00
3fcb880682 Greatly improve handling of hosts with multiple IP addresses 2013-04-20 18:43:12 +02:00
daf3d6e8db Fix handling of the local address in shell commands
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-04-17 21:44:02 +02:00
41ea8e4549 Set development version 2013-03-30 19:51:54 +01:00
d9ce47b2da Don't read the default peer group twice on startup
There are no negative consequences when the peers are loaded twice, but we can
spare some log spam like this.
2013-03-21 23:48:05 +01:00
bd982075b9 Remove debian init script again
This reverts commit 0f7aac271c.

The scripts live in the /debian directory of the Debian package source, there
is no reason to duplicate them in this git.
2013-03-21 23:44:59 +01:00
Nils Schneider
0f7aac271c add debian init script to examples/
fastd-debian-init should be copied to /etc/init.d/fastd
fastd-debian-default should be copied to /etc/default/fastd
2013-03-12 18:20:38 +01:00
ece6f99436 fastd v8 2013-03-10 18:34:37 +01:00
631c13d247 Add options to hide IP and MAC addresses from log output 2013-03-09 22:54:06 +01:00
ec8109fa53 Don't try to add temporary peers for disabled keys 2013-03-09 10:42:37 +01:00
f4e8956256 Fix crash on invalid key definitions 2013-03-08 22:16:06 +01:00
103133c2fc Handle duplicate keys
When two peers are configured with the same key, disable both. When a temporary
peer's key is configured, delete the temporary key.
2013-03-08 22:07:02 +01:00
56255a15a3 Really fix adding new peers from a peer dir 2013-03-08 21:56:10 +01:00
ef3db76e37 Don't forget all peers when no peers are configured in peer dirs 2013-03-08 21:26:40 +01:00
8b96055088 Don't lose all but one peer configured in peer dirs after loading
This regression was introduced in 4e9b2a8819.
2013-03-08 20:28:31 +01:00
11f1c9adca Allow disabling previously enabled peers 2013-03-08 20:25:17 +01:00
4e9b2a8819 Disable peer configs by default, enable on peer creation
This allows to remove some duplicate code, and will simplify the detection and
handling of duplicate keys.
2013-03-08 19:22:53 +01:00
5c859a2408 Simplify git-describe call and make it more robust 2013-03-05 08:02:51 +01:00
80b7cbe9d9 Fix git-describe for paths with spaces 2013-03-04 21:12:11 +01:00
0001460efa Suppress error message when no .git directory is found 2013-03-04 20:36:09 +01:00
367d37aaf2 Fix git-describe version command 2013-03-04 20:31:00 +01:00
08a60265a2 Load peer dirs in the last step of the configuration
Loading the peer dirs directly led to peers being discovered in a different
order after reconfigure.
2013-03-04 17:24:43 +01:00
195be08c47 Make 'peer limit 0' allow no connections 2013-03-03 18:41:36 +01:00
ff78f87f9b Fix typo in --log-level help text 2013-03-03 08:34:56 +01:00
be28b733d8 Remove the word "version" from usage text
It is now included in the version string itself.
2013-03-03 05:48:15 +01:00
4af0c6c0bc Don't crash on empty UDP packets 2013-03-02 14:32:54 +01:00
84413b1fe3 Print error message on aborts due to buffer push/pull errors 2013-03-02 14:25:06 +01:00
65af863089 Re-verify unknown peers on each handshake 2013-03-01 07:04:09 +01:00
68bb9f3996 Identify peers be key in log output when no name is available 2013-03-01 06:42:05 +01:00
e5415f2b02 Allow temporary peers when no other floating or dynamic peers are configured 2013-02-27 21:23:19 +01:00
69452cb695 Don't include linux/if_alg.h when it is not needed 2013-02-27 18:22:04 +01:00
ddb4831f06 Don't set the peer address for temporary peers before the session is 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-27 04:42:50 +01:00
3fb7af313f Refactor fastd_peer_claim_address 2013-02-27 04:23:50 +01:00
0b2285d570 Don't reset "seen" timestamp on peer reset 2013-02-26 23:07:41 +01:00
4ab4858d54 Experimental support for accepting connections from unknown peers 2013-02-26 01:02:35 +01:00
87b9b80a55 Fix shell command exit status message, for real. 2013-02-25 21:54:00 +01:00
2041c0c21c Fix shell exit status warning condition 2013-02-25 21:47:51 +01:00
f19b8c4d82 Rewrite 'git describe' version support to update the version whenever needed 2013-02-25 07:01:28 +01:00
da76188360 Add public keys to shell environment 2013-02-25 05:26:45 +01:00
0b6cc8b646 Set some more environment variables for shell commands 2013-02-25 05:01:45 +01:00
698ede3ce4 Get rid of some duplicate code for calling shell commands 2013-02-25 04:48:11 +01:00
b3ba14d473 Differentiate between reasons for ignoring a handshake 2013-02-23 21:23:44 +01:00
54c6ff1c41 Subtract splay time to key refresh interval
A random splay time of up to 5 minutes will ensure that simultaneous handshakes
with many peers are desynchronized as fast as possible.
2013-02-23 20:16:13 +01:00
48a3812435 Fail initialization when a default socket can't be bound 2013-02-23 20:08:51 +01:00
9a0cba318b Print port for "any" address in bind log messages 2013-02-23 20:00:03 +01:00
eeb1d34f36 Implement simple peer dump triggered by SIGUSR1 2013-02-23 19:48:55 +01:00
14e1db6c57 Use git version with --dirty 2013-02-23 19:30:57 +01:00
67b5d50701 Use 'git describe' output as version string when available 2013-02-23 18:46:23 +01:00
2c0f4a5abb Use fastd_peer_t instead of fastd_peer_config_t in handshake code
Directly using the peers allows us to get rid of the inefficient get_peer()
function and is necessary for adding support for unknown peers.
2013-02-23 14:28:33 +01:00