author | Alberto Bertogli
<albertito@blitiri.com.ar> 2020-07-07 23:30:11 UTC |
committer | Alberto Bertogli
<albertito@blitiri.com.ar> 2020-07-07 23:30:11 UTC |
parent | 35e19dc4a2daa339813f415ae52d08629187baf2 |
cmd/dovecot-auth-cli/dovecot-auth-cli.go | +21 | -2 |
cmd/dovecot-auth-cli/test_wrong_command.cmy | +2 | -2 |
diff --git a/cmd/dovecot-auth-cli/dovecot-auth-cli.go b/cmd/dovecot-auth-cli/dovecot-auth-cli.go index 67ee5a4..10248ec 100644 --- a/cmd/dovecot-auth-cli/dovecot-auth-cli.go +++ b/cmd/dovecot-auth-cli/dovecot-auth-cli.go @@ -8,12 +8,31 @@ package main import ( "flag" "fmt" + "os" "blitiri.com.ar/go/chasquid/internal/dovecot" ) +const help = ` +Usage: + dovecot-auth-cli <path prefix> exists user@domain + dovecot-auth-cli <path prefix> auth user@domain password + +Example: + dovecot-auth-cli /var/run/dovecot/auth-chasquid exists user@domain + dovecot-auth-cli /var/run/dovecot/auth-chasquid auth user@domain password + +` + func main() { flag.Parse() + + if len(flag.Args()) < 3 { + fmt.Fprint(os.Stderr, help) + fmt.Print("no: invalid arguments\n") + return + } + a := dovecot.NewAuth(flag.Arg(0)+"-userdb", flag.Arg(0)+"-client") var ok bool @@ -25,11 +44,11 @@ func main() { case "auth": ok, err = a.Authenticate(flag.Arg(2), flag.Arg(3)) default: - fmt.Printf("unknown subcommand\n") + err = fmt.Errorf("unknown subcommand %q", flag.Arg(1)) } if ok { - fmt.Printf("yes\n") + fmt.Print("yes\n") return } diff --git a/cmd/dovecot-auth-cli/test_wrong_command.cmy b/cmd/dovecot-auth-cli/test_wrong_command.cmy index afcd774..ec558e0 100644 --- a/cmd/dovecot-auth-cli/test_wrong_command.cmy +++ b/cmd/dovecot-auth-cli/test_wrong_command.cmy @@ -1,4 +1,4 @@ -c = ./dovecot-auth-cli .missingsocket something -c <- unknown subcommand +c = ./dovecot-auth-cli .missingsocket something else +c <- no: unknown subcommand "something" c wait 0