Commit d88e4c8
Fix bridge protocol: descriptor validation, dir proxy, flow control, CREATE2/ntor
Major changes to get the Tor bridge working with a real Tor client:
- Fix descriptor: add onion-key-crosscert (RSA crosscert), strip base64
padding for inline values, SHA-256-then-sign for Ed25519 descriptor
signature, add reject *:* exit policy, use actual OR port and address
- Implement directory proxy to gabelmoo dir authority for consensus,
authority key certs, and microdescriptor downloads
- Fix flow control: remove inline SENDME handler that was dropping
non-SENDME cells during large transfers, use pacing instead. Fix
SENDME handling to only count circuit-level SENDMEs (stream_id==0)
- Implement CREATE2/ntor handshake for circuit creation
- Add linked Ed25519/Curve25519 onion key pair for ntor-onion-key-crosscert
- Increase TLS read timeout from 30s to 300s for slow downloads
- Add BEGIN cell handler with TCP connect and bidirectional forwarding
Achieves 95% Tor client bootstrap (pending ntor auth fix).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 79565d2 commit d88e4c8
File tree
5 files changed
+1230
-48
lines changed- include/tor/crypto
- src
- core
- crypto
5 files changed
+1230
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
210 | 210 | | |
211 | 211 | | |
212 | 212 | | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
213 | 218 | | |
214 | 219 | | |
215 | 220 | | |
| |||
0 commit comments