From 2ebc6996a24aa995e3633eacc03099a627516311 Mon Sep 17 00:00:00 2001 From: Jakob Borg Date: Thu, 5 May 2016 19:05:45 +0000 Subject: [PATCH] cmd/stsigtool: Sign stdin when not given a file to sign, or when given "-" GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3041 --- cmd/stsigtool/main.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/cmd/stsigtool/main.go b/cmd/stsigtool/main.go index e0688d4d..10969a98 100644 --- a/cmd/stsigtool/main.go +++ b/cmd/stsigtool/main.go @@ -8,6 +8,7 @@ package main import ( "flag" + "io" "io/ioutil" "log" "os" @@ -31,7 +32,7 @@ Where command is one of: gen - generate a new key pair - sign + sign [datafile] - sign a file verify @@ -72,13 +73,19 @@ func sign(keyname, dataname string) { log.Fatal(err) } - fd, err := os.Open(dataname) - if err != nil { - log.Fatal(err) + var input io.Reader + if dataname == "-" || dataname == "" { + input = os.Stdin + } else { + fd, err := os.Open(dataname) + if err != nil { + log.Fatal(err) + } + defer fd.Close() + input = fd } - defer fd.Close() - sig, err := signature.Sign(privkey, fd) + sig, err := signature.Sign(privkey, input) if err != nil { log.Fatal(err) }