Fix sending of CERTREQ/CERT payloads in aggressive mode
This commit is contained in:
@@ -286,9 +286,14 @@ METHOD(task_t, process_i, status_t,
|
|||||||
}
|
}
|
||||||
case AGGRESSIVE:
|
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;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -426,6 +426,10 @@ METHOD(task_t, build_r, status_t,
|
|||||||
switch (this->state)
|
switch (this->state)
|
||||||
{
|
{
|
||||||
case CR_SA:
|
case CR_SA:
|
||||||
|
if (this->send_req)
|
||||||
|
{
|
||||||
|
build_certreqs(this, message);
|
||||||
|
}
|
||||||
this->state = CR_AUTH;
|
this->state = CR_AUTH;
|
||||||
return NEED_MORE;
|
return NEED_MORE;
|
||||||
case CR_AUTH:
|
case CR_AUTH:
|
||||||
@@ -474,6 +478,7 @@ METHOD(task_t, process_i, status_t,
|
|||||||
}
|
}
|
||||||
process_certreqs(this, message);
|
process_certreqs(this, message);
|
||||||
process_certs(this, message);
|
process_certs(this, message);
|
||||||
|
this->state = CR_AUTH;
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
Reference in New Issue
Block a user