tree cf3b951aa2e094a6a9a388cc9aeb9385865cf661
parent 3d7e23e8f610adcf93b40fe3d94f86f7d3819a1c
author Pradip De <pradipd@google.com> 1717729542 -0700
committer GitHub <noreply@github.com> 1717729542 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmYnkGCRC1aQ7uu5UhlAAA4wwQAEOv5xX+epAJ6rxHL1h96CKW
 WoJIWXWFYvBjw6RqGGXmQX6oUz+DImpENEMzIs2sI+JLDfYDnRE7pM9qz1Vgrsoz
 dc085g15J8tRF2FM3l0tlKZKT1QN/kit+Qy1oneUrj4WqhZol6wkvht7eurbz8t3
 05lC0an7sjsH0nU662TMf+6uB9ubp1VcAlfdmnoEhlkmLIXcs3KjPWUGUCRymgrY
 1FC+YlSZDkOziCloxKU49Uh8KPb6tKL6zTnAsKoZL7Oe8BWG9t8/qGfh2lj1JpF4
 KF1Vf7IQQUMovFdVvDrbTJaedWJzJgZQpIWPF0SJF7Erq6ltj5FSQhs9srtAh0CG
 IiDDwIo5DPK3AoQBVXDR12AQsuF+J8ibZ0X5f9Hf6XyJnTGDKFw+JWlJVv0BWxZd
 qvEXKtxvJo8x8AZ9l7c+Nfqd/aLLAdKuvAw5vVVU9+OJ8pr/mI7SADP5tlaC20QI
 36DD/VJkMxN9+3EDBPI5eq8PeDyX9CarR0HkgR9BuBE26b6WfULBOe62/iW3fC/G
 1ig3REK/I76TA/1aqSbB0ZPXUT7mYp4HsTEEiGtKT1M/zZsC3nm8MlJgH+Yj1jGa
 sJsQdPSBbgwKUpnK3yy3nmJLPuwr3hm9Ao3gUoHDNMKSMuJegQ/RuUiR5xR9rPbi
 SSak/x3A9uryLRE+YfMe
 =EHLr
 -----END PGP SIGNATURE-----
 

Close TCP connection when received message size is too large. (#33768)

When the framing length value of a received message is larger
than what the local node can process, abort the connection
with the peer.

Sending a StatusResponse message back to the peer as a
notification may not be feasible in all circumstances for
reasons, such as:
1) It would require a cross-layered feedback up to the Exchange
   layer to generate such a message in response to a failure at the
   transport layer.
2) A Status Response is sent in response to a message on an
   ExchangeContext and that may not be the case in scnearios
   where this message is the first unsolicited message.

The receiver could drain out the bits from the offending message
and move on to the next message in the stream but that may not
guarantee correct behavior and would consume resources unnecessarily.

Given that the peer was already aware of the max length this node was
willing to receive during its TCP advertisement, it seems prudent
to fail fast and close the connection.

Fixes #33307.