Skip to content

Username with a ':' fails. #688

Closed
Closed
@nemith

Description

@nemith

Issue description

Due to how the dsn decoding is done any username with a ':' fails. We have a system at my job where ':' are required.

Since there is no url.QueryUnescape() on the username adding the proper escapes, like standard based URI, doesn't work. It will either be treated as a password incorrectly or the escaped value will be never unescaped and so the user will fail.

Adding a url.QueryUnescape into dsn.go fixes the issue for me.

Example code

// unescaped treats it like a password (which is ok)
db.Open('mysql', "foo:bar@tcp(localhost)")

// escaped should work
db.Open('mysql', "foo%3Abar@tcp(localhost)")

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions