- fixed bug in diffie hellman exchange (no public value was written)
This commit is contained in:
@@ -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 **)¤t_proposal);
|
||||
{
|
||||
break;
|
||||
}
|
||||
iterator->current(iterator,(void **)¤t_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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user