1a9ca771ac 
					 
					
						
						
							
							Update based on lints  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/pr Build is passing 
				
			 
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2025-01-09 20:56:51 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b7ec67ed07 
					 
					
						
						
							
							Fix SNI header parsing  
						
						... 
						
						
						
						When a listener is configured to deal with TLS upstreams, we use the SNI
field of the TLS ClientHello message to decide where to send the traffic.
Therefore, a buffer of 1024 bytes was used to temporarily store this
message. However, a TLS ClientHello message can be larger than that, up
to 16K bytes.
So now the first few bytes are read and manually parsed to find out how
long the message is. And then the entire ClientHello message is
retrieved.
So hopefully that will fix the issue causing the ClientHello
determination to fail.
Closes  #10 
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2025-01-09 20:56:51 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aff46b6bfb 
					 
					
						
						
							
							Update dependencies to latest version  
						
						... 
						
						
						
						This also fixes a build failure which would otherwise happen due to the
time crate.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2025-01-09 20:21:34 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						922ea1f030 
					 
					
						
						
							
							Add help to main command  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-12-24 17:22:58 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6300c43495 
					 
					
						
						
							
							Upgrade toolchain to rust 1.79.0  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/pr Build is passing 
				
			 
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
			
				
	continuous-integration/drone/tag Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
 
						
					 
					
						2024-06-22 15:44:13 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c21ff86ee4 
					 
					
						
						
							
							Add change log  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-06-22 15:43:58 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8d6387773a 
					 
					
						
						
							
							Add self update functionality  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-06-22 15:43:58 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						95149ffd9f 
					 
					
						
						
							
							Update .gitignore  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-06-22 11:49:12 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a140748647 
					 
					
						
						
							
							Correct attribution to fourth  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Search and replace accidentally also renamed the original crate, called
fourth. But attributions should be correct.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-06-19 21:59:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ad6955a30d 
					 
					
						
						
							
							Fix crate name and release v0.1.8  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone Build is passing 
				
			 
		
			
				
	continuous-integration/drone/tag Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
 
						
					 
					
						2024-06-19 21:16:30 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4592c94586 
					 
					
						
						
							
							Reintroduce L4P_CONFIG environment variable  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/pr Build is passing 
				
			 
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						This points to a user-configured configuration file.
Closes  #5 .
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 23:53:47 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6284870059 
					 
					
						
						
							
							Rename config::config to config::config_v1  
						
						... 
						
						
						
						To prevent module inception, which was a clippy warning.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 23:34:19 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						97b4bf6bbe 
					 
					
						
						
							
							Solve synchronization issue  
						
						... 
						
						
						
						The async mutex in the previous variant would fail when used in a single
