Sergey Bobrenok 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								947b6ad7aa 
								
							 
						 
						
							
							
								
								Restore local peer discovery mechanism on Android 11+ ( #1158 )  
							
							 
							
							... 
							
							
							
							This solution is bases on https://github.com/wlynxg/anet  project.
`github.com/wlynxg/anet` is a partial alternative implementation of the
`golang.org/x/net` module. The goal of `anet` module is to provide
workarounds of the issues https://github.com/golang/go/issues/40569  and
https://github.com/golang/go/issues/68082  on Android 11+.
Tested on AOSP 13.
Resolves : #1149  
							
						 
						
							2024-08-16 18:28:57 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ef989bef63 
								
							 
						 
						
							
							
								
								Multicast module state tweaks  
							
							 
							
							
							
						 
						
							2024-08-11 10:41:58 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04c0acf71b 
								
							 
						 
						
							
							
								
								Various clean-ups  
							
							 
							
							
							
						 
						
							2024-07-20 12:31:58 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								fcefb20993 
								
							 
						 
						
							
							
								
								Fix interval check when sending multicast beacons  
							
							 
							
							
							
						 
						
							2024-05-28 10:03:48 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2a21241738 
								
							 
						 
						
							
							
								
								Multicast passwords  
							
							 
							
							
							
						 
						
							2023-10-11 19:28:28 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								57d9a2399f 
								
							 
						 
						
							
							
								
								Revise multicast format to include protocol version, discriminator for TLS roots  
							
							 
							
							
							
						 
						
							2023-06-18 20:54:49 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								c1ae9ea0d4 
								
							 
						 
						
							
							
								
								Switch back to using an actor to manage link state, and slighty randomize the delay between multicast announcements. This seems to fix the issue with duplicate connections (and breaks a livelock in the multicast code where both nodes keep closing the listen side of their connection, but that's kind of a hack, we need a better solution)  
							
							 
							
							
							
						 
						
							2023-06-18 03:40:40 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7afa23be4c 
								
							 
						 
						
							
							
								
								Link refactoring, admin socket changes  
							
							 
							
							
							
						 
						
							2023-05-19 19:09:05 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								7efd66932f 
								
							 
						 
						
							
							
								
								Redial failed connections if possible ( #983 )  
							
							 
							
							
							
						 
						
							2022-11-12 11:30:03 +00:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								f08dec822a 
								
							 
						 
						
							
							
								
								Priority support ( #964 )  
							
							 
							
							... 
							
							
							
							* Allow setting link priorities
* Fix a bug
* Allow setting priority on listeners and multicast interfaces
* Update `yggdrasilctl`
* Update to Arceliar/ironwood#5  
							
						 
						
							2022-10-26 09:24:24 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								65e350153e 
								
							 
						 
						
							
							
								
								Don't start multicast module if all Beacon and Listen are disabled  
							
							 
							
							
							
						 
						
							2022-10-22 18:05:14 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								0a1a155e66 
								
							 
						 
						
							
							
								
								Use SO_REUSEADDR instead of SO_REUSEPORT on Linux  
							
							 
							
							
							
						 
						
							2022-10-22 14:56:29 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b67c313f44 
								
							 
						 
						
							
							
								
								Admin socket and yggdrasilctl improvements  
							
							 
							
							... 
							
							
							
							This refactors the request parsing, as well as improving the output for some request types. It also tweaks `yggdrasilctl` output, which should help with #947 . 
							
						 
						
							2022-09-24 12:22:38 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								5ef61faeff 
								
							 
						 
						
							
							
								
								Link refactor ( #941 )  
							
							 
							
							... 
							
							
							
							* Link refactoring
* More refactoring
* More tweaking
* Cleaner shutdowns, UNIX socket support, more tweaks
* Actorise links, remove mutex
* SOCKS support 
							
						 
						
							2022-09-17 20:07:00 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								a7d06e048a 
								
							 
						 
						
							
							
								
								Refactor TUN setup (isolated config)  
							
							 
							
							
							
						 
						
							2022-09-03 12:20:57 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								493208fb37 
								
							 
						 
						
							
							
								
								Refactor multicast setup (isolated config, etc)  
							
							 
							
							
							
						 
						
							2022-09-03 11:42:05 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								41d890bb64 
								
							 
						 
						
							
							
								
								Run goimports  
							
							 
							
							
							
						 
						
							2022-04-17 18:02:25 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								90f9be38c5 
								
							 
						 
						
							
							
								
								Fix lint errors  
							
							 
							
							
							
						 
						
							2022-04-17 17:56:54 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								99227b60ce 
								
							 
						 
						
							
							
								
								Update CI to use Go 1.17, produce Apple Silicon builds ( closes   #844 )  
							
							 
							
							
							
						 
						
							2021-09-28 11:02:15 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								529a33034b 
								
							 
						 
						
							
							
								
								gofmt to add new build comments  
							
							 
							
							
							
						 
						
							2021-09-23 04:34:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								de853fed10 
								
							 
						 
						
							
							
								
								multicast configuration changes  
							
							 
							
							
							
						 
						
							2021-06-27 17:24:46 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								2874ce1327 
								
							 
						 
						
							
							
								
								change multicast config format  
							
							 
							
							
							
						 
						
							2021-06-27 03:15:41 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								d1dfe38683 
								
							 
						 
						
							
							
								
								remove string from multicast announcement format  
							
							 
							
							
							
						 
						
							2021-06-25 21:27:29 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								b7f57c0617 
								
							 
						 
						
							
							
								
								use TLS for multicast peers, fix TLS listener type in log output  
							
							 
							
							
							
						 
						
							2021-06-19 10:42:38 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								cb81be94ec 
								
							 
						 
						
							
							
								
								skip multicast packets sent from our own key  
							
							 
							
							
							
						 
						
							2021-06-13 12:31:52 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								acdc3dd3c0 
								
							 
						 
						
							
							
								
								Replace ?ed25519= with ?key= in peering URIs  
							
							 
							
							
							
						 
						
							2021-06-11 21:12:27 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								f7607557c1 
								
							 
						 
						
							
							
								
								fix nBytes check in multicast code  
							
							 
							
							
							
						 
						
							2021-06-06 04:48:00 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								ea15eeee7e 
								
							 
						 
						
							
							
								
								Ensure PublicKey option is unused, map old config options  
							
							 
							
							
							
						 
						
							2021-06-05 21:32:04 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								414c100125 
								
							 
						 
						
							
							
								
								add public keys to multicast, public key pinning to multicast peering  
							
							 
							
							
							
						 
						
							2021-06-05 05:07:04 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								8932ab0519 
								
							 
						 
						
							
							
								
								Fix lint errors  
							
							 
							
							
							
						 
						
							2021-06-02 14:40:09 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								166336a418 
								
							 
						 
						
							
							
								
								Remove config.NodeState (hot reconfig is no longer supported)  
							
							 
							
							
							
						 
						
							2021-06-02 14:19:32 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								8a60c605f6 
								
							 
						 
						
							
							
								
								remove metric stuff, there's already enough new stuff to test, maybe revisit this in a future release  
							
							 
							
							
							
						 
						
							2021-05-24 18:53:54 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								5f2bcaa71f 
								
							 
						 
						
							
							
								
								add Listen to api and listenURL to tcp  
							
							 
							
							
							
						 
						
							2021-05-23 21:47:12 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								fd5cda6329 
								
							 
						 
						
							
							
								
								read metric from urls for listen and peers  
							
							 
							
							
							
						 
						
							2021-05-23 20:58:34 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								018f35d9a2 
								
							 
						 
						
							
							
								
								rename src/yggdrasil to src/core  
							
							 
							
							
							
						 
						
							2021-05-23 14:42:26 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								2d01386d6e 
								
							 
						 
						
							
							
								
								Refactor admin socket, export request/response structs, remove types package  
							
							 
							
							
							
						 
						
							2021-05-16 19:51:09 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
							
							
								
							
							
								57ea61b338 
								
							 
						 
						
							
							
								
								Remove reconfiguration on SIGHUP - it didn't work reliably anyway  
							
							 
							
							
							
						 
						
							2021-05-10 22:47:28 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								1d1c6efa1f 
								
							 
						 
						
							
							
								
								attempt to keep TCP listener alive if there's a temporary error (e.g. too many open files), just pause and retry later  
							
							 
							
							
							
						 
						
							2020-10-18 11:01:18 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								33e3679458 
								
							 
						 
						
							
							
								
								multicast, use the prebuilt interface map when checking active listeners ( #707 )  
							
							 
							
							
							
						 
						
							2020-09-27 13:16:51 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								7778a47a8f 
								
							 
						 
						
							
							
								
								fix darwin compile problem  
							
							 
							
							
							
						 
						
							2020-05-24 15:46:18 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								98816f34b2 
								
							 
						 
						
							
							
								
								don't spam calls to net.Interfaces and net.Interface.Addrs (hopefully)  
							
							 
							
							
							
						 
						
							2020-05-24 15:24:39 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								1e471e3712 
								
							 
						 
						
							
							
								
								back to master's version of multicast, lets try rewriting it again  
							
							 
							
							
							
						 
						
							2020-05-24 14:43:38 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								c2d6e9e8f1 
								
							 
						 
						
							
							
								
								close listener when a multicast interface is removed  
							
							 
							
							
							
						 
						
							2020-05-24 14:09:06 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								7779d86c5b 
								
							 
						 
						
							
							
								
								maybe fix multicast deadlock on darwin  
							
							 
							
							
							
						 
						
							2020-05-09 05:56:36 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								95f4ec52a4 
								
							 
						 
						
							
							
								
								save only the link-local addresses for multicast  
							
							 
							
							
							
						 
						
							2020-05-03 05:06:59 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								de79401bb2 
								
							 
						 
						
							
							
								
								only call (net.Interface).Addrs() once per minute per interface  
							
							 
							
							
							
						 
						
							2020-05-03 02:50:04 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Arceliar 
								
							 
						 
						
							
							
							
							
								
							
							
								02e1cb180d 
								
							 
						 
						
							
							
								
								possibly reduce multicast cpu usage even more  
							
							 
							
							
							
						 
						
							2020-05-02 17:23:20 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								127b7e311c 
								
							 
						 
						
							
							
								
								Clean up a bit  
							
							 
							
							
							
						 
						
							2020-05-02 22:37:12 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0c7cf65d27 
								
							 
						 
						
							
							
								
								Move some logging back to debug  
							
							 
							
							
							
						 
						
							2020-05-02 22:33:25 +01:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Neil Alexander 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								a115d18595 
								
							 
						 
						
							
							
								
								Refactor the multicast code a bit  
							
							 
							
							
							
						 
						
							2020-05-02 22:26:41 +01:00