]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/cmd/govpn-server/conf.go
Raise copyright years
[govpn.git] / src / cypherpunks.ru / govpn / cmd / govpn-server / conf.go
index 131eeba502201fc46f56d077e65113af69a6c8e4..f5b4dd8f8269c470f80bed68f6486f8c3305cf0a 100644 (file)
@@ -1,6 +1,6 @@
 /*
 GoVPN -- simple secure free software virtual private network daemon
-Copyright (C) 2014-2016 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2018 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
@@ -24,7 +24,7 @@ import (
        "log"
        "time"
 
-       "github.com/go-yaml/yaml"
+       "gopkg.in/yaml.v2"
 
        "cypherpunks.ru/govpn"
 )
@@ -34,11 +34,11 @@ const (
 )
 
 var (
-       confs    map[govpn.PeerId]*govpn.PeerConf
-       idsCache *govpn.CipherCache
+       confs    map[govpn.PeerID]*govpn.PeerConf
+       idsCache *govpn.MACCache
 )
 
-func confRead() (*map[govpn.PeerId]*govpn.PeerConf, error) {
+func confRead() (*map[govpn.PeerID]*govpn.PeerConf, error) {
        data, err := ioutil.ReadFile(*confPath)
        if err != nil {
                return nil, err
@@ -49,7 +49,7 @@ func confRead() (*map[govpn.PeerId]*govpn.PeerConf, error) {
                return nil, err
        }
 
-       confs := make(map[govpn.PeerId]*govpn.PeerConf, len(*confsRaw))
+       confs := make(map[govpn.PeerID]*govpn.PeerConf, len(*confsRaw))
        for name, pc := range *confsRaw {
                verifier, err := govpn.VerifierFromString(pc.VerifierRaw)
                if err != nil {
@@ -62,12 +62,12 @@ func confRead() (*map[govpn.PeerId]*govpn.PeerConf, error) {
                        pc.MTU = govpn.MTUDefault
                }
                if pc.MTU > govpn.MTUMax {
-                       log.Println("MTU value", pc.MTU, "is too high, overriding to", govpn.MTUMax)
+                       govpn.Printf(`[mtu-high bind="%s" value="%d" overriden="%d"]`, *bindAddr, pc.MTU, govpn.MTUMax)
                        pc.MTU = govpn.MTUMax
                }
                conf := govpn.PeerConf{
                        Verifier: verifier,
-                       Id:       verifier.Id,
+                       ID:       verifier.ID,
                        Name:     name,
                        Iface:    pc.Iface,
                        MTU:      pc.MTU,
@@ -76,12 +76,13 @@ func confRead() (*map[govpn.PeerId]*govpn.PeerConf, error) {
                        Noise:    pc.Noise,
                        CPR:      pc.CPR,
                        Encless:  pc.Encless,
+                       TimeSync: pc.TimeSync,
                }
                if pc.TimeoutInt <= 0 {
                        pc.TimeoutInt = govpn.TimeoutDefault
                }
                conf.Timeout = time.Second * time.Duration(pc.TimeoutInt)
-               confs[*verifier.Id] = &conf
+               confs[*verifier.ID] = &conf
        }
        return &confs, nil
 }
@@ -89,20 +90,16 @@ func confRead() (*map[govpn.PeerId]*govpn.PeerConf, error) {
 func confRefresh() error {
        newConfs, err := confRead()
        if err != nil {
-               log.Println("Unable to parse peers configuration:", err)
+               govpn.Printf(`[conf-parse-failed bind="%s" err="%s"]`, *bindAddr, err)
                return err
        }
        confs = *newConfs
-       ids := make([]govpn.PeerId, 0, len(confs))
-       for peerId, _ := range confs {
-               ids = append(ids, peerId)
-       }
-       idsCache.Update(ids)
+       idsCache.Update(newConfs)
        return nil
 }
 
 func confInit() {
-       idsCache = govpn.NewCipherCache(nil)
+       idsCache = govpn.NewMACCache()
        if err := confRefresh(); err != nil {
                log.Fatalln(err)
        }