summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkali <kali@leap.se>2021-02-03 22:49:03 +0100
committerkali kaneko (leap communications) <kali@leap.se>2021-02-08 23:32:19 +0100
commit44c69b1e73aa1d408f8b0567bd5d910728e31c3c (patch)
tree6fc0882e7ecce23fe66c640ce9b3e960b3a287b8
parenta7dcea9a6e6e5b4b2eccc2ed0d6803c8408ffd0e (diff)
[bug] fix segfault in osx with activation
this is a regression that was introduced with previous changes to the menus in windows. activation segfaults in linux and osx, so capture the event only for windows. did not investigate further about the causes, but it seems like a good workaround for the time being.
-rw-r--r--gui/providers/providers.json2
-rw-r--r--gui/qml/main.qml9
-rw-r--r--pkg/backend/status.go5
3 files changed, 12 insertions, 4 deletions
diff --git a/gui/providers/providers.json b/gui/providers/providers.json
index 4733a3e..2891855 100644
--- a/gui/providers/providers.json
+++ b/gui/providers/providers.json
@@ -15,7 +15,7 @@
"apiURL": "https://api.black.riseup.net/",
"geolocationAPI": "https://api.black.riseup.net:9001/json",
"caCertString": "-----BEGIN CERTIFICATE-----\nMIIFjTCCA3WgAwIBAgIBATANBgkqhkiG9w0BAQ0FADBZMRgwFgYDVQQKDA9SaXNl\ndXAgTmV0d29ya3MxGzAZBgNVBAsMEmh0dHBzOi8vcmlzZXVwLm5ldDEgMB4GA1UE\nAwwXUmlzZXVwIE5ldHdvcmtzIFJvb3QgQ0EwHhcNMTQwNDI4MDAwMDAwWhcNMjQw\nNDI4MDAwMDAwWjBZMRgwFgYDVQQKDA9SaXNldXAgTmV0d29ya3MxGzAZBgNVBAsM\nEmh0dHBzOi8vcmlzZXVwLm5ldDEgMB4GA1UEAwwXUmlzZXVwIE5ldHdvcmtzIFJv\nb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC76J4ciMJ8Sg0m\nTP7DF2DT9zNe0Csk4myoMFC57rfJeqsAlJCv1XMzBmXrw8wq/9z7XHv6n/0sWU7a\n7cF2hLR33ktjwODlx7vorU39/lXLndo492ZBhXQtG1INMShyv+nlmzO6GT7ESfNE\nLliFitEzwIegpMqxCIHXFuobGSCWF4N0qLHkq/SYUMoOJ96O3hmPSl1kFDRMtWXY\niw1SEKjUvpyDJpVs3NGxeLCaA7bAWhDY5s5Yb2fA1o8ICAqhowurowJpW7n5ZuLK\n5VNTlNy6nZpkjt1QycYvNycffyPOFm/Q/RKDlvnorJIrihPkyniV3YY5cGgP+Qkx\nHUOT0uLA6LHtzfiyaOqkXwc4b0ZcQD5Vbf6Prd20Ppt6ei0zazkUPwxld3hgyw58\nm/4UIjG3PInWTNf293GngK2Bnz8Qx9e/6TueMSAn/3JBLem56E0WtmbLVjvko+LF\nPM5xA+m0BmuSJtrD1MUCXMhqYTtiOvgLBlUm5zkNxALzG+cXB28k6XikXt6MRG7q\nhzIPG38zwkooM55yy5i1YfcIi5NjMH6A+t4IJxxwb67MSb6UFOwg5kFokdONZcwj\nshczHdG9gLKSBIvrKa03Nd3W2dF9hMbRu//STcQxOailDBQCnXXfAATj9pYzdY4k\nha8VCAREGAKTDAex9oXf1yRuktES4QIDAQABo2AwXjAdBgNVHQ4EFgQUC4tdmLVu\nf9hwfK4AGliaet5KkcgwDgYDVR0PAQH/BAQDAgIEMAwGA1UdEwQFMAMBAf8wHwYD\nVR0jBBgwFoAUC4tdmLVuf9hwfK4AGliaet5KkcgwDQYJKoZIhvcNAQENBQADggIB\nAGzL+GRnYu99zFoy0bXJKOGCF5XUXP/3gIXPRDqQf5g7Cu/jYMID9dB3No4Zmf7v\nqHjiSXiS8jx1j/6/Luk6PpFbT7QYm4QLs1f4BlfZOti2KE8r7KRDPIecUsUXW6P/\n3GJAVYH/+7OjA39za9AieM7+H5BELGccGrM5wfl7JeEz8in+V2ZWDzHQO4hMkiTQ\n4ZckuaL201F68YpiItBNnJ9N5nHr1MRiGyApHmLXY/wvlrOpclh95qn+lG6/2jk7\n3AmihLOKYMlPwPakJg4PYczm3icFLgTpjV5sq2md9bRyAg3oPGfAuWHmKj2Ikqch\nTd5CHKGxEEWbGUWEMP0s1A/JHWiCbDigc4Cfxhy56CWG4q0tYtnc2GMw8OAUO6Wf\nXu5pYKNkzKSEtT/MrNJt44tTZWbKV/Pi/N2Fx36my7TgTUj7g3xcE9eF4JV2H/sg\ntsK3pwE0FEqGnT4qMFbixQmc8bGyuakr23wjMvfO7eZUxBuWYR2SkcP26sozF9PF\ntGhbZHQVGZUTVPyvwahMUEhbPGVerOW0IYpxkm0x/eaWdTc4vPpf/rIlgbAjarnJ\nUN9SaWRlWKSdP4haujnzCoJbM7dU9bjvlGZNyXEekgeT0W2qFeGGp+yyUWw8tNsp\n0BuC1b7uW/bBn/xKm319wXVDvBgZgcktMolak39V7DVO\n-----END CERTIFICATE-----",
- "timeStamp": "2020-11-03 19:53:36"
+ "timeStamp": "2020-11-30 22:04:27"
}
]
} \ No newline at end of file
diff --git a/gui/qml/main.qml b/gui/qml/main.qml
index 17fb005..5d431bd 100644
--- a/gui/qml/main.qml
+++ b/gui/qml/main.qml
@@ -142,19 +142,20 @@ ApplicationWindow {
break
case SystemTrayIcon.Context:
console.debug("activated: context")
- if (Qt.platform.os !== "linux") {
+ /* segfaults in osx and linux */
+ if (Qt.platform.os === "windows") {
menu.open()
}
break
case SystemTrayIcon.DoubleClick:
console.debug("activated: double click")
- if (Qt.platform.os !== "linux") {
+ if (Qt.platform.os === "windows") {
menu.open()
}
break
case SystemTrayIcon.Trigger:
console.debug("activated: left click")
- if (Qt.platform.os !== "linux") {
+ if (Qt.platform.os === "windows") {
menu.open()
}
break
@@ -180,12 +181,14 @@ ApplicationWindow {
// Helper to show notification messages
function showNotification(msg) {
console.log("Going to show notification message: ", msg);
+ /*
if (supportsMessages) {
let appname = ctx ? ctx.appName: "VPN";
showMessage(appname, msg, null, 15000);
} else {
console.log("System doesn't support systray notifications");
}
+ */
}
menu: Menu {
diff --git a/pkg/backend/status.go b/pkg/backend/status.go
index ffa79fc..f793e2f 100644
--- a/pkg/backend/status.go
+++ b/pkg/backend/status.go
@@ -5,6 +5,7 @@ import (
"encoding/json"
"log"
"sync"
+ "fmt" // DEBUG
"0xacab.org/leap/bitmask-vpn/pkg/bitmask"
"0xacab.org/leap/bitmask-vpn/pkg/config"
@@ -19,6 +20,7 @@ const (
)
var statusMutex sync.Mutex
+var updateMutex sync.Mutex
// ctx will be our glorious global object.
// if we ever switch again to a provider-agnostic app, we should keep a map here.
@@ -55,10 +57,13 @@ func (c connectionCtx) toJson() ([]byte, error) {
log.Println(err)
return nil, err
}
+ fmt.Println(">>> ctx toJson done")
return b, nil
}
func (c connectionCtx) updateStatus() {
+ updateMutex.Lock()
+ defer updateMutex.Unlock()
if stStr, err := c.bm.GetStatus(); err != nil {
log.Printf("Error getting status: %v", err)
} else {