]> Cypherpunks.ru repositories - nncp.git/blobdiff - src/cypherpunks.ru/nncp/cfg.go
Merge branch 'develop'
[nncp.git] / src / cypherpunks.ru / nncp / cfg.go
index 381f7dec5abd0b6591565293720c4ea98a9cfa8d..bcd547ec91c5e13cbc6052d69c6164e35e9c3f6f 100644 (file)
@@ -1,6 +1,6 @@
 /*
 NNCP -- Node to Node copy, utilities for store-and-forward data exchange
-Copyright (C) 2016-2018 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
@@ -67,7 +67,7 @@ type NodeYAML struct {
 
 type CallYAML struct {
        Cron           string
-       Nice           *int    `yaml:"nice,omitempty"`
+       Nice           *string `yaml:"nice,omitempty"`
        Xx             string  `yaml:"xx,omitempty"`
        RxRate         *int    `yaml:"rxrate,omitempty"`
        TxRate         *int    `yaml:"txrate,omitempty"`
@@ -197,10 +197,10 @@ func NewNode(name string, yml NodeYAML) (*Node, error) {
 
                nice := uint8(255)
                if callYml.Nice != nil {
-                       if *callYml.Nice < 1 || *callYml.Nice > 255 {
-                               return nil, errors.New("Nice must be between 1 and 255")
+                       nice, err = NicenessParse(*callYml.Nice)
+                       if err != nil {
+                               return nil, err
                        }
-                       nice = uint8(*callYml.Nice)
                }
 
                var xx TRxTx
@@ -214,12 +214,12 @@ func NewNode(name string, yml NodeYAML) (*Node, error) {
                        return nil, errors.New("xx field must be either \"rx\" or \"tx\"")
                }
 
-               rxRate := 0
-               if callYml.RxRate != nil && *callYml.RxRate > 0 {
+               rxRate := defRxRate
+               if callYml.RxRate != nil {
                        rxRate = *callYml.RxRate
                }
-               txRate := 0
-               if callYml.TxRate != nil && *callYml.TxRate > 0 {
+               txRate := defTxRate
+               if callYml.TxRate != nil {
                        txRate = *callYml.TxRate
                }
 
@@ -371,7 +371,7 @@ func (nodeOur *NodeOur) ToYAML() string {
 
 func CfgParse(data []byte) (*Ctx, error) {
        var err error
-       if bytes.Compare(data[:8], MagicNNCPBv2[:]) == 0 {
+       if bytes.Compare(data[:8], MagicNNCPBv3[:]) == 0 {
                os.Stderr.WriteString("Passphrase:")
                password, err := terminal.ReadPassword(0)
                if err != nil {