Remove blockingApproval
// FREEBIE
This commit is contained in:
parent
53e7e1be3a
commit
c6bfdec84d
4 changed files with 8 additions and 44 deletions
|
@ -232,7 +232,6 @@
|
||||||
var attributes = cursor.value;
|
var attributes = cursor.value;
|
||||||
attributes.timestamp = 0;
|
attributes.timestamp = 0;
|
||||||
attributes.firstUse = false;
|
attributes.firstUse = false;
|
||||||
attributes.blockingApproval = true;
|
|
||||||
attributes.nonblockingApproval = false;
|
attributes.nonblockingApproval = false;
|
||||||
attributes.seen = 0;
|
attributes.seen = 0;
|
||||||
promises.push(new Promise(function(resolve, reject) {
|
promises.push(new Promise(function(resolve, reject) {
|
||||||
|
|
|
@ -355,7 +355,7 @@
|
||||||
var identityKey = dcodeIO.ByteBuffer.wrap(profile.identityKey, 'base64').toArrayBuffer();
|
var identityKey = dcodeIO.ByteBuffer.wrap(profile.identityKey, 'base64').toArrayBuffer();
|
||||||
|
|
||||||
return textsecure.storage.protocol.saveIdentity(
|
return textsecure.storage.protocol.saveIdentity(
|
||||||
id, identityKey, storage.get('safety-numbers-approval', true), false
|
id, identityKey, false
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -525,7 +525,7 @@
|
||||||
throw 'No conflicts to resolve';
|
throw 'No conflicts to resolve';
|
||||||
}
|
}
|
||||||
|
|
||||||
return textsecure.storage.protocol.saveIdentity(number, identityKey, true, true).then(function() {
|
return textsecure.storage.protocol.saveIdentity(number, identityKey, true).then(function() {
|
||||||
var promise = Promise.resolve();
|
var promise = Promise.resolve();
|
||||||
var conflicts = this.messageCollection.filter(function(message) {
|
var conflicts = this.messageCollection.filter(function(message) {
|
||||||
return message.hasKeyConflict(number);
|
return message.hasKeyConflict(number);
|
||||||
|
|
|
@ -319,10 +319,6 @@
|
||||||
console.log("isTrustedForSending: Identity keys don't match...");
|
console.log("isTrustedForSending: Identity keys don't match...");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (this.isBlockingApprovalRequired(identityKey)) {
|
|
||||||
console.log("isTrustedForSending: Needs blocking approval!");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (this.isNonBlockingApprovalRequired(identityKey)) {
|
if (this.isNonBlockingApprovalRequired(identityKey)) {
|
||||||
console.log("isTrustedForSending: Needs non-blocking approval!");
|
console.log("isTrustedForSending: Needs non-blocking approval!");
|
||||||
return false;
|
return false;
|
||||||
|
@ -342,7 +338,7 @@
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
saveIdentity: function(identifier, publicKey, blockingApproval, nonblockingApproval) {
|
saveIdentity: function(identifier, publicKey, nonblockingApproval) {
|
||||||
if (identifier === null || identifier === undefined) {
|
if (identifier === null || identifier === undefined) {
|
||||||
throw new Error("Tried to put identity key for undefined/null key");
|
throw new Error("Tried to put identity key for undefined/null key");
|
||||||
}
|
}
|
||||||
|
@ -361,7 +357,6 @@
|
||||||
publicKey : publicKey,
|
publicKey : publicKey,
|
||||||
firstUse : true,
|
firstUse : true,
|
||||||
timestamp : Date.now(),
|
timestamp : Date.now(),
|
||||||
blockingApproval : blockingApproval,
|
|
||||||
nonblockingApproval : nonblockingApproval,
|
nonblockingApproval : nonblockingApproval,
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
resolve(false);
|
resolve(false);
|
||||||
|
@ -372,16 +367,14 @@
|
||||||
publicKey : publicKey,
|
publicKey : publicKey,
|
||||||
firstUse : false,
|
firstUse : false,
|
||||||
timestamp : Date.now(),
|
timestamp : Date.now(),
|
||||||
blockingApproval : blockingApproval,
|
|
||||||
nonblockingApproval : nonblockingApproval,
|
nonblockingApproval : nonblockingApproval,
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
this.trigger('keychange', identifier);
|
this.trigger('keychange', identifier);
|
||||||
resolve(true);
|
resolve(true);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
} else if (this.isBlockingApprovalRequired(identityKey) || this.isNonBlockingApprovalRequired(identityKey)) {
|
} else if (this.isNonBlockingApprovalRequired(identityKey)) {
|
||||||
console.log("Setting approval status...");
|
console.log("Setting approval status...");
|
||||||
identityKey.save({
|
identityKey.save({
|
||||||
blockingApproval : blockingApproval,
|
|
||||||
nonblockingApproval : nonblockingApproval,
|
nonblockingApproval : nonblockingApproval,
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
resolve(false);
|
resolve(false);
|
||||||
|
@ -392,11 +385,6 @@
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
isBlockingApprovalRequired: function(identityKey) {
|
|
||||||
return (!identityKey.get('firstUse')
|
|
||||||
&& storage.get('safety-numbers-approval', true)
|
|
||||||
&& !identityKey.get('blockingApproval'));
|
|
||||||
},
|
|
||||||
isNonBlockingApprovalRequired: function(identityKey) {
|
isNonBlockingApprovalRequired: function(identityKey) {
|
||||||
return (!identityKey.get('firstUse')
|
return (!identityKey.get('firstUse')
|
||||||
&& Date.now() - identityKey.get('timestamp') < TIMESTAMP_THRESHOLD
|
&& Date.now() - identityKey.get('timestamp') < TIMESTAMP_THRESHOLD
|
||||||
|
|
|
@ -81,7 +81,6 @@ describe("SignalProtocolStore", function() {
|
||||||
publicKey : testKey.pubKey,
|
publicKey : testKey.pubKey,
|
||||||
firstUse : true,
|
firstUse : true,
|
||||||
timestamp : oldTimestamp,
|
timestamp : oldTimestamp,
|
||||||
blockingApproval : false,
|
|
||||||
nonblockingApproval : false,
|
nonblockingApproval : false,
|
||||||
}).then(function() {
|
}).then(function() {
|
||||||
store.saveIdentity(identifier, newIdentity).then(function() {
|
store.saveIdentity(identifier, newIdentity).then(function() {
|
||||||
|
@ -102,7 +101,6 @@ describe("SignalProtocolStore", function() {
|
||||||
record.save({
|
record.save({
|
||||||
publicKey : testKey.pubKey,
|
publicKey : testKey.pubKey,
|
||||||
timestamp : oldTimestamp,
|
timestamp : oldTimestamp,
|
||||||
blockingApproval : false,
|
|
||||||
nonblockingApproval : false,
|
nonblockingApproval : false,
|
||||||
}).then(function() { done(); });
|
}).then(function() { done(); });
|
||||||
});
|
});
|
||||||
|
@ -111,9 +109,8 @@ describe("SignalProtocolStore", function() {
|
||||||
record.save({ firstUse: true }).then(function() { done(); });
|
record.save({ firstUse: true }).then(function() { done(); });
|
||||||
});
|
});
|
||||||
it('nothing changes', function(done) {
|
it('nothing changes', function(done) {
|
||||||
store.saveIdentity(identifier, testKey.pubKey, true, true).then(function() {
|
store.saveIdentity(identifier, testKey.pubKey, true).then(function() {
|
||||||
record.fetch().then(function() {
|
record.fetch().then(function() {
|
||||||
assert(!record.get('blockingApproval'));
|
|
||||||
assert(!record.get('nonblockingApproval'));
|
assert(!record.get('nonblockingApproval'));
|
||||||
assert.strictEqual(record.get('timestamp'), oldTimestamp);
|
assert.strictEqual(record.get('timestamp'), oldTimestamp);
|
||||||
done();
|
done();
|
||||||
|
@ -125,30 +122,10 @@ describe("SignalProtocolStore", function() {
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
record.save({ firstUse: false }).then(function() { done(); });
|
record.save({ firstUse: false }).then(function() { done(); });
|
||||||
});
|
});
|
||||||
describe('If blocking approval is required', function() {
|
|
||||||
before(function() {
|
|
||||||
storage.put('safety-numbers-approval', true);
|
|
||||||
});
|
|
||||||
it('updates blocking and non-blocking approval', function(done) {
|
|
||||||
store.saveIdentity(identifier, testKey.pubKey, true, true).then(function() {
|
|
||||||
record.fetch().then(function() {
|
|
||||||
assert(record.get('blockingApproval'));
|
|
||||||
assert(record.get('nonblockingApproval'));
|
|
||||||
assert.strictEqual(record.get('timestamp'), oldTimestamp);
|
|
||||||
assert.strictEqual(record.get('firstUse'), false);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
describe('If nonblocking approval is required', function() {
|
describe('If nonblocking approval is required', function() {
|
||||||
before(function() {
|
it('updates non-blocking approval', function(done) {
|
||||||
storage.put('safety-numbers-approval', false);
|
store.saveIdentity(identifier, testKey.pubKey, true).then(function() {
|
||||||
});
|
|
||||||
it('updates blocking and non-blocking approval', function(done) {
|
|
||||||
store.saveIdentity(identifier, testKey.pubKey, true, true).then(function() {
|
|
||||||
record.fetch().then(function() {
|
record.fetch().then(function() {
|
||||||
assert(record.get('blockingApproval'));
|
|
||||||
assert(record.get('nonblockingApproval'));
|
assert(record.get('nonblockingApproval'));
|
||||||
assert.strictEqual(record.get('timestamp'), oldTimestamp);
|
assert.strictEqual(record.get('timestamp'), oldTimestamp);
|
||||||
assert.strictEqual(record.get('firstUse'), false);
|
assert.strictEqual(record.get('firstUse'), false);
|
||||||
|
@ -249,7 +226,7 @@ describe("SignalProtocolStore", function() {
|
||||||
});
|
});
|
||||||
it('returns true if neither blocking nor nonblocking approval is required', function(done) {
|
it('returns true if neither blocking nor nonblocking approval is required', function(done) {
|
||||||
storage.put('safety-numbers-approval', false);
|
storage.put('safety-numbers-approval', false);
|
||||||
store.saveIdentity(identifier, newIdentity, true, true).then(function() {
|
store.saveIdentity(identifier, newIdentity, true).then(function() {
|
||||||
store.isTrustedIdentity(identifier, newIdentity, store.Direction.SENDING).then(function(trusted) {
|
store.isTrustedIdentity(identifier, newIdentity, store.Direction.SENDING).then(function(trusted) {
|
||||||
if (trusted) {
|
if (trusted) {
|
||||||
done();
|
done();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue