summaryrefslogtreecommitdiffstats
path: root/src/handshake.h
AgeCommit message (Collapse)Author
2016-09-15handshake: fix fastd_handshake_add_uint logicMatthias Schiffer
The function would add multipe records for big values. No actual use of this function did trigger the incorrect behaviour though.
2016-02-22Update copyright yearsMatthias Schiffer
2015-06-25Use __attribute__((packed)) instead of __attribute__((__packed__)) consistentlyMatthias Schiffer
2015-03-24Add support for defining the MTU per peerMatthias Schiffer
2015-01-20handshake: delay method parsing until the sender key has been handledMatthias Schiffer
Otherwise fastd won't use the correct peer group's method list for handshakes incoming on generic sockets.
2015-01-14Update copyright yearsMatthias Schiffer
2015-01-14Allow to configure methods per peer groupMatthias Schiffer
2015-01-11More doxygen fixesMatthias Schiffer
I keep forgetting this...
2015-01-09Move protocol-specific TLV specifications to main handshake record enumMatthias Schiffer
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.
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-09-20Some handshake fixes for future protocol extensionsMatthias Schiffer
Extensions for arbitrary-length integers.
2014-08-24Coding style: always add a space between a pointer's type and the *Matthias Schiffer
2014-05-28Still more documentationMatthias Schiffer
2014-05-27More documentationMatthias Schiffer
2014-04-25handshake: simplify fastd_handshake_new_replyMatthias Schiffer
This will hopefully lead to an async verify implementation...
2014-04-20Make ctx globalMatthias Schiffer
2014-04-10Use #pragma onceMatthias Schiffer
2014-03-14Adjust copyright yearsMatthias Schiffer
2013-11-30Perform string-based lookup of method-related information only onceMatthias Schiffer
2013-10-30Add fastd_handshake_add_zero functionMatthias Schiffer
2013-10-29Handle methods as stringsMatthias Schiffer
2013-10-20Don't print fastd version from handshake requests when secure handshakes are ↵Matthias Schiffer
set, instead print it on handshake finish
2013-10-20Refactor handshake code, prevent downgrade attacksMatthias Schiffer
2013-10-19Rename RECORD_HANDSHAKE_MAC to RECORD_TLV_MACMatthias Schiffer
2013-10-19Authenticate the TLV records onlyMatthias Schiffer
2013-10-19Use the rsv2 field in the handshake header as an optional length field to ↵Matthias Schiffer
facilitate future extensions
2013-10-19Get rid of packet.hMatthias Schiffer
2013-10-19Add a HMAC to authenticate all handshake TLVMatthias Schiffer
2013-08-17Make handshake records const uint8_t* instead of void*Matthias Schiffer
This enforces explicit casting and thus avoids alignment problems.
2013-04-20Greatly improve handling of hosts with multiple IP addressesMatthias Schiffer
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.
2013-01-05Adjust copyright yearsMatthias Schiffer
2012-12-18Convert type names to _t conventionMatthias Schiffer
2012-11-01Dynamically create and destroy sockets without fixed bindsMatthias Schiffer
2012-10-29Add support for multiple bindsMatthias Schiffer
2012-07-01Add support for multiple crypto methods without reconfigurationMatthias Schiffer
2012-06-04Add version string to handshakeMatthias Schiffer
2012-04-19Don't regenerate session handshake keypair for every handshake so a global ↵Matthias Schiffer
state can be used; remove the concept of temporary peers These changes will fix the possibility of a TCP-SYN-Flood-like DoS attack, at the cost of another protocol change: as we can't count request IDs when we don't know have temporary peers, request IDs are removed completely.
2012-04-14Separate handshake from encryption methodMatthias Schiffer
2012-04-02Warn on MTU mismatchv0.1-rc3Matthias Schiffer
2012-04-01Use 2 bytes to encode handshake field types and lengths; breaks compatiblity ↵Matthias Schiffer
with v0.1-rc2 and earlier
2012-03-30Make ecfxp protocol work with new handshakeMatthias Schiffer
2012-03-30Rework handshake... again. ecfxp protocol broken, will be fixed with next ↵Matthias Schiffer
commit.
2012-03-28Add license headers to Flex and Bison files; also remove Quicktun note as we ↵Matthias Schiffer
don't actually use any of is code
2012-03-27New handshake format; don't respond to data packets from unknown peers with ↵Matthias Schiffer
handshakes, but request a re-handshake
2012-02-28Make simple handshake workMatthias Schiffer
2012-02-27Use custom buffers instead of struct iovecMatthias Schiffer
2012-02-26Implement I/O for a fixed peerMatthias Schiffer