freebsd-skq/sys/netipsec
Andrey V. Elsukov 962ac6c727 Change ipsec_address() and ipsec_logsastr() functions to take two
additional arguments - buffer and size of this buffer.

ipsec_address() is used to convert sockaddr structure to presentation
format. The IPv6 part of this function returns pointer to the on-stack
buffer and at the moment when it will be used by caller, it becames
invalid. IPv4 version uses 4 static buffers and returns pointer to
new buffer each time when it called. But anyway it is still possible
to get corrupted data when several threads will use this function.

ipsec_logsastr() is used to format string about SA entry. It also
uses static buffer and has the same problem with concurrent threads.

To fix these problems add the buffer pointer and size of this
buffer to arguments. Now each caller will pass buffer and its size
to these functions. Also convert all places where these functions
are used (except disabled code).

And now ipsec_address() uses inet_ntop() function from libkern.

PR:		185996
Differential Revision:	https://reviews.freebsd.org/D2321
Reviewed by:	gnn
Sponsored by:	Yandex LLC
2015-04-18 16:58:33 +00:00
..
ah_var.h Migrate structs ahstat, espstat, ipcompstat, ipipstat, pfkeystat, 2013-07-09 10:08:13 +00:00
ah.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
esp_var.h Migrate structs ahstat, espstat, ipcompstat, ipipstat, pfkeystat, 2013-07-09 10:08:13 +00:00
esp.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
ipcomp_var.h Migrate structs ahstat, espstat, ipcompstat, ipipstat, pfkeystat, 2013-07-09 10:08:13 +00:00
ipcomp.h /* -> /*- for license, minor formatting changes 2005-01-07 01:45:51 +00:00
ipsec6.h
ipsec_input.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
ipsec_mbuf.c Remove route chaching support from ipsec code. It isn't used for some time. 2014-12-02 04:20:50 +00:00
ipsec_output.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
ipsec.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
ipsec.h Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
key_debug.c Rename ip4_def_policy variable to def_policy. It is used by both IPv4 and 2014-12-24 18:34:56 +00:00
key_debug.h Remove __P() macro. 2014-12-03 04:08:41 +00:00
key_var.h Remove more constants related to static sysctl nodes. The MAXID constants 2014-02-25 18:44:33 +00:00
key.c Fix handling of scoped IPv6 addresses in IPSec code. 2015-04-18 16:46:31 +00:00
key.h Remove __P() macro. 2014-12-03 04:08:41 +00:00
keydb.h Remove __P() macro. 2014-12-03 04:08:41 +00:00
keysock.c In order to reduce use of M_EXT outside of the mbuf allocator and 2015-01-06 12:59:37 +00:00
keysock.h Remove __P() macro. 2014-12-03 04:08:41 +00:00
xform_ah.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
xform_esp.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
xform_ipcomp.c Change ipsec_address() and ipsec_logsastr() functions to take two 2015-04-18 16:58:33 +00:00
xform_tcp.c Remove route chaching support from ipsec code. It isn't used for some time. 2014-12-02 04:20:50 +00:00
xform.h Remove xform_ipip.c and code related to XF_IP4. 2015-04-18 16:38:45 +00:00