Neil Horman
3c68198e75
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>
2012-10-26 02:22:18 -04:00
..
9p
9p: Reduce object size with CONFIG_NET_9P_DEBUG
2012-01-05 10:51:44 -06:00
bluetooth
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
2012-09-24 14:39:16 -04:00
caif
caif-hsi: Remove use of module parameters
2012-06-25 16:44:12 -07:00
irda
TTY: ircomm, use tty from tty_port
2012-06-12 15:50:24 -07:00
iucv
af_iucv: add shutdown for HS transport
2012-03-07 22:52:24 -08:00
netfilter
netlink: Rename pid to portid to avoid confusion
2012-09-10 15:30:41 -04:00
netns
sctp: Make hmac algorithm selection for cookie generation dynamic
2012-10-26 02:22:18 -04:00
nfc
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-28 11:11:16 -04:00
phonet
net: remove my future former mail address
2012-06-17 16:29:38 -07:00
sctp
sctp: Make hmac algorithm selection for cookie generation dynamic
2012-10-26 02:22:18 -04:00
tc_act
act_api.h
addrconf.h
netfilter: ip6tables: add MASQUERADE target
2012-08-30 03:00:18 +02:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
unix: Remove unused field from unix_sock
2012-10-21 20:37:06 -04:00
ah.h
arp.h
net: Dont use ifindices in hash fns
2012-08-09 16:18:06 -07:00
atmclip.h
ax25.h
userns: Convert net/ax25 to use kuid_t where appropriate
2012-08-14 21:49:42 -07:00
ax88796.h
cfg80211-wext.h
cfg80211.h
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
2012-09-28 11:11:16 -04:00
checksum.h
net: core: add function for incremental IPv6 pseudo header checksum updates
2012-08-30 03:00:16 +02:00
cipso_ipv4.h
cipso: handle CIPSO options correctly when NetLabel is disabled
2012-06-01 14:18:29 -04:00
cls_cgroup.h
cgroup: Assign subsystem IDs during compile time
2012-09-14 09:57:43 -07:00
codel.h
codel: refine one condition to avoid a nul rec_inv_sqrt
2012-08-10 16:52:54 -07:00
compat.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
datalink.h
dcbevent.h
dcbnl.h
net/dcb: Add an optional max rate attribute
2012-04-05 05:08:04 -04:00
dn.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
dn_dev.h
dn_fib.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
dn_neigh.h
dn_nsp.h
dn_route.h
decnet: Use neighbours privately in dn_route struct.
2012-07-05 01:12:14 -07:00
dsa.h
dsfield.h
dst.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2012-08-22 14:21:38 -07:00
dst_ops.h
net: Fix warnings in dst_ops.h
2012-07-19 10:43:03 -07:00
esp.h
ethoc.h
fib_rules.h
ipv4: Elide fib_validate_source() completely when possible.
2012-06-29 01:36:36 -07:00
flow.h
ipv4: Add FLOWI_FLAG_KNOWN_NH
2012-10-08 17:42:36 -04:00
flow_keys.h
garp.h
gen_stats.h
genetlink.h
netlink: Rename pid to portid to avoid confusion
2012-09-10 15:30:41 -04:00
gre.h
gro_cells.h
net: add gro_cells infrastructure
2012-10-01 17:01:46 -04:00
icmp.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
ieee80211_radiotap.h
wireless: add radiotap A-MPDU status field
2012-08-20 13:53:09 +02:00
ieee802154.h
ieee802154_netdev.h
mac802154: declare reduced mlme operations
2012-05-16 15:16:56 -04:00
if_inet6.h
net: delete all instances of special processing for token ring
2012-05-15 20:14:35 -04:00
inet6_connection_sock.h
ipv6: Add helper inet6_csk_update_pmtu().
2012-07-16 03:44:56 -07:00
inet6_hashtables.h
ipv6: Early TCP socket demux
2012-07-26 15:50:39 -07:00
inet_common.h
net-tcp: Fast Open client - sendmsg(MSG_FASTOPEN)
2012-07-19 11:02:03 -07:00
inet_connection_sock.h
net: ipv6: fix TCP early demux
2012-08-06 13:33:21 -07:00
inet_ecn.h
tunnel: drop packet if ECN present with not-ECT
2012-09-27 18:12:37 -04:00
inet_frag.h
ipv6: unify fragment thresh handling code
2012-09-19 17:23:28 -04:00
inet_hashtables.h
ipv4: Early TCP socket demux.
2012-06-19 21:22:05 -07:00
inet_sock.h
net: use a per task frag allocator
2012-09-24 16:31:37 -04:00
inet_timewait_sock.h
inetpeer.h
ipv4: Maintain redirect and PMTU info in struct rtable again.
2012-07-10 22:40:14 -07:00
ip.h
ipv4: fix path MTU discovery with connection tracking
2012-08-26 19:13:55 +02:00
ip6_checksum.h
ip6_fib.h
ipv6: add support of equal cost multipath (ECMP)
2012-10-23 02:38:32 -04:00
ip6_route.h
ipv6: fix inet6_csk_xmit()
2012-07-18 08:59:58 -07:00
ip6_tunnel.h
gre: Support GRE over IPv6
2012-08-14 14:28:32 -07:00
ip_fib.h
ipv4: add a fib_type to fib_info
2012-10-04 13:58:26 -04:00
ip_vs.h
ipvs: add pmtu_disc option to disable IP DF for TUN packets
2012-08-10 10:35:07 +09:00
ipcomp.h
ipconfig.h
ipip.h
ipv4: gre: add GRO capability
2012-10-01 17:01:57 -04:00
ipv6.h
ipv6: make ip6_frag_nqueues() and ip6_frag_mem() static inline
2012-09-19 17:23:28 -04:00
ipx.h
iw_handler.h
lapb.h
lapb: Neaten debugging
2012-05-17 18:45:20 -04:00
lib80211.h
llc.h
llc: Remove stray reference to sysctl_llc_station_ack_timeout.
2012-09-17 13:13:24 -04:00
llc_c_ac.h
llc_c_ev.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
net: delete all instances of special processing for token ring
2012-05-15 20:14:35 -04:00
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
mac80211.h
mac80211: add key flag for management keys
2012-09-10 11:29:17 +02:00
mac802154.h
mac802154: add wpan device-class support
2012-06-26 21:06:11 -07:00
mip6.h
mld.h
ndisc.h
net: Dont use ifindices in hash fns
2012-08-09 16:18:06 -07:00
neighbour.h
net: output path optimizations
2012-08-07 16:24:55 -07:00
net_namespace.h
sections: fix section conflicts in net
2012-10-06 03:04:45 +09:00
net_ratelimit.h
netdma.h
netevent.h
net: Pass neighbours and dest address into NETEVENT_REDIRECT events.
2012-07-05 02:21:55 -07:00
netlabel.h
userns: Convert the audit loginuid to be a kuid
2012-09-17 18:08:54 -07:00
netlink.h
netlink: Rename pid to portid to avoid confusion
2012-09-10 15:30:41 -04:00
netprio_cgroup.h
cgroup: Assign subsystem IDs during compile time
2012-09-14 09:57:43 -07:00
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
pkt_cls.h
pkt_sched.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
protocol.h
ipv6: Early TCP socket demux
2012-07-26 15:50:39 -07:00
psnap.h
raw.h
rawv6.h
ipv6: bool/const conversions phase2
2012-05-19 01:08:16 -04:00
red.h
net_sched: red: Make minor corrections to comments
2012-04-16 23:53:11 -04:00
regulatory.h
cfg80211: add cellular base station regulatory hint support
2012-07-17 12:16:39 +02:00
request_sock.h
tcp: TCP Fast Open Server - support TFO listeners
2012-08-31 20:02:19 -04:00
rose.h
route.h
ipv4: introduce rt_uses_gateway
2012-10-08 17:42:36 -04:00
rtnetlink.h
rtnl: allow to specify different num for rx and tx queue count
2012-07-20 11:06:59 -07:00
sch_generic.h
net sched: Pass the skb into change so it can access NETLINK_CB
2012-08-14 21:55:28 -07:00
scm.h
net: Remove unnecessary NULL check in scm_destroy().
2012-09-24 15:52:33 -04:00
secure_seq.h
slhc_vj.h
snmp.h
net: avoid reloads in SNMP_UPD_PO_STATS
2012-08-06 13:40:47 -07:00
sock.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00
stp.h
tcp.h
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-10-02 11:11:09 -07:00
tcp_memcontrol.h
cgroup: pass struct mem_cgroup instead of struct cgroup to socket memcg
2012-04-10 10:04:07 -07:00
tcp_states.h
timewait_sock.h
[PATCH] tcp: Cache inetpeer in timewait socket, and only when necessary.
2012-06-09 14:56:12 -07:00
transp_v6.h
udp.h
net/ipv6/udp: UDP encapsulation: introduce encap_rcv hook into IPv6
2012-04-28 22:21:51 -04:00
udplite.h
net: ipv4: Standardize prefixes for message logging
2012-03-12 17:05:21 -07:00
wext.h
wimax.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
wpan-phy.h
mac802154: monitor device support
2012-05-16 15:17:08 -04:00
x25.h
net: cleanup unsigned to unsigned int
2012-04-15 12:44:40 -04:00
x25device.h
xfrm.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2012-10-02 13:38:27 -07:00