]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/govpn/cmd/govpn-client/main.go
Use ssh/terminal package for reading passwords directly from terminal
[govpn.git] / src / govpn / cmd / govpn-client / main.go
index 7c4514ef9a92ce163347f646b3085136fed7b45f..e73854cb482e1246fdfa96fdb1188de17e69ecf1 100644 (file)
@@ -53,7 +53,7 @@ var (
        timeout     int
        firstUpCall bool = true
        knownPeers  govpn.KnownPeers
-       idsCache    govpn.CipherCache
+       idsCache    *govpn.CipherCache
 )
 
 func main() {
@@ -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)
@@ -71,7 +74,11 @@ func main() {
        if err != nil {
                log.Fatalln(err)
        }
-       priv := verifier.PasswordApply(govpn.StringFromFile(*keyPath))
+       key, err := govpn.KeyRead(*keyPath)
+       if err != nil {
+               log.Fatalln("Unable to read the key", err)
+       }
+       priv := verifier.PasswordApply(key)
        if *encless {
                if *proto != "tcp" {
                        log.Fatalln("Currently encryptionless mode works only with TCP")