]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/govpn/cmd/govpn-server/conf.go
Check that specified MTUs are not greater than MTUMax
[govpn.git] / src / govpn / cmd / govpn-server / conf.go
index 67ee695bcf753fa59a069418ce0949d7f5be3a4b..fcee362127f182a528c91796f555917f99a987c4 100644 (file)
@@ -33,7 +33,7 @@ const (
 
 var (
        confs    map[govpn.PeerId]*govpn.PeerConf
-       idsCache govpn.CipherCache
+       idsCache *govpn.CipherCache
 )
 
 func confRead() map[govpn.PeerId]*govpn.PeerConf {
@@ -53,18 +53,27 @@ func confRead() map[govpn.PeerId]*govpn.PeerConf {
                if err != nil {
                        log.Fatalln("Unable to decode the key:", err.Error(), pc.VerifierRaw)
                }
-               if pc.EncLess {
+               if pc.Encless {
                        pc.Noise = true
                }
+               if pc.MTU == 0 {
+                       pc.MTU = govpn.MTUDefault
+               }
+               if pc.MTU > govpn.MTUMax {
+                       log.Println("MTU value", pc.MTU, "is too high, overriding to", govpn.MTUMax)
+                       pc.MTU = govpn.MTUMax
+               }
                conf := govpn.PeerConf{
                        Verifier: verifier,
                        Id:       verifier.Id,
                        Name:     name,
+                       Iface:    pc.Iface,
+                       MTU:      pc.MTU,
                        Up:       pc.Up,
                        Down:     pc.Down,
                        Noise:    pc.Noise,
                        CPR:      pc.CPR,
-                       EncLess:  pc.EncLess,
+                       Encless:  pc.Encless,
                }
                if pc.TimeoutInt <= 0 {
                        pc.TimeoutInt = govpn.TimeoutDefault