#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
2fef18f8 |
| 19-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r320994 through r321238.
|
#
5ba7f91f |
| 19-Jul-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
Use memset/memcpy instead of bzero/bcopy.
Just use one variant instead of both. Use the memset/memcpy ones since they cause less problems in crossplatform deployment.
MFC after: 1 week
|
#
af3f3602 |
| 27-Apr-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r317281 through r317502.
|
#
d274bcc6 |
| 26-Apr-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix an issue with MTU calculation if an ICMP messaeg is received for an SCTP/UDP packet.
MFC after: 1 week
|
#
6ebfa5ee |
| 26-Apr-2017 |
Michael Tuexen <tuexen@FreeBSD.org> |
Use consistently uint32_t for mtu values.
This does not change functionality, but this cleanup is need for further improvements of ICMP handling.
MFC after: 1 week
|
#
a3906ca5 |
| 17-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313644 through r313895.
|
#
627c036f |
| 13-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Remove IPsec related PCB code from SCTP.
The inpcb structure has inp_sp pointer that is initialized by ipsec_init_pcbpolicy() function. This pointer keeps strorage for IPsec security policies associ
Remove IPsec related PCB code from SCTP.
The inpcb structure has inp_sp pointer that is initialized by ipsec_init_pcbpolicy() function. This pointer keeps strorage for IPsec security policies associated with a specific socket. An application can use IP_IPSEC_POLICY and IPV6_IPSEC_POLICY socket options to configure these security policies. Then ip[6]_output() uses inpcb pointer to specify that an outgoing packet is associated with some socket. And IPSEC_OUTPUT() method can use a security policy stored in the inp_sp. For inbound packet the protocol-specific input routine uses IPSEC_CHECK_POLICY() method to check that a packet conforms to inbound security policy configured in the inpcb.
SCTP protocol doesn't specify inpcb for ip[6]_output() when it sends packets. Thus IPSEC_OUTPUT() method does not consider such packets as associated with some socket and can not apply security policies from inpcb, even if they are configured. Since IPSEC_CHECK_POLICY() method is called from protocol-specific input routine, it can specify inpcb pointer and associated with socket inbound policy will be checked. But there are two problems: 1. Such check is asymmetric, becasue we can not apply security policy from inpcb for outgoing packet. 2. IPSEC_CHECK_POLICY() expects that caller holds INPCB lock and access to inp_sp is protected. But for SCTP this is not correct, becasue SCTP uses own locks to protect inpcb.
To fix these problems remove IPsec related PCB code from SCTP. This imply that IP_IPSEC_POLICY and IPV6_IPSEC_POLICY socket options will be not applicable to SCTP sockets. To be able correctly check inbound security policies for SCTP, mark its protocol header with the PR_LASTHDR flag.
Reported by: tuexen Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D9538
show more ...
|
#
1a36faad |
| 11-Feb-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r313301 through r313643.
|
#
15df32b4 |
| 07-Feb-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r313360
|
#
fcf59617 |
| 06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/.
Small summary -------------
o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option
Merge projects/ipsec into head/.
Small summary -------------
o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting.
Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352
show more ...
|
#
b7b84c0e |
| 26-Dec-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Whitespace changes.
The toolchain for processing the sources has been updated. No functional change.
MFC after: 3 days
|
#
1bde3b70 |
| 09-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309519 through r309757.
|
#
5b495f17 |
| 06-Dec-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Whitespace changes.
The tools using to generate the sources has been updated and produces different whitespaces. Commit this seperately to avoid intermixing these with real code changes.
MFC after:
Whitespace changes.
The tools using to generate the sources has been updated and produces different whitespaces. Commit this seperately to avoid intermixing these with real code changes.
MFC after: 3 days
show more ...
|
Revision tags: release/11.0.1, release/11.0.0 |
|
#
55b8cd93 |
| 23-Jun-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Don't consider the socket when processing an incoming ICMP/ICMP6 packet, which was triggered by an SCTP packet. Whether a socket exists, is just not relevant.
Approved by: re (kib) MFC after: 1 week
|
#
ec70917f |
| 01-May-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
When a client uses UDP encapsulation and lists IP addresses in the INIT chunk, enable UDP encapsulation for all those addresses. This helps clients using a userland stack to support multihoming if th
When a client uses UDP encapsulation and lists IP addresses in the INIT chunk, enable UDP encapsulation for all those addresses. This helps clients using a userland stack to support multihoming if they are not behind a NAT.
MFC after: 1 week
show more ...
|
#
b1deed45 |
| 18-Apr-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Address issues found by the XCode code analyzer.
|
#
b9dd6a90 |
| 16-Apr-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix the ICMP6 handling for SCTP. Keep the IPv4 code in sync.
MFC after: 1 week
|
Revision tags: release/10.3.0 |
|
#
14e9c916 |
| 24-Feb-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r295902 through r296006.
|
#
aef2f6ad |
| 24-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
9a59fb36 |
| 23-Feb-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Don't leak an address in an error path.
CID: 1351729 MFC after: 3 days
|
#
317cec3c |
| 22-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
9893f787 |
| 21-Feb-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r295601 through r295844.
|
#
6df7c000 |
| 18-Feb-2016 |
Michael Tuexen <tuexen@FreeBSD.org> |
Fix reporting of mapped addressed in getpeername() and getsockname() for IPv6 SCTP sockets. This bugs were found because of an issue reported by PVS / D5245.
|