mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	sysinit: Support for the -g (gateway) flag used in networking setup
This commit is contained in:
		
							parent
							
								
									db4c75f3c1
								
							
						
					
					
						commit
						b9b66d0e1b
					
				
					 1 changed files with 14 additions and 0 deletions
				
			
		
							
								
								
									
										14
									
								
								sysinit.go
									
										
									
									
									
								
							
							
						
						
									
										14
									
								
								sysinit.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -11,6 +11,17 @@ import (
 | 
			
		|||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Setup networking
 | 
			
		||||
func setupNetworking(gw string) {
 | 
			
		||||
	if gw == "" {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	cmd := exec.Command("/sbin/route", "add", "default", "gw", gw)
 | 
			
		||||
	if err := cmd.Run(); err != nil {
 | 
			
		||||
		log.Fatalf("Unable to set up networking: %v", err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Takes care of dropping privileges to the desired user
 | 
			
		||||
func changeUser(u string) {
 | 
			
		||||
	if u == "" {
 | 
			
		||||
| 
						 | 
				
			
			@ -62,8 +73,11 @@ func SysInit() {
 | 
			
		|||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
	var u = flag.String("u", "", "username or uid")
 | 
			
		||||
	var gw = flag.String("g", "", "gateway address")
 | 
			
		||||
 | 
			
		||||
	flag.Parse()
 | 
			
		||||
 | 
			
		||||
	setupNetworking(*gw)
 | 
			
		||||
	changeUser(*u)
 | 
			
		||||
	executeProgram(flag.Arg(0), flag.Args())
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue