Bug 480461: skip items that cannot be decrypted

This commit is contained in:
Dan Mills 2009-02-26 17:31:06 -08:00
Родитель c3a4c302ea
Коммит 7365b0d561
1 изменённых файлов: 12 добавлений и 11 удалений

Просмотреть файл

@ -291,23 +291,24 @@ SyncEngine.prototype = {
let item;
let count = {applied: 0, reconciled: 0};
this._lastSyncTmp = 0;
while ((item = yield newitems.iter.next(self.cb))) {
this._lowMemCheck();
try {
yield item.decrypt(self.cb, ID.get('WeaveCryptoID').password);
yield item.decrypt(self.cb, ID.get('WeaveCryptoID').password);
if (yield this._reconcile.async(this, self.cb, item)) {
count.applied++;
yield this._applyIncoming.async(this, self.cb, item);
} else {
count.reconciled++;
this._log.trace("Skipping reconciled incoming item " + item.id);
if (this._lastSyncTmp < item.modified)
this._lastSyncTmp = item.modified;
}
} catch (e) {
this._log.error("Could not decrypt incoming record: " +
this._log.error("Could not process incoming record: " +
Utils.exceptionStr(e));
}
if (yield this._reconcile.async(this, self.cb, item)) {
count.applied++;
yield this._applyIncoming.async(this, self.cb, item);
} else {
count.reconciled++;
this._log.trace("Skipping reconciled incoming item " + item.id);
if (this._lastSyncTmp < item.modified)
this._lastSyncTmp = item.modified;
}
}
if (this.lastSync < this._lastSyncTmp)
this.lastSync = this._lastSyncTmp;