snowflake/server/dial.go
David Fifield 9edaee6547 Use IP_BIND_ADDRESS_NO_PORT when dialing the ORPort on Linux.
When the orport-srcaddr option is set, we bind to a source IP address
before dialing the ORPort/ExtORPort. tor similarly binds to a source IP
address when OutboundBindAddress is set in torrc. Since tor 0.4.7.13,
tor sets IP_BIND_ADDRESS_NO_PORT, and because problems arise when some
programs use IP_BIND_ADDRESS_NO_PORT and some do not, we also have to
start using IP_BIND_ADDRESS_NO_PORT when we upgrade tor
(tpo/anti-censorship/pluggable-transports/snowflake#40270).

Related: tpo/anti-censorship/pluggable-transports/snowflake#40198
2023-06-08 13:24:22 -06:00

14 lines
318 B
Go

//go:build !linux
// +build !linux
package main
import "syscall"
// dialerControl does nothing.
//
// On Linux, this function would set the IP_BIND_ADDRESS_NO_PORT socket option
// in preparation for a future bind-before-connect.
func dialerControl(network, address string, c syscall.RawConn) error {
return nil
}