nc_program_manager/Cnc/Heidenhain
dtrentin 4cd7715594 fix(robustness): null guard WMI reads, dispose SHA256, abort LSV2 timeout (ISS-001, ISS-005, ISS-006)
ISS-001: MachineFingerprint.GetFingerprint() — null-safe WMI property reads
  - processorID and SerialNumber accessed with ?. and ?? string.Empty
  - prevents NullReferenceException on machines with missing WMI properties

ISS-005: LicenseValidator.Validate() — SHA256CryptoServiceProvider in using block
  - disposed on all code paths (success and failure)

ISS-006: Lsv2Client.Connect() — close TcpClient on timeout
  - _tcp.Close() called when ConnectAsync.Wait() times out
  - aborts pending socket task instead of leaking thread-pool slot

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 23:00:08 +02:00
..
HeidenhainConnectionConfig.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
HeidenhainMachine.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
ILsv2Client.cs refactor(rename): FanucProgramManager → NcProgramManager 2026-05-17 22:31:36 +02:00
Lsv2Client.cs fix(robustness): null guard WMI reads, dispose SHA256, abort LSV2 timeout (ISS-001, ISS-005, ISS-006) 2026-05-18 23:00:08 +02:00