threaded mode, because block_in_place() cannot be used there.
Instead, replace the code with a Arc<RwLock> inside of the
UpstreamAddress to let that class take care of its own mutability.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 23:31:23 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						59c7128f93 
					 
					
						
						
							
							Remove kcp support  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 22:49:43 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9d9f89881d 
					 
					
						
						
							
							Improve config file handling  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 22:03:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ee67f7883e 
					 
					
						
						
							
							Rename to l4p, update references and README.md  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-23 22:03:25 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77bc8364f2 
					 
					
						
						
							
							Update dependencies to latest versions  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-22 21:59:14 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ec9ab1d2bc 
					 
					
						
						
							
							Add example systemd unit with security protections  
						
						... 
						
						
						
						This is just about as secure as this process can get
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2024-02-22 21:49:58 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bb81a32349 
					 
					
						
						
							
							Deduplicate some code  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-05 13:34:40 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						17b39dc6bc 
					 
					
						
						
							
							Prepare for new config version  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-05 13:34:40 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						07fccb6b2a 
					 
					
						
						
							
							Clippy  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-05 00:26:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3a2367ef28 
					 
					
						
						
							
							Moved upstreams to their own dedicated namespace  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-05 00:26:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2116659a14 
					 
					
						
						
							
							Sort dependencies  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 23:34:26 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8404f38182 
					 
					
						
						
							
							Move ProxyToUpstream parsing to TryFrom trait  
						
						... 
						
						
						
						This seems cleaner to me than parsing it externally.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 23:27:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						23296c6436 
					 
					
						
						
							
							Improve code style  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 23:27:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						84f0499ec8 
					 
					
						
						
							
							Remove unnecessary manual Default implementations  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:32:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ae594135a1 
					 
					
						
						
							
							Update dependencies  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:31:43 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9564fbed6e 
					 
					
						
						
							
							Fix clippy warnings  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:14:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a574163aef 
					 
					
						
						
							
							Rename Upstream::Custom to Upstream::Proxy  
						
						... 
						
						
						
						And CustomUpstream to ProxyToUpstream.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:14:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2651ec1f4a 
					 
					
						
						
							
							Fix kcp module  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:14:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8dae1126d5 
					 
					
						
						
							
							Deduplicate copy method  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 22:14:50 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						da46c5873f 
					 
					
						
						
							
							Fix typo  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-10-04 20:48:01 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						086e2b4766 
					 
					
						
						
							
							Tag 0.1.7  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
			
				
	continuous-integration/drone/tag Build is passing 
				
			 
		
		
	 
 
	 
						
						Critical bug fixes
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
 
						
					 
					
						2023-08-25 23:11:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5f0de72b88 
					 
					
						
						
							
							Remove unused variable  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/pr Build is passing 
				
			 
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-25 22:56:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						40b890bc13 
					 
					
						
						
							
							Add much better debug logging of address resolution  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-25 22:54:41 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						483c058105 
					 
					
						
						
							
							Slightly better way of finding the config file  
						
						... 
						
						
						
						It now also looks in the current working directory.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-25 22:53:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6349fc6502 
					 
					
						
						
							
							Prevent unnecessary clone  
						
						... 
						
						
						
						This also ensures that the address resolver actually keeps state.
Otherwise it was cloned before each resolution, resulting in it never
keeping the resolved addresses.
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-25 22:52:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cd35859c9b 
					 
					
						
						
							
							Initialize UpstreamAddress with actual address  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-25 22:51:25 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7f399af713 
					 
					
						
						
							
							Update rust and zig  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-24 18:45:04 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fd86162450 
					 
					
						
						
							
							Version 0.1.6  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
			
				
	continuous-integration/drone/tag Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
 
						
					 
					
						2023-08-23 20:52:46 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a6748f30d9 
					 
					
						
						
							
							Make English readme the default  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/pr Build was killed 
				
			 
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Since I'm unable to read Chinese
Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-23 20:45:42 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						902b2c0d55 
					 
					
						
						
							
							Update build file  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone/push Build is passing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-23 20:33:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fb7a7d9cae 
					 
					
						
						
							
							Update gitignore  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-23 20:33:07 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1c325f45b4 
					 
					
						
						
							
							Add sample configuration file  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	continuous-integration/drone Build is failing 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-23 19:29:49 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						79c931fc38 
					 
					
						
						
							
							Add build instructions  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-23 19:29:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						915e39b684 
					 
					
						
						
							
							Extract DNS address resolution  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-16 09:32:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0c5153bbd6 
					 
					
						
						
							
							Rename Proxy::default to ::default_action  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-08-16 09:31:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						01784ee3fd 
					 
					
						
						
							
							Update dependencies  
						
						
						
						
							
						
					 
					
						2023-08-16 09:29:18 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f4bc441ca8 
					 
					
						
						
							
							Enable explicit ipv4 / ipv6 proxying  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-06-02 17:35:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f010f8c76b 
					 
					
						
						
							
							Update dependencies  
						
						... 
						
						
						
						Signed-off-by: Jacob Kiers <code@kiers.eu > 
						
						
							
						
					 
					
						2023-06-02 17:35:13 +02:00