From Anders Broman:
Patches for broken build svn path=/trunk/; revision=25298
This commit is contained in:
parent
38011c53da
commit
19c327d160
|
@ -715,6 +715,7 @@ dissect_asn1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
|
||||||
volatile guint boffset;
|
volatile guint boffset;
|
||||||
volatile int i = 0; /* PDU counter */
|
volatile int i = 0; /* PDU counter */
|
||||||
proto_tree * volatile ti = 0, * volatile ti2 = 0, *asn1_tree, *tree2;
|
proto_tree * volatile ti = 0, * volatile ti2 = 0, *asn1_tree, *tree2;
|
||||||
|
proto_item *hidden_item;
|
||||||
PDUprops props;
|
PDUprops props;
|
||||||
static guint lastseq;
|
static guint lastseq;
|
||||||
struct tcpinfo *info;
|
struct tcpinfo *info;
|
||||||
|
@ -813,8 +814,9 @@ dissect_asn1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
|
||||||
|
|
||||||
tree2 = proto_item_add_subtree(ti, ett_asn1);
|
tree2 = proto_item_add_subtree(ti, ett_asn1);
|
||||||
|
|
||||||
proto_tree_add_item_hidden(tree2, ((PDUinfo *)PDUtree->data)->value_id, tvb, boffset,
|
hidden_item = proto_tree_add_item(tree2, ((PDUinfo *)PDUtree->data)->value_id, tvb, boffset,
|
||||||
def? (int) (offset - boffset + len) : -1, TRUE);
|
def? (int) (offset - boffset + len) : -1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
|
||||||
offset = boffset; /* the first packet */
|
offset = boffset; /* the first packet */
|
||||||
while((i < MAXPDU) && (tvb_length_remaining(tvb, offset) > 0)) {
|
while((i < MAXPDU) && (tvb_length_remaining(tvb, offset) > 0)) {
|
||||||
|
@ -858,9 +860,11 @@ dissect_asn1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
|
||||||
"%s: (%s)%s %d-%d %s ~", current_pduname,
|
"%s: (%s)%s %d-%d %s ~", current_pduname,
|
||||||
tname, name, pcount, i+1, headstr);
|
tname, name, pcount, i+1, headstr);
|
||||||
|
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(tree2, props.type_id, tvb, boffset,
|
hidden_item = proto_tree_add_item(tree2, props.type_id, tvb, boffset,
|
||||||
def? (int) (offset - boffset + len) : -1, TRUE);
|
def? (int) (offset - boffset + len) : -1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -876,9 +880,11 @@ dissect_asn1(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
|
||||||
ti2 = proto_tree_add_none_format(tree2, props.value_id, tvb, boffset,
|
ti2 = proto_tree_add_none_format(tree2, props.value_id, tvb, boffset,
|
||||||
def? (int) (offset - boffset + len) : -1,
|
def? (int) (offset - boffset + len) : -1,
|
||||||
"%s: (%s)%s ~", current_pduname, tname, name);
|
"%s: (%s)%s ~", current_pduname, tname, name);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(tree2, props.type_id, tvb, boffset,
|
hidden_item = proto_tree_add_item(tree2, props.type_id, tvb, boffset,
|
||||||
def? (int) (offset - boffset + len) : -1, TRUE);
|
def? (int) (offset - boffset + len) : -1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
asn1_tree = proto_item_add_subtree(ti2, ett_pdu[i]);
|
asn1_tree = proto_item_add_subtree(ti2, ett_pdu[i]);
|
||||||
|
@ -944,6 +950,7 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
char lenbuf[BUFLM];
|
char lenbuf[BUFLM];
|
||||||
char nnbuf[BUFLS];
|
char nnbuf[BUFLS];
|
||||||
proto_tree *ti, *pt2;
|
proto_tree *ti, *pt2;
|
||||||
|
proto_item *hidden_item;
|
||||||
guchar *octets, *bits, unused;
|
guchar *octets, *bits, unused;
|
||||||
subid_t *oid;
|
subid_t *oid;
|
||||||
/* the debugging formats */
|
/* the debugging formats */
|
||||||
|
@ -1038,8 +1045,9 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
clsstr, constr, tagstr, tname, name, value,
|
clsstr, constr, tagstr, tname, name, value,
|
||||||
matchind);
|
matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1)
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value);
|
boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1052,9 +1060,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_uint_format(pt, props.value_id, tvb, boffset,
|
proto_tree_add_uint_format(pt, props.value_id, tvb, boffset,
|
||||||
offset - boffset, value,
|
offset - boffset, value,
|
||||||
"(%s)%s: %d ~", tname, name, value);
|
"(%s)%s: %d ~", tname, name, value);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value);
|
boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1076,9 +1086,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
offset - boffset, value,
|
offset - boffset, value,
|
||||||
textfmt_e, boffset, clsstr, constr, tagstr,
|
textfmt_e, boffset, clsstr, constr, tagstr,
|
||||||
tname, name, value, ename, matchind);
|
tname, name, value, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value);
|
boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1091,9 +1103,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_uint_format(pt, props.value_id, tvb, boffset,
|
proto_tree_add_uint_format(pt, props.value_id, tvb, boffset,
|
||||||
offset - boffset, value,
|
offset - boffset, value,
|
||||||
"(%s)%s: %d:%s ~", tname, name, value, ename);
|
"(%s)%s: %d:%s ~", tname, name, value, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value);
|
boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1114,9 +1128,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
offset - boffset, value != 0,
|
offset - boffset, value != 0,
|
||||||
textfmt_s, boffset, clsstr, constr, tagstr,
|
textfmt_s, boffset, clsstr, constr, tagstr,
|
||||||
tname, name, value? "true" : "false", matchind);
|
tname, name, value? "true" : "false", matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_boolean_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_boolean(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value != 0);
|
boffset, offset - boffset, value != 0);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1131,9 +1147,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
offset - boffset, value != 0,
|
offset - boffset, value != 0,
|
||||||
"(%s)%s: %s ~", tname, name,
|
"(%s)%s: %s ~", tname, name,
|
||||||
value? "true" : "false");
|
value? "true" : "false");
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_boolean_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_boolean(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, value != 0);
|
boffset, offset - boffset, value != 0);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1163,9 +1181,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
offset - boffset, octets, /* \0 termnated */
|
offset - boffset, octets, /* \0 termnated */
|
||||||
textfmt_s, boffset, clsstr, constr, tagstr,
|
textfmt_s, boffset, clsstr, constr, tagstr,
|
||||||
tname, name, ename, matchind);
|
tname, name, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_string_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_string(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, octets);
|
boffset, offset - boffset, octets);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1178,9 +1198,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_string_format(pt, props.value_id, tvb, boffset,
|
proto_tree_add_string_format(pt, props.value_id, tvb, boffset,
|
||||||
offset - boffset, octets, /* \0 terminated */
|
offset - boffset, octets, /* \0 terminated */
|
||||||
"(%s)%s: %s ~", tname, name, ename);
|
"(%s)%s: %s ~", tname, name, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_string_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_string(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, octets);
|
boffset, offset - boffset, octets);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(octets);
|
g_free(octets);
|
||||||
|
@ -1206,9 +1228,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
textfmt_b, boffset, clsstr, constr, tagstr,
|
textfmt_b, boffset, clsstr, constr, tagstr,
|
||||||
tname, name,
|
tname, name,
|
||||||
showbits(bits, (con*8)-unused),ename, matchind);
|
showbits(bits, (con*8)-unused),ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, *bits);
|
boffset, offset - boffset, *bits);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1224,9 +1248,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
offset - boffset, *bits, /* XXX length ? XXX */
|
offset - boffset, *bits, /* XXX length ? XXX */
|
||||||
"(%s)%s: %s:%s ~", tname, name,
|
"(%s)%s: %s:%s ~", tname, name,
|
||||||
showbits(bits, (con*8)-unused), ename);
|
showbits(bits, (con*8)-unused), ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_uint(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, *bits);
|
boffset, offset - boffset, *bits);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(bits);
|
g_free(bits);
|
||||||
|
@ -1252,9 +1278,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
/* change te text to to what I really want */
|
/* change te text to to what I really want */
|
||||||
proto_item_set_text(ti, textfmt_c, boffset, clsstr, constr,
|
proto_item_set_text(ti, textfmt_c, boffset, clsstr, constr,
|
||||||
tagstr, tname, name, ename, matchind);
|
tagstr, tname, name, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_item(pt, props.type_id, tvb,
|
||||||
boffset, 1, TRUE);
|
boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (props.value_id == -1) {
|
if (props.value_id == -1) {
|
||||||
|
@ -1269,12 +1297,15 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
"(%s)%s ~", tname, name);
|
"(%s)%s ~", tname, name);
|
||||||
else {
|
else {
|
||||||
/* don't care about the text */
|
/* don't care about the text */
|
||||||
ti = proto_tree_add_item_hidden(pt, props.value_id, tvb,
|
ti = hidden_item = proto_tree_add_item(pt, props.value_id, tvb,
|
||||||
boffset, 1, TRUE);
|
boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
}
|
}
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_item(pt, props.type_id, tvb,
|
||||||
boffset, 1, TRUE);
|
boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (len == 0) return offset; /* don't recurse if offset isn't going to change */
|
if (len == 0) return offset; /* don't recurse if offset isn't going to change */
|
||||||
|
@ -1315,9 +1346,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_bytes_format(pt, props.value_id, tvb, boffset,
|
proto_tree_add_bytes_format(pt, props.value_id, tvb, boffset,
|
||||||
offset - boffset, ename,/* XXX length?*/
|
offset - boffset, ename,/* XXX length?*/
|
||||||
"(%s)%s: %s ~", tname, name, ename);
|
"(%s)%s: %s ~", tname, name, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_bytes_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_bytes(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, ename);
|
boffset, offset - boffset, ename);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1330,9 +1363,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_bytes_format(pt, props.value_id, tvb, boffset,
|
proto_tree_add_bytes_format(pt, props.value_id, tvb, boffset,
|
||||||
offset - boffset, ename, /* XXX length ? */
|
offset - boffset, ename, /* XXX length ? */
|
||||||
"(%s)%s: %s ~", tname, name, ename);
|
"(%s)%s: %s ~", tname, name, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_bytes_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_bytes(pt, props.type_id, tvb,
|
||||||
boffset, offset - boffset, ename);
|
boffset, offset - boffset, ename);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(oid);
|
g_free(oid);
|
||||||
|
@ -1399,9 +1434,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
boffset, offset - boffset, value,
|
boffset, offset - boffset, value,
|
||||||
textfmt_d, boffset, clsstr, constr,
|
textfmt_d, boffset, clsstr, constr,
|
||||||
tagstr, tname, name, value, matchind);
|
tagstr, tname, name, value, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value);
|
tvb, boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1414,9 +1451,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_uint_format(pt, props.value_id, tvb,
|
proto_tree_add_uint_format(pt, props.value_id, tvb,
|
||||||
boffset, offset - boffset, value,
|
boffset, offset - boffset, value,
|
||||||
"(%s)%s: %d ~", tname, name, value);
|
"(%s)%s: %d ~", tname, name, value);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value);
|
tvb, boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1440,9 +1479,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
boffset, offset - boffset, value,
|
boffset, offset - boffset, value,
|
||||||
textfmt_e, boffset, clsstr, constr,
|
textfmt_e, boffset, clsstr, constr,
|
||||||
tagstr, tname, name, value, ename, matchind);
|
tagstr, tname, name, value, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value);
|
tvb, boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1455,9 +1496,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_uint_format(pt, props.value_id, tvb,
|
proto_tree_add_uint_format(pt, props.value_id, tvb,
|
||||||
boffset, offset - boffset, value,
|
boffset, offset - boffset, value,
|
||||||
"(%s)%s: %d:%s ~", tname, name, value, ename);
|
"(%s)%s: %d:%s ~", tname, name, value, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value);
|
tvb, boffset, offset - boffset, value);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1485,9 +1528,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
tagstr, tname, name,
|
tagstr, tname, name,
|
||||||
showbits(bits, (con*8)-unused), ename,
|
showbits(bits, (con*8)-unused), ename,
|
||||||
matchind);
|
matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, *bits);
|
tvb, boffset, offset - boffset, *bits);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1501,9 +1546,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
boffset, offset - boffset, *bits,
|
boffset, offset - boffset, *bits,
|
||||||
"(%s)%s: %s:%s ~", tname, name,
|
"(%s)%s: %s:%s ~", tname, name,
|
||||||
showbits(bits, (con*8)-unused), ename);
|
showbits(bits, (con*8)-unused), ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_uint_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_uint(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, *bits);
|
tvb, boffset, offset - boffset, *bits);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(bits);
|
g_free(bits);
|
||||||
|
@ -1528,9 +1575,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
textfmt_s, boffset, clsstr, constr,
|
textfmt_s, boffset, clsstr, constr,
|
||||||
tagstr, tname, name,
|
tagstr, tname, name,
|
||||||
value? "true" : "false", matchind);
|
value? "true" : "false", matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_boolean_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_boolean(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value != 0);
|
tvb, boffset, offset - boffset, value != 0);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1545,9 +1594,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
boffset, offset - boffset, value != 0,
|
boffset, offset - boffset, value != 0,
|
||||||
"(%s)%s: %s ~", tname, name,
|
"(%s)%s: %s ~", tname, name,
|
||||||
value? "true" : "false");
|
value? "true" : "false");
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_boolean_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_boolean(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, value != 0);
|
tvb, boffset, offset - boffset, value != 0);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1586,9 +1637,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
boffset, offset - boffset, (gchar *)octets, /* XXX */
|
boffset, offset - boffset, (gchar *)octets, /* XXX */
|
||||||
textfmt_s, boffset, clsstr, constr,
|
textfmt_s, boffset, clsstr, constr,
|
||||||
tagstr, tname, name, ename, matchind);
|
tagstr, tname, name, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_string_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_string(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, (gchar *)octets);
|
tvb, boffset, offset - boffset, (gchar *)octets);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( (props.value_id == -1) ||
|
if ( (props.value_id == -1) ||
|
||||||
|
@ -1600,9 +1653,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
proto_tree_add_string_format(pt, props.value_id, tvb,
|
proto_tree_add_string_format(pt, props.value_id, tvb,
|
||||||
boffset, offset - boffset, (gchar *)octets, /* XXX */
|
boffset, offset - boffset, (gchar *)octets, /* XXX */
|
||||||
"(%s)%s: %s ~", tname, name, ename);
|
"(%s)%s: %s ~", tname, name, ename);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_string_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_string(pt, props.type_id,
|
||||||
tvb, boffset, offset - boffset, (gchar *)octets);
|
tvb, boffset, offset - boffset, (gchar *)octets);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(octets);
|
g_free(octets);
|
||||||
|
@ -1630,9 +1685,11 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
if (ti) {
|
if (ti) {
|
||||||
proto_item_set_text(ti, textfmt_c, boffset, clsstr, constr,
|
proto_item_set_text(ti, textfmt_c, boffset, clsstr, constr,
|
||||||
tagstr, tname, name, ename, matchind);
|
tagstr, tname, name, ename, matchind);
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(pt, props.type_id, tvb,
|
hidden_item = proto_tree_add_item(pt, props.type_id, tvb,
|
||||||
boffset, 1, TRUE);
|
boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ti = proto_tree_add_text(pt, tvb, boffset,
|
ti = proto_tree_add_text(pt, tvb, boffset,
|
||||||
offset - boffset + len,
|
offset - boffset + len,
|
||||||
|
@ -1652,12 +1709,15 @@ decode_asn1_sequence(tvbuff_t *tvb, guint offset, guint tlen, proto_tree *pt, in
|
||||||
"(%s)%s ~", tname, name);
|
"(%s)%s ~", tname, name);
|
||||||
else {
|
else {
|
||||||
/* don't care about the text */
|
/* don't care about the text */
|
||||||
ti = proto_tree_add_item_hidden(pt, props.value_id,
|
ti = proto_tree_add_item(pt, props.value_id,
|
||||||
tvb, boffset, 1, TRUE);
|
tvb, boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(ti);
|
||||||
}
|
}
|
||||||
if (props.type_id != -1)
|
if (props.type_id != -1){
|
||||||
proto_tree_add_item_hidden(pt, props.type_id,
|
hidden_item = proto_tree_add_item(pt, props.type_id,
|
||||||
tvb, boffset, 1, TRUE);
|
tvb, boffset, 1, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -499,6 +499,7 @@ static void dissect_ecat_datagram(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
||||||
proto_tree *ecat_datagram_tree = NULL, *ecat_header_tree = NULL, *ecat_fmmu_tree = NULL,
|
proto_tree *ecat_datagram_tree = NULL, *ecat_header_tree = NULL, *ecat_fmmu_tree = NULL,
|
||||||
*ecat_fmmu_active_tree = NULL, *ecat_fmmu_type_tree = NULL, *ecat_syncman_tree = NULL,
|
*ecat_fmmu_active_tree = NULL, *ecat_fmmu_type_tree = NULL, *ecat_syncman_tree = NULL,
|
||||||
*ecat_syncflag_tree = NULL, *ecat_dc_tree = NULL;
|
*ecat_syncflag_tree = NULL, *ecat_dc_tree = NULL;
|
||||||
|
proto_item *hidden_item;
|
||||||
|
|
||||||
gint bMBox = FALSE;
|
gint bMBox = FALSE;
|
||||||
guint32 subsize;
|
guint32 subsize;
|
||||||
|
@ -749,39 +750,50 @@ static void dissect_ecat_datagram(tvbuff_t *tvb, packet_info *pinfo, proto_tree
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_da, tvb, suboffset, 4, pDC[3] - pDC[0]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_da, tvb, suboffset, 4, pDC[3] - pDC[0]);
|
||||||
if( subCount < 10 ){
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_da[subCount], tvb, suboffset, 4, pDC[3] - pDC[0]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_da[subCount], tvb, suboffset, 4, pDC[3] - pDC[0]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( pDC[1] != 0 )
|
if ( pDC[1] != 0 )
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_bd, tvb, suboffset, 4, pDC[1] - pDC[3]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_bd, tvb, suboffset, 4, pDC[1] - pDC[3]);
|
||||||
if( subCount < 10 )
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_bd[subCount], tvb, suboffset, 4, pDC[1] - pDC[3]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_bd[subCount], tvb, suboffset, 4, pDC[1] - pDC[3]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ( pDC[2] != 0 )
|
else if ( pDC[2] != 0 )
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_cd, tvb, suboffset, 4, pDC[2] - pDC[3]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_cd, tvb, suboffset, 4, pDC[2] - pDC[3]);
|
||||||
if( subCount < 10 )
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_cd[subCount], tvb, suboffset, 4, pDC[2] - pDC[3]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_cd[subCount], tvb, suboffset, 4, pDC[2] - pDC[3]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( pDC[1] != 0 )
|
if ( pDC[1] != 0 )
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_ba, tvb, suboffset, 4, pDC[1] - pDC[0]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_ba, tvb, suboffset, 4, pDC[1] - pDC[0]);
|
||||||
if( subCount < 10 )
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_ba[subCount], tvb, suboffset, 4, pDC[1] - pDC[0]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_ba[subCount], tvb, suboffset, 4, pDC[1] - pDC[0]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
|
}
|
||||||
if ( pDC[2] != 0 )
|
if ( pDC[2] != 0 )
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_cb, tvb, suboffset, 4, pDC[2] - pDC[1]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_cb, tvb, suboffset, 4, pDC[2] - pDC[1]);
|
||||||
if( subCount < 10 )
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_cb[subCount], tvb, suboffset, 4, pDC[2] - pDC[1]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_cb[subCount], tvb, suboffset, 4, pDC[2] - pDC[1]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ( pDC[2] != 0 )
|
else if ( pDC[2] != 0 )
|
||||||
{
|
{
|
||||||
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_ca, tvb, suboffset, 4, pDC[2] - pDC[0]);
|
proto_tree_add_uint(ecat_dc_tree, hf_ecat_dc_diff_ca, tvb, suboffset, 4, pDC[2] - pDC[0]);
|
||||||
if( subCount < 10 )
|
if( subCount < 10 ){
|
||||||
proto_tree_add_uint_hidden(ecat_dc_tree, hf_ecat_sub_dc_diff_ca[subCount], tvb, suboffset, 4, pDC[2] - pDC[0]);
|
hidden_item = proto_tree_add_uint(ecat_dc_tree, hf_ecat_sub_dc_diff_ca[subCount], tvb, suboffset, 4, pDC[2] - pDC[0]);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(aitem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,6 +98,7 @@ unescape_data(tvbuff_t *tvb, packet_info *pinfo)
|
||||||
static tvbuff_t *
|
static tvbuff_t *
|
||||||
checksum_data(tvbuff_t *tvb, proto_tree *tree)
|
checksum_data(tvbuff_t *tvb, proto_tree *tree)
|
||||||
{
|
{
|
||||||
|
proto_item *hidden_item;
|
||||||
int len = tvb_length(tvb) - 2;
|
int len = tvb_length(tvb) - 2;
|
||||||
if (len < 0)
|
if (len < 0)
|
||||||
return tvb;
|
return tvb;
|
||||||
|
@ -110,8 +111,9 @@ checksum_data(tvbuff_t *tvb, proto_tree *tree)
|
||||||
"Frame check sequence: 0x%04x (correct)",
|
"Frame check sequence: 0x%04x (correct)",
|
||||||
actual_fcs);
|
actual_fcs);
|
||||||
} else {
|
} else {
|
||||||
proto_tree_add_boolean_hidden(tree,
|
hidden_item = proto_tree_add_boolean(tree,
|
||||||
hf_sir_fcs_bad, tvb, len, 2, TRUE);
|
hf_sir_fcs_bad, tvb, len, 2, TRUE);
|
||||||
|
PROTO_ITEM_SET_HIDDEN(hidden_item);
|
||||||
proto_tree_add_uint_format(tree, hf_sir_fcs,
|
proto_tree_add_uint_format(tree, hf_sir_fcs,
|
||||||
tvb, len, 2, actual_fcs,
|
tvb, len, 2, actual_fcs,
|
||||||
"Frame check sequence: 0x%04x "
|
"Frame check sequence: 0x%04x "
|
||||||
|
|
Loading…
Reference in New Issue