Skip to content
Closed
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
8fd2d6c
Rebase server control and URCB adapters onto portable consolidation
masarray Aug 11, 2026
b5a659a
Use current IoResult transferred field in URCB adapter
masarray Aug 11, 2026
2f4624f
Harden MMS server build against incomplete working trees
masarray Aug 11, 2026
343f106
Sync owner-bound BRCB delivery contract from server base
masarray Aug 11, 2026
2d2412b
Sync two-phase BRCB delivery implementation from server base
masarray Aug 11, 2026
5588407
Sync BRCB owner-bound delivery regression from server base
masarray Aug 11, 2026
1d0a112
fix(mms-server): accept optional InitiateRequest fields
masarray Aug 11, 2026
3c1152e
fix(mms-server): tolerate optional ACSE association fields
masarray Aug 11, 2026
39d2a0b
feat(mms-server): port engineering-client discovery compatibility
masarray Aug 11, 2026
8fa00dd
refactor(mms-server): keep dispatcher strict and move client compatib…
masarray Aug 11, 2026
0600910
feat(mms-server): add engineering-client MMS compatibility primitives
masarray Aug 11, 2026
e36c225
feat(mms-server): encode Identify errors and Conclude response
masarray Aug 11, 2026
0279b0d
feat(mms-server): port engineering-client session compatibility
masarray Aug 11, 2026
8b2b8ef
test(mms-server): prove engineering-client runtime compatibility
masarray Aug 11, 2026
a058384
feat(mms-server): add bounded legacy association compatibility inspector
masarray Aug 11, 2026
ee210eb
feat(mms-server): port tolerant ARIEC61850 AARQ inspection path
masarray Aug 11, 2026
bd88352
feat(mms-server): expose bounded association compatibility decoder
masarray Aug 11, 2026
adb4c8a
feat(mms-server): port tolerant legacy association inspection into AC…
masarray Aug 11, 2026
d458df9
fix(mms-server): use legacy-compatible AARQ inspection for live server
masarray Aug 11, 2026
ccd4be3
chore(mms-server): remove superseded standalone association compat he…
masarray Aug 11, 2026
c32d039
chore(mms-server): remove superseded standalone association compat so…
masarray Aug 11, 2026
113d2a1
test(mms-server): prove strict rejection and legacy-compatible AARQ f…
masarray Aug 11, 2026
048a2ee
chore(mms-server): print terminal session diagnostics for live IEDScout
masarray Aug 11, 2026
b140d9e
feat(mms-server): add bounded COTP reassembly policy and negotiated T…
masarray Aug 11, 2026
6337405
feat(mms-server): port bounded COTP segmentation and reassembly
masarray Aug 11, 2026
c9da1c0
refactor(mms-server): allow workspace-backed COTP reassembly
masarray Aug 11, 2026
791495c
refactor(mms-server): borrow stable workspace for segmented request r…
masarray Aug 11, 2026
13fbf2a
test(mms-server): prove bounded COTP Data reassembly across EOT
masarray Aug 11, 2026
5d3774f
ci: temporarily expose MMS runtime smoke exit code
masarray Aug 11, 2026
6b56049
ci: pinpoint segmented MMS runtime regression
masarray Aug 11, 2026
abd425b
ci: install debugger for one-shot MMS runtime diagnosis
masarray Aug 11, 2026
4ccfa6b
ci: turn MMS diagnostic into one-shot parity finalizer
masarray Aug 11, 2026
9e95a02
ci: stage deterministic MMS server parity patcher
masarray Aug 11, 2026
29770ad
ci: run MMS parity patcher as bounded finalizer
masarray Aug 11, 2026
638acfe
ci: trigger MMS parity finalizer from PR synchronization
masarray Aug 11, 2026
1af117b
ci: qualify MMS parity smoke symbols
masarray Aug 11, 2026
a677982
ci: apply namespace fix in MMS parity finalizer
masarray Aug 11, 2026
2bbe40f
mms-server: finalize engineering-client parity tranche
github-actions[bot] Aug 11, 2026
c17bfaa
ci: remove one-shot MMS parity finalizer
masarray Aug 11, 2026
ffe67e2
ci: remove one-shot MMS parity patcher
masarray Aug 11, 2026
c794abc
ci: remove one-shot MMS parity namespace helper
masarray Aug 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test(mms-server): prove bounded COTP Data reassembly across EOT
  • Loading branch information
masarray committed Aug 11, 2026
commit 13fbf2a534cc18ce0567108193a07d1cc62da376
23 changes: 21 additions & 2 deletions embedded/mms_connection_runtime_hard_profile_smoke.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,7 @@ int main() {
osi::CotpTpduView cc;
if (!result.response_ready() || result.consumed_bytes != cr_tpkt.bytes_written ||
runtime.state() != mms::MmsStaticConnectionState::awaiting_association ||
runtime.negotiated_tpdu_size_code() != 0x0AU ||
!extract_cotp(
std::span<const std::uint8_t>{response}.first(result.bytes_written), cc) ||
cc.kind != osi::CotpWireKind::connection_confirm ||
Expand Down Expand Up @@ -416,11 +417,29 @@ int main() {
response,
workspace);
if (!segmented_tpkt.success() ||
result.status != mms::MmsStaticConnectionStatus::protocol_violation ||
runtime.state() != mms::MmsStaticConnectionState::fault) {
result.status != mms::MmsStaticConnectionStatus::consumed_no_response ||
result.consumed_bytes != segmented_tpkt.bytes_written ||
runtime.state() != mms::MmsStaticConnectionState::established) {
return 15;
}

const std::span<const std::uint8_t> empty_payload{};
const auto final_segment = build_data_tpkt(
empty_payload, request, scratch, true);
result = runtime.process_tcp_window(
std::span<const std::uint8_t>{request}.first(final_segment.bytes_written),
response,
workspace);
if (!final_segment.success() || !result.response_ready() ||
result.consumed_bytes != final_segment.bytes_written ||
result.application_service != mms::MmsWireConfirmedService::read ||
runtime.state() != mms::MmsStaticConnectionState::established ||
!extract_mms(
std::span<const std::uint8_t>{response}.first(result.bytes_written), pdv) ||
!matches(pdv.single_asn1_type, kReadResponse)) {
return 20;
}

runtime.reset();
if (runtime.state() != mms::MmsStaticConnectionState::awaiting_cotp_connect ||
runtime.mms_presentation_context_id() != 0U) {
Expand Down
Loading