diff options
Diffstat (limited to 'src/consensus/gnunet-service-consensus.c')
-rw-r--r-- | src/consensus/gnunet-service-consensus.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/consensus/gnunet-service-consensus.c b/src/consensus/gnunet-service-consensus.c index 6662ae8ca..b934f468f 100644 --- a/src/consensus/gnunet-service-consensus.c +++ b/src/consensus/gnunet-service-consensus.c | |||
@@ -1153,6 +1153,7 @@ enum EvilnessType | |||
1153 | EVILNESS_CRAM_LEAD, | 1153 | EVILNESS_CRAM_LEAD, |
1154 | EVILNESS_CRAM_ECHO, | 1154 | EVILNESS_CRAM_ECHO, |
1155 | EVILNESS_SLACK, | 1155 | EVILNESS_SLACK, |
1156 | EVILNESS_SLACK_A2A, | ||
1156 | }; | 1157 | }; |
1157 | 1158 | ||
1158 | enum EvilnessSubType | 1159 | enum EvilnessSubType |
@@ -1245,6 +1246,10 @@ get_evilness (struct ConsensusSession *session, struct Evilness *evil) | |||
1245 | { | 1246 | { |
1246 | evil->type = EVILNESS_SLACK; | 1247 | evil->type = EVILNESS_SLACK; |
1247 | } | 1248 | } |
1249 | if (0 == strcmp ("slack-a2a", evil_type_str)) | ||
1250 | { | ||
1251 | evil->type = EVILNESS_SLACK_A2A; | ||
1252 | } | ||
1248 | else if (0 == strcmp ("cram-all", evil_type_str)) | 1253 | else if (0 == strcmp ("cram-all", evil_type_str)) |
1249 | { | 1254 | { |
1250 | evil->type = EVILNESS_CRAM_ALL; | 1255 | evil->type = EVILNESS_CRAM_ALL; |
@@ -1417,6 +1422,19 @@ commit_set (struct ConsensusSession *session, | |||
1417 | "P%u: evil peer: slacking\n", | 1422 | "P%u: evil peer: slacking\n", |
1418 | (unsigned int) session->local_peer_idx); | 1423 | (unsigned int) session->local_peer_idx); |
1419 | /* Do nothing. */ | 1424 | /* Do nothing. */ |
1425 | case EVILNESS_SLACK_A2A: | ||
1426 | if ( (PHASE_KIND_ALL_TO_ALL_2 == task->key.kind ) || | ||
1427 | (PHASE_KIND_ALL_TO_ALL == task->key.kind) ) | ||
1428 | { | ||
1429 | struct GNUNET_SET_Handle *empty_set; | ||
1430 | empty_set = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION); | ||
1431 | GNUNET_SET_commit (setop->op, empty_set); | ||
1432 | GNUNET_SET_destroy (empty_set); | ||
1433 | } | ||
1434 | else | ||
1435 | { | ||
1436 | GNUNET_SET_commit (setop->op, set->h); | ||
1437 | } | ||
1420 | break; | 1438 | break; |
1421 | case EVILNESS_NONE: | 1439 | case EVILNESS_NONE: |
1422 | GNUNET_SET_commit (setop->op, set->h); | 1440 | GNUNET_SET_commit (setop->op, set->h); |