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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							a2249449d6 
							
						 
					 
					
						
						
							
							wintun: get interface path properly with cfgmgr  
						
						 
						
						
						
					 
					
						2019-07-23 14:58:46 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							eeeac287ef 
							
						 
					 
					
						
						
							
							tun: windows: style  
						
						 
						
						
						
					 
					
						2019-07-23 11:45:48 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							b5a7cbf069 
							
						 
					 
					
						
						
							
							wintun: simplify resolution of dev node  
						
						 
						
						
						
					 
					
						2019-07-23 11:45:13 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							50cd522cb0 
							
						 
					 
					
						
						
							
							wintun: enable sharing of pnp node  
						
						 
						
						
						
					 
					
						2019-07-22 17:01:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5ba866a5c8 
							
						 
					 
					
						
						
							
							tun: windows: close event handle on shutdown  
						
						 
						
						
						
					 
					
						2019-07-22 09:37:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3341e2d444 
							
						 
					 
					
						
						
							
							tun: windows: get rid of retry logic  
						
						 
						
						... 
						
						
						
						Things work fine on Windows 8. 
						
					 
					
						2019-07-19 14:01:34 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							1b550f6583 
							
						 
					 
					
						
						
							
							tun: windows: use specific IOCTL code  
						
						 
						
						
						
					 
					
						2019-07-19 08:30:19 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							31ff9c02fe 
							
						 
					 
					
						
						
							
							tun: windows: open file at startup time  
						
						 
						
						
						
					 
					
						2019-07-18 19:27:27 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							1e39c33ab1 
							
						 
					 
					
						
						
							
							tun: windows: silently drop packet when ring is full  
						
						 
						
						
						
					 
					
						2019-07-18 15:48:34 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							6c50fedd8e 
							
						 
					 
					
						
						
							
							tun: windows: switch to NDIS device object  
						
						 
						
						
						
					 
					
						2019-07-18 12:26:57 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							298d759f3e 
							
						 
					 
					
						
						
							
							wintun: calculate path of NDIS device object symbolic link  
						
						 
						
						
						
					 
					
						2019-07-18 10:25:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Zeltner 
							
						 
					 
					
						
						
						
						
							
						
						
							4d5819183e 
							
						 
					 
					
						
						
							
							tun: openbsd: don't change MTU when it's already the expected size  
						
						 
						
						... 
						
						
						
						Allows for running wireguard-go as non-root user.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
						
					 
					
						2019-07-18 10:25:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							9ea9a92117 
							
						 
					 
					
						
						
							
							tun: windows: spin for a bit before falling back to event object  
						
						 
						
						
						
					 
					
						2019-07-18 10:25:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							2e24e7dcae 
							
						 
					 
					
						
						
							
							tun: windows: implement ring buffers  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-07-17 14:32:13 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5c3d333f10 
							
						 
					 
					
						
						
							
							tun: windows: registration of write buffer no longer required  
						
						 
						
						
						
					 
					
						2019-07-05 14:17:48 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d8448f8a02 
							
						 
					 
					
						
						
							
							tun: windows: decrease alignment to 4  
						
						 
						
						
						
					 
					
						2019-07-05 07:53:19 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							13abbdf14b 
							
						 
					 
					
						
						
							
							tun: windows: delay initial write  
						
						 
						
						... 
						
						
						
						Otherwise we provoke Wintun 0.3. 
						
					 
					
						2019-07-04 22:41:42 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							b844f1b3cc 
							
						 
					 
					
						
						
							
							tun: windows: packetNum is unused  
						
						 
						
						
						
					 
					
						2019-07-01 15:23:44 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5e6eff81b6 
							
						 
					 
					
						
						
							
							tun: windows: inform wintun of maximum buffer length for writes  
						
						 
						
						
						
					 
					
						2019-06-26 13:27:48 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							c69d026649 
							
						 
					 
					
						
						
							
							tun: windows: never retry open on Windows 10  
						
						 
						
						
						
					 
					
						2019-06-18 17:51:29 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Matt Layher 
							
						 
					 
					
						
						
						
						
							
						
						
							1f48971a80 
							
						 
					 
					
						
						
							
							tun: remove TUN prefix from types to reduce stutter elsewhere  
						
						 
						
						... 
						
						
						
						Signed-off-by: Matt Layher <mdlayher@gmail.com> 
						
					 
					
						2019-06-14 18:35:57 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							41fdbf0971 
							
						 
					 
					
						
						
							
							wintun: increase registry timeout  
						
						 
						
						
						
					 
					
						2019-06-11 00:33:07 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							03eee4a778 
							
						 
					 
					
						
						
							
							wintun: add helper for cleaning up  
						
						 
						
						
						
					 
					
						2019-06-10 11:34:59 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							700860f8e6 
							
						 
					 
					
						
						
							
							wintun: simplify error matching and remove dumb comments  
						
						 
						
						
						
					 
					
						2019-06-10 11:10:49 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							a304f69e0d 
							
						 
					 
					
						
						
							
							wintun: fix comments and remove hwnd param  
						
						 
						
						... 
						
						
						
						This now looks more idiomatic. 
						
					 
					
						2019-06-10 11:03:36 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							baafe92888 
							
						 
					 
					
						
						
							
							setupapi: add SetDeviceRegistryPropertyString description  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-10 10:43:04 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							a1a97d1e41 
							
						 
					 
					
						
						
							
							setupapi: unify ERROR_INSUFFICIENT_BUFFER handling  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-10 10:43:03 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e924280baa 
							
						 
					 
					
						
						
							
							wintun: allow controlling GUID  
						
						 
						
						
						
					 
					
						2019-06-10 10:43:02 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							bb3f1932fa 
							
						 
					 
					
						
						
							
							setupapi: add DeviceInstanceID()  
						
						 
						
						
						
					 
					
						2019-06-10 10:43:01 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							eaf17becfa 
							
						 
					 
					
						
						
							
							global: fixup TODO comment spacing  
						
						 
						
						
						
					 
					
						2019-06-06 23:00:15 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							6d8b68c8f3 
							
						 
					 
					
						
						
							
							wintun: guid functions are upstream  
						
						 
						
						
						
					 
					
						2019-06-06 22:39:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							c2ed133df8 
							
						 
					 
					
						
						
							
							wintun: simplify DeleteInterface method signature  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-06 08:58:26 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							108c37a056 
							
						 
					 
					
						
						
							
							wintun: don't run HrRenameConnection in separate thread  
						
						 
						
						... 
						
						
						
						It's very slow, but unfortunately we haven't a choice. NLA needs this to
have completed. 
						
					 
					
						2019-06-05 13:09:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							e4b0ef29a1 
							
						 
					 
					
						
						
							
							tun: windows: obsolete 256 packets per exchange buffer limitation  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-05 11:55:28 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							625e445b22 
							
						 
					 
					
						
						
							
							setupapi, wintun: replace syscall with golang.org/x/sys/windows  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-04 14:54:56 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							85b85e62e5 
							
						 
					 
					
						
						
							
							wintun: set DI_QUIETINSTALL flag for GUI-less device management  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-04 14:45:23 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							014f736480 
							
						 
					 
					
						
						
							
							setupapi: define PropChangeParams struct  
						
						 
						
						... 
						
						
						
						This structure is required for calling DIF_PROPERTYCHANGE installer
class.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-06-04 14:45:23 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							da61947ec3 
							
						 
					 
					
						
						
							
							tun: windows: mitigate infinite loop in Flush()  
						
						 
						
						... 
						
						
						
						It's possible that for whatever reason, we keep returning EOF, resulting
in repeated close/open/write operations, except with empty packets. 
						
					 
					
						2019-05-31 16:55:03 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Matt Layher 
							
						 
					 
					
						
						
						
						
							
						
						
							32912dc778 
							
						 
					 
					
						
						
							
							device, tun: rearrange code and fix device tests  
						
						 
						
						... 
						
						
						
						Signed-off-by: Matt Layher <mdlayher@gmail.com> 
						
					 
					
						2019-05-29 18:34:55 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d4034e5f8a 
							
						 
					 
					
						
						
							
							wintun: remove extra /  
						
						 
						
						
						
					 
					
						2019-05-26 02:20:01 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							6a0a3a5406 
							
						 
					 
					
						
						
							
							wintun: revise GetInterface()  
						
						 
						
						... 
						
						
						
						- Make foreign interface found error numeric to ease condition
  detection.
