hide obsolete command line arguments

This commit is contained in:
Unrud 2018-08-23 17:12:35 +02:00
parent b1f8f7ea1c
commit 5a5ad3e6c6

24
main.go
View file

@ -131,14 +131,22 @@ func secureRandBase64(length int) string {
func main() { func main() {
var bind, certFile, keyFile, secret string var bind, certFile, keyFile, secret string
var showVersion bool var showVersion bool
flag.BoolVar(&showVersion, "version", false, "show program's version number and exit") parseFlags := flag.NewFlagSet(os.Args[0], flag.ContinueOnError)
flag.StringVar(&bind, "bind", defaultBind, "bind server to [HOSTNAME]:PORT") for _, fs := range [](*flag.FlagSet){parseFlags, flag.CommandLine} {
flag.StringVar(&secret, "secret", "", "shared secret for client authentication") fs.BoolVar(&showVersion, "version", false, "show program's version number and exit")
flag.StringVar(&certFile, "cert", "", "file containing TLS certificate") fs.StringVar(&bind, "bind", defaultBind, "bind server to [HOSTNAME]:PORT")
flag.StringVar(&keyFile, "key", "", "file containing TLS private key") fs.StringVar(&secret, "secret", "", "shared secret for client authentication")
flag.Bool("invert", false, "obsolete, not used anymore") fs.StringVar(&certFile, "cert", "", "file containing TLS certificate")
flag.Int("interval", 0, "obsolete, not used anymore") fs.StringVar(&keyFile, "key", "", "file containing TLS private key")
flag.Parse() }
// ignore obsolete flags for backward compatibility, but don't show them in usage message
parseFlags.Usage = func() {}
parseFlags.Bool("invert", false, "")
parseFlags.Int("interval", 0, "")
if err := parseFlags.Parse(os.Args[1:]); err != nil {
flag.Usage()
os.Exit(2)
}
if showVersion { if showVersion {
fmt.Println(version) fmt.Println(version)
return return