sctp: Make hmac algorithm selection for cookie generation dynamic
authorNeil Horman <nhorman@tuxdriver.com>
Wed, 24 Oct 2012 09:20:03 +0000 (09:20 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Oct 2012 06:22:18 +0000 (02:22 -0400)
commit3c68198e75111a905ac2412be12bf7b29099729b
tree109b39430631746fd4266d5fdbf8351c6c2e20d1
parent342567ccf088a6c4777ef352f559fe46aaeb047e
sctp: Make hmac algorithm selection for cookie generation dynamic

Currently sctp allows for the optional use of md5 of sha1 hmac algorithms to
generate cookie values when establishing new connections via two build time
config options.  Theres no real reason to make this a static selection.  We can
add a sysctl that allows for the dynamic selection of these algorithms at run
time, with the default value determined by the corresponding crypto library
availability.
This comes in handy when, for example running a system in FIPS mode, where use
of md5 is disallowed, but SHA1 is permitted.

Note: This new sysctl has no corresponding socket option to select the cookie
hmac algorithm.  I chose not to implement that intentionally, as RFC 6458
contains no option for this value, and I opted not to pollute the socket option
namespace.

Change notes:
v2)
* Updated subject to have the proper sctp prefix as per Dave M.
* Replaced deafult selection options with new options that allow
  developers to explicitly select available hmac algs at build time
  as per suggestion by Vlad Y.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
CC: Vlad Yasevich <vyasevich@gmail.com>
CC: "David S. Miller" <davem@davemloft.net>
CC: netdev@vger.kernel.org
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
include/net/netns/sctp.h
include/net/sctp/constants.h
include/net/sctp/structs.h
net/sctp/Kconfig
net/sctp/protocol.c
net/sctp/socket.c
net/sctp/sysctl.c