| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -28,6 +28,10 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 #include <libutil.h> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#endif | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#ifndef __OpenBSD__ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define pledge(a,b) 0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#endif | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* Arbitrary sizes */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define UTF_INVALID   0xFFFD | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define UTF_SIZ       4 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -806,9 +810,13 @@ ttynew(char *line, char *cmd, char *out, char **args) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								die("ioctl TIOCSCTTY failed: %s\n", strerror(errno)); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							close(s); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							close(m); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (pledge("stdio getpw proc exec", NULL) == -1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								die("pledge\n"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							execsh(cmd, args); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							break; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						default: | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							if (pledge("stdio rpath tty proc", NULL) == -1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
								die("pledge\n"); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							close(s); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							cmdfd = m; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							signal(SIGCHLD, sigchld); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |