Reject ineffective fingerprint-forwarding carrier configurations

Aperta
#30 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
rust
Ambito
networking

Direzione di ricerca

Traccia la costruzione delle route statiche e le route fornite tramite resolveConnection, partendo dall’avviso esistente su stderr relativo all’inoltro inefficace dell’impronta. Esamina i test relativi alle route e aggiungi la copertura per le combinazioni valide e non valide di route statiche e risolte; il lavoro è completo quando la costruzione o la risoluzione rifiuta i carrier incompatibili con una raccomandazione specifica per la route.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Follow-up from the review of #23.

Problem

A route can request forwardFingerprint: ja3 or ja4 without selecting a carrier that can actually deliver it.

The HTTP-header carrier requires terminated plaintext HTTP/1. Passthrough and HTTP/2 require sourceAddressHeader: proxyProtocolV2. Static routes currently emit only an stderr warning for ineffective combinations, allowing an apparently healthy deployment that silently drops the requested fingerprint. Routes supplied through resolveConnection do not receive equivalent warning or validation.

This leaves downstream controls believing they receive an authoritative fingerprint when no signal is delivered.

Acceptance criteria

  • Reject configurations where fingerprint forwarding has no viable carrier, rather than relying on stderr.
  • Apply identical validation to static routes and routes supplied through resolveConnection.
  • HTTP-header forwarding must require TLS termination and an HTTP/1 upstream path.
  • Passthrough and HTTP/2 forwarding must require PROXY protocol v2.
  • Validate incompatible UDS/Harper combinations where the immediate consumer does not support the selected PROXY protocol version.
  • Return a construction/resolution error that identifies the route and recommends the compatible carrier.
  • Add tests for valid and invalid static and resolved-route combinations.
Lingua principale
Rust
Stelle
1
Fork
0
Merge medio
19h 12m
PR unite (30g)
13

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di HarperFast/symphony

Tutte le issue di HarperFast/symphony

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.