EtherGuard-VPN/device
Josh Bleecher Snyder 10533c3e73 all: make conn.Bind.Open return a slice of receive functions
Instead of hard-coding exactly two sources from which
to receive packets (an IPv4 source and an IPv6 source),
allow the conn.Bind to specify a set of sources.

Beneficial consequences:

* If there's no IPv6 support on a system,
  conn.Bind.Open can choose not to return a receive function for it,
  which is simpler than tracking that state in the bind.
  This simplification removes existing data races from both
  conn.StdNetBind and bindtest.ChannelBind.
* If there are more than two sources on a system,
  the conn.Bind no longer needs to add a separate muxing layer.

Signed-off-by: Josh Bleecher Snyder <josharian@gmail.com>
2021-04-02 11:07:08 -06:00
..
alignment_test.go device: fix alignment on 32-bit machines and test for it 2021-02-09 15:37:04 +01:00
allowedips_rand_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
allowedips_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
allowedips.go device: use container/list instead of open coding it 2021-02-10 18:19:11 +01:00
bind_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
channels.go device: flush peer queues before starting device 2021-02-10 00:39:28 +01:00
constants.go global: bump copyright 2021-01-28 17:52:15 +01:00
cookie_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
cookie.go global: bump copyright 2021-01-28 17:52:15 +01:00
device_test.go device: test up/down using virtual conn 2021-02-23 20:00:57 +01:00
device.go all: make conn.Bind.Open return a slice of receive functions 2021-04-02 11:07:08 -06:00
devicestate_string.go device: remove deviceStateNew 2021-02-09 15:39:19 +01:00
endpoint_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
indextable.go global: bump copyright 2021-01-28 17:52:15 +01:00
ip.go global: bump copyright 2021-01-28 17:52:15 +01:00
kdf_test.go global: bump copyright 2021-01-28 17:52:15 +01:00
keypair.go global: bump copyright 2021-01-28 17:52:15 +01:00
logger.go global: bump copyright 2021-01-28 17:52:15 +01:00
misc.go global: bump copyright 2021-01-28 17:52:15 +01:00
mobilequirks.go global: bump copyright 2021-01-28 17:52:15 +01:00
noise_test.go device: cleanup unused test components 2021-02-23 20:00:57 +01:00
noise-helpers.go global: bump copyright 2021-01-28 17:52:15 +01:00
noise-protocol.go global: remove TODO name graffiti 2021-02-23 20:00:57 +01:00
noise-types.go global: bump copyright 2021-01-28 17:52:15 +01:00
peer.go device: get rid of peers.empty boolean in timersActive 2021-03-06 08:44:38 -07:00
pools_test.go device: disable waitpool tests 2021-02-22 15:26:47 +01:00
pools.go device: use a waiting sync.Pool instead of a channel 2021-02-02 19:32:13 +01:00
queueconstants_android.go global: bump copyright 2021-01-28 17:52:15 +01:00
queueconstants_default.go conn: implement RIO for fast Windows UDP sockets 2021-02-25 15:08:08 +01:00
queueconstants_ios.go global: bump copyright 2021-01-28 17:52:15 +01:00
queueconstants_windows.go conn: implement RIO for fast Windows UDP sockets 2021-02-25 15:08:08 +01:00
race_disabled_test.go device: run fewer trials in TestWaitPool when race detector enabled 2021-02-09 18:28:58 +01:00
race_enabled_test.go device: run fewer trials in TestWaitPool when race detector enabled 2021-02-09 18:28:58 +01:00
receive.go all: make conn.Bind.Open return a slice of receive functions 2021-04-02 11:07:08 -06:00
send.go device: signal to close device in separate routine 2021-03-11 09:29:10 -07:00
sticky_default.go conn: make binds replacable 2021-02-23 20:00:57 +01:00
sticky_linux.go conn: make binds replacable 2021-02-23 20:00:57 +01:00
timers.go device: get rid of peers.empty boolean in timersActive 2021-03-06 08:44:38 -07:00
tun.go device: don't track device interface state in RoutineTUNEventReader 2021-02-08 10:32:07 -08:00
uapi.go conn: make binds replacable 2021-02-23 20:00:57 +01:00