Xin Long
0fc2ea922c
sctp: implement validate_ftsn for sctp_stream_interleave
...
validate_ftsn is added as a member of sctp_stream_interleave, used to
validate ssn/chunk type for fwdtsn or mid (message id)/chunk type for
ifwdtsn, called in sctp_sf_eat_fwd_tsn, just as validate_data.
If this check fails, an abort packet will be sent, as said in section
2.3.1 of RFC8260.
As ifwdtsn and fwdtsn chunks have different length, it also defines
ftsn_chunk_len for sctp_stream_interleave to describe the chunk size.
Then it replaces all sizeof(struct sctp_fwdtsn_chunk) with
sctp_ftsnchk_len.
It also adds the process for ifwdtsn in rx path. As Marcelo pointed
out, there's no need to add event table for ifwdtsn, but just share
prsctp_chunk_event_table with fwdtsn's. It would drop fwdtsn chunk
for ifwdtsn and drop ifwdtsn chunk for fwdtsn by calling validate_ftsn
in sctp_sf_eat_fwd_tsn.
After this patch, the ifwdtsn can be accepted.
Note that this patch also removes the sctp.intl_enable check for
idata chunks in sctp_chunk_event_lookup, as it will do this check
in validate_data later.
Signed-off-by: Xin Long <lucien.xin@gmail.com >
Acked-by: Marcelo R. Leitner <marcelo.leitner@gmail.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2017-12-15 13:52:22 -05:00
..
2017-07-11 06:08:58 -04:00
2017-10-30 12:25:45 +02:00
2017-11-02 11:10:55 +01:00
2017-11-15 13:46:33 -08:00
2017-12-11 11:23:04 -05:00
2017-04-05 10:15:20 +02:00
2017-10-07 23:15:08 +01:00
2017-12-15 13:52:22 -05:00
2017-12-06 14:50:13 -05:00
2017-04-12 22:02:36 +02:00
2017-12-13 13:58:41 -05:00
2017-12-04 13:35:36 -05:00
2017-10-18 11:42:48 +01:00
2017-11-02 11:10:55 +01:00
2017-10-05 18:44:17 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-05-27 18:51:41 -04:00
2017-10-25 10:54:39 +09:00
2017-08-11 14:59:24 -07:00
2017-07-04 22:35:16 +01:00
2017-10-02 14:08:27 +02:00
2017-01-20 12:12:13 -05:00
2017-07-04 01:29:04 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-08-31 14:42:19 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-18 12:39:36 +01:00
2017-11-30 09:54:25 -05:00
2017-11-04 09:26:51 +09:00
2017-12-07 14:14:54 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-04 09:26:51 +09:00
2017-11-02 11:10:55 +01:00
2017-11-30 09:54:27 -05:00
2017-12-15 12:34:00 -05:00
2017-11-02 11:10:55 +01:00
2017-11-01 11:50:43 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-11 15:36:05 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-30 21:09:24 +09:00
2017-10-11 09:49:34 +02:00
2017-11-02 11:10:55 +01:00
2017-12-08 13:32:26 -05:00
2017-11-16 10:49:00 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-01-25 16:00:33 +01:00
2017-07-04 01:29:04 -07:00
2017-11-02 11:10:55 +01:00
2017-01-18 13:04:28 -05:00
2017-08-07 11:39:22 -07:00
2017-11-02 11:10:55 +01:00
2017-12-03 10:18:28 -05:00
2017-11-04 09:26:51 +09:00
2017-11-04 09:26:51 +09:00
2017-12-03 10:18:28 -05:00
2017-11-15 19:42:40 -08:00
2017-12-13 14:33:10 -05:00
2017-11-02 11:10:55 +01:00
2017-11-30 09:54:26 -05:00
2017-11-04 09:26:51 +09:00
2017-12-15 12:34:00 -05:00
2017-09-29 06:19:32 +01:00
2017-12-15 12:34:00 -05:00
2017-11-07 10:32:44 +01:00
2017-12-03 10:18:28 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-03 10:18:28 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-10-13 12:05:26 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-25 12:06:25 +09:00
2017-07-04 22:35:15 +01:00
2017-11-02 11:10:55 +01:00
2017-11-27 11:23:20 +01:00
2017-11-02 11:10:55 +01:00
2017-04-01 20:21:44 -07:00
2016-10-03 02:00:22 -04:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-04 09:26:51 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-04 09:26:51 +09:00
2017-07-01 07:39:09 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-08 16:12:33 +09:00
2017-11-02 11:10:55 +01:00
2017-11-10 10:00:18 +09:00
2017-12-08 13:32:25 -05:00
2017-11-02 11:10:55 +01:00
2017-10-01 03:55:47 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-08-07 11:39:21 -07:00
2017-11-02 11:10:55 +01:00
2017-12-05 14:37:13 -05:00
2017-10-20 13:21:36 +01:00
2017-11-02 11:10:55 +01:00
2017-10-01 03:55:47 +01:00
2017-12-04 11:32:53 -05:00
2017-12-08 13:32:26 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2016-11-09 20:40:06 -05:00
2017-08-25 17:10:23 -07:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-12-13 15:10:57 -05:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-10-25 10:37:11 +09:00
2017-11-10 13:41:40 +09:00
2017-12-13 15:51:12 -05:00
2017-11-11 15:36:05 +09:00
2017-11-15 13:54:18 +09:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-08-29 15:16:52 -07:00
2017-11-02 11:10:55 +01:00
2017-10-01 03:55:47 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-02 11:10:55 +01:00
2017-11-30 09:54:26 -05:00