aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/contrib/external-tests/go
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-06-01 18:45:20 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2017-06-01 18:45:20 +0200
commit90a9f2c3b8b83e444fa32abb44c69a60c4f32407 (patch)
treee0a4edb9fd4aa4aec4825c2a81f718a1abf6cb03 /contrib/external-tests/go
parentcompat: remove padata hotplug code (diff)
downloadwireguard-monolithic-historical-90a9f2c3b8b83e444fa32abb44c69a60c4f32407.tar.xz
wireguard-monolithic-historical-90a9f2c3b8b83e444fa32abb44c69a60c4f32407.zip
external-tests: add keepalive packet
Diffstat (limited to 'contrib/external-tests/go')
-rw-r--r--contrib/external-tests/go/main.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/contrib/external-tests/go/main.go b/contrib/external-tests/go/main.go
index 013a1a9..435063d 100644
--- a/contrib/external-tests/go/main.go
+++ b/contrib/external-tests/go/main.go
@@ -172,4 +172,16 @@ func main() {
if echo.ID != 921 || echo.Seq != 438 || string(echo.Data) != "WireGuard" {
log.Fatalf("incorrect echo response: %#v", echo)
}
+
+ keepalivePacket := make([]byte, 16)
+ keepalivePacket[0] = 4 // Type: Data
+ keepalivePacket[1] = 0 // Reserved
+ keepalivePacket[2] = 0 // Reserved
+ keepalivePacket[3] = 0 // Reserved
+ binary.LittleEndian.PutUint32(keepalivePacket[4:], theirIndex)
+ binary.LittleEndian.PutUint64(keepalivePacket[8:], 1) // Nonce
+ keepalivePacket = sendCipher.Encrypt(keepalivePacket, nil, nil) // Empty data means keepalive
+ if _, err := conn.Write(keepalivePacket); err != nil {
+ log.Fatalf("error writing keepalive message: %s", err)
+ }
}