import (
"flag"
+ "fmt"
"log"
"net"
"os"
stats = flag.String("stats", "", "Enable stats retrieving on host:port")
proxy = flag.String("proxy", "", "Enable HTTP proxy on host:port")
egdPath = flag.String("egd", "", "Optional path to EGD socket")
+ warranty = flag.Bool("warranty", false, "Print warranty information")
)
func main() {
flag.Parse()
+ if *warranty {
+ fmt.Println(govpn.Warranty)
+ return
+ }
timeout := time.Second * time.Duration(govpn.TimeoutDefault)
log.SetFlags(log.Ldate | log.Lmicroseconds | log.Lshortfile)
log.Println(govpn.VersionGet())
for {
select {
case <-termSignal:
+ log.Println("Terminating")
+ for _, ps := range peers {
+ govpn.ScriptCall(
+ confs[*ps.peer.Id].Down,
+ ps.tap.Name,
+ ps.peer.Addr,
+ )
+ }
break MainCycle
case <-hsHeartbeat:
now := time.Now()
go govpn.ScriptCall(
confs[*ps.peer.Id].Down,
ps.tap.Name,
+ ps.peer.Addr,
)
ps.terminator <- struct{}{}
}