diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2007-09-16 22:32:45 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:51:31 -0400 |
commit | 4cd57c8078fae0a4b1bf421191e94626d0cba92a (patch) | |
tree | e17a54c65a7859b6283a341e0124d200da64ee3a /include | |
parent | 730fc3d05cd4ba4c9ce2de91f3d43349e95dbbf5 (diff) |
[SCTP]: Enable the sending of the AUTH chunk.
SCTP-AUTH, Section 6.2:
Endpoints MUST send all requested chunks authenticated where this has
been requested by the peer. The other chunks MAY be sent
authenticated or not. If endpoint pair shared keys are used, one of
them MUST be selected for authentication.
To send chunks in an authenticated way, the sender MUST include these
chunks after an AUTH chunk. This means that a sender MUST bundle
chunks in order to authenticate them.
If the endpoint has no endpoint pair shared key for the peer, it MUST
use Shared Key Identifier 0 with an empty endpoint pair shared key.
If there are multiple endpoint shared keys the sender selects one and
uses the corresponding Shared Key Identifier
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/sctp/sm.h | 1 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index e8e3a64eb322..148cdb4b9606 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h | |||
@@ -256,6 +256,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc, | |||
256 | struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc, | 256 | struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc, |
257 | __u32 new_cum_tsn, size_t nstreams, | 257 | __u32 new_cum_tsn, size_t nstreams, |
258 | struct sctp_fwdtsn_skip *skiplist); | 258 | struct sctp_fwdtsn_skip *skiplist); |
259 | struct sctp_chunk *sctp_make_auth(const struct sctp_association *asoc); | ||
259 | 260 | ||
260 | void sctp_chunk_assign_tsn(struct sctp_chunk *); | 261 | void sctp_chunk_assign_tsn(struct sctp_chunk *); |
261 | void sctp_chunk_assign_ssn(struct sctp_chunk *); | 262 | void sctp_chunk_assign_ssn(struct sctp_chunk *); |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 18b06afacea0..31841c3a7fe8 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -798,6 +798,9 @@ struct sctp_packet { | |||
798 | /* This packet contains an AUTH chunk */ | 798 | /* This packet contains an AUTH chunk */ |
799 | __u8 has_auth; | 799 | __u8 has_auth; |
800 | 800 | ||
801 | /* This packet contains at least 1 DATA chunk */ | ||
802 | __u8 has_data; | ||
803 | |||
801 | /* SCTP cannot fragment this packet. So let ip fragment it. */ | 804 | /* SCTP cannot fragment this packet. So let ip fragment it. */ |
802 | __u8 ipfragok; | 805 | __u8 ipfragok; |
803 | 806 | ||