+ if (3 == mal_type)
+ { /* Combined attack */
+
+ /* Send PUSH to attacked peers */
+ peer_ctx = get_peer_ctx (peer_map, &attacked_peer);
+ if (GNUNET_YES == get_peer_flag (peer_ctx, VALID))
+ {
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Goding to send push to attacked peer (%s)\n",
+ GNUNET_i2s (&attacked_peer));
+ send_push (&attacked_peer);
+ }
+ else
+ check_peer_live (peer_ctx);
+
+ /* The maximum of pushes we're going to send this round */
+ num_pushes = GNUNET_MIN (GNUNET_MIN (push_limit - 1,
+ num_attacked_peers),
+ GNUNET_CONSTANTS_MAX_CADET_MESSAGE_SIZE);
+
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Going to send %" PRIu32 " pushes\n",
+ num_pushes);
+
+ for (i = 0 ; i < num_pushes ; i++)
+ {
+ if (att_peers_tail == att_peer_index)
+ att_peer_index = att_peers_head;
+ else
+ att_peer_index = att_peer_index->next;
+
+ send_push (&att_peer_index->peer_id);
+ }
+
+ /* Send PULLs to some peers to learn about additional peers to attack */
+ tmp_att_peer = att_peer_index;
+ for (i = 0 ; i < num_pushes * alpha ; i++)
+ {
+ if (att_peers_tail == tmp_att_peer)
+ tmp_att_peer = att_peers_head;
+ else
+ att_peer_index = tmp_att_peer->next;
+
+ send_pull_request (&tmp_att_peer->peer_id);
+ }
+ }
+