summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkali kaneko (leap communications) <kali@leap.se>2020-06-17 19:40:24 +0200
committerkali kaneko (leap communications) <kali@leap.se>2020-06-26 12:13:43 +0200
commit9b8009cfaf6707d23a20494cd5467aed9c98513b (patch)
tree427ae34f6c32ba1dd4e182ac1def70c700b27e86
parent2bcaa8e89c2e76c2d14cf9f7f029e17d46c91e0f (diff)
[feat] cleanup temp dirs on quit
-rw-r--r--pkg/backend/actions.go21
-rw-r--r--pkg/backend/api.go10
-rw-r--r--pkg/backend/cleanup.go16
3 files changed, 41 insertions, 6 deletions
diff --git a/pkg/backend/actions.go b/pkg/backend/actions.go
new file mode 100644
index 0000000..725a550
--- /dev/null
+++ b/pkg/backend/actions.go
@@ -0,0 +1,21 @@
+package backend
+
+import (
+ "log"
+ "os"
+)
+
+func startVPN() {
+ err := ctx.bm.StartVPN(ctx.Provider)
+ if err != nil {
+ log.Println(err)
+ os.Exit(1)
+ }
+}
+
+func stopVPN() {
+ err := ctx.bm.StopVPN()
+ if err != nil {
+ log.Println(err)
+ }
+}
diff --git a/pkg/backend/api.go b/pkg/backend/api.go
index 5cb0304..74220ed 100644
--- a/pkg/backend/api.go
+++ b/pkg/backend/api.go
@@ -1,4 +1,4 @@
-/* All the exported functions live here */
+/* All the exported functions should be added here */
package backend
@@ -24,7 +24,7 @@ func SwitchOff() {
}
func Unblock() {
- //TODO
+ //TODO -
fmt.Println("unblock... [not implemented]")
}
@@ -34,6 +34,7 @@ func Quit() {
ctx.cfg.SetUserStoppedVPN(true)
stopVPN()
}
+ cleanupTempDirs()
}
func DonateAccepted() {
@@ -51,10 +52,7 @@ func SubscribeToEvent(event string, f unsafe.Pointer) {
func InitializeBitmaskContext() {
p := bitmask.GetConfiguredProvider()
- initOnce.Do(func() {
- initializeContext(
- p.Provider, p.AppName)
- })
+ initOnce.Do(func() { initializeContext(p.Provider, p.AppName) })
go ctx.updateStatus()
go func() {
diff --git a/pkg/backend/cleanup.go b/pkg/backend/cleanup.go
new file mode 100644
index 0000000..77c55e6
--- /dev/null
+++ b/pkg/backend/cleanup.go
@@ -0,0 +1,16 @@
+package backend
+
+import (
+ "log"
+ "os"
+ "path"
+ "path/filepath"
+)
+
+func cleanupTempDirs() {
+ dirs, _ := filepath.Glob(path.Join(os.TempDir(), "leap-*"))
+ for _, d := range dirs {
+ log.Println("removing temp dir:", d)
+ os.RemoveAll(d)
+ }
+}