X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fgovpn%2Fcmd%2Fgovpn-client%2Fmain.go;h=09b06ca44c753c894357f5b6ebf27fb27e6e5500;hb=9364defa689e91c6fb54651876fbf2d02eec35ec;hp=8ebb78dcc95da7c9276e387df69b3be6f5b6c544;hpb=17c2f7327a0178dd61a8a2afa26a0dda383154a9;p=govpn.git diff --git a/src/govpn/cmd/govpn-client/main.go b/src/govpn/cmd/govpn-client/main.go index 8ebb78d..09b06ca 100644 --- a/src/govpn/cmd/govpn-client/main.go +++ b/src/govpn/cmd/govpn-client/main.go @@ -31,21 +31,21 @@ import ( ) var ( - remoteAddr = flag.String("remote", "", "Remote server address") - proto = flag.String("proto", "udp", "Protocol to use: udp or tcp") - ifaceName = flag.String("iface", "tap0", "TAP network interface") - IDRaw = flag.String("id", "", "Client identification") - keyPath = flag.String("key", "", "Path to passphrase file") - upPath = flag.String("up", "", "Path to up-script") - downPath = flag.String("down", "", "Path to down-script") - stats = flag.String("stats", "", "Enable stats retrieving on host:port") - proxyAddr = flag.String("proxy", "", "Use HTTP proxy on host:port") - proxyAuth = flag.String("proxy-auth", "", "user:password Basic proxy auth") - mtu = flag.Int("mtu", 1452, "MTU for outgoing packets") - timeoutP = flag.Int("timeout", 60, "Timeout seconds") - noisy = flag.Bool("noise", false, "Enable noise appending") - cpr = flag.Int("cpr", 0, "Enable constant KiB/sec out traffic rate") - egdPath = flag.String("egd", "", "Optional path to EGD socket") + remoteAddr = flag.String("remote", "", "Remote server address") + proto = flag.String("proto", "udp", "Protocol to use: udp or tcp") + ifaceName = flag.String("iface", "tap0", "TAP network interface") + verifierRaw = flag.String("verifier", "", "Verifier") + keyPath = flag.String("key", "", "Path to passphrase file") + upPath = flag.String("up", "", "Path to up-script") + downPath = flag.String("down", "", "Path to down-script") + stats = flag.String("stats", "", "Enable stats retrieving on host:port") + proxyAddr = flag.String("proxy", "", "Use HTTP proxy on host:port") + proxyAuth = flag.String("proxy-auth", "", "user:password Basic proxy auth") + mtu = flag.Int("mtu", 1452, "MTU for outgoing packets") + timeoutP = flag.Int("timeout", 60, "Timeout seconds") + noisy = flag.Bool("noise", false, "Enable noise appending") + cpr = flag.Int("cpr", 0, "Enable constant KiB/sec out traffic rate") + egdPath = flag.String("egd", "", "Optional path to EGD socket") conf *govpn.PeerConf tap *govpn.TAP @@ -63,26 +63,25 @@ func main() { govpn.MTU = *mtu - id, err := govpn.IDDecode(*IDRaw) - if err != nil { - log.Fatalln(err) - } - if *egdPath != "" { log.Println("Using", *egdPath, "EGD") govpn.EGDInit(*egdPath) } - pub, priv := govpn.NewVerifier(id, govpn.StringFromFile(*keyPath)) + verifier, err := govpn.VerifierFromString(*verifierRaw) + if err != nil { + log.Fatalln(err) + } + priv := verifier.PasswordApply(govpn.StringFromFile(*keyPath)) conf = &govpn.PeerConf{ - Id: id, - Timeout: time.Second * time.Duration(timeout), - Noise: *noisy, - CPR: *cpr, - DSAPub: pub, - DSAPriv: priv, + Id: verifier.Id, + Timeout: time.Second * time.Duration(timeout), + Noise: *noisy, + CPR: *cpr, + Verifier: verifier, + DSAPriv: priv, } - idsCache = govpn.NewCipherCache([]govpn.PeerId{*id}) + idsCache = govpn.NewCipherCache([]govpn.PeerId{*verifier.Id}) log.Println(govpn.VersionGet()) tap, err = govpn.TAPListen(*ifaceName)