summaryrefslogtreecommitdiffstats
path: root/src/handshake.c
AgeCommit message (Collapse)Author
2013-11-30Perform string-based lookup of method-related information only onceMatthias Schiffer
2013-10-31Change error subcode for unsupported method from method name to method listMatthias Schiffer
When two peers don't support a common method, fastd should notice this in the list stage, so the method list subcode is correct. The method name subcode was a legacy of the 0.4 compatiblity code.
2013-10-29handshake: get_method() code simplificationMatthias Schiffer
2013-10-29Drop compatiblity code for fastd 0.4Matthias Schiffer
2013-10-29Handle methods as stringsMatthias 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-24Fix maybe-uninitialized warningMatthias 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-20Don't send chosen method name when it doesn't matterMatthias Schiffer
2013-10-20Align handshake bufferMatthias Schiffer
2013-10-20Always check for mode and protocol mismatchesMatthias Schiffer
This was accidentially disabled in the previous commit for initial handshake requests.
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-10-16Initiate handshake when a packet can't be sent because the local address is ↵Matthias Schiffer
invalid
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-17Make handshake records const uint8_t* instead of void*Matthias Schiffer
This enforces explicit casting and thus avoids alignment problems.
2013-07-25Move _GNU_SOURCE define to types.hMatthias Schiffer
2013-06-09Fix some whitespace errorsMatthias Schiffer
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-21Fix indentation in handshake packet allocMatthias Schiffer
2013-01-21Add error message for OOM on buffer allocMatthias Schiffer
2013-01-05Adjust copyright yearsMatthias Schiffer
2013-01-04Move const specifiers in handshake record names to the correct placeMatthias 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-02Remove unneeded includeMatthias Schiffer
2012-07-01Add missing _GNU_SOURCE definitionMatthias Schiffer
2012-07-01Add support for multiple crypto methods without reconfigurationMatthias Schiffer
2012-07-01Fix invalid print on handshake failure with an unknown code.Matthias 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-14Reduce task queue usageMatthias Schiffer
2012-04-14Fix reply for failed handshakesMatthias Schiffer
2012-04-14Separate handshake from encryption methodMatthias Schiffer
2012-04-02Critical fix of a bug allowing DoS by sending invalid handshakesv0.1-rc4Matthias 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-31Trigger handshake when unexpected data is received from a floating peerMatthias Schiffer
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-28Make crypto handshake with floating peers workMatthias Schiffer
2012-03-27New handshake format; don't respond to data packets from unknown peers with ↵Matthias Schiffer
handshakes, but request a re-handshake