Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Consider DTLS v1.0 and v1.2 known | lloyd | 2012-09-09 | 1 | -2/+3 |
| | |||||
* | Expect a cookie field in a DTLS client hello | lloyd | 2012-09-09 | 1 | -0/+3 |
| | |||||
* | Rename function | lloyd | 2012-09-09 | 2 | -16/+16 |
| | |||||
* | Remove redundant Channel::m_current_version | lloyd | 2012-09-09 | 4 | -30/+30 |
| | |||||
* | Create the IO in Channel and then pass it down to new_handshake_state | lloyd | 2012-09-09 | 7 | -37/+39 |
| | | | | as the logic is the same for both cases. | ||||
* | Store the is-SSLv3 flag in the cipher state as the difference is only | lloyd | 2012-09-09 | 2 | -22/+19 |
| | | | | relevent after we've got a cipher state enabled. | ||||
* | Clean up includes | lloyd | 2012-09-09 | 4 | -6/+5 |
| | |||||
* | Also hide Channel::m_handshake_fn | lloyd | 2012-09-09 | 3 | -5/+5 |
| | |||||
* | Hide Channel::m_rng and Channel::m_session_manager, add getters | lloyd | 2012-09-09 | 4 | -23/+28 |
| | |||||
* | Small cleanup | lloyd | 2012-09-08 | 1 | -1/+5 |
| | |||||
* | Only accept a hello request if an active state currently exists. | lloyd | 2012-09-07 | 1 | -4/+2 |
| | | | | | Remove setting HELLO_REQUEST after we see the finished - we'll never see it in this state object. | ||||
* | Per Google's spec the client is not supposed to include a NPN | lloyd | 2012-09-07 | 1 | -0/+4 |
| | | | | extension in renegotiations | ||||
* | This should be inline | lloyd | 2012-09-07 | 1 | -1/+1 |
| | |||||
* | Add support for key material export | lloyd | 2012-09-07 | 3 | -0/+51 |
| | |||||
* | Remove Channel::m_peer_certs, instead retrieve directly from the state. | lloyd | 2012-09-07 | 6 | -12/+45 |
| | | | | | | | | This also very happily avoids a race in renegotiation. If you first negotiated using cert X, then renegotiated with Y, during the period between the certificate message and the finished message, Channel::peer_cert_chain would return Y instead of X. Now, it returns Y only after the finished message has been verified. | ||||
* | Avoid another instance of pulling the key out of the certificate | lloyd | 2012-09-07 | 3 | -9/+7 |
| | |||||
* | Just dynamic_cast once at the start of process_handshake_msg | lloyd | 2012-09-07 | 2 | -21/+20 |
| | |||||
* | Save the peer public key in the handshake state instead of pulling it | lloyd | 2012-09-07 | 6 | -16/+29 |
| | | | | out of the cert repeatedly. | ||||
* | Take version from pending state for creating cipher spec | lloyd | 2012-09-07 | 1 | -3/+3 |
| | |||||
* | This check is bogus | lloyd | 2012-09-07 | 1 | -9/+0 |
| | |||||
* | Use TLS v1.0 in the initial record version. Given that we're including | lloyd | 2012-09-07 | 1 | -1/+1 |
| | | | | | | extensions it probably makes more sense, and if something breaks on a TLS v1.0 record version it probably also broke on offering TLS v1.2, or including extensions. | ||||
* | Inline Secure_Renegotiation_State into Channel as so much of the date | lloyd | 2012-09-07 | 4 | -68/+62 |
| | | | | is rederivable now that we hold both states in memory. | ||||
* | Channel::heartbeat_support was removed | lloyd | 2012-09-07 | 3 | -8/+0 |
| | |||||
* | Pass the current active state as well as the pending state which is | lloyd | 2012-09-07 | 6 | -16/+22 |
| | | | | | quite helpful in the server. May also be useful for the renegotiation extension. | ||||
* | Single predecl of Handshake_State saves some noise | lloyd | 2012-09-07 | 3 | -11/+13 |
| | |||||
* | Keep two handshake states around, swap them when | lloyd | 2012-09-07 | 4 | -68/+69 |
| | | | | Channel::activate_session is called. | ||||
* | Use initializers | lloyd | 2012-09-07 | 1 | -6/+2 |
| | |||||
* | Reindent | lloyd | 2012-09-07 | 1 | -10/+11 |
| | |||||
* | Fixes for server record handling, where we don't know the version | lloyd | 2012-09-07 | 1 | -31/+43 |
| | | | | | | | initially. Partially read the header, figure out the record version, then read the rest of it if needed. Also fix a bug, off by one in CBC decrypt. | ||||
* | In Channel move some checks to after we've verified needed == 0 to | lloyd | 2012-09-07 | 2 | -18/+16 |
| | | | | | | avoid a conditional. Clean up record checking in the reader. | ||||
* | Remove bogus forced 64 byte mtu. | lloyd | 2012-09-07 | 4 | -9/+22 |
| | | | | | | | Fix DTLS CCS sequence number reset. Handle (partially) explicit sequence numbers in records. Need to output the record. | ||||
* | DTLS versions count backwards | lloyd | 2012-09-06 | 1 | -0/+3 |
| | |||||
* | Minimize header size dependencies in record reading | lloyd | 2012-09-06 | 1 | -13/+18 |
| | |||||
* | Reject a SSLv2 mapped DTLS client hello as serious bogosity. | lloyd | 2012-09-06 | 1 | -0/+4 |
| | |||||
* | Avoid secure_vector allocation per block on TLS CBC decrypt | lloyd | 2012-09-06 | 1 | -1/+3 |
| | |||||
* | Have write_record resize the vector as it goes, thus the return value | lloyd | 2012-09-06 | 3 | -51/+41 |
| | | | | is not needed. Doesn't actually cause reallocations as we preallocate. | ||||
* | Move the hostname check last as it's the least 'important' error. | lloyd | 2012-09-06 | 1 | -3/+3 |
| | | | | Only check it if the cert is otherwise valid. | ||||
* | The checks in renegotiate would prevent initiate_handshake from being | lloyd | 2012-09-06 | 1 | -1/+1 |
| | | | | | called. Instead call it directly as we know the state is already set up. | ||||
* | Inline current_protocol_version, fix fragment limit check | lloyd | 2012-09-06 | 2 | -11/+13 |
| | |||||
* | Make Channel::m_state private | lloyd | 2012-09-06 | 7 | -43/+62 |
| | |||||
* | Pass process_handshake_msg a reference to the Handshake_State | lloyd | 2012-09-06 | 11 | -307/+307 |
| | |||||
* | Inline Record_Reader to Channel as well | lloyd | 2012-09-06 | 7 | -194/+56 |
| | |||||
* | 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). |