mirror of https://github.com/ospab/ostp.git
The core bug: server sent 5 TLS records in server_hello but client only read the first one (ServerHello), then passed remaining bytes (CCS + fake records) into RealityStream. RealityStream saw 0x14 (CCS) != 0x17 and immediately returned an error, killing the connection. Changes: - reality.rs: append ChangeCipherSpec after ClientHello (RFC 8446 D.4) export REALITY_SERVER_HANDSHAKE_RECORDS=5 constant - xhttp.rs: drain all 5 server handshake records before creating RealityStream - uot.rs: rebuild server_hello as proper 5-record TLS 1.3 flight: ServerHello + CCS + fake EE (108B) + fake Cert (812B) + fake Fin (52B) drain client CCS from raw stream before wrapping in RealityStream |
||
|---|---|---|
| .. | ||
| lib.rs | ||
| main.rs | ||