diff options
| author | David Lönnhager <david.l@mullvad.net> | 2020-11-27 15:54:38 +0100 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2020-11-27 15:54:38 +0100 |
| commit | 2245c9c286124e490f12cb1d34da74723d5b1c49 (patch) | |
| tree | d519a7686ece5b5738a9fc92acf97ed60ec092a1 | |
| parent | e8657063e1c33907959a54094b11d670409c61f6 (diff) | |
| parent | 9220b4da685a46440e28af8f0f3926e87d4a32b6 (diff) | |
| download | mullvadvpn-2245c9c286124e490f12cb1d34da74723d5b1c49.tar.xz mullvadvpn-2245c9c286124e490f12cb1d34da74723d5b1c49.zip | |
Merge branch 'update-wireguard-go'
| -rw-r--r-- | CHANGELOG.md | 1 | ||||
| -rw-r--r-- | gui/tasks/distribution.js | 1 | ||||
| -rw-r--r-- | wireguard/libwg/go.mod | 6 | ||||
| -rw-r--r-- | wireguard/libwg/go.sum | 42 | ||||
| -rw-r--r-- | wireguard/libwg/libwg.go | 1 | ||||
| -rw-r--r-- | wireguard/libwg/libwg_android.go | 8 | ||||
| -rw-r--r-- | wireguard/libwg/libwg_windows.go | 7 |
7 files changed, 36 insertions, 30 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index c5c34e1a19..f8a8ec1269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,7 @@ Line wrap the file at 100 chars. Th - Rename CLI subcommand `mullvad relay set relay` to `mullvad relay set hostname`. - Upgrade OpenVPN from 2.4.9 to 2.5.0. - Upgrade Electron from 8.5.2 to Electron 11.0.2. +- Upgrade wireguard-go to v0.0.20201118. #### Android - Remove the Quit button. diff --git a/gui/tasks/distribution.js b/gui/tasks/distribution.js index 0623c0b660..0a7647b587 100644 --- a/gui/tasks/distribution.js +++ b/gui/tasks/distribution.js @@ -98,6 +98,7 @@ const config = { { from: distAssets('binaries/x86_64-pc-windows-msvc/openvpn.exe'), to: '.' }, { from: distAssets('binaries/x86_64-pc-windows-msvc/sslocal.exe'), to: '.' }, { from: root('build/lib/x86_64-pc-windows-msvc/libwg.dll'), to: '.' }, + { from: distAssets('binaries/x86_64-pc-windows-msvc/wintun.dll'), to: '.' }, ], }, diff --git a/wireguard/libwg/go.mod b/wireguard/libwg/go.mod index 02a170a9b5..270a02357d 100644 --- a/wireguard/libwg/go.mod +++ b/wireguard/libwg/go.mod @@ -3,7 +3,7 @@ module github.com/mullvad/mullvadvpn-app/wireguard/libwg go 1.13 require ( - golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 - golang.zx2c4.com/wireguard v0.0.20200121 - golang.zx2c4.com/wireguard/windows v0.0.38 + golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 + golang.zx2c4.com/wireguard v0.0.20201118 + golang.zx2c4.com/wireguard/windows v0.3.1 ) diff --git a/wireguard/libwg/go.sum b/wireguard/libwg/go.sum index ee390a307c..9cd0a5bbe7 100644 --- a/wireguard/libwg/go.sum +++ b/wireguard/libwg/go.sum @@ -1,28 +1,26 @@ -github.com/lxn/walk v0.0.0-20191128110447-55ccb3a9f5c1/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ= -github.com/lxn/win v0.0.0-20191128105842-2da648fda5b4/go.mod h1:ouWl4wViUNh8tPSIwxTVMuS014WakR1hqvBc2I0bMoA= +github.com/lxn/walk v0.0.0-20201123161058-0a7a9b4462c3/go.mod h1:E23UucZGqpuUANJooIbHWCufXvOcT6E7Stq81gU+CSQ= +github.com/lxn/win v0.0.0-20201111105847-2a20daff6a55/go.mod h1:KxxjdtRkfNoYDCUP5ryK7XJJNTnpC8atvtmTheChOtk= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc h1:c0o/qxkaO2LF5t6fQrT4b5hzyggAkLLlCUjqfRxd8Q4= -golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876 h1:sKJQZMuxjOAR/Uo2LBfU90onWEf1dF4C+0hPJCc9Mpc= -golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 h1:phUcVbl53swtrUN8kQEXFhUxPlIlWyBfKmidCu7P95o= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20191003171128-d98b1b443823 h1:Ypyv6BNJh07T1pUSrehkLemqPKXhus2MkfktJ91kRh4= -golang.org/x/net v0.0.0-20191003171128-d98b1b443823/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553 h1:efeOvDhwQ29Dj3SdAV/MJf8oukgn+8D8WgaCaRMchF8= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191003212358-c178f38b412c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5 h1:LfCXLvNmTYH9kEmVgqbnsWfruoXZIrh4YBgqVHtDvw0= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201018230417-eeed37f84f13/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201117222635-ba5294a509c7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5-0.20201118010606-4482a914f523/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.zx2c4.com/wireguard v0.0.20191013-0.20200107164045-4fa2ea6a2dab/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4= -golang.zx2c4.com/wireguard v0.0.20200121 h1:vcswa5Q6f+sylDfjqyrVNNrjsFUUbPsgAQTBCAg/Qf8= -golang.zx2c4.com/wireguard v0.0.20200121/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4= -golang.zx2c4.com/wireguard/windows v0.0.38 h1:RIXfYUYDCBk5+tsxrnNBRXxIvgnXJc544MrDMFFXj4I= -golang.zx2c4.com/wireguard/windows v0.0.38/go.mod h1:bVbqKzpu4jLrEA2nVNn/WdWyyXGZARZNqkoGHd61DuM= +golang.zx2c4.com/wireguard v0.0.20201118 h1:QL8y2C7uO8T6z1GY+UX/hSeWiYEBurQkXjOTRFtCvXU= +golang.zx2c4.com/wireguard v0.0.20201118/go.mod h1:Dz+cq5bnrai9EpgYj4GDof/+qaGzbRWbeaAOs1bUYa0= +golang.zx2c4.com/wireguard/windows v0.3.1 h1:xdvnE/PWV/qUhN8RohAaC69OSlqGVLqOtJ2D+a/26JM= +golang.zx2c4.com/wireguard/windows v0.3.1/go.mod h1:Mg+sBfB9ou/5VqVh0naiVc3S7sRlK8xMVvJ5Cxgdrr8= diff --git a/wireguard/libwg/libwg.go b/wireguard/libwg/libwg.go index 51c01c8976..153ddd94e9 100644 --- a/wireguard/libwg/libwg.go +++ b/wireguard/libwg/libwg.go @@ -27,7 +27,6 @@ const ( var tunnels tunnelcontainer.Container func init() { - device.RoamingDisabled = true tunnels = tunnelcontainer.New() } diff --git a/wireguard/libwg/libwg_android.go b/wireguard/libwg/libwg_android.go index 56d681b439..6ba61c660c 100644 --- a/wireguard/libwg/libwg_android.go +++ b/wireguard/libwg/libwg_android.go @@ -14,6 +14,7 @@ import ( "golang.org/x/sys/unix" + "golang.zx2c4.com/wireguard/conn" "golang.zx2c4.com/wireguard/device" "golang.zx2c4.com/wireguard/tun" @@ -55,6 +56,7 @@ func wgTurnOn(cSettings *C.char, fd int, logSink LogSink, logContext LogContext) return ERROR_INTERMITTENT_FAILURE } + device.DisableSomeRoamingForBrokenMobileSemantics() device.Up() context := tunnelcontainer.Context{ @@ -78,7 +80,8 @@ func wgGetSocketV4(tunnelHandle int32) int32 { if err != nil { return ERROR_GENERAL_FAILURE } - fd, err := tunnel.Device.PeekLookAtSocketFd4() + peek := tunnel.Device.Bind().(conn.PeekLookAtSocketFd) + fd, err := peek.PeekLookAtSocketFd4() if err != nil { return ERROR_GENERAL_FAILURE } @@ -91,7 +94,8 @@ func wgGetSocketV6(tunnelHandle int32) int32 { if err != nil { return ERROR_GENERAL_FAILURE } - fd, err := tunnel.Device.PeekLookAtSocketFd6() + peek := tunnel.Device.Bind().(conn.PeekLookAtSocketFd) + fd, err := peek.PeekLookAtSocketFd6() if err != nil { return ERROR_GENERAL_FAILURE } diff --git a/wireguard/libwg/libwg_windows.go b/wireguard/libwg/libwg_windows.go index 5b245be71c..032bdbb4ae 100644 --- a/wireguard/libwg/libwg_windows.go +++ b/wireguard/libwg/libwg_windows.go @@ -14,6 +14,7 @@ import ( "golang.org/x/sys/windows" + "golang.zx2c4.com/wireguard/conn" "golang.zx2c4.com/wireguard/device" "golang.zx2c4.com/wireguard/tun" "golang.zx2c4.com/wireguard/windows/tunnel/winipcfg" @@ -144,15 +145,17 @@ func wgTurnOn(cIfaceName *C.char, mtu int, waitOnIpv6 bool, cSettings *C.char, l func wgRebindTunnelSocket(family uint16, interfaceIndex uint32) { tunnels.ForEach(func(tunnel tunnelcontainer.Context) { blackhole := (interfaceIndex == 0) + bind := tunnel.Device.Bind().(conn.BindSocketToInterface) + if family == windows.AF_INET { tunnel.Logger.Info.Printf("Binding v4 socket to interface %d (blackhole=%v)", interfaceIndex, blackhole) - err := tunnel.Device.BindSocketToInterface4(interfaceIndex, blackhole) + err := bind.BindSocketToInterface4(interfaceIndex, blackhole) if err != nil { tunnel.Logger.Info.Println(err) } } else if family == windows.AF_INET6 { tunnel.Logger.Info.Printf("Binding v6 socket to interface %d (blackhole=%v)", interfaceIndex, blackhole) - err := tunnel.Device.BindSocketToInterface6(interfaceIndex, blackhole) + err := bind.BindSocketToInterface6(interfaceIndex, blackhole) if err != nil { tunnel.Logger.Info.Println(err) } |
