]> Cypherpunks repositories - gostls13.git/commit
net: support IPv6 scoped addressing zone
authorMikio Hara <mikioh.mikioh@gmail.com>
Sat, 23 Mar 2013 00:57:40 +0000 (09:57 +0900)
committerMikio Hara <mikioh.mikioh@gmail.com>
Sat, 23 Mar 2013 00:57:40 +0000 (09:57 +0900)
commitaa0dda767a9a31c6b0b49a665f0d059ebfed8e1c
tree0b20acb1e0a7048a7414b9795d705beb2bcfa7a2
parentc90850277b5144d967b9300a5f56f22a4e86fdf8
net: support IPv6 scoped addressing zone

This CL provides IPv6 scoped addressing zone support as defined
in RFC 4007 for internet protocol family connection setups.

Follwoing types and functions allow a literal IPv6 address with
zone identifer as theirs parameter.

pkg net, func Dial(string, string) (Conn, error)
pkg net, func DialOpt(string, ...DialOption) (Conn, error)
pkg net, func DialTimeout(string, string, time.Duration) (Conn, error)
pkg net, func Listen(string, string) (Listener, error)
pkg net, func ListenPacket(string, string) (PacketConn, error)
pkg net, func ResolveIPAddr(string, string) (*IPAddr, error)
pkg net, func ResolveTCPAddr(string, string) (*TCPAddr, error)
pkg net, func ResolveUDPAddr(string, string) (*UDPAddr, error)
pkg net, type IPAddr struct, Zone string
pkg net, type TCPAddr struct, Zone string
pkg net, type UDPAddr struct, Zone string

Also follwoing methods return a literal IPv6 address with zone
identifier string if possible.

pkg net, method (*IPAddr) String() string
pkg net, method (*TCPAddr) String() string
pkg net, method (*UDPAddr) String() string

Fixes #4234.
Fixes #4501.
Update #5081.

R=rsc, iant
CC=golang-dev
https://golang.org/cl/6816116
src/pkg/net/dial.go
src/pkg/net/interface_test.go
src/pkg/net/ip.go
src/pkg/net/ip_test.go
src/pkg/net/ipraw_test.go
src/pkg/net/iprawsock.go
src/pkg/net/ipsock.go
src/pkg/net/tcp_test.go
src/pkg/net/tcpsock.go
src/pkg/net/udp_test.go
src/pkg/net/udpsock.go