kernel-pfkey: Set state to SADB_SASTATE_MATURE when adding/updating SAs
Picky kernels might otherwise reject our messages as RFC 2367 explicitly mandates this. Fixes #2212.
This commit is contained in:
@@ -1717,6 +1717,7 @@ METHOD(kernel_ipsec_t, add_sa, status_t,
|
||||
sa->sadb_sa_exttype = SADB_EXT_SA;
|
||||
sa->sadb_sa_len = PFKEY_LEN(len);
|
||||
sa->sadb_sa_spi = id->spi;
|
||||
sa->sadb_sa_state = SADB_SASTATE_MATURE;
|
||||
if (id->proto == IPPROTO_COMP)
|
||||
{
|
||||
sa->sadb_sa_encrypt = lookup_algorithm(COMPRESSION_ALGORITHM,
|
||||
@@ -1889,6 +1890,7 @@ METHOD(kernel_ipsec_t, update_sa, status_t,
|
||||
sa->sadb_sa_exttype = SADB_EXT_SA;
|
||||
sa->sadb_sa_len = PFKEY_LEN(sizeof(struct sadb_sa));
|
||||
sa->sadb_sa_spi = id->spi;
|
||||
sa->sadb_sa_state = SADB_SASTATE_MATURE;
|
||||
PFKEY_EXT_ADD(msg, sa);
|
||||
|
||||
/* the kernel wants a SADB_EXT_ADDRESS_SRC to be present even though
|
||||
|
||||
Reference in New Issue
Block a user