GNUnet 0.21.1
TCPFinish Struct Reference

TCP finish. More...

Collaboration diagram for TCPFinish:
[legend]

Data Fields

struct GNUNET_MessageHeader header
 Type is GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_FINISH. More...
 
struct GNUNET_ShortHashCode hmac
 HMAC for the following encrypted message. More...
 

Detailed Description

TCP finish.

Sender asks for the connection to be closed. Needed/useful in case we drop RST/FIN packets on the GNUnet port due to the possibility of malicious RST/FIN injection.

Definition at line 356 of file gnunet-communicator-tcp.c.

Field Documentation

◆ header

struct GNUNET_MessageHeader TCPFinish::header

Type is GNUNET_MESSAGE_TYPE_COMMUNICATOR_TCP_FINISH.

Definition at line 361 of file gnunet-communicator-tcp.c.

Referenced by queue_finish().

◆ hmac

struct GNUNET_ShortHashCode TCPFinish::hmac

HMAC for the following encrypted message.

Yes, we MUST use mac-then-encrypt here, as we want to hide the message sizes on the wire (zero plaintext design!). Using CTR mode padding oracle attacks do not apply. Besides, due to the use of ephemeral keys (hopefully with effective replay protection from monotonic time!) the attacker is limited in using the oracle.

Definition at line 371 of file gnunet-communicator-tcp.c.

Referenced by queue_finish(), and try_handle_plaintext().


The documentation for this struct was generated from the following file: