fix bug where seller would not broadcast last message to bidders
now the seller correctly computes the outcome _after_ broadcasting the last message to the bidders in private outcome auctions.
This commit is contained in:
parent
e08789c727
commit
5a9e4cca40
10
brandt.c
10
brandt.c
@ -330,12 +330,6 @@ advance_round (struct BRANDT_Auction *ad,
|
|||||||
if (!gcry_mpi_test_bit (ad->round_progress, i))
|
if (!gcry_mpi_test_bit (ad->round_progress, i))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (msg_decrypt == ad->cur_round)
|
|
||||||
{
|
|
||||||
report_outcome (ad, atype, outcome);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ad->seller_mode && msg_decrypt == ad->cur_round && !ad->outcome_public)
|
if (ad->seller_mode && msg_decrypt == ad->cur_round && !ad->outcome_public)
|
||||||
{
|
{
|
||||||
/* all bidders msg_decrypt received, broadcast combined msg_decrypt */
|
/* all bidders msg_decrypt received, broadcast combined msg_decrypt */
|
||||||
@ -347,8 +341,10 @@ advance_round (struct BRANDT_Auction *ad,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ad->bcast (ad->closure, buf, buflen);
|
ad->bcast (ad->closure, buf, buflen);
|
||||||
|
}
|
||||||
|
|
||||||
/* now we are done as seller and can determine the outcome */
|
if (msg_decrypt == ad->cur_round)
|
||||||
|
{
|
||||||
report_outcome (ad, atype, outcome);
|
report_outcome (ad, atype, outcome);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user