Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							4fa2ea6a2d 
							
						 
					 
					
						
						
							
							tun: windows: serialize write calls  
						
						 
						
						
						
					 
					
						2020-01-07 11:40:45 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							89dd065e53 
							
						 
					 
					
						
						
							
							README: update repo urls  
						
						 
						
						
						
					 
					
						2019-12-30 11:53:39 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ddfad453cf 
							
						 
					 
					
						
						
							
							device: SendmsgN mutates the input sockaddr  
						
						 
						
						... 
						
						
						
						So we take a new granular lock to prevent concurrent writes from
racing.
WARNING: DATA RACE
Write at 0x00c0011f2740 by goroutine 27:
  golang.org/x/sys/unix.(*SockaddrInet4).sockaddr()
      /go/pkg/mod/golang.org/x/sys@v0.0.0-20191105231009-c1f44814a5cd/unix/syscall_linux.go:384
+0x114
  golang.org/x/sys/unix.SendmsgN()
      /go/pkg/mod/golang.org/x/sys@v0.0.0-20191105231009-c1f44814a5cd/unix/syscall_linux.go:1304
+0x288
  golang.zx2c4.com/wireguard/device.send4()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/conn_linux.go:485
+0x11f
  golang.zx2c4.com/wireguard/device.(*nativeBind).Send()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/conn_linux.go:268
+0x1d6
  golang.zx2c4.com/wireguard/device.(*Peer).SendBuffer()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/peer.go:151
+0x285
  golang.zx2c4.com/wireguard/device.(*Peer).SendHandshakeInitiation()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/send.go:163
+0x692
  golang.zx2c4.com/wireguard/device.(*Device).RoutineReadFromTUN()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/send.go:318
+0x4b8
Previous write at 0x00c0011f2740 by goroutine 386:
  golang.org/x/sys/unix.(*SockaddrInet4).sockaddr()
      /go/pkg/mod/golang.org/x/sys@v0.0.0-20191105231009-c1f44814a5cd/unix/syscall_linux.go:384
+0x114
  golang.org/x/sys/unix.SendmsgN()
      /go/pkg/mod/golang.org/x/sys@v0.0.0-20191105231009-c1f44814a5cd/unix/syscall_linux.go:1304
+0x288
  golang.zx2c4.com/wireguard/device.send4()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/conn_linux.go:485
+0x11f
  golang.zx2c4.com/wireguard/device.(*nativeBind).Send()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/conn_linux.go:268
+0x1d6
  golang.zx2c4.com/wireguard/device.(*Peer).SendBuffer()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/peer.go:151
+0x285
  golang.zx2c4.com/wireguard/device.(*Peer).SendHandshakeInitiation()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/send.go:163
+0x692
  golang.zx2c4.com/wireguard/device.expiredRetransmitHandshake()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/timers.go:110
+0x40c
  golang.zx2c4.com/wireguard/device.(*Peer).NewTimer.func1()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/timers.go:42
+0xd8
Goroutine 27 (running) created at:
  golang.zx2c4.com/wireguard/device.NewDevice()
      /go/pkg/mod/golang.zx2c4.com/wireguard@v0.0.20191012/device/device.go:322
+0x5e8
  main.main()
      /go/src/x/main.go:102 +0x58e
Goroutine 386 (finished) created at:
  time.goFunc()
      /usr/local/go/src/time/sleep.go:168 +0x51
Reported-by: Ben Burkert <ben@benburkert.com> 
						
					 
					
						2019-11-28 11:11:13 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2b242f9393 
							
						 
					 
					
						
						
							
							wintun: manage ring memory manually  
						
						 
						
						... 
						
						
						
						It's large and Go's garbage collector doesn't deal with it especially
well. 
						
					 
					
						2019-11-22 13:13:55 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							4cdf805b29 
							
						 
					 
					
						
						
							
							constants: recalculate rekey max based on a one minute flood  
						
						 
						
						... 
						
						
						
						Discussed-with: Mathias Hall-Andersen <mathias@hall-andersen.dk> 
						
					 
					
						2019-10-30 14:29:32 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jonathan Tooker 
							
						 
					 
					
						
						
						
						
							
						
						
							f7d0edd2ec 
							
						 
					 
					
						
						
							
							global: fix a few typos courtesy of codespell  
						
						 
						
						... 
						
						
						
						Signed-off-by: Jonathan Tooker <jonathan.tooker@netprotect.com> 
						
					 
					
						2019-10-22 11:51:25 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ffffbbcc8a 
							
						 
					 
					
						
						
							
							device: allow blackholing sockets  
						
						 
						
						
						
					 
					
						2019-10-21 13:29:57 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							47b02c618b 
							
						 
					 
					
						
						
							
							device: remove dead error reporting code  
						
						 
						
						
						
					 
					
						2019-10-21 11:46:54 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							fd23c66fcd 
							
						 
					 
					
						
						
							
							namespaceapi: remove tasteless comment  
						
						 
						
						
						
					 
					
						2019-10-21 09:02:29 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ae492d1b35 
							
						 
					 
					
						
						
							
							device: recheck counters while holding write lock  
						
						 
						
						
						
					 
					
						2019-10-17 15:43:06 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							95fbfccf60 
							
						 
					 
					
						
						
							
							wintun: normalize variable names for their types  
						
						 
						
						
						
					 
					
						2019-10-17 15:30:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Avery Pennarun 
							
						 
					 
					
						
						
						
						
							
						
						
							c85e4a410f 
							
						 
					 
					
						
						
							
							wintun: quickly ignore non-Wintun devices  
						
						 
						
						... 
						
						
						
						Some devices take ~2 seconds to enumerate on Windows if we try to get
