Commit Graph
14 Commits
Author SHA1 Message Date
Robin Mueller 4c931b7a35 Fix for destination handler reset
Destination handler's `reset` now also clears `lost_segment_tracker`. That
field lives outside `TransactionParams`, so a transaction cancelled or
abandoned while a gap was still open left it behind for the next transaction
on the same handler instance.
2026-09-14 14:04:38 +02:00
Robin Mueller b74893f6c7 Fix for destination handler EOF handling
Destination handler now answers a retransmitted EOF PDU instead of silently reprocessing it.
Per CFDP 4.7.2 every EOF PDU must be acknowledged, and a retransmission means our previous ACK
was lost. It used to be handled like a brand new EOF regardless of transaction state, which
re-ran completion, re-sent a fresh Finished PDU, and restarted its positive ACK procedure on
every retransmission the sender made.
2026-09-14 11:32:14 +02:00
Robin Mueller ad71c032f7 Bugfix for lost segment handling
- The lost segment handling now clears a gap that a re-transmission re-fills
  exactly
2026-09-14 11:16:32 +02:00
Robin MuellerandClaude Sonnet 5 ea7898937f Fix metadata-only transaction handling and reset bugs
- Fix destination and source handler TransactionParams::reset only
  clearing 2 of ~11-18 fields. Stale state broke every transaction
  after the first one on a reused handler instance.
- Fix metadata-only transactions (e.g. a Proxy Put Request) to
  correctly send and expect an EOF PDU per CCSDS 727.0-B-5 4.6.1.1.9.
  The source handler no longer checksums a nonexistent source file,
  and the destination handler no longer touches a destination file
  that was never named.
- Fix a panic when a metadata PDU's Message To User TLVs overflow the
  destination handler's internal buffer. Return
  DestError::MsgsToUserBufferTooSmall instead, and bump the buffer
  from 1024 to 2048 bytes.
- Add regression tests for all of the above.
- Update the changelog.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012A4YswnSmvS9Y56WZAG9PQ
2026-09-08 19:08:40 +02:00
Robin Mueller c565f7eda0 Document destination handler reset fix in changelog
- TransactionParams::reset only cleared two of its fields, leaving
  stale acknowledged-mode state behind between transactions
- That state made the next transaction's Metadata PDU look like a
  duplicate, so it was silently dropped and the transfer never
  created its destination file
2026-09-08 14:26:38 +02:00
Robin Mueller 98096fdea8 bump spacepackets 2025-11-27 13:54:01 +01:00
muellerr 2e8134dd08 changelog 2025-09-25 13:28:56 +02:00
Robin Mueller 7ded3316e2 update changelog 2025-09-24 20:04:53 +02:00
Robin Mueller c3554774f4 Add acknowledged destination handler 2025-09-24 19:44:08 +02:00
muellerr 226a7494a0 Dependency updates and Doc improvements 2025-08-13 18:12:33 +02:00
muellerr 1b7d128a10 prepare v0.2.0 2024-11-26 10:45:30 +01:00
muellerr 5c579209f0 bump dependencies 2024-11-08 17:01:17 +01:00
muellerr de8be20f36 prepare first release
Rust/cfdp/pipeline/head This commit looks good
2024-09-11 10:23:33 +02:00
muellerr b87ccde07d init commit
Rust/cfdp/pipeline/head This commit looks good
2024-09-10 18:52:37 +02:00