Bump go.mod and README.
Switch to upstream net/netip.
Use strings.Cut.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
## Building
-This requires an installation of [go](https://golang.org) ≥ 1.17.
+This requires an installation of [go](https://golang.org) ≥ 1.18.
```
$ git clone https://git.zx2c4.com/wireguard-go
import (
"errors"
"net"
+ "net/netip"
"strconv"
"sync"
"syscall"
"unsafe"
"golang.org/x/sys/unix"
- "golang.zx2c4.com/go118/netip"
)
type ipv4Source struct {
import (
"errors"
"net"
+ "net/netip"
"sync"
"syscall"
-
- "golang.zx2c4.com/go118/netip"
)
// StdNetBind is meant to be a temporary solution on platforms for which
"encoding/binary"
"io"
"net"
+ "net/netip"
"strconv"
"sync"
"sync/atomic"
"unsafe"
"golang.org/x/sys/windows"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn/winrio"
)
"fmt"
"math/rand"
"net"
+ "net/netip"
"os"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn"
)
import (
"errors"
"fmt"
+ "net/netip"
"reflect"
"runtime"
"strings"
-
- "golang.zx2c4.com/go118/netip"
)
// A ReceiveFunc receives a single inbound packet from the network.
"errors"
"math/bits"
"net"
+ "net/netip"
"sync"
"unsafe"
-
- "golang.zx2c4.com/go118/netip"
)
type parentIndirection struct {
import (
"math/rand"
"net"
+ "net/netip"
"sort"
"testing"
-
- "golang.zx2c4.com/go118/netip"
)
const (
import (
"math/rand"
"net"
+ "net/netip"
"testing"
-
- "golang.zx2c4.com/go118/netip"
)
type testPairCommonBits struct {
"fmt"
"io"
"math/rand"
+ "net/netip"
"runtime"
"runtime/pprof"
"sync"
"testing"
"time"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/conn/bindtest"
"golang.zx2c4.com/wireguard/tun/tuntest"
import (
"math/rand"
-
- "golang.zx2c4.com/go118/netip"
+ "net/netip"
)
type DummyEndpoint struct {
"fmt"
"io"
"net"
+ "net/netip"
"strconv"
"strings"
"sync"
"sync/atomic"
"time"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/ipc"
)
peer.handlePostConfig()
return nil
}
- parts := strings.Split(line, "=")
- if len(parts) != 2 {
- return ipcErrorf(ipc.IpcErrorProtocol, "failed to parse line %q, found %d =-separated parts, want 2", line, len(parts))
+ key, value, ok := strings.Cut(line, "=")
+ if !ok {
+ return ipcErrorf(ipc.IpcErrorProtocol, "failed to parse line %q", line)
}
- key := parts[0]
- value := parts[1]
if key == "public_key" {
if deviceConfig {
module golang.zx2c4.com/wireguard
-go 1.17
+go 1.18
require (
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa
package ratelimiter
import (
+ "net/netip"
"sync"
"time"
-
- "golang.zx2c4.com/go118/netip"
)
const (
package ratelimiter
import (
+ "net/netip"
"testing"
"time"
-
- "golang.zx2c4.com/go118/netip"
)
type result struct {
"io"
"log"
"net/http"
+ "net/netip"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun/netstack"
"log"
"net"
"net/http"
+ "net/netip"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun/netstack"
"bytes"
"log"
"math/rand"
+ "net/netip"
"time"
"golang.org/x/net/icmp"
"golang.org/x/net/ipv4"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/conn"
"golang.zx2c4.com/wireguard/device"
"golang.zx2c4.com/wireguard/tun/netstack"
"fmt"
"io"
"net"
+ "net/netip"
"os"
"regexp"
"strconv"
"strings"
"time"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/tun"
"golang.org/x/net/dns/dnsmessage"
import (
"encoding/binary"
"io"
+ "net/netip"
"os"
- "golang.zx2c4.com/go118/netip"
"golang.zx2c4.com/wireguard/tun"
)