ZyklonB, kike: Use pledge(2) in OpenBSD
degesch has something like "stdio wpath cpath inet tty proc exec" but given that it's user-extensible and very annoying for users to have it crash, I'm leaving it unrestricted for now.
This commit is contained in:
		
							
								
								
									
										6
									
								
								kike.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								kike.c
									
									
									
									
									
								
							@@ -4076,6 +4076,12 @@ main (int argc, char *argv[])
 | 
			
		||||
	else if (!irc_lock_pid_file (&ctx, &e))
 | 
			
		||||
		exit_fatal ("%s", e->message);
 | 
			
		||||
 | 
			
		||||
#if OpenBSD >= 201605
 | 
			
		||||
	// This won't be as simple once we decide to implement REHASH
 | 
			
		||||
	if (pledge ("stdio inet dns", NULL))
 | 
			
		||||
		exit_fatal ("%s: %s", "pledge", strerror (errno));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	ctx.polling = true;
 | 
			
		||||
	while (ctx.polling)
 | 
			
		||||
		poller_run (&ctx.poller);
 | 
			
		||||
 
 | 
			
		||||
@@ -2023,6 +2023,12 @@ main (int argc, char *argv[])
 | 
			
		||||
	ctx.signal_event.user_data = &ctx;
 | 
			
		||||
	poller_fd_set (&ctx.signal_event, POLLIN);
 | 
			
		||||
 | 
			
		||||
#if OpenBSD >= 201605
 | 
			
		||||
	// cpath is for creating the plugin home directory
 | 
			
		||||
	if (pledge ("stdio rpath cpath inet proc exec", NULL))
 | 
			
		||||
		exit_fatal ("%s: %s", "pledge", strerror (errno));
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	plugin_load_all_from_config (&ctx);
 | 
			
		||||
	if (!parse_config (&ctx, &e)
 | 
			
		||||
	 || !irc_connect (&ctx, &e))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user