diff options
author | Jakob Borg <jakob@nym.se> | 2014-03-22 21:58:10 +0100 |
---|---|---|
committer | Jakob Borg <jakob@nym.se> | 2014-03-22 21:58:10 +0100 |
commit | 75cfa4c33e171f3acc8e69033285331a7264f5a6 (patch) | |
tree | 9e5b12352d40cec29c90ce5b2d89280dc0d2fa38 | |
parent | 145c8e40637e086edb78f6c36c36251234b24706 (diff) |
Update dependencies
69 files changed, 2599 insertions, 911 deletions
diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index ce88b24708..a8e9902b62 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -7,8 +7,8 @@ "Deps": [ { "ImportPath": "code.google.com/p/go.net/ipv6", - "Comment": "null-88", - "Rev": "55437409069bb181ad562b1ad1e5f361c44aff17" + "Comment": "null-117", + "Rev": "c17ad62118ea511e1051721b429779fa40bddc74" }, { "ImportPath": "code.google.com/p/go.text/transform", @@ -22,15 +22,16 @@ }, { "ImportPath": "github.com/calmh/ini", - "Rev": "1020b6d8618a7dc6031cda4a7782324eac346875" + "Rev": "386c4240a9684d91d9ec4d93651909b49c7269e1" }, { "ImportPath": "github.com/codegangsta/inject", - "Rev": "37512bbe41b4cc579cdd706742efc7bf34f94b06" + "Rev": "9aea7a2fa5b79ef7fc00f63a575e72df33b4e886" }, { "ImportPath": "github.com/codegangsta/martini", - "Rev": "f86ef0561cc5aa2801d41a7277fd480272ad1556" + "Comment": "v0.1-142-g8659df7", + "Rev": "8659df7a51aebe6c6120268cd5a8b4c34fa8441a" } ] } diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control.go b/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control.go index be06dd6741..e2101903bf 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control.go +++ b/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control.go @@ -12,7 +12,6 @@ import ( ) var ( - errNotSupported = errors.New("not supported") errMissingAddress = errors.New("missing address") errInvalidConnType = errors.New("invalid conn type") errNoSuchInterface = errors.New("no such interface") diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc2292_darwin.go b/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc2292_unix.go index f09ad7b6f9..47196c58f0 100644 --- a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc2292_darwin.go +++ b/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc2292_unix.go @@ -2,6 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +// +build darwin + package ipv6 import ( @@ -47,23 +49,23 @@ func newControlMessage(opt *rawOpt) (oob []byte) { l += syscall.CmsgSpace(4) } if opt.isset(pktinfo) { - l += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) + l += syscall.CmsgSpace(sysSizeofPacketInfo) } if l > 0 { oob = make([]byte, l) if opt.isset(FlagHopLimit) { m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_2292HOPLIMIT + m.Type = sysSockopt2292HopLimit m.SetLen(syscall.CmsgLen(4)) off += syscall.CmsgSpace(4) } if opt.isset(pktinfo) { m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_2292PKTINFO - m.SetLen(syscall.CmsgLen(syscall.SizeofInet6Pktinfo)) - off += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) + m.Type = sysSockopt2292PacketInfo + m.SetLen(syscall.CmsgLen(sysSizeofPacketInfo)) + off += syscall.CmsgSpace(sysSizeofPacketInfo) } } return @@ -83,12 +85,12 @@ func parseControlMessage(b []byte) (*ControlMessage, error) { continue } switch m.Header.Type { - case syscall.IPV6_2292HOPLIMIT: + case sysSockopt2292HopLimit: cm.HopLimit = int(*(*byte)(unsafe.Pointer(&m.Data[:1][0]))) - case syscall.IPV6_2292PKTINFO: - pi := (*syscall.Inet6Pktinfo)(unsafe.Pointer(&m.Data[0])) - cm.IfIndex = int(pi.Ifindex) - cm.Dst = pi.Addr[:] + case sysSockopt2292PacketInfo: + pi := (*sysPacketInfo)(unsafe.Pointer(&m.Data[0])) + cm.IfIndex = int(pi.IfIndex) + cm.Dst = pi.IP[:] } } return cm, nil @@ -105,7 +107,7 @@ func marshalControlMessage(cm *ControlMessage) (oob []byte) { pion := false if cm.Src.To4() == nil && cm.Src.To16() != nil || cm.IfIndex != 0 { pion = true - l += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) + l += syscall.CmsgSpace(sysSizeofPacketInfo) } if len(cm.NextHop) == net.IPv6len { l += syscall.CmsgSpace(syscall.SizeofSockaddrInet6) @@ -115,7 +117,7 @@ func marshalControlMessage(cm *ControlMessage) (oob []byte) { if cm.HopLimit > 0 { m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_2292HOPLIMIT + m.Type = sysSockopt2292HopLimit m.SetLen(syscall.CmsgLen(4)) data := oob[off+syscall.CmsgLen(0):] *(*byte)(unsafe.Pointer(&data[:1][0])) = byte(cm.HopLimit) @@ -124,26 +126,24 @@ func marshalControlMessage(cm *ControlMessage) (oob []byte) { if pion { m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_2292PKTINFO - m.SetLen(syscall.CmsgLen(syscall.SizeofInet6Pktinfo)) - pi := (*syscall.Inet6Pktinfo)(unsafe.Pointer(&oob[off+syscall.CmsgLen(0)])) + m.Type = sysSockopt2292PacketInfo + m.SetLen(syscall.CmsgLen(sysSizeofPacketInfo)) + pi := (*sysPacketInfo)(unsafe.Pointer(&oob[off+syscall.CmsgLen(0)])) if ip := cm.Src.To16(); ip != nil && ip.To4() == nil { - copy(pi.Addr[:], ip) + copy(pi.IP[:], ip) } if cm.IfIndex != 0 { - pi.Ifindex = uint32(cm.IfIndex) + pi.IfIndex = uint32(cm.IfIndex) } - off += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) + off += syscall.CmsgSpace(sysSizeofPacketInfo) } if len(cm.NextHop) == net.IPv6len { m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_2292NEXTHOP + m.Type = sysSockopt2292NextHop m.SetLen(syscall.CmsgLen(syscall.SizeofSockaddrInet6)) sa := (*syscall.RawSockaddrInet6)(unsafe.Pointer(&oob[off+syscall.CmsgLen(0)])) - sa.Len = syscall.SizeofSockaddrInet6 - sa.Family = syscall.AF_INET6 - copy(sa.Addr[:], cm.NextHop) + setSockaddr(sa, cm.NextHop, cm.IfIndex) off += syscall.CmsgSpace(syscall.SizeofSockaddrInet6) } } diff --git a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc3542_linux.go b/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc3542_linux.go deleted file mode 100644 index 3e73f3b16e..0000000000 --- a/Godeps/_workspace/src/code.google.com/p/go.net/ipv6/control_rfc3542_linux.go +++ /dev/null @@ -1,217 +0,0 @@ -// Copyright 2013 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package ipv6 - -import ( - "net" - "os" - "syscall" - "unsafe" -) - -const ( - // See /usr/include/linux/in6.h. - syscall_IPV6_RECVPATHMTU = syscall.IPV6_DSTOPTS + 1 + iota - syscall_IPV6_PATHMTU - syscall_IPV6_DONTFRAG -) - -const pktinfo = FlagDst | FlagInterface - -func setControlMessage(fd int, opt *rawOpt, cf ControlFlags, on bool) error { - opt.Lock() - defer opt.Unlock() - if cf&FlagTrafficClass != 0 { - if err := setIPv6ReceiveTrafficClass(fd, on); err != nil { - return err - } - if on { - opt.set(FlagTrafficClass) - } else { - opt.clear(FlagTrafficClass) - } - } - if cf&FlagHopLimit != 0 { - if err := setIPv6ReceiveHopLimit(fd, on); err != nil { - return err - } - if on { - opt.set(FlagHopLimit) - } else { - opt.clear(FlagHopLimit) - } - } - if cf&pktinfo != 0 { - if err := setIPv6ReceivePacketInfo(fd, on); err != nil { - return err - } - if on { - opt.set(cf & pktinfo) - } else { - opt.clear(cf & pktinfo) - } - } - if cf&FlagPathMTU != 0 { - if err := setIPv6ReceivePathMTU(fd, on); err != nil { - return err - } - if on { - opt.set(FlagPathMTU) - } else { - opt.clear(FlagPathMTU) - } - } - return nil -} - -func newControlMessage(opt *rawOpt) (oob []byte) { - opt.Lock() - defer opt.Unlock() - l, off := 0, 0 - if opt.isset(FlagTrafficClass) { - l += syscall.CmsgSpace(4) - } - if opt.isset(FlagHopLimit) { - l += syscall.CmsgSpace(4) - } - if opt.isset(pktinfo) { - l += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) - } - if opt.isset(FlagPathMTU) { - l += syscall.CmsgSpace(syscall.SizeofIPv6MTUInfo) - } - if l > 0 { - oob = make([]byte, l) - if opt.isset(FlagTrafficClass) { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_RECVTCLASS - m.SetLen(syscall.CmsgLen(4)) - off += syscall.CmsgSpace(4) - } - if opt.isset(FlagHopLimit) { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_RECVHOPLIMIT - m.SetLen(syscall.CmsgLen(4)) - off += syscall.CmsgSpace(4) - } - if opt.isset(pktinfo) { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_RECVPKTINFO - m.SetLen(syscall.CmsgLen(syscall.SizeofInet6Pktinfo)) - off += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) - } - if opt.isset(FlagPathMTU) { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Level = ianaProtocolIPv6 - m.Type = syscall_IPV6_RECVPATHMTU - m.SetLen(syscall.CmsgLen(syscall.SizeofIPv6MTUInfo)) - off += syscall.CmsgSpace(syscall.SizeofIPv6MTUInfo) - } - } - return -} - -func parseControlMessage(b []byte) (*ControlMessage, error) { - if len(b) == 0 { - return nil, nil - } - cmsgs, err := syscall.ParseSocketControlMessage(b) - if err != nil { - return nil, os.NewSyscallError("parse socket control message", err) - } - cm := &ControlMessage{} - for _, m := range cmsgs { - if m.Header.Level != ianaProtocolIPv6 { - continue - } - switch m.Header.Type { - case syscall.IPV6_TCLASS: - cm.TrafficClass = int(*(*byte)(unsafe.Pointer(&m.Data[:1][0]))) - case syscall.IPV6_HOPLIMIT: - cm.HopLimit = int(*(*byte)(unsafe.Pointer(&m.Data[:1][0]))) - case syscall.IPV6_PKTINFO: - pi := (*syscall.Inet6Pktinfo)(unsafe.Pointer(&m.Data[0])) - cm.Dst = pi.Addr[:] - cm.IfIndex = int(pi.Ifindex) - case syscall_IPV6_PATHMTU: - mi := (*syscall.IPv6MTUInfo)(unsafe.Pointer(&m.Data[0])) - cm.Dst = mi.Addr.Addr[:] - cm.IfIndex = int(mi.Addr.Scope_id) - cm.MTU = int(mi.Mtu) - } - } - return cm, nil -} - -func marshalControlMessage(cm *ControlMessage) (oob []byte) { - if cm == nil { - return - } - l, off := 0, 0 - if cm.TrafficClass > 0 { - l += syscall.CmsgSpace(4) - } - if cm.HopLimit > 0 { - l += syscall.CmsgSpace(4) - } - pion := false - if cm.Src.To4() == nil && cm.Src.To16() != nil || cm.IfIndex != 0 { - pion = true - l += syscall.CmsgSpace(syscall.SizeofInet6Pktinfo) - } - if len(cm.NextHop) == net.IPv6len { - l += syscall.CmsgSpace(syscall.SizeofSockaddrInet6) - } - if l > 0 { - oob = make([]byte, l) - if cm.TrafficClass > 0 { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Level = ianaProtocolIPv6 - m.Type = syscall.IPV6_TCLASS - m.SetLen(syscall.CmsgLen(4)) - data := oob[off+syscall.CmsgLen(0):] - *(*byte)(unsafe.Pointer(&data[:1][0])) = byte(cm.TrafficClass) - off += syscall.CmsgSpace(4) - } - if cm.HopLimit > 0 { - m := (*syscall.Cmsghdr)(unsafe.Pointer(&oob[off])) - m.Le |