087959e81b 
							
						 
					 
					
						
						
							
							app: remove split implementation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m56s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m42s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m37s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m7s 
				
			 
		
		
	 
 
	 
						
						It is completely nonsensical and highly error-prone to have multiple implementations of this in the same build. This should be switched at compile time instead therefore the split packages are pointless.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-03 04:36:59 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							eb22a8bcc1 
							
						 
					 
					
						
						
							
							cmd/hakurei: move to cmd  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 31s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m50s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m2s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m18s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m36s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m35s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m7s 
				
			 
		
		
	 
 
	 
						
						Having it at the project root never made sense since the "ego" name was deprecated. This change finally addresses it.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 20:42:51 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							31aef905fa 
							
						 
					 
					
						
						
							
							sandbox: expose seccomp interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 31s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m59s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m47s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m34s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m22s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m8s 
				
			 
		
		
	 
 
	 
						
						There's no point in artificially limiting and abstracting away these options. The higher level hakurei package is responsible for providing a secure baseline and sane defaults. The sandbox package should present everything to the caller.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 04:47:13 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d5532aade0 
							
						 
					 
					
						
						
							
							sandbox/seccomp: native rule slice in helpers  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m6s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m33s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m16s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m16s 
				
			 
		
		
	 
 
	 
						
						These helper functions took FilterPreset as input for ease of integration. This moves them to []NativeRule.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-02 00:22:27 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1a8840bebc 
							
						 
					 
					
						
						
							
							sandbox/seccomp: resolve rules natively  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 32s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m45s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m1s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m31s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m18s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m6s 
				
			 
		
		
	 
 
	 
						
						This enables loading syscall filter policies from external cross-platform config files.
