Escape password in smtp url #258
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.








Fix #255
The SMTP url is used in
shoutrrr.Send(url, msg).When a password contains char
#, it can not be parsed byurl.Parsein https://github.com/containrrr/shoutrrr/blob/main/pkg/router/router.go#LL150.Escaping the password part fixes it. Tests are added to verify that there is no regression, hence the refacto to extract the buildUrl function to test it easily.
Without escaping
=== RUN TestBuildUrl/with_octohorpe_in_password smtp_test.go:29: Failed to parse url: parse "smtp://[email protected]:passwordwith": invalid port ":passwordwith" after hostWith escaping