Hi,
fixed problem:
1.With calling ACSE dissector.
2.Presentation dissector has to call ACSE dissector for any presentation
context because only ACSE dissector has nessasary information.
Hope this patch will go automatically:
patch -i packet-pres.c.diff -o patched.c packet-pres_1_1.c
Looks like a unified context diff.
done
Thank you.
Yuriy Sidelnikov.
_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE*
http://join.msn.com/?page=features/junkmail
--- packet-pres_1_1.c 2004-01-22 10:29:54.640002000 -0300
+++ packet-pres.c 2004-01-22 10:32:46.240000000 -0300
@@ -228,11 +228,11 @@
proto_tree_add_text(param_tree, tvb, offset, param_len,
"No ACSE dissector available");
}
- else
- {
+ }
+ else
+ {
/* Yes - call app dissector */
tvbuff_t *next_tvb;
-
next_tvb = tvb_new_subset(tvb, offset, param_len,
param_len);
TRY
@@ -245,7 +245,6 @@
show_exception(tvb, pinfo, tree, EXCEPT_CODE);
}
ENDTRY;
- }
}
}
static char*
@@ -743,8 +742,6 @@
{
case PRESENTATION_CONTEXT_IDENTIFIER:
{
- /* if Presentation context identifier = 3 we have ACSE data */
- /* this data we have to send to ACSE dissector */
acse = get_integer_value(asn,new_item_len,offset);
print_value(asn,pres_tree_ms,tvb,offset,new_item_len);
}
@@ -752,13 +749,13 @@
case OCTET_ALIGNED:
break;
case SINGLE_ASN1_TYPE:
- if( acse == ACSE_PRESENTATION_CONTEXT_IDENTIFIER )
+
{
proto_item *acse_ms;
/* yes, we have to call ACSE dissector */
acse_ms = proto_tree_add_text(pres_tree_ms, tvb, *offset,
new_item_len+(asn->offset-*offset),
- "Acse data");
+ "User data");
/* call acse dissector */
call_acse_dissector(tvb,*offset,new_item_len,global_pinfo,global_tree,pres_tree_ms);
acse = 0;