Michael Tuexen
2de5b90420
Fix the handling of fragmented unordered messages when using DATA chunks
...
and FORWARD-TSN.
This bug was reported in https://github.com/sctplab/usrsctp/issues/286
for the userland stack.
This is joint work with rrs@.
MFC after: 1 week
2019-03-25 09:47:22 +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
Devin Teske
ab9ed8a1bd
Fix misspellings of transmitter/transmitted
...
Reviewed by: emaste, bcr
Sponsored by: Smule, Inc.
Differential Revision: https://reviews.freebsd.org/D16025
2018-08-10 20:37:32 +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
95844fce7d
Make clear why there is an assignment, which is not necessary.
2018-05-21 14:51:20 +00:00
Matt Macy
f6960e207e
netinet silence warnings
2018-05-19 05:56:21 +00:00
Michael Tuexen
67e8b08bbe
Ensure we are not dereferencing a NULL pointer.
...
This was found by Coverity scanning the usrsctp stack (CID 203808).
MFC after: 3 days
2018-05-06 14:19:50 +00:00
Michael Tuexen
e9a3a1b13c
Fix a bug related to fast retransmissions.
...
When processing a SACK advancing the cumtsn-ack in fast recovery,
increment the miss-indications for all TSN's reported as missing.
Thanks to Fabian Ising for finding the bug and to Timo Voelker
for provinding a fix.
This fix moves also CMT related initialisation of some variables
to a more appropriate place.
MFC after: 1 week
2018-01-16 21:58:38 +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
253a63b817
Fix an accounting bug where data was counted twice if on the read
...
queue and on the ordered or unordered queue.
While there, improve the checking in INVARIANTs when computing the
a_rwnd.
MFC after: 3 days
2017-11-05 11:59:33 +00:00
Michael Tuexen
af03054c8a
Fix a signed/unsigned warning.
...
MFC after: 1 week
2017-10-18 21:08:35 +00:00
Michael Tuexen
7f75695a3e
Abort an SCTP association, when a DATA chunk is followed by an unknown
...
chunk with a length smaller than the minimum length.
Thanks to Felix Weinrank for making me aware of the problem.
MFC after: 3 days
2017-10-18 20:17:44 +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
53999485e0
Free the control structure after using is, not before.
...
Found by Coverity while scanning the usrsctp library.
MFC after: 1 week
2017-09-21 09:47:56 +00:00
Michael Tuexen
d0d8c7de19
No need to wakeup, since sctp_add_to_readq() does it.
...
MFC after: 1 week
2017-09-21 09:18:05 +00:00
Michael Tuexen
ad608f06ed
Remove a no longer used variable.
...
Reported by: Felix Weinrank
MFC after: 1 week
2017-09-19 15:00:19 +00:00
Michael Tuexen
72e23aba22
Fix an accounting bug and use sctp_timer_start to start a timer.
...
MFC after: 1 week
2017-09-17 09:27:27 +00:00
Michael Tuexen
e5a9c519bc
Remove duplicate statement.
2017-07-25 11:05:53 +00:00
Michael Tuexen
bbc9dfbc08
Fix the explicit EOR mode. If the final messages is not complete, send
...
an ABORT.
Joint work with rrs@
MFC after: 1 week
2017-07-20 11:09:33 +00:00
Michael Tuexen
1f76872c36
Avoid shadowed variables.
...
MFC after: 1 week
2017-07-19 15:12:23 +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
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
3d6fe5d84c
Fix the handling of buffered messages in stream reset deferred handling.
...
Thanks to Eugen-Andrei Gavriloaie for reporting the issue and providing
substantial help in nailing down the issue.
MFC after: 1 week
2016-12-17 22:31:30 +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
ebecdad811
Don't bundle a SACK chunk with a SHUTDOWN chunk if it is not required.
...
MFC after: 1 week
2016-12-09 17:58:07 +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
5cb9165556
Fix the handling of unordered fragmented user messages using DATA chunks.
...
There were two bugs:
* There was an accounting bug resulting in reporting a too small a_rwnd.
* There are a bug when abandoning messages in the reassembly queue.
MFC after: 4 weeks
2016-09-21 08:28:18 +00:00
Michael Tuexen
be46a7c54d
Improve a consistency check to not detect valid cases for
...
unordered user messages using DATA chunks as invalid ones.
While there, ensure that error causes are provided when
sending ABORT chunks in case of reassembly problems detected.
Thanks to Taylor Brandstetter for making me aware of this problem.
MFC after: 3 days
2016-08-10 17:19:33 +00:00
Michael Tuexen
d1ea5fa9c2
Fix various bugs in relation to the I-DATA chunk support
...
This is joint work with rrs.
MFC after: 3 days
2016-08-06 12:33:15 +00:00
Michael Tuexen
0fa7377a03
Use correct order of conditions to avoid NULL deref.
...
MFC after: 3 days
X-MFC with: r302935
2016-07-19 11:16:44 +00:00
Michael Tuexen
8e1b295f09
Fix the PR-SCTP behaviour.
...
This is done by rrs@.
MFC after: 3 days
2016-07-17 13:14:51 +00:00
Michael Tuexen
26f0250adf
Add missing sctps_reasmusrmsgs counter.
...
Joint work with rrs@.
MFC after: 3 days
2016-07-17 08:31:21 +00:00
Michael Tuexen
643fd575da
Deal with a portential memory allocation failure, which was reported
...
by the clang static code analyzer.
Joint work with rrs@.
MFC after: 3 days
2016-07-16 12:25:37 +00:00
Michael Tuexen
b4bf72213a
Don't free a data chunk twice.
...
Found by the clang static code analyzer running for the userland stack.
MFC after: 3 days
2016-07-16 08:11:43 +00:00
Michael Tuexen
574679afe9
Fix a locking bug which only shows up on Mac OS X.
...
MFC after: 1 week
2016-05-14 13:44:49 +00:00
Michael Tuexen
fd60718d17
Retire net.inet.sctp.strict_sacks and net.inet.sctp.strict_data_order
...
sysctl's, since they where only there to interop with non-conformant
implementations. This should not be a problem anymore.
2016-05-12 16:34:59 +00:00
Michael Tuexen
e7f232a0db
Use a format string in snprintf() for consistency.
...
This was reported by Radek Malcic when using the userland stack in
combination with MinGW.
MFC after: 1 week
2016-05-12 14:41:53 +00:00
Michael Tuexen
afd6748258
Undo a spell fix introduced in r298942, which breaks compilation.
2016-05-02 21:23:05 +00:00
Pedro F. Giffuni
cd0a4ff6a5
netinet/sctp*: minor spelling fixes in comments.
...
No functional change.
Reviewed by: tuexen
2016-05-02 20:56:11 +00:00
Michael Tuexen
c09a15342a
Don't use the control argument after calling sctp_add_to_readq().
...
This breaks the userland stack. There should be no functional change
for the FreeBSD kernel stack.
While there, use consistent variable nameing.
2016-04-27 18:58:47 +00:00
Michael Tuexen
b1deed45e6
Address issues found by the XCode code analyzer.
2016-04-18 20:16:41 +00:00
Michael Tuexen
f8ee69bf81
Fix signed/unsigned warnings.
2016-04-18 11:39:41 +00:00
Michael Tuexen
a39ddef038
Fix a warning about an unused variable.
2016-04-18 09:39:46 +00:00
Michael Tuexen
98d5fd976b
Put panic() calls under INVARIANTS.
2016-04-18 09:29:14 +00:00
Michael Tuexen
f2ea2a2d5f
Cleanup debug output.
2016-04-18 06:58:07 +00:00