summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-01-09ec25519-fhmqvc: optimize handshake by using embedded group element verificationMatthias Schiffer
Using the embedded group element verification allows us to get away without explicit verification, thus needing one scalar multiplication less. This reduces the number of expensive operations needed for a handshake to three: one Galois field square root (for key unpacking) and two scalar multiplications. For this optimization to be secure, private keys must be divisible by 8. This is the case for all keys generated with all but extremely old versions of fastd (pre-0.4). If fastd finds that its secret is not divisible by 8, it will refuse to start now.
2015-01-09Move protocol-specific TLV specifications to main handshake record enumMatthias Schiffer
2015-01-09poll: define SYS_epoll_pwait if it isn't availableMatthias Schiffer
2015-01-09ec25519-fhmqvc: unpack peers' keys only onceMatthias Schiffer
2015-01-09poll: directly call epoll_pwait syscall instead of using the libc wrapperMatthias Schiffer
There are systems without the wrapper (e.g. older Android versions), and the wrapper is broken in some versions of uClibc.
2015-01-09More comment fixesMatthias Schiffer
2015-01-09Add support for a new big-endian handshake formatMatthias Schiffer
Because of strange dicisions in the past, fastd currently uses little endian type and length values in its handshake. As the common network byte order is big endian, changing the handshake format would be preferable. This commit adds support for a new big-endian handshake. For now, fastd will continue to send little-endian handshakes so ensure backwarts compatiblity, but if it receives a big-endian handshake, it will respond with a big-endian one.
2015-01-08ecc25519-fhmqvc: add doxygen comments to the key check functionsMatthias Schiffer
2015-01-06status socket: better error messages on bind errorsMatthias Schiffer
2015-01-06ec25519-fhmqvc: additional key checksMatthias Schiffer
Until now, it wasn't checked if a public key was the identity element. I don't think this mistake allows any actual attacks against the handshake though.
2015-01-06handshake: get rid of stpcpyMatthias Schiffer
stpcpy was added in POSIX.1-2008 and is not present on some systems like Android.
2014-11-15Development versionMatthias Schiffer
2014-11-15fastd v16v16Matthias Schiffer
2014-11-15fastd v16 release notesMatthias Schiffer
2014-11-15Use the peer key instead of the name as keys in the status socket outputMatthias Schiffer
This fixes the status socket segfault in a nicer way than the reverted commit "Use peer specifier from log instead of the peer name for the status output".
2014-11-15ec25519-fhmqvc: extend describe_peer to return the whole keyMatthias Schiffer
2014-11-15Revert "Use peer specifier from log instead of the peer name for the status ↵Matthias Schiffer
output" This reverts commit be929dbe2dffa82ca1f91538f56a1bb0490000bd.
2014-11-15Fix segfault when checking peer addressesMatthias Schiffer
This segfault would occur when a peer with a static IP address (e.i. not a hostname resolved via DNS) is read, and any other peer after that.
2014-11-12doc: add documentation for the status socket optionMatthias Schiffer
2014-11-12Use peer specifier from log instead of the peer name for the status outputMatthias Schiffer
This fixes a crash when status sockets are used with peers without names, but the JSON output format is changed: named peers will now use "<name>" as key instead of "name".
2014-11-11Development versionMatthias Schiffer
2014-11-11fastd v15v15Matthias Schiffer
2014-11-11ec25519-fhmqvc: add missing Doxygen commentMatthias Schiffer
2014-11-11doc: update manpageMatthias Schiffer
2014-11-11docs: examples/openwrt: support all handler commands via UCIMatthias Schiffer
2014-11-07examples: openwrt/fastd.init: allow specifying bind interfacesMatthias Schiffer
2014-11-06docs: even more release note fixes...Matthias Schiffer
2014-11-06docs: another release note fixMatthias Schiffer
2014-11-05v15 release note improvementMatthias Schiffer
2014-11-05Add fastd v15 release notesMatthias Schiffer
2014-11-05docs: update config exampleMatthias Schiffer
2014-11-05docs: documentation of crypto algorithmsMatthias Schiffer
2014-10-27docs: fix typoMatthias Schiffer
2014-10-27docs: fixes for PDF buildMatthias Schiffer
2014-10-27docs: FHMQV-CMatthias Schiffer
2014-10-26docs: ec25519Matthias Schiffer
2014-10-26docs: handshake documentationMatthias Schiffer
2014-10-22Use big endian for handshake field values by defaultMatthias Schiffer
At the moment the only multi-byte field is the MTU; it is kept in little endian to provide backwards compatiblity. Future fields will be big endian.
2014-10-13ec25519-fhmqvc: improve unknown key messageMatthias Schiffer
2014-09-26Don't forward frames with local destination MAC addressMatthias Schiffer
2014-09-26Move get_source_address and get_dest_address to fastd.hMatthias Schiffer
2014-09-26Add some (very incomplete) protocol documentationMatthias Schiffer
2014-09-20Some handshake fixes for future protocol extensionsMatthias Schiffer
Extensions for arbitrary-length integers.
2014-09-18Make CMake fail if json-c is required, but not foundMatthias Schiffer
2014-09-16More fixes for zero-length VLAsMatthias Schiffer
2014-09-16Fix undefined behaviour due to zero length VLAs in null+* methodsMatthias Schiffer
2014-09-16Add status socket option to OpenWrt example filesMatthias Schiffer
2014-09-15Add status.pl example scriptMatthias Schiffer
2014-09-15Don't try to poll on invalid status socket FDMatthias Schiffer
2014-09-15Reorder fields of the peer structureMatthias Schiffer
This tries to get the structure a bit smaller and improve cache locality.