Compare commits

...

7 Commits

Author SHA1 Message Date
RiotRobot d56b73e220 v1.5.5 2019-11-27 10:48:52 +00:00
RiotRobot 8f9c336f62 Prepare changelog for v1.5.5 2019-11-27 10:48:52 +00:00
RiotRobot 1a6af40d0d v1.5.5 2019-11-27 10:45:54 +00:00
RiotRobot 10c5485373 Upgrade to JS SDK 2.4.5 and React SDK 1.7.4 2019-11-27 10:44:15 +00:00
J. Ryan Stinnett c6520f0e65 Remove timeframe 2019-11-26 12:08:47 -07:00
J. Ryan Stinnett 57c3e8f4da Clarify that cross-signing is in development
Expand on the development state of cross-signing in the labs docs.

Fixes https://github.com/vector-im/riot-web/issues/11492
2019-11-26 12:08:38 -07:00
David Baker 070d5fc6e8 Sign all of the Windows executable files
We can actually just supply a custom signing module here to do our
signing rather than manually signing things in the afterSign hook.
This means all 4 executable files get signed (the main exe, the
stub exe, Update.exe and the installer).
2019-11-26 12:08:29 -07:00
7 changed files with 93 additions and 67 deletions
+9
View File
@@ -1,3 +1,12 @@
Changes in [1.5.5](https://github.com/vector-im/riot-web/releases/tag/v1.5.5) (2019-11-27)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4...v1.5.5)
* Upgrade to JS SDK 2.5.4 to relax identity server discovery and E2EE debugging
* Upgrade to React SDK 1.7.4 to fix override behaviour of themes
* Clarify that cross-signing is in development
* Sign all of the Windows executable files
Changes in [1.5.4](https://github.com/vector-im/riot-web/releases/tag/v1.5.4) (2019-11-25)
==========================================================================================
[Full Changelog](https://github.com/vector-im/riot-web/compare/v1.5.4-rc.2...v1.5.4)
+3 -1
View File
@@ -66,8 +66,10 @@ An implementation of [MSC2241](https://github.com/matrix-org/matrix-doc/pull/224
This also includes a new implementation of the user & member info panel, designed to share more code between showing community members & room members. Built on top of this new panel is also a new UX for verification from the member panel.
## Cross-signing (`feature_cross_signing`)
## Cross-signing (in development) (`feature_cross_signing`)
Cross-signing ([MSC1756](https://github.com/matrix-org/matrix-doc/pull/1756))
improves the device verification experience by allowing you to verify a user
instead of verifying each of their devices.
This feature is still in development and will be landing in several chunks.
+1 -1
View File
@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.5.4",
"version": "1.5.5",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {
+5 -4
View File
@@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "electron_app/src/electron-main.js",
"version": "1.5.4",
"version": "1.5.5",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -74,8 +74,8 @@
"gemini-scrollbar": "github:matrix-org/gemini-scrollbar#91e1e566",
"gfm.css": "^1.1.2",
"highlight.js": "^9.13.1",
"matrix-js-sdk": "2.4.4",
"matrix-react-sdk": "1.7.3",
"matrix-js-sdk": "2.4.5",
"matrix-react-sdk": "1.7.4",
"modernizr": "^3.6.0",
"olm": "https://packages.matrix.org/npm/olm/olm-3.1.4.tgz",
"prop-types": "^15.7.2",
@@ -186,7 +186,8 @@
"win": {
"target": {
"target": "squirrel"
}
},
"sign": "scripts/electron_winSign"
},
"directories": {
"buildResources": "electron_app/build",
-52
View File
@@ -1,7 +1,4 @@
const { notarize } = require('electron-notarize');
const { exec, execFile } = require('child_process');
const fs = require('fs');
const shellescape = require('shell-escape');
exports.default = async function(context) {
const { electronPlatformName, appOutDir } = context;
@@ -23,54 +20,5 @@ exports.default = async function(context) {
appleId: userId,
appleIdPassword: '@keychain:NOTARIZE_CREDS',
});
} else if (electronPlatformName === 'win32') {
// This signs the actual Riot executable
const appName = context.packager.appInfo.productFilename;
// get the token passphrase from the keychain
const tokenPassphrase = await new Promise((resolve, reject) => {
execFile(
'security',
['find-generic-password', '-s', 'riot_signing_token', '-w'],
{},
(err, stdout) => {
if (err) {
reject(err);
} else {
resolve(stdout.trim());
}
},
);
});
return new Promise((resolve, reject) => {
let cmdLine = 'osslsigncode sign ';
if (process.env.OSSLSIGNCODE_SIGNARGS) {
cmdLine += process.env.OSSLSIGNCODE_SIGNARGS + ' ';
}
const tmpFile = 'tmp_' + Math.random().toString(36).substring(2, 15) + '.exe';
cmdLine += shellescape([
'-pass', tokenPassphrase,
'-in', `${appOutDir}/${appName}.exe`,
'-out', `${appOutDir}/${tmpFile}`,
]);
const signproc = exec(cmdLine, {}, (error, stdout) => {
console.log(stdout);
});
signproc.on('exit', (code) => {
if (code !== 0) {
reject("osslsigncode failed with code " + code);
return;
}
fs.rename(`${appOutDir}/${tmpFile}`, `${appOutDir}/${appName}.exe`, (err) => {
if (err) {
reject(err);
} else {
resolve();
}
});
});
});
}
};
+66
View File
@@ -0,0 +1,66 @@
const { exec, execFile } = require('child_process');
const fs = require('fs');
const path = require('path');
const shellescape = require('shell-escape');
exports.default = async function(options) {
const inPath = options.path;
const appOutDir = path.dirname(inPath);
// get the token passphrase from the keychain
const tokenPassphrase = await new Promise((resolve, reject) => {
execFile(
'security',
['find-generic-password', '-s', 'riot_signing_token', '-w'],
{},
(err, stdout) => {
if (err) {
console.error("Couldn't find signing token in keychain", err);
// electron-builder seems to print '[object Object]' on the
// console whether you reject with an Error or a string...
reject(err);
} else {
resolve(stdout.trim());
}
},
);
});
return new Promise((resolve, reject) => {
let cmdLine = 'osslsigncode sign ';
if (process.env.OSSLSIGNCODE_SIGNARGS) {
cmdLine += process.env.OSSLSIGNCODE_SIGNARGS + ' ';
}
const tmpFile = path.join(
appOutDir,
'tmp_' + Math.random().toString(36).substring(2, 15) + '.exe',
);
const args = [
'-hash', options.hash,
'-pass', tokenPassphrase,
'-in', inPath,
'-out', tmpFile,
];
if (options.isNest) args.push('-nest');
cmdLine += shellescape(args);
const signproc = exec(cmdLine, {}, (error, stdout) => {
console.log(stdout);
});
signproc.on('exit', (code) => {
if (code !== 0) {
console.error("osslsigncode failed with code " + code);
reject("osslsigncode failed with code " + code);
return;
}
fs.rename(tmpFile, inPath, (err) => {
if (err) {
console.error("Error renaming file", err);
reject(err);
} else {
resolve();
}
});
});
});
};
+9 -9
View File
@@ -5960,10 +5960,10 @@ math-random@^1.0.1:
resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
matrix-js-sdk@2.4.4:
version "2.4.4"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.4.4.tgz#d5e2d6fbe938c4275a1423a5f09330d33517ce3f"
integrity sha512-wSaRFvhWvwEzVaEkyBGo5ReumvaM5OrC1MJ6SVlyoLwH/WRPEXcUlu+rUNw5TFVEAH4TAVHXf/SVRBiR0j5nSQ==
matrix-js-sdk@2.4.5:
version "2.4.5"
resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-2.4.5.tgz#0a02f0a3e18c59a393b34b8d6ebc54226cce6465"
integrity sha512-Mh0fPoiqyXRksFNYS4/2s20xAklmYVIgSms3qFvLhno32LN43NizUoAMBYYGtyjt8BQi+U77lbNL0s5f2V7gPQ==
dependencies:
another-json "^0.2.0"
babel-runtime "^6.26.0"
@@ -5984,10 +5984,10 @@ matrix-mock-request@^1.2.3:
bluebird "^3.5.0"
expect "^1.20.2"
matrix-react-sdk@1.7.3:
version "1.7.3"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.7.3.tgz#f3f64dc77eea64b77ba3d574847bc03146d421a3"
integrity sha512-XSZSj4GWhxhoEoCIHGyMwBKdmcHJrKB9hToHJQTI0OL/x8+ErTLVAgJYW8hvR16l5lXGzSsYWDOfQOTbKK1tLQ==
matrix-react-sdk@1.7.4:
version "1.7.4"
resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-1.7.4.tgz#06c50b20519ec4de3976b9a6b80eca70d8ef9809"
integrity sha512-AHiCr0zSDh2cHQF/CiT9ez7F9B+uFQ+XIfTGFbeI22MfY61Vhye8UIVwP7cOMFJ7Ow+wE6470iiscg+boBbRyg==
dependencies:
babel-plugin-syntax-dynamic-import "^6.18.0"
babel-runtime "^6.26.0"
@@ -6020,7 +6020,7 @@ matrix-react-sdk@1.7.3:
linkifyjs "^2.1.6"
lodash "^4.17.14"
lolex "4.2"
matrix-js-sdk "2.4.4"
matrix-js-sdk "2.4.5"
optimist "^0.6.1"
pako "^1.0.5"
png-chunks-extract "^1.0.0"