-
Bug
-
Resolution: Done
-
Major
-
2.4
-
None
-
High
Issue appears with UNICAST or NAKACK, example below uses NAKACK:
- Message M1 is received and placed into received_msgs. M1 has a FragHeader attached (FRAG2 was somewhere above NAKACK)
- M1 is retrieved from received_msgs and passed up
- FRAG2 removes the FragHeader
- A retransmission request is received for M1
- M1 is retrieved from received_msgs and passed down.
Problem: the FragHeader is missing ! The receiver will not recognize M1 as a fragment and FRAG2 will not handle M1 !
SOLUTION 1: all protocols (maybe only the ones above UNICAST/NAKACK) should never remove headers. We could ensure this is the case by simply making removeHeader() a no-op
SOLUTION 2: investigate into who owns the message and who is allowed to modify it. Look into sealing techniques