aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorruengeler <ruengeler@wireshark.org>2018-06-04 17:37:59 +0200
committerMichael Tüxen <tuexen@wireshark.org>2018-06-04 20:49:36 +0000
commit1f6eb7d7a81449e191223676326459a02740360b (patch)
treedb5fbe10f2aa286350214c26c96e8928f1d70f7a /ui
parentb9e8b7cb24eb5ed490e954d4869f7fe2dce59c41 (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.c6
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)