summaryrefslogtreecommitdiffstats
path: root/src/fastd.c
AgeCommit message (Collapse)Author
2013-11-02Move a few prototypes from fastd.h into a new config.hMatthias Schiffer
2013-11-02Convert ghash to the new crypto algorithm schemeMatthias Schiffer
2013-11-02Implement the first step towards a more flexible way to support crypto methodsMatthias Schiffer
2013-10-29Allow using libsodium instead of NaClMatthias Schiffer
As libsodium has some strange include files (like a version.h), we try to use absolute include paths whenever possible in fastd now and rename our generated headers.
2013-10-28Organize method and protocol source files into distinct source directoriesMatthias Schiffer
2013-09-06Change directory to / when privileges are dropped or the user is changedMatthias Schiffer
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 that there is always a handshake enqueued after sending a ↵Matthias Schiffer
handshake finish This ensures that the handshake is repeated in case the finish packet is lost.
2013-08-27Introduce new log level debug2 for potentially very frequent messagesMatthias 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-12Install signal handlers later so key generation can be interruptedMatthias 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-07Include net/if_tun.h instead of linux/if_tun.h on non-Linux systemsMatthias Schiffer
2013-07-29Fix assertion fail on key renewal handshakes with peers without remotesMatthias 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-25Move _GNU_SOURCE define to types.hMatthias Schiffer
2013-07-25Improve handling of similar remote resolvesMatthias Schiffer
2013-07-25Set IP_MTU_DISCOVER on socketsMatthias Schiffer
2013-07-24Include IP address in "sending handshake" debug messagesMatthias Schiffer
2013-07-24Allow specifying multiple remote entries for a single peerMatthias Schiffer
2013-07-24Remove handing for packets received on wrong sockets (this shouldn't happen)Matthias Schiffer
2013-07-24Don't let resolves delay handshakesMatthias Schiffer
2013-07-24Don't initialize peers before dropping privilegesMatthias Schiffer
2013-07-23Use schedule_handshake in handle_resolv_returnsMatthias Schiffer
2013-07-23Don't trigger a resolve when a packet from an unknown peer is receivedMatthias Schiffer
2013-07-12Supply the correct sockaddr size for bindMatthias Schiffer
2013-05-20Optimize send_all() to allow zero-copy TUN modeMatthias Schiffer
2013-05-20Add send_all() function to reduce duplicate codeMatthias Schiffer
2013-05-19Simplify TUN/TAP receive handlingMatthias Schiffer
2013-05-19Simplify send funktionMatthias Schiffer
2013-05-19Cast void* to char* before pointer arithmeticMatthias Schiffer
2013-05-19Simplify handling of received packetsMatthias Schiffer
2013-05-19Add a missing return in handle_socket_receive_known()Matthias Schiffer
2013-05-19Simplify socket receive pathMatthias 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-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-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-08Allow disabling previously enabled peersMatthias Schiffer
2013-03-08Disable peer configs by default, enable on peer creationMatthias Schiffer
This allows to remove some duplicate code, and will simplify the detection and handling of duplicate keys.
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-02Don't crash on empty UDP packetsMatthias Schiffer
2013-03-02Print error message on aborts due to buffer push/pull errorsMatthias Schiffer