Fix sending of CERTREQ/CERT payloads in aggressive mode

This commit is contained in:
Martin Willi 2012-01-09 17:10:48 +01:00
parent ebc7bcb550
commit a347c1ac43
2 changed files with 12 additions and 2 deletions

View File

@ -286,9 +286,14 @@ METHOD(task_t, process_i, status_t,
}
case AGGRESSIVE:
{
if (!use_certs(this, message))
if (this->state == CR_SA)
{
return SUCCESS;
if (!use_certs(this, message))
{
return SUCCESS;
}
this->state = CR_AUTH;
return NEED_MORE;
}
return SUCCESS;
}

View File

@ -426,6 +426,10 @@ METHOD(task_t, build_r, status_t,
switch (this->state)
{
case CR_SA:
if (this->send_req)
{
build_certreqs(this, message);
}
this->state = CR_AUTH;
return NEED_MORE;
case CR_AUTH:
@ -474,6 +478,7 @@ METHOD(task_t, process_i, status_t,
}
process_certreqs(this, message);
process_certs(this, message);
this->state = CR_AUTH;
return SUCCESS;
}
default: