Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Inline Record_Writer to Channel | lloyd | 2012-09-06 | 6 | -210/+101 |
| | |||||
* | Add Channel::send_record | lloyd | 2012-09-06 | 4 | -8/+18 |
| | |||||
* | Add more functions to Channel, hiding Record_Reader entirely and most | lloyd | 2012-09-06 | 4 | -47/+68 |
| | | | | of Record_Writer. | ||||
* | Make a number of members of Channel private instead of protected | lloyd | 2012-09-06 | 6 | -48/+40 |
| | |||||
* | Record_Reader::m_macbuf no longer used | lloyd | 2012-09-06 | 2 | -5/+0 |
| | |||||
* | Hoist m_rng to Channel | lloyd | 2012-09-06 | 6 | -4/+2 |
| | |||||
* | Move record reading also to a stand alone function | lloyd | 2012-09-06 | 3 | -268/+315 |
| | |||||
* | Move the actual creation of new TLS records to TLS::write_record which | lloyd | 2012-09-06 | 3 | -116/+142 |
| | | | | is side effect free (besides updating CBC state). | ||||
* | Use it for the reader as well | lloyd | 2012-09-06 | 2 | -97/+47 |
| | |||||
* | Move record cipher state to its own class. Currently write side only. | lloyd | 2012-09-06 | 4 | -102/+162 |
| | |||||
* | Do record decryption in place | lloyd | 2012-09-05 | 3 | -32/+55 |
| | |||||
* | Avoid Pipe in Record_Writer, refactoring to move the record I/O up to Channel | lloyd | 2012-09-04 | 2 | -40/+59 |
| | |||||
* | Distinguish read and write specific objects | lloyd | 2012-09-04 | 3 | -65/+65 |
| | |||||
* | Remove Record_Writer::send_alert. Move Alert serialization to Alert::serialize | lloyd | 2012-09-04 | 6 | -29/+31 |
| | |||||
* | Rename m_writer to m_send_hs | lloyd | 2012-09-04 | 2 | -15/+15 |
| | |||||
* | Use a std::function so handshake_io only has access Record_Writer's | lloyd | 2012-09-04 | 7 | -23/+35 |
| | | | | send function. | ||||
* | Avoid putting dword typedef in global namespace | lloyd | 2012-09-04 | 1 | -5/+5 |
| | |||||
* | Avoid conditionals in the power mod ops | lloyd | 2012-09-04 | 2 | -22/+35 |
| | |||||
* | Add a --chost option to configure that takes a GNU style triplet. | lloyd | 2012-08-31 | 4 | -2/+9 |
| | | | | | | Add a couple aliases so the GNU canonical names are understood by us. Add an Ivy Bridge entry, match it up with the new GCC -march flag | ||||
* | Require servers to send us a session ticket message if they sent a | lloyd | 2012-08-14 | 1 | -3/+2 |
| | | | | | | | | | session ticket extension in their hello. This avoids an ambiguity in the DTLS handshake, as there the change cipher spec is not ordered with respect to the other handshake messages. This was never legal per spec, but some versions of GnuTLS seem to offer a session ticket in their hello but then not send a ticket message in the case where they don't have a session ticket key configured. | ||||
* | Fix various issues flagged by cppcheck. Nothing too interesting. | lloyd | 2012-08-13 | 8 | -12/+11 |
| | |||||
* | Missing constant | lloyd | 2012-08-13 | 1 | -0/+2 |
| | |||||
* | Reject SRP6 values which are negative or larger than p since these are | lloyd | 2012-08-11 | 1 | -2/+2 |
| | | | | likely totally bogus. | ||||
* | Working fragmentation. Initial start at flight tracking. | lloyd | 2012-08-10 | 2 | -14/+63 |
| | |||||
* | Hooks for DTLS fragmentation | lloyd | 2012-08-10 | 2 | -12/+32 |
| | |||||
* | Make the CCS message a Handshake_Msg and send it through the handshake | lloyd | 2012-08-10 | 5 | -12/+31 |
| | | | | | IO layer. Needed for DTLS which needs to be able to track and retransmit the CCS if needed. | ||||
* | Const arg of Handshake_IO::send | lloyd | 2012-08-10 | 2 | -5/+5 |
| | |||||
* | Instead of using static salts in the KDF for generating the cipher and | lloyd | 2012-08-09 | 1 | -7/+22 |
| | | | | | | MAC keys for session encryption, randomly generate two 80-bit salt values which are included in the session blob and run the KDF over the master key and the random salts to create the keys. | ||||
* | Remove stray newline | lloyd | 2012-08-09 | 1 | -1/+0 |
| | |||||
* | Lame but usable DTLS defragmentation | lloyd | 2012-08-09 | 2 | -7/+15 |
| | |||||
* | We weren't handling DTLS handshake fragments at all. Now reject them | lloyd | 2012-08-08 | 2 | -24/+35 |
| | | | | | while continuing to work with unfragmented records and add the framework for defragmentation. | ||||
* | Clean up DTLS handshake formatting | lloyd | 2012-08-08 | 2 | -19/+21 |
| | |||||
* | Make Handshake_IO::format const | lloyd | 2012-08-08 | 2 | -5/+5 |
| | |||||
* | Fix DTLS handshake encoding. Handle multiple messages in a packet. | lloyd | 2012-08-08 | 2 | -31/+72 |
| | | | | Handle DTLS CCS correctly. | ||||
* | DTLS needs some help with ChangeCipherSpec because it is not included | lloyd | 2012-08-08 | 5 | -11/+51 |
| | | | | | | | | in the message_seq count. When we are asking for the next handshake msg, tell the handshake IO layer if we are expecting a CCS or not. Then DTLS just needs to track which epoch(s) it has seen the CCS for, and which epoch it is currently in. This is all ignored by the stream IO layer. | ||||
* | Move check of plaintext size to after MAC check. Use assign instead of | lloyd | 2012-08-07 | 1 | -8/+8 |
| | | | | resize+copy_mem. | ||||
* | Remove Handshake_IO::have_full_record and Handshake_IO::empty | lloyd | 2012-08-07 | 3 | -50/+14 |
| | | | | | Have get_next_record return NONE+empty vector if no record availabe. IO::empty was completely unused. | ||||
* | This was in an awkward place | lloyd | 2012-08-07 | 1 | -2/+1 |
| | |||||
* | Track the sequence number and return it from the record reader. Take | lloyd | 2012-08-07 | 5 | -15/+33 |
| | | | | | | | the sequence number into the handshake parser. This is ignored entirely by the stream handshake reader which does not need it, but is needed for DTLS. Track which epoch(s) we have seen a change cipher spec for. | ||||
* | Wrap lines | lloyd | 2012-08-06 | 2 | -2/+7 |
| | |||||
* | Fix parens | lloyd | 2012-08-06 | 1 | -1/+1 |
| | |||||
* | Add a Policy item for if a client will accept a server-initiated | lloyd | 2012-08-06 | 2 | -1/+7 |
| | | | | | renegotiation request. Defaults to true. If false, the client will send a non-fatal no_renegotiation alert. | ||||
* | Expose Handshake_Message as an API type. | lloyd | 2012-08-06 | 9 | -66/+117 |
| | | | | | | | | | | | Use override as appropriate in tls_messages.h Add a callback to Handshake_State which, if set, is called for each Handshake_Message& as it is received or sent. Not yet exposed at the application level. Use default values in client and server hellos to minimize the need for explicit settings in constructors. | ||||
* | Don't need to make these private | lloyd | 2012-08-06 | 1 | -5/+3 |
| | |||||
* | The client wasn't sending a next protocol message on a session | lloyd | 2012-08-06 | 1 | -0/+11 |
| | | | | resumption. | ||||
* | A heartbeat request send by the counterparty during a handshake would | lloyd | 2012-08-06 | 1 | -5/+8 |
| | | | | be passed to the application callback as a heartbeat response. | ||||
* | Move server-specific parts of the handshake state to a server subclass. | lloyd | 2012-08-06 | 4 | -21/+29 |
| | |||||
* | Move things that are client specific in the handshake state to a | lloyd | 2012-08-06 | 2 | -16/+28 |
| | | | | subclass created by Client::new_handshake_state | ||||
* | Make the handshake hash private | lloyd | 2012-08-06 | 7 | -33/+36 |
| | |||||
* | Make handshake session keys private with get/set | lloyd | 2012-08-06 | 6 | -24/+33 |
| |