ims_ipsec_pcscf: IPv6 support
authorAleksandar Yosifov <alexyosifov@gmail.com>
Thu, 23 May 2019 09:06:45 +0000 (12:06 +0300)
committerAleksandar Yosifov <alexyosifov@gmail.com>
Tue, 4 Jun 2019 06:37:38 +0000 (09:37 +0300)
commit5fe9c7d5a82a12f0033785e3ee7fa2d35bc0f3df
tree1b7e4bf7500a221ef20c6fbc142e43e2ee4a5918
parenta3a2b00b2acf37bd18067be266769441899aa406
ims_ipsec_pcscf: IPv6 support

- Set authentication algorithm for SA depending of
  parsed security-client info from REGISTER request msg.
  For now, the supported algorithms are md5 and sha1,
  the default algorithm is sha1.

- fill_contact() changes:
  No significant changes, but added a debug message
  and code is more readable.

- Added support for IPv6.
  A new parameter IPSEC_LISTEN_ADDR6 is added in pcscf.cfg
  file that describe IPv6 listen address.
  A new module parameter ipsec_listen_addr6 is added in
  kamailio.cfg to pass IPv6 listen address into the ipsec module.

- mode_init() changes:
  Add ipv4 and/or ipv6 listen interfaces depending of configured
  parameters in pcscf/kamailio config files.

- create_ipsec_tunnel() changes:
  Update temp security parameters for contact.
  Add 4 SAs and polisies (UE client->Proxy server, Proxy client->
  UE server, Proxy server->UE client and UE server->Proxy client).
  Server->client SAs are used for TCP connections.

- destroy_ipsec_tunnel() changes:
  Remove all SAs and policies.

- ipsec_forward() changes:
  Refactored to use both UDP and TCP protocols. Selects the protocol
  type, sourse and destination ports based on message type.

- Removed unused method convert_ip_address(). Replaced by core methods
  str2ipbuf() and str2ip6buf().

- changes in README
  README regenerated via ims_ipsec_pscscf_admin.xml.
  Added a new parameter for listen IPv6 address.
src/modules/ims_ipsec_pcscf/README
src/modules/ims_ipsec_pcscf/cmd.c
src/modules/ims_ipsec_pcscf/doc/ims_ipsec_pcscf_admin.xml
src/modules/ims_ipsec_pcscf/ims_ipsec_pcscf_mod.c
src/modules/ims_ipsec_pcscf/ipsec.c
src/modules/ims_ipsec_pcscf/ipsec.h