e1: change security settings only if parameters present

If the Bearer Context Modification Request does not contain security
information, the PDCP entity shall keep the currently configured security
settings.

Passing -1 for ciphering_algorithm and integrity_algorithm is the way
to implement this logic.
This commit is contained in:
Cedric Roux
2025-02-11 14:04:32 +01:00
committed by Guido Casati
parent 182b05bd5c
commit 1273446804
@@ -279,6 +279,10 @@ void e1_bearer_context_modif(const e1ap_bearer_mod_req_t *req)
security_parameters.integrity_algorithm = req->secInfo->integrityProtectionAlgorithm;
memcpy(security_parameters.ciphering_key, req->secInfo->encryptionKey, NR_K_KEY_SIZE);
memcpy(security_parameters.integrity_key, req->secInfo->integrityProtectionKey, NR_K_KEY_SIZE);
} else {
/* don't change security settings if not present in the Bearer Context Modification Request */
security_parameters.ciphering_algorithm = -1;
security_parameters.integrity_algorithm = -1;
}
nr_pdcp_reestablishment(req->gNB_cu_up_ue_id,
to_modif->id,