Fix race condition with the allow list

pull/1/head
yflory 4 years ago
parent f071e2df25
commit daeae8b74e

@ -1703,6 +1703,8 @@ define([
// There is an allow list: check if we can authenticate // There is an allow list: check if we can authenticate
if (!Array.isArray(allowed)) { return void cb('EINVAL'); } if (!Array.isArray(allowed)) { return void cb('EINVAL'); }
if (!store.loggedIn || !store.proxy.edPublic) { return void cb('EFORBIDDEN'); } if (!store.loggedIn || !store.proxy.edPublic) { return void cb('EFORBIDDEN'); }
onReadyEvt.reg(function () {
var rpc; var rpc;
var teamModule = store.modules['team']; var teamModule = store.modules['team'];
var teams = (teamModule && teamModule.getTeams()) || []; var teams = (teamModule && teamModule.getTeams()) || [];
@ -1724,6 +1726,7 @@ define([
rpc.send('COOKIE', '', function (err) { rpc.send('COOKIE', '', function (err) {
cb(err); cb(err);
}); });
});
}, },
onConnectionChange: function (info) { onConnectionChange: function (info) {
if (!info.state) { if (!info.state) {

@ -113,7 +113,6 @@ define([
if (!config.store.id && !config.store.network) { if (!config.store.id && !config.store.network) {
Cache.getChannelCache(secret.channel, waitFor(function (err, res) { Cache.getChannelCache(secret.channel, waitFor(function (err, res) {
if (err === "EINVAL") { // Cache not found if (err === "EINVAL") { // Cache not found
console.warn(secret.channel);
waitFor.abort(); waitFor.abort();
store.manager.restrictedProxy(id, secret.channel); store.manager.restrictedProxy(id, secret.channel);
// XXX unrestrict when we connect? // XXX unrestrict when we connect?

Loading…
Cancel
Save