- fixed bug in diffie hellman exchange (no public value was written)

This commit is contained in:
Jan Hutter
2005-11-29 12:23:40 +00:00
parent e85220af90
commit 346af6f3de
9 changed files with 60 additions and 13 deletions
+8 -5
View File
@@ -115,7 +115,7 @@ encoding_rule_t sa_payload_encodings[] = {
static status_t verify(private_sa_payload_t *this)
{
int proposal_number = 1;
status_t status;
status_t status = SUCCESS;
iterator_t *iterator;
bool first = TRUE;
@@ -131,10 +131,7 @@ static status_t verify(private_sa_payload_t *this)
while(iterator->has_next(iterator))
{
proposal_substructure_t *current_proposal;
status = iterator->current(iterator,(void **)&current_proposal);
{
break;
}
iterator->current(iterator,(void **)&current_proposal);
if (current_proposal->get_proposal_number(current_proposal) > proposal_number)
{
if (first)
@@ -158,6 +155,12 @@ static status_t verify(private_sa_payload_t *this)
status = FAILED;
break;
}
status = current_proposal->payload_interface.verify(&(current_proposal->payload_interface));
if (status != SUCCESS)
{
break;
}
first = FALSE;
}