From b3b8c8dec4663ebbd429082da40ba9cd2366b866 Mon Sep 17 00:00:00 2001 From: hmo Date: Thu, 23 Jul 2026 13:48:08 +0800 Subject: [PATCH] fix: RDP health check uses correct 19-byte X.224 packet Yesterday's malformed packet (TPKT len=0x1b mismatch) made health check always fail -> every enable triggered needless TermService restarts and false 'STILL FAILING' reports (root cause of 2026-07-23 morning incident) --- xmpp_agent_core.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xmpp_agent_core.py b/xmpp_agent_core.py index b726267..909d07d 100644 --- a/xmpp_agent_core.py +++ b/xmpp_agent_core.py @@ -246,8 +246,9 @@ def _rdp_health_check(): import socket as _sk try: _s = _sk.create_connection(('127.0.0.1', 3389), timeout=5) - # X.224 Connection Request + RDP Negotiation Request (HYBRID) - _s.sendall(bytes.fromhex('0300001b13e0000000000001000800020000000000000000000000000')) + # X.224 Connection Request + RDP Negotiation Request (SSL|HYBRID|RDSTLS) + # TPKT len=0x13(19) 必须等于实际包长,否则服务器正确 RST(2026-07-22 误诊教训) + _s.sendall(bytes.fromhex('030000130ee00000000000010008000b000000')) _s.settimeout(5) _resp = _s.recv(1024) _s.close()