connect-manager: Ignore connectivity checks for incomplete checklists
This could cause a crash due to signature verification with missing
key (although, memcpy() likely just returns with length 0), but it
also makes the signature predictable as the key is omitted.
Fixes: d5cc175833 ("experimental P2P-NAT-T for IKEv2 merged back from branch")
This commit is contained in:
@@ -1398,6 +1398,14 @@ METHOD(connect_manager_t, process_check, void,
|
|||||||
this->mutex->unlock(this->mutex);
|
this->mutex->unlock(this->mutex);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (checklist->state == CHECK_NONE)
|
||||||
|
{
|
||||||
|
DBG1(DBG_IKE, "checklist with id '%#B' not ready yet",
|
||||||
|
&check->connect_id);
|
||||||
|
check_destroy(check);
|
||||||
|
this->mutex->unlock(this->mutex);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
chunk_t sig = build_signature(this, checklist, check, FALSE);
|
chunk_t sig = build_signature(this, checklist, check, FALSE);
|
||||||
if (!chunk_equals(sig, check->auth))
|
if (!chunk_equals(sig, check->auth))
|
||||||
|
|||||||
Reference in New Issue
Block a user