1
0
mirror of https://github.com/ARMmbed/mbedtls.git synced 2025-06-12 09:31:29 +08:00
Hanno Becker 5f066e7aac Implement future record buffering
This commit implements the buffering of a record from the next epoch.

- The buffering substructure of mbedtls_ssl_handshake_params
  gets another field to hold a raw record (incl. header) from
  a future epoch.
- If ssl_parse_record_header() sees a record from the next epoch,
  it signals that it might be suitable for buffering by returning
  MBEDTLS_ERR_SSL_EARLY_MESSAGE.
- If ssl_get_next_record() finds this error code, it passes control
  to ssl_buffer_future_record() which may or may not decide to buffer
  the record; it does so if
  - a handshake is in progress,
  - the record is a handshake record
  - no record has already been buffered.
  If these conditions are met, the record is backed up in the
  aforementioned buffering substructure.
- If the current datagram is fully processed, ssl_load_buffered_record()
  is called to check if a record has been buffered, and if yes,
  if by now the its epoch is the current one; if yes, it copies
  the record into the (empty! otherwise, ssl_load_buffered_record()
  wouldn't have been called) input buffer.
2018-08-17 16:52:08 +01:00
..
2018-05-25 14:54:14 +01:00
2017-07-27 21:44:33 +01:00
2018-06-18 10:30:30 +02:00
2018-07-25 15:42:26 +01:00
2017-09-06 17:51:14 +03:00
2017-10-10 19:04:27 +03:00
2018-05-15 09:21:57 +01:00
2018-07-24 16:43:20 +01:00
2018-07-24 16:43:20 +01:00
2015-09-04 14:21:07 +02:00
2018-05-25 14:54:14 +01:00
2015-09-04 14:21:07 +02:00
2017-10-29 17:53:52 +02:00
2018-08-17 16:52:08 +01:00
2018-04-11 20:27:32 -04:00
2018-07-24 16:43:20 +01:00
2018-05-15 09:21:57 +01:00