ikev2: fix wrong usage of BN_bn2bin() 48/26148/5
authorFilip Tehlar <ftehlar@cisco.com>
Wed, 25 Mar 2020 02:46:28 +0000 (02:46 +0000)
committerDave Barach <openvpp@barachs.net>
Thu, 26 Mar 2020 12:32:59 +0000 (12:32 +0000)
commit336eac84eb7902eae212f05711ce06967b4d202c
tree35923841fb10b0c3dd8d88858bfcfcbb25a35747
parentc415d0a8e34a30aeb7efe2360937426b724206c2
ikev2: fix wrong usage of BN_bn2bin()

This patch fixes 2 different crashes:

1) BN_bn2bin() returns bytes written, not actual key length. Use
  BN_bn2binpad() instead which adds padding.
2) Initiator may receive multiple sa-init responses for the same ispi
  which may result in crash. Remember first response and ignore any
  subsequent ones.

Type: fix

Change-Id: Ia1eac9167e3100a6894c0563ee70bab04f6a5f4f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
src/plugins/ikev2/ikev2.c
src/plugins/ikev2/ikev2_crypto.c
src/plugins/ikev2/ikev2_priv.h