aboutsummaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-05-02 21:32:42 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-05-02 21:32:42 +0200
commit444eee04084aa9dfc525db9060498876bed47b05 (patch)
treef476c3fd91932ff429814d728507d89a4d2bc858 /main.go
parent4e9762633f173b98c83fc2728bbad5951cc1dd70 (diff)
Split modi
Diffstat (limited to 'main.go')
-rw-r--r--main.go91
1 files changed, 18 insertions, 73 deletions
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: