summaryrefslogtreecommitdiffstats
path: root/src/types.h
AgeCommit message (Collapse)Author
2015-11-18Unify periodic handshakes and peer maintenanceMatthias Schiffer
2015-11-17Use task queue for peer resets and keepalivesMatthias Schiffer
This makes it unnecessary to iterate over all peers for maintenance, and desynchronizes different peers' keepalives.
2015-11-10Implement generic task queue to handle handshakes and maintenanceMatthias Schiffer
2015-11-10Add efficient priority queue implementationMatthias Schiffer
2015-06-25Don't depend on net/if_ether.hMatthias Schiffer
Instead of adding compatiblity code to make this work with musl, just duplicate the needed definitions in fastd.
2015-03-23Add multitap modeMatthias Schiffer
This new mode of operation uses one TAP interface per peer.
2015-03-22Add missing Doxygen commentsMatthias Schiffer
2015-03-22First work towards multi-interface supportMatthias Schiffer
2015-03-22Refactor poll APIMatthias Schiffer
2015-01-14Update copyright yearsMatthias 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.
2014-08-28Add UHASH implementationMatthias Schiffer
2014-08-24Use simple int64_t timestamps in ms instead of timespecsMatthias Schiffer
2014-08-24Merge peer config into peer structureMatthias Schiffer
With this refactoring, the structure fastd_peer_config_t is merged into fastd_peer_t, and fastd_remote_config_t into fastd_remote_t. This also means we now create peers directly when reading their configurations, which significantly simplifies the whole reload process, and prepares for some future optimizations like a key hash table. Note: This commit is too big, but I couldn't come up with a nice way to split it into smaller pieces...
2014-06-10Clean up peer config loadingMatthias Schiffer
Instead of changing the peer list and peer group in the main conf during (re-)loading, add a parser state which contains this information.
2014-05-28Still more documentationMatthias Schiffer
2014-05-27More documentationMatthias Schiffer
2014-05-25Unify fastd_peer_group_t and fastd_peer_group_config_t into a single structureMatthias Schiffer
2014-05-25Completely document fastd.hMatthias Schiffer
2014-05-22Document types.hMatthias Schiffer
2014-05-22Move fastd_loglevel_t to log.hMatthias Schiffer
2014-05-22Move fastd_peer_state_t to peer.hMatthias Schiffer
2014-05-22Remove PACKET_TYPE_LEN defineMatthias Schiffer
2014-05-01Remove support for log filesMatthias Schiffer
syslog/journald do a much better job at organizing logs, with the additional advantage of proper log rotation. If someone really wants to have a log file for fastd, they can just redirect stderr.
2014-04-26Implement async verifyMatthias Schiffer
2014-04-26Revise shell command APIMatthias Schiffer
2014-04-11Improve shell command config handlingMatthias Schiffer
2014-04-10Add support for multiple async message typesMatthias Schiffer
2014-04-10Use #pragma onceMatthias Schiffer
2014-03-14Adjust copyright yearsMatthias Schiffer
2014-03-10Remove aligned data_t type againMatthias Schiffer
2014-01-27Add an aligned uint8_t type data_t and use it to ensure the alignment of ↵Matthias Schiffer
various buffers on the stack
2014-01-26Add minimum handshake interval for unknown addresses (handles up to 8 ↵Matthias Schiffer
addresses for now)
2013-11-30Make the crypto implementations independent of fastd.h (and fix more minor bugs)Matthias Schiffer
2013-11-30Rename methods to methods providers and method contexts to methods to ↵Matthias Schiffer
reflect their function better
2013-11-30Perform string-based lookup of method-related information only onceMatthias Schiffer
2013-11-30Remove cipher and MAC contextsMatthias Schiffer
Not a single implementation was using them...
2013-11-25Move crypto algorithm information out of implementationMatthias 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-10-19Get rid of packet.hMatthias Schiffer
2013-09-03Add packet/byte statisticsMatthias Schiffer
2013-08-28Introduce constants for tristate valuesMatthias Schiffer
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-14Implement new lexer that is not generated by flex to reduce code sizeMatthias Schiffer
2013-08-07Move some includes to compat.hMatthias Schiffer
2013-08-07Add sys/types.h includeMatthias Schiffer