aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/packets.h
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2016-10-19 15:46:28 +0900
committerJason A. Donenfeld <Jason@zx2c4.com>2016-10-19 17:22:13 +0900
commit09847c27d4b9af8ce296215ed270ebfb4d08b23c (patch)
tree3465992e6488c7b685a166e08387ddebeb53604d /src/packets.h
parenttimers: always delay handshakes for responder (diff)
downloadwireguard-monolithic-historical-09847c27d4b9af8ce296215ed270ebfb4d08b23c.tar.xz
wireguard-monolithic-historical-09847c27d4b9af8ce296215ed270ebfb4d08b23c.zip
timers: only have initiator rekey
If it's time to rekey, and the responder sends a message, the initator will begin the rekeying when sending his response message. In the worst case, this response message will actually just be the keepalive. This generally works well, with the one edge case of the message arriving less than 10 seconds before key expiration, in which the keepalive is not sufficient. In this case, we simply rehandshake immediately.
Diffstat (limited to '')
-rw-r--r--src/packets.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/packets.h b/src/packets.h
index f2ce2b7..035c548 100644
--- a/src/packets.h
+++ b/src/packets.h
@@ -31,6 +31,7 @@ void packet_send_keepalive(struct wireguard_peer *peer);
void packet_send_handshake_initiation(struct wireguard_peer *peer);
void packet_send_handshake_response(struct wireguard_peer *peer);
void packet_send_handshake_cookie(struct wireguard_device *wg, struct sk_buff *initiating_skb, void *data, size_t data_len, __le32 sender_index);
+void packet_send_handshake_initiation_ratelimited(struct wireguard_peer *peer);
void packet_queue_send_handshake_initiation(struct wireguard_peer *peer);
void packet_process_queued_handshake_packets(struct work_struct *work);