Michael Tuexen
1b084a5e5e
Plug mbuf leak in the SCTP input path in an error case.
...
Approved by: re (kib@)
MFC after: 1 week
CID: 749312
2018-09-30 21:54:02 +00:00
Michael Tuexen
839d21d62e
Use the stacb instead of the asoc in state macros.
...
This is not a functional change. Just a preparation for upcoming
dtrace state change provider support.
2018-08-13 13:58:45 +00:00
Michael Tuexen
0053ed28ff
Whitespace changes due to changes in ident.
2018-07-19 20:16:33 +00:00
Michael Tuexen
b0471b4b95
Revert https://svnweb.freebsd.org/changeset/base/336503
...
since I also ran the export script with different parameters.
2018-07-19 20:11:14 +00:00
Michael Tuexen
7679e49dd4
Whitespace changes due to change if ident.
2018-07-19 19:33:42 +00:00
Pedro F. Giffuni
51369649b0
sys: further adoption of SPDX licensing ID tags.
...
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:43:44 +00:00
Michael Tuexen
09c53cb6cc
Remove unused function.
...
MFC after: 1 week
2017-09-27 13:05:23 +00:00
Michael Tuexen
5ba7f91f9d
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
2017-07-19 14:28:58 +00:00
Michael Tuexen
b7b84c0e02
Whitespace changes.
...
The toolchain for processing the sources has been updated. No functional
change.
MFC after: 3 days
2016-12-26 11:06:41 +00:00
Michael Tuexen
5b495f17a5
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
2016-12-06 10:21:25 +00:00
Michael Tuexen
7154bf4a41
Add the UDP encaps port as a parameter to sctp_add_remote_addr().
...
This is currently only a code change without any functional
change. But this allows to set the remote encapsulation port
in a more detailed way, which will be provided in a follow-up
commit.
MFC after: 1 week
2016-04-30 14:25:00 +00:00
Michael Tuexen
467f0d55b4
Whitespace changes.
2016-02-16 20:33:18 +00:00
Michael Tuexen
2b1c7de4d8
Improve the teardown of the SCTP stack.
...
Obtained from: bz@
MFC after: 1 week
2016-02-16 19:36:25 +00:00
Michael Tuexen
267dbe63a1
Provide consistent error causes whenever an ABORT chunk is sent.
...
MFC after: 1 week
2015-07-27 22:35:54 +00:00
Michael Tuexen
d089f9b915
Add FIB support for SCTP.
...
This fixes https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200379
MFC after: 3 days
2015-06-17 15:20:14 +00:00
Michael Tuexen
790a758db8
Correctly detect the case where the last address is removed.
...
MFC after: 3 days
2015-06-14 22:14:00 +00:00
Michael Tuexen
70fa550b45
Fix a bug where messages would not be sent in SHUTDOWN_RECEIVED state.
...
This problem was reported by Mark Bonnekessel and Markus Boese.
Thanks to Irene Ruengeler for helping me to fix the cause of
the problem. It can be tested with the following packetdrill script:
+0.0 socket(..., SOCK_STREAM, IPPROTO_SCTP) = 3
+0.0 fcntl(3, F_GETFL) = 0x2 (flags O_RDWR)
+0.0 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
// Check the handshake with an empty(!) cookie
+0.1 connect(3, ..., ...) = -1 EINPROGRESS (Operation now in progress)
+0.0 > sctp: INIT[flgs=0, tag=1, a_rwnd=..., os=..., is=..., tsn=0, ...]
+0.1 < sctp: INIT_ACK[flgs=0, tag=2, a_rwnd=10000, os=1, is=1, tsn=0, STATE_COOKIE[len=4, val=...]]
+0.0 > sctp: COOKIE_ECHO[flgs=0, len=4, val=...]
+0.1 < sctp: COOKIE_ACK[flgs=0]
+0.0 getsockopt(3, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
+0.0 write(3, ..., 1024) = 1024
+0.0 > sctp: DATA[flgs=BE, len=1040, tsn=0, sid=0, ssn=0, ppid=0]
+0.0 write(3, ..., 1024) = 1024 // Pending due to Nagle
+0.0 < sctp: SHUTDOWN[flgs=0, cum_tsn=0]
+0.0 > sctp: DATA[flgs=BE, len=1040, tsn=1, sid=0, ssn=1, ppid=0]
+0.0 < sctp: SACK[flgs=0, cum_tsn=1, a_rwnd=10000, gaps=[], dups=[]] // Do we need another SHUTDOWN here?
+0.0 > sctp: SHUTDOWN_ACK[flgs=0]
+0.0 < sctp: SHUTDOWN_COMPLETE[flgs=0]
+0.0 close(3) = 0
MFC after: 3 days
2015-05-28 18:34:02 +00:00
Michael Tuexen
b7d130befc
Fix and cleanup the debug information. This has no user-visible changes.
...
Thanks to Irene Ruengeler for proving a patch.
MFC after: 3 days
2015-05-28 16:00:23 +00:00
Michael Tuexen
3ff78fbbd9
Add protection code to free memory in case of processing an address which
...
is neither IPv4 or IPv6.
Reported by: Coverity
CID: 749311
MFC after: 1 week
2015-01-18 20:53:20 +00:00
Michael Tuexen
f104b614a0
Remove dead code.
...
Reported by: Coverity
CID: 1018053
MFC after: 1 week
2015-01-12 07:29:35 +00:00
Michael Tuexen
448e859674
Remove dead code.
...
Reported by: Coverity
CID: 748660, 748661
MFC after: 1 week
2015-01-11 22:23:39 +00:00
Michael Tuexen
23602b60fb
Address another warnings reported by Patrick Laimbock when compiling
...
in userspace. While there, improve consistency.
MFC after: 1 week
2014-09-07 17:07:19 +00:00
Michael Tuexen
24aaac8d59
Use union sctp_sockstore instead of struct sockaddr_storage. This
...
eliminiates some warnings when building in userland.
Thanks to Patrick Laimbock for reporting this issue.
Remove also some unnecessary casts.
There should be no functional change.
MFC after: 1 week
2014-09-07 09:06:26 +00:00
Michael Tuexen
c79bec9c75
Add support for the SCTP_AUTH_SUPPORTED and SCTP_ASCONF_SUPPORTED
...
socket options. Add also a sysctl to control the support of ASCONF.
MFC after: 1 week
2014-08-12 11:30:16 +00:00
Michael Tuexen
6ba22f19ca
Honor jails for unbound SCTP sockets when selecting source addresses,
...
reporting IP-addresses to the peer during the handshake, adding
addresses to the host, reporting the addresses via the sysctl
interface (used by netstat, for example) and reporting the
addresses to the application via socket options.
This issue was reported by Bernd Walter.
MFC after: 3 days
2014-06-20 13:26:49 +00:00
Michael Tuexen
a9d94d290b
Make sure that we don't try to build an ASCONF-ACK chunk
...
larger than what fits in the the mbuf cluster.
This issue was reported by Andrew Galante.
MFC after: 3 days
2013-11-07 17:08:09 +00:00
Michael Tuexen
c9eb4473b4
Use htons()/ntohs() appropriately.
...
These issues were reported by Andrew Galante.
MFC after: 3 days
2013-11-07 16:37:12 +00:00
Michael Tuexen
b54ddf225f
Changes from upstream to improve compilation when INET or INET6
...
or none of them is defined.
MFC after: 3 days
2013-11-02 20:12:19 +00:00
Michael Tuexen
88a95b1f25
Allow the code to be compiled without warnings for any combination
...
of INET, INET6 and SCTP_DEBUG defines.
The issue was reported by Lally Singh.
MFC after: 2 weeks
2013-07-20 13:14:59 +00:00
Michael Tuexen
a1cb341b5d
Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK
...
only the supported address types. While there, do some whitespace
cleanups.
MFC after: 1 week
2013-02-09 17:26:14 +00:00
Gleb Smirnoff
eb1b1807af
Mechanically substitute flags from historic mbuf allocator with
...
malloc(9) flags within sys.
Exceptions:
- sys/contrib not touched
- sys/mbuf.h edited manually
2012-12-05 08:04:20 +00:00
Michael Tuexen
fe6bb0a788
Whitespace cleanup.
...
MFC after: 10 days
2012-09-08 20:54:54 +00:00
Michael Tuexen
dd294dcec6
Using %p in a format string requires a void *.
...
MFC after: 10 days
2012-09-05 18:52:01 +00:00
Michael Tuexen
5e20b91dbe
Changes which improve compilation if neither INET nor INET6 is defined.
...
MFC after: 3 days
2012-07-15 20:16:17 +00:00
Michael Tuexen
b1754ad17b
Pass the src and dst address of a received packet explicitly around.
...
MFC after: 3 days
2012-06-28 16:01:08 +00:00
Michael Tuexen
b82bd838f6
Use an existing function to get the source address.
...
MFC after: 3 days
2012-06-03 14:54:50 +00:00
Michael Tuexen
11ef11db47
Small cleanups. No functional change.
...
MFC after: 3 days
2012-06-01 08:26:50 +00:00
Michael Tuexen
807aad636f
Use consistent text at the begining of the files.
...
MFC after: 3 days
2012-05-23 11:26:28 +00:00
Michael Tuexen
a2b42326b5
Provide in the association change notification the received ABORT chunk
...
if case of SCTP_COMM_LOST or SCTP_CANT_STR_ASSOC as required by RFC 6458.
MFC after: 3 days
2012-05-12 20:11:35 +00:00
Michael Tuexen
60990c0c06
Address issues found by clang. While there, fix also some style
...
issues.
MFC after: 3 months.
2011-12-27 10:16:24 +00:00
Michael Tuexen
7215cc1b74
Fix unused parameter warnings.
...
While there, fix some whitespace issues.
MFC after: 3 months.
2011-12-17 19:21:40 +00:00
Michael Tuexen
3657c405e3
Fix a typo introduced in
...
http://svn.freebsd.org/changeset/base/225571
Reported by Ilya A. Arkhipov.
Approved by: re
MFC after: 1 month.
2011-09-15 12:20:52 +00:00
Michael Tuexen
92776dfd5a
Make sure that SCTP rejects broadcast, multicast and wildcard addresses
...
as remote addresses.
Approved by: re
MFC after: 1 month.
2011-09-15 08:49:54 +00:00
Michael Tuexen
ca85e9482a
The result of a joint work between rrs@ and myself at the IETF:
...
* Decouple the path supervision using a separate HB timer per path.
* Add support for potentially failed state.
* Bring back RTO.min to 1 second.
* Accept packets on IP-addresses already announced via an ASCONF
* While there: do some cleanups.
Approved by: re@
MFC after: 2 months.
2011-08-03 20:21:00 +00:00
Michael Tuexen
274b0bd51d
Remove code with any effect.
2011-05-03 20:34:02 +00:00
Michael Tuexen
1d663b4658
Add a missing break. This bug was introduced in r221249.
...
MFC after: 1 week
2011-05-03 20:32:21 +00:00
Michael Tuexen
e6194c2ed4
Improve compilation of SCTP code without INET support.
...
Some bugs where fixed while doing this:
* ASCONF-ACK messages might use wrong port number when using
IPv6.
* Checking for additional addresses takes the correct address
into account and also does not do more comparisons than
necessary.
This patch is based on one received from bz@ who was
sponsored by The FreeBSD Foundation and iXsystems.
MFC after: 1 week
2011-04-30 11:18:16 +00:00
Michael Tuexen
2678fe1ee9
Remove addresses from endpoint when there are no associations.
...
This fixes a bug reported by brucec@.
MFC after: 3 months.
2011-02-10 14:46:37 +00:00
Randall Stewart
5d40cf5d23
1) Typo correction in comments and one spacing change.
...
2) Mass update to all copyrights.
MFC after: 3 Months
2011-02-05 12:12:51 +00:00
Randall Stewart
dec0177df6
1) Move per John Baldwin to mp_maxid
...
2) Some signed/unsigned errors found by Mac OS compiler (from Michael)
3) a couple of copyright updates on the effected files.
MFC after: 3 months
2011-02-03 19:22:21 +00:00