mirror of
				https://github.com/oneclickvirt/backtrace.git
				synced 2025-11-04 07:42:37 +08:00 
			
		
		
		
	update
This commit is contained in:
		
							parent
							
								
									25fd3bc4e0
								
							
						
					
					
						commit
						96bc308c29
					
				
							
								
								
									
										2
									
								
								.github/workflows/main.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/main.yaml
									
									
									
									
										vendored
									
									
								
							@ -87,8 +87,6 @@ jobs:
 | 
			
		||||
          - goos: linux
 | 
			
		||||
            goarch: arm
 | 
			
		||||
            goarm: 5
 | 
			
		||||
          - goos: android
 | 
			
		||||
            goarch: arm64
 | 
			
		||||
          - goos: windows
 | 
			
		||||
            goarch: arm64
 | 
			
		||||
          - goos: windows
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								backtrace/listen_darwin.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								backtrace/listen_darwin.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
package backtrace
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net"
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
 | 
			
		||||
	conn, err := net.ListenIP(network, laddr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	raw, err := conn.SyscallConn()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	_ = raw.Control(func(fd uintptr) {
 | 
			
		||||
		err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return conn, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								backtrace/listen_freebsd.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								backtrace/listen_freebsd.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
package backtrace
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net"
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
 | 
			
		||||
	conn, err := net.ListenIP(network, laddr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	raw, err := conn.SyscallConn()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	_ = raw.Control(func(fd uintptr) {
 | 
			
		||||
		err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return conn, nil
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										26
									
								
								backtrace/listen_openbsd.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								backtrace/listen_openbsd.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,26 @@
 | 
			
		||||
package backtrace
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"net"
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (t *Tracer) listen(network string, laddr *net.IPAddr) (*net.IPConn, error) {
 | 
			
		||||
	conn, err := net.ListenIP(network, laddr)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	raw, err := conn.SyscallConn()
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	_ = raw.Control(func(fd uintptr) {
 | 
			
		||||
		err = syscall.SetsockoptInt(int(fd), syscall.IPPROTO_IP, syscall.IP_HDRINCL, 1)
 | 
			
		||||
	})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		conn.Close()
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
	return conn, nil
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user