tuexen
996f057a5f
Add a explict cast to silence a warning when building
...
the userland stack on Windows.
This issue was reported by Peter Kasting from Google.
MFC after: 3 days
2014-09-16 14:39:24 +00:00
tuexen
a20e3eb506
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
tuexen
4feb6f37e3
Add support for the SCTP_PR_STREAM_STATUS and SCTP_PR_ASSOC_STATUS
...
socket options. This includes managing the correspoing stat counters.
Add the SCTP_DETAILED_STR_STATS kernel option to control per policy
counters on every stream. The default is off and only an aggregated
counter is available. This is sufficient for the RTCWeb usecase.
MFC after: 1 week
2014-08-13 15:50:16 +00:00
tuexen
b57b7cb252
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
tuexen
e7d5338a8e
Add support for the SCTP_RECONFIG_SUPPORTED and the corresponding
...
sysctl controlling the negotiation of the RE-CONFIG extension.
MFC after: 3 days
2014-08-04 20:07:35 +00:00
tuexen
ff18393ff0
Add support for the SCTP_PKTDROP_SUPPORTED socket option and
...
the corresponding sysctl variable.
The default is off, since the specification is not an RFC yet.
MFC after: 1 week
2014-08-03 18:12:55 +00:00
tuexen
fb7bbef5e1
Add SCTP socket option SCTP_NRSACK_SUPPORTED to control the
...
NRSACK extension. The default will still be off, since it
it not an RFC (yet).
Changing the sysctl name will be in a separate commit.
MFC after: 1 week
2014-08-03 14:10:10 +00:00
tuexen
31e0173d95
Add support for the SCTP_PR_SUPPORTED socket option as specified in
...
http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-prpolicies
Add also a sysctl controlling the default of the end-points.
MFC after: 1 week
2014-08-02 21:36:40 +00:00
tuexen
9ad96316d8
Cleanup the ECN configuration handling and provide an SCTP socket
...
option for controlling ECN on future associations and get the
status on current associations.
A simialar pattern will be used for controlling SCTP extensions in
upcoming commits.
2014-08-02 17:35:13 +00:00
tuexen
418772ad46
Cleanup sctp_send_initiate() and sctp_send_initiate_ack() to be
...
in sync as much as possible. This simplifies upcoming changes.
2014-08-01 12:42:37 +00:00
tuexen
da26b011a7
Initialize notification strucuture. This was missed in an earlier commit
...
MFC after: 3 days
2014-07-24 18:06:18 +00:00
delphij
b74f97a13b
Initialize SCTP cmsg's and notification's buffer before copying out
...
to userland.
Submitted by: tuexen
Security: CVE-2014-3953
Security: FreeBSD-SA-14:17.kmem
2014-07-08 21:54:27 +00:00
tuexen
d9071b7221
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
tuexen
eaf7d5a955
Send also a packet containing an ABORT chunk in response to an OOTB packet
...
containing a COOKIE-ECHO chunk.
MFC after: 3 days
2014-04-20 18:15:23 +00:00
tuexen
156da197a9
Send the correct error cause, when a DATA chunk with no user data
...
is received. This bug was reported by Irene Ruengeler.
MFC after: 3 days
2014-04-19 19:21:06 +00:00
tuexen
529b98b943
* Provide information in error causes in ASCII instead of
...
proprietary binary format.
* Add support for a diagnostic information error cause.
The code is sysctlable and the default is 0, which
means it is not sent.
This is joint work with rrs@.
MFC after: 1 week
2014-03-16 12:32:16 +00:00
tuexen
db58bebb35
Address some warnings which showed up on the userland version.
...
MFC after: 1 week
2013-12-27 13:07:00 +00:00
tuexen
31bb748547
Use htons()/ntohs() appropriately.
...
These issues were reported by Andrew Galante.
MFC after: 3 days
2013-11-07 16:37:12 +00:00
tuexen
d30ae7faf7
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
tuexen
0ad83fb985
Remove redundant field pr_sctp_on.
...
MFC after: 1 week
2013-09-03 19:31:59 +00:00
tuexen
c8786efb41
Use LIST_EMPTY when appropriate.
...
MFC after: 1 week
2013-06-02 10:35:08 +00:00
tuexen
991d3fc803
Remove redundant checks.
...
MFC after: 2 weeks
2013-05-28 09:25:58 +00:00
tuexen
7d22df2a4c
Set errno to ETIMEDOUT if an SCTP association times out during
...
setup.
MFC after: 1 week
2013-05-17 22:26:05 +00:00
tuexen
8c2c9fac8b
Fix a potential race in returning setting errno when an
...
association goes down.
Reported by Mozilla in
https://bugzilla.mozilla.org/show_bug.cgi?id=845513
MFC after: 3 days
2013-02-27 19:51:47 +00:00
tuexen
026c1e8b1a
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
tuexen
86859ae7b8
Fix a copy and paste error.
...
MFC after: 3 days
2012-12-27 08:02:58 +00:00
glebius
8e20fa5ae9
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
tuexen
9a8531105a
Add support for SCTP/UDP/IPV6.
...
This completes the support of
http://tools.ietf.org/html/draft-ietf-tsvwg-sctp-udp-encaps
MFC after: 1 week
2012-11-17 20:04:04 +00:00
tuexen
17aa08aca9
Get the accounting working. We now have counters how many
...
chunks for each SCTP outgoing stream are in the send and
sent queue.
While there, improve the naming of NR-SACK related constants
recently introduced.
MFC after: 1 week
2012-11-16 19:39:10 +00:00
tuexen
2e86daf6ac
Add per outgoing stream accounting for chunks in the send
...
and sent queue. This provides no functional change, but is
a preparation for an upcoming stream reset improvement.
Done with rrs@.
MFC after: 1 week
2012-11-07 22:11:38 +00:00
mjg
f5612c5202
Fix possible spurious sbunlock in sctp_sorecvmsg.
...
Reviewed by: tuexen
Approved by: trasz (mentor)
MFC after: 3 days
2012-11-06 23:04:23 +00:00
tuexen
f1eb961773
Move from early SSN assignment to late SSN assignment.
...
This doesn't change functionality, but makes upcoming change
much easier.
Developed with rrs@ at the IETF 85.
MFC after: 1 week
2012-11-05 20:55:17 +00:00
tuexen
02bbac6d05
Use ntohs() and htons() in correct order. However, this doesn't change
...
functionality.
2012-10-29 20:42:48 +00:00
glebius
5cc3ac5902
Switch the entire IPv4 stack to keep the IP packet header
...
in network byte order. Any host byte order processing is
done in local variables and host byte order values are
never[1] written to a packet.
After this change a packet processed by the stack isn't
modified at all[2] except for TTL.
After this change a network stack hacker doesn't need to
scratch his head trying to figure out what is the byte order
at the given place in the stack.
[1] One exception still remains. The raw sockets convert host
byte order before pass a packet to an application. Probably
this would remain for ages for compatibility.
[2] The ip_input() still subtructs header len from ip->ip_len,
but this is planned to be fixed soon.
Reviewed by: luigi, Maxim Dounin <mdounin mdounin.ru>
Tested by: ray, Olivier Cochard-Labbe <olivier cochard.me>
2012-10-22 21:09:03 +00:00
tuexen
68d0c9b61d
Small cleanups. No functional change.
...
MFC after: 10 days
2012-09-14 18:32:20 +00:00
tuexen
1f0bc9debb
Using %p in a format string requires a void *.
...
MFC after: 10 days
2012-09-05 18:52:01 +00:00
tuexen
a58740bf0b
Whitespace change.
...
MFC after: 3 days
2012-09-04 22:40:49 +00:00
tuexen
03552c901b
Fix a typo which results in RTT to be off by a factor of 10, if the RTT is
...
larger than 1 second.
MFC after: 3 days
2012-09-02 12:37:30 +00:00
tuexen
d0f5f8dadb
Fix a refcount bug when freeing an association.
...
While there: Change code to be consistent.
Discussed with rrs@.
MFC after: 3 days
2012-07-17 13:03:47 +00:00
tuexen
5895ece053
#ifdef INET and INET6 consistently. This also fixes a bug, where
...
it was done wrong.
MFC after: 3 days
2012-07-15 11:04:49 +00:00
tuexen
86ea1d09c9
Provide the correct notification type (SCTP_SEND_FAILED_EVENT)
...
for unsent messages.
MFC after: 3 days
2012-07-14 21:25:14 +00:00
tuexen
d2f6540a5c
Pass the src and dst address of a received packet explicitly around.
...
MFC after: 3 days
2012-06-28 16:01:08 +00:00
tuexen
6e403ce2d9
Whitespace cleanup.
...
MFC after: 3 days
2012-06-25 17:15:09 +00:00
tuexen
2cb9af1cef
Cleanup the UDP decapsulation code.
...
MFC after: 3 days
2012-06-18 17:09:39 +00:00
tuexen
e8af286138
Pass flowid explicitly through the stack instead of taking it from
...
the mbuf chain at different places.
While there: Fix several bugs related to VRFs.
MFC after: 3 days
2012-06-14 06:54:48 +00:00
tuexen
053897dbaf
Small cleanup.
...
MFC after: 3 days
2012-06-12 09:18:28 +00:00
tuexen
532b670a50
Remove an unused parameter.
...
MFC after: 3 days
2012-06-02 13:13:38 +00:00
tuexen
25827ad382
Use consistent text at the begining of the files.
...
MFC after: 3 days
2012-05-23 11:26:28 +00:00
tuexen
c9c7be32d3
Support SCTP_REMOTE_ERROR notification.
...
MFC after: 3 days
2012-05-13 22:27:54 +00:00
tuexen
ac46646680
Provide in the SCTP_SEND_FAILED and SCTP_SEND_FAILED_EVENT notifications
...
the correct ssf_error or ssfe_error as required by RFC 6458.
MFC after: 3 days
2012-05-13 19:32:49 +00:00