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 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								2fa80c0cb7 
								
							 
						 
						
							
							
								
								wintun: query for NetCfgInstanceId several times  
							
							
							
						 
						
							2019-03-22 16:48:40 -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 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								03f2e2614a 
								
							 
						 
						
							
							
								
								tun: windows: wintun does iocp  
							
							
							
						 
						
							2019-03-18 02:42:45 -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 
							
								 
							
						 
					 
				
					
						
							
								
								
									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 
								
							 
						 
						
							
							
							
							
								
							
							
								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 
								
							 
						 
						
							
							
							
							
								
							
							
								42c6d0e261 
								
							 
						 
						
							
							
								
								Change package path  
							
							
							
						 
						
							2019-02-18 05:11:39 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								c4988999ac 
								
							 
						 
						
							
							
								
								setupapi: Merge _SP_DRVINFO_DETAIL_DATA and DrvInfoDetailData  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:50:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								b662896cf4 
								
							 
						 
						
							
							
								
								setupapi: Merge SP_DRVINFO_DATA and DrvInfoData  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:50:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								0525f6b112 
								
							 
						 
						
							
							
								
								setupapi: Rename SP_REMOVEDEVICE_PARAMS to RemoveDeviceParams  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:50:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								9d830826c5 
								
							 
						 
						
							
							
								
								setupapi: Rename SP_CLASSINSTALL_HEADER to ClassInstallHeader  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:50:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								bd963497da 
								
							 
						 
						
							
							
								
								setupapi: Merge _SP_DEVINSTALL_PARAMS and DevInstallParams  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:50:30 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								05d25fd1b7 
								
							 
						 
						
							
							
								
								setupapi: Merge _SP_DEVINFO_LIST_DETAIL_DATA and DevInfoListDetailData  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 23:49:50 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								6d2729dccc 
								
							 
						 
						
							
							
								
								setupapi: Rename SP_DEVINFO_DATA to DevInfoData  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 22:43:02 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								d87cbeeb2f 
								
							 
						 
						
							
							
								
								wintun: Detect if a foreign interface with the same name exists  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 22:02:51 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								043b7e8013 
								
							 
						 
						
							
							
								
								wintun: Clean excessive setupapi.DevInfo.GetDeviceInfoListDetail() call  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 20:49:41 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								ef48d4fa95 
								
							 
						 
						
							
							
								
								wintun: Explain rationale behind case-insensitive interface names  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 19:42:59 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								f7276ed522 
								
							 
						 
						
							
							
								
								wintun: Implement TODO in TestSetupDiGetDeviceRegistryProperty()  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2019-02-07 18:59:34 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								c4b43e35a7 
								
							 
						 
						
							
							
								
								wintun: add FlushInterface stub  
							
							
							
						 
						
							2019-02-07 18:24:28 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								fac1fbcd72 
								
							 
						 
						
							
							
								
								wintun: Compare values of GUID, not pointers, when removing  
							
							
							
						 
						
							2019-02-07 04:49:15 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								ea59177f1c 
								
							 
						 
						
							
							
								
								wintun: Introduce new package for obscuring Windows bits  
							
							
							
						 
						
							2019-02-07 04:39:59 +01:00