Joseph Doherty
2171fc8ce3
fix(ablegacy): PCCC requestor id is libplctag's captured identity (found by Task 17 slc500)
...
ab_server answers every Execute PCCC with a fixed requestor id (pccc.c
PCCC_RESP_PREFIX: 07 3D F3 45 43 50 21) instead of echoing the request's, so
the R14-3 echo check rejected every native reply sent under the 0x1337 CIP
originator identity as BadReply. The pooled runtime now sends libplctag's
identity (PcccServices.RequestorVendor/RequestorSerial), which passes the echo
check against ab_server and against a real controller that echoes. Pinned by a
FakeEipServer round trip that answers with ab_server's fixed prefix.
2026-10-07 17:31:45 -04:00
Joseph Doherty
82d011c7a8
fix(ab-transport): RegisterSession carries a zero sender context (found by Task 17 controllogix)
...
ab_server's RegisterSession sanity check rejects any non-zero sender context
with encapsulation status 1 and a header-only reply, so every native session
against the simulator failed with BadCommunicationError. libplctag sends zero
(logix-register-session.hex); the codec test now matches that capture byte for
byte instead of excluding the context, and a client test pins the zero on the wire.
2026-10-07 17:20:06 -04:00
Joseph Doherty
b2b9aa04ed
fix(abcip): Task 13 review r1 - bounded listing pager, exclusive large reads, template bound, safe lease release
2026-10-07 17:07:05 -04:00
Joseph Doherty
33dbd342e5
fix(ab-transport): trim-only CIP path canonicalisation, observe abandoned shared opens, no Forward Open after dispose during connect
2026-10-07 16:49:19 -04:00
Joseph Doherty
a251954bf7
fix(ab-transport): harden Task 9 pool and connection (close chaining, uncancellable shared open, monotonic throttle, canonical CIP path, internal ctors, shared-pool logger)
2026-10-07 16:45:26 -04:00
Joseph Doherty
b82fffd269
feat(ab-transport): per-device connection with routing modes, shared scheduler, keep-alive and Forward Open throttle
2026-10-07 16:35:11 -04:00
Joseph Doherty
ba73f48f9c
merge: Task 10 — RequestScheduler (MSP coalescing) + LogixTagClient fragment loops
2026-10-07 16:23:08 -04:00
Joseph Doherty
5211975067
fix(ab-transport): harden Task 10 scheduler and tag client (dispose faults, pump guard, read cap, write validation, 8-byte wide-struct alignment)
2026-10-07 16:22:40 -04:00
Joseph Doherty
1c7fd5d5de
feat(ab-transport): MSP-coalescing request scheduler and fragmented Logix read/write
2026-10-07 16:15:05 -04:00
Joseph Doherty
2f9c7eff58
merge: Task 5 — EtherNet/IP encapsulation codec + single-flight client
2026-10-07 16:14:02 -04:00
Joseph Doherty
4c1c362b0e
feat(ab-transport): EtherNet/IP encapsulation codec and single-flight session client
2026-10-07 16:09:06 -04:00
Joseph Doherty
7c81844be5
merge: Task 8 — PCCC codec (Execute PCCC, SLC typed, PLC-5 range read)
2026-10-07 16:07:32 -04:00
Joseph Doherty
5eb018937b
fix(ab-transport): PCCC review r1 - UA bit, bit limits, stricter ParseReply, non-const verified flags
2026-10-07 16:07:13 -04:00
Joseph Doherty
6d16765804
fix(ab-transport): harden Task 7 codecs (read status, 32-bit start instance, empty-More, size range)
2026-10-07 16:06:49 -04:00
Joseph Doherty
13d631d856
feat(ab-transport): PCCC Execute-PCCC codec for SLC/MicroLogix typed logical and PLC-5 range read
2026-10-07 16:03:43 -04:00
Joseph Doherty
5f86b370f7
feat(ab-transport): Connection Manager, MSP, Logix read/write, symbol and template service codecs
2026-10-07 16:03:41 -04:00
Joseph Doherty
f2f1ec2585
feat(ab-transport): CIP route/symbolic path encoders and Logix type codes
2026-10-07 15:38:04 -04:00
Joseph Doherty
a0897fda96
feat(ab-transport): project skeleton with AbStatus, CIP reply parsing and the ICipChannel seam
2026-10-07 15:34:34 -04:00