summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)Author
2013-09-06Change directory to / when privileges are dropped or the user is changedMatthias Schiffer
2013-09-03Add packet/byte statisticsMatthias Schiffer
2013-08-30Demote some sendmsg warnings to debug and debug2 levelsMatthias 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-28Remote unused fastd_task_replace_peer()Matthias Schiffer
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-28ec25519: reset peers as soon as their current session times outMatthias Schiffer
2013-08-28Cancel the session establishment earlier when the address can't be claimed ↵Matthias Schiffer
by the peer There is no reason to run through all the session establishment just to cancel it a moment later.
2013-08-28Introduce constants for tristate valuesMatthias Schiffer
2013-08-27Introduce new log level debug2 for potentially very frequent messagesMatthias Schiffer
2013-08-26options: change `config error' to `command line error' messagesMatthias Schiffer
2013-08-25ec25519-fhmqvc: use different handshake keys as initiator and responderMatthias Schiffer
This ensures that even in the unlikely case of a crossed handshake fastd will never establish two sessions with the same encryption key
2013-08-25ec25519-fhmqvc: put public and secret keys together in a keypair structureMatthias Schiffer
2013-08-20OpenBSD doesn't support IPv4 on IPv6 socketsMatthias Schiffer
2013-08-20Use v4-mapped addresses for IPv4 peers on IPv6 socketsMatthias Schiffer
This is needed at least on FreeBSD
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-19ec25519: add alignment attributes to all keys used as hash inputsMatthias Schiffer
2013-08-19ec25519: reorder some code to fix a false-positive "may be used ↵Matthias Schiffer
uninitialized" warning
2013-08-18ec25519: minor code simplifications in handshake handlingMatthias Schiffer
2013-08-17Cache values calculated in the handshake reponse to reuse them in the finish ↵Matthias Schiffer
handling
2013-08-17Make handshake records const uint8_t* instead of void*Matthias Schiffer
This enforces explicit casting and thus avoids alignment problems.
2013-08-17Slightly improve the SHA256 APIMatthias Schiffer
2013-08-17Check closedir return valueMatthias Schiffer
Just for the sake of completeness.
2013-08-17Use readdir instead of readdir_rMatthias Schiffer
readdir_r can be unsafe for very long filenames.
2013-08-16lex: fix scanning of IPv6 addressesMatthias Schiffer
2013-08-16Fix segfault on single peer includes without nameMatthias Schiffer
2013-08-15Always compile with -Wall (and fix other property settings)Matthias Schiffer
2013-08-15Align sender keyMatthias Schiffer
Unaligned access might be a problem on some architectures, so it's better to copy it to an aligned buffer before further handling the handshake.
2013-08-15Replace NaCl's HMAC implementationMatthias Schiffer
2013-08-15Add small SHA256 implementationMatthias Schiffer
The NaCl implementation has a code size of more than 10KiB.
2013-08-14Allow disabling redundant command line optionsMatthias Schiffer
2013-08-14Change the order of the option handlers to match the option definionMatthias Schiffer
2013-08-14Reorder command line options in usage message and add separating empty linesMatthias Schiffer
2013-08-14lex: don't check for NULL before freeMatthias Schiffer
2013-08-14lex: various fixesMatthias Schiffer
2013-08-14Implement new lexer that is not generated by flex to reduce code sizeMatthias Schiffer
2013-08-13lexer: reduce code sizeMatthias Schiffer
2013-08-13lexer: simplify whitespace handlingMatthias Schiffer
2013-08-13lexer: simplify IPv6 address matchingMatthias Schiffer
2013-08-12Add pre-up and post-down handlersMatthias Schiffer
2013-08-12Improve interface name handlingMatthias Schiffer
2013-08-12Improve integer checksMatthias Schiffer
2013-08-12Install signal handlers later so key generation can be interruptedMatthias Schiffer
2013-08-12config: check (and fix) some integer limitsMatthias Schiffer
2013-08-12lexer: enter NEEDSPACE context after an IP addressMatthias Schiffer
2013-08-11Only link with librt when necessaryMatthias Schiffer