Add timeout option to configtest (#400)

This commit is contained in:
Kota Kanbe
2017-03-23 20:52:25 +09:00
committed by GitHub
parent af5a1204bc
commit 7131270cad
4 changed files with 15 additions and 6 deletions

View File

@@ -668,6 +668,7 @@ configtest:
[-log-dir=/path/to/log]
[-ask-key-password]
[-ssh-external]
[-timeout=300]
[-http-proxy=http://192.168.0.1:8080]
[-debug]
@@ -684,6 +685,8 @@ configtest:
/path/to/log (default "/var/log/vuls")
-ssh-external
Use external ssh command. Default: Use the Go native implementation
-timeout int
Timeout(Sec) (default 300)
```
configtestサブコマンドは以下をチェックする

View File

@@ -676,6 +676,7 @@ configtest:
[-log-dir=/path/to/log]
[-ask-key-password]
[-ssh-external]
[-timeout=300]
[-debug]
[SERVER]...
@@ -691,6 +692,9 @@ configtest:
/path/to/log (default "/var/log/vuls")
-ssh-external
Use external ssh command. Default: Use the Go native implementation
-timeout int
Timeout(Sec) (default 300)
```
The configtest subcommand checks the following

View File

@@ -37,6 +37,7 @@ type ConfigtestCmd struct {
askKeyPassword bool
sshExternal bool
httpProxy string
timeoutSec int
debug bool
}
@@ -54,6 +55,7 @@ func (*ConfigtestCmd) Usage() string {
[-config=/path/to/config.toml]
[-log-dir=/path/to/log]
[-ask-key-password]
[-timeout=300]
[-ssh-external]
[-http-proxy=http://192.168.0.1:8080]
[-debug]
@@ -73,6 +75,8 @@ func (p *ConfigtestCmd) SetFlags(f *flag.FlagSet) {
f.BoolVar(&p.debug, "debug", false, "debug mode")
f.IntVar(&p.timeoutSec, "timeout", 5*60, "Timeout(Sec)")
f.BoolVar(
&p.askKeyPassword,
"ask-key-password",
@@ -157,10 +161,10 @@ func (p *ConfigtestCmd) Execute(_ context.Context, f *flag.FlagSet, _ ...interfa
}
util.Log.Info("Checking dependendies...")
scan.CheckDependencies()
scan.CheckDependencies(p.timeoutSec)
util.Log.Info("Checking sudo settings...")
scan.CheckIfSudoNoPasswd()
scan.CheckIfSudoNoPasswd(p.timeoutSec)
scan.PrintSSHableServerNames()
return subcommands.ExitSuccess

View File

@@ -342,8 +342,7 @@ func detectContainerOSesOnServer(containerHost osTypeInterface) (oses []osTypeIn
}
// CheckDependencies checks dependencies are installed on target servers.
func CheckDependencies() {
timeoutSec := 5 * 60
func CheckDependencies(timeoutSec int) {
parallelExec(func(o osTypeInterface) error {
return o.checkDependencies()
}, timeoutSec)
@@ -351,8 +350,7 @@ func CheckDependencies() {
}
// CheckIfSudoNoPasswd checks whether vuls can sudo with nopassword via SSH
func CheckIfSudoNoPasswd() {
timeoutSec := 5 * 60
func CheckIfSudoNoPasswd(timeoutSec int) {
parallelExec(func(o osTypeInterface) error {
return o.checkIfSudoNoPasswd()
}, timeoutSec)