summaryrefslogtreecommitdiffstats
path: root/src/fastd.h
AgeCommit message (Collapse)Author
2013-10-31Implement HKDFMatthias Schiffer
2013-10-31Rename session_init to session_init_compat to prepare for the upcoming new ↵Matthias Schiffer
key derivation scheme
2013-10-29Rename fastd_parse_method_name to fastd_method_get_by_nameMatthias Schiffer
2013-10-29Handle methods as stringsMatthias Schiffer
2013-10-16Add `secure handshakes' option (without effect for now)Matthias Schiffer
Not setting the option produces a warning (so not having it set is deprecated now), so we can change the default from no to yes in a few release cycles.
2013-10-16Initiate handshake when a packet can't be sent because the local address is ↵Matthias Schiffer
invalid
2013-09-03Add packet/byte statisticsMatthias 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-29Simplify keepalive sendingMatthias Schiffer
By using a global keepalive timer, the O(n) keepalive queue purge operation on every send operation is avoided.
2013-08-28ec25519: ensure old sessions are invalidated quickly after a new one has ↵Matthias Schiffer
been established
2013-08-27Introduce new log level debug2 for potentially very frequent messagesMatthias Schiffer
2013-08-20Prevent zero-before-free operations from being optimized outMatthias Schiffer
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-12Add pre-up and post-down handlersMatthias Schiffer
2013-08-07Use multi-af tun mode on FreeBSD to make IPv6 work on tunMatthias Schiffer
2013-08-07Move tun/tap initialization to a dedicated source fileMatthias Schiffer
2013-08-07Move some includes to compat.hMatthias Schiffer
2013-08-07Guard socket options not available on FreeBSDMatthias Schiffer
2013-08-07Add some compatiblity definitions for FreeBSDMatthias Schiffer
2013-08-07Reorder includes to make FreeBSD happyMatthias Schiffer
2013-08-07Use netinet/if_ether.h instead of linux/if_ether.hMatthias Schiffer
2013-07-25Move command line handling out of config.cMatthias Schiffer
2013-07-25Move more code out of fastd.cMatthias Schiffer
2013-07-25Move send functions out of fastd.cMatthias Schiffer
2013-07-25Move socket handling out of fastd.cMatthias Schiffer
2013-07-25Improve handling of similar remote resolvesMatthias Schiffer
2013-07-25Set IP_MTU_DISCOVER on socketsMatthias Schiffer
2013-07-25Introduce tristate typeMatthias Schiffer
2013-07-24Allow specifying multiple remote entries for a single peerMatthias Schiffer
2013-07-23Don't trigger a resolve when a packet from an unknown peer is receivedMatthias Schiffer
2013-05-20Add send_all() function to reduce duplicate codeMatthias Schiffer
2013-05-19Simplify handling of received packetsMatthias Schiffer
2013-04-24String stack buffer sizes must be aligned because of optimized strlen builtins.Matthias Schiffer
2013-04-22Miscellaneous fixes in ethernet address handlingMatthias Schiffer
Check the length of ethernet frames, and the fastd_eth_addr_t structure must be packed.
2013-04-20Just some whitespace fixesMatthias 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-09Add options to hide IP and MAC addresses from log outputMatthias Schiffer
2013-03-08Handle duplicate keysMatthias Schiffer
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-04Load peer dirs in the last step of the configurationMatthias Schiffer
Loading the peer dirs directly led to peers being discovered in a different order after reconfigure.
2013-03-03Make 'peer limit 0' allow no connectionsMatthias Schiffer
2013-03-02Print error message on aborts due to buffer push/pull errorsMatthias Schiffer
2013-03-01Identify peers be key in log output when no name is availableMatthias 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-26Experimental support for accepting connections from unknown peersMatthias Schiffer
2013-02-25Add public keys to shell environmentMatthias Schiffer
2013-02-25Get rid of some duplicate code for calling shell commandsMatthias Schiffer
2013-02-23Subtract splay time to key refresh intervalMatthias Schiffer
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-23Use fastd_peer_t instead of fastd_peer_config_t in handshake codeMatthias Schiffer
Directly using the peers allows us to get rid of the inefficient get_peer() function and is necessary for adding support for unknown peers.