diff options
author | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-05-06 16:38:04 +0000 |
---|---|---|
committer | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2007-05-06 16:38:04 +0000 |
commit | 01fa6378eb8ca3a907f2a26429c265e7e81b3a98 (patch) | |
tree | 2080e97e26b7599f935765040968da166b4bd441 /asn1/x411 | |
parent | 302f45549f0ae6838c026ddf5d88893471fe0105 (diff) |
Better column information display for delivery reports.
svn path=/trunk/; revision=21700
Diffstat (limited to 'asn1/x411')
-rw-r--r-- | asn1/x411/packet-x411-template.c | 1 | ||||
-rw-r--r-- | asn1/x411/x411.asn | 4 | ||||
-rw-r--r-- | asn1/x411/x411.cnf | 47 |
3 files changed, 47 insertions, 5 deletions
diff --git a/asn1/x411/packet-x411-template.c b/asn1/x411/packet-x411-template.c index 29d1a5d61a..c3dde9165c 100644 --- a/asn1/x411/packet-x411-template.c +++ b/asn1/x411/packet-x411-template.c @@ -64,6 +64,7 @@ static const char *content_type_id; /* content type identifier */ #define MAX_ORA_STR_LEN 256 static char *oraddress = NULL; static gboolean doing_address=FALSE; +static gboolean doing_subjectid=FALSE; static proto_item *address_item; static proto_tree *top_tree=NULL; diff --git a/asn1/x411/x411.asn b/asn1/x411/x411.asn index 2c698a6b47..81b49953a1 100644 --- a/asn1/x411/x411.asn +++ b/asn1/x411/x411.asn @@ -164,8 +164,8 @@ MTABindResult ::= CHOICE { -- taken from X.419 MTS-APDU ::= CHOICE { message [0] Message, -probe [2] Probe, -report [1] Report +report [1] Report, +probe [2] Probe } Message ::= SEQUENCE {envelope MessageTransferEnvelope, diff --git a/asn1/x411/x411.cnf b/asn1/x411/x411.cnf index 4f3000c8b1..483766c244 100644 --- a/asn1/x411/x411.cnf +++ b/asn1/x411/x411.cnf @@ -566,9 +566,14 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" %(DEFAULT_BODY)s - if(*oraddress) + if(*oraddress) { proto_item_append_text(address_item, " (%%s/", oraddress); + if(doing_subjectid && check_col(pinfo->cinfo, COL_INFO)) { + col_append_fstr(pinfo->cinfo, COL_INFO, " (%%s/", oraddress); + } + } + #.FN_PARS LocalIdentifier VAL_PTR=&id @@ -578,17 +583,29 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" %(DEFAULT_BODY)s - if(doing_address && id) - proto_item_append_text(address_item, " $ %%s)", tvb_format_text(id, 0, tvb_length(id))); + if(id) { + if(doing_address) + proto_item_append_text(address_item, " $ %%s)", tvb_format_text(id, 0, tvb_length(id))); + + if(doing_subjectid && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, " $ %%s)", tvb_format_text(id, 0, tvb_length(id))); + } #.FN_BODY MTSIdentifier doing_address = TRUE; + if(hf_index == hf_x411_subject_identifier) + doing_subjectid = TRUE; + %(DEFAULT_BODY)s doing_address = FALSE; + if(hf_index == hf_x411_subject_identifier) + doing_subjectid = FALSE; + + #.FN_BODY MTANameAndOptionalGDI doing_address = TRUE; @@ -707,5 +724,29 @@ ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses" tree = proto_item_add_subtree(item, ett_x411_bilateral_information); offset = dissect_unknown_ber(pinfo, tvb, offset, tree); + +#.FN_PARS MTS-APDU + VAL_PTR = &apdu + +#.FN_BODY MTS-APDU + int apdu = -1; + + %(DEFAULT_BODY)s + + if(check_col(pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */ + col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(apdu, x411_MTS_APDU_vals, "MTS-APDU(%%d)")); + } + +#.FN_PARS ReportType + VAL_PTR = &report + +#.FN_BODY ReportType + int report = -1; + + %(DEFAULT_BODY)s + if(check_col(pinfo->cinfo, COL_INFO)) { + col_append_fstr(pinfo->cinfo, COL_INFO, " %%s", val_to_str(report, x411_ReportType_vals, "report-type(%%d)")); + } + #.END |