- Update GetInterface() documentation.
- Make tun.CreateTUN() quit when foreign interface found before
  attempting to create a Wintun interface with a duplicate name.
  Creation is futile.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-24 09:29:57 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							8fdcf5ee30 
							
						 
					 
					
						
						
							
							wintun: never return nil, nil  
						
						 
						
						
						
					 
					
						2019-05-23 15:25:53 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							dc9bbec9db 
							
						 
					 
					
						
						
							
							setupapi: trim "Get" from getters  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-22 19:31:52 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							a6dbe4f475 
							
						 
					 
					
						
						
							
							wintun: don't try to flush interface, but rather delete  
						
						 
						
						
						
					 
					
						2019-05-17 16:06:02 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							95c70b8032 
							
						 
					 
					
						
						
							
							wintun: make certain methods private  
						
						 
						
						
						
					 
					
						2019-05-17 15:01:08 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							7d5f5bcc0d 
							
						 
					 
					
						
						
							
							wintun: change acronyms to uppercase  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-17 10:22:34 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3bf41b06ae 
							
						 
					 
					
						
						
							
							global: regroup all imports  
						
						 
						
						
						
					 
					
						2019-05-14 09:09:52 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							3147f00089 
							
						 
					 
					
						
						
							
							wintun: registry: fix nits  
						
						 
						
						
						
					 
					
						2019-05-11 17:25:48 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							6c1b66802f 
							
						 
					 
					
						
						
							
							wintun: registry: revise value reading  
						
						 
						
						... 
						
						
						
						- Make getStringValueRetry() reusable for reading any value type. This
  merges code from GetIntegerValueWait().
- expandString() >> toString() and extend to support REG_MULTI_SZ
  (to return first value of REG_MULTI_SZ). Furthermore, doing our own
  UTF-16 to UTF-8 conversion works around a bug in windows/registry's
  GetStringValue() non-zero terminated string handling.
- Provide toInteger() analogous to toString()
- GetStringValueWait() tolerates and reads REG_MULTI_SZ too now. It
  returns REG_MULTI_SZ[0], making GetFirstStringValueWait() redundant.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-11 17:14:37 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							5669ed326f 
							
						 
					 
					
						
						
							
							wintun: call HrRenameConnection in another thread  
						
						 
						
						
						
					 
					
						2019-05-10 21:31:37 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2d847a38a2 
							
						 
					 
					
						
						
							
							wintun: add LUID accessor  
						
						 
						
						
						
					 
					
						2019-05-10 21:30:23 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							7a8553aef0 
							
						 
					 
					
						
						
							
							wintun: enumerate faster by using COMPATDRIVER instead of CLASSDRIVER  
						
						 
						
						
						
					 
					
						2019-05-10 20:30:59 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							a6045ac042 
							
						 
					 
					
						
						
							
							wintun: destroy devinfolist after usage  
						
						 
						
						
						
					 
					
						2019-05-10 20:19:11 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							1c92b48415 
							
						 
					 
					
						
						
							
							wintun: registry: replace REG_NOTIFY with NOTIFY  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-10 18:09:20 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							c267965bf8 
							
						 
					 
					
						
						
							
							wintun: IpConfig is a MULTI_SZ, and fix errors  
						
						 
						
						
						
					 
					
						2019-05-10 18:06:49 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							1bf1dadf15 
							
						 
					 
					
						
						
							
							wintun: poll for device key  
						
						 
						
						... 
						
						
						
						It's actually pretty hard to guess where it is. 
						
					 
					
						2019-05-10 17:34:03 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							f9dcfccbb7 
							
						 
					 
					
						
						
							
							wintun: fix scope of error object  
						
						 
						
						
						
					 
					
						2019-05-10 16:59:24 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							7e962a9932 
							
						 
					 
					
						
						
							
							wintun: wait for interface registry key on device creation  
						
						 
						
						... 
						
						
						
						By using RegNotifyChangeKeyValue(). Also disable dead gateway detection.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-10 16:43:58 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							dcb8f1aa6b 
							
						 
					 
					
						
						
							
							wintun: fix GUID leading zero padding  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-05-09 12:16:21 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							81ca08f1b3 
							
						 
					 
					
						
						
							
							setupapi: safer aliasing of slice types  
						
						 
						
						
						
					 
					
						2019-05-03 09:34:00 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2e988467c2 
							
						 
					 
					
						
						
							
							wintun: work around GetInterface staleness bug  
						
						 
						
						
						
					 
					
						2019-05-03 00:42:36 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							46dbf54040 
							
						 
					 
					
						
						
							
							wintun: don't retry when not creating  
						
						 
						
						... 
						
						
						
						The only time we're trying to counteract the race condition is when
we're creating a driver. When we're simply looking up all drivers, it
doesn't make sense to retry. 
						
					 
					
						2019-05-02 23:53:15 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							247e14693a 
							
						 
					 
					
						
						
							
							wintun: try harder to open registry key  
						
						 
						
						... 
						
						
						
						This sucks. Can we please find a deterministic way of doing this
instead? 
						
					 
					
						2019-04-29 14:00:49 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							bb42ec7d18 
							
						 
					 
					
						
						
							
							tun: freebsd: work around numerous kernel panics on shutdown  
						
						 
						
						... 
						
						
						
						There are numerous race conditions. But even this will crash it:
while true; do ifconfig tun0 create; ifconfig tun0 destroy; done
It seems like LLv6 is related, which we're not using anyway, so
explicitly disable it on the interface. 
						
					 
					
						2019-04-23 18:00:23 +09:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							f1dc167901 
							
						 
					 
					
						
						
							
							setupapi: Fix struct size mismatches  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-19 10:08:11 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							c7a26dfef3 
							
						 
					 
					
						
						
							
							setupapi: actually fix padding by rounding up to sizeof(void*)  
						
						 
						
						
						
					 
					
						2019-04-19 10:19:00 +09:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							d024393335 
							
						 
					 
					
						
						
							
							tun: darwin: write routeSocket variable in helper  
						
						 
						
						... 
						
						
						
						Otherwise the race detector "complains". 
						
					 
					
						2019-04-19 07:53:19 +09:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							5811447b38 
							
						 
					 
					
						
						
							
							setupapi: Revise DrvInfoDetailData struct size calculation  
						
						 
						
						... 
						
						
						
						Go adds trailing padding to DrvInfoDetailData struct in GOARCH=386 which
confuses SetupAPI expecting exactly sizeof(SP_DRVINFO_DETAIL_DATA).
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-18 10:39:22 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e0a8c22aa6 
							
						 
					 
					
						
						
							
							windows: use proper constants from updated x/sys  
						
						 
						
						
						
					 
					
						2019-04-13 02:02:02 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							ef5f3ad80a 
							
						 
					 
					
						
						
							
							tun: windows: Adopt new error codes returned by Wintun  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-11 19:38:11 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							a291fdd746 
							
						 
					 
					
						
						
							
							tun: windows: do not sleep after OPERATION_ABORTED on write  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-11 19:37:04 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							e680008700 
							
						 
					 
					
						
						
							
							tun: windows: do not sleep after OPERATION_ABORTED  
						
						 
						
						
						
					 
					
						2019-04-09 07:36:03 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							767c86f8cb 
							
						 
					 
					
						
						
							
							tun: windows: Retry R/W on ERROR_OPERATION_ABORTED  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-04 09:20:18 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							421c1f9143 
							
						 
					 
					
						
						
							
							tun: windows: Attempt to reopen handle on all errors  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-04-03 05:41:38 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ac25702eaf 
							
						 
					 
					
						
						
							
							wintun: rename device using undocumented API that netsh.exe uses  
						
						 
						
						
						
					 
					
						2019-04-01 12:04:44 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							92f8474832 
							
						 
					 
					
						
						
							
							wintun: add more retry loops  
						
						 
						
						
						
					 
					
						2019-04-01 09:07:43 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2e0ed4614a 
							
						 
					 
					
						
						
							
							tun: windows: cancel ongoing reads on closing and delete after close  
						
						 
						
						... 
						
						
						
						This reverts commit 52ec440d79  and adds
some spice. 
						
					 
					
						2019-03-26 16:14:32 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							2fa80c0cb7 
							
						 
					 
					
						
						
							
							wintun: query for NetCfgInstanceId several times  
						
						 
						
						
						
					 
					
						2019-03-22 16:48:40 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							52ec440d79 
							
						 
					 
					
						
						
							
							tun: windows: delete interface before deleting file handles  
						
						 
						
						
						
					 
					
						2019-03-22 16:45:58 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							2faf2dcf90 
							
						 
					 
					
						
						
							
							tun: windows: Make adapter rename asynchronous  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-22 16:36:30 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							41c30a7279 
							
						 
					 
					
						
						
							
							tun: windows: Adapter devices renamed to WINTUN<LUID Index>  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-22 15:29:14 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							4b1db1d39b 
							
						 
					 
					
						
						
							
							tun: windows: Increase unavailable adapter timeout to 30sec  
						
						 
						
						... 
						
						
						
						5 seconds was too short when debugging.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-22 13:52:51 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							a80db5e65e 
							
						 
					 
					
						
						
							
							tun: windows: Make writing persistent too  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-22 13:52:51 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							9748a52073 
							
						 
					 
					
						
						
							
							tun: windows: Fix paused adapter test  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-22 13:52:51 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							317d716d66 
							
						 
					 
					
						
						
							
							tun: windows: just open two file handles  
						
						 
						
						
						
					 
					
						2019-03-21 15:20:09 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							6440f010ee 
							
						 
					 
					
						
						
							
							receive: implement flush semantics  
						
						 
						
						
						
					 
					
						2019-03-21 14:45:41 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							49ea0c9b1a 
							
						 
					 
					
						
						
							
							tun: windows: add dummy overlapped events back  
						
						 
						
						... 
						
						
						
						These seem basically wrong to me, but we get crashes without them. 
						
					 
					
						2019-03-21 02:29:09 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							ca59b60aa7 
							
						 
					 
					
						
						
							
							tun: windows: use new constants in sys  
						
						 
						
						
						
					 
					
						2019-03-20 23:42:30 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							91b4e909bb 
							
						 
					 
					
						
						
							
							wintun: Use native Win32 API for I/O  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-21 00:56:45 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							03f2e2614a 
							
						 
					 
					
						
						
							
							tun: windows: wintun does iocp  
						
						 
						
						
						
					 
					
						2019-03-18 02:42:45 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							b0e0ab308d 
							
						 
					 
					
						
						
							
							tun: windows: temporary hack for forcing MTU  
						
						 
						
						
						
					 
					
						2019-03-13 02:52:32 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							66fb5caf02 
							
						 
					 
					
						
						
							
							wintun: Poll more often  
						
						 
						
						
						
					 
					
						2019-03-10 03:47:54 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							c2a2b8d739 
							
						 
					 
					
						
						
							
							wintun: Make errors more descriptive  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-08 10:03:57 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							70449f1a97 
							
						 
					 
					
						
						
							
							wintun: Return correct reboot-req flag on CreateInterface() error too  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-08 10:03:57 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							33c3528430 
							
						 
					 
					
						
						
							
							wintun: Fix double-quoted strings escaping on output  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-08 10:03:57 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							30ab07e354 
							
						 
					 
					
						
						
							
							wintun: Introduce SetupAPI enumerator and machineName consts  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-08 10:03:57 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							368dea72fe 
							
						 
					 
					
						
						
							
							wintun: Cleanup  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-07 21:12:20 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							9b22255cad 
							
						 
					 
					
						
						
							
							wintun: Refactor network registry key name generation  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-07 21:12:20 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							11f5780250 
							
						 
					 
					
						
						
							
							wintun: Revise interface creation wait  
						
						 
						
						... 
						
						
						
						DIF_INSTALLDEVICE returns almost immediately, while the device
installation continues in the background. It might take a while, before
all registry keys and values are populated.
Previously, wireguard-go waited for HKLM\SYSTEM\CurrentControlSet\
Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\<id> registry key
only.
Followed by a SetInterfaceName() method of Wintun struct which tried to
access HKLM\SYSTEM\CurrentControlSet\Control\Network\
{4D36E972-E325-11CE-BFC1-08002BE10318}\<id>\Connection registry key
might not be available yet.
This commit loops until both registry keys are available before
returning from CreateInterface() function.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-07 21:12:20 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							92f72f5aa6 
							
						 
					 
					
						
						
							
							tun: linux: work out netpoll trick  
						
						 
						
						
						
					 
					
						2019-03-07 01:51:41 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							1fdf7b19a3 
							
						 
					 
					
						
						
							
							wintun: Resolve some of golint warnings  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-04 16:37:11 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							a1aabb21ae 
							
						 
					 
					
						
						
							
							Elaborate the failing step when forwarding errors on return  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-04 16:37:11 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							9041d38e2d 
							
						 
					 
					
						
						
							
							Simplify reading NetCfgInstanceId from registry  
						
						 
						
						... 
						
						
						
						As querying non-existing registry value and reading non-existing
registry string value both return ERROR_FILE_NOT_FOUND, we can
use later only.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-04 16:37:11 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							cddfd9a0d8 
							
						 
					 
					
						
						
							
							Unify interface-specific network registry key open  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2019-03-04 16:37:11 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							68f0721c6a 
							
						 
					 
					
						
						
							
							tun: import mobile particularities  
						
						 
						
						
						
					 
					
						2019-03-04 16:37:11 +01:00