diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2011-04-19 17:30:51 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-20 04:51:05 -0400 |
commit | de6becdc0844ff92b38ffd9f0c4db1d3de02835f (patch) | |
tree | f52df91a347ece7e4efc09ca2974e8e38f38a3f8 /include/net/sctp | |
parent | 85c5ed4e44a262344ce43b4bf23204107923ca95 (diff) |
sctp: fix to check the source address of COOKIE-ECHO chunk
SCTP does not check whether the source address of COOKIE-ECHO
chunk is the original address of INIT chunk or part of the any
address parameters saved in COOKIE in CLOSED state. So even if
the COOKIE-ECHO chunk is from any address but with correct COOKIE,
the COOKIE-ECHO chunk still be accepted. If the COOKIE is not from
a valid address, the assoc should not be established.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/sctp')
-rw-r--r-- | include/net/sctp/structs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 0f6e60a9c308..5c9bada51d2d 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -1400,7 +1400,7 @@ int sctp_has_association(const union sctp_addr *laddr, | |||
1400 | int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t, | 1400 | int sctp_verify_init(const struct sctp_association *asoc, sctp_cid_t, |
1401 | sctp_init_chunk_t *peer_init, struct sctp_chunk *chunk, | 1401 | sctp_init_chunk_t *peer_init, struct sctp_chunk *chunk, |
1402 | struct sctp_chunk **err_chunk); | 1402 | struct sctp_chunk **err_chunk); |
1403 | int sctp_process_init(struct sctp_association *, sctp_cid_t cid, | 1403 | int sctp_process_init(struct sctp_association *, struct sctp_chunk *chunk, |
1404 | const union sctp_addr *peer, | 1404 | const union sctp_addr *peer, |
1405 | sctp_init_chunk_t *init, gfp_t gfp); | 1405 | sctp_init_chunk_t *init, gfp_t gfp); |
1406 | __u32 sctp_generate_tag(const struct sctp_endpoint *); | 1406 | __u32 sctp_generate_tag(const struct sctp_endpoint *); |