summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
48ae19e)
1. fix wrong assignemnt of lik/rik
2. keys initialized to 0, to avoid using random data
in stack. could cause memory overlapped then crash
3. show sa->id in hex format
Change-Id: Id0430aa49bb55c27cee4f97f8c0e4ec87515dcd2
Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
ipsec_protocol_t proto;
ipsec_sa_flags_t flags;
clib_error_t *error;
ipsec_protocol_t proto;
ipsec_sa_flags_t flags;
clib_error_t *error;
+ ipsec_key_t ck = { 0 };
+ ipsec_key_t ik = { 0 };
int is_add, rv;
u32 id, spi;
int is_add, rv;
u32 id, spi;
u8 ipv4_set = 0;
u8 ipv6_set = 0;
clib_error_t *error = NULL;
u8 ipv4_set = 0;
u8 ipv6_set = 0;
clib_error_t *error = NULL;
- ipsec_key_t rck, lck, lik, rik;
+ ipsec_key_t rck = { 0 };
+ ipsec_key_t lck = { 0 };
+ ipsec_key_t lik = { 0 };
+ ipsec_key_t rik = { 0 };
clib_memset (&a, 0, sizeof (a));
a.is_add = 1;
clib_memset (&a, 0, sizeof (a));
a.is_add = 1;
clib_memcpy (a.remote_crypto_key, rck.data, rck.len);
a.remote_crypto_key_len = rck.len;
clib_memcpy (a.remote_crypto_key, rck.data, rck.len);
a.remote_crypto_key_len = rck.len;
- clib_memcpy (a.local_integ_key, lck.data, lck.len);
+ clib_memcpy (a.local_integ_key, lik.data, lik.len);
a.local_integ_key_len = lck.len;
a.local_integ_key_len = lck.len;
- clib_memcpy (a.remote_integ_key, rck.data, rck.len);
+ clib_memcpy (a.remote_integ_key, rik.data, rik.len);
a.remote_integ_key_len = rck.len;
rv = ipsec_add_del_tunnel_if (&a);
a.remote_integ_key_len = rck.len;
rv = ipsec_add_del_tunnel_if (&a);
sa = pool_elt_at_index (im->sad, sai);
sa = pool_elt_at_index (im->sad, sai);
- s = format (s, "[%d] sa %u spi %u mode %s%s protocol %s%s%s%s",
+ s = format (s, "[%d] sa 0x%x spi %u mode %s%s protocol %s%s%s%s",
sai, sa->id, sa->spi,
sa->is_tunnel ? "tunnel" : "transport",
sa->is_tunnel_ip6 ? "-ip6" : "",
sai, sa->id, sa->spi,
sa->is_tunnel ? "tunnel" : "transport",
sa->is_tunnel_ip6 ? "-ip6" : "",