/*
GoVPN -- simple secure free software virtual private network daemon
-Copyright (C) 2014-2016 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2014-2017 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
syslog = flag.Bool("syslog", false, "Enable logging to syslog")
version = flag.Bool("version", false, "Print version information")
warranty = flag.Bool("warranty", false, "Print warranty information")
- protocol client.Protocol
- err error
+ protocol client.Protocol
+ err error
)
flag.Parse()
}
if *proxyAddr != "" && protocol == client.ProtocolUDP {
- log.Println("Proxy is supported for TCP only, switch")
- protocol = client.ProtocolTCP
+ log.Fatalln("HTTP proxy is supported only in TCP mode")
}
if *verifierRaw == "" {
if protocol != client.ProtocolTCP {
log.Fatalln("Currently encryptionless mode works only with TCP")
}
- if !*noisy {
- log.Println("-encless is on, force -noisy mode")
- *noisy = true
- }
+ *noisy = true
}
conf := client.Configuration{
PrivateKey: priv,
Peer: &govpn.PeerConf{
- Id: verifier.Id,
+ ID: verifier.ID,
Iface: *ifaceName,
MTU: *mtu,
Timeout: time.Second * time.Duration(*timeoutP),
Verifier: verifier,
DSAPriv: priv,
},
- Protocol: protocol,
- InterfaceName: *ifaceName,
- ProxyAddress: *proxyAddr,
+ Protocol: protocol,
+ InterfaceName: *ifaceName,
+ ProxyAddress: *proxyAddr,
ProxyAuthentication: *proxyAuth,
- RemoteAddress: *remoteAddr,
- UpPath: *upPath,
- DownPath: *downPath,
- StatsAddress: *stats,
- NoReconnect: *noreconnect,
- MTU: *mtu,
+ RemoteAddress: *remoteAddr,
+ UpPath: *upPath,
+ DownPath: *downPath,
+ StatsAddress: *stats,
+ NoReconnect: *noreconnect,
+ MTU: *mtu,
}
if err = conf.Validate(); err != nil {
log.Fatalln("Invalid settings:", err)
signal.Notify(termSignal, os.Interrupt, os.Kill)
c := client.NewClient(conf, verifier, termSignal)
go c.MainCycle()
- if err := <-c.Error; err != nil {
+ if err = <-c.Error; err != nil {
log.Fatalln(err)
- } else {
- log.Println("Closed VPN tunnel")
}
}