their instance name.  The hardware id property, on the other hand,
is available right away.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
[zx2c4: inlined this to where it makes sense, reused setupapi const] 
						
					 
					
						2019-10-17 15:19:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Avery Pennarun 
							
						 
					 
					
						
						
						
						
							
						
						
							1b6c8ddbe8 
							
						 
					 
					
						
						
							
							tun: match windows CreateTUN signature to the Linux variant  
						
						 
						
						... 
						
						
						
						Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
[zx2c4: fix default value] 
						
					 
					
						2019-10-17 15:19:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Avery Pennarun 
							
						 
					 
					
						
						
						
						
							
						
						
							0abb6b668c 
							
						 
					 
					
						
						
							
							rwcancel: handle EINTR and EAGAIN in unixSelect()  
						
						 
						
						... 
						
						
						
						On my Chromebook (Linux 4.19.44 in a VM) and on an AWS EC2
machine, select() was sometimes returning EINTR. This is
harmless and just means you should try again. So let's try
again.
This eliminates a problem where the tunnel fails to come up
correctly and the program needs to be restarted.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com> 
						
					 
					
						2019-10-17 15:19:17 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Crawshaw 
							
						 
					 
					
						
						
						
						
							
						
						
							540d01e54a 
							
						 
					 
					
						
						
							
							device: test packets between two fake devices  
						
						 
						
						... 
						
						
						
						Signed-off-by: David Crawshaw <crawshaw@tailscale.io> 
						
					 
					
						2019-10-16 11:38:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f2ea85e9f9 
							
						 
					 
					
						
						
							
							version: bump snapshot  
						
						 
						
						
						
					 
					
						2019-10-12 22:34:10 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							222f0f8000 
							
						 
					 
					
						
						
							
							Makefile: remove v prefix  
						
						 
						
						
						
					 
					
						2019-10-08 16:48:18 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							1f146a5e7a 
							
						 
					 
					
						
						
							
							wintun: expose version  
						
						 
						
						
						
					 
					
						2019-10-08 09:58:58 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f2501aa6c8 
							
						 
					 
					
						
						
							
							uapi: allow preventing creation of new peers when updating  
						
						 
						
						... 
						
						
						
						This enables race-free updates for wg-dynamic and similar tools.
Suggested-by: Thomas Gschwantner <tharre3@gmail.com> 
						
					 
					
						2019-10-04 11:41:02 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							cb8d01f58a 
							
						 
					 
					
						
						
							
							mod: bump versions  
						
						 
						
						
						
					 
					
						2019-10-04 11:41:02 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							01f8ef4e84 
							
						 
					 
					
						
						
							
							winpipe: use x/sys/windows instead of syscall  
						
						 
						
						
						
					 
					
						2019-09-16 23:39:16 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							70f6c42556 
							
						 
					 
					
						
						
							
							wintun: use correct length for security attributes  
						
						 
						
						
						
					 
					
						2019-09-16 19:38:33 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							bb0b2514c0 
							
						 
					 
					
						
						
							
							tun: windows: unify error message format  
						
						 
						
						
						
					 
					
						2019-09-08 13:52:44 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7c97fdb1e3 
							
						 
					 
					
						
						
							
							version: bump snapshot  
						
						 
						
						
						
					 
					
						2019-09-08 10:56:55 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							84b5a4d83d 
							
						 
					 
					
						
						
							
							main: simplify warnings  
						
						 
						
						
						
					 
					
						2019-09-08 10:56:00 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							4cd06c0925 
							
						 
					 
					
						
						
							
							tun: openbsd: check for interface already being up  
						
						 
						
						... 
						
						
						
						In some cases, we operate on an already-up interface, or the user brings
up the interface before we start monitoring. For those situations, we
should first check if the interface is already up.
This still technically races between the initial check and the start of
the route loop, but fixing that is a bit ugly and probably not worth it
at the moment.
Reported-by: Theo Buehler <tb@theobuehler.org> 
						
					 
					
						2019-09-07 00:13:23 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d12eb91f9a 
							
						 
					 
					
						
						
							
							namespaceapi: AddSIDToBoundaryDescriptor modifies the handle  
						
						 
						
						
						
					 
					
						2019-09-05 21:48:21 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							73d3bd9cd5 
							
						 
					 
					
						
						
							
							wintun: take mutex first always  
						
						 
						
						... 
						
						
						
						This prevents an ABA deadlock with setupapi's internal locks. 
						
					 
					
						2019-09-01 21:32:28 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f3dba4c194 
							
						 
					 
					
						
						
							
							wintun: consider abandoned mutexes as released  
						
						 
						
						
						
					 
					
						2019-09-01 21:25:47 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7937840f96 
							
						 
					 
					
						
						
							
							ipc: windows: use protected prefix  
						
						 
						
						
						
					 
					
						2019-08-31 07:48:42 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e4b957183c 
							
						 
					 
					
						
						
							
							winpipe: enforce ownership of client connection  
						
						 
						
						
						
					 
					
						2019-08-30 13:21:47 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							950ca2ba8c 
							
						 
					 
					
						
						
							
							wintun: put mutex into private namespace  
						
						 
						
						
						
					 
					
						2019-08-30 11:03:21 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							df2bf34373 
							
						 
					 
					
						
						
							
							namespaceapi: fix mistake  
						
						 
						
						
						
					 
					
						2019-08-30 09:59:36 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							a12b765784 
							
						 
					 
					
						
						
							
							namespaceapi: initial version  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-08-30 15:34:17 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							14df9c3e75 
							
						 
					 
					
						
						
							
							wintun: take mutex so that deletion uses the right name  
						
						 
						
						
						
					 
					
						2019-08-30 15:34:17 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							353f0956bc 
							
						 
					 
					
						
						
							
							wintun: move ring constants into module  
						
						 
						
						
						
					 
					
						2019-08-29 13:22:17 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							fa7763c268 
							
						 
					 
					
						
						
							
							wintun: delete all interfaces is not used anymore  
						
						 
						
						
						
					 
					
						2019-08-29 12:22:15 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d94bae8348 
							
						 
					 
					
						
						
							
							wintun: Wintun->Interface  
						
						 
						
						
						
					 
					
						2019-08-29 12:20:40 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7689d09336 
							
						 
					 
					
						
						
							
							wintun: keep reference to pool in wintun object  
						
						 
						
						
						
					 
					
						2019-08-29 12:13:16 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							69c26dc258 
							
						 
					 
					
						
						
							
							wintun: introduce adapter pools  
						
						 
						
						... 
						
						
						
						This makes wintun package reusable for non-WireGuard applications.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-08-29 18:00:44 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e862131d3c 
							
						 
					 
					
						
						
							
							wintun: simplify rename logic  
						
						 
						
						
						
					 
					
						2019-08-28 19:31:20 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							da28a3e9f3 
							
						 
					 
					
						
						
							
							wintun: give better errors when ndis interface listing fails  
						
						 
						
						
						
					 
					
						2019-08-28 08:39:26 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3bf3322b2c 
							
						 
					 
					
						
						
							
							wintun: also check for numbered suffix and friendly name  
						
						 
						
						
						
					 
					
						2019-08-28 08:08:07 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							7305b4ce93 
							
						 
					 
					
						
						
							
							wintun: upgrade deleting all interfaces and make it reusable  
						
						 
						
						... 
						
						
						
						DeleteAllInterfaces() didn't check if SPDRP_DEVICEDESC == "WireGuard
Tunnel". It deleted _all_ Wintun adapters, not just WireGuard's.
Furthermore, the DeleteAllInterfaces() was upgraded into a new function
called DeleteMatchingInterfaces() for selectively deletion. This will
be used by WireGuard to clean stale Wintun adapters.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-08-28 11:39:01 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							26fb615b11 
							
						 
					 
					
						
						
							
							wintun: cleanup earlier  
						
						 
						
						
						
					 
					
						2019-08-27 11:59:15 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7fbb24afaa 
							
						 
					 
					
						
						
							
							wintun: rename duplicate adapters instead of ourselves  
						
						 
						
						
						
					 
					
						2019-08-27 11:59:15 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d9008ac35c 
							
						 
					 
					
						
						
							
							wintun: match suffix numbers  
						
						 
						
						
						
					 
					
						2019-08-26 14:46:43 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f8198c0428 
							
						 
					 
					
						
						
							
							device: getsockname on linux to determine port  
						
						 
						
						... 
						
						
						
						It turns out Go isn't passing the pointer properly so we wound up with a
zero port every time. 
						
					 
					
						2019-08-25 12:45:13 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							0c540ad60e 
							
						 
					 
					
						
						
							
							wintun: make description consistent across fields  
						
						 
						
						
						
					 
					
						2019-08-24 12:29:17 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3cedc22d7b 
							
						 
					 
					
						
						
							
							wintun: try multiple names until one isn't a duplicate  
						
						 
						
						
						
					 
					
						2019-08-22 08:52:59 +02:00