diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-11-16 07:13:12 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2005-11-16 07:13:12 +0000 |
commit | 3cf9e6ac03bb6b962f17a02ee566b81d0404e4f4 (patch) | |
tree | 0c7664cef1a075c4ecb3ad5ddc8d364055957829 /epan/dissectors/packet-rtse.c | |
parent | 8a88ef70268ceb7c186b15406f4d786f866ed481 (diff) |
From Graeme Lunt:
Here are a number of small patches for asn1 based dissectors:
acse:
release request/response column information (many X.400/X.500 unbinds are
empty)
"standardised" PNAME to "ISO 8650-1 OSI Association Control Service"
fix for crash when using EXTERNAL dissector
rtse:
column information when attempting a resume
x509if:
generation of LDAP-style DNs from RDNSequences
new function x509if_get_last_dn() to get the last DN generated.
x509af:
DSS parameters
certificate extension naming
subject naming of certificate
x509sat:
Guide syntax (as SET now supported)
PDU exports.
cms:
verification of message digest attribute (SHA-1 and MD5)
ess:
enumerated/restrictive/permissive/informative security categories
x411:
generation of string encoding of X.400 addresses, trace information and message identifiers.
s4406:
separate types for primary and copy precedence to allow better filtering (e.g. primary precedence = flash)
priority-level-qualifier
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@16508 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-rtse.c')
-rw-r--r-- | epan/dissectors/packet-rtse.c | 43 |
1 files changed, 32 insertions, 11 deletions
diff --git a/epan/dissectors/packet-rtse.c b/epan/dissectors/packet-rtse.c index fd0ab5806e..bd976a3a19 100644 --- a/epan/dissectors/packet-rtse.c +++ b/epan/dissectors/packet-rtse.c @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-rtse.c */ +/* .\packet-rtse.c */ /* ../../tools/asn2eth.py -X -b -e -p rtse -c rtse.cnf -s packet-rtse-template rtse.asn */ /* Input file: packet-rtse-template.c */ @@ -57,6 +57,7 @@ int proto_rtse = -1; static struct SESSION_DATA_STRUCTURE* session = NULL; static char object_identifier_id[MAX_OID_STR_LEN]; +static gboolean open_request=FALSE; /* indirect_reference, used to pick up the signalling so we know what kind of data is transferred in SES_DATA_TRANSFER_PDUs */ static guint32 indir_ref=0; @@ -260,9 +261,14 @@ static int dissect_open(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int static int dissect_rtse_T61String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { - offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, + tvbuff_t *string = NULL; + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, pinfo, tree, tvb, offset, hf_index, - NULL); + &string); + + if(open_request && string && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, " %s", tvb_format_text(string, 0, tvb_length(string))); + return offset; } @@ -274,8 +280,13 @@ static int dissect_t61String(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb static int dissect_rtse_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { - offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, - NULL); + tvbuff_t *string = NULL; + offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, + &string); + + if(open_request && string && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, " %s", tvb_format_text(string, 0, tvb_length(string))); + return offset; } @@ -315,9 +326,14 @@ static int dissect_callingSSuserReference(packet_info *pinfo, proto_tree *tree, static int dissect_rtse_CommonReference(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { - offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime, + tvbuff_t *string = NULL; + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime, pinfo, tree, tvb, offset, hf_index, - NULL); + &string); + + if(open_request && string && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, " %s", tvb_format_text(string, 0, tvb_length(string))); + return offset; } @@ -349,9 +365,13 @@ static const ber_sequence_t SessionConnectionIdentifier_sequence[] = { static int dissect_rtse_SessionConnectionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { - offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset, + if(open_request && check_col(pinfo->cinfo, COL_INFO)) + col_append_fstr(pinfo->cinfo, COL_INFO, "Recover"); + offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset, SessionConnectionIdentifier_sequence, hf_index, ett_rtse_SessionConnectionIdentifier); + + return offset; } static int dissect_recover_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { @@ -421,10 +441,11 @@ dissect_rtse_RTORQapdu(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pac if((session = (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data)) != NULL) session->ros_op = (ROS_OP_BIND | ROS_OP_ARGUMENT); - - offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset, + open_request=TRUE; + offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset, RTORQapdu_set, hf_index, ett_rtse_RTORQapdu); + open_request=FALSE; return offset; @@ -447,7 +468,7 @@ dissect_rtse_RTOACapdu(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pac if((session = (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data)) != NULL) session->ros_op = (ROS_OP_BIND | ROS_OP_RESULT); - offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset, + offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset, RTOACapdu_set, hf_index, ett_rtse_RTOACapdu); |