74 lines
1.2 KiB
Go
74 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
|
|
"r00t2.io/vault_totp/internal"
|
|
)
|
|
|
|
func main() {
|
|
|
|
var err error
|
|
var s string
|
|
var doExit bool
|
|
var vaultOk bool
|
|
|
|
log.SetOutput(os.Stdout)
|
|
|
|
if doExit, err = internal.PrepParser("add", args.CommonArgs, parser); err != nil {
|
|
log.Panicln(err)
|
|
}
|
|
if doExit {
|
|
return
|
|
}
|
|
logger = internal.Logger
|
|
|
|
if err = internal.Validate(args); err != nil {
|
|
log.Panicln(err)
|
|
}
|
|
|
|
go readUrls()
|
|
|
|
vaultOk = <-vaultReady
|
|
if !vaultOk {
|
|
log.Panicln("Could not get OK from Vault client.")
|
|
}
|
|
|
|
if args.AddArgs.OtpFile != nil && len(args.AddArgs.OtpFile) > 0 {
|
|
for _, s = range args.AddArgs.OtpFile {
|
|
wg.Add(1)
|
|
go parseOtpFile(s)
|
|
}
|
|
}
|
|
if args.AddArgs.OtpExplicit {
|
|
wg.Add(1)
|
|
go parseExplicit(args.ExplicitOtp)
|
|
}
|
|
if args.AddArgs.OtpUrl != nil && len(args.AddArgs.OtpUrl) > 0 {
|
|
for _, s = range args.AddArgs.OtpUrl {
|
|
wg.Add(1)
|
|
go parseOtpUri(s)
|
|
}
|
|
}
|
|
if args.AddArgs.QrImgPath != nil && len(args.AddArgs.QrImgPath) > 0 {
|
|
for _, s = range args.AddArgs.QrImgPath {
|
|
wg.Add(1)
|
|
go parseQrFile(s)
|
|
}
|
|
}
|
|
if args.AddArgs.SecretService {
|
|
wg.Add(1)
|
|
go parseSs()
|
|
}
|
|
|
|
go func() {
|
|
wg.Wait()
|
|
close(urlChan)
|
|
}()
|
|
|
|
<-doneChan
|
|
|
|
logger.Debug("main: Done.")
|
|
}
|