tlslite.defragmenter module

Helper package for handling fragmentation of messages.

class tlslite.defragmenter.Defragmenter[source]

Bases: object

Class for demultiplexing TLS messages.

Since the messages can be interleaved and fragmented between each other we need to cache not complete ones and return in order of urgency.

Supports messages with given size (like Alerts) or with a length header in specific place (like Handshake messages).

Variables:
  • priorities – order in which messages from given types should be returned.

  • buffers – data buffers for message types

  • decoders – functions which check buffers if a message of given type is complete

__init__()[source]

Set up empty defregmenter

add_data(msg_type, data)[source]

Adds data to buffers

add_dynamic_size(msg_type, size_offset, size_of_size)[source]

Add a message type which has a dynamic size set in a header

add_static_size(msg_type, size)[source]

Add a message type which all messages are of same length

clear_buffers()[source]

Remove all data from buffers

get_message()[source]

Extract the highest priority complete message from buffer

is_empty()[source]

Return True if all buffers are empty.