forked from osmocom/wireshark
Try to squeeze some bytes out of the frame_data structure.
Make the time stamp precision a 4-bit bitfield, so, when combined with the other bitfields, we have 32 bits. That means we put the flags at the same structure level as the time stamp precision, so they can be combined; that gets rid of an extra "flags." for references to the flags. Put the two pointers next to each other, and after a multiple of 8 bytes worth of other fields, so that there's no padding before or between them. It's still not down to 64 bytes, which is the next lower power of 2, so there's more work to do. Change-Id: I6f3e9d9f6f48137bbee8f100c152d2c42adb8fbe Reviewed-on: https://code.wireshark.org/review/31213 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris <guy@alum.mit.edu>
This commit is contained in:
parent
c3a7986b86
commit
7eb3e47fa4
|
@ -308,7 +308,7 @@ col_clear(column_info *cinfo, const gint el)
|
|||
}
|
||||
|
||||
#define COL_CHECK_REF_TIME(fd, buf) \
|
||||
if (fd->flags.ref_time) { \
|
||||
if (fd->ref_time) { \
|
||||
g_strlcpy(buf, "*REF*", COL_MAX_LEN ); \
|
||||
return; \
|
||||
}
|
||||
|
@ -456,7 +456,7 @@ void
|
|||
col_append_frame_number(packet_info *pinfo, const gint col, const gchar *fmt_str, guint frame_num)
|
||||
{
|
||||
col_append_fstr(pinfo->cinfo, col, fmt_str, frame_num);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
col_data_changed_ = TRUE;
|
||||
}
|
||||
}
|
||||
|
@ -879,7 +879,7 @@ set_abs_ymd_time(const frame_data *fd, gchar *buf, char *decimal_point, gboolean
|
|||
time_t then;
|
||||
int tsprecision;
|
||||
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
then = fd->abs_ts.secs;
|
||||
if (local)
|
||||
tmp = localtime(&then);
|
||||
|
@ -1013,7 +1013,7 @@ set_abs_ydoy_time(const frame_data *fd, gchar *buf, char *decimal_point, gboolea
|
|||
time_t then;
|
||||
int tsprecision;
|
||||
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
then = fd->abs_ts.secs;
|
||||
if (local)
|
||||
tmp = localtime(&then);
|
||||
|
@ -1385,7 +1385,7 @@ col_set_rel_time(const frame_data *fd, column_info *cinfo, const int col)
|
|||
{
|
||||
nstime_t del_rel_ts;
|
||||
|
||||
if (!fd->flags.has_ts) {
|
||||
if (!fd->has_ts) {
|
||||
cinfo->columns[col].col_buf[0] = '\0';
|
||||
return;
|
||||
}
|
||||
|
@ -1439,7 +1439,7 @@ col_set_delta_time_dis(const frame_data *fd, column_info *cinfo, const int col)
|
|||
{
|
||||
nstime_t del_dis_ts;
|
||||
|
||||
if (!fd->flags.has_ts) {
|
||||
if (!fd->has_ts) {
|
||||
cinfo->columns[col].col_buf[0] = '\0';
|
||||
return;
|
||||
}
|
||||
|
@ -1471,7 +1471,7 @@ set_abs_time(const frame_data *fd, gchar *buf, char *decimal_point, gboolean loc
|
|||
time_t then;
|
||||
int tsprecision;
|
||||
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
then = fd->abs_ts.secs;
|
||||
if (local)
|
||||
tmp = localtime(&then);
|
||||
|
@ -1586,7 +1586,7 @@ set_epoch_time(const frame_data *fd, gchar *buf)
|
|||
{
|
||||
int tsprecision;
|
||||
|
||||
if (!fd->flags.has_ts) {
|
||||
if (!fd->has_ts) {
|
||||
buf[0] = '\0';
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -1674,7 +1674,7 @@ set_fd_time(const epan_t *epan, frame_data *fd, gchar *buf)
|
|||
break;
|
||||
|
||||
case TS_RELATIVE:
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
nstime_t del_rel_ts;
|
||||
|
||||
frame_delta_abs_time(epan, fd, fd->frame_ref_num, &del_rel_ts);
|
||||
|
@ -1695,7 +1695,7 @@ set_fd_time(const epan_t *epan, frame_data *fd, gchar *buf)
|
|||
break;
|
||||
|
||||
case TS_DELTA:
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
nstime_t del_cap_ts;
|
||||
|
||||
frame_delta_abs_time(epan, fd, fd->num - 1, &del_cap_ts);
|
||||
|
@ -1716,7 +1716,7 @@ set_fd_time(const epan_t *epan, frame_data *fd, gchar *buf)
|
|||
break;
|
||||
|
||||
case TS_DELTA_DIS:
|
||||
if (fd->flags.has_ts) {
|
||||
if (fd->has_ts) {
|
||||
nstime_t del_dis_ts;
|
||||
|
||||
frame_delta_abs_time(epan, fd, fd->prev_dis_num, &del_dis_ts);
|
||||
|
@ -1883,7 +1883,7 @@ col_set_time(column_info *cinfo, const gint el, const nstime_t *ts, const char *
|
|||
if (!CHECK_COL(cinfo, el))
|
||||
return;
|
||||
|
||||
/** @todo TODO: We don't respect fd->flags.ref_time (no way to access 'fd')
|
||||
/** @todo TODO: We don't respect fd->ref_time (no way to access 'fd')
|
||||
COL_CHECK_REF_TIME(fd, buf);
|
||||
*/
|
||||
|
||||
|
|
|
@ -391,7 +391,7 @@ update_saved_invokedata(packet_info *pinfo, struct ansi_tcap_private_t *p_privat
|
|||
dst_str = address_to_str(wmem_packet_scope(), dst);
|
||||
|
||||
/* Data from the TCAP dissector */
|
||||
if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
|
||||
if ((!pinfo->fd->visited)&&(p_private_tcap->TransactionID_str)){
|
||||
/* Only do this once XXX I hope it's the right thing to do */
|
||||
/* The hash string needs to contain src and dest to distiguish differnt flows */
|
||||
switch(ansi_map_response_matching_type){
|
||||
|
|
|
@ -144,7 +144,7 @@ save_invoke_data(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
|
|||
src = address_to_str(wmem_packet_scope(), &(pinfo->src));
|
||||
dst = address_to_str(wmem_packet_scope(), &(pinfo->dst));
|
||||
|
||||
if ((!pinfo->fd->flags.visited)&&(ansi_tcap_private.TransactionID_str)){
|
||||
if ((!pinfo->fd->visited)&&(ansi_tcap_private.TransactionID_str)){
|
||||
|
||||
/* Only do this once XXX I hope it's the right thing to do */
|
||||
/* The hash string needs to contain src and dest to distiguish differnt flows */
|
||||
|
|
|
@ -569,7 +569,7 @@ IsupNumber/nationalStandardPartyNumber isupNationalStandardPartyNumber
|
|||
h225_pi->h245_address = ipv4_address;
|
||||
h225_pi->h245_port = ip_port;
|
||||
}
|
||||
if ( !actx->pinfo->fd->flags.visited && h245_handle && ip_port!=0 ) {
|
||||
if ( !actx->pinfo->fd->visited && h245_handle && ip_port!=0 ) {
|
||||
address src_addr;
|
||||
conversation_t *conv=NULL;
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ Rfc2733Format FECCapability/rfc2733Format FECMode/rfc2733Format
|
|||
#.FN_BODY OpenLogicalChannel
|
||||
gint32 temp;
|
||||
|
||||
upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
|
||||
upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
|
||||
|
||||
h223_fw_lc_num = 0;
|
||||
h223_lc_params_temp = NULL;
|
||||
|
@ -221,7 +221,7 @@ Rfc2733Format FECCapability/rfc2733Format FECMode/rfc2733Format
|
|||
const gchar *olc_key;
|
||||
olc_info_t *olc_req;
|
||||
|
||||
upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_packet_scope(), olc_info_t) : NULL;
|
||||
upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_packet_scope(), olc_info_t) : NULL;
|
||||
|
||||
h223_fw_lc_num = 0;
|
||||
h223_rev_lc_num = 0;
|
||||
|
|
|
@ -266,7 +266,7 @@ add_encryption_key(packet_info *pinfo, int keytype, int keylength, const char *k
|
|||
{
|
||||
enc_key_t *new_key;
|
||||
|
||||
if(pinfo->fd->flags.visited){
|
||||
if(pinfo->fd->visited){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -610,7 +610,7 @@ add_encryption_key(packet_info *pinfo, int keytype, int keylength, const char *k
|
|||
{
|
||||
service_key_t *new_key;
|
||||
|
||||
if(pinfo->fd->flags.visited){
|
||||
if(pinfo->fd->visited){
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ PasswordPolicyResponseValue B "1.3.6.1.4.1.42.2.27.8.5.1" "passwordPolicy"
|
|||
switch(ProtocolOp) {
|
||||
|
||||
case LDAP_RES_SEARCH_ENTRY:
|
||||
if (!actx->pinfo->fd->flags.visited)
|
||||
if (!actx->pinfo->fd->visited)
|
||||
ldap_info->num_results++;
|
||||
|
||||
proto_item_append_text(tree, " [%d result%s]",
|
||||
|
@ -172,7 +172,7 @@ char *mechanism = NULL;
|
|||
* type and mechanism, if you can unbind and rebind with a
|
||||
* different type and/or mechanism.
|
||||
*/
|
||||
if(!actx->pinfo->fd->flags.visited) {
|
||||
if(!actx->pinfo->fd->visited) {
|
||||
mechanism = tvb_get_string_enc(wmem_file_scope(), parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), ENC_UTF_8|ENC_NA);
|
||||
ldap_info->first_auth_frame = 0; /* not known until we see the bind reply */
|
||||
/*
|
||||
|
|
|
@ -1845,7 +1845,7 @@ SoundingRS-UL-ConfigDedicated/setup/duration STRINGS=TFS(<e_rrc_duration_val)
|
|||
/* Track whether systemInfoValue has changed since last seen, indicating new SI config
|
||||
TODO: add link back to previous config and (if known) time since previous config
|
||||
was first seen */
|
||||
if (!actx->pinfo->fd->flags.visited) {
|
||||
if (!actx->pinfo->fd->visited) {
|
||||
if (system_info_value_current_set && (value != system_info_value_current)) {
|
||||
/* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */
|
||||
wmem_map_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num),
|
||||
|
|
|
@ -418,7 +418,7 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
|
|||
%(DEFAULT_BODY)s
|
||||
transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx);
|
||||
binding_id = private_data_get_binding_id_port(actx);
|
||||
if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
|
||||
if (actx->pinfo->fd->visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
|
||||
return offset;
|
||||
}
|
||||
set_address(&ipv4_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||
|
@ -435,7 +435,7 @@ MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
|
|||
%(DEFAULT_BODY)s
|
||||
transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx);
|
||||
binding_id = private_data_get_binding_id_port(actx);
|
||||
if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
|
||||
if (actx->pinfo->fd->visited || transportLayerAddress_ipv4 == 0 || binding_id == 0){
|
||||
return offset;
|
||||
}
|
||||
set_address(&ipv4_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
|
||||
|
|
|
@ -1264,7 +1264,7 @@ dissect_spnego(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
* negotiation in a conversation.
|
||||
*/
|
||||
next_level_value = (gssapi_oid_value *)p_get_proto_data(wmem_file_scope(), pinfo, proto_spnego, 0);
|
||||
if (!next_level_value && !pinfo->fd->flags.visited) {
|
||||
if (!next_level_value && !pinfo->fd->visited) {
|
||||
/*
|
||||
* No handle attached to this frame, but it's the first
|
||||
* pass, so it'd be attached to the conversation.
|
||||
|
|
|
@ -200,7 +200,7 @@ void t38_add_address(packet_info *pinfo,
|
|||
* we've already done this work, so we don't need to do it
|
||||
* again.
|
||||
*/
|
||||
if ((pinfo->fd->flags.visited) || (t38_udp_handle == NULL))
|
||||
if ((pinfo->fd->visited) || (t38_udp_handle == NULL))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -280,7 +280,7 @@ force_reassemble_seq(reassembly_table *table, packet_info *pinfo, guint32 id)
|
|||
fd_head = fragment_get(table, pinfo, id, NULL);
|
||||
|
||||
/* have we already seen this frame ?*/
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
if (fd_head != NULL && fd_head->flags & FD_DEFRAGMENTED) {
|
||||
return fd_head;
|
||||
} else {
|
||||
|
|
|
@ -118,10 +118,10 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
|
|||
0, 0, frame_len, "Record Length: %u byte%s (%u bits)",
|
||||
frame_len, frame_plurality, frame_len * 8);
|
||||
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_file_marked, tvb, 0, 0,pinfo->fd->flags.marked);
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_file_marked, tvb, 0, 0,pinfo->fd->marked);
|
||||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_file_ignored, tvb, 0, 0,pinfo->fd->flags.ignored);
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_file_ignored, tvb, 0, 0,pinfo->fd->ignored);
|
||||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
|
||||
if(pinfo->fd->pfd != 0){
|
||||
|
@ -146,7 +146,7 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
|
|||
#endif
|
||||
}
|
||||
|
||||
if (pinfo->fd->flags.ignored) {
|
||||
if (pinfo->fd->ignored) {
|
||||
/* Ignored package, stop handling here */
|
||||
col_set_str(pinfo->cinfo, COL_INFO, "<Ignored>");
|
||||
proto_tree_add_boolean_format(tree, hf_file_ignored, tvb, 0, -1, TRUE, "This record is marked as ignored");
|
||||
|
@ -272,10 +272,10 @@ dissect_file_record(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
|
|||
}
|
||||
|
||||
/* Attempt to (re-)calculate color filters (if any). */
|
||||
if (pinfo->fd->flags.need_colorize) {
|
||||
if (pinfo->fd->need_colorize) {
|
||||
color_filter = color_filters_colorize_packet(file_data->color_edt);
|
||||
pinfo->fd->color_filter = color_filter;
|
||||
pinfo->fd->flags.need_colorize = 0;
|
||||
pinfo->fd->need_colorize = 0;
|
||||
} else {
|
||||
color_filter = pinfo->fd->color_filter;
|
||||
}
|
||||
|
|
|
@ -1084,7 +1084,7 @@ static void conv_set_fid_nocopy(packet_info *pinfo, guint32 fid, const char *pat
|
|||
{
|
||||
struct _9p_hashval *val;
|
||||
|
||||
if (pinfo->fd->flags.visited || fid == _9P_NOFID)
|
||||
if (pinfo->fd->visited || fid == _9P_NOFID)
|
||||
return;
|
||||
|
||||
/* get or create&insert fid tree */
|
||||
|
@ -1104,7 +1104,7 @@ static void conv_set_fid(packet_info *pinfo, guint32 fid, const gchar *path, gsi
|
|||
{
|
||||
char *str;
|
||||
|
||||
if (pinfo->fd->flags.visited || fid == _9P_NOFID || len == 0)
|
||||
if (pinfo->fd->visited || fid == _9P_NOFID || len == 0)
|
||||
return;
|
||||
|
||||
str = (char*)wmem_alloc(wmem_file_scope(), len);
|
||||
|
@ -1138,7 +1138,7 @@ static void conv_set_tag(packet_info *pinfo, guint16 tag, enum _9p_msg_t msgtype
|
|||
struct _9p_hashval *val;
|
||||
struct _9p_taginfo *taginfo;
|
||||
|
||||
if (pinfo->fd->flags.visited || tag == _9P_NOTAG)
|
||||
if (pinfo->fd->visited || tag == _9P_NOTAG)
|
||||
return;
|
||||
|
||||
val = _9p_hash_new_val(sizeof(struct _9p_taginfo));
|
||||
|
@ -1161,7 +1161,7 @@ static inline struct _9p_taginfo *conv_get_tag(packet_info *pinfo, guint16 tag)
|
|||
struct _9p_hashval *val;
|
||||
|
||||
/* get tag only makes sense on first pass, as tree isn't built like fid */
|
||||
if (pinfo->fd->flags.visited || tag == _9P_NOTAG)
|
||||
if (pinfo->fd->visited || tag == _9P_NOTAG)
|
||||
return NULL;
|
||||
|
||||
/* check that length matches? */
|
||||
|
@ -1172,7 +1172,7 @@ static inline struct _9p_taginfo *conv_get_tag(packet_info *pinfo, guint16 tag)
|
|||
|
||||
static inline void conv_free_tag(packet_info *pinfo, guint16 tag)
|
||||
{
|
||||
if (pinfo->fd->flags.visited || tag == _9P_NOTAG)
|
||||
if (pinfo->fd->visited || tag == _9P_NOTAG)
|
||||
return;
|
||||
|
||||
_9p_hash_free(pinfo, tag, _9P_NOFID);
|
||||
|
@ -1246,7 +1246,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
proto_tree_add_item(ninep_tree, hf_9P_maxsize, tvb, offset, 4, ENC_LITTLE_ENDIAN);
|
||||
offset += 4;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tvb_s = tvb_get_string_enc(wmem_packet_scope(), tvb, offset+2, _9p_len, ENC_UTF_8|ENC_NA);
|
||||
|
||||
|
@ -1316,7 +1316,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
|
||||
offset += _9p_dissect_string(tvb, ninep_tree, offset, hf_9P_uname, ett_9P_uname);
|
||||
|
||||
if(!pinfo->fd->flags.visited) {
|
||||
if(!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tvb_s = tvb_get_string_enc(wmem_packet_scope(), tvb, offset+2, _9p_len, ENC_UTF_8|ENC_NA);
|
||||
conv_set_fid(pinfo, fid, tvb_s, _9p_len+1);
|
||||
|
@ -1336,7 +1336,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
ti = proto_tree_add_item(ninep_tree, hf_9P_fid, tvb, offset, 4, ENC_LITTLE_ENDIAN);
|
||||
fid_path = conv_get_fid(pinfo, fid);
|
||||
proto_item_append_text(ti, " (%s)", fid_path);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
tmppath = wmem_strbuf_sized_new(wmem_packet_scope(), 0, MAXPATHLEN);
|
||||
wmem_strbuf_append(tmppath, fid_path);
|
||||
}
|
||||
|
@ -1351,7 +1351,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
offset += 2;
|
||||
|
||||
for(i = 0 ; i < u16; i++) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tvb_s = tvb_get_string_enc(wmem_packet_scope(), tvb, offset+2, _9p_len, ENC_UTF_8|ENC_NA);
|
||||
wmem_strbuf_append_c(tmppath, '/');
|
||||
|
@ -1369,7 +1369,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
expert_add_info(pinfo, ti, &ei_9P_first_250);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
conv_set_fid(pinfo, fid, wmem_strbuf_get_str(tmppath), wmem_strbuf_get_len(tmppath)+1);
|
||||
}
|
||||
|
||||
|
@ -1428,7 +1428,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
proto_item_append_text(ti, " (%s)", fid_path);
|
||||
offset += 4;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tmppath = wmem_strbuf_sized_new(wmem_packet_scope(), 0, MAXPATHLEN);
|
||||
wmem_strbuf_append(tmppath, fid_path);
|
||||
|
@ -1461,7 +1461,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
proto_item_append_text(ti, " (%s)", fid_path);
|
||||
offset += 4;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tmppath = wmem_strbuf_sized_new(wmem_packet_scope(), 0, MAXPATHLEN);
|
||||
wmem_strbuf_append(tmppath, fid_path);
|
||||
|
@ -1806,7 +1806,7 @@ static int dissect_9P_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
proto_item_append_text(ti, " (%s)", fid_path);
|
||||
offset += 4;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
_9p_len = tvb_get_letohs(tvb, offset);
|
||||
tmppath = wmem_strbuf_sized_new(wmem_packet_scope(), 0, MAXPATHLEN);
|
||||
wmem_strbuf_append(tmppath, conv_get_fid(pinfo, dfid));
|
||||
|
|
|
@ -454,7 +454,7 @@ dissect_acr122(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
break;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
command_data = wmem_new(wmem_file_scope(), command_data_t);
|
||||
command_data->bus_id = bus_id;
|
||||
command_data->device_address = device_address;
|
||||
|
@ -484,7 +484,7 @@ dissect_acr122(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
command = command_data->command;
|
||||
command_frame_number = command_data->command_frame_number;
|
||||
if (!pinfo->fd->flags.visited && command_data->response_frame_number == 0) {
|
||||
if (!pinfo->fd->visited && command_data->response_frame_number == 0) {
|
||||
command_data->response_frame_number = pinfo->num;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -570,12 +570,12 @@ dissect_adb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_expert(expert_tree, pinfo, &ei_invalid_magic, tvb, offset, 4);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
save_command(command, arg0, arg1, data_length, crc32, service_data, proto, data, pinfo, &service_data, &command_data);
|
||||
offset += 4;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && command_data) {
|
||||
if (!pinfo->fd->visited && command_data) {
|
||||
if (command_data->command_in_frame != frame_number) {
|
||||
is_command = FALSE;
|
||||
is_next_fragment = TRUE;
|
||||
|
@ -619,7 +619,7 @@ dissect_adb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
/* First pass: store message payload (usually a single packet, but
|
||||
* potentially multiple fragments). */
|
||||
if (!pinfo->fd->flags.visited && command_data && command_data->reassemble_data_length < command_data->data_length) {
|
||||
if (!pinfo->fd->visited && command_data && command_data->reassemble_data_length < command_data->data_length) {
|
||||
guint chunklen = tvb_captured_length_remaining(tvb, offset);
|
||||
if (chunklen > command_data->data_length - command_data->reassemble_data_length) {
|
||||
chunklen = command_data->data_length - command_data->reassemble_data_length;
|
||||
|
@ -641,7 +641,7 @@ dissect_adb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_expert(main_tree, pinfo, &ei_invalid_data, tvb, offset, -1);
|
||||
}
|
||||
|
||||
if ((!pinfo->fd->flags.visited && command_data && command_data->reassemble_data_length < command_data->data_length) || data_length > (guint32) tvb_captured_length_remaining(tvb, offset)) { /* need reassemble */
|
||||
if ((!pinfo->fd->visited && command_data && command_data->reassemble_data_length < command_data->data_length) || data_length > (guint32) tvb_captured_length_remaining(tvb, offset)) { /* need reassemble */
|
||||
proto_tree_add_item(main_tree, hf_data_fragment, tvb, offset, -1, ENC_NA);
|
||||
col_append_str(pinfo->cinfo, COL_INFO, "Data Fragment");
|
||||
offset = tvb_captured_length(tvb);
|
||||
|
@ -684,7 +684,7 @@ dissect_adb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
if (is_service) {
|
||||
proto_tree_add_item(main_tree, hf_service, tvb, offset, -1, ENC_ASCII | ENC_NA);
|
||||
if (!pinfo->fd->flags.visited && service_data) {
|
||||
if (!pinfo->fd->visited && service_data) {
|
||||
service_data->service = tvb_get_stringz_enc(wmem_file_scope(), tvb, offset, NULL, ENC_ASCII);
|
||||
}
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, "Service: %s", tvb_get_stringz_enc(wmem_packet_scope(), tvb, offset, NULL, ENC_ASCII));
|
||||
|
|
|
@ -169,7 +169,7 @@ dissect_adb_cs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
|||
return tvb_captured_length(tvb);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && length > 0) { /* save Length to client_requests */
|
||||
if (!pinfo->fd->visited && length > 0) { /* save Length to client_requests */
|
||||
if (pinfo->rec->presence_flags & WTAP_HAS_INTERFACE_ID)
|
||||
wireshark_interface_id = pinfo->rec->rec_header.packet_header.interface_id;
|
||||
|
||||
|
@ -195,7 +195,7 @@ dissect_adb_cs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
|||
wmem_tree_insert32_array(client_requests, key, client_request);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && (length == -1 || (client_request && client_request->service_in == -1 && tvb_reported_length_remaining(tvb, offset) > 0))) { /* save Service to client_requests */
|
||||
if (!pinfo->fd->visited && (length == -1 || (client_request && client_request->service_in == -1 && tvb_reported_length_remaining(tvb, offset) > 0))) { /* save Service to client_requests */
|
||||
if (!client_request) {
|
||||
if (pinfo->rec->presence_flags & WTAP_HAS_INTERFACE_ID)
|
||||
wireshark_interface_id = pinfo->rec->rec_header.packet_header.interface_id;
|
||||
|
@ -296,7 +296,7 @@ dissect_adb_cs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _
|
|||
length = -1;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && client_request) {
|
||||
if (!pinfo->fd->visited && client_request) {
|
||||
client_request->response_frame = pinfo->num;
|
||||
client_request->status = status;
|
||||
client_request->data_length = length;
|
||||
|
|
|
@ -179,7 +179,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
if (!continuation_data || (continuation_data && continuation_data->length_in_frame == pinfo->num))
|
||||
offset = dissect_ascii_uint32(main_tree, hf_hex_ascii_length, ett_length, hf_length, tvb, offset, &data_length);
|
||||
|
||||
if (!pinfo->fd->flags.visited && !continuation_data && tvb_reported_length_remaining(tvb, offset) < 4) {
|
||||
if (!pinfo->fd->visited && !continuation_data && tvb_reported_length_remaining(tvb, offset) < 4) {
|
||||
key[i_key].length = 1;
|
||||
key[i_key++].key = &pinfo->num;
|
||||
key[i_key].length = 0;
|
||||
|
@ -196,7 +196,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
|
||||
if (tvb_reported_length_remaining(tvb, offset) >= 4 ||
|
||||
(continuation_data && continuation_data->completed_in_frame == pinfo->num)) {
|
||||
if (!pinfo->fd->flags.visited && continuation_data) {
|
||||
if (!pinfo->fd->visited && continuation_data) {
|
||||
continuation_data->completed_in_frame = pinfo->num;
|
||||
}
|
||||
offset = dissect_ascii_uint32(main_tree, hf_hex_ascii_version, ett_version, hf_version, tvb, offset, &version);
|
||||
|
@ -244,7 +244,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
if (framebuffer_data && framebuffer_data->completed_in_frame < pinfo->num)
|
||||
framebuffer_data = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited && !framebuffer_data) {
|
||||
if (!pinfo->fd->visited && !framebuffer_data) {
|
||||
key[i_key].length = 1;
|
||||
key[i_key++].key = &pinfo->num;
|
||||
key[i_key].length = 0;
|
||||
|
@ -312,7 +312,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
sub_item = proto_tree_add_item(main_tree, hf_data, tvb, offset, -1, ENC_NA);
|
||||
sub_tree = proto_item_add_subtree(sub_item, ett_data);
|
||||
|
||||
if (!pinfo->fd->flags.visited && framebuffer_data) {
|
||||
if (!pinfo->fd->visited && framebuffer_data) {
|
||||
framebuffer_data->current_size += tvb_captured_length_remaining(tvb, offset);
|
||||
if (framebuffer_data->current_size >= framebuffer_data->size)
|
||||
framebuffer_data->completed_in_frame = pinfo->num;
|
||||
|
@ -419,7 +419,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
subtree = (wmem_tree_t *) wmem_tree_lookup32_array(fragments, key);
|
||||
fragment = (subtree) ? (fragment_t *) wmem_tree_lookup32_le(subtree, pinfo->num - 1) : NULL;
|
||||
if (fragment) {
|
||||
if (!pinfo->fd->flags.visited && fragment->reassembled_in_frame == -1)
|
||||
if (!pinfo->fd->visited && fragment->reassembled_in_frame == -1)
|
||||
fragment->reassembled_in_frame = pinfo->num;
|
||||
|
||||
if (fragment->reassembled_in_frame == pinfo->num) {
|
||||
|
@ -495,7 +495,7 @@ dissect_adb_service(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
i_offset += logcat_length;
|
||||
} else {
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
DISSECTOR_ASSERT_HINT(adb_service_data->session_key_length + 2 <= sizeof(key) / sizeof(key[0]), "Tree session key is too small");
|
||||
for (i_key = 0; i_key < adb_service_data->session_key_length; i_key += 1) {
|
||||
key[i_key].length = 1;
|
||||
|
|
|
@ -528,7 +528,7 @@ adwin_request_response_handling(tvbuff_t *tvb, packet_info *pinfo,
|
|||
|
||||
conversation_add_proto_data(conversation, proto_adwin, adwin_info);
|
||||
}
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (direction == ADWIN_REQUEST) {
|
||||
/* This is a request */
|
||||
adwin_trans = wmem_new(wmem_file_scope(), adwin_transaction_t);
|
||||
|
|
|
@ -2747,7 +2747,7 @@ dissect_afs(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
|
|||
|
||||
/* only allocate a new hash element when it's a request */
|
||||
opcode = 0;
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if ( !request_val && !reply) {
|
||||
new_request_key = wmem_new(wmem_file_scope(), struct afs_request_key);
|
||||
*new_request_key = request_key;
|
||||
|
|
|
@ -1179,7 +1179,7 @@ update_saved_invokedata(packet_info *pinfo, struct ansi_tcap_private_t *p_privat
|
|||
dst_str = address_to_str(wmem_packet_scope(), dst);
|
||||
|
||||
/* Data from the TCAP dissector */
|
||||
if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
|
||||
if ((!pinfo->fd->visited)&&(p_private_tcap->TransactionID_str)){
|
||||
/* Only do this once XXX I hope it's the right thing to do */
|
||||
/* The hash string needs to contain src and dest to distiguish differnt flows */
|
||||
switch(ansi_map_response_matching_type){
|
||||
|
|
|
@ -235,7 +235,7 @@ save_invoke_data(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
|
|||
src = address_to_str(wmem_packet_scope(), &(pinfo->src));
|
||||
dst = address_to_str(wmem_packet_scope(), &(pinfo->dst));
|
||||
|
||||
if ((!pinfo->fd->flags.visited)&&(ansi_tcap_private.TransactionID_str)){
|
||||
if ((!pinfo->fd->visited)&&(ansi_tcap_private.TransactionID_str)){
|
||||
|
||||
/* Only do this once XXX I hope it's the right thing to do */
|
||||
/* The hash string needs to contain src and dest to distiguish differnt flows */
|
||||
|
|
|
@ -207,7 +207,7 @@ dissect_ata_pdu(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset,
|
|||
/* only create a conversation for ATA commands */
|
||||
conversation = find_or_create_conversation(pinfo);
|
||||
|
||||
if( !(pinfo->fd->flags.visited) ){
|
||||
if( !(pinfo->fd->visited) ){
|
||||
if(!response){
|
||||
ata_info_t *tmp_ata_info;
|
||||
/* first time we see this request so add a struct for request/response
|
||||
|
|
|
@ -645,7 +645,7 @@ check_for_duplicate_addresses(packet_info *pinfo, proto_tree *tree,
|
|||
duplicate_result_key result_key = {pinfo->num, ip};
|
||||
|
||||
/* Look up existing result */
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
result = (address_hash_value *)wmem_map_lookup(duplicate_result_hash_table,
|
||||
&result_key);
|
||||
}
|
||||
|
|
|
@ -2735,7 +2735,7 @@ save_local_device_name_from_eir_ad(tvbuff_t *tvb, gint offset, packet_info *pinf
|
|||
gchar *name;
|
||||
localhost_name_entry_t *localhost_name_entry;
|
||||
|
||||
if (!(!pinfo->fd->flags.visited && bluetooth_data)) return;
|
||||
if (!(!pinfo->fd->visited && bluetooth_data)) return;
|
||||
|
||||
while (i < size) {
|
||||
length = tvb_get_guint8(tvb, offset + i);
|
||||
|
|
|
@ -224,7 +224,7 @@ dissect_brdwlk(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _
|
|||
2, pkt_cnt);
|
||||
}
|
||||
dropped_packets = FALSE;
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
/*
|
||||
* This isn't the first pass, so we can't use the global
|
||||
* "packet_count" variable to determine whether there were
|
||||
|
|
|
@ -4320,7 +4320,7 @@ save_handle(packet_info *pinfo, bluetooth_uuid_t uuid, guint32 handle,
|
|||
tap_queue_packet(btatt_tap_handles, pinfo, tap_handles);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
wmem_tree_key_t key[5];
|
||||
guint32 frame_number;
|
||||
handle_data_t *handle_data;
|
||||
|
@ -10835,7 +10835,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(main_tree, hf_btatt_client_rx_mtu, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.mtu.mtu = tvb_get_guint16(tvb, offset - 2, ENC_LITTLE_ENDIAN);
|
||||
|
@ -10848,7 +10848,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
case 0x03: /* Exchange MTU Response */
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, ", Server Rx MTU: %u", tvb_get_letohs(tvb, offset));
|
||||
proto_tree_add_item(main_tree, hf_btatt_server_rx_mtu, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && request_data && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && request_data && bluetooth_data) {
|
||||
guint new_mtu;
|
||||
|
||||
new_mtu = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN);
|
||||
|
@ -10868,7 +10868,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(main_tree, hf_btatt_ending_handle, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.find_information.starting_handle = tvb_get_guint16(tvb, offset - 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -10950,7 +10950,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
dissect_attribute_value(main_tree, NULL, pinfo, tvb, offset, tvb_captured_length_remaining(tvb, offset), 0, uuid, &att_data);
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_by_type.starting_handle = tvb_get_guint16(tvb, offset - 6, ENC_LITTLE_ENDIAN);
|
||||
|
@ -11000,7 +11000,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(main_tree, hf_btatt_uuid16, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_by_type.starting_handle = tvb_get_guint16(tvb, offset - 6, ENC_LITTLE_ENDIAN);
|
||||
|
@ -11015,7 +11015,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
&bluetooth_uuid_vals_ext, "<unknown>"));
|
||||
offset += 16;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_by_type.starting_handle = tvb_get_guint16(tvb, offset - 20, ENC_LITTLE_ENDIAN);
|
||||
|
@ -11081,7 +11081,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
col_append_info_by_handle(pinfo, handle, bluetooth_data);
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_write.handle = handle;
|
||||
|
@ -11103,7 +11103,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
if (is_long_attribute_value(uuid) && tvb_captured_length(tvb) >= mtu) {
|
||||
sub_item = proto_tree_add_item(main_tree, hf_btatt_value, tvb, offset, -1, ENC_NA);
|
||||
if (!pinfo->fd->flags.visited && request_data && bluetooth_data)
|
||||
if (!pinfo->fd->visited && request_data && bluetooth_data)
|
||||
save_value_fragment(pinfo, tvb, offset, request_data->parameters.read_write.handle, 0, bluetooth_data);
|
||||
offset = tvb_captured_length(tvb);
|
||||
|
||||
|
@ -11131,7 +11131,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
dissect_attribute_value(main_tree, NULL, pinfo, tvb, offset, 0, handle, uuid, &att_data);
|
||||
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_write.handle = handle;
|
||||
|
@ -11150,7 +11150,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
if (request_data->parameters.read_write.offset == 0 && !is_long_attribute_value(uuid)) {
|
||||
offset = dissect_attribute_value(main_tree, NULL, pinfo, tvb, offset, tvb_captured_length_remaining(tvb, offset), request_data->parameters.read_write.handle, uuid, &att_data);
|
||||
} else {
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data)
|
||||
if (!pinfo->fd->visited && bluetooth_data)
|
||||
save_value_fragment(pinfo, tvb, offset, request_data->parameters.read_write.handle, request_data->parameters.read_write.offset, bluetooth_data);
|
||||
|
||||
if (tvb_captured_length(tvb) < mtu) {
|
||||
|
@ -11197,7 +11197,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
dissect_attribute_value(main_tree, NULL, pinfo, tvb, offset, 0, handle, uuid, &att_data);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_multiple.number_of_handles = (tvb_captured_length(tvb) - 1) / 2;
|
||||
|
@ -11272,7 +11272,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
offset = dissect_attribute_value(main_tree, NULL, pinfo, tvb, offset, tvb_captured_length_remaining(tvb, offset), tvb_get_guint16(tvb, offset - 2, ENC_LITTLE_ENDIAN), uuid, &att_data);
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data && (opcode == 0x12 || opcode == 0x1d)) {
|
||||
if (!pinfo->fd->visited && bluetooth_data && (opcode == 0x12 || opcode == 0x1d)) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.read_write.handle = handle;
|
||||
|
@ -11306,14 +11306,14 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(main_tree, hf_btatt_offset, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data && opcode == 0x16) {
|
||||
if (!pinfo->fd->visited && bluetooth_data && opcode == 0x16) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
request_parameters.data = NULL;
|
||||
|
||||
save_request(pinfo, opcode, request_parameters, bluetooth_data);
|
||||
}
|
||||
if (!pinfo->fd->flags.visited && request_data && bluetooth_data && opcode == 0x16)
|
||||
if (!pinfo->fd->visited && request_data && bluetooth_data && opcode == 0x16)
|
||||
save_value_fragment(pinfo, tvb, offset,
|
||||
tvb_get_guint16(tvb, offset - 4, ENC_LITTLE_ENDIAN),
|
||||
tvb_get_guint16(tvb, offset - 2, ENC_LITTLE_ENDIAN),
|
||||
|
@ -11349,7 +11349,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(main_tree, hf_btatt_flags, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset++;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
union request_parameters_union request_parameters;
|
||||
|
||||
/* NOTE: Enable request-response tracking using empty data*/
|
||||
|
@ -11404,7 +11404,7 @@ dissect_btatt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
PROTO_ITEM_SET_GENERATED(sub_item);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && request_data->response_in_frame == 0 &&
|
||||
if (!pinfo->fd->visited && request_data->response_in_frame == 0 &&
|
||||
pinfo->num > request_data->request_in_frame)
|
||||
request_data->response_in_frame = pinfo->num;
|
||||
|
||||
|
|
|
@ -242,7 +242,7 @@ dissect_btavctp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
key[5].key = NULL;
|
||||
|
||||
if (packet_type == PACKET_TYPE_START) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
fragment = wmem_new(wmem_file_scope(), fragment_t);
|
||||
fragment->length = length;
|
||||
fragment->data = (guint8 *) wmem_alloc(wmem_file_scope(), fragment->length);
|
||||
|
@ -282,7 +282,7 @@ dissect_btavctp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
fragments->psm == psm))
|
||||
fragments = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited && fragments != NULL) {
|
||||
if (!pinfo->fd->visited && fragments != NULL) {
|
||||
fragment = wmem_new(wmem_file_scope(), fragment_t);
|
||||
fragment->length = length;
|
||||
fragment->data = (guint8 *) wmem_alloc(wmem_file_scope(), fragment->length);
|
||||
|
@ -325,7 +325,7 @@ dissect_btavctp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
fragments->psm == psm))
|
||||
fragments = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited && fragments != NULL) {
|
||||
if (!pinfo->fd->visited && fragments != NULL) {
|
||||
fragment = wmem_new(wmem_file_scope(), fragment_t);
|
||||
fragment->length = length;
|
||||
fragment->data = (guint8 *) wmem_alloc(wmem_file_scope(), fragment->length);
|
||||
|
|
|
@ -728,7 +728,7 @@ dissect_sep(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset,
|
|||
proto_tree_add_item(sep_tree, hf_btavdtp_sep_type , tvb, offset, 1, ENC_NA);
|
||||
proto_tree_add_item(sep_tree, hf_btavdtp_sep_rfa1 , tvb, offset, 1, ENC_NA);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
sep_entry_t *sep_data;
|
||||
wmem_tree_key_t key[7];
|
||||
guint32 frame_number = pinfo->num;
|
||||
|
@ -1473,7 +1473,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
channels_info->adapter_disconnect_in_frame = l2cap_data->adapter_disconnect_in_frame;
|
||||
channels_info->sep = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited || (
|
||||
if (!pinfo->fd->visited || (
|
||||
*channels_info->adapter_disconnect_in_frame == 0 ||
|
||||
*channels_info->hci_disconnect_in_frame == 0 ||
|
||||
*channels_info->l2cap_disconnect_in_frame == 0 ||
|
||||
|
@ -1502,7 +1502,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
(l2cap_data->local_cid == channels_info->media_local_cid &&
|
||||
l2cap_data->remote_cid == channels_info->media_remote_cid))) {
|
||||
|
||||
if (!pinfo->fd->flags.visited && channels_info->media_local_cid == BTL2CAP_UNKNOWN_CID) {
|
||||
if (!pinfo->fd->visited && channels_info->media_local_cid == BTL2CAP_UNKNOWN_CID) {
|
||||
channels_info->media_local_cid = l2cap_data->local_cid;
|
||||
channels_info->media_remote_cid = l2cap_data->remote_cid;
|
||||
}
|
||||
|
@ -1551,7 +1551,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
if (media_stream_number_value->stream_start_in_frame == 0)
|
||||
media_stream_number_value->stream_start_in_frame = pinfo->num;
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
media_stream_number_value->stream_end_in_frame = pinfo->num;
|
||||
|
||||
sep_data.stream_start_in_frame = media_stream_number_value->stream_start_in_frame;
|
||||
|
@ -1579,7 +1579,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
if (song_position_data && (song_position_data->used_in_frame == 0 ||
|
||||
song_position_data->used_in_frame == frame_number)) {
|
||||
avrcp_song_position = song_position_data->song_position;
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
song_position_data->used_in_frame = frame_number;
|
||||
}
|
||||
|
||||
|
@ -1609,7 +1609,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
sep_data.previous_media_packet_info->stream_number = sep_data.stream_number;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
key[5].length = 1;
|
||||
key[5].key = &frame_number;
|
||||
key[6].length = 0;
|
||||
|
@ -1765,7 +1765,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
&codec, &content_protection_type, &vendor_id,
|
||||
&vendor_codec, &configuration_offset, &configuration_length);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
@ -1851,7 +1851,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
&codec, &content_protection_type, &vendor_id,
|
||||
&vendor_codec, &configuration_offset, &configuration_length);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
@ -1897,7 +1897,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
SEID_ACP, 0, &seid, interface_id,
|
||||
adapter_id, chandle, frame_number);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
@ -1931,7 +1931,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
offset += 1;
|
||||
break;
|
||||
}
|
||||
if (message_type == MESSAGE_TYPE_ACCEPT && !pinfo->fd->flags.visited) {
|
||||
if (message_type == MESSAGE_TYPE_ACCEPT && !pinfo->fd->visited) {
|
||||
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
|
@ -1970,7 +1970,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
break;
|
||||
}
|
||||
|
||||
if (message_type == MESSAGE_TYPE_ACCEPT && !pinfo->fd->flags.visited) {
|
||||
if (message_type == MESSAGE_TYPE_ACCEPT && !pinfo->fd->visited) {
|
||||
media_stream_number_value_t *media_stream_number_value;
|
||||
guint32 stream_number = 0;
|
||||
|
||||
|
@ -2020,7 +2020,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
offset += 1;
|
||||
break;
|
||||
}
|
||||
if (!pinfo->fd->flags.visited && message_type == MESSAGE_TYPE_ACCEPT &&
|
||||
if (!pinfo->fd->visited && message_type == MESSAGE_TYPE_ACCEPT &&
|
||||
channels_info->disconnect_in_frame > pinfo->num) {
|
||||
channels_info->disconnect_in_frame = pinfo->num;
|
||||
}
|
||||
|
@ -2057,7 +2057,7 @@ dissect_btavdtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
offset += 1;
|
||||
break;
|
||||
}
|
||||
if (!pinfo->fd->flags.visited && message_type == MESSAGE_TYPE_ACCEPT &&
|
||||
if (!pinfo->fd->visited && message_type == MESSAGE_TYPE_ACCEPT &&
|
||||
channels_info->disconnect_in_frame > pinfo->num) {
|
||||
channels_info->disconnect_in_frame = pinfo->num;
|
||||
}
|
||||
|
@ -3046,7 +3046,7 @@ dissect_aptx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
pitem = proto_tree_add_double(aptx_tree, hf_aptx_delta_time_from_the_beginning, tvb, 0, 0, nstime_to_msec(&delta));
|
||||
PROTO_ITEM_SET_GENERATED(pitem);
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
info->current_media_packet_info->cumulative_frame_duration += cumulative_frame_duration;
|
||||
|
||||
pitem = proto_tree_add_double(aptx_tree, hf_aptx_cumulative_duration, tvb, 0, 0, info->previous_media_packet_info->cumulative_frame_duration);
|
||||
|
|
|
@ -1061,7 +1061,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
length = tvb_reported_length_remaining(tvb, offset);
|
||||
if (packet_type == PACKET_TYPE_START) {
|
||||
if (pinfo->fd->flags.visited == 0 && tvb_captured_length_remaining(tvb, offset) == length) {
|
||||
if (pinfo->fd->visited == 0 && tvb_captured_length_remaining(tvb, offset) == length) {
|
||||
k_op = pdu_id | (company_id << 8);
|
||||
frame_number = pinfo->num;
|
||||
|
||||
|
@ -1107,7 +1107,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
col_append_str(pinfo->cinfo, COL_INFO, " [start]");
|
||||
return offset;
|
||||
} else if (packet_type == PACKET_TYPE_CONTINUE) {
|
||||
if (pinfo->fd->flags.visited == 0 && tvb_captured_length_remaining(tvb, offset) == length) {
|
||||
if (pinfo->fd->visited == 0 && tvb_captured_length_remaining(tvb, offset) == length) {
|
||||
k_op = pdu_id | (company_id << 8);
|
||||
frame_number = pinfo->num;
|
||||
|
||||
|
@ -1178,7 +1178,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
fragment->op == (pdu_id | (company_id << 8))) {
|
||||
|
||||
|
||||
if (fragment->state == 1 && pinfo->fd->flags.visited == 0) {
|
||||
if (fragment->state == 1 && pinfo->fd->visited == 0) {
|
||||
fragment->end_frame_number = pinfo->num;
|
||||
fragment->count += 1;
|
||||
fragment->state = 2;
|
||||
|
@ -1566,7 +1566,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
if (song_position == 0xFFFFFFFF) {
|
||||
proto_item_append_text(pitem, " (NOT SELECTED)");
|
||||
col_append_str(pinfo->cinfo, COL_INFO, " (NOT SELECTED)");
|
||||
} else if (!pinfo->fd->flags.visited) {
|
||||
} else if (!pinfo->fd->visited) {
|
||||
btavrcp_song_position_data_t *song_position_data;
|
||||
|
||||
frame_number = pinfo->num;
|
||||
|
@ -1661,7 +1661,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
val_to_str_const(tvb_get_guint8(tvb, offset), pdu_id_vals, "Unknown opcode"));
|
||||
offset += 1;
|
||||
|
||||
if (pinfo->fd->flags.visited == 0) {
|
||||
if (pinfo->fd->visited == 0) {
|
||||
k_op = continuing_op;
|
||||
frame_number = pinfo->num;
|
||||
|
||||
|
@ -1706,7 +1706,7 @@ dissect_vendor_dependent(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
val_to_str_const(tvb_get_guint8(tvb, offset), pdu_id_vals, "Unknown opcode"));
|
||||
offset += 1;
|
||||
|
||||
if (pinfo->fd->flags.visited == 0) {
|
||||
if (pinfo->fd->visited == 0) {
|
||||
k_op = continuing_op;
|
||||
frame_number = pinfo->num;
|
||||
|
||||
|
@ -2168,7 +2168,7 @@ dissect_btavrcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
key[8].length = 0;
|
||||
key[8].key = NULL;
|
||||
|
||||
if (pinfo->fd->flags.visited == 0) {
|
||||
if (pinfo->fd->visited == 0) {
|
||||
if (is_command) {
|
||||
if (ctype == 0x00) { /* MTC is for CONTROL */
|
||||
max_response_time = 200;
|
||||
|
|
|
@ -360,7 +360,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
|
||||
subtree = (wmem_tree_t *) wmem_tree_lookup32_array(chandle_tree, key);
|
||||
chandle_data = (subtree) ? (chandle_data_t *) wmem_tree_lookup32_le(subtree, pinfo->num) : NULL;
|
||||
if (!pinfo->fd->flags.visited && !chandle_data) {
|
||||
if (!pinfo->fd->visited && !chandle_data) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
@ -378,7 +378,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
chandle_data->start_fragments = wmem_tree_new(wmem_file_scope());
|
||||
|
||||
wmem_tree_insert32_array(chandle_tree, key, chandle_data);
|
||||
} else if (pinfo->fd->flags.visited && !chandle_data) {
|
||||
} else if (pinfo->fd->visited && !chandle_data) {
|
||||
DISSECTOR_ASSERT_HINT(0, "Impossible: no previously session saved");
|
||||
}
|
||||
|
||||
|
@ -426,7 +426,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
gint len;
|
||||
|
||||
if (!(pb_flag & 0x01)) { /* first fragment */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
mfp = (multi_fragment_pdu_t *) wmem_new(wmem_file_scope(), multi_fragment_pdu_t);
|
||||
mfp->first_frame = pinfo->num;
|
||||
mfp->last_frame = 0;
|
||||
|
@ -451,7 +451,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
}
|
||||
if (pb_flag == 0x01) { /* continuation fragment */
|
||||
mfp = (multi_fragment_pdu_t *)wmem_tree_lookup32_le(chandle_data->start_fragments, pinfo->num);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
len = tvb_captured_length_remaining(tvb, offset);
|
||||
if (mfp != NULL && !mfp->last_frame && (mfp->tot_len >= mfp->cur_off + len)) {
|
||||
tvb_memcpy(tvb, (guint8 *) mfp->reassembled + mfp->cur_off, offset, len);
|
||||
|
@ -503,7 +503,7 @@ dissect_bthci_acl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
expert_add_info(pinfo, bthci_acl_item, &ei_invalid_session);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
|
|
@ -2378,7 +2378,7 @@ dissect_link_control_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree_add_item(tree, hf_bthci_cmd_allow_role_switch, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset++;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
guint32 bd_addr_oui;
|
||||
|
@ -2443,7 +2443,7 @@ dissect_link_control_cmd(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree_add_item(tree, hf_bthci_cmd_acr_role, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
guint32 bd_addr_oui;
|
||||
|
@ -3217,7 +3217,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
|
||||
case 0x0013: /* Change Local Name */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_device_name, tvb, offset, 248, ENC_UTF_8 | ENC_NA);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.name = tvb_get_string_enc(wmem_file_scope(), tvb, offset, 248, ENC_UTF_8);
|
||||
}
|
||||
offset += 248;
|
||||
|
@ -3238,7 +3238,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
} else {
|
||||
proto_item_append_text(item, " Illegal Page Timeout");
|
||||
}
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.page_timeout = timeout;
|
||||
}
|
||||
offset+=2;
|
||||
|
@ -3247,7 +3247,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
case 0x001a: /* Write Scan Enable */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_scan_enable,
|
||||
tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.scan = tvb_get_guint8(tvb, offset);
|
||||
}
|
||||
offset++;
|
||||
|
@ -3256,7 +3256,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
case 0x0020: /* Write Authentication Enable */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_authentication_enable,
|
||||
tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.authentication = tvb_get_guint8(tvb, offset);
|
||||
}
|
||||
offset++;
|
||||
|
@ -3264,7 +3264,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
|
||||
case 0x0022: /* Write Encryption Mode */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_encrypt_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.encryption = tvb_get_guint8(tvb, offset);
|
||||
}
|
||||
offset++;
|
||||
|
@ -3272,7 +3272,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
|
||||
case 0x0024: /* Write Class of Device */
|
||||
call_dissector(btcommon_cod_handle, tvb_new_subset_length(tvb, offset, 3), pinfo, tree);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.class_of_device = tvb_get_guint24(tvb, offset, ENC_LITTLE_ENDIAN);
|
||||
}
|
||||
offset += 3;
|
||||
|
@ -3291,7 +3291,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_air_coding_format,
|
||||
tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.voice_setting = tvb_get_guint16(tvb, offset, ENC_LITTLE_ENDIAN);
|
||||
}
|
||||
offset+=2;
|
||||
|
@ -3361,7 +3361,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset+=2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.mtus.acl_mtu = tvb_get_guint16(tvb, offset - 7, ENC_LITTLE_ENDIAN);
|
||||
bthci_cmd_data->data.mtus.sco_mtu = tvb_get_guint8(tvb, offset - 5);
|
||||
bthci_cmd_data->data.mtus.acl_packets = tvb_get_guint16(tvb, offset - 4, ENC_LITTLE_ENDIAN);
|
||||
|
@ -3453,7 +3453,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
|
||||
case 0x0045: /* Write Inquiry Mode */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_inq_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.inquiry_mode = tvb_get_guint8(tvb, offset);
|
||||
}
|
||||
offset++;
|
||||
|
@ -3495,7 +3495,7 @@ dissect_host_controller_baseband_cmd(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
|
||||
case 0x0056: /* Write Simple Pairing Mode */
|
||||
proto_tree_add_item(tree, hf_bthci_cmd_simple_pairing_mode, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
bthci_cmd_data->data.simple_pairing_mode = tvb_get_guint8(tvb, offset);
|
||||
}
|
||||
offset++;
|
||||
|
@ -4767,7 +4767,7 @@ dissect_bthci_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
set_address(&pinfo->net_dst, AT_STRINGZ, 11, "controller");
|
||||
set_address(&pinfo->dl_src, AT_STRINGZ, 5, "host");
|
||||
set_address(&pinfo->dl_dst, AT_STRINGZ, 11, "controller");
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -4806,7 +4806,7 @@ dissect_bthci_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
tap_queue_packet(bluetooth_hci_summary_tap, pinfo, tap_hci_summary);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
bthci_cmd_data = (bthci_cmd_data_t *) wmem_new(wmem_file_scope(), bthci_cmd_data_t);
|
||||
bthci_cmd_data->opcode = opcode;
|
||||
bthci_cmd_data->command_in_frame = frame_number;
|
||||
|
@ -4915,7 +4915,7 @@ dissect_bthci_cmd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
}
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && bthci_cmd_data) {
|
||||
if (!pinfo->fd->visited && bthci_cmd_data) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
|
|
@ -1063,7 +1063,7 @@ save_remote_device_name(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
gchar *name;
|
||||
device_name_t *device_name;
|
||||
|
||||
if (!(!pinfo->fd->flags.visited && bd_addr)) return;
|
||||
if (!(!pinfo->fd->visited && bd_addr)) return;
|
||||
|
||||
interface_id = bluetooth_data->interface_id;
|
||||
adapter_id = bluetooth_data->adapter_id;
|
||||
|
@ -1194,7 +1194,7 @@ dissect_bthci_evt_connect_complete(tvbuff_t *tvb, int offset, packet_info *pinfo
|
|||
offset += 2;
|
||||
|
||||
offset = dissect_bd_addr(hf_bthci_evt_bd_addr, pinfo, tree, tvb, offset, FALSE, bluetooth_data->interface_id, bluetooth_data->adapter_id, bd_addr);
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
wmem_tree_key_t key[5];
|
||||
guint32 k_interface_id;
|
||||
guint32 k_adapter_id;
|
||||
|
@ -1284,7 +1284,7 @@ dissect_bthci_evt_disconnect_complete(tvbuff_t *tvb, int offset, packet_info *pi
|
|||
send_hci_summary_reason_tap(tvb_get_guint8(tvb, offset), pinfo, bluetooth_data);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
wmem_tree_key_t key[4];
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
|
@ -1542,7 +1542,7 @@ dissect_bthci_evt_remote_name_req_complete(tvbuff_t *tvb, int offset,
|
|||
offset = dissect_bd_addr(hf_bthci_evt_bd_addr, pinfo, tree, tvb, offset, FALSE, bluetooth_data->interface_id, bluetooth_data->adapter_id, bd_addr);
|
||||
|
||||
proto_tree_add_item(tree, hf_bthci_evt_remote_name, tvb, offset, 248, ENC_UTF_8|ENC_NA);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
|
@ -1728,7 +1728,7 @@ dissect_bthci_evt_mode_change(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_item_append_text(handle_item, " Baseband slots (%f msec)", tvb_get_letohs(tvb, offset)*0.625);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
wmem_tree_key_t key[5];
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
|
@ -1779,7 +1779,7 @@ dissect_bthci_evt_role_change(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
role = tvb_get_guint8(tvb, offset);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
guint32 interface_id;
|
||||
guint32 adapter_id;
|
||||
guint32 bd_addr_oui;
|
||||
|
@ -2305,7 +2305,7 @@ dissect_bthci_evt_le_meta(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree_add_item(tree, hf_bthci_evt_le_master_clock_accuracy, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
wmem_tree_key_t key[5];
|
||||
guint32 k_interface_id;
|
||||
guint32 k_adapter_id;
|
||||
|
@ -2515,7 +2515,7 @@ dissect_bthci_evt_le_meta(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree_add_item(tree, hf_bthci_evt_le_master_clock_accuracy, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
wmem_tree_key_t key[5];
|
||||
guint32 k_interface_id;
|
||||
guint32 k_adapter_id;
|
||||
|
@ -3215,7 +3215,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
|
|||
offset += 1;
|
||||
|
||||
offset = dissect_bd_addr(hf_bthci_evt_bd_addr, pinfo, tree, tvb, offset, local_addr, bluetooth_data->interface_id, bluetooth_data->adapter_id, bd_addr);
|
||||
if (!pinfo->fd->flags.visited && local_addr) {
|
||||
if (!pinfo->fd->visited && local_addr) {
|
||||
localhost_bdaddr_entry_t *localhost_bdaddr_entry;
|
||||
|
||||
interface_id = bluetooth_data->interface_id;
|
||||
|
@ -3475,7 +3475,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
|
|||
offset += 1;
|
||||
|
||||
proto_tree_add_item(tree, hf_bthci_evt_device_name, tvb, offset, 248, ENC_UTF_8|ENC_NA);
|
||||
if (status == STATUS_SUCCESS && !pinfo->fd->flags.visited) {
|
||||
if (status == STATUS_SUCCESS && !pinfo->fd->visited) {
|
||||
gchar *name;
|
||||
localhost_name_entry_t *localhost_name_entry;
|
||||
|
||||
|
@ -4055,7 +4055,7 @@ dissect_bthci_evt_command_complete(tvbuff_t *tvb, int offset,
|
|||
}
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
|
||||
hci_vendor_data_t *new_hci_vendor_data;
|
||||
|
||||
|
@ -5113,7 +5113,7 @@ dissect_bthci_evt_sync_connection_complete(tvbuff_t *tvb, int offset,
|
|||
adapter_id = bluetooth_data->adapter_id;
|
||||
frame_number = pinfo->num;
|
||||
|
||||
if (!pinfo->fd->flags.visited && status == STATUS_SUCCESS) {
|
||||
if (!pinfo->fd->visited && status == STATUS_SUCCESS) {
|
||||
remote_bdaddr_t *remote_bdaddr;
|
||||
chandle_session_t *chandle_session;
|
||||
bthci_sco_stream_number_t *sco_stream_number;
|
||||
|
@ -5383,7 +5383,7 @@ dissect_bthci_evt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
set_address(&pinfo->net_dst, AT_STRINGZ, 5, "host");
|
||||
set_address(&pinfo->dl_src, AT_STRINGZ, 11, "controller");
|
||||
set_address(&pinfo->dl_dst, AT_STRINGZ, 5, "host");
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -6007,7 +6007,7 @@ dissect_bthci_evt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
tap_device->data.name = lastest_bthci_cmd_data->data.name;
|
||||
tap_queue_packet(bluetooth_device_tap, pinfo, tap_device);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
localhost_name_entry_t *localhost_name_entry;
|
||||
wmem_tree_key_t key[4];
|
||||
guint32 interface_id;
|
||||
|
@ -6192,19 +6192,19 @@ dissect_bthci_evt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
}
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && opcode_list_data->command_status == COMMAND_STATUS_PENDING &&
|
||||
if (!pinfo->fd->visited && opcode_list_data->command_status == COMMAND_STATUS_PENDING &&
|
||||
lastest_bthci_cmd_data->pending_in_frame == max_disconnect_in_frame) {
|
||||
lastest_bthci_cmd_data->pending_in_frame = frame_number;
|
||||
lastest_bthci_cmd_data->pending_abs_ts = pinfo->abs_ts;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && opcode_list_data->command_status == COMMAND_STATUS_NORMAL &&
|
||||
if (!pinfo->fd->visited && opcode_list_data->command_status == COMMAND_STATUS_NORMAL &&
|
||||
lastest_bthci_cmd_data->response_in_frame == max_disconnect_in_frame) {
|
||||
lastest_bthci_cmd_data->response_in_frame = frame_number;
|
||||
lastest_bthci_cmd_data->response_abs_ts = pinfo->abs_ts;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && opcode_list_data->command_status == COMMAND_STATUS_RESULT &&
|
||||
if (!pinfo->fd->visited && opcode_list_data->command_status == COMMAND_STATUS_RESULT &&
|
||||
lastest_bthci_cmd_data->response_in_frame == max_disconnect_in_frame &&
|
||||
lastest_bthci_cmd_data->pending_in_frame == max_disconnect_in_frame) {
|
||||
lastest_bthci_cmd_data->response_in_frame = frame_number;
|
||||
|
|
|
@ -448,7 +448,7 @@ dissect_bthci_vendor_broadcom(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tre
|
|||
|
||||
/* TODO: This is command, but in respose (event Command Complete) there is a status for that,
|
||||
so write bdaddr can fail, but we store bdaddr as valid for now... */
|
||||
if (!pinfo->fd->flags.visited && bluetooth_data) {
|
||||
if (!pinfo->fd->visited && bluetooth_data) {
|
||||
wmem_tree_key_t key[4];
|
||||
guint32 frame_number;
|
||||
localhost_bdaddr_entry_t *localhost_bdaddr_entry;
|
||||
|
|
|
@ -2214,7 +2214,7 @@ dissect_bthfp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
}
|
||||
|
||||
/* save fragments */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
frame_number = pinfo->num - 1;
|
||||
|
||||
key[0].length = 1;
|
||||
|
|
|
@ -486,7 +486,7 @@ dissect_at_command(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
|
||||
/* TODO: Save bthsp.at_cmd, bthsp.at_cmd.type, frame_time and frame_num here in
|
||||
|
||||
if (role == ROLE_HS && pinfo->fd->flags.visited == 0) {
|
||||
if (role == ROLE_HS && pinfo->fd->visited == 0) {
|
||||
|
||||
at_cmd_db = wmem_tree_new_autoreset(wmem_epan_scope(), wmem_file_scope());
|
||||
|
||||
|
@ -763,7 +763,7 @@ dissect_bthsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
}
|
||||
|
||||
/* save fragments */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
frame_number = pinfo->num - 1;
|
||||
|
||||
key[0].length = 1;
|
||||
|
|
|
@ -682,7 +682,7 @@ dissect_connrequest(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
offset += 1;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 k_interface_id;
|
||||
guint32 k_adapter_id;
|
||||
|
@ -836,7 +836,7 @@ dissect_le_credit_based_connrequest(tvbuff_t *tvb, int offset, packet_info *pinf
|
|||
proto_tree_add_item(command_tree, hf_btl2cap_initial_credits, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 k_interface_id;
|
||||
guint32 k_adapter_id;
|
||||
|
@ -982,7 +982,7 @@ dissect_le_credit_based_connresponse(tvbuff_t *tvb, int offset, packet_info *pin
|
|||
offset += 2;
|
||||
|
||||
|
||||
if (pinfo->fd->flags.visited == 0) {
|
||||
if (pinfo->fd->visited == 0) {
|
||||
psm_data_t *psm_data;
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 k_interface_id;
|
||||
|
@ -1532,7 +1532,7 @@ dissect_connresponse(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
val_to_str_const(result, result_vals, "Unknown"), scid);
|
||||
}
|
||||
|
||||
if (pinfo->fd->flags.visited == 0) {
|
||||
if (pinfo->fd->visited == 0) {
|
||||
psm_data_t *psm_data;
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 k_interface_id;
|
||||
|
@ -1732,7 +1732,7 @@ dissect_disconnrequestresponse(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_tree_add_item(command_tree, hf_btl2cap_scid, tvb, offset, 2, ENC_LITTLE_ENDIAN);
|
||||
offset += 2;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
psm_data_t *psm_data;
|
||||
wmem_tree_key_t key[6];
|
||||
guint32 k_interface_id;
|
||||
|
@ -2008,7 +2008,7 @@ dissect_le_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
btl2cap_frame_data_t *btl2cap_frame_data = NULL;
|
||||
fragment_head *frag_btl2cap_le_sdu = NULL;
|
||||
|
||||
if ((!pinfo->fd->flags.visited) && (config_data) && !is_retransmit) {
|
||||
if ((!pinfo->fd->visited) && (config_data) && !is_retransmit) {
|
||||
btl2cap_frame_data = wmem_new0(wmem_file_scope(), btl2cap_frame_data_t);
|
||||
if (config_data->segmentation_started == 1) {
|
||||
config_data->segment_len_rem = config_data->segment_len_rem - length;
|
||||
|
@ -2205,7 +2205,7 @@ dissect_i_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
"SDU length less than length of first packet (%u < %u)", sdulen, length);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
mfp = wmem_new(wmem_file_scope(), sdu_reassembly_t);
|
||||
mfp->first_frame = pinfo->num;
|
||||
mfp->last_frame = 0;
|
||||
|
@ -2233,7 +2233,7 @@ dissect_i_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
}
|
||||
if (segment == 0x02 || segment == 0x03) {
|
||||
mfp = (sdu_reassembly_t *)wmem_tree_lookup32_le(config_data->start_fragments, pinfo->num);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (mfp != NULL && !mfp->last_frame && (mfp->tot_len>=mfp->cur_off + length)) {
|
||||
tvb_memcpy(tvb, mfp->reassembled + mfp->cur_off, offset, length);
|
||||
mfp->cur_off += length;
|
||||
|
|
|
@ -639,7 +639,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -674,7 +674,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -699,7 +699,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -723,7 +723,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -761,7 +761,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
copy_address_shallow(&pinfo->dl_dst, &pinfo->net_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
addr = (address *) wmem_memdup(wmem_file_scope(), &pinfo->dl_src, sizeof(address));
|
||||
|
@ -812,7 +812,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(link_layer_data_tree, hf_link_layer_data_sleep_clock_accuracy, tvb, offset, 1, ENC_LITTLE_ENDIAN);
|
||||
offset += 1;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
key[0].length = 1;
|
||||
key[0].key = &interface_id;
|
||||
key[1].length = 1;
|
||||
|
@ -915,7 +915,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
set_address(&pinfo->net_dst, AT_STRINGZ, (int)strlen(str_addr_dst)+1, str_addr_dst);
|
||||
copy_address_shallow(&pinfo->dst, &pinfo->net_dst);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
address *addr;
|
||||
|
||||
btle_frame_info = wmem_new0(wmem_file_scope(), btle_frame_info_t);
|
||||
|
@ -997,7 +997,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
|
||||
pinfo->fragmented = TRUE;
|
||||
if (connection_info && !retransmit) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (connection_info->direction_info[direction].segmentation_started == 1) {
|
||||
if (connection_info->direction_info[direction].segment_len_rem >= length) {
|
||||
connection_info->direction_info[direction].segment_len_rem = connection_info->direction_info[direction].segment_len_rem - length;
|
||||
|
@ -1087,7 +1087,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
if (le_frame_len > length) {
|
||||
pinfo->fragmented = TRUE;
|
||||
if (connection_info && !retransmit) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
connection_info->direction_info[direction].segmentation_started = 1;
|
||||
/* The first two octets in the L2CAP PDU contain the length of the entire
|
||||
* L2CAP PDU in octets, excluding the Length and CID fields(4 octets).
|
||||
|
@ -1124,7 +1124,7 @@ dissect_btle(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
bthci_acl_data_t *acl_data;
|
||||
if (connection_info) {
|
||||
/* Add a L2CAP index for completeness */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
btle_frame_info->l2cap_index = l2cap_index;
|
||||
l2cap_index++;
|
||||
}
|
||||
|
|
|
@ -650,7 +650,7 @@ dissect_btrfcomm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data
|
|||
key[4].length = 1;
|
||||
key[4].key = &k_dlci;
|
||||
|
||||
if (!pinfo->fd->flags.visited && frame_type == FRAME_TYPE_SABM) {
|
||||
if (!pinfo->fd->visited && frame_type == FRAME_TYPE_SABM) {
|
||||
key[5].length = 0;
|
||||
key[5].key = NULL;
|
||||
|
||||
|
|
|
@ -1523,7 +1523,7 @@ reassemble_continuation_state(tvbuff_t *tvb, packet_info *pinfo,
|
|||
} else if (length == 1 && tvb_get_guint8(tvb, offset) == 0x00) {
|
||||
if (is_continued) *is_continued = FALSE;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (is_request) {
|
||||
tid_request = (tid_request_t *) wmem_new(wmem_file_scope(), tid_request_t);
|
||||
tid_request->interface_id = interface_id;
|
||||
|
@ -1677,7 +1677,7 @@ reassemble_continuation_state(tvbuff_t *tvb, packet_info *pinfo,
|
|||
|
||||
continuation_state_buffer = tvb_bytes_to_str(wmem_file_scope(), tvb, offset, continuation_state_length);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (is_request) {
|
||||
tid_request = (tid_request_t *) wmem_new(wmem_file_scope(), tid_request_t);
|
||||
tid_request->interface_id = interface_id;
|
||||
|
@ -2017,7 +2017,7 @@ dissect_protocol_descriptor_list(proto_tree *next_tree, tvbuff_t *tvb,
|
|||
proto_item_append_text(feature_item, ", PSM: %u", value);
|
||||
proto_item_append_text(entry_item, ", PSM: %u", value);
|
||||
proto_tree_add_item(sub_tree, hf_sdp_protocol_psm, tvb, entry_offset, 2, ENC_BIG_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
record = save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, value, *protocol_order, service_info);
|
||||
*protocol_order += 1;
|
||||
} else if (uuid.bt_uuid == BTSDP_RFCOMM_PROTOCOL_UUID) {
|
||||
|
@ -2025,7 +2025,7 @@ dissect_protocol_descriptor_list(proto_tree *next_tree, tvbuff_t *tvb,
|
|||
proto_item_append_text(feature_item, ", RFCOMM Channel: %u", value);
|
||||
proto_item_append_text(entry_item, ", RFCOMM Channel: %u", value);
|
||||
proto_tree_add_item(sub_tree, hf_sdp_protocol_channel, tvb, entry_offset, 1, ENC_BIG_ENDIAN);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
record = save_channel(pinfo, BTSDP_RFCOMM_PROTOCOL_UUID, value, *protocol_order, service_info);
|
||||
*protocol_order += 1;
|
||||
} else if (uuid.bt_uuid == BTSDP_ATT_PROTOCOL_UUID) {
|
||||
|
@ -2369,7 +2369,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_pbap_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x314:
|
||||
|
@ -2433,7 +2433,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_ftp_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
default:
|
||||
|
@ -2447,7 +2447,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_map_mas_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x315:
|
||||
|
@ -2491,7 +2491,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_map_mns_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x317:
|
||||
|
@ -2724,7 +2724,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_opp_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x303:
|
||||
|
@ -2966,7 +2966,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_bip_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x310:
|
||||
|
@ -3061,7 +3061,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_bip_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited && service_info)
|
||||
if (!pinfo->fd->visited && service_info)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x312:
|
||||
|
@ -3085,7 +3085,7 @@ dissect_sdp_type(proto_tree *tree, packet_info *pinfo, tvbuff_t *tvb,
|
|||
proto_tree_add_item(next_tree, hf_bip_goep_l2cap_psm, tvb, offset, 2, ENC_BIG_ENDIAN);
|
||||
psm = tvb_get_ntohs(tvb, offset);
|
||||
wmem_strbuf_append_printf(info_buf, "%u (0x%02x)", psm, psm);
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
save_channel(pinfo, BTSDP_L2CAP_PROTOCOL_UUID, psm, -1, service_info);
|
||||
break;
|
||||
case 0x312:
|
||||
|
@ -3928,7 +3928,7 @@ dissect_sdp_service_attribute_list(proto_tree *tree, tvbuff_t *tvb, gint offset,
|
|||
if (uuid.size == 0 && service_uuid)
|
||||
uuid = *service_uuid;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
service_info = (service_info_t *) wmem_new(wmem_file_scope(), service_info_t);
|
||||
service_info->interface_id = l2cap_data->interface_id;
|
||||
service_info->adapter_id = l2cap_data->adapter_id;
|
||||
|
@ -3959,7 +3959,7 @@ dissect_sdp_service_attribute_list(proto_tree *tree, tvbuff_t *tvb, gint offset,
|
|||
uuid, service_offset, service_info, number_of_attributes, FALSE);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && service_info) {
|
||||
if (!pinfo->fd->visited && service_info) {
|
||||
k_interface_id = l2cap_data->interface_id;
|
||||
k_adapter_id = l2cap_data->adapter_id;
|
||||
k_sdp_psm = l2cap_data->psm;
|
||||
|
@ -4058,7 +4058,7 @@ dissect_sdp_service_search_request(proto_tree *tree, tvbuff_t *tvb, gint offset,
|
|||
|
||||
start_offset = offset;
|
||||
memset(&empty_uuid, 0, sizeof(bluetooth_uuid_t));
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
uuid_array = wmem_array_new(wmem_file_scope(), sizeof(bluetooth_uuid_t));
|
||||
|
||||
ti = proto_tree_add_item(tree, hf_service_search_pattern, tvb, offset, 0, ENC_NA);
|
||||
|
@ -4128,7 +4128,7 @@ dissect_sdp_service_search_response(proto_tree *tree, tvbuff_t *tvb,
|
|||
current_count * 4, "Service Record Handle List [count = %u]", current_count);
|
||||
st = proto_item_add_subtree(ti, ett_btsdp_ssr);
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
record_handle_array = wmem_array_new(wmem_packet_scope(), sizeof(guint32));
|
||||
|
||||
while (current_count > 0) {
|
||||
|
@ -4152,7 +4152,7 @@ dissect_sdp_service_search_response(proto_tree *tree, tvbuff_t *tvb,
|
|||
if (is_continued)
|
||||
col_append_str(pinfo->cinfo, COL_INFO, "(fragment)");
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
record_handle_service_t *record_handle_service;
|
||||
wmem_tree_key_t key[7];
|
||||
guint32 k_interface_id;
|
||||
|
@ -4350,7 +4350,7 @@ dissect_sdp_service_search_attribute_request(proto_tree *tree, tvbuff_t *tvb,
|
|||
bluetooth_uuid_t uuid;
|
||||
|
||||
memset(&empty_uuid, 0, sizeof(bluetooth_uuid_t));
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
uuid_array = wmem_array_new(wmem_file_scope(), sizeof(bluetooth_uuid_t));
|
||||
else
|
||||
uuid_array = wmem_array_new(wmem_packet_scope(), sizeof(bluetooth_uuid_t));
|
||||
|
|
|
@ -1513,7 +1513,7 @@ c_pkt_data_init(c_pkt_data *d, packet_info *pinfo, guint off)
|
|||
d->conv = find_or_create_conversation(pinfo);
|
||||
DISSECTOR_ASSERT_HINT(d->conv, "find_or_create_conversation() returned NULL");
|
||||
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
{
|
||||
/* Retrieve the saved state. */
|
||||
d->convd = (c_conv_data*)p_get_proto_data(wmem_file_scope(), pinfo,
|
||||
|
@ -1573,7 +1573,7 @@ c_pkt_data_init(c_pkt_data *d, packet_info *pinfo, guint off)
|
|||
static
|
||||
void c_pkt_data_save(c_pkt_data *d, packet_info *pinfo, guint off)
|
||||
{
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
/*
|
||||
Save a copy of the state for next time we dissect this packet.
|
||||
|
|
|
@ -6368,7 +6368,7 @@ dissect_cip_cm_fwd_open_req(cip_req_info_t *preq_info, proto_tree *cmd_tree, tvb
|
|||
epath_tree = proto_tree_add_subtree(cmd_tree, tvb, offset+26+net_param_offset+6, conn_path_size, ett_path, &pi, "Connection Path: ");
|
||||
dissect_epath( tvb, pinfo, epath_tree, pi, offset+26+net_param_offset+6, conn_path_size, FALSE, FALSE, &connection_path, &safety_fwdopen, DISPLAY_CONNECTION_PATH, NULL, FALSE);
|
||||
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
{
|
||||
/* "Connection" is created during ForwardOpen reply (which will be after ForwardOpen request),
|
||||
so ForwardOpen request can only be marked after the first pass */
|
||||
|
@ -6489,7 +6489,7 @@ dissect_cip_cm_fwd_open_rsp_success(cip_req_info_t *preq_info, proto_tree *tree,
|
|||
|
||||
/* See if we've captured the ForwardOpen request. If so some of the conversation data has already been
|
||||
populated and we just need to update it. */
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return parsed_len + app_rep_size;
|
||||
|
||||
if ((preq_info != NULL) && (preq_info->connInfo != NULL))
|
||||
|
@ -6584,7 +6584,7 @@ static void dissect_cip_cm_fwd_close_req(proto_tree* cmd_data_tree, tvbuff_t* tv
|
|||
hf_cip_cm_conn_serial_num, hf_cip_cm_vendor, hf_cip_cm_orig_serial_num,
|
||||
&conn_triad);
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
enip_mark_connection_triad(pinfo, &conn_triad);
|
||||
|
||||
/* Add the path size */
|
||||
|
|
|
@ -1760,7 +1760,7 @@ dissect_cip_safety_data( proto_tree *tree, proto_item *item, tvbuff_t *tvb, int
|
|||
if (compute_crc)
|
||||
{
|
||||
/* Determine if packet timestamp results in rollover count increment */
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if ((timestamp != 0) && (timestamp < safety_info->eip_conn_info->safety.running_timestamp_value))
|
||||
{
|
||||
|
@ -1849,7 +1849,7 @@ dissect_cip_safety_data( proto_tree *tree, proto_item *item, tvbuff_t *tvb, int
|
|||
if (compute_crc)
|
||||
{
|
||||
/* Determine if packet timestamp results in rollover count increment */
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if ((timestamp != 0) && (timestamp < safety_info->eip_conn_info->safety.running_timestamp_value))
|
||||
{
|
||||
|
|
|
@ -274,7 +274,7 @@ dissect_classicstun(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
|
|||
conversation_add_proto_data(conversation, proto_classicstun, classicstun_info);
|
||||
}
|
||||
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if (((msg_type & CLASS_MASK) >> 4) == REQUEST) {
|
||||
/* This is a request */
|
||||
classicstun_trans=wmem_new(wmem_file_scope(), classicstun_transaction_t);
|
||||
|
|
|
@ -1034,7 +1034,7 @@ dissect_cops_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
wmem_map_insert(cops_conv_info->pdus_tree, GUINT_TO_POINTER(handle_value), pdus_array);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/*
|
||||
* XXX - yes, we're setting all the fields in this
|
||||
* structure, but there's padding between op_code
|
||||
|
@ -1084,7 +1084,7 @@ dissect_cops_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
if (pdus_array == NULL) /* There's no request with this handle value */
|
||||
return offset;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
for (i=0; i < pdus_array->len; i++) {
|
||||
cops_call = (cops_call_t*)g_ptr_array_index(pdus_array, i);
|
||||
|
||||
|
|
|
@ -971,7 +971,7 @@ dissect_cp2179_pdu(tvbuff_t *cp2179_tvb, packet_info *pinfo, proto_tree *tree, v
|
|||
/* set information for Information column for CP2179 */
|
||||
col_add_fstr(pinfo->cinfo, COL_INFO, "%s", val_to_str_ext_const(message_type, &cp2179_messagetype_vals_ext, "Unknown Message Type"));
|
||||
|
||||
if (!pinfo->fd->flags.visited){
|
||||
if (!pinfo->fd->visited){
|
||||
conversation_t *conversation = NULL;
|
||||
cp2179_conversation *conv_data = NULL;
|
||||
|
||||
|
|
|
@ -1041,7 +1041,7 @@ dissect_cql_tcp_pdu(tvbuff_t* raw_tvb, packet_info* pinfo, proto_tree* tree, voi
|
|||
offset += 4;
|
||||
|
||||
/* Track the request/response. */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (server_to_client == 0) {
|
||||
/* This is a request, add it to this stream tracking */
|
||||
cql_trans = cql_transaction_add_request(cql_conv, pinfo, stream, 0);
|
||||
|
|
|
@ -897,7 +897,7 @@ dissect_ctdb_req_control(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tr
|
|||
}
|
||||
|
||||
/* setup request/response matching */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
wmem_tree_key_t tkey[4];
|
||||
|
||||
ctdb_control=wmem_new(wmem_file_scope(), ctdb_control_t);
|
||||
|
@ -961,7 +961,7 @@ dissect_ctdb_reply_control(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_
|
|||
return offset;
|
||||
}
|
||||
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
ctdb_control->response_in = pinfo->num;
|
||||
}
|
||||
|
||||
|
@ -1087,7 +1087,7 @@ dissect_ctdb_req_call(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
|
|||
offset+=datalen;
|
||||
|
||||
/* setup request/response matching */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
wmem_tree_key_t tkey[3];
|
||||
|
||||
ctdb_trans=wmem_new(wmem_file_scope(), ctdb_trans_t);
|
||||
|
|
|
@ -660,7 +660,7 @@ void dcerpc_smb_store_pol_pkts(e_ctx_hnd *policy_hnd, packet_info *pinfo,
|
|||
* has been completely constructed. If we've already seen this
|
||||
* frame, there's nothing to do.
|
||||
*/
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return;
|
||||
|
||||
if (is_null_pol(policy_hnd))
|
||||
|
@ -731,7 +731,7 @@ static void dcerpc_store_polhnd_type(e_ctx_hnd *policy_hnd, packet_info *pinfo,
|
|||
* has been completely constructed. If we've already seen this
|
||||
* frame, there's nothing to do.
|
||||
*/
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return;
|
||||
|
||||
if (is_null_pol(policy_hnd))
|
||||
|
@ -760,7 +760,7 @@ void dcerpc_store_polhnd_name(e_ctx_hnd *policy_hnd, packet_info *pinfo,
|
|||
* has been completely constructed. If we've already seen this
|
||||
* frame, there's nothing to do.
|
||||
*/
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return;
|
||||
|
||||
if (is_null_pol(policy_hnd))
|
||||
|
@ -1057,7 +1057,7 @@ PIDL_dissect_policy_hnd(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
* actual object so just show it as <...> for the time being.
|
||||
*/
|
||||
if((param&PIDL_POLHND_OPEN)
|
||||
&& !pinfo->fd->flags.visited
|
||||
&& !pinfo->fd->visited
|
||||
&& !di->conformant_run){
|
||||
char *pol_string=NULL;
|
||||
const char *pol_name=NULL;
|
||||
|
@ -1074,7 +1074,7 @@ PIDL_dissect_policy_hnd(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
}
|
||||
|
||||
/* Track this policy handle for the response */
|
||||
if(!pinfo->fd->flags.visited
|
||||
if(!pinfo->fd->visited
|
||||
&& !di->conformant_run){
|
||||
dcerpc_call_value *dcv;
|
||||
|
||||
|
|
|
@ -771,7 +771,7 @@ SpoolssGetPrinterData_q(tvbuff_t *tvb, int offset,
|
|||
tvb, offset, pinfo, tree, di, drep, sizeof(guint16),
|
||||
hf_printerdata_value, TRUE, &value_name);
|
||||
/* GetPrinterData() stores the printerdata in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data && value_name){
|
||||
dcv->se_data = wmem_strdup(wmem_file_scope(), value_name);
|
||||
}
|
||||
|
@ -854,7 +854,7 @@ SpoolssGetPrinterDataEx_q(tvbuff_t *tvb, int offset,
|
|||
hf_printerdata_value, TRUE, &value_name);
|
||||
|
||||
/* GetPrinterDataEx() stores the key/value in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
dcv->se_data = wmem_strdup_printf(wmem_file_scope(),
|
||||
"%s==%s",
|
||||
|
@ -942,7 +942,7 @@ SpoolssSetPrinterData_q(tvbuff_t *tvb, int offset,
|
|||
hf_printerdata_value, TRUE, &value_name);
|
||||
|
||||
/* GetPrinterDataEx() stores the key/value in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
dcv->se_data = wmem_strdup(wmem_file_scope(),
|
||||
value_name?value_name:"");
|
||||
|
@ -2465,7 +2465,7 @@ SpoolssOpenPrinterEx_q(tvbuff_t *tvb, int offset,
|
|||
name = (char *)dcv->private_data;
|
||||
|
||||
/* OpenPrinterEx() stores the key/value in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
dcv->se_data = wmem_strdup(wmem_file_scope(),
|
||||
name?name:"");
|
||||
|
@ -2538,7 +2538,7 @@ SpoolssOpenPrinterEx_r(tvbuff_t *tvb, int offset,
|
|||
} else {
|
||||
pol_name = "Unknown OpenPrinterEx() handle";
|
||||
}
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcerpc_store_polhnd_name(&policy_hnd, pinfo, pol_name);
|
||||
}
|
||||
|
||||
|
@ -3018,7 +3018,7 @@ SpoolssReplyOpenPrinter_q(tvbuff_t *tvb, int offset,
|
|||
tvb, offset, pinfo, tree, di, drep, sizeof(guint16),
|
||||
hf_servername, TRUE, &name);
|
||||
/* ReplyOpenPrinter() stores the printername in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
if(name){
|
||||
dcv->se_data = wmem_strdup(wmem_file_scope(), name);
|
||||
|
@ -3075,7 +3075,7 @@ SpoolssReplyOpenPrinter_r(tvbuff_t *tvb, int offset,
|
|||
} else {
|
||||
pol_name = "Unknown ReplyOpenPrinter() handle";
|
||||
}
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcerpc_store_polhnd_name(&policy_hnd, pinfo, pol_name);
|
||||
}
|
||||
|
||||
|
@ -3108,7 +3108,7 @@ SpoolssGetPrinter_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* GetPrinter() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -3441,7 +3441,7 @@ SpoolssEnumForms_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* EnumForms() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -3566,7 +3566,7 @@ SpoolssAddPrinterEx_r(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
} else {
|
||||
pol_name = "Unknown AddPrinterEx() handle";
|
||||
}
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcerpc_store_polhnd_name(&policy_hnd, pinfo, pol_name);
|
||||
}
|
||||
|
||||
|
@ -3731,7 +3731,7 @@ SpoolssEnumPrinters_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* GetPrinter() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -3948,7 +3948,7 @@ SpoolssAddForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
col_append_fstr(pinfo->cinfo, COL_INFO, ", level %d", level);
|
||||
|
||||
/* AddForm() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -4114,7 +4114,7 @@ SpoolssGetForm_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_form_level, &level);
|
||||
|
||||
/* GetForm() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -4409,7 +4409,7 @@ SpoolssEnumJobs_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* EnumJobs() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -4552,7 +4552,7 @@ SpoolssGetJob_q(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* GetJob() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -5271,7 +5271,7 @@ SpoolssEnumPrinterDrivers_q(tvbuff_t *tvb, int offset,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* EnumPrinterDrivers() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
@ -5384,7 +5384,7 @@ SpoolssGetPrinterDriver2_q(tvbuff_t *tvb, int offset,
|
|||
tvb, offset, pinfo, tree, di, drep, hf_level, &level);
|
||||
|
||||
/* GetPrinterDriver2() stores the level in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcv->se_data = GUINT_TO_POINTER((int)level);
|
||||
}
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ svcctl_dissect_OpenSCManager_rqst(tvbuff_t *tvb, int offset,
|
|||
dn="";
|
||||
|
||||
/* OpenSCManager() stores the server\database in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
dcv->se_data=wmem_strdup_printf(wmem_file_scope(), "%s\\%s",mn,dn);
|
||||
}
|
||||
|
@ -302,7 +302,7 @@ svcctl_dissect_OpenSCManager_reply(tvbuff_t *tvb, int offset,
|
|||
} else {
|
||||
pol_name = "Unknown OpenSCManagerW() handle";
|
||||
}
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcerpc_store_polhnd_name(&policy_hnd, pinfo, pol_name);
|
||||
}
|
||||
|
||||
|
@ -344,7 +344,7 @@ svcctl_dissect_OpenSCManagerW_rqst(tvbuff_t *tvb, int offset,
|
|||
dn="";
|
||||
|
||||
/* OpenSCManager() stores the server\database in se_data */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(!dcv->se_data){
|
||||
dcv->se_data=wmem_strdup_printf(wmem_file_scope(), "%s\\%s",mn,dn);
|
||||
}
|
||||
|
@ -386,7 +386,7 @@ svcctl_dissect_OpenSCManagerW_reply(tvbuff_t *tvb, int offset,
|
|||
} else {
|
||||
pol_name = "Unknown OpenSCManagerW() handle";
|
||||
}
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
dcerpc_store_polhnd_name(&policy_hnd, pinfo, pol_name);
|
||||
}
|
||||
|
||||
|
|
|
@ -2723,7 +2723,7 @@ PIDL_dissect_cvstring(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
|
|||
}
|
||||
/* Save string to dcv->private_data */
|
||||
if ((param & PIDL_STR_SAVE)
|
||||
&& (!pinfo->fd->flags.visited)) {
|
||||
&& (!pinfo->fd->visited)) {
|
||||
dcerpc_call_value *dcv = (dcerpc_call_value *)di->call_data;
|
||||
dcv->private_data = wmem_strdup(wmem_file_scope(), s);
|
||||
}
|
||||
|
@ -3112,7 +3112,7 @@ add_pointer_to_list(packet_info *pinfo, proto_tree *tree, proto_item *item,
|
|||
value = di->call_data;
|
||||
|
||||
if (di->ptype == PDU_REQ) {
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
if (id > value->max_ptr) {
|
||||
value->max_ptr = id;
|
||||
}
|
||||
|
@ -4063,7 +4063,7 @@ dissect_dcerpc_cn_bind(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
match to the interface.
|
||||
XXX We assume that BINDs will NEVER be fragmented.
|
||||
*/
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
dcerpc_bind_key *key;
|
||||
dcerpc_bind_value *value;
|
||||
|
||||
|
@ -4356,7 +4356,7 @@ dissect_dcerpc_cn_stub(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
and if so dissect the full pdu.
|
||||
then exit
|
||||
*/
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
fd_head = fragment_get_reassembled(&dcerpc_co_reassembly_table, frame);
|
||||
goto end_cn_stub;
|
||||
}
|
||||
|
@ -4519,7 +4519,7 @@ dissect_dcerpc_cn_rqst(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
dcerpc_matched_key matched_key, *new_matched_key;
|
||||
dcerpc_call_value *value;
|
||||
|
||||
/* !!! we can NOT check flags.visited here since this will interact
|
||||
/* !!! we can NOT check visited here since this will interact
|
||||
badly with when SMB handles (i.e. calls the subdissector)
|
||||
and desegmented pdu's .
|
||||
Instead we check if this pdu is already in the matched table or not
|
||||
|
@ -4684,7 +4684,7 @@ dissect_dcerpc_cn_resp(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
} else {
|
||||
dcerpc_matched_key matched_key, *new_matched_key;
|
||||
|
||||
/* !!! we can NOT check flags.visited here since this will interact
|
||||
/* !!! we can NOT check visited here since this will interact
|
||||
badly with when SMB handles (i.e. calls the subdissector)
|
||||
and desegmented pdu's .
|
||||
Instead we check if this pdu is already in the matched table or not
|
||||
|
@ -4851,7 +4851,7 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
} else {
|
||||
dcerpc_matched_key matched_key, *new_matched_key;
|
||||
|
||||
/* !!! we can NOT check flags.visited here since this will interact
|
||||
/* !!! we can NOT check visited here since this will interact
|
||||
badly with when SMB handles (i.e. calls the subdissector)
|
||||
and desegmented pdu's .
|
||||
Instead we check if this pdu is already in the matched table or not
|
||||
|
@ -4966,7 +4966,7 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
}
|
||||
}
|
||||
if (hdr->flags&PFC_FIRST_FRAG) { /* FIRST fragment */
|
||||
if ( (!pinfo->fd->flags.visited) && value->rep_frame ) {
|
||||
if ( (!pinfo->fd->visited) && value->rep_frame ) {
|
||||
fragment_add_seq_next(&dcerpc_co_reassembly_table,
|
||||
stub_tvb, 0,
|
||||
pinfo, value->rep_frame, NULL,
|
||||
|
@ -5011,7 +5011,7 @@ dissect_dcerpc_cn_fault(tvbuff_t *tvb, gint offset, packet_info *pinfo,
|
|||
}
|
||||
}
|
||||
} else { /* MIDDLE fragment(s) */
|
||||
if ( (!pinfo->fd->flags.visited) && value->rep_frame ) {
|
||||
if ( (!pinfo->fd->visited) && value->rep_frame ) {
|
||||
fragment_add_seq_next(&dcerpc_co_reassembly_table,
|
||||
stub_tvb, 0,
|
||||
pinfo, value->rep_frame, NULL,
|
||||
|
@ -6102,7 +6102,7 @@ dissect_dcerpc_dg_rqst(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_item *pi;
|
||||
proto_item *parent_pi;
|
||||
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
dcerpc_call_value *call_value;
|
||||
dcerpc_dg_call_key *call_key;
|
||||
|
||||
|
@ -6181,7 +6181,7 @@ dissect_dcerpc_dg_resp(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
proto_item *pi;
|
||||
proto_item *parent_pi;
|
||||
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
dcerpc_call_value *call_value;
|
||||
dcerpc_dg_call_key call_key;
|
||||
|
||||
|
@ -6243,7 +6243,7 @@ dissect_dcerpc_dg_ping_ack(tvbuff_t *tvb, int offset, packet_info *pinfo,
|
|||
e_dce_dg_common_hdr_t *hdr, conversation_t *conv)
|
||||
{
|
||||
proto_item *parent_pi;
|
||||
/* if (!(pinfo->fd->flags.visited)) {*/
|
||||
/* if (!(pinfo->fd->visited)) {*/
|
||||
dcerpc_call_value *call_value;
|
||||
dcerpc_dg_call_key call_key;
|
||||
|
||||
|
|
|
@ -1339,7 +1339,7 @@ dissect_diameter_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
|
|||
}
|
||||
|
||||
if (pdus_tree) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (flags_bits & DIAM_FLAGS_R) {
|
||||
/* This is a request */
|
||||
diameter_pair = wmem_new(wmem_file_scope(), diameter_req_ans_pair_t);
|
||||
|
|
|
@ -110,7 +110,7 @@ request_response_handling(tvbuff_t *tvb, packet_info *pinfo, proto_tree *djiuav_
|
|||
|
||||
conversation_add_proto_data(conversation, proto_djiuav, djiuav_info);
|
||||
}
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (is_cmd) {
|
||||
djiuav_trans=wmem_new(wmem_file_scope(), djiuav_transaction_t);
|
||||
djiuav_trans->request_frame=pinfo->num;
|
||||
|
|
|
@ -1355,7 +1355,7 @@ static void register_dmp_id (packet_info *pinfo, guint8 reason)
|
|||
|
||||
dmp_key = wmem_new (wmem_file_scope(), dmp_id_key);
|
||||
|
||||
if (!pinfo->fd->flags.visited &&
|
||||
if (!pinfo->fd->visited &&
|
||||
(dmp.msg_type == REPORT || dmp.msg_type == NOTIF))
|
||||
{
|
||||
/* Try to match corresponding message */
|
||||
|
@ -1388,7 +1388,7 @@ static void register_dmp_id (packet_info *pinfo, guint8 reason)
|
|||
|
||||
dmp_data = (dmp_id_val *) wmem_map_lookup (dmp_id_hash_table, dmp_key);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (dmp_data) {
|
||||
if (dmp.msg_type == ACK) {
|
||||
/* Only save this data if positive ack */
|
||||
|
@ -1481,7 +1481,7 @@ static void dmp_add_seq_ack_analysis (tvbuff_t *tvb, packet_info *pinfo,
|
|||
}
|
||||
} else if (dmp.checksum && !dmp.id_val->msg_resend_count) {
|
||||
en = proto_tree_add_item (analysis_tree, hf_analysis_ack_missing, tvb, offset, 0, ENC_NA);
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
/* We do not know this on first visit and we do not want to
|
||||
add a entry in the "Expert Severity Info" for this note */
|
||||
expert_add_info(pinfo, en, &ei_analysis_ack_missing);
|
||||
|
|
|
@ -3405,7 +3405,7 @@ dissect_dnp3_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
|
|||
static guint al_fragment_aging = 64; /* sequence numbers only 6 bit */
|
||||
fragment_head *frag_al = NULL;
|
||||
pinfo->fragmented = TRUE;
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
frag_al = fragment_add_seq_single_aging(&al_reassembly_table,
|
||||
al_tvb, 0, pinfo, tr_seq, NULL,
|
||||
|
|
|
@ -3778,7 +3778,7 @@ dissect_dns_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
key[2].length = 0;
|
||||
key[2].key = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (!(flags&F_RESPONSE)) {
|
||||
/* This is a request */
|
||||
gboolean new_transaction = FALSE;
|
||||
|
|
|
@ -5383,7 +5383,7 @@ static int dof_dissect_dpp_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
|||
{
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, "DNP/DPP Negotiation");
|
||||
|
||||
if (pinfo->fd->flags.visited &&
|
||||
if (pinfo->fd->visited &&
|
||||
api_data->transport_session->negotiation_required &&
|
||||
((api_data->transport_session->negotiation_complete_at == 0) || (api_data->transport_session->negotiation_complete_at_ts.secs - api_data->transport_session->session_start_ts.secs > 10)))
|
||||
{
|
||||
|
|
|
@ -1202,7 +1202,7 @@ void proto_register_dplay(void)
|
|||
{ "short player message", "dplay.flags.short_player_msg", FT_BOOLEAN, 32,
|
||||
TFS(&tfs_dplay_flag), DPLAY_FLAG_SHORT_PLAYER_MSG, "Short Player Msg", HFILL}},
|
||||
{ &hf_dplay_flags_ignored,
|
||||
{ "ignored", "dplay.flags.ignored", FT_BOOLEAN, 32,
|
||||
{ "ignored", "dplay.ignored", FT_BOOLEAN, 32,
|
||||
TFS(&tfs_dplay_flag), DPLAY_FLAG_IGNORED, NULL, HFILL}},
|
||||
{ &hf_dplay_flags_can_join,
|
||||
{ "can join", "dplay.flags.can_join", FT_BOOLEAN, 32,
|
||||
|
|
|
@ -400,7 +400,7 @@ dissect_dtls(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
|
|||
|
||||
/* try decryption only the first time we see this packet
|
||||
* (to keep cipher synchronized) */
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
ssl_session = NULL;
|
||||
|
||||
/* Initialize the protocol column; we'll set it later when we
|
||||
|
|
|
@ -909,7 +909,7 @@ dissect_eap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|||
eap_identity_item = proto_tree_add_item(eap_tree, hf_eap_identity, tvb, offset, size, ENC_ASCII|ENC_NA);
|
||||
dissect_eap_identity(tvb, pinfo, eap_identity_item, offset, size);
|
||||
}
|
||||
if(!pinfo->fd->flags.visited) {
|
||||
if(!pinfo->fd->visited) {
|
||||
conversation_state->leap_state = 0;
|
||||
conversation_state->eap_tls_seq = -1;
|
||||
}
|
||||
|
@ -1046,7 +1046,7 @@ dissect_eap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|||
/*
|
||||
* We haven't - does this message require reassembly?
|
||||
*/
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/*
|
||||
* This is the first time we've looked at this frame,
|
||||
* so it wouldn't have any remembered information.
|
||||
|
@ -1172,7 +1172,7 @@ dissect_eap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|||
* We're finished reassembing this frame.
|
||||
* Reinitialize the reassembly state.
|
||||
*/
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
conversation_state->eap_tls_seq = -1;
|
||||
}
|
||||
|
||||
|
|
|
@ -831,7 +831,7 @@ enip_match_request( packet_info *pinfo, proto_tree *tree, enip_request_key_t *pr
|
|||
|
||||
request_info = NULL;
|
||||
request_val = (enip_request_val_t *)wmem_map_lookup( enip_request_hashtable, prequest_key );
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if ( prequest_key && prequest_key->requesttype == ENIP_REQUEST_PACKET )
|
||||
{
|
||||
|
@ -1074,7 +1074,7 @@ enip_open_cip_connection( packet_info *pinfo, cip_conn_info_t* connInfo)
|
|||
enip_conv_info_t *enip_info;
|
||||
address dest_address;
|
||||
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return;
|
||||
|
||||
// Don't create connections for Null Forward Opens.
|
||||
|
@ -1222,7 +1222,7 @@ enip_close_cip_connection(packet_info *pinfo, const cip_connection_triad_t* tria
|
|||
enip_conn_key_t conn_key;
|
||||
enip_conn_val_t *conn_val;
|
||||
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
return;
|
||||
|
||||
conn_key.triad = *triad;
|
||||
|
@ -2758,7 +2758,7 @@ dissect_cpf(enip_request_key_t *request_key, int command, tvbuff_t *tvb,
|
|||
|
||||
case CONNECTION_TRANSPORT: // 2nd item for: Connected messages (both Class 0/1 and Class 3)
|
||||
// Save the connection info for the conversation filter
|
||||
if (!pinfo->fd->flags.visited && conn_info)
|
||||
if (!pinfo->fd->visited && conn_info)
|
||||
{
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_enip, ENIP_CONNECTION_INFO, conn_info);
|
||||
}
|
||||
|
|
|
@ -245,7 +245,7 @@ dissect_epmd_response(packet_info *pinfo, tvbuff_t *tvb, gint offset, proto_tree
|
|||
offset += 2 + elen;
|
||||
}
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, " %s port=%d", name, port);
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
conv = conversation_new(pinfo->num, &pinfo->src, &pinfo->dst, ENDPOINT_TCP, port, 0, NO_PORT2);
|
||||
conversation_set_dissector(conv, edp_handle);
|
||||
}
|
||||
|
|
|
@ -752,7 +752,7 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean
|
|||
/* Set up LUN data. OXID + LUN make up unique exchanges, but LUN is populated in subdissectors
|
||||
and not necessarily in every frame. Stub it here for now */
|
||||
fchdr->lun = 0xFFFF;
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
fchdr->lun = (guint16)GPOINTER_TO_UINT(wmem_tree_lookup32(fc_conv_data->luns, fchdr->oxid));
|
||||
}
|
||||
|
||||
|
@ -1150,7 +1150,7 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean
|
|||
key) when packets are guaranteed to be parsed consecutively */
|
||||
|
||||
/* Set up LUN data */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
wmem_tree_insert32(fc_conv_data->luns, fchdr->oxid, GUINT_TO_POINTER((guint)fchdr->lun));
|
||||
}
|
||||
|
||||
|
@ -1173,7 +1173,7 @@ dissect_fc_helper (tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean
|
|||
fchdr->fc_ex = fc_ex;
|
||||
|
||||
/* populate the exchange struct */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(fchdr->fctl&FC_FCTL_EXCHANGE_FIRST){
|
||||
fc_ex->first_exchange_frame=pinfo->num;
|
||||
fc_ex->fc_time = pinfo->abs_ts;
|
||||
|
|
|
@ -326,7 +326,7 @@ dissect_fcp_cmnd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, pro
|
|||
lun = tvb_get_guint8(tvb, offset+1);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
proto_data = wmem_new(wmem_file_scope(), fcp_proto_data_t);
|
||||
proto_data->lun = lun;
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_fcp, 0, proto_data);
|
||||
|
@ -356,7 +356,7 @@ dissect_fcp_cmnd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, pro
|
|||
}
|
||||
|
||||
/* populate the exchange struct */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(fchdr->fctl&FC_FCTL_EXCHANGE_FIRST){
|
||||
request_data->itlq->first_exchange_frame=pinfo->num;
|
||||
request_data->itlq->fc_time = pinfo->abs_ts;
|
||||
|
@ -474,7 +474,7 @@ dissect_fcp_rsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, prot
|
|||
request_data->response_frame = pinfo->num;
|
||||
|
||||
/* populate the exchange struct */
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(fchdr->fctl&FC_FCTL_EXCHANGE_FIRST){
|
||||
request_data->itlq->first_exchange_frame=pinfo->num;
|
||||
request_data->itlq->fc_time = pinfo->abs_ts;
|
||||
|
@ -662,7 +662,7 @@ dissect_fcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
|
|||
/* Lun is only populated by FCP_IU_CMD, and subsequent packets assume the same lun.
|
||||
The only way that consistently works is to save the lun on the first pass when packets
|
||||
are guaranteed to be parsed consecutively */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
proto_data = wmem_new(wmem_file_scope(), fcp_proto_data_t);
|
||||
proto_data->lun = fchdr->lun;
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_fcp, 0, proto_data);
|
||||
|
|
|
@ -490,7 +490,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
0, 0, &(pinfo->rel_ts));
|
||||
PROTO_ITEM_SET_GENERATED(item);
|
||||
|
||||
if (pinfo->fd->flags.ref_time) {
|
||||
if (pinfo->fd->ref_time) {
|
||||
ti = proto_tree_add_item(fh_tree, hf_frame_time_reference, tvb, 0, 0, ENC_NA);
|
||||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
}
|
||||
|
@ -520,10 +520,10 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
}
|
||||
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_frame_marked, tvb, 0, 0,pinfo->fd->flags.marked);
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_frame_marked, tvb, 0, 0,pinfo->fd->marked);
|
||||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_frame_ignored, tvb, 0, 0,pinfo->fd->flags.ignored);
|
||||
ti = proto_tree_add_boolean(fh_tree, hf_frame_ignored, tvb, 0, 0,pinfo->fd->ignored);
|
||||
PROTO_ITEM_SET_GENERATED(ti);
|
||||
|
||||
if (pinfo->rec->rec_type == REC_TYPE_PACKET) {
|
||||
|
@ -549,7 +549,7 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
}
|
||||
}
|
||||
|
||||
if (pinfo->fd->flags.ignored) {
|
||||
if (pinfo->fd->ignored) {
|
||||
/* Ignored package, stop handling here */
|
||||
col_set_str(pinfo->cinfo, COL_INFO, "<Ignored>");
|
||||
proto_tree_add_boolean_format(tree, hf_frame_ignored, tvb, 0, 0, TRUE, "This frame is marked as ignored");
|
||||
|
@ -712,10 +712,10 @@ dissect_frame(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void*
|
|||
}
|
||||
|
||||
/* Attempt to (re-)calculate color filters (if any). */
|
||||
if (pinfo->fd->flags.need_colorize) {
|
||||
if (pinfo->fd->need_colorize) {
|
||||
color_filter = color_filters_colorize_packet(fr_data->color_edt);
|
||||
pinfo->fd->color_filter = color_filter;
|
||||
pinfo->fd->flags.need_colorize = 0;
|
||||
pinfo->fd->need_colorize = 0;
|
||||
} else {
|
||||
color_filter = pinfo->fd->color_filter;
|
||||
}
|
||||
|
|
|
@ -221,7 +221,7 @@ static void create_and_link_data_conversation(packet_info *pinfo,
|
|||
const char *method)
|
||||
{
|
||||
/* Only to do on first pass */
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -885,7 +885,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
ftp_conversation_t *p_ftp_conv = find_or_create_ftp_conversation(pinfo);
|
||||
|
||||
/* Store the current working directory */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
store_directory_in_packet(pinfo, p_ftp_conv);
|
||||
}
|
||||
|
||||
|
@ -1006,13 +1006,13 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
* Responses to CWD command.
|
||||
*/
|
||||
if (code == 250) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (p_ftp_conv && p_ftp_conv->last_command) {
|
||||
/* Explicit Change Working Directory command */
|
||||
if (strncmp(p_ftp_conv->last_command, "CWD ", 4) == 0) {
|
||||
process_cwd_success(p_ftp_conv, p_ftp_conv->last_command+4);
|
||||
/* Update path in packet */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
store_directory_in_packet(pinfo, p_ftp_conv);
|
||||
}
|
||||
}
|
||||
|
@ -1020,7 +1020,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
else if (strncmp(p_ftp_conv->last_command, "CDUP", 4) == 0) {
|
||||
process_cwd_success(p_ftp_conv, "..");
|
||||
/* Update path in packet */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
store_directory_in_packet(pinfo, p_ftp_conv);
|
||||
}
|
||||
}
|
||||
|
@ -1032,13 +1032,13 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
* Responses to PWD command. Overwrite whatever is stored - this is the truth!
|
||||
*/
|
||||
if (code == 257) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (p_ftp_conv && linelen >= 4) {
|
||||
/* Want directory name, which will be between " " */
|
||||
process_pwd_success(p_ftp_conv, line+4, linelen-4, pinfo, pi);
|
||||
|
||||
/* Update path in packet */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
store_directory_in_packet(pinfo, p_ftp_conv);
|
||||
}
|
||||
}
|
||||
|
@ -1250,7 +1250,7 @@ dissect_ftp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
}
|
||||
|
||||
/* If this is a command resulting in an ftp-data stream, show details */
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
/* Look up what has been stored for this frame */
|
||||
ftp_data_conversation_t *ftp_data =
|
||||
(ftp_data_conversation_t *)g_hash_table_lookup(ftp_command_to_data_hash, GUINT_TO_POINTER(pinfo->num));
|
||||
|
@ -1349,7 +1349,7 @@ dissect_ftpdata(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
|
||||
if (p_ftp_data_conv) {
|
||||
/* First time around, update info. */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
if (!p_ftp_data_conv->first_frame_num) {
|
||||
p_ftp_data_conv->first_frame_num = pinfo->num;
|
||||
p_ftp_data_conv->first_frame_time = pinfo->abs_ts;
|
||||
|
|
|
@ -2412,7 +2412,7 @@ dissect_geonw(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U
|
|||
|
||||
// XXX Is it possible to "follow" a station when updating its GN_ADDR?
|
||||
|
||||
if(geonw_analyze_seq && !(pinfo->fd->flags.visited)) {
|
||||
if(geonw_analyze_seq && !(pinfo->fd->visited)) {
|
||||
// Duplication detection uses SN and TST or only TST (see Annex A of ETSI EN 302 636-4-1)
|
||||
// We rely on address type and hashtable as this shall be done on a per station basis (i.e. not over a conversation)
|
||||
// We do not try to consider GN_ADDR updates (due to duplicate address detection or anonymous setting)
|
||||
|
|
|
@ -240,7 +240,7 @@
|
|||
* So, how do I differentiate between the initial processing of incoming
|
||||
* packets, and a user clickin on one ? Good question.
|
||||
*
|
||||
* I leverage the pinfo_fd->flags.visited on a per frame
|
||||
* I leverage the pinfo_fd->visited on a per frame
|
||||
* basis.
|
||||
*
|
||||
* To quote from the ever helpful development list
|
||||
|
@ -2012,7 +2012,7 @@ static gboolean try_explicit_giop_dissector(tvbuff_t *tvb, packet_info *pinfo, p
|
|||
/* look it up directly, later ie: FN -> MFN -> giop_sub_handle_t and repoid */
|
||||
/* but only if user not clicking */
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
add_sub_handle_repoid_to_comp_req_list(pinfo->num, subdiss, repoid);
|
||||
|
||||
|
||||
|
@ -4159,7 +4159,7 @@ static void dissect_giop_reply (tvbuff_t * tvb, packet_info * pinfo, proto_tree
|
|||
* Save FN and MFN in complete_reply_hash, only if user is NOT clicking
|
||||
*/
|
||||
|
||||
if (! pinfo->fd->flags.visited) {
|
||||
if (! pinfo->fd->visited) {
|
||||
mfn = get_mfn_from_fn_and_reqid(pinfo->num, request_id, &pinfo->dst, pinfo->destport); /* find MFN for this FN */
|
||||
if (mfn != pinfo->num) { /* if mfn is not fn, good */
|
||||
insert_in_complete_reply_hash(pinfo->num, mfn);
|
||||
|
@ -4225,7 +4225,7 @@ static void dissect_giop_reply_1_2 (tvbuff_t * tvb, packet_info * pinfo,
|
|||
* Save FN and MFN in complete_reply_hash, only if user is NOT clicking
|
||||
*/
|
||||
|
||||
if (! pinfo->fd->flags.visited) {
|
||||
if (! pinfo->fd->visited) {
|
||||
mfn = get_mfn_from_fn_and_reqid(pinfo->num, request_id, &pinfo->dst, pinfo->destport); /* find MFN for this FN */
|
||||
if (mfn != pinfo->num) { /* if mfn is not fn, good */
|
||||
insert_in_complete_reply_hash(pinfo->num, mfn);
|
||||
|
@ -4388,7 +4388,7 @@ dissect_giop_request_1_1 (tvbuff_t * tvb, packet_info * pinfo,
|
|||
* Save FN, reqid, and operation for later. Add sub_handle later.
|
||||
* But only if user is NOT clicking.
|
||||
*/
|
||||
if (! pinfo->fd->flags.visited)
|
||||
if (! pinfo->fd->visited)
|
||||
giop_complete_request_list = insert_in_comp_req_list(giop_complete_request_list, pinfo->num,
|
||||
request_id, operation, NULL, &pinfo->src, pinfo->srcport);
|
||||
|
||||
|
@ -4511,7 +4511,7 @@ dissect_giop_request_1_2 (tvbuff_t * tvb, packet_info * pinfo,
|
|||
* But only if user is NOT clicking.
|
||||
*/
|
||||
|
||||
if (! pinfo->fd->flags.visited)
|
||||
if (! pinfo->fd->visited)
|
||||
giop_complete_request_list = insert_in_comp_req_list(giop_complete_request_list, pinfo->num,
|
||||
request_id, operation, NULL, &pinfo->src, pinfo->srcport);
|
||||
|
||||
|
@ -4977,7 +4977,7 @@ dissect_giop_heur (tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree, void
|
|||
* we've already done this work, so we don't need to do it
|
||||
* again.
|
||||
*/
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
conversation = find_or_create_conversation(pinfo);
|
||||
|
||||
|
@ -5779,7 +5779,7 @@ static void decode_IIOP_IOR_profile(tvbuff_t *tvb, packet_info *pinfo, proto_tre
|
|||
|
||||
if (repo_id_buf) {
|
||||
if (pinfo) {
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
insert_in_objkey_hash(giop_objkey_hash, objkey, seqlen, repo_id_buf, ior_src_req_res);
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -3693,7 +3693,7 @@ be_aoip_trans_lay_add(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint
|
|||
break;
|
||||
}
|
||||
|
||||
if ((!pinfo->fd->flags.visited) && rtp_port != 0) {
|
||||
if ((!pinfo->fd->visited) && rtp_port != 0) {
|
||||
rtp_add_address(pinfo, PT_UDP, &rtp_dst_addr, rtp_port, 0, "BSS MAP", pinfo->num, FALSE, 0);
|
||||
rtcp_add_address(pinfo, &rtp_dst_addr, rtp_port+1, 0, "BSS MAP", pinfo->num);
|
||||
}
|
||||
|
|
|
@ -232,7 +232,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
/* First of all, if it's the first time we see this packet
|
||||
* then check whether we are in the middle of reassembly or not
|
||||
*/
|
||||
if( (!pinfo->fd->flags.visited)
|
||||
if( (!pinfo->fd->visited)
|
||||
&& (gss_info->do_reassembly)
|
||||
&& (gssapi_reassembly) ){
|
||||
fi=(gssapi_frag_info_t *)wmem_tree_lookup32(gss_info->frags, gss_info->first_frame);
|
||||
|
@ -261,7 +261,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
/* We have seen this packet before.
|
||||
* Is this blob part of reassembly or a normal blob ?
|
||||
*/
|
||||
if( (pinfo->fd->flags.visited)
|
||||
if( (pinfo->fd->visited)
|
||||
&& (gssapi_reassembly) ){
|
||||
fi=(gssapi_frag_info_t *)wmem_tree_lookup32(gss_info->frags, pinfo->num);
|
||||
if(fi){
|
||||
|
@ -352,7 +352,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
* doesn't dereference it or free what it points to.)
|
||||
*/
|
||||
oidvalue = (gssapi_oid_value *)p_get_proto_data(wmem_file_scope(), pinfo, proto_gssapi, 0);
|
||||
if (!oidvalue && !pinfo->fd->flags.visited)
|
||||
if (!oidvalue && !pinfo->fd->visited)
|
||||
{
|
||||
/* No handle attached to this frame, but it's the first */
|
||||
/* pass, so it'd be attached to the conversation. */
|
||||
|
@ -401,7 +401,7 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
* instead for simplicity we assume there will not be several
|
||||
* such authentication at once on a single tcp session
|
||||
*/
|
||||
if( (!pinfo->fd->flags.visited)
|
||||
if( (!pinfo->fd->visited)
|
||||
&& (oidvalue)
|
||||
&& (tvb_captured_length(gss_tvb)==tvb_reported_length(gss_tvb))
|
||||
&& (len1>(guint32)tvb_captured_length_remaining(gss_tvb, oid_start_offset))
|
||||
|
|
|
@ -1471,7 +1471,7 @@ static void dissect_readreg_cmd(proto_tree *gvcp_telegram_tree, tvbuff_t *tvb, p
|
|||
col_append_str(pinfo->cinfo, COL_INFO, address_string);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
gvcp_trans->addr_list = wmem_array_new(wmem_file_scope(), sizeof(guint32));
|
||||
}
|
||||
|
@ -1491,7 +1491,7 @@ static void dissect_readreg_cmd(proto_tree *gvcp_telegram_tree, tvbuff_t *tvb, p
|
|||
/* For block read register request, address gets re-initialized here in the for loop */
|
||||
addr = tvb_get_ntohl(tvb, offset);
|
||||
|
||||
if (gvcp_trans && (!pinfo->fd->flags.visited))
|
||||
if (gvcp_trans && (!pinfo->fd->visited))
|
||||
{
|
||||
wmem_array_append_one(gvcp_trans->addr_list, addr);
|
||||
}
|
||||
|
@ -1662,7 +1662,7 @@ static void dissect_writemem_cmd(proto_tree *gvcp_telegram_tree, tvbuff_t *tvb,
|
|||
/* fill in Info column in Wireshark GUI */
|
||||
col_append_fstr(pinfo->cinfo, COL_INFO, "%s: %d bytes", address_string, (length - 4));
|
||||
|
||||
if (gvcp_trans && (!pinfo->fd->flags.visited))
|
||||
if (gvcp_trans && (!pinfo->fd->visited))
|
||||
{
|
||||
gvcp_trans->addr_list = wmem_array_new(wmem_file_scope(), sizeof(guint32));
|
||||
wmem_array_append_one(gvcp_trans->addr_list, addr);
|
||||
|
@ -2337,7 +2337,7 @@ static int dissect_gvcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
|
|||
conversation_add_proto_data(conversation, proto_gvcp, gvcp_info);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if (key_code == 0x42)
|
||||
{
|
||||
|
@ -2468,7 +2468,7 @@ static int dissect_gvcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
|
|||
break;
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if (key_code == 0x42)
|
||||
{
|
||||
|
|
|
@ -1690,7 +1690,7 @@ dissect_h225_H245TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|||
h225_pi->h245_address = ipv4_address;
|
||||
h225_pi->h245_port = ip_port;
|
||||
}
|
||||
if ( !actx->pinfo->fd->flags.visited && h245_handle && ip_port!=0 ) {
|
||||
if ( !actx->pinfo->fd->visited && h245_handle && ip_port!=0 ) {
|
||||
address src_addr;
|
||||
conversation_t *conv=NULL;
|
||||
|
||||
|
|
|
@ -8734,7 +8734,7 @@ dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
|
|||
#line 129 "./asn1/h245/h245.cnf"
|
||||
gint32 temp;
|
||||
|
||||
upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
|
||||
upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_file_scope(), olc_info_t) : NULL;
|
||||
|
||||
h223_fw_lc_num = 0;
|
||||
h223_lc_params_temp = NULL;
|
||||
|
@ -11081,7 +11081,7 @@ dissect_h245_OpenLogicalChannelAck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|||
const gchar *olc_key;
|
||||
olc_info_t *olc_req;
|
||||
|
||||
upcoming_olc = (!actx->pinfo->fd->flags.visited) ? wmem_new0(wmem_packet_scope(), olc_info_t) : NULL;
|
||||
upcoming_olc = (!actx->pinfo->fd->visited) ? wmem_new0(wmem_packet_scope(), olc_info_t) : NULL;
|
||||
|
||||
h223_fw_lc_num = 0;
|
||||
h223_rev_lc_num = 0;
|
||||
|
|
|
@ -1230,7 +1230,7 @@ hartip_set_conversation(packet_info *pinfo)
|
|||
{
|
||||
conversation_t *conversation = NULL;
|
||||
|
||||
if (!pinfo->fd->flags.visited && (pinfo->ptype == PT_UDP)) {
|
||||
if (!pinfo->fd->visited && (pinfo->ptype == PT_UDP)) {
|
||||
/*
|
||||
* This function is called for a session initiate send over UDP.
|
||||
* The session initiate is sent to the server on port HARTIP_PORT.
|
||||
|
|
|
@ -148,7 +148,7 @@ dissect_hci_mon(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
key[1].length = 1;
|
||||
key[1].key = &k_adapter_id;
|
||||
|
||||
if (!pinfo->fd->flags.visited && opcode == 0x01) { /* Delete Index */
|
||||
if (!pinfo->fd->visited && opcode == 0x01) { /* Delete Index */
|
||||
guint32 *disconnect_in_frame;
|
||||
|
||||
key[2].length = 1;
|
||||
|
|
|
@ -161,7 +161,7 @@ dissect_hci_usb(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
bluetooth_data->adapter_disconnect_in_frame = &max_disconnect_in_frame;
|
||||
|
||||
next_tvb = tvb_new_subset_remaining(tvb, offset);
|
||||
if (!pinfo->fd->flags.visited && usb_conv_info->endpoint <= 0x02 &&
|
||||
if (!pinfo->fd->visited && usb_conv_info->endpoint <= 0x02 &&
|
||||
tvb_captured_length(tvb) == tvb_reported_length(tvb)) {
|
||||
fragment_info_t *fragment_info;
|
||||
|
||||
|
|
|
@ -2349,7 +2349,7 @@ static void desegment_iax(tvbuff_t *tvb, packet_info *pinfo, proto_tree *iax2_tr
|
|||
|
||||
dirdata = &(iax_call->dirdata[!!(iax_packet->reversed)]);
|
||||
|
||||
if ((!pinfo->fd->flags.visited && (dirdata->current_frag_bytes > 0)) ||
|
||||
if ((!pinfo->fd->visited && (dirdata->current_frag_bytes > 0)) ||
|
||||
((value = g_hash_table_lookup(iax_fid_table, GUINT_TO_POINTER(pinfo->num))) != NULL)) {
|
||||
|
||||
/* then we are continuing an already-started pdu */
|
||||
|
@ -2358,11 +2358,11 @@ static void desegment_iax(tvbuff_t *tvb, packet_info *pinfo, proto_tree *iax2_tr
|
|||
gboolean complete;
|
||||
|
||||
#ifdef DEBUG_DESEGMENT
|
||||
g_debug("visited: %i; c_f_b: %u; hash: %u->%u", pinfo->fd->flags.visited?1:0,
|
||||
g_debug("visited: %i; c_f_b: %u; hash: %u->%u", pinfo->fd->visited?1:0,
|
||||
dirdata->current_frag_bytes, pinfo->num, dirdata->current_frag_id);
|
||||
#endif
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
guint32 tot_len;
|
||||
fid = dirdata->current_frag_id;
|
||||
tot_len = dirdata->current_frag_minlen;
|
||||
|
@ -2377,7 +2377,7 @@ static void desegment_iax(tvbuff_t *tvb, packet_info *pinfo, proto_tree *iax2_tr
|
|||
#endif
|
||||
} else {
|
||||
fid = GPOINTER_TO_UINT(value);
|
||||
/* these values are unused by fragment_add if pinfo->fd->flags.visited */
|
||||
/* these values are unused by fragment_add if pinfo->fd->visited */
|
||||
dirdata->current_frag_bytes = 0;
|
||||
complete = FALSE;
|
||||
}
|
||||
|
|
|
@ -485,7 +485,7 @@ dissect_wlan_radio_phdr(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
/* this is the first time we are looking at this frame during a
|
||||
* capture dissection, so we know the dissection is done in
|
||||
* frame order (subsequent dissections may be random access) */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
wlan_radio_info = wmem_new0(wmem_file_scope(), struct wlan_radio);
|
||||
p_add_proto_data(wmem_file_scope(), pinfo, proto_wlan_radio, 0, wlan_radio_info);
|
||||
|
||||
|
@ -1114,7 +1114,7 @@ dissect_wlan_radio_phdr(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
}
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited && have_duration && phdr->has_tsf_timestamp) {
|
||||
if (!pinfo->fd->visited && have_duration && phdr->has_tsf_timestamp) {
|
||||
if (current_aggregate) {
|
||||
current_aggregate->duration = agg_preamble + prior_duration + duration;
|
||||
if (previous_frame.radio_info && previous_frame.radio_info->aggregate == current_aggregate)
|
||||
|
@ -1223,7 +1223,7 @@ dissect_wlan_radio_phdr(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
tap_queue_packet(wlan_radio_timeline_tap, pinfo, wlan_radio_info);
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
previous_frame.radio_info = wlan_radio_info;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24298,7 +24298,7 @@ dissect_ieee80211_common(tvbuff_t *tvb, packet_info *pinfo,
|
|||
* data: last seq_control seen and frame number
|
||||
*/
|
||||
retransmitted = FALSE;
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
retransmit_key key;
|
||||
retransmit_key *result;
|
||||
|
||||
|
@ -24344,7 +24344,7 @@ dissect_ieee80211_common(tvbuff_t *tvb, packet_info *pinfo,
|
|||
}
|
||||
}
|
||||
|
||||
if (enable_decryption && !pinfo->fd->flags.visited && (len == reported_len)) {
|
||||
if (enable_decryption && !pinfo->fd->visited && (len == reported_len)) {
|
||||
/* The processing will take care of 4-way handshake sessions for WPA and WPA2 decryption */
|
||||
next_tvb = try_decrypt(tvb, pinfo, hdr_len, reported_len, TRUE,
|
||||
&algorithm, &sec_header, &sec_trailer, &used_key);
|
||||
|
|
|
@ -1812,7 +1812,7 @@ ieee802154_dissect_header(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, g
|
|||
/* Get the address. */
|
||||
packet->src16 = tvb_get_letohs(tvb, offset);
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* If we know our extended source address from previous packets,
|
||||
* provide a pointer to it in a hint for upper layers */
|
||||
addr16.addr = packet->src16;
|
||||
|
@ -3401,7 +3401,7 @@ dissect_ieee802154_disassoc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
|
|||
} /* switch */
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* Update the address tables */
|
||||
if ( packet->dst_addr_mode == IEEE802154_FCF_ADDR_EXT ) {
|
||||
ieee802154_long_addr_invalidate(packet->dst64, pinfo->num);
|
||||
|
|
|
@ -120,7 +120,7 @@ imap_match_request(packet_info *pinfo, proto_tree *tree, imap_request_key_t *req
|
|||
|
||||
request_info = NULL;
|
||||
request_val = (imap_request_val_t *)wmem_map_lookup(imap_requests, request_key);
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
if (is_request)
|
||||
{
|
||||
|
|
|
@ -3317,7 +3317,7 @@ static void save_conversation_info(packet_info *pinfo, guint8 *local_gid, guint8
|
|||
{
|
||||
/* the following saves information about the conversation this packet defines,
|
||||
so there's no point in doing it more than once per packet */
|
||||
if (!pinfo->fd->flags.visited)
|
||||
if (!pinfo->fd->visited)
|
||||
{
|
||||
connection_context *connection;
|
||||
conversation_infiniband_data *proto_data;
|
||||
|
@ -3630,7 +3630,7 @@ static void update_conversation_info(packet_info *pinfo,
|
|||
{
|
||||
/* the following saves information about the conversation this packet defines,
|
||||
so there's no point in doing it more than once per packet */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* get the previously saved context for this connection */
|
||||
connection_context *connection;
|
||||
|
||||
|
|
|
@ -1359,7 +1359,7 @@ dissect_esp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
|
||||
/* Sequence number analysis */
|
||||
if (g_esp_do_sequence_analysis) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
check_esp_sequence_info(spi, sequence_number, pinfo);
|
||||
}
|
||||
show_esp_sequence_info(spi, sequence_number,
|
||||
|
|
|
@ -692,7 +692,7 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
|||
/*
|
||||
* Not a system packet - check for retransmissions.
|
||||
*/
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
conversation = find_conversation(pinfo->num, &pinfo->src,
|
||||
&pinfo->dst, ENDPOINT_NCP, pinfo->srcport,
|
||||
pinfo->srcport, 0);
|
||||
|
|
|
@ -4368,7 +4368,7 @@ dissect_ikev2_fragmentation(tvbuff_t *tvb, int offset, proto_tree *tree,
|
|||
}
|
||||
|
||||
/* During the first pass, store in the conversation the next_payload */
|
||||
if (!pinfo->fd->flags.visited && (fragment_number == 1)) {
|
||||
if (!pinfo->fd->visited && (fragment_number == 1)) {
|
||||
/* Create/update conversation with message_id -> next_payload */
|
||||
conversation_t* p_conv = find_or_create_conversation(pinfo);
|
||||
ikev2_fragmentation_state_t *p_state = wmem_new0(wmem_file_scope(), ikev2_fragmentation_state_t);
|
||||
|
@ -4394,7 +4394,7 @@ dissect_ikev2_fragmentation(tvbuff_t *tvb, int offset, proto_tree *tree,
|
|||
/* If this is the last fragment, need to know what the payload type for the reassembled message is,
|
||||
which was included in the first fragment */
|
||||
if (fragment_number == total_fragments) {
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* On first pass, get it from the conversation info */
|
||||
conversation_t *p_conv = find_conversation_pinfo(pinfo, 0);
|
||||
if (p_conv != NULL) {
|
||||
|
|
|
@ -572,7 +572,7 @@ iscsi_dissect_TargetAddress(packet_info *pinfo, tvbuff_t* tvb, proto_tree *tree,
|
|||
|
||||
|
||||
/* attach a conversation dissector to this address/port tuple */
|
||||
if (addr && !pinfo->fd->flags.visited) {
|
||||
if (addr && !pinfo->fd->visited) {
|
||||
conversation_t *conv;
|
||||
|
||||
conv = conversation_new(pinfo->num, addr, addr, ENDPOINT_TCP, port, port, NO_ADDR2|NO_PORT2);
|
||||
|
@ -2487,7 +2487,7 @@ dissect_iscsi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gboolean chec
|
|||
in the middle of a large PDU transfer being misdissected as
|
||||
a PDU.
|
||||
*/
|
||||
if(!pinfo->fd->flags.visited){
|
||||
if(!pinfo->fd->visited){
|
||||
if(pduLen>(guint32)tvb_reported_length_remaining(tvb, offset)){
|
||||
pinfo->want_pdu_tracking=2;
|
||||
pinfo->bytes_until_next_pdu=pduLen-tvb_reported_length_remaining(tvb, offset);
|
||||
|
|
|
@ -215,7 +215,7 @@ dissect_iso15765(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
fragmented = TRUE;
|
||||
|
||||
/* Save information */
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
iso15765_frame_t *iso15765_frame = wmem_new0(wmem_file_scope(), iso15765_frame_t);
|
||||
iso15765_frame->seq = iso15765_info->seq = ++msg_seqid;
|
||||
iso15765_frame->len = full_len;
|
||||
|
@ -236,7 +236,7 @@ dissect_iso15765(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
fragmented = TRUE;
|
||||
|
||||
/* Save information */
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
iso15765_info->seq = msg_seqid;
|
||||
}
|
||||
|
||||
|
@ -284,7 +284,7 @@ dissect_iso15765(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
|
||||
if (iso15765_frame != NULL)
|
||||
{
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
frag_id += ((iso15765_frame->frag_id_high[frag_id]++) * 16);
|
||||
/* Save the frag_id for subsequent dissection */
|
||||
iso15765_info->frag_id = frag_id;
|
||||
|
@ -302,7 +302,7 @@ dissect_iso15765(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data
|
|||
fragment_head *frag_msg;
|
||||
|
||||
/* Check if it's the last packet */
|
||||
if (!(pinfo->fd->flags.visited)) {
|
||||
if (!(pinfo->fd->visited)) {
|
||||
/* Update the last_frag_id */
|
||||
if (frag_id > iso15765_frame->last_frag_id) {
|
||||
iso15765_frame->last_frag_id = frag_id;
|
||||
|
|
|
@ -567,7 +567,7 @@ add_encryption_key(packet_info *pinfo, int keytype, int keylength, const char *k
|
|||
{
|
||||
enc_key_t *new_key;
|
||||
|
||||
if(pinfo->fd->flags.visited){
|
||||
if(pinfo->fd->visited){
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -911,7 +911,7 @@ add_encryption_key(packet_info *pinfo, int keytype, int keylength, const char *k
|
|||
{
|
||||
service_key_t *new_key;
|
||||
|
||||
if(pinfo->fd->flags.visited){
|
||||
if(pinfo->fd->visited){
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -11222,7 +11222,7 @@ int lbmc_dissect_lbmc_packet(tvbuff_t * tvb, int offset, packet_info * pinfo, pr
|
|||
tcp_address_valid = FALSE;
|
||||
}
|
||||
/* Note: it *is* possible for a TCP SID to appear in an LBTTCP non-transport (UIM) message. */
|
||||
if ((pinfo->fd->flags.visited == 0) && (tcp_sid_info.set) && lbm_channel_is_unknown_transport_lbttcp(channel) && tcp_address_valid)
|
||||
if ((pinfo->fd->visited == 0) && (tcp_sid_info.set) && lbm_channel_is_unknown_transport_lbttcp(channel) && tcp_address_valid)
|
||||
{
|
||||
lbttcp_transport_sid_add(&tcp_addr, tcp_port, pinfo->num, tcp_sid_info.session_id);
|
||||
}
|
||||
|
|
|
@ -881,7 +881,7 @@ static int dissect_segment_defn(tvbuff_t * tvb, int offset, packet_info * pinfo,
|
|||
lbmpdm_definition_field_t * last_fixed_required_field = NULL;
|
||||
|
||||
seglen = lbmpdm_get_segment_length(tvb, offset, encoding, &remaining_datalen);
|
||||
if (pinfo->fd->flags.visited == 0)
|
||||
if (pinfo->fd->visited == 0)
|
||||
{
|
||||
add_definition = TRUE;
|
||||
}
|
||||
|
|
|
@ -1279,7 +1279,7 @@ static int dissect_lbtrm(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
|
||||
if (lbtrm_sequence_analysis)
|
||||
{
|
||||
if (pinfo->fd->flags.visited == 0)
|
||||
if (pinfo->fd->visited == 0)
|
||||
{
|
||||
if (transport != NULL)
|
||||
{
|
||||
|
|
|
@ -1406,7 +1406,7 @@ static int dissect_lbtru(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
copy_address_shallow(&receiver_address, &(pinfo->src));
|
||||
receiver_port = pinfo->srcport;
|
||||
}
|
||||
if (pinfo->fd->flags.visited == 0)
|
||||
if (pinfo->fd->visited == 0)
|
||||
{
|
||||
transport = lbtru_transport_add(&source_address, source_port, session_id, pinfo->num);
|
||||
}
|
||||
|
@ -1416,7 +1416,7 @@ static int dissect_lbtru(tvbuff_t * tvb, packet_info * pinfo, proto_tree * tree,
|
|||
}
|
||||
if (transport != NULL)
|
||||
{
|
||||
if (pinfo->fd->flags.visited == 0)
|
||||
if (pinfo->fd->visited == 0)
|
||||
{
|
||||
client = lbtru_client_transport_add(transport, &receiver_address, receiver_port, pinfo->num);
|
||||
if (client != NULL)
|
||||
|
|
|
@ -1306,7 +1306,7 @@ char *mechanism = NULL;
|
|||
* type and mechanism, if you can unbind and rebind with a
|
||||
* different type and/or mechanism.
|
||||
*/
|
||||
if(!actx->pinfo->fd->flags.visited) {
|
||||
if(!actx->pinfo->fd->visited) {
|
||||
mechanism = tvb_get_string_enc(wmem_file_scope(), parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), ENC_UTF_8|ENC_NA);
|
||||
ldap_info->first_auth_frame = 0; /* not known until we see the bind reply */
|
||||
/*
|
||||
|
@ -3200,7 +3200,7 @@ dissect_ldap_ProtocolOp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
|
|||
switch(ProtocolOp) {
|
||||
|
||||
case LDAP_RES_SEARCH_ENTRY:
|
||||
if (!actx->pinfo->fd->flags.visited)
|
||||
if (!actx->pinfo->fd->visited)
|
||||
ldap_info->num_results++;
|
||||
|
||||
proto_item_append_text(tree, " [%d result%s]",
|
||||
|
|
|
@ -37446,7 +37446,7 @@ dissect_lte_rrc_T_systemInfoValueTag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
|||
/* Track whether systemInfoValue has changed since last seen, indicating new SI config
|
||||
TODO: add link back to previous config and (if known) time since previous config
|
||||
was first seen */
|
||||
if (!actx->pinfo->fd->flags.visited) {
|
||||
if (!actx->pinfo->fd->visited) {
|
||||
if (system_info_value_current_set && (value != system_info_value_current)) {
|
||||
/* Add entry to the hash table. Offset by one to distinguish 0 from lookup failure */
|
||||
wmem_map_insert(lte_rrc_system_info_value_changed_hash, GUINT_TO_POINTER(actx->pinfo->num),
|
||||
|
|
|
@ -1536,7 +1536,7 @@ dissect_modbus(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
|||
proto_tree_add_item(modbus_tree, hf_modbus_functioncode, tvb, offset, 1, ENC_BIG_ENDIAN);
|
||||
|
||||
/* Conversation support */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
conversation_t *conversation = NULL;
|
||||
modbus_conversation *modbus_conv_data = NULL;
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ dissect_mount_dirpath_call(tvbuff_t *tvb, packet_info *pinfo,
|
|||
const char *mountpoint=NULL;
|
||||
int offset = 0;
|
||||
|
||||
if((!pinfo->fd->flags.visited) && nfs_file_name_snooping){
|
||||
if((!pinfo->fd->visited) && nfs_file_name_snooping){
|
||||
rpc_call_info_value *civ=(rpc_call_info_value *)data;
|
||||
|
||||
if(civ->request && (civ->proc==1)){
|
||||
|
|
|
@ -277,7 +277,7 @@ typedef struct mp2t_analysis_data {
|
|||
/* When detecting a CC drop, store that information for the
|
||||
* given frame. This info is needed, when clicking around in
|
||||
* wireshark, as the pid table data only makes sense during
|
||||
* sequential processing. The flag pinfo->fd->flags.visited is
|
||||
* sequential processing. The flag pinfo->fd->visited is
|
||||
* used to tell the difference.
|
||||
*
|
||||
*/
|
||||
|
@ -647,7 +647,7 @@ mp2t_process_fragmented_payload(tvbuff_t *tvb, gint offset, guint remaining_len,
|
|||
}
|
||||
}
|
||||
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* Get values from our current PID analysis */
|
||||
frag_cur_pos = pid_analysis->frag_cur_pos;
|
||||
frag_tot_len = pid_analysis->frag_tot_len;
|
||||
|
@ -872,7 +872,7 @@ detect_cc_drops(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
|
|||
guint32 skips = 0;
|
||||
|
||||
/* The initial sequential processing stage */
|
||||
if (!pinfo->fd->flags.visited) {
|
||||
if (!pinfo->fd->visited) {
|
||||
/* This is the sequential processing stage */
|
||||
pid_data = get_pid_analysis(mp2t_data, pid);
|
||||
|
||||
|
@ -904,7 +904,7 @@ detect_cc_drops(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
|
|||
}
|
||||
|
||||
/* Save the info about the dropped packet */
|
||||
if (detected_drop && !pinfo->fd->flags.visited) {
|
||||
if (detected_drop && !pinfo->fd->visited) {
|
||||
/* Lookup frame data, contains TS pid data objects */
|
||||
frame_analysis_data_p = get_frame_analysis_data(mp2t_data, pinfo);
|
||||
if (!frame_analysis_data_p)
|
||||
|
@ -922,7 +922,7 @@ detect_cc_drops(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo,
|
|||
}
|
||||
|
||||
/* See if we stored info about drops */
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
|
||||
/* Lookup frame data, contains TS pid data objects */
|
||||
frame_analysis_data_p = get_frame_analysis_data(mp2t_data, pinfo);
|
||||
|
|
|
@ -1104,7 +1104,7 @@ static void msmms_data_add_address(packet_info *pinfo, address *addr, endpoint_t
|
|||
/* If this isn't the first time this packet has been processed,
|
||||
* we've already done this work, so we don't need to do it
|
||||
* again. */
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -258,7 +258,7 @@ static void add_msproxy_conversation( packet_info *pinfo,
|
|||
conversation_t *conversation;
|
||||
redirect_entry_t *new_conv_info;
|
||||
|
||||
if (pinfo->fd->flags.visited) {
|
||||
if (pinfo->fd->visited) {
|
||||
/*
|
||||
* We've already processed this frame once, so we
|
||||
* should already have done this.
|
||||
|
|
|
@ -154,7 +154,7 @@ msrp_add_address( packet_info *pinfo,
|
|||
* we've already done this work, so we don't need to do it
|
||||
* again.
|
||||
*/
|
||||
if (pinfo->fd->flags.visited)
|
||||
if (pinfo->fd->visited)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -412,7 +412,7 @@ dissect_msrp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *dat
|
|||
/*
|
||||
* TODO Set up conversation here
|
||||
*/
|
||||
if (pinfo->fd->flags.visited){
|
||||
if (pinfo->fd->visited){
|
||||
/* Look for existing conversation */
|
||||
conversation = find_or_create_conversation(pinfo);
|
||||
/* Set dissector */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue