QUIC LCIDM: Add debug calls
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22673)
This commit is contained in:
parent
766603a9a5
commit
1f2958536e
@ -235,6 +235,23 @@ int ossl_quic_lcidm_lookup(QUIC_LCIDM *lcidm,
|
||||
uint64_t *seq_num,
|
||||
void **opaque);
|
||||
|
||||
/*
|
||||
* Debug call to manually remove a specific LCID. Should not be needed in normal
|
||||
* usage. Returns 1 if the LCID was successfully found and removed and 0
|
||||
* otherwise.
|
||||
*/
|
||||
int ossl_quic_lcidm_debug_remove(QUIC_LCIDM *lcidm,
|
||||
const QUIC_CONN_ID *lcid);
|
||||
|
||||
/*
|
||||
* Debug call to manually add a numbered LCID with a specific CID value and
|
||||
* sequence number. Should not be needed in normal usage. Returns 1 on success
|
||||
* and 0 on failure.
|
||||
*/
|
||||
int ossl_quic_lcidm_debug_add(QUIC_LCIDM *lcidm, void *opaque,
|
||||
const QUIC_CONN_ID *lcid,
|
||||
uint64_t seq_num);
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
@ -473,3 +473,41 @@ int ossl_quic_lcidm_lookup(QUIC_LCIDM *lcidm,
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ossl_quic_lcidm_debug_remove(QUIC_LCIDM *lcidm,
|
||||
const QUIC_CONN_ID *lcid)
|
||||
{
|
||||
QUIC_LCID key, *lcid_obj;
|
||||
|
||||
key.cid = *lcid;
|
||||
if ((lcid_obj = lh_QUIC_LCID_retrieve(lcidm->lcids, &key)) == NULL)
|
||||
return 0;
|
||||
|
||||
lcidm_delete_conn_lcid(lcidm, lcid_obj);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int ossl_quic_lcidm_debug_add(QUIC_LCIDM *lcidm, void *opaque,
|
||||
const QUIC_CONN_ID *lcid,
|
||||
uint64_t seq_num)
|
||||
{
|
||||
QUIC_LCIDM_CONN *conn;
|
||||
QUIC_LCID key, *lcid_obj;
|
||||
|
||||
if (lcid == NULL || lcid->id_len > QUIC_MAX_CONN_ID_LEN)
|
||||
return 0;
|
||||
|
||||
if ((conn = lcidm_upsert_conn(lcidm, opaque)) == NULL)
|
||||
return 0;
|
||||
|
||||
key.cid = *lcid;
|
||||
if (lh_QUIC_LCID_retrieve(lcidm->lcids, &key) != NULL)
|
||||
return 0;
|
||||
|
||||
if ((lcid_obj = lcidm_conn_new_lcid(lcidm, conn, lcid)) == NULL)
|
||||
return 0;
|
||||
|
||||
lcid_obj->seq_num = seq_num;
|
||||
lcid_obj->type = LCID_TYPE_NCID;
|
||||
return 1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user