`normalizePathSegments` replaces the password in the userinfo with `...`
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Leggi l’implementazione di normalizePathSegments e il suo ramo normstr, dove l’issue indica show (normuri u) come origine della modifica della password. Controlla i test vicini sulla normalizzazione degli URI e aggiungi test per userinfo contenenti una password, inclusi i percorsi con e senza segmenti punto. Il lavoro è completato quando la normalizzazione conserva la password originale continuando a rimuovere i segmenti punto; esegui i test pertinenti con le versioni indicate di network-uri e GHC, se disponibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
normalizePathSegments changes the userinfo of a URI that contains a password:
>>> normalizePathSegments "http://user:[email protected]/a/../b"
"http://user:[email protected]/b"
>>> normalizePathSegments "http://user:[email protected]/b"
"http://user:[email protected]/b"
I expected "http://user:[email protected]/b" in both cases. The result is still a valid URI, now with the password
..., so nothing signals the change. normalizeCase and normalizeEscape keep the userinfo.
The function parses the string, removes the dot segments and renders the result with show:
normstr (Just u) = show (normuri u)
and the Show URI instance hides the password on purpose (uriToString defaultUserInfoMap). Using
uriToString id fixes it:
- normstr (Just u) = show (normuri u)
+ normstr (Just u) = uriToString id (normuri u) ""
Tested with network-uri 2.6.4.2 and current master, GHC 9.6.7.
- Lingua principale
- Haskell
- Stelle
- 28
- Fork
- 34
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: 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 haskell/network-uri
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
haskell/network-uri#94 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
haskell/network-uri#92 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
haskell/network-uri#90 ·
-
expose a uriUserInfo parserAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
haskell/network-uri#91 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
haskell/network-uri#81 · 2 commenti ·
Tutte le issue di haskell/network-uri
Issue simili
-
Allow QuickCheck 2.17Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
-
15-minutes 5-minutes algorithm any-language beginner-friendly c cpp csharp easy go good first issue hacktoberfest help wanted java javascript kotlin python rust swift typescript
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
Huerte/algo-solutions-python#260 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
IntersectMBO/cardano-ledger#6276 ·
I maintainer di solito rispondono entro 1 giorno