Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								4885e7c954 
								
							 
						 
						
							
							
								
								memmod: use resource functions from x/sys  
							
							... 
							
							
							
							Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2021-03-08 21:04:09 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								497ba95de7 
								
							 
						 
						
							
							
								
								memmod: do not use IsBadReadPtr  
							
							... 
							
							
							
							It should be enough to check for the trailing zero name.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2021-03-08 21:04:09 -07:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								d4112d9096 
								
							 
						 
						
							
							
								
								global: bump copyright  
							
							... 
							
							
							
							Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2021-01-28 17:52:15 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Josh Bleecher Snyder 
								
							 
						 
						
							
							
							
							
								
							
							
								291dbcf1f0 
								
							 
						 
						
							
							
								
								tun/wintun/memmod: gofmt  
							
							... 
							
							
							
							Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com> 
							
						 
						
							2021-01-20 19:57:04 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Josh Bleecher Snyder 
								
							 
						 
						
							
							
							
							
								
							
							
								abc88c82b1 
								
							 
						 
						
							
							
								
								tun/wintun/memmod: fix format verb  
							
							... 
							
							
							
							Caught by 'go vet'.
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com> 
							
						 
						
							2021-01-20 19:57:02 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								3d83df9bf3 
								
							 
						 
						
							
							
								
								memmod: apply explicit build tags to _32 and _64 files  
							
							... 
							
							
							
							Since _32 and _64 aren't valid goarchs, they don't match _GOOS_GOARCH,
and so the existing tags wind up not being restricted to windows-only.
This fixes the problem by adding windows to the tags explicitly. We
could also fix it by calling the files _32_windows or _64_windows, but
that changes the convention with the other single-arch files.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2021-01-07 14:49:44 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								ca9edf1c63 
								
							 
						 
						
							
							
								
								wintun: do not load dll in init()  
							
							... 
							
							
							
							This prevents linking to wintun.dll until it's actually needed, which
should improve startup time.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2021-01-07 14:49:44 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								b6303091fc 
								
							 
						 
						
							
							
								
								memmod: fix import loading function usage  
							
							... 
							
							
							
							Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-11-27 13:13:45 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								60b3766b89 
								
							 
						 
						
							
							
								
								wintun: load from filesystem by default  
							
							... 
							
							
							
							We let people loading this from resources opt in via:
    go build -tags load_wintun_from_rsrc
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-11-11 18:51:44 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								82128c47d9 
								
							 
						 
						
							
							
								
								global: switch to using %w instead of %v for Errorf  
							
							... 
							
							
							
							Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-11-07 21:56:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								a3b231b31e 
								
							 
						 
						
							
							
								
								wintun: ring management moved to wintun.dll  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-11-07 15:20:49 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								65e03a9182 
								
							 
						 
						
							
							
								
								wintun: load wintun.dll from RCDATA resource  
							
							... 
							
							
							
							Signed-off-by: Simon Rozman <simon@rozman.si>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-11-07 15:20:49 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								3e08b8aee0 
								
							 
						 
						
							
							
								
								wintun: migrate to wintun.dll API  
							
							... 
							
							
							
							Rather than having every application using Wintun driver reinvent the
wheel, the Wintun device/adapter/interface management has been moved
from wireguard-go to wintun.dll deployed with Wintun itself.
Signed-off-by: Simon Rozman <simon@rozman.si> 
							
						 
						
							2020-11-07 12:46:35 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Brad Fitzpatrick 
								
							 
						 
						
							
							
							
							
								
							
							
								58a8f05f50 
								
							 
						 
						
							
							
								
								tun/wintun/registry: fix Go 1.15 race/checkptr failure  
							
							... 
							
							
							
							Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
[Jason: ran go mod tidy.]
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-10-21 18:26:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Jason A. Donenfeld 
								
							 
						 
						
							
							
							
							
								
							
							
								db0aa39b76 
								
							 
						 
						
							
							
								
								global: update header comments and modules  
							
							... 
							
							
							
							Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> 
							
						 
						
							2020-05-02 02:08:26 -06:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Simon Rozman 
								
							 
						 
						
							
							
							
							
								
							
							
								fdba6c183a 
								
							 
						 
						
							
							
								
								wintun: make remaining HWID comparisons case insensitive  
							
							... 
							
							
							
							c85e4a410f 
						
							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