/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2020 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2021 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"os"
"path"
"strconv"
+ "time"
"github.com/gorhill/cronexpr"
"github.com/hjson/hjson-go"
return nil, err
}
- exchPub, err := FromBase32(cfg.ExchPub)
+ exchPub, err := Base32Codec.DecodeString(cfg.ExchPub)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid exchPub size")
}
- signPub, err := FromBase32(cfg.SignPub)
+ signPub, err := Base32Codec.DecodeString(cfg.SignPub)
if err != nil {
return nil, err
}
var noisePub []byte
if cfg.NoisePub != nil {
- noisePub, err = FromBase32(*cfg.NoisePub)
+ noisePub, err = Base32Codec.DecodeString(*cfg.NoisePub)
if err != nil {
return nil, err
}
defTxRate = *cfg.TxRate
}
- defOnlineDeadline := uint(DefaultDeadline)
+ defOnlineDeadline := DefaultDeadline
if cfg.OnlineDeadline != nil {
if *cfg.OnlineDeadline <= 0 {
return nil, errors.New("OnlineDeadline must be at least 1 second")
}
- defOnlineDeadline = *cfg.OnlineDeadline
+ defOnlineDeadline = time.Duration(*cfg.OnlineDeadline) * time.Second
}
- var defMaxOnlineTime uint
- if yml.MaxOnlineTime != nil {
- defMaxOnlineTime = *yml.MaxOnlineTime
+ var defMaxOnlineTime time.Duration
+ if cfg.MaxOnlineTime != nil {
+ defMaxOnlineTime = time.Duration(*cfg.MaxOnlineTime) * time.Second
}
var calls []*Call
if *callCfg.OnlineDeadline == 0 {
return nil, errors.New("OnlineDeadline must be at least 1 second")
}
- onlineDeadline = *callCfg.OnlineDeadline
+ onlineDeadline = time.Duration(*callCfg.OnlineDeadline) * time.Second
}
- var maxOnlineTime uint
+ var maxOnlineTime time.Duration
if callCfg.MaxOnlineTime != nil {
- maxOnlineTime = *callCfg.MaxOnlineTime
+ maxOnlineTime = time.Duration(*callCfg.MaxOnlineTime) * time.Second
}
calls = append(calls, &Call{
return nil, err
}
- exchPub, err := FromBase32(cfg.ExchPub)
+ exchPub, err := Base32Codec.DecodeString(cfg.ExchPub)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid exchPub size")
}
- exchPrv, err := FromBase32(cfg.ExchPrv)
+ exchPrv, err := Base32Codec.DecodeString(cfg.ExchPrv)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid exchPrv size")
}
- signPub, err := FromBase32(cfg.SignPub)
+ signPub, err := Base32Codec.DecodeString(cfg.SignPub)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid signPub size")
}
- signPrv, err := FromBase32(cfg.SignPrv)
+ signPrv, err := Base32Codec.DecodeString(cfg.SignPrv)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid signPrv size")
}
- noisePub, err := FromBase32(cfg.NoisePub)
+ noisePub, err := Base32Codec.DecodeString(cfg.NoisePub)
if err != nil {
return nil, err
}
return nil, errors.New("Invalid noisePub size")
}
- noisePrv, err := FromBase32(cfg.NoisePrv)
+ noisePrv, err := Base32Codec.DecodeString(cfg.NoisePrv)
if err != nil {
return nil, err
}
func CfgParse(data []byte) (*Ctx, error) {
var err error
if bytes.Compare(data[:8], MagicNNCPBv3[:]) == 0 {
- os.Stderr.WriteString("Passphrase:")
+ os.Stderr.WriteString("Passphrase:") // #nosec G104
password, err := terminal.ReadPassword(0)
if err != nil {
log.Fatalln(err)
}
- os.Stderr.WriteString("\n")
+ os.Stderr.WriteString("\n") // #nosec G104
data, err = DeEBlob(data, password)
if err != nil {
return nil, err