Skip to content

net/url: Fails to parse URLs with spaces in scope IDs in 1.6beta2 #14002

@calmh

Description

@calmh

Test program:

package main

import (
    "fmt"
    "net/url"
)

func main() {
    u, err := url.Parse("tcp://[fe80::cefa:ff:fef3:5fcc%25Wireless%20Network%20Connection]:22000")
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("OK:", u)
    }
}

Fine in 1.5.2:

jb@syno:~/tmp $ go version
go version go1.5.2 darwin/amd64
jb@syno:~/tmp $ go run test.go 
OK: tcp://[fe80::cefa:ff:fef3:5fcc%25Wireless%20Network%20Connection]:22000

Errors in 1.6beta2:

jb@syno:~/tmp $ go run test.go 
parse tcp://[fe80::cefa:ff:fef3:5fcc%25Wireless%20Network%20Connection]:22000: invalid URL escape "%20"
jb@syno:~/tmp $ go version
go version devel +66330d8 Wed Jan 13 23:40:13 2016 +0000 darwin/amd64

That's how Windows represents scope IDs.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions