]> Cypherpunks.ru repositories - nncp.git/commitdiff
Ability to override path to configuration file via envvar
authorSergey Matveev <stargrave@stargrave.org>
Thu, 12 Jan 2017 08:43:54 +0000 (11:43 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 12 Jan 2017 08:43:54 +0000 (11:43 +0300)
13 files changed:
doc/cmds.texi
src/cypherpunks.ru/nncp/cfg.go
src/cypherpunks.ru/nncp/cmd/nncp-call/main.go
src/cypherpunks.ru/nncp/cmd/nncp-check/main.go
src/cypherpunks.ru/nncp/cmd/nncp-daemon/main.go
src/cypherpunks.ru/nncp/cmd/nncp-file/main.go
src/cypherpunks.ru/nncp/cmd/nncp-freq/main.go
src/cypherpunks.ru/nncp/cmd/nncp-log/main.go
src/cypherpunks.ru/nncp/cmd/nncp-mail/main.go
src/cypherpunks.ru/nncp/cmd/nncp-pkt/main.go
src/cypherpunks.ru/nncp/cmd/nncp-stat/main.go
src/cypherpunks.ru/nncp/cmd/nncp-toss/main.go
src/cypherpunks.ru/nncp/cmd/nncp-xfer/main.go

index 70b089fab3b047f490e2795e0a384ab300c147f9..04eb205e78df3d725250d131f981e44002f5d3af 100644 (file)
@@ -4,6 +4,9 @@
 Nearly all commands have the following common options:
 
 @table @code
+@item -cfg
+    Path to configuration file. May be overrided by @code{NNCPCFG}
+    environment variable.
 @item -debug
     Print debug messages. Normally this option should not be used.
 @item -nice
index 661a6b6f8b31c6ec6d54e262e566307435ba6b4c..c69c523d688402a3c2b6e599d7a694bdd405b86d 100644 (file)
@@ -20,12 +20,17 @@ package nncp
 
 import (
        "errors"
+       "os"
        "path"
 
        "golang.org/x/crypto/ed25519"
        "gopkg.in/yaml.v2"
 )
 
+const (
+       CfgPathEnv = "NNCPCFG"
+)
+
 var (
        DefaultCfgPath      string = "/usr/local/etc/nncp.yaml"
        DefaultSendmailPath string = "/usr/sbin/sendmail"
@@ -284,3 +289,11 @@ func CfgParse(data []byte) (*Ctx, error) {
        }
        return &ctx, nil
 }
+
+func CfgPathFromEnv(cmdlineFlag *string) (p string) {
+       p = os.Getenv(CfgPathEnv)
+       if p == "" {
+               p = *cmdlineFlag
+       }
+       return
+}
index 36f3ff713da856c87197ddeeba5b24748999b6d9..236d445b552e074f086211eccc5425a2a4386066 100644 (file)
@@ -73,7 +73,7 @@ func main() {
                log.Fatalln("-rx and -tx can not be set simultaneously")
        }
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index cd8268ee7cb33b98700af5c4638c671b11e4bde2..2c06b1425e93169989e0b2dac2c427c6ccc6b802 100644 (file)
@@ -56,7 +56,7 @@ func main() {
                return
        }
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index c14f4bac7ec2c124a7f9d46ce0e83f959725940b..b639d10446990059b7283096145cc59e10ec668f 100644 (file)
@@ -65,7 +65,7 @@ func main() {
        }
        nice := uint8(*niceRaw)
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 46728ea26c1d4a60bb0d5ac968971b9206e182a7..c17d5f339ce8d9d0845dd36847a7cdff44ca3987 100644 (file)
@@ -65,7 +65,7 @@ func main() {
        }
        nice := uint8(*niceRaw)
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 260c599bb2e95e4e6a28cc92538e8beac1041bdc..ebfa82d3463ef0cafe5b725fcaf02c0f55dd71ab 100644 (file)
@@ -65,7 +65,7 @@ func main() {
        }
        nice := uint8(*niceRaw)
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 9a4f5307e33eee9c999549eb173b0919564324ad..653f213b7977049d1985fc99d9d172c97c435de2 100644 (file)
@@ -55,7 +55,7 @@ func main() {
                return
        }
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index f23877ba91b24e53a5e6e65be7ed7a3eaae43f99..ab0d0ad1563db273ed39e9f4e04be2b4106a212b 100644 (file)
@@ -67,7 +67,7 @@ func main() {
        }
        nice := uint8(*niceRaw)
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 674381e222c43a67da6bab638b00e6c7f8741c91..f11b1b8a3d4bbcd6b516c7de52dd2f1efe0c0c1f 100644 (file)
@@ -104,7 +104,7 @@ func main() {
        _, err = xdr.Unmarshal(bytes.NewReader(beginning), &pktEnc)
        if err == nil && pktEnc.Magic == nncp.MagicNNCPEv1 {
                if *dump {
-                       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+                       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
                        if err != nil {
                                log.Fatalln("Can not read config:", err)
                        }
index 36cc1cb29262d0a43c8134d0e846755648e73571..f5b02875ef36675e213faccc6767c8b4ada10674 100644 (file)
@@ -56,7 +56,7 @@ func main() {
                return
        }
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 9b50866e8198cc78330a459835fc6fc3751f781b..5fd73b3f6afd2728c8aa058da0e1949c0a4a2482 100644 (file)
@@ -62,7 +62,7 @@ func main() {
        }
        nice := uint8(*niceRaw)
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }
index 669eadc7a1e52cedc543448f9114b4b9a7bda1aa..9c2b5e211efd96eaaa8acd1fbed765e3bcb41403 100644 (file)
@@ -77,7 +77,7 @@ func main() {
                log.Fatalln("-rx and -tx can not be set simultaneously")
        }
 
-       cfgRaw, err := ioutil.ReadFile(*cfgPath)
+       cfgRaw, err := ioutil.ReadFile(nncp.CfgPathFromEnv(cfgPath))
        if err != nil {
                log.Fatalln("Can not read config:", err)
        }