From 9460ae51d2b46f3205f8cf7499cd358ab34d9afc Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Fri, 17 Mar 2017 14:22:02 +0100 Subject: [PATCH] [fix] #900 Do not ask to kick a member who is being excluded --- app/lib/dal/fileDAL.js | 2 +- app/lib/dup/indexer.js | 5 +++-- package.json | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/lib/dal/fileDAL.js b/app/lib/dal/fileDAL.js index 1da9a1563..26ac95300 100644 --- a/app/lib/dal/fileDAL.js +++ b/app/lib/dal/fileDAL.js @@ -538,7 +538,7 @@ function FileDAL(params) { cindex = cindex.concat(yield indexer.ruleIndexGenCertificationExpiry(HEAD, that)); mindex = mindex.concat(yield indexer.ruleIndexGenMembershipExpiry(HEAD, that)); iindex = iindex.concat(yield indexer.ruleIndexGenExclusionByMembership(HEAD, mindex, that)); - iindex = iindex.concat(yield indexer.ruleIndexGenExclusionByCertificatons(HEAD, cindex, conf, that)); + iindex = iindex.concat(yield indexer.ruleIndexGenExclusionByCertificatons(HEAD, cindex, iindex, conf, that)); mindex = mindex.concat(yield indexer.ruleIndexGenImplicitRevocation(HEAD, that)); yield indexer.ruleIndexCorrectMembershipExpiryDate(HEAD, mindex, that); yield indexer.ruleIndexCorrectCertificationExpiryDate(HEAD, cindex, that); diff --git a/app/lib/dup/indexer.js b/app/lib/dup/indexer.js index 2d52a073b..c5aead1e7 100644 --- a/app/lib/dup/indexer.js +++ b/app/lib/dup/indexer.js @@ -1410,7 +1410,7 @@ const indexer = module.exports = { }), // BR_G95 - ruleIndexGenExclusionByCertificatons: (HEAD, cindex, conf, dal) => co(function*() { + ruleIndexGenExclusionByCertificatons: (HEAD, cindex, iindex, conf, dal) => co(function*() { const exclusions = []; const expiredCerts = _.filter(cindex, (c) => c.expired_on > 0); for (const CERT of expiredCerts) { @@ -1418,8 +1418,9 @@ const indexer = module.exports = { const just_received = _.filter(cindex, (c) => c.receiver == CERT.receiver && c.expired_on == 0); const non_expired_global = yield dal.cindexDAL.getValidLinksTo(CERT.receiver); if ((count(non_expired_global) - count(just_expired) + count(just_received)) < conf.sigQty) { + const isInExcluded = _.filter(iindex, (i) => i.member === false && i.pub === CERT.receiver)[0]; const idty = yield dal.iindexDAL.getFromPubkey(CERT.receiver); - if (idty.member) { + if (!isInExcluded && idty.member) { exclusions.push({ op: 'UPDATE', pub: CERT.receiver, diff --git a/package.json b/package.json index e652efbd9..7d3c0d194 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "daemonize2": "0.4.2", "duniter-bma": "^0.2.11", "duniter-common": "0.1.0", - "duniter-crawler": "^0.2.16", + "duniter-crawler": "^0.2.17", "duniter-keypair": "^0.3.0", "duniter-prover": "^0.2.9", "event-stream": "3.3.4", -- GitLab