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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								68fea631d8 
								
							 
						 
						
							
							
								
								wintun: use nci.dll directly instead of buggy netshell  
							
							
							
						 
						
							2019-08-21 09:16:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								ef23100a4f 
								
							 
						 
						
							
							
								
								wintun: set friendly a bit better  
							
							... 
							
							
							
							This is still wrong, but NETSETUPPKEY_Driver_FriendlyName seems a bit
tricky to use. 
							
						 
						
							2019-08-20 16:06:55 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								eb786cd7c1 
								
							 
						 
						
							
							
								
								wintun: also set friendly name after setting interface name  
							
							
							
						 
						
							2019-08-19 10:12:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								333de75370 
								
							 
						 
						
							
							
								
								wintun: defer requires unique variable  
							
							
							
						 
						
							2019-08-19 10:12:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								d20459dc69 
								
							 
						 
						
							
							
								
								wintun: set adapter description name  
							
							
							
						 
						
							2019-08-19 10:12:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								01786286c1 
								
							 
						 
						
							
							
								
								tun: windows: don't spin unless we really need it  
							
							
							
						 
						
							2019-08-19 10:12:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								b16dba47a7 
								
							 
						 
						
							
							
								
								version: bump snapshot  
							
							
							
						 
						
							2019-08-05 19:29:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								4be9630ddc 
								
							 
						 
						
							
							
								
								device: drop lock before expiring keys  
							
							
							
						 
						
							2019-08-05 17:46:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								4e3018a967 
								
							 
						 
						
							
							
								
								uapi: skip peers with invalid keys  
							
							
							
						 
						
							2019-08-05 16:57:41 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								b4010123f7 
								
							 
						 
						
							
							
								
								tun: windows: spin for only a millisecond/80  
							
							... 
							
							
							
							Performance stays the same as before. 
							
						 
						
							2019-08-03 19:11:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								1ff37e2b07 
								
							 
						 
						
							
							
								
								wintun: merge opening device registry key  
							
							... 
							
							
							
							This also introduces waiting for key to appear on initial access.
See if this resolves the issue caused by HDD power-up delay resulting in
failure to create the adapter.
Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-08-02 16:08:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								f5e54932e6 
								
							 
						 
						
							
							
								
								wintun: simplify checking reboot requirement  
							
							... 
							
							
							
							We never checked checkReboot() reported error anyway.
Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-08-02 16:08:49 +02:00