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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								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