linux/drivers/net/wireguard
Jason A. Donenfeld 11a7686aa9 wireguard: noise: error out precomputed DH during handshake rather than config
We precompute the static-static ECDH during configuration time, in order
to save an expensive computation later when receiving network packets.
However, not all ECDH computations yield a contributory result. Prior,
we were just not letting those peers be added to the interface. However,
this creates a strange inconsistency, since it was still possible to add
other weird points, like a valid public key plus a low-order point, and,
like points that result in zeros, a handshake would not complete. In
order to make the behavior more uniform and less surprising, simply
allow all peers to be added. Then, we'll error out later when doing the
crypto if there's an issue. This also adds more separation between the
crypto layer and the configuration layer.

Discussed-with: Mathias Hall-Andersen <mathias@hall-andersen.dk>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-03-18 18:51:43 -07:00
..
selftest
allowedips.c wireguard: allowedips: fix use-after-free in root_remove_peer_lists 2020-02-05 14:14:18 +01:00
allowedips.h
cookie.c
cookie.h
device.c wireguard: queueing: account for skb->protocol==0 2020-03-18 18:51:43 -07:00
device.h net: introduce skb_list_walk_safe for skb segment walking 2020-01-08 15:19:54 -08:00
main.c wireguard: main: remove unused include <linux/version.h> 2019-12-16 19:22:22 -08:00
Makefile
messages.h
netlink.c wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
netlink.h
noise.c wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
noise.h wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
peer.c wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
peer.h
peerlookup.c
peerlookup.h
queueing.c
queueing.h wireguard: queueing: account for skb->protocol==0 2020-03-18 18:51:43 -07:00
ratelimiter.c
ratelimiter.h
receive.c wireguard: receive: remove dead code from default packet type case 2020-03-18 18:51:43 -07:00
send.c wireguard: send: account for mtu=0 devices 2020-02-16 19:21:56 -08:00
socket.c wireguard: socket: remove extra call to synchronize_net 2020-02-16 19:21:56 -08:00
socket.h
timers.c
timers.h
version.h