/*
NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2017 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2016-2019 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
"sync"
"github.com/flynn/noise"
- "github.com/gorhill/cronexpr"
"golang.org/x/crypto/blake2b"
"golang.org/x/crypto/ed25519"
"golang.org/x/crypto/nacl/box"
ExchPub *[32]byte
SignPub ed25519.PublicKey
NoisePub *[32]byte
- Sendmail []string
+ Exec map[string][]string
Incoming *string
Freq *string
FreqChunked int64
FreqMinSize int64
Via []*NodeId
Addrs map[string]string
+ RxRate int
+ TxRate int
OnlineDeadline uint
MaxOnlineTime uint
Calls []*Call
NoisePrv *[32]byte
}
-type Call struct {
- Cron *cronexpr.Expression
- Nice uint8
- Xx *TRxTx
- Addr *string
- OnlineDeadline uint
- MaxOnlineTime uint
-}
-
func NewNodeGenerate() (*NodeOur, error) {
exchPub, exchPrv, err := box.GenerateKey(rand.Reader)
if err != nil {
if err != nil {
return nil, err
}
- noiseKey := noise.DH25519.GenerateKeypair(rand.Reader)
+ noiseKey, err := noise.DH25519.GenerateKeypair(rand.Reader)
+ if err != nil {
+ return nil, err
+ }
noisePub := new([32]byte)
noisePrv := new([32]byte)
copy(noisePrv[:], noiseKey.Private)