Brad Fitzpatrick 
								
							 
						 
						
							
							
							
							
								
							
							
								abd287159e 
								
							 
						 
						
							
							
								
								tun: remove unused isUp method  
							
							... 
							
							
							
							Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com> 
							
						 
						
							2020-05-02 01:46:42 -06:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Avery Pennarun 
								
							 
						 
						
							
							
							
							
								
							
							
								6aefb61355 
								
							 
						 
						
							
							
								
								wintun: split error message for create vs open namespace.  
							
							... 
							
							
							
							Signed-off-by: Avery Pennarun <apenwarr@tailscale.com> 
							
						 
						
							2020-05-02 01:44:58 -06:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Tobias Klauser 
								
							 
						 
						
							
							
							
							
								
							
							
								b33219c2cf 
								
							 
						 
						
							
							
								
								global: use RTMGRP_* consts from x/sys/unix  
							
							... 
							
							
							
							Update the golang.org/x/sys/unix dependency and use the newly introduced
RTMGRP_* consts instead of using the corresponding RTNLGRP_* const to
create a mask.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch> 
							
						 
						
							2020-03-17 23:07:11 -06:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								caebdfe9d0 
								
							 
						 
						
							
							
								
								tun: darwin: ignore ENOMEM errors  
							
							... 
							
							
							
							Coauthored-by: Andrej Mihajlov <and@mullvad.net> 
							
						 
						
							2020-01-15 13:39:37 -05:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								4fa2ea6a2d 
								
							 
						 
						
							
							
								
								tun: windows: serialize write calls  
							
							
							
						 
						
							2020-01-07 11:40:45 -05: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 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								fd23c66fcd 
								
							 
						 
						
							
							
								
								namespaceapi: remove tasteless comment  
							
							
							
						 
						
							2019-10-21 09:02:29 +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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								1f146a5e7a 
								
							 
						 
						
							
							
								
								wintun: expose version  
							
							
							
						 
						
							2019-10-08 09:58:58 +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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								73698066d1 
								
							 
						 
						
							
							
								
								wintun: refactor err == nil error checking  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-08-02 15:18:58 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								05ece4d167 
								
							 
						 
						
							
							
								
								wintun: handle error for deadgwdetect  
							
							
							
						 
						
							2019-08-02 14:37:09 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								6d78f89557 
								
							 
						 
						
							
							
								
								tun: darwin: do not attempt to close tun.event twice  
							
							... 
							
							
							
							Previously it was possible for this to race. It turns out we really
don't need to set anything to -1 anyway. 
							
						 
						
							2019-08-02 12:24:17 +02:00