]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/cmd/govpn-server/main.go
Execute all down script when server is terminated
[govpn.git] / src / cypherpunks.ru / govpn / cmd / govpn-server / main.go
index 886b8a812b365dae21960e36232e4d18b0e6618f..5cddab87cea5d85efa7cb33bfb8109706a9ed995 100644 (file)
@@ -89,6 +89,14 @@ MainCycle:
        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()
@@ -115,6 +123,7 @@ MainCycle:
                                        go govpn.ScriptCall(
                                                confs[*ps.peer.Id].Down,
                                                ps.tap.Name,
+                                               ps.peer.Addr,
                                        )
                                        ps.terminator <- struct{}{}
                                }