ostp/ostp-core/src/crypto
ospab 7986b1ca5b fix(reality): fix TLS 1.3 handshake causing 1KB DPI cutoff on mobile
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
2026-05-29 16:21:59 +03:00
..
aead.rs Initial public release: Ospab Stealth Transport Protocol v0.1.0 2026-05-14 21:41:54 +03:00
mod.rs feat: implement custom Reality protocol with ChaCha20Poly1305 and X25519 2026-05-29 15:00:17 +03:00
noise.rs fix(core): improve UoT tracing and test coverage 2026-05-21 15:54:39 +03:00
obfuscation.rs test: add obfuscation round-trip tests, fix i18n module import 2026-05-17 16:27:43 +03:00
obfuscation_tests.rs test: add obfuscation round-trip tests, fix i18n module import 2026-05-17 16:27:43 +03:00
reality.rs fix(reality): fix TLS 1.3 handshake causing 1KB DPI cutoff on mobile 2026-05-29 16:21:59 +03:00