This also removes a significant amount of C code.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-07-01 22:11:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							972f4006f0 
							
						 
					 
					
						
						
							
							treewide: switch to hakurei.app  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 33s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m0s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m12s 
				
			 
		
			
				
	Test / Planterette (push) Successful in 3m35s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m22s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m7s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-06-26 04:01:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							87e008d56d 
							
						 
					 
					
						
						
							
							treewide: rename to hakurei  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 43s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 2m18s 
				
			 
		
			
				
	Test / Hakurei (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m30s 
				
			 
		
			
				
	Test / Hakurei (race detector) (push) Successful in 4m43s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 5m4s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m12s 
				
			 
		
		
	 
 
	 
						
						Fortify makes little sense for a container tool.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-06-25 04:57:41 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							717771ae80 
							
						 
					 
					
						
						
							
							app: share runtime dir  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 37s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 37s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 40s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 40s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 38s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m5s 
				
			 
		
		
	 
 
	 
						
						This allows apps with the same identity to access the same runtime dir.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-06-08 03:24:48 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							15011c4173 
							
						 
					 
					
						
						
							
							app/instance/common: optimise ops allocation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m55s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m46s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m10s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m52s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m23s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m2s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-13 03:49:07 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							31b7ddd122 
							
						 
					 
					
						
						
							
							fst: improve config  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m50s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m46s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m59s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m23s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 5m25s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m1s 
				
			 
		
		
	 
 
	 
						
						The config struct more or less "grew" to what it is today. This change moves things around to make more sense and fixes nonsensical comments describing obsolete behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-13 03:30:19 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							6309469e93 
							
						 
					 
					
						
						
							
							app/instance: wrap internal implementation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m44s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m37s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m59s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m34s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m6s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 59s 
				
			 
		
		
	 
 
	 
						
						This reduces the scope of the fst package, which was growing questionably large.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-12 13:56:41 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0d7c1a9a43 
							
						 
					 
					
						
						
							
							app: rename app implementation package  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m48s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m36s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m52s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m32s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m4s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-12 10:54:24 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9967909460 
							
						 
					 
					
						
						
							
							sandbox: relative autoetc links  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m44s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m41s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m48s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m35s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m13s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m3s 
				
			 
		
		
	 
 
	 
						
						This allows nested containers to use autoetc, and increases compatibility with other implementations.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-11 18:54:00 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c806f43881 
							
						 
					 
					
						
						
							
							sandbox: implement autoetc as setup op  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m48s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m42s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m51s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m37s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m4s 
				
			 
		
		
	 
 
	 
						
						This significantly reduces setup op count and the readdir call now happens in the context of the init process.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-10 18:54:25 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							584405f7cc 
							
						 
					 
					
						
						
							
							sandbox/seccomp: rename flag type and constants  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m38s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m39s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m55s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m26s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 56s 
				
			 
		
		
	 
 
	 
						
						The names are ambiguous. Rename them to make more sense.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-08 01:59:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							74ba183256 
							
						 
					 
					
						
						
							
							app: install seccomp filter to shim  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m57s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m53s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m5s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m51s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m19s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m5s 
				
			 
		
		
	 
 
	 
						
						This does not necessarily reduce attack surface but does not affect functionality or introduce any side effects, so is nice to have.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-07 04:13:08 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e9a7cd526f 
							
						 
					 
					
						
						
							
							app: improve shim process management  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 27s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m45s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m36s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m33s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m13s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m6s 
				
			 
		
		
	 
 
	 
						
						This ensures a signal gets delivered to the process instead of relying on parent death behaviour.
SIGCONT was chosen as it is the only signal an unprivileged process is allowed to send to processes with different credentials.
A custom signal handler is installed because the Go runtime does not expose signal information other than which signal was received, and shim must check pid to ensure reasonable behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-07 03:55:17 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							022242a84a 
							
						 
					 
					
						
						
							
							app: wayland socket in process share  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 29s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m9s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m16s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 3m8s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m35s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m32s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m24s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-01 00:53:04 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8aeb06f53c 
							
						 
					 
					
						
						
							
							app: share path setup on demand  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 28s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 34s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 34s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 39s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m16s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 2m58s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m33s 
				
			 
		
		
	 
 
	 
						
						This removes the unnecessary creation and destruction of share paths when none of the enablements making use of them are set.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-04-01 00:47:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4036da3b5c 
							
						 
					 
					
						
						
							
							fst: optional configured shell path  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Sandbox (push) Successful in 1m45s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m28s 
				
			 
		
			
				
	Test / Sandbox (race detector) (push) Successful in 2m45s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m32s 
				
			 
		
			
				
	Test / Fortify (race detector) (push) Successful in 4m5s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m2s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-31 21:27:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							605d018be2 
							
						 
					 
					
						
						
							
							app/seal: check for '=' in envv  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m58s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m50s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 55s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-27 18:25:23 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							300571af47 
							
						 
					 
					
						
						
							
							app: pass through $SHELL  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 33s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 39s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 39s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 55s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-27 01:22:40 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							2dd49c437c 
							
						 
					 
					
						
						
							
							app: create XDG_RUNTIME_DIR with perm 0700  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m41s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m31s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m30s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 59s 
				
			 
		
		
	 
 
	 
						
						Many programs complain about this.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-26 02:49:37 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c326c3f97d 
							
						 
					 
					
						
						
							
							fst/sandbox: do not create /etc in advance  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m43s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m36s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m31s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 56s 
				
			 
		
		
	 
 
	 
						
						This is now handled by the setup op. This also gets rid of the hardcoded /etc path.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-25 20:00:34 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							61dbfeffe7 
							
						 
					 
					
						
						
							
							sandbox/wl: move into sandbox  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m49s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m36s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 58s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-25 05:26:37 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							532feb4bfa 
							
						 
					 
					
						
						
							
							app: merge shim into app package  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m48s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m39s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m35s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 56s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-25 05:21:47 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ec5e91b8c9 
							
						 
					 
					
						
						
							
							system: optimise string formatting  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 20s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 36s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 42s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 43s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m10s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-25 04:42:30 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5c4058d5ac 
							
						 
					 
					
						
						
							
							app: run in native sandbox  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 20s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m5s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m0s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m12s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m4s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-25 01:52:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							7c063833e0 
							
						 
					 
					
						
						
							
							internal/sys: wrap getuid/getgid  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m34s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m26s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 50s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-17 17:10:03 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							24618ab9a1 
							
						 
					 
					
						
						
							
							sandbox: move out of internal  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 18s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 2m40s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m13s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 3m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 51s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-17 02:55:36 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9ce4706a07 
							
						 
					 
					
						
						
							
							sandbox: move params setup functions  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m37s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m30s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m8s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 57s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-17 02:48:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9a1f8e129f 
							
						 
					 
					
						
						
							
							sandbox: wrap fmsg interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m27s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m36s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m16s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 55s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-17 02:44:07 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ee10860357 
							
						 
					 
					
						
						
							
							seccomp: install output atomically  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m33s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m17s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m1s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 49s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-17 01:10:27 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							10a21ce3ef 
							
						 
					 
					
						
						
							
							helper: expose extra files to direct  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 42s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 11m23s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 5m32s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 2m35s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 56s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-15 02:27:40 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f9bf20a3c7 
							
						 
					 
					
						
						
							
							helper: rearrange initialisation args  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 41s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 3m3s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m32s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 4m47s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 1m3s 
				
			 
		
		
	 
 
	 
						
						This improves consistency across two different helper implementations.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-15 01:06:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f443d315ad 
							
						 
					 
					
						
						
							
							helper: clean up interface  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m37s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m54s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 59s 
				
			 
		
		
	 
 
	 
						
						The helper interface was messy due to odd context acquisition order. That has changed, so this cleans it up.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-15 00:27:44 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							2647a71be1 
							
						 
					 
					
						
						
							
							seccomp: move out of helper  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 29s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m53s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 4m0s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 4m9s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 59s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-14 22:42:40 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							7c60a4d8e8 
							
						 
					 
					
						
						
							
							helper: embed context on creation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 24s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m34s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m22s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m44s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 49s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-14 18:30:22 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							4133b555ba 
							
						 
					 
					
						
						
							
							internal/app: rename init to init0  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m27s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m21s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m40s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 48s 
				
			 
		
		
	 
 
	 
						
						This makes way for the new container init.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-13 21:57:54 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							61e58aa14d 
							
						 
					 
					
						
						
							
							helper/proc: expose setup file  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m34s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m29s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m27s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 51s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-09 17:22:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9e15898c8f 
							
						 
					 
					
						
						
							
							internal/prctl: rename prctl wrappers  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m39s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m29s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m34s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 51s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-03-07 22:56:35 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							80f9b62d25 
							
						 
					 
					
						
						
							
							app: print comp values early  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 30s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m31s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m27s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m26s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 51s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-26 22:27:55 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							673b648bd3 
							
						 
					 
					
						
						
							
							cmd/fpkg: call app in-process  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 28s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m31s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m25s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m29s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 55s 
				
			 
		
		
	 
 
	 
						
						Wrapping fortify is slow, painful and error-prone. Start apps in-process instead.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-26 19:51:44 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							840ceb615a 
							
						 
					 
					
						
						
							
							app: handle RunState errors  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m27s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m24s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m30s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 52s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-26 17:36:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d050b3de25 
							
						 
					 
					
						
						
							
							app: define errors in a separate file  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m28s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m25s 
				
			 
		
			
				
	Test / Fpkg (push) Successful in 3m31s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 52s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-26 17:12:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							39dc8e7bd8 
							
						 
					 
					
						
						
							
							dbus: set process group id  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 25s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m18s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 3m11s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 40s 
				
			 
		
		
	 
 
	 
						
						This stops signals sent by the TTY driver from propagating to the xdg-dbus-proxy process.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-25 18:12:41 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f0a082ec84 
							
						 
					 
					
						
						
							
							fortify: improve handling of RevertErr  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Fortify (push) Successful in 2m17s 
				
			 
		
			
				
	Test / Data race detector (push) Successful in 2m57s 
				
			 
		
			
				
	Test / Flake checks (push) Successful in 43s 
				
			 
		
		
	 
 
	 
						
						All this error wrapping is getting a bit ridiculous and I might want to do something about that somewhere down the line.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-25 00:45:00 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c64b8163e7 
							
						 
					 
					
						
						
							
							app: separate instance from process state  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 19s 
				
			 
		
			
				
	Test / Run NixOS test (push) Successful in 1m59s 
				
			 
		
		
	 
 
	 
						
						This works better for the implementation.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-21 16:06:24 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							3c80fd2b0f 
							
						 
					 
					
						
						
							
							app: defer system.I revert  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 19s 
				
			 
		
			
				
	Test / Run NixOS test (push) Successful in 49s 
				
			 
		
		
	 
 
	 
						
						Just returning an error after a successful call of commit will leave garbage behind with no way for the caller to clean them. This change ensures revert is always called after successful commit with at least per-process state enabled.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-19 21:12:11 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ef81828e0c 
							
						 
					 
					
						
						
							
							app: remove share method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Test / Create distribution (push) Successful in 26s 
				
			 
		
			
				
	Test / Run NixOS test (push) Successful in 2m3s 
				
			 
		
		
	 
 
	 
						
						This is yet another implementation detail from before system.I, getting rid of this vastly cuts down on redundant seal state.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-02-19 16:20:25 +09:00