From cf77814e44502cf140f063b022b662d7cc7be66d Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 6 Jan 2016 15:13:09 +0300 Subject: [PATCH] Check that specified MTUs are not greater than MTUMax Signed-off-by: Sergey Matveev --- src/govpn/cmd/govpn-client/main.go | 3 +++ src/govpn/cmd/govpn-server/conf.go | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/src/govpn/cmd/govpn-client/main.go b/src/govpn/cmd/govpn-client/main.go index c7417f4..c441405 100644 --- a/src/govpn/cmd/govpn-client/main.go +++ b/src/govpn/cmd/govpn-client/main.go @@ -62,6 +62,9 @@ func main() { var err error log.SetFlags(log.Ldate | log.Lmicroseconds | log.Lshortfile) + if *mtu > govpn.MTUMax { + log.Fatalln("Maximum allowable MTU is", govpn.MTUMax) + } if *egdPath != "" { log.Println("Using", *egdPath, "EGD") govpn.EGDInit(*egdPath) diff --git a/src/govpn/cmd/govpn-server/conf.go b/src/govpn/cmd/govpn-server/conf.go index 6d78d8f..fcee362 100644 --- a/src/govpn/cmd/govpn-server/conf.go +++ b/src/govpn/cmd/govpn-server/conf.go @@ -59,6 +59,10 @@ func confRead() map[govpn.PeerId]*govpn.PeerConf { 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, -- 2.44.0