Fix undefined variable in for's (browser update to strict mode?)
This commit is contained in:
parent
de83429962
commit
0d4ae6a8cb
4 changed files with 23 additions and 19 deletions
|
@ -17,6 +17,8 @@
|
||||||
window.textsecure = window.textsecure || {};
|
window.textsecure = window.textsecure || {};
|
||||||
|
|
||||||
window.textsecure.api = function() {
|
window.textsecure.api = function() {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var self = {};
|
var self = {};
|
||||||
|
|
||||||
/************************************************
|
/************************************************
|
||||||
|
@ -147,7 +149,7 @@ window.textsecure.api = function() {
|
||||||
|
|
||||||
keys.preKeys = [];
|
keys.preKeys = [];
|
||||||
var j = 0;
|
var j = 0;
|
||||||
for (i in genKeys.preKeys)
|
for (var i in genKeys.preKeys)
|
||||||
keys.preKeys[j++] = {keyId: i, publicKey: btoa(getString(genKeys.preKeys[i].publicKey))};
|
keys.preKeys[j++] = {keyId: i, publicKey: btoa(getString(genKeys.preKeys[i].publicKey))};
|
||||||
|
|
||||||
//TODO: This is just to make the server happy (v2 clients should choke on publicKey),
|
//TODO: This is just to make the server happy (v2 clients should choke on publicKey),
|
||||||
|
|
10
js/crypto.js
10
js/crypto.js
|
@ -52,7 +52,7 @@ window.textsecure.crypto = function() {
|
||||||
|
|
||||||
function objectContainsKeys(object) {
|
function objectContainsKeys(object) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
for (key in object) {
|
for (var key in object) {
|
||||||
count++;
|
count++;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ window.textsecure.crypto = function() {
|
||||||
|
|
||||||
if (!doDeleteSession) {
|
if (!doDeleteSession) {
|
||||||
var keysLeft = false;
|
var keysLeft = false;
|
||||||
for (key in session) {
|
for (var key in session) {
|
||||||
if (key != "indexInfo" && key != "indexInfo" && key != "oldRatchetList") {
|
if (key != "indexInfo" && key != "indexInfo" && key != "oldRatchetList") {
|
||||||
keysLeft = true;
|
keysLeft = true;
|
||||||
break;
|
break;
|
||||||
|
@ -186,7 +186,7 @@ window.textsecure.crypto = function() {
|
||||||
if (sessions === undefined)
|
if (sessions === undefined)
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
||||||
for (key in sessions)
|
for (var key in sessions)
|
||||||
if (sessions[key].indexInfo.closed == -1)
|
if (sessions[key].indexInfo.closed == -1)
|
||||||
return sessions[key];
|
return sessions[key];
|
||||||
return undefined;
|
return undefined;
|
||||||
|
@ -200,7 +200,7 @@ window.textsecure.crypto = function() {
|
||||||
var searchKey = getString(remoteEphemeralKey);
|
var searchKey = getString(remoteEphemeralKey);
|
||||||
|
|
||||||
var openSession = undefined;
|
var openSession = undefined;
|
||||||
for (key in sessions) {
|
for (var key in sessions) {
|
||||||
if (sessions[key].indexInfo.closed == -1) {
|
if (sessions[key].indexInfo.closed == -1) {
|
||||||
if (openSession !== undefined)
|
if (openSession !== undefined)
|
||||||
throw new Error("Datastore inconsistensy: multiple open sessions for " + encodedNumber);
|
throw new Error("Datastore inconsistensy: multiple open sessions for " + encodedNumber);
|
||||||
|
@ -465,7 +465,7 @@ window.textsecure.crypto = function() {
|
||||||
var closeSession = function(session) {
|
var closeSession = function(session) {
|
||||||
// Clear any data which would allow session continuation:
|
// Clear any data which would allow session continuation:
|
||||||
// Lock down current receive ratchet
|
// Lock down current receive ratchet
|
||||||
for (key in session)
|
for (var key in session)
|
||||||
if (key.chainKey !== undefined && key.chainKey.key !== undefined)
|
if (key.chainKey !== undefined && key.chainKey.key !== undefined)
|
||||||
delete key.chainKey.key;
|
delete key.chainKey.key;
|
||||||
// Delete current sending ratchet
|
// Delete current sending ratchet
|
||||||
|
|
|
@ -264,7 +264,7 @@ window.textsecure.utils = function() {
|
||||||
return res;
|
return res;
|
||||||
} else if (thing === Object(thing)) {
|
} else if (thing === Object(thing)) {
|
||||||
var res = {};
|
var res = {};
|
||||||
for (key in thing)
|
for (var key in thing)
|
||||||
res[key] = ensureStringed(thing[key]);
|
res[key] = ensureStringed(thing[key]);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -351,7 +351,7 @@ window.textsecure.storage = function() {
|
||||||
throw new Error("Identity key changed");
|
throw new Error("Identity key changed");
|
||||||
else {
|
else {
|
||||||
var updated = false;
|
var updated = false;
|
||||||
for (i in map.devices) {
|
for (var i in map.devices) {
|
||||||
if (map.devices[i].encodedNumber == deviceObject.encodedNumber) {
|
if (map.devices[i].encodedNumber == deviceObject.encodedNumber) {
|
||||||
map.devices[i] = deviceObject;
|
map.devices[i] = deviceObject;
|
||||||
updated = true;
|
updated = true;
|
||||||
|
@ -376,7 +376,7 @@ window.textsecure.storage = function() {
|
||||||
if (devices === undefined)
|
if (devices === undefined)
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
||||||
for (i in devices)
|
for (var i in devices)
|
||||||
if (devices[i].encodedNumber == encodedNumber)
|
if (devices[i].encodedNumber == encodedNumber)
|
||||||
return devices[i];
|
return devices[i];
|
||||||
|
|
||||||
|
@ -390,9 +390,9 @@ window.textsecure.storage = function() {
|
||||||
|
|
||||||
var newDevices = [];
|
var newDevices = [];
|
||||||
var devicesRemoved = 0;
|
var devicesRemoved = 0;
|
||||||
for (i in map.devices) {
|
for (var i in map.devices) {
|
||||||
var keep = true;
|
var keep = true;
|
||||||
for (j in deviceIdsToRemove)
|
for (var j in deviceIdsToRemove)
|
||||||
if (map.devices[i].encodedNumber == number + "." + deviceIdsToRemove[j])
|
if (map.devices[i].encodedNumber == number + "." + deviceIdsToRemove[j])
|
||||||
keep = false;
|
keep = false;
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@ window.textsecure.storage = function() {
|
||||||
var me = textsecure.utils.unencodeNumber(textsecure.storage.getUnencrypted("number_id"))[0];
|
var me = textsecure.utils.unencodeNumber(textsecure.storage.getUnencrypted("number_id"))[0];
|
||||||
var haveMe = false;
|
var haveMe = false;
|
||||||
var finalNumbers = [];
|
var finalNumbers = [];
|
||||||
for (i in numbers) {
|
for (var i in numbers) {
|
||||||
var number = textsecure.utils.verifyNumber(numbers[i]);
|
var number = textsecure.utils.verifyNumber(numbers[i]);
|
||||||
if (number == me)
|
if (number == me)
|
||||||
haveMe = true;
|
haveMe = true;
|
||||||
|
@ -501,7 +501,7 @@ window.textsecure.storage = function() {
|
||||||
if (group === undefined)
|
if (group === undefined)
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
||||||
for (i in numbers) {
|
for (var i in numbers) {
|
||||||
var number = textsecure.utils.verifyNumber(numbers[i]);
|
var number = textsecure.utils.verifyNumber(numbers[i]);
|
||||||
if (group.numbers.indexOf(number) < 0) {
|
if (group.numbers.indexOf(number) < 0) {
|
||||||
group.numbers.push(number);
|
group.numbers.push(number);
|
||||||
|
@ -744,7 +744,7 @@ window.textsecure.subscribeToPush = function() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i in decrypted.attachments)
|
for (var i in decrypted.attachments)
|
||||||
promises.push(handleAttachment(decrypted.attachments[i]));
|
promises.push(handleAttachment(decrypted.attachments[i]));
|
||||||
return Promise.all(promises).then(function() {
|
return Promise.all(promises).then(function() {
|
||||||
message_callback({pushMessage: proto, message: decrypted});
|
message_callback({pushMessage: proto, message: decrypted});
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
// sendMessage(numbers = [], message = PushMessageContentProto, callback(success/failure map))
|
// sendMessage(numbers = [], message = PushMessageContentProto, callback(success/failure map))
|
||||||
window.textsecure.messaging = function() {
|
window.textsecure.messaging = function() {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
var self = {};
|
var self = {};
|
||||||
|
|
||||||
function getKeysForNumber(number, updateDevices) {
|
function getKeysForNumber(number, updateDevices) {
|
||||||
return textsecure.api.getKeysForNumber(number).then(function(response) {
|
return textsecure.api.getKeysForNumber(number).then(function(response) {
|
||||||
for (i in response.devices) {
|
for (var i in response.devices) {
|
||||||
if (updateDevices === undefined || updateDevices.indexOf(response.devices[i].deviceId) > -1)
|
if (updateDevices === undefined || updateDevices.indexOf(response.devices[i].deviceId) > -1)
|
||||||
textsecure.storage.devices.saveDeviceObject({
|
textsecure.storage.devices.saveDeviceObject({
|
||||||
encodedNumber: number + "." + response.devices[i].deviceId,
|
encodedNumber: number + "." + response.devices[i].deviceId,
|
||||||
|
@ -65,7 +67,7 @@ window.textsecure.messaging = function() {
|
||||||
var refreshGroups = function(number) {
|
var refreshGroups = function(number) {
|
||||||
var groups = textsecure.storage.groups.getGroupListForNumber(number);
|
var groups = textsecure.storage.groups.getGroupListForNumber(number);
|
||||||
var promises = [];
|
var promises = [];
|
||||||
for (i in groups) {
|
for (var i in groups) {
|
||||||
var group = textsecure.storage.groups.getGroup(groups[i]);
|
var group = textsecure.storage.groups.getGroup(groups[i]);
|
||||||
|
|
||||||
var proto = new textsecure.protos.PushMessageContentProtobuf();
|
var proto = new textsecure.protos.PushMessageContentProtobuf();
|
||||||
|
@ -218,7 +220,7 @@ window.textsecure.messaging = function() {
|
||||||
proto.body = messageText;
|
proto.body = messageText;
|
||||||
|
|
||||||
var promises = [];
|
var promises = [];
|
||||||
for (i in attachments)
|
for (var i in attachments)
|
||||||
promises.push(makeAttachmentPointer(attachments[i]));
|
promises.push(makeAttachmentPointer(attachments[i]));
|
||||||
return Promise.all(promises).then(function(attachmentsArray) {
|
return Promise.all(promises).then(function(attachmentsArray) {
|
||||||
proto.attachments = attachmentsArray;
|
proto.attachments = attachmentsArray;
|
||||||
|
@ -228,7 +230,7 @@ window.textsecure.messaging = function() {
|
||||||
|
|
||||||
self.closeSession = function(number) {
|
self.closeSession = function(number) {
|
||||||
var devices = textsecure.storage.devices.getDeviceObjectsForNumber(number);
|
var devices = textsecure.storage.devices.getDeviceObjectsForNumber(number);
|
||||||
for (i in devices)
|
for (var i in devices)
|
||||||
textsecure.crypto.closeOpenSessionForDevice(devices[i].encodedNumber);
|
textsecure.crypto.closeOpenSessionForDevice(devices[i].encodedNumber);
|
||||||
|
|
||||||
var proto = new textsecure.protos.PushMessageContentProtobuf();
|
var proto = new textsecure.protos.PushMessageContentProtobuf();
|
||||||
|
@ -248,7 +250,7 @@ window.textsecure.messaging = function() {
|
||||||
return new Promise(function(resolve, reject) { reject(new Error("Unknown Group")); });
|
return new Promise(function(resolve, reject) { reject(new Error("Unknown Group")); });
|
||||||
|
|
||||||
var promises = [];
|
var promises = [];
|
||||||
for (i in attachments)
|
for (var i in attachments)
|
||||||
promises.push(makeAttachmentPointer(attachments[i]));
|
promises.push(makeAttachmentPointer(attachments[i]));
|
||||||
return Promise.all(promises).then(function(attachmentsArray) {
|
return Promise.all(promises).then(function(attachmentsArray) {
|
||||||
proto.attachments = attachmentsArray;
|
proto.attachments = attachmentsArray;
|
||||||
|
|
Loading…
Add table
Reference in a new issue