summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2018-02-12 20:10:44 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2018-02-12 20:13:03 +0100
commitbffe99aeadae09abd02f2bd3184925af6b680535 (patch)
tree556d223ebcd32b957e62e15353087b93a824641c
parent77285c99aa30eb802d0281175990e6809501ec18 (diff)
Don't use modules
Feel free to revert this if you have a strong feeling about it. But so far as I can see, it adds a lot of complexity for basically no upsides.
-rw-r--r--cookie.go5
-rw-r--r--device.go3
-rw-r--r--noise-protocol.go9
-rw-r--r--ratelimiter.go (renamed from internal/ratelimiter/ratelimiter.go)2
-rw-r--r--ratelimiter_test.go (renamed from internal/ratelimiter/ratelimiter_test.go)2
-rw-r--r--tai64n.go (renamed from internal/tai64n/tai64n.go)4
-rw-r--r--tai64n_test.go (renamed from internal/tai64n/tai64n_test.go)6
-rw-r--r--xchacha20.go (renamed from internal/xchacha20poly1305/xchacha20.go)6
-rw-r--r--xchacha20_test.go (renamed from internal/xchacha20poly1305/xchacha20_test.go)6
9 files changed, 20 insertions, 23 deletions
diff --git a/cookie.go b/cookie.go
index 72455a4..9572901 100644
--- a/cookie.go
+++ b/cookie.go
@@ -3,7 +3,6 @@ package main
import (
"crypto/hmac"
"crypto/rand"
- "git.zx2c4.com/wireguard-go/internal/xchacha20poly1305"
"golang.org/x/crypto/blake2s"
"golang.org/x/crypto/chacha20poly1305"
"sync"
@@ -158,7 +157,7 @@ func (st *CookieChecker) CreateReply(
return nil, err
}
- xchacha20poly1305.Encrypt(
+ XChaCha20Poly1305Encrypt(
reply.Cookie[:0],
&reply.Nonce,
cookie[:],
@@ -202,7 +201,7 @@ func (st *CookieGenerator) ConsumeReply(msg *MessageCookieReply) bool {
var cookie [blake2s.Size128]byte
- _, err := xchacha20poly1305.Decrypt(
+ _, err := XChaCha20Poly1305Decrypt(
cookie[:0],
&msg.Nonce,
msg.Cookie[:],
diff --git a/device.go b/device.go
index 9f93f21..6324948 100644
--- a/device.go
+++ b/device.go
@@ -1,7 +1,6 @@
package main
import (
- "git.zx2c4.com/wireguard-go/internal/ratelimiter"
"runtime"
"sync"
"sync/atomic"
@@ -51,7 +50,7 @@ type Device struct {
rate struct {
underLoadUntil atomic.Value
- limiter ratelimiter.Ratelimiter
+ limiter Ratelimiter
}
pool struct {
diff --git a/noise-protocol.go b/noise-protocol.go
index df08a0a..31ae55b 100644
--- a/noise-protocol.go
+++ b/noise-protocol.go
@@ -2,7 +2,6 @@ package main
import (
"errors"
- "git.zx2c4.com/wireguard-go/internal/tai64n"
"golang.org/x/crypto/blake2s"
"golang.org/x/crypto/chacha20poly1305"
"golang.org/x/crypto/poly1305"
@@ -59,7 +58,7 @@ type MessageInitiation struct {
Sender uint32
Ephemeral NoisePublicKey
Static [NoisePublicKeySize + poly1305.TagSize]byte
- Timestamp [tai64n.TimestampSize + poly1305.TagSize]byte
+ Timestamp [TimestampSize + poly1305.TagSize]byte
MAC1 [blake2s.Size128]byte
MAC2 [blake2s.Size128]byte
}
@@ -100,7 +99,7 @@ type Handshake struct {
remoteStatic NoisePublicKey // long term key
remoteEphemeral NoisePublicKey // ephemeral public key
precomputedStaticStatic [NoisePublicKeySize]byte // precomputed shared secret
- lastTimestamp tai64n.Timestamp
+ lastTimestamp Timestamp
lastInitiationConsumption time.Time
}
@@ -207,7 +206,7 @@ func (device *Device) CreateMessageInitiation(peer *Peer) (*MessageInitiation, e
// encrypt timestamp
- timestamp := tai64n.Now()
+ timestamp := TimestampNow()
func() {
var key [chacha20poly1305.KeySize]byte
KDF2(
@@ -272,7 +271,7 @@ func (device *Device) ConsumeMessageInitiation(msg *MessageInitiation) *Peer {
// verify identity
- var timestamp tai64n.Timestamp
+ var timestamp Timestamp
var key [chacha20poly1305.KeySize]byte
handshake.mutex.RLock()
diff --git a/internal/ratelimiter/ratelimiter.go b/ratelimiter.go
index 006900a..168a743 100644
--- a/internal/ratelimiter/ratelimiter.go
+++ b/ratelimiter.go
@@ -1,4 +1,4 @@
-package ratelimiter
+package main
/* Copyright (C) 2015-2017 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. */
diff --git a/internal/ratelimiter/ratelimiter_test.go b/ratelimiter_test.go
index 37339ee..9b0abfd 100644
--- a/internal/ratelimiter/ratelimiter_test.go
+++ b/ratelimiter_test.go
@@ -1,4 +1,4 @@
-package ratelimiter
+package main
import (
"net"
diff --git a/internal/tai64n/tai64n.go b/tai64n.go
index da5257c..8c5ebe0 100644
--- a/internal/tai64n/tai64n.go
+++ b/tai64n.go
@@ -1,4 +1,4 @@
-package tai64n
+package main
import (
"bytes"
@@ -11,7 +11,7 @@ const base = uint64(4611686018427387914)
type Timestamp [TimestampSize]byte
-func Now() Timestamp {
+func TimestampNow() Timestamp {
var tai64n Timestamp
now := time.Now()
secs := base + uint64(now.Unix())
diff --git a/internal/tai64n/tai64n_test.go b/tai64n_test.go
index 389b65c..a9e22b0 100644
--- a/internal/tai64n/tai64n_test.go
+++ b/tai64n_test.go
@@ -1,4 +1,4 @@
-package tai64n
+package main
import (
"testing"
@@ -9,10 +9,10 @@ import (
* as used by WireGuard.
*/
func TestMonotonic(t *testing.T) {
- old := Now()
+ old := TimestampNow()
for i := 0; i < 10000; i++ {
time.Sleep(time.Nanosecond)
- next := Now()
+ next := TimestampNow()
if !next.After(old) {
t.Error("TAI64N, not monotonically increasing on nano-second scale")
}
diff --git a/internal/xchacha20poly1305/xchacha20.go b/xchacha20.go
index a6e59f0..8e7d99f 100644
--- a/internal/xchacha20poly1305/xchacha20.go
+++ b/xchacha20.go
@@ -2,7 +2,7 @@
// Use of this source code is governed by a license that can be
// found in the LICENSE file.
-package xchacha20poly1305
+package main
import (
"encoding/binary"
@@ -138,7 +138,7 @@ func hChaCha20(out *[32]byte, nonce []byte, key *[32]byte) {
binary.LittleEndian.PutUint32(out[28:], v15)
}
-func Encrypt(
+func XChaCha20Poly1305Encrypt(
dst []byte,
nonceFull *[24]byte,
plaintext []byte,
@@ -153,7 +153,7 @@ func Encrypt(
return aead.Seal(dst, nonce[:], plaintext, additionalData)
}
-func Decrypt(
+func XChaCha20Poly1305Decrypt(
dst []byte,
nonceFull *[24]byte,
plaintext []byte,
diff --git a/internal/xchacha20poly1305/xchacha20_test.go b/xchacha20_test.go
index 5d5b78f..0f41cf8 100644
--- a/internal/xchacha20poly1305/xchacha20_test.go
+++ b/xchacha20_test.go
@@ -1,4 +1,4 @@
-package xchacha20poly1305
+package main
import (
"encoding/hex"
@@ -60,7 +60,7 @@ func TestXChaCha20(t *testing.T) {
// test encryption
- ct := Encrypt(
+ ct := XChaCha20Poly1305Encrypt(
nil,
&nonceArray,
pt,
@@ -74,7 +74,7 @@ func TestXChaCha20(t *testing.T) {
// test decryption
- ptp, err := Decrypt(
+ ptp, err := XChaCha20Poly1305Decrypt(
nil,
&nonceArray,
ct,