Profile import fails with EOF error for valid .bpf files since v1.13.0
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
Direzione di ricerca
Inizia in common/varbin/data_if.go, su StubReader.ReadByte(), quindi esamina il contratto di io.Reader e la modifica a readString() citata nel commit 1af14a0. Riproduci il problema con un file .bpf valido generato esternamente e verifica che sia i profili generati esternamente sia quelli esportati dall’app vengano importati correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Importing a valid .bpf profile file fails with "Failed to import profile from URL EOF" since sing-box for android v1.13.0. Files exported by the app itself import fine, but files generated externally (e.g. by a script using standard gzip) may fail, even though the binary format is identical and correct.
The root cause is in StubReader.ReadByte() (common/varbin/data_if.go) — it ignores the n return value from Read(), discarding a successfully read byte when Read() returns data together with EOF, which is valid per the io.Reader contract. Whether the bug triggers depends on the internal structure of the gzip stream produced by the encoder.
The issue was exposed by commit SagerNet/sing-box@1af14a0, which replaced io.ReadFull() with byte-by-byte ReadByte() in readString().
Fix: #98
- Lingua principale
- Go
- Stelle
- 131
- Fork
- 111
- Merge medio
- 1h 42m
- PR unite (30g)
- 1
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SagerNet/sing
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
addr 相关的几个问题Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 30/100
-
Dependency DashboardAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Tutte le issue di SagerNet/sing
Issue simili
-
bug needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
bug P2 reliability
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
afreidah/s3-orchestrator#1564 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
blinklabs-io/gouroboros#2577 ·
I maintainer di solito rispondono entro 1 giorno
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno