Commit 3329bfea authored by Mikio Hara's avatar Mikio Hara Committed by Gerrit Code Review

Merge "icmp: prevent stripping off ipv4 header twice on darwin"

parents 3053e46b 23996681
......@@ -6,6 +6,7 @@ package icmp
import (
"net"
"runtime"
"syscall"
"time"
......@@ -51,6 +52,15 @@ func (c *PacketConn) ReadFrom(b []byte) (int, net.Addr, error) {
if !c.ok() {
return 0, nil, syscall.EINVAL
}
// Please be informed that ipv4.NewPacketConn enables
// IP_STRIPHDR option by default on Darwin.
// See golang.org/issue/9395 for futher information.
if runtime.GOOS == "darwin" {
if p, _ := c.ipc.(*ipv4.PacketConn); p != nil {
n, _, peer, err := p.ReadFrom(b)
return n, peer, err
}
}
return c.c.ReadFrom(b)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment