Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							fdba6c183a 
							
						 
					 
					
						
						
							
							wintun: make remaining HWID comparisons case insensitive  
						
						 
						
						... 
						
						
						
						c85e4a410f  introduced preliminary HWID
checking to speed up Wintun adapter enumeration. However, all HWID are
case insensitive by Windows convention.
Furthermore, a device might have multiple HWIDs. When DevInfo's
DeviceRegistryProperty(SPDRP_HARDWAREID) method returns []string, all
strings returned should be checked against given hardware ID.
This issue was discovered when researching Wintun and wireguard-go on
Windows 10 ARM64. The Wintun adapter was created using devcon.exe
utility with "wintun" hardware ID, causing wireguard-go fail to
enumerate the adapter properly.
Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2020-05-02 01:50:47 -06:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Simon Rozman 
							
						 
					 
					
						
						
						
						
							
						
						
							250b9795f3 
							
						 
					 
					
						
						
							
							setupapi: extend struct size constant definitions for arm(64)  
						
						 
						
						... 
						
						
						
						Signed-off-by: Simon Rozman <simon@rozman.si> 
						
					 
					
						2020-05-02 01:50:47 -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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							a2249449d6 
							
						 
					 
					
						
						
							
							wintun: get interface path properly with cfgmgr  
						
						 
						
						
						
					 
					
						2019-07-23 14:58:46 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							c69d026649 
							
						 
					 
					
						
						
							
							tun: windows: never retry open on Windows 10  
						
						 
						
						
						
					 
					
						2019-06-18 17:51:29 +02:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Jason A. Donenfeld 
							
						 
					 
					
						
						
						
						
							
						
						
							41fdbf0971 
							
						 
					 
					
						
						
							
							wintun: increase registry timeout  
						
						 
						
						
						
					 
					
						2019-06-11 00:33:07 +02:00