diff options
author | Jack Lloyd <[email protected]> | 2016-02-07 02:58:41 -0500 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2016-02-07 02:58:41 -0500 |
commit | e23cfdeb6d079a2c8d147142f31934d2c8b3a881 (patch) | |
tree | 33a26385dbc5af02940ac5f4682c8b4b508cb6c1 /src/lib/tls/tls_channel.cpp | |
parent | ceb90fb9814d5118d406efcbcda2117b6b083ad4 (diff) |
Remove support for the TLS min fragment length extension.
Diffstat (limited to 'src/lib/tls/tls_channel.cpp')
-rw-r--r-- | src/lib/tls/tls_channel.cpp | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/lib/tls/tls_channel.cpp b/src/lib/tls/tls_channel.cpp index 44627e7bc..2cf351c80 100644 --- a/src/lib/tls/tls_channel.cpp +++ b/src/lib/tls/tls_channel.cpp @@ -160,22 +160,6 @@ void Channel::renegotiate(bool force_full_renegotiation) throw Exception("Cannot renegotiate on inactive connection"); } -size_t Channel::maximum_fragment_size() const - { - // should we be caching this value? - - if(auto pending = pending_state()) - if(auto server_hello = pending->server_hello()) - if(size_t frag = server_hello->fragment_size()) - return frag; - - if(auto active = active_state()) - if(size_t frag = active->server_hello()->fragment_size()) - return frag; - - return MAX_PLAINTEXT_SIZE; - } - void Channel::change_cipher_spec_reader(Connection_Side side) { auto pending = pending_state(); @@ -275,8 +259,6 @@ size_t Channel::received_data(const std::vector<byte>& buf) size_t Channel::received_data(const byte input[], size_t input_size) { - const size_t max_fragment_size = maximum_fragment_size(); - try { while(!is_closed() && input_size) @@ -316,9 +298,9 @@ size_t Channel::received_data(const byte input[], size_t input_size) if(input_size == 0 && needed != 0) return needed; // need more data to complete record - if(record.size() > max_fragment_size) + if(record.size() > MAX_PLAINTEXT_SIZE) throw TLS_Exception(Alert::RECORD_OVERFLOW, - "TLS input record is larger than allowed maximum"); + "TLS plaintext record is larger than allowed maximum"); if(record_type == HANDSHAKE || record_type == CHANGE_CIPHER_SPEC) { @@ -492,11 +474,9 @@ void Channel::send_record_array(u16bit epoch, byte type, const byte input[], siz length -= 1; } - const size_t max_fragment_size = maximum_fragment_size(); - while(length) { - const size_t sending = std::min(length, max_fragment_size); + const size_t sending = std::min<size_t>(length, MAX_PLAINTEXT_SIZE); write_record(cipher_state.get(), epoch, type, input, sending); input += sending; |