diff --git a/CHANGELOG.md b/CHANGELOG.md index 23d9d277..2496f277 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,14 +54,15 @@ Release date: March 28, 2018 This release contains multiple security updates for Windows, Mac and Linux, and it is highly recommended that users upgrade to this version. ### Architectural Changes + - Minor version upgrade of Electron from v1.7.11 to v1.7.13. Electron is the underlying technology used to build the Desktop apps. -Minor version upgrade of Electron from v1.7.11 to v1.7.13. Electron is the underlying technology used to build the Desktop apps. - -### Bux Fixes +### Bug Fixes #### All Platforms - - Disabled Certificate Transparency verification that produced unnecessary certificate errors. + [#743](https://github.com/mattermost/desktop/pull/743) + +---- ## Release v4.0.0 diff --git a/package.json b/package.json index 566cdd8c..554f75bd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mattermost-desktop", "productName": "Mattermost", - "version": "4.0.0", + "version": "4.0.1", "description": "Mattermost", "main": "main.js", "author": "Mattermost, Inc. ", diff --git a/src/main.js b/src/main.js index 8dded718..e9f2dabc 100644 --- a/src/main.js +++ b/src/main.js @@ -15,6 +15,7 @@ const { } = require('electron'); const isDev = require('electron-is-dev'); const installExtension = require('electron-devtools-installer'); +const semver = require('semver'); const parseArgv = require('yargs').parse; const protocols = require('../electron-builder.json').protocols; @@ -624,6 +625,20 @@ app.on('ready', () => { permissionManager = new PermissionManager(permissionFile, trustedURLs); session.defaultSession.setPermissionRequestHandler(permissionRequestHandler(mainWindow, permissionManager)); + // Disable Certificate Transparency until Electron 1.8.3 + // due to https://github.com/electron/electron/issues/11997 + if (semver.lt(process.versions.electron, '1.8.3')) { + const SUCCESS_AND_DISABLE_CERTIFICATE_TRANSPARENCY = 0; + const USE_VERIFICATION_RESULT_FROM_CHROMIUM = -3; + session.defaultSession.setCertificateVerifyProc((request, callback) => { + if (request.verificationResult === 'net::OK') { + callback(SUCCESS_AND_DISABLE_CERTIFICATE_TRANSPARENCY); + } else { + callback(USE_VERIFICATION_RESULT_FROM_CHROMIUM); + } + }); + } + // Open the DevTools. // mainWindow.openDevTools(); }); diff --git a/src/package.json b/src/package.json index d38369a0..fbff8a47 100644 --- a/src/package.json +++ b/src/package.json @@ -2,7 +2,7 @@ "name": "mattermost-desktop", "productName": "Mattermost", "desktopName": "Mattermost.desktop", - "version": "4.0.0", + "version": "4.0.1", "description": "Mattermost", "main": "main_bundle.js", "author": "Mattermost, Inc. ",