Michael Tuexen
9803f01cdb
Don't start an SCTP timer using a net, which has been removed.
...
Submitted by: Taylor Brandstetter
MFC after: 1 week
2020-02-11 18:15:57 +00:00
Michael Tuexen
95d27478d2
Use an int instead of a bool variable, since bool is not supported
...
on all platforms the stack is running on in userland.
2020-02-11 14:00:27 +00:00
Michael Tuexen
5555400aa5
Cleanup timer handling.
...
Submitted by: Taylor Brandstetter
MFC after: 1 week
2020-02-09 22:05:41 +00:00
Michael Tuexen
f799ff82fb
Remove unused timer.
...
Submitted by: Taylor Brandstetter
2020-02-04 14:01:07 +00:00
Michael Tuexen
397b1c945f
Ensure that we don't miss a trigger for kicking off the SCTP iterator.
...
Reported by: nwhitehorn@
MFC after: 1 week
2020-01-05 13:56:32 +00:00
Michael Tuexen
776cd558f0
Separate out SCTP related dtrace code.
...
This is based on work done by markj@.
Discussed with: markj@
MFC after: 3 days
2019-10-14 20:32:11 +00:00
Michael Tuexen
44f2a3272e
Cleanup the RTO calculation and perform some consistency checks
...
before computing the RTO.
This should fix an overflow issue reported by Felix Weinrank in
https://github.com/sctplab/usrsctp/issues/375
for the userland stack and found by running a fuzz tester.
MFC after: 3 days
2019-09-22 10:40:15 +00:00
Michael Tuexen
43ecbff2dc
Fix build issues for the userland stack on Raspbian.
2019-08-06 08:33:21 +00:00
Michael Tuexen
8a3cfbff92
Don't free read control entries, which are still on the stream queue when
...
adding them the the read queue fails
MFC after: 1 week
2019-07-15 20:45:01 +00:00
Michael Tuexen
fc26bf717c
Improve input validation for the IPPROTO_SCTP level socket options
...
SCTP_CONNECT_X and SCTP_CONNECT_X_DELAYED.
Some issues where found by running syzkaller.
MFC after: 3 days
2019-05-19 17:28:00 +00:00
Michael Tuexen
6982c0fac1
Fix an SCTP related locking issue. Don't report that the TCB_SEND_LOCK
...
is owned, when it is not.
This issue was found by running syzkaller.
MFC after: 1 week
2019-04-11 20:39:12 +00:00
Michael Tuexen
58e6eeef45
Fix build issue for the userland stack.
...
Joint work with rrs@.
MFC after: 1 week
2019-03-24 12:13:05 +00:00
Michael Tuexen
0d3cf13dab
Fix a signed/unsigned bug when receiving SCTP messages.
...
This is joint work with rrs@.
Reported by: syzbot+6b8a4bc8cc828e9d9790@syzkaller.appspotmail.com
MFC after: 1 week
2019-03-24 09:46:16 +00:00
Michael Tuexen
d9707e43df
Fix a locking issue when reporing outbount messages.
...
MFC after: 3 days
2019-02-10 14:02:14 +00:00
Michael Tuexen
0277ec9c43
Whitespace changes and fixing a typo. No functional change.
...
Approved by: re (kib@)
MFC after: 1 week
2018-09-26 10:24:50 +00:00
Michael Tuexen
1e88cc8b59
Add support for send, receive and state-change DTrace providers for
...
SCTP. They are based on what is specified in the Solaris DTrace manual
for Solaris 11.4.
Reviewed by: 0mp, dteske, markj
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D16839
2018-08-22 21:23:32 +00:00
Michael Tuexen
6ef849e601
Whitespace change.
2018-08-21 13:37:06 +00:00
Michael Tuexen
1a0b021677
Refactor the SHUTDOWN_PENDING state handling.
...
This is not a functional change but a preperation for the upcoming
DTrace support. It is necessary to change the state in one
logical operation, even if it involves clearing the sub state
SHUTDOWN_PENDING.
MFC after: 1 month
2018-08-21 13:25:32 +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
61a2188021
Use consistently the macors to modify the assoc state.
...
No functional change.
2018-08-13 11:56:21 +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
Michael Tuexen
eef8d4a973
Use correct mask.
...
Introduced in https://svnweb.freebsd.org/changeset/base/333603 .
Thanks to Irene Ruengler for testing and reporting the issue.
MFC after: 1 week
X-MFC-with: 333603
2018-05-28 13:31:47 +00:00
Michael Tuexen
c692df45fc
Only fillin data srucuture when actually stored.
2018-05-21 14:53:22 +00:00
Matt Macy
f6960e207e
netinet silence warnings
2018-05-19 05:56:21 +00:00
Michael Tuexen
589c42c2c8
Ensure that the MTU's used are multiple of 4.
...
The length of SCTP packets is always a multiple of 4. Therefore,
ensure that the MTUs used are also a multiple of 4.
Thanks to Irene Ruengeler for providing an earlier version of this
patch.
MFC after: 1 week
2018-05-14 13:50:17 +00:00
Michael Tuexen
45d41de5e6
Fix two typos reported by N. J. Mann, which were introduced in
...
https://svnweb.freebsd.org/changeset/base/333382 by me.
MFC after: 3 days
2018-05-08 20:39:35 +00:00
Michael Tuexen
9669e724d1
When reporting ERROR or ABORT chunks, don't use more data
...
that is guaranteed to be contigous.
Thanks to Felix Weinrank for finding and reporting this bug
by fuzzing the usrsctp stack.
MFC after: 3 days
2018-05-08 18:48:51 +00:00
Michael Tuexen
46bf534caf
Don't provide a (meaningless) cmsg when proving a notification
...
in a recvmsg() call.
MFC after: 1 week
2018-01-15 21:59:20 +00:00
Michael Tuexen
ad15e1548f
Unbreak compilation when using SCTP_DETAILED_STR_STATS option.
...
MFC after: 1 week
2017-11-24 12:18:48 +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
28a6adde1d
Allow the setting of the MTU for future paths using an SCTP socket option.
...
This functionality was missing.
MFC after: 1 week
2017-11-03 20:46:12 +00:00
Michael Tuexen
8c8e10b763
Code cleanup, not functional change.
...
This avoids taking a pointer of a packed structure which allows simpler
compilation of the userland stack.
MFC after: 1 week
2017-10-14 10:02:59 +00:00
Michael Tuexen
2c62ba7377
Protect the address workqueue timer by a mutex.
...
MFC after: 1 week
2017-09-20 21:29:54 +00:00
Michael Tuexen
fe40f49bb3
Remove code not used on any platform currently supported.
...
MFC after: 1 week
2017-09-16 21:26:06 +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
28cd0699b6
Fix the accounting and add code to detect errors in accounting.
...
Joint work with rrs@
MFC after: 1 week
2017-07-19 12:27:40 +00:00
Michael Tuexen
3017b21bb6
Improve compilation on platforms different from FreeBSD.
2017-06-23 08:34:01 +00:00
Gleb Smirnoff
3acfe1e1b0
This code was missing socket unlock and socket buffer lock, but it
...
worked since right now these two locks are the same.
2017-06-08 06:37:11 +00:00
Michael Tuexen
10e0318afa
Allow SCTP to use the hostcache.
...
This patch allows the MTU stored in the hostcache to be used as an
initial value for SCTP paths. When an ICMP PTB message is received,
store the MTU in the hostcache.
MFC after: 1 week
2017-04-29 19:20:50 +00:00
Michael Tuexen
6ebfa5ee14
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
2017-04-26 19:26:40 +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
8b9c95f4a9
Ensure that the reported ppid and tsn are taken from the first fragment.
...
This fixes a bug where the wrong ppid was reported, if
* I-DATA was used on the first fragement was not received first
* DATA was used and different ppids where used.
Thanks to Julian Cordes for making me aware of the issue.
MFC after: 1 week
2016-12-11 13:26:35 +00:00
Michael Tuexen
49656eefc8
Cleanup the names of SSN, SID, TSN, FSN, PPID and MID.
...
This made a couple of bugs visible in handling SSN wrap-arounds
when using DATA chunks. Now bulk transfer seems to work fine...
This fixes the issue reported in
https://github.com/sctplab/usrsctp/issues/111
MFC after: 1 week
2016-12-07 19:30:59 +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
884d8c53e6
When aborting an association, send the ABORT before notifying the upper
...
layer. For the kernel this doesn't matter, for the userland stack, it does.
While there, silence a clang warning when compiling it in userland.
2016-08-24 06:22:53 +00:00
Michael Tuexen
e19497672b
Unbreak sctp_connectx().
...
MFC after: 3 days
2016-08-20 20:15:36 +00:00
Michael Tuexen
dcb436c936
Ensure that sctp_it_ctl.cur_it does not point to a free object (during
...
a small time window).
Thanks to Byron Campen for reporting the issue and
suggesting a fix.
MFC after: 3 days
2016-08-15 10:16:08 +00:00
Michael Tuexen
9c5ca6f247
Fix a locking issue found by stress testing with tsctp.
...
The inp read lock neeeds to be held when considering control->do_not_ref_stcb.
MFC after: 3 days
2016-08-08 08:20:10 +00:00