summaryrefslogtreecommitdiff
path: root/exports/exports.go
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2023-01-13 13:56:26 +0100
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2023-01-13 13:57:29 +0100
commitb320b13b5d019c26928d2f00d8cba0febacb104b (patch)
tree1622ea3088dc933944867c26b141227f6fa6e28f /exports/exports.go
parent26abec61db10c3b86d9d168f093d4e5a75cc8783 (diff)
Client + Exports: Separate cleanup from disconnect
Diffstat (limited to 'exports/exports.go')
-rw-r--r--exports/exports.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/exports/exports.go b/exports/exports.go
index 89d18dc..5a17da0 100644
--- a/exports/exports.go
+++ b/exports/exports.go
@@ -414,8 +414,8 @@ func SetSearchServer(name *C.char) *C.error {
return getError(setSearchErr)
}
-//export SetDisconnected
-func SetDisconnected(name *C.char, cleanup C.int, prevTokens C.token) *C.error {
+//export Cleanup
+func Cleanup(name *C.char, prevTokens C.token) *C.error {
nameStr := C.GoString(name)
state, stateErr := GetVPNState(nameStr)
if stateErr != nil {
@@ -426,7 +426,18 @@ func SetDisconnected(name *C.char, cleanup C.int, prevTokens C.token) *C.error {
Refresh: C.GoString(prevTokens.refresh),
ExpiredTimestamp: time.Unix(int64(prevTokens.expired), 0),
}
- setDisconnectedErr := state.SetDisconnected(int(cleanup) == 1, t)
+ err := state.Cleanup(t)
+ return getError(err)
+}
+
+//export SetDisconnected
+func SetDisconnected(name *C.char) *C.error {
+ nameStr := C.GoString(name)
+ state, stateErr := GetVPNState(nameStr)
+ if stateErr != nil {
+ return getError(stateErr)
+ }
+ setDisconnectedErr := state.SetDisconnected()
return getError(setDisconnectedErr)
}