Browse Source

Revert "ipv4: work around FreeBSD 12 kernel running COMPAT_FREEBSD32"

This reverts commit 7a92b5139a68fa49faeb322e1929c49a8fb0f023.

Reason for revert: not completely functional on FreeBSD 12 or above and
broke FreeBSD 11 or below.

Change-Id: Icd43d9ecebc0059a577751802e589a6e5f0cd363
Reviewed-on: https://go-review.googlesource.com/c/net/+/168078
Run-TryBot: Mikio Hara <mikioh.public.networking@gmail.com>
Reviewed-by: Mikio Hara <mikioh.public.networking@gmail.com>
Mikio Hara 6 years ago
parent
commit
d196dffd7c
5 changed files with 3 additions and 26 deletions
  1. 0 12
      ipv4/batch.go
  2. 1 2
      ipv4/helper.go
  3. 0 6
      ipv4/packet.go
  4. 0 6
      ipv4/payload_cmsg.go
  5. 2 0
      ipv4/sys_ssmreq.go

+ 0 - 12
ipv4/batch.go

@@ -89,12 +89,6 @@ func (c *payloadHandler) ReadBatch(ms []Message, flags int) (int, error) {
 			n = 0
 			err = &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err}
 		}
-		if compatFreeBSD32 {
-			l := len(ms[0].OOB)
-			if 0 < ms[0].NN && ms[0].NN < l {
-				ms[0].NN = l
-			}
-		}
 		return n, err
 	}
 }
@@ -158,12 +152,6 @@ func (c *packetHandler) ReadBatch(ms []Message, flags int) (int, error) {
 			n = 0
 			err = &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err}
 		}
-		if compatFreeBSD32 {
-			l := len(ms[0].OOB)
-			if 0 < ms[0].NN && ms[0].NN < l {
-				ms[0].NN = l
-			}
-		}
 		return n, err
 	}
 }

+ 1 - 2
ipv4/helper.go

@@ -23,8 +23,7 @@ var (
 	errNotImplemented           = errors.New("not implemented on " + runtime.GOOS + "/" + runtime.GOARCH)
 
 	// See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html.
-	freebsdVersion  uint32
-	compatFreeBSD32 bool // 386 emulation on amd64
+	freebsdVersion uint32
 )
 
 func boolint(b bool) int {

+ 0 - 6
ipv4/packet.go

@@ -46,12 +46,6 @@ func (c *packetHandler) ReadFrom(b []byte) (h *Header, p []byte, cm *ControlMess
 		return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err}
 	}
 	if m.NN > 0 {
-		if compatFreeBSD32 {
-			l := len(m.OOB)
-			if m.NN < l {
-				m.NN = l
-			}
-		}
 		cm = new(ControlMessage)
 		if err := cm.Parse(m.OOB[:m.NN]); err != nil {
 			return nil, nil, nil, &net.OpError{Op: "read", Net: c.IPConn.LocalAddr().Network(), Source: c.IPConn.LocalAddr(), Err: err}

+ 0 - 6
ipv4/payload_cmsg.go

@@ -49,12 +49,6 @@ func (c *payloadHandler) ReadFrom(b []byte) (n int, cm *ControlMessage, src net.
 		return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: errInvalidConnType}
 	}
 	if m.NN > 0 {
-		if compatFreeBSD32 {
-			l := len(m.OOB)
-			if m.NN < l {
-				m.NN = l
-			}
-		}
 		cm = new(ControlMessage)
 		if err := cm.Parse(m.OOB[:m.NN]); err != nil {
 			return 0, nil, nil, &net.OpError{Op: "read", Net: c.PacketConn.LocalAddr().Network(), Source: c.PacketConn.LocalAddr(), Err: err}

+ 2 - 0
ipv4/sys_ssmreq.go

@@ -13,6 +13,8 @@ import (
 	"golang.org/x/net/internal/socket"
 )
 
+var compatFreeBSD32 bool // 386 emulation on amd64
+
 func (so *sockOpt) setGroupReq(c *socket.Conn, ifi *net.Interface, grp net.IP) error {
 	var gr groupReq
 	if ifi != nil {