[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#574371: Patch for building on squeeze



The patch below is required to make the package build on squeeze.
It's still not policy-conforming because there are tests which require
access to the network, but at least it builds now when the network is
available.

By the way, what's the story behind the statically-linked binaries in
/usr/lib/golang/bin?

# HG changeset patch
# User fw@deneb.enyo.de
# Date 1282471319 -7200
# Node ID d68478aa6899b45b119c044ed8f819fe5cb8bd30
# Parent  c6b2f56925705655af802e6093072b63bbf86486
Allow IPv4 on IPv6 sockets

diff -r c6b2f5692570 -r d68478aa6899 src/pkg/net/sock.go
--- a/src/pkg/net/sock.go	Sun Jul 04 21:37:27 2010 -0500
+++ b/src/pkg/net/sock.go	Sun Aug 22 12:01:59 2010 +0200
@@ -38,6 +38,16 @@
 	// Allow broadcast.
 	syscall.SetsockoptInt(s, syscall.SOL_SOCKET, syscall.SO_BROADCAST, 1)
 
+	// Allow IPv4 on IPv6 sockets.
+	if f == syscall.AF_INET6 {
+		e = syscall.SetsockoptInt(s, syscall.IPPROTO_IPV6,
+			syscall.IPV6_V6ONLY, 0)
+		if e != 0 {
+			syscall.Close(s)
+			return nil, os.Errno(e)
+		}
+	}
+
 	if la != nil {
 		e = syscall.Bind(s, la)
 		if e != 0 {



Reply to: