diff options
author | ruengeler <ruengeler@wireshark.org> | 2018-06-04 17:37:59 +0200 |
---|---|---|
committer | Michael Tüxen <tuexen@wireshark.org> | 2018-06-04 20:49:36 +0000 |
commit | 1f6eb7d7a81449e191223676326459a02740360b (patch) | |
tree | db5fbe10f2aa286350214c26c96e8928f1d70f7a /ui | |
parent | b9e8b7cb24eb5ed490e954d4869f7fe2dce59c41 (diff) |
SCTP: Adjust minTSN
Change-Id: If2ccbd983a2a31441d1e882da65971860f5bec94
Reviewed-on: https://code.wireshark.org/review/28013
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Gerald Combs <gerald@wireshark.org>
Tested-by: Petri Dish Buildbot
Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/tap-sctp-analysis.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ui/tap-sctp-analysis.c b/ui/tap-sctp-analysis.c index 444d779ffb..5b6d228f15 100644 --- a/ui/tap-sctp-analysis.c +++ b/ui/tap-sctp-analysis.c @@ -903,10 +903,12 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi if (tvb_get_guint8(sctp_info->tvb[0],0) == SCTP_INIT_CHUNK_ID) { info->dir1->init = TRUE; info->dir1->init_min_tsn = tvb_get_ntohl((sctp_info->tvb)[0], INIT_CHUNK_INITIAL_TSN_OFFSET); + info->min_tsn1 = info->dir1->init_min_tsn; info->dir1->init_vtag = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_INITIATE_TAG_OFFSET); } else if (tvb_get_guint8(sctp_info->tvb[0],0) == SCTP_INIT_ACK_CHUNK_ID) { info->dir1->initack = TRUE; info->dir1->initack_min_tsn = tvb_get_ntohl((sctp_info->tvb)[0], INIT_CHUNK_INITIAL_TSN_OFFSET); + info->min_tsn1 = info->dir1->initack_min_tsn; info->dir1->initack_vtag = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_INITIATE_TAG_OFFSET); } } else { @@ -916,10 +918,12 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi if (tvb_get_guint8(sctp_info->tvb[0],0) == SCTP_INIT_CHUNK_ID) { info->dir2->init = TRUE; info->dir2->init_min_tsn = tvb_get_ntohl((sctp_info->tvb)[0], INIT_CHUNK_INITIAL_TSN_OFFSET); + info->min_tsn2 = info->dir2->init_min_tsn; info->dir2->init_vtag = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_INITIATE_TAG_OFFSET); } else if (tvb_get_guint8(sctp_info->tvb[0],0) == SCTP_INIT_ACK_CHUNK_ID) { info->dir2->initack = TRUE; info->dir2->initack_min_tsn = tvb_get_ntohl((sctp_info->tvb)[0], INIT_CHUNK_INITIAL_TSN_OFFSET); + info->min_tsn2 = info->dir2->initack_min_tsn; info->dir2->initack_vtag = tvb_get_ntohl(sctp_info->tvb[0], INIT_CHUNK_INITIATE_TAG_OFFSET); } } @@ -1027,6 +1031,7 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi if (tsnumber != info->min_tsn1) { info->min_tsn1 = info->dir1->init_min_tsn; } + info->min_tsn2 = info->dir2->initack_min_tsn; } } else { if(tsnumber < info->min_tsn1) { @@ -1078,6 +1083,7 @@ packet(void *tapdata _U_, packet_info *pinfo, epan_dissect_t *edt _U_, const voi info->min_tsn2 = info->dir2->init_min_tsn; info->initack_dir = 2; } + info->min_tsn1 = info->dir1->initack_min_tsn; } } else { if(tsnumber < info->min_tsn2) |