mirror of
				https://github.com/restic/rest-server.git
				synced 2025-10-30 21:01:01 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2014 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 nettest provides utilities for IP testing.
 | |
| package nettest // import "golang.org/x/net/internal/nettest"
 | |
| 
 | |
| import "net"
 | |
| 
 | |
| // SupportsIPv4 reports whether the platform supports IPv4 networking
 | |
| // functionality.
 | |
| func SupportsIPv4() bool {
 | |
| 	ln, err := net.Listen("tcp4", "127.0.0.1:0")
 | |
| 	if err != nil {
 | |
| 		return false
 | |
| 	}
 | |
| 	ln.Close()
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| // SupportsIPv6 reports whether the platform supports IPv6 networking
 | |
| // functionality.
 | |
| func SupportsIPv6() bool {
 | |
| 	if causesIPv6Crash() {
 | |
| 		return false
 | |
| 	}
 | |
| 	ln, err := net.Listen("tcp6", "[::1]:0")
 | |
| 	if err != nil {
 | |
| 		return false
 | |
| 	}
 | |
| 	ln.Close()
 | |
| 	return true
 | |
| }
 | |
| 
 | |
| // SupportsRawIPSocket reports whether the platform supports raw IP
 | |
| // sockets.
 | |
| func SupportsRawIPSocket() (string, bool) {
 | |
| 	return supportsRawIPSocket()
 | |
| }
 | |
| 
 | |
| // SupportsIPv6MulticastDeliveryOnLoopback reports whether the
 | |
| // platform supports IPv6 multicast packet delivery on software
 | |
| // loopback interface.
 | |
| func SupportsIPv6MulticastDeliveryOnLoopback() bool {
 | |
| 	return supportsIPv6MulticastDeliveryOnLoopback()
 | |
| }
 | |
| 
 | |
| // ProtocolNotSupported reports whether err is a protocol not
 | |
| // supported error.
 | |
| func ProtocolNotSupported(err error) bool {
 | |
| 	return protocolNotSupported(err)
 | |
| }
 | 
