From 444eee04084aa9dfc525db9060498876bed47b05 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 2 May 2017 21:32:42 +0200 Subject: Split modi --- main.go | 91 +++++++++++++---------------------------------------------------- 1 file changed, 18 insertions(+), 73 deletions(-) (limited to 'main.go') diff --git a/main.go b/main.go index 0294bb5..f03d279 100644 --- a/main.go +++ b/main.go @@ -2,57 +2,19 @@ package main import ( "errors" - "flag" "fmt" "os" ) -/* - signify -C [-q] -p pubkey -x sigfile [file ...] - signify -G [-n] [-c comment] -p pubkey -s seckey - signify -S [-ez] [-x sigfile] -s seckey -m message - signify -V [-eqz] [-p pubkey] [-t keytype] [-x sigfile] -m message -*/ - -const safePath = "/etc/signify" - var ErrEZ = errors.New("can't combine -e and -z options") -var ( - checksum = flag.Bool("C", false, "Verify a signed checksum list") - generate = flag.Bool("G", false, "Generate a new key pair") - sign = flag.Bool("S", false, "Sign the specfied message") - verify = flag.Bool("V", false, "Verify the message") - comment = flag.String("c", "signify", "Comment") - embedded = flag.Bool("e", false, "Embed the message") - msg = flag.String("m", "", "Message file") - nopass = flag.Bool("n", false, "No key passphrase") - pub = flag.String("p", "", "Public key file") - quiet = flag.Bool("q", false, "Quiet mode") - sec = flag.String("s", "", "Secret key file") - sig = flag.String("x", "", "Signature file") - gzip = flag.Bool("z", false, "Sign and verify gzip archives") -) - -type Mode int - -const ( - ModeNone Mode = iota - ModeCheck - ModeGenerate - ModeSign - ModeVerify -) - -func (m *Mode) Set(v Mode) { - if *m != ModeNone { - usage() - } - *m = v -} +const safePath = "/etc/signify" func usage() { - flag.Usage() + fmt.Println("\tsignify -C [-q] -p pubkey -x sigfile [file ...]") + fmt.Println("\tsignify -G [-n] [-c comment] -p pubkey -s seckey") + fmt.Println("\tsignify -S [-ez] [-x sigfile] -s seckey -m message") + fmt.Println("\tsignify -V [-eqz] [-p pubkey] [-t keytype] [-x sigfile] -m message") os.Exit(2) } @@ -62,41 +24,24 @@ func fatal(err error) { } func main() { - flag.Parse() - - mode := new(Mode) - - if *embedded && *gzip { - fatal(ErrEZ) - } - - if *generate { - mode.Set(ModeGenerate) - } - - if *checksum { - mode.Set(ModeCheck) - } - - if *sign { - mode.Set(ModeSign) - } - - if *verify { - mode.Set(ModeVerify) + if len(os.Args) < 2 { + usage() } - - switch *mode { - case ModeGenerate: - if err := Generate(*pub, *sec, *comment, *nopass); err != nil { + switch os.Args[1] { + case "-C", "check": + if err := Check(); err != nil { + fatal(err) + } + case "-G", "generate": + if err := Generate(); err != nil { fatal(err) } - case ModeSign: - if err := Sign(*msg, *sec, *embedded); err != nil { + case "-S", "sign": + if err := Sign(); err != nil { fatal(err) } - case ModeVerify: - if err := Verify(*msg, *pub, *quiet); err != nil { + case "-V", "verify": + if err := Verify(); err != nil { fatal(err) } default: -- cgit v1.2.3