27d2914286 
							
						 
					 
					
						
						
							
							proc/priv/init: merge init into main program  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Build / Create distribution (push) Successful in 1m47s 
				
			 
		
			
				
	Test / Run NixOS test (push) Successful in 3m46s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-01-18 11:47:01 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ea8f228af3 
							
						 
					 
					
						
						
							
							proc/priv/shim: merge shim into main program  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Build / Create distribution (push) Successful in 2m15s 
				
			 
		
			
				
	Test / Run NixOS test (push) Successful in 2m53s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-01-17 23:43:32 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							124743ffd3 
							
						 
					 
					
						
						
							
							app: expose single run method  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 1m1s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m20s 
				
			 
		
		
	 
 
	 
						
						App is no longer just a simple [exec.Cmd] wrapper, so exposing these steps separately no longer makes sense and actually hinders proper error handling, cleanup and cancellation. This change removes the five-second wait when the shim dies before receiving the payload, and provides caller the ability to gracefully stop execution of the confined process.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2025-01-15 23:39:51 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							22a4b99674 
							
						 
					 
					
						
						
							
							cmd/fpkg/install: deduplicate nix store  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 41s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 4m43s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-30 02:25:04 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							1464ef774b 
							
						 
					 
					
						
						
							
							cmd/fpkg: expose nixGL wrappers  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 35s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 4m6s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-30 02:02:20 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							66ba4cea5c 
							
						 
					 
					
						
						
							
							cmd/fpkg: remove workDir acl from activation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 33s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m56s 
				
			 
		
		
	 
 
	 
						
						Activation does not require access to workDir, and by this point all information is available in dataHome.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 23:48:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f8d0786509 
							
						 
					 
					
						
						
							
							cmd/fpkg: include nixGL source in inner store  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 4m24s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 23:37:11 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							aff80b6b00 
							
						 
					 
					
						
						
							
							cmd/fpkg: optional network access when invoking with nix daemon  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m36s 
				
			 
		
		
	 
 
	 
						
						This is useful for building nixGL.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 18:32:44 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							a98a176907 
							
						 
					 
					
						
						
							
							cmd/fpkg: bind and document more gpu devices  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m40s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 18:25:26 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							5302879b88 
							
						 
					 
					
						
						
							
							cmd/fpkg: improve readability of fortify invocations  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m41s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 17:55:56 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							891b3cbde7 
							
						 
					 
					
						
						
							
							cmd/fpkg: compare all three store paths  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m39s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 17:10:41 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c795293f36 
							
						 
					 
					
						
						
							
							cmd/fpkg: clean up broken links before activation  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 35s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m38s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 15:21:40 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							c1a459a0b1 
							
						 
					 
					
						
						
							
							cmd/fpkg/start: correct drop to shell wording  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 52s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 4m27s 
				
			 
		
		
	 
 
	 
						
						Activation no longer happens during application startup.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-29 00:56:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							e0e2f40e84 
							
						 
					 
					
						
						
							
							cmd/fpkg: app bundle helper  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 43s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 4m25s 
				
			 
		
		
	 
 
	 
						
						This helper program creates fortify configuration for running an application bundle. The activate action wraps a home-manager activation package and ensures each generation gets activated once.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-26 13:21:49 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							9b206072fa 
							
						 
					 
					
						
						
							
							cmd/fshim: ensure data directory  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 36s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m33s 
				
			 
		
		
	 
 
	 
						
						Ensuring home directory in shim causes the directory to be owned by the target user.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-28 14:39:01 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							0a2aa5823b 
							
						 
					 
					
						
						
							
							cmd/fshim: bind finit inside sandbox  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 34s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 3m32s 
				
			 
		
		
	 
 
	 
						
						The outer finit executable is normally inaccessible inside the sandbox. This was obscured by the current Nix-based setup exposing /nix/store to the sandbox.
