rename channels and set pubkey bridge key

This commit is contained in:
Jakub
2020-12-21 11:31:50 +01:00
committed by James Houlahan
parent e8cbbaa832
commit 7b84038bf4
9 changed files with 170 additions and 62 deletions

View File

@ -356,7 +356,7 @@ func (s *FrontendQt) qtExecute(Procedure func(*FrontendQt) error) error {
s.Qml.SetIsProxyAllowed(false) s.Qml.SetIsProxyAllowed(false)
} }
if updater.UpdateChannel(s.settings.Get(settings.UpdateChannelKey)) == updater.BetaChannel { if updater.UpdateChannel(s.settings.Get(settings.UpdateChannelKey)) == updater.EarlyChannel {
s.Qml.SetIsEarlyAccess(true) s.Qml.SetIsEarlyAccess(true)
} else { } else {
s.Qml.SetIsEarlyAccess(false) s.Qml.SetIsEarlyAccess(false)
@ -543,11 +543,11 @@ func (s *FrontendQt) toggleAutoUpdate() {
func (s *FrontendQt) toggleEarlyAccess() { func (s *FrontendQt) toggleEarlyAccess() {
defer s.Qml.ProcessFinished() defer s.Qml.ProcessFinished()
if updater.UpdateChannel(s.settings.Get(settings.UpdateChannelKey)) == updater.BetaChannel { if updater.UpdateChannel(s.settings.Get(settings.UpdateChannelKey)) == updater.EarlyChannel {
s.settings.Set(settings.UpdateChannelKey, string(updater.LiveChannel)) s.settings.Set(settings.UpdateChannelKey, string(updater.StableChannel))
s.Qml.SetIsEarlyAccess(false) s.Qml.SetIsEarlyAccess(false)
} else { } else {
s.settings.Set(settings.UpdateChannelKey, string(updater.BetaChannel)) s.settings.Set(settings.UpdateChannelKey, string(updater.EarlyChannel))
s.Qml.SetIsEarlyAccess(true) s.Qml.SetIsEarlyAccess(true)
} }
} }

View File

@ -21,9 +21,9 @@ package updater
type UpdateChannel string type UpdateChannel string
const ( const (
// LiveChannel is the channel all users are subscribed to by default. // StableChannel is the channel all users are subscribed to by default.
LiveChannel UpdateChannel = "live" StableChannel UpdateChannel = "stable"
// BetaChannel is the channel users subscribe to when they enable "Early Access". // EarlyChannel is the channel users subscribe to when they enable "Early Access".
BetaChannel UpdateChannel = "beta" EarlyChannel UpdateChannel = "early"
) )

View File

@ -20,42 +20,149 @@ package updater
// DefaultPublicKey is the public key used to sign builds. // DefaultPublicKey is the public key used to sign builds.
const DefaultPublicKey = `-----BEGIN PGP PUBLIC KEY BLOCK----- const DefaultPublicKey = `-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGNBF/ZKfIBDADbmJNFJvifih7rk6rMGtotwS6UTJh9Lo38dQ8gAetAqOqtdoDf mQINBFo9OeEBEAC+fPrLcUBY+YUc5YiMrYJQ6ogrJWMGC00h9fAv3PsrHkBz0z7c
8CEcRG9LB0LRpKP0jJlBe1QhQ+3iGFMPb0mnBo1EGW5NTjUbZ0wWnLq80Z5Vat9Z QFDyNdNatokFDtZDX115M0vzDwk5NkcjmO7CWbf6nCZcwYqOSrBoH8wNT9uTS/6p
sFuPGxao8GTRLNNghG9UXlQirNKNAgJe3OOWKuYJ24mxZqFd53nG6AUmpXxc+bx9 R3AHk1r3C/36QG3iWx6Wg4ycRkXWYToT3/yh5waE5BbLi/9TSBAdfJzTyxt4IpZG
4zc/OcXhnm8cNE5L0kzIdqD9i1KwRYa+8zqh0YT5zbH06Fl9sBOBBFb+uJm9ICA0 3OTMnOwuz6eNRWVHkA48CJydWS6M8z+jIsBwFq4nOIChvLjIF42PuAT1VaiCYSmy
7HEpfHRYwJMiDXfX9qpHG+aqRj2wPmbkVTBHd3iLdCtaPG/OB4eglQM8ow+yZcRa 4sU1YxxWof5z9HY0XghRpd7aUIgzAIsXUbaEXh/3iCZDUMN5LwkyAn+r5j3SMNzk
j6mP5yTnUELux8tDgtFRsYAsXFTsiYYnXr+7i76suhrYj9RZ9SlLmCOZRn0ulbX9 2htF8V7qWE8ldYNVrpeEwyor0x1wMzpbb/C4Y8wXe8rP01d0ApiHVRETzsQk2esf
ZY3M1vUrWdjYVr0O11KV1llIXdUJd+ypsWmzye7AkzkjK1YO+zujkrxf3/kVPyBJ XuSrBCtpyLc6ET1lluiL2sVUUelAPueUQlOyYXfL2X958i0TgBCi6QRPXxbPjCPs
7clLT90lvu+FsZZPTe4avq3QUyMT9hBthhnOE3slKYTGO+m9phCGVRA0ZMSaaova d1UzLPCSUNUO+/7fslZCax26d1r1kbHzJLAN1Jer6rxoEDaEiVSCUTnHgykCq5rO
snDf7AJOpErCjS8AEQEAAbQyUHJvdG9uTWFpbCBCcmlkZ2UgTGF1bmNoZXIgPGxl C3PScGEdOaIi4H5c6YFZrLmdz409YmJEWLKIPV/u5DpI+YGmAfAevrjkMBgQBOmZ
cG9udEBwcm90b25tYWlsLmNvbT6JAc4EEwEIADgWIQTZQfj0vJ3zJbvXPgwWJ/pj D8Gp19LnRtmqjVh2rVdr8yc5nAjoNOZwanMwD5vCWPUVELWXubNFBv8hqZMxHZqW
8zl8GQUCX9kp8gIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAWJ/pj8zl8 GrB8x8hkdgiNmuyqsxzBmOEJHWLlvbFhvHhIedT8paU/spL/qJmWp3EB4QARAQAB
GUK1DACwnT6r8DiO2IHt4gJ9rVHpAGauRbN5BTxDrA1ywW0rr1TLGO4GBkrkpcXz tExQcm90b24gVGVjaG5vbG9naWVzIEFHIChQcm90b25NYWlsIEJyaWRnZSBkZXZl
0RTTulDEt6YDgtGFiCnUJqeBSiY7ssT7XxEEodG8DU27cH1C922tFwM6H4DECPtR bG9wZXJzKSA8YnJpZGdlQHByb3Rvbm1haWwuY2g+iQJUBBMBCAA+AhsDBQsJCAcC
NrGYbEHFNmZk64ncBs7ER4+sNv7fMbdUj/x25XEGQEzVuG4tiw0H00QfTpkRFJi5 BhUICQoLAgQWAgMBAh4BAheAFiEE1R5k0+Y+3D7veGTO4sddaOYjSwcFAl432eEF
EHT/AC6+MMKC6fuNrTeD4eE488EEEPImCEZ855k3bWQooScqyAKQr30aJuOiqKrY CQXb04AACgkQ4sddaOYjSwd9ww/9FmQa/Fh1lgE9Ug6zQMlr20UDxfCVvE+Hxn4V
/qR9lTldOyi5rMKRK29HmKgkmVG+WGnU+lBPbbeMXDx7Um07rUB84bPVJDmLKLWL OFSWLH+c491BWJMCSI/vm2XJSzjchoeYB+Ns5M/b1tC4orCzbUGb0INpcnNOZPYM
33IW/nfuKw0w0znDCKhyUYR1wlY7xwwXq0+INd/XgmWCsLGSSmYqDv3UYIdx4Uk2 jcMlIqFlMdYzG7ZRFUX3BaMgpb0Xlyk4bLP0FcDIyJuO/53qsi4QNLNqIJOD2IDK
EripTjLJ+/g0BvplHwzTWsJxrxpc3d5sObkxy3c61+mPu4jnRixl+duUWko71c4I mG3z17GCZ+heJcttMzkzihYX6dBOeD2MUhSruTGLzGRstbVntthdpIs9u2jUCPuB
ClnkLb2E1GjHMTNjiX9hkft96+xqfPIaTjuadC81fSqF3/7BlLkDE60C3hYMC/EV qZB2Dw2l1MtqB5UguE7Xxwz9R6xZ7a/P13wCXzVoA0Ud/pkyZ5UgAWapulBrjrCD
Xrq3+Oq5AY0EX9kp8gEMAJi+geuZlkVtQ4JQvR0qKqkIbFUv0Uwhcm8/Dk7dn4Am z4Oqa3DQpscVzex1bkj9Xd9duwBM4BbR5r5432sYiGYV1IByw8oeLQBz6APSIauN
oIxCOK9ZCFxSnEGqMSzNAjfS7JSjKfmzdHUcv9T1axTjFSjRg/rzX48DN9pUghdS LUxXRhKZQwqEVKigMkmofSHdQnoaEylDKKgBJRYhxpkIPY9BIup/83e8Q7wceIYM
uleMcA6fJHPOqNDE15oKgvnfcN2jtQdwDsvek2iMxRw7koyd1Rd+twrSyCjvJk3Y hSJ5GvAPAMi+kWYrUgGqfUlSYNXTgswnvPWQXCHXsy9HCpFcSdsrXQr0kyZlxIGd
Zayfx0FPDZmfmToHcI4NAqDbRrzpDaePMKrcvaqonh/Fn9O/t0il9y7xH9orAbO6 TSIV5hAZZL4cURXdDU+rrNJuA/Pjcebw9aTSNi/LYB+Dv4EsxIUND8d6H5bKCdeN
AMDZgFtDMU38D0zZ9zD2MFj76BdFc4/GtBUB0NHI7PzLHo3+yumLOlEcnH/fQfDz PFO1BXLkcwrTaOk+HNHYlwcM3H4p3MPRMCXaXXVRH1O60Rla2SGAOTuj/Xpv0Bo7
FNsiT8k+1ONmh23vAztXvOY2Wy5ZDs6mfLsTfUvda9kvLL3LOReFpNTFp/fVnUgr 2vfNSQAEk+yHTD1iMy9IxYy/xVHbExp7ErqYARLsmw1enKCdw4h5TbL2ThBTEmje
al4jFodfTJyPsZ5wNqq5KtZAwq6t2BSguCsatrLqzVLNnYVgYAPLuSv5c7DW93zX tNYOlVyJASIEEAECAAwFAlpcl/gFAwASdQAACgkQlxC4m8pXrXzF1ggAoS7luFCm
8k6kfb3NWkjIRvFKf2SOz/hpHjfl6CVRDHncNF4Le51ppbCl5DBx4MFV0WIirpj9 S13Vv2w2GGpWOLcVh/RUcsTU8eUr9DY40rlrKVkX5MBL1yeD/XiIXY5aFlBaKxIq
5B/aBE1exQTNWl8Q7faRlQARAQABiQG2BBgBCAAgFiEE2UH49Lyd8yW71z4MFif6 NPjqu0VBZhaYj6ZuGpAodpattzjNOXWxwFtz2JaUfn2VUrZMbDwY9AQMHab/xxir
Y/M5fBkFAl/ZKfICGwwACgkQFif6Y/M5fBkHGgwAkGKmmjObUKVYM8lcHK+etCro PmezHMee9Y56qnNPIHDh3pZZ18rHrwY4e1pVkR+N0xYTb4M0vw3AhHjboS8H9noq
3OBX8Sxv6Yv7IQr3X6GpmNMJT1Ryk8PfFZv2mEA6NECHtWi6iytLTxcTgKeZqjuj V6ykT5F+3C18G5UBHwyGS/wCXf7xB7mAN4voBZq8NMe3bVae8Lk7xSCuXuzmHZPM
4r5WUwLabLkO2Pb8T372YiDbXHHhlBFdxUcAG4ERwO/QkZkVugOgotTSGXauEhn3 5q6MJB+18HSraKsFRlEJSeESb1JlKS0JnocnHxq7pdvAIw10QCC3ZF7Bu0PGDwUI
SNQTxV4vGbZq+0Aug5ibTuwvUQ5H147rJraQ+XwAgBs0AzE/iOxl3WSJEWyV3iJJ 7ymZvWOsRmqiZYkBIgQQAQIADAUCWn7fTQUDABJ1AAAKCRCXELibyletfFnGB/9b
bFL6ndkPRz46hIkEKfMqQKo7lgaHWKK3yo9OgIG4nnGLstMxCIwASKYnCDgdsPGf RumxnZzyoOrsDiV6DVruagouK8RhilAd+3We47l8rtSd27M8AL4RkO6JBqM7MKP/
xMm20Lc/U6loUxed+935OW7ig8+POETQQr0PKq0tfm4wuo3cqhJ+rQ4BFB9Z/Te9 C9anbY/2R6vRTXVF+hJ06dqek2dba3+bWi5SxmNa4Hqxp16Ip1RuH+yqdGB2gdhN
/6PAHitFB2Mnlqx9FNZOmFXlVMt6xzsw8zsT+hjbPVQtl8FLz+tbm60sDL3EIS3D hgsY0Ojnl7vFWk2DKTzlMzP6TEXXhC4Z4XwtXRx1y7XsHen8/f5+Zo6ro565KuD+
zaN0U4LnOmSGRWNQo8DYNO+kzVsI0f1H3d62j1CfO2gIfjJ7qrPC8V4OlKcHjyjT RuE+6WQQ0h6yhtEsuMeohNSLYpqZo9d2hBE09768gdweSSB+4FyIQsIBWjLX/iyB
rV62sVvSmYuBLVLSQr6JQowPmwZ/urn/8LR4E851 WiBxw3LtkQwl21TGbntYD12Gr0hJRY7c3meg/PN+XKYTcAml7BOvvdaEpWLVfs/h
=lAy0 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
m//Hk8dcT8vncg==
=G/D6
-----END PGP PUBLIC KEY BLOCK-----` -----END PGP PUBLIC KEY BLOCK-----`

View File

@ -66,10 +66,10 @@ func New(
curVer *semver.Version, curVer *semver.Version,
updateURLName, platform string, updateURLName, platform string,
) *Updater { ) *Updater {
// If there's some unexpected value in the preferences, we force it back onto the live channel. // If there's some unexpected value in the preferences, we force it back onto the stable channel.
// This prevents users from screwing up silent updates by modifying their prefs.json file. // This prevents users from screwing up silent updates by modifying their prefs.json file.
if channel := UpdateChannel(s.Get(settings.UpdateChannelKey)); !(channel == LiveChannel || channel == BetaChannel) { if channel := UpdateChannel(s.Get(settings.UpdateChannelKey)); !(channel == StableChannel || channel == EarlyChannel) {
s.Set(settings.UpdateChannelKey, string(LiveChannel)) s.Set(settings.UpdateChannelKey, string(StableChannel))
} }
return &Updater{ return &Updater{

View File

@ -45,7 +45,7 @@ func TestCheck(t *testing.T) {
updater := newTestUpdater(client, "1.1.0", false) updater := newTestUpdater(client, "1.1.0", false)
versionMap := VersionMap{ versionMap := VersionMap{
"live": VersionInfo{ "stable": VersionInfo{
Version: semver.MustParse("1.5.0"), Version: semver.MustParse("1.5.0"),
MinAuto: semver.MustParse("1.4.0"), MinAuto: semver.MustParse("1.4.0"),
Package: "https://protonmail.com/download/bridge/update_1.5.0_linux.tgz", Package: "https://protonmail.com/download/bridge/update_1.5.0_linux.tgz",
@ -76,13 +76,13 @@ func TestCheckEarlyAccess(t *testing.T) {
updater := newTestUpdater(client, "1.1.0", true) updater := newTestUpdater(client, "1.1.0", true)
versionMap := VersionMap{ versionMap := VersionMap{
"live": VersionInfo{ "stable": VersionInfo{
Version: semver.MustParse("1.5.0"), Version: semver.MustParse("1.5.0"),
MinAuto: semver.MustParse("1.0.0"), MinAuto: semver.MustParse("1.0.0"),
Package: "https://protonmail.com/download/bridge/update_1.5.0_linux.tgz", Package: "https://protonmail.com/download/bridge/update_1.5.0_linux.tgz",
RolloutProportion: 1.0, RolloutProportion: 1.0,
}, },
"beta": VersionInfo{ "early": VersionInfo{
Version: semver.MustParse("1.6.0"), Version: semver.MustParse("1.6.0"),
MinAuto: semver.MustParse("1.0.0"), MinAuto: semver.MustParse("1.0.0"),
Package: "https://protonmail.com/download/bridge/update_1.6.0_linux.tgz", Package: "https://protonmail.com/download/bridge/update_1.6.0_linux.tgz",
@ -345,9 +345,9 @@ func newFakeSettings(rollout float64, earlyAccess bool) *fakeSettings {
s.SetFloat64(settings.RolloutKey, rollout) s.SetFloat64(settings.RolloutKey, rollout)
if earlyAccess { if earlyAccess {
s.Set(settings.UpdateChannelKey, string(BetaChannel)) s.Set(settings.UpdateChannelKey, string(EarlyChannel))
} else { } else {
s.Set(settings.UpdateChannelKey, string(LiveChannel)) s.Set(settings.UpdateChannelKey, string(StableChannel))
} }
return s return s

View File

@ -51,7 +51,7 @@ type VersionInfo struct {
// VersionMap represents the structure of the version.json file. // VersionMap represents the structure of the version.json file.
// It looks like this: // It looks like this:
// { // {
// "live": { // "stable": {
// "Version": "2.3.4", // "Version": "2.3.4",
// "Package": "https://protonmail.com/.../bridge_2.3.4_linux.tgz", // "Package": "https://protonmail.com/.../bridge_2.3.4_linux.tgz",
// "Installers": [ // "Installers": [
@ -63,9 +63,9 @@ type VersionInfo struct {
// "ReleaseNotesPage": "https://protonmail.com/.../release_notes.html", // "ReleaseNotesPage": "https://protonmail.com/.../release_notes.html",
// "RolloutProportion": 0.5 // "RolloutProportion": 0.5
// }, // },
// "beta": { // "early": {
// "Version": "2.4.0-beta", // "Version": "2.4.0-early",
// "Package": "https://protonmail.com/.../bridge_2.4.0-beta_linux.tgz", // "Package": "https://protonmail.com/.../bridge_2.4.0-early_linux.tgz",
// "Installers": [ // "Installers": [
// "https://protonmail.com/.../something.deb", // "https://protonmail.com/.../something.deb",
// "https://protonmail.com/.../something.rpm", // "https://protonmail.com/.../something.rpm",

View File

@ -35,7 +35,7 @@ func TestRemoveOldVersions(t *testing.T) {
updates, err := ioutil.TempDir("", "updates") updates, err := ioutil.TempDir("", "updates")
require.NoError(t, err) require.NoError(t, err)
v := newTestVersioner(t, "myCoolApp", updates, "2.3.4-beta", "2.3.4", "2.3.5", "2.4.0") v := newTestVersioner(t, "myCoolApp", updates, "2.3.4-early", "2.3.4", "2.3.5", "2.4.0")
allVersions, err := v.ListVersions() allVersions, err := v.ListVersions()
require.NoError(t, err) require.NoError(t, err)

View File

@ -32,7 +32,7 @@ func TestListVersions(t *testing.T) {
updates, err := ioutil.TempDir("", "updates") updates, err := ioutil.TempDir("", "updates")
require.NoError(t, err) require.NoError(t, err)
v := newTestVersioner(t, "myCoolApp", updates, "2.3.4-beta", "2.3.4", "2.3.5", "2.4.0") v := newTestVersioner(t, "myCoolApp", updates, "2.3.4-early", "2.3.4", "2.3.5", "2.4.0")
versions, err := v.ListVersions() versions, err := v.ListVersions()
require.NoError(t, err) require.NoError(t, err)
@ -46,8 +46,8 @@ func TestListVersions(t *testing.T) {
assert.Equal(t, semver.MustParse("2.3.4"), versions[2].version) assert.Equal(t, semver.MustParse("2.3.4"), versions[2].version)
assert.Equal(t, filepath.Join(updates, "2.3.4"), versions[2].path) assert.Equal(t, filepath.Join(updates, "2.3.4"), versions[2].path)
assert.Equal(t, semver.MustParse("2.3.4-beta"), versions[3].version) assert.Equal(t, semver.MustParse("2.3.4-early"), versions[3].version)
assert.Equal(t, filepath.Join(updates, "2.3.4-beta"), versions[3].path) assert.Equal(t, filepath.Join(updates, "2.3.4-early"), versions[3].path)
} }
func newTestVersioner(t *testing.T, exeName, updates string, versions ...string) *Versioner { func newTestVersioner(t *testing.T, exeName, updates string, versions ...string) *Versioner {

View File

@ -15,6 +15,7 @@ Changelog [format](http://keepachangelog.com/en/1.0.0/)
* GODT-874 Added manual triggers to Updater module. * GODT-874 Added manual triggers to Updater module.
### Changed ### Changed
* renames channels `beta->early`, `live->stable`
* GODT-893 Bump go-rfc5322 dependency to v0.2.1 to properly detect syntax errors during parsing. * GODT-893 Bump go-rfc5322 dependency to v0.2.1 to properly detect syntax errors during parsing.
* GODT-892 Swap type and value from sentry exception and cut panic handlers from the traceback. * GODT-892 Swap type and value from sentry exception and cut panic handlers from the traceback.
* GODT-854 EXPUNGE and FETCH unilateral responses are returned before OK EXPUNGE or OK STORE, respectively. * GODT-854 EXPUNGE and FETCH unilateral responses are returned before OK EXPUNGE or OK STORE, respectively.