Signed-off-by: Ophestra <cat@gensokyo.uk> 
						
						
					 
					
						2024-12-27 14:44:57 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							df6fc298f6 
							
						 
					 
					
						
						
							
							migrate to git.gensokyo.uk/security/fortify  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 2m55s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 5m10s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-20 00:20:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							52f21a19f3 
							
						 
					 
					
						
						
							
							cmd/fshim: switch to setup pipe  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 38s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 5m43s 
				
			 
		
		
	 
 
	 
						
						The socket-based approach is no longer necessary as fsu allows extra files and sudo compatibility is no longer relevant.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-18 19:39:25 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							7be53a2438 
							
						 
					 
					
						
						
							
							cmd/fshim: switch to generic setup func  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 38s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 5m47s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-18 17:20:31 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							f69e8e753e 
							
						 
					 
					
						
						
							
							cmd/finit: switch to generic receive func  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 38s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 5m40s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-18 16:49:19 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b453f70ca2 
							
						 
					 
					
						
						
							
							cmd/fsu: check uid range before syscall  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	Tests / Go tests (push) Successful in 43s 
				
			 
		
			
				
	Nix / NixOS tests (push) Successful in 5m0s 
				
			 
		
		
	 
 
	 
						
						This limits potential exploits to the fortify uid range.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-17 13:01:36 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							33c95b80ca 
							
						 
					 
					
						
						
							
							cmd/fuserdb: rename home directories  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 36s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-07 20:23:46 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							cc816a1aaa 
							
						 
					 
					
						
						
							
							proc: cleaner extra files  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 37s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-06 16:05:04 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							b3ef53b193 
							
						 
					 
					
						
						
							
							app: integrate security-context-v1  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 37s 
				
			 
		
		
	 
 
	 
						
						Should be able to get rid of XDG_RUNTIME_DIR share after this.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-12-06 04:25:33 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							ae2628e57a 
							
						 
					 
					
						
						
							
							cmd/fshim/ipc: install signal handler on shim start  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 20s 
				
			 
		
		
	 
 
	 
						
						Getting killed at this point will result in inconsistent state.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-18 13:33:46 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							2e23cef7bb 
							
						 
					 
					
						
						
							
							cmd/fuserdb: generate group entries  
						
						... 
						
						
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-17 23:31:06 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							6a6d30af1f 
							
						 
					 
					
						
						
							
							cmd/fuserdb: systemd userdb drop-in entries generator  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 20s 
				
			 
		
		
	 
 
	 
						
						This provides user records via nss-systemd. Static drop-in entries are generated to reduce complexity and attack surface.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-17 02:16:02 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							df33123bd7 
							
						 
					 
					
						
						
							
							app: integrate fsu  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 21s 
				
			 
		
		
	 
 
	 
						
						This removes the dependency on external user switchers like sudo/machinectl and decouples fortify user ids from the passwd database.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-16 21:19:45 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							45fead18c3 
							
						 
					 
					
						
						
							
							cmd/fshim: set no_new_privs flag  
						
						... 
						
						
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-09 11:50:56 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							88abcbe0b2 
							
						 
					 
					
						
						
							
							cmd/fsu: remove import of internal package  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 24s 
				
			 
		
		
	 
 
	 
						
						Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-04 12:32:14 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							8cd3651bb6 
							
						 
					 
					
						
						
							
							cmd/fshim/ipc: friendly setup timeout message  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 22s 
				
			 
		
		
	 
 
	 
						
						This message eventually gets returned by the app's Start method, so they should be wrapped to provide a friendly message.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-03 02:03:30 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							584732f80a 
							
						 
					 
					
						
						
							
							cmd: shim and init into separate binaries  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 19s 
				
			 
		
		
	 
 
	 
						
						This change also fixes a deadlock when shim fails to connect and complete the setup.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-11-02 03:13:57 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							aa1f96eeeb 
							
						 
					 
					
						
						
							
							fsu: check parent executable path  
						
						... 
						
						
	
		
			
	 
	
	
		
	
	
		
			
				
	test / test (push) Successful in 19s 
				
			 
		
		
	 
 
	 
						
						Only allow main program to launch fsu. This change and further checks in the main program reduces attack surface.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-10-28 18:52:23 +09:00 
						 
				 
			
				
					
						
					 
					
						
						
							
							
								
									
								
							
						
						
						
							
						
						
							d9cb2a9f2b 
							
						 
					 
					
						
						
							
							fsu: implement simple setuid user switcher  
						
						... 
						
						
						
						Contains path to fortify, set at compile time, authenticates based on a simple uid range assignment file which also acts as the allow list.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe> 
						
						
					 
					
						2024-10-28 00:02:34 +09:00