1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -e -p x411 -c x411.cnf -s packet-x411-template x411.asn */
6 /* Input file: packet-x411-template.c */
8 #line 1 "packet-x411-template.c"
10 * Routines for X.411 (X.400 Message Transfer) packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/conversation.h>
41 #include <epan/oid_resolv.h>
46 #include "packet-ber.h"
47 #include "packet-acse.h"
48 #include "packet-ros.h"
49 #include "packet-rtse.h"
51 #include "packet-x509af.h"
52 #include "packet-x509ce.h"
53 #include "packet-x509if.h"
54 #include "packet-x509sat.h"
56 #include "packet-x411.h"
57 #include <epan/emem.h>
58 #include <epan/strutil.h>
60 #define PNAME "X.411 Message Transfer Service"
64 /* Initialize the protocol and registered fields */
67 static struct SESSION_DATA_STRUCTURE* session = NULL;
68 static int extension_id = -1; /* integer extension id */
69 static const char *object_identifier_id; /* extensions identifier */
70 static const char *content_type_id; /* content type identifier */
72 #define MAX_ORA_STR_LEN 256
73 static char *oraddress = NULL;
74 static gboolean doing_address=FALSE;
75 static proto_item *address_item;
77 static proto_tree *top_tree=NULL;
80 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
83 /*--- Included file: packet-x411-hf.c ---*/
84 #line 1 "packet-x411-hf.c"
85 static int hf_x411_MTABindArgument_PDU = -1; /* MTABindArgument */
86 static int hf_x411_MTABindResult_PDU = -1; /* MTABindResult */
87 static int hf_x411_MTABindError_PDU = -1; /* MTABindError */
88 static int hf_x411_MTS_APDU_PDU = -1; /* MTS_APDU */
89 static int hf_x411_InternalTraceInformation_PDU = -1; /* InternalTraceInformation */
90 static int hf_x411_TraceInformation_PDU = -1; /* TraceInformation */
91 static int hf_x411_ReportDeliveryArgument_PDU = -1; /* ReportDeliveryArgument */
92 static int hf_x411_RecipientCertificate_PDU = -1; /* RecipientCertificate */
93 static int hf_x411_ProofOfDelivery_PDU = -1; /* ProofOfDelivery */
94 static int hf_x411_ExtendedContentType_PDU = -1; /* ExtendedContentType */
95 static int hf_x411_ContentLength_PDU = -1; /* ContentLength */
96 static int hf_x411_RecipientReassignmentProhibited_PDU = -1; /* RecipientReassignmentProhibited */
97 static int hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU = -1; /* MTSOriginatorRequestedAlternateRecipient */
98 static int hf_x411_DLExpansionProhibited_PDU = -1; /* DLExpansionProhibited */
99 static int hf_x411_ConversionWithLossProhibited_PDU = -1; /* ConversionWithLossProhibited */
100 static int hf_x411_LatestDeliveryTime_PDU = -1; /* LatestDeliveryTime */
101 static int hf_x411_RequestedDeliveryMethod_PDU = -1; /* RequestedDeliveryMethod */
102 static int hf_x411_PhysicalForwardingProhibited_PDU = -1; /* PhysicalForwardingProhibited */
103 static int hf_x411_PhysicalForwardingAddressRequest_PDU = -1; /* PhysicalForwardingAddressRequest */
104 static int hf_x411_PhysicalDeliveryModes_PDU = -1; /* PhysicalDeliveryModes */
105 static int hf_x411_RegisteredMailType_PDU = -1; /* RegisteredMailType */
106 static int hf_x411_RecipientNumberForAdvice_PDU = -1; /* RecipientNumberForAdvice */
107 static int hf_x411_PhysicalRenditionAttributes_PDU = -1; /* PhysicalRenditionAttributes */
108 static int hf_x411_OriginatorReturnAddress_PDU = -1; /* OriginatorReturnAddress */
109 static int hf_x411_PhysicalDeliveryReportRequest_PDU = -1; /* PhysicalDeliveryReportRequest */
110 static int hf_x411_OriginatorCertificate_PDU = -1; /* OriginatorCertificate */
111 static int hf_x411_MessageToken_PDU = -1; /* MessageToken */
112 static int hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU = -1; /* ContentConfidentialityAlgorithmIdentifier */
113 static int hf_x411_ContentIntegrityCheck_PDU = -1; /* ContentIntegrityCheck */
114 static int hf_x411_MessageOriginAuthenticationCheck_PDU = -1; /* MessageOriginAuthenticationCheck */
115 static int hf_x411_MessageSecurityLabel_PDU = -1; /* MessageSecurityLabel */
116 static int hf_x411_ProofOfSubmissionRequest_PDU = -1; /* ProofOfSubmissionRequest */
117 static int hf_x411_ProofOfDeliveryRequest_PDU = -1; /* ProofOfDeliveryRequest */
118 static int hf_x411_ContentCorrelator_PDU = -1; /* ContentCorrelator */
119 static int hf_x411_ProbeOriginAuthenticationCheck_PDU = -1; /* ProbeOriginAuthenticationCheck */
120 static int hf_x411_RedirectionHistory_PDU = -1; /* RedirectionHistory */
121 static int hf_x411_DLExpansionHistory_PDU = -1; /* DLExpansionHistory */
122 static int hf_x411_PhysicalForwardingAddress_PDU = -1; /* PhysicalForwardingAddress */
123 static int hf_x411_OriginatorAndDLExpansionHistory_PDU = -1; /* OriginatorAndDLExpansionHistory */
124 static int hf_x411_ReportingDLName_PDU = -1; /* ReportingDLName */
125 static int hf_x411_ReportingMTACertificate_PDU = -1; /* ReportingMTACertificate */
126 static int hf_x411_ReportOriginAuthenticationCheck_PDU = -1; /* ReportOriginAuthenticationCheck */
127 static int hf_x411_ProofOfSubmission_PDU = -1; /* ProofOfSubmission */
128 static int hf_x411_ReportingMTAName_PDU = -1; /* ReportingMTAName */
129 static int hf_x411_ExtendedCertificates_PDU = -1; /* ExtendedCertificates */
130 static int hf_x411_DLExemptedRecipients_PDU = -1; /* DLExemptedRecipients */
131 static int hf_x411_CertificateSelectors_PDU = -1; /* CertificateSelectors */
132 static int hf_x411_ORName_PDU = -1; /* ORName */
133 static int hf_x411_ORAddress_PDU = -1; /* ORAddress */
134 static int hf_x411_CommonName_PDU = -1; /* CommonName */
135 static int hf_x411_TeletexCommonName_PDU = -1; /* TeletexCommonName */
136 static int hf_x411_UniversalCommonName_PDU = -1; /* UniversalCommonName */
137 static int hf_x411_TeletexOrganizationName_PDU = -1; /* TeletexOrganizationName */
138 static int hf_x411_UniversalOrganizationName_PDU = -1; /* UniversalOrganizationName */
139 static int hf_x411_TeletexPersonalName_PDU = -1; /* TeletexPersonalName */
140 static int hf_x411_UniversalPersonalName_PDU = -1; /* UniversalPersonalName */
141 static int hf_x411_TeletexOrganizationalUnitNames_PDU = -1; /* TeletexOrganizationalUnitNames */
142 static int hf_x411_UniversalOrganizationalUnitNames_PDU = -1; /* UniversalOrganizationalUnitNames */
143 static int hf_x411_PDSName_PDU = -1; /* PDSName */
144 static int hf_x411_PhysicalDeliveryCountryName_PDU = -1; /* PhysicalDeliveryCountryName */
145 static int hf_x411_PostalCode_PDU = -1; /* PostalCode */
146 static int hf_x411_PhysicalDeliveryOfficeName_PDU = -1; /* PhysicalDeliveryOfficeName */
147 static int hf_x411_ExtendedEncodedInformationType_PDU = -1; /* ExtendedEncodedInformationType */
148 static int hf_x411_MTANameAndOptionalGDI_PDU = -1; /* MTANameAndOptionalGDI */
149 static int hf_x411_AsymmetricToken_PDU = -1; /* AsymmetricToken */
150 static int hf_x411_BindTokenSignedData_PDU = -1; /* BindTokenSignedData */
151 static int hf_x411_MessageTokenSignedData_PDU = -1; /* MessageTokenSignedData */
152 static int hf_x411_MessageTokenEncryptedData_PDU = -1; /* MessageTokenEncryptedData */
153 static int hf_x411_BindTokenEncryptedData_PDU = -1; /* BindTokenEncryptedData */
154 static int hf_x411_unauthenticated = -1; /* NULL */
155 static int hf_x411_authenticated_argument = -1; /* AuthenticatedArgument */
156 static int hf_x411_authenticated_initiator_name = -1; /* MTAName */
157 static int hf_x411_initiator_credentials = -1; /* InitiatorCredentials */
158 static int hf_x411_security_context = -1; /* SecurityContext */
159 static int hf_x411_authenticated_result = -1; /* AuthenticatedResult */
160 static int hf_x411_authenticated_responder_name = -1; /* MTAName */
161 static int hf_x411_responder_credentials = -1; /* ResponderCredentials */
162 static int hf_x411_message = -1; /* Message */
163 static int hf_x411_probe = -1; /* Probe */
164 static int hf_x411_report = -1; /* Report */
165 static int hf_x411_message_envelope = -1; /* MessageTransferEnvelope */
166 static int hf_x411_content = -1; /* Content */
167 static int hf_x411_report_envelope = -1; /* ReportTransferEnvelope */
168 static int hf_x411_report_content = -1; /* ReportTransferContent */
169 static int hf_x411_message_identifier = -1; /* MessageIdentifier */
170 static int hf_x411_mta_originator_name = -1; /* MTAOriginatorName */
171 static int hf_x411_original_encoded_information_types = -1; /* OriginalEncodedInformationTypes */
172 static int hf_x411_content_type = -1; /* ContentType */
173 static int hf_x411_content_identifier = -1; /* ContentIdentifier */
174 static int hf_x411_priority = -1; /* Priority */
175 static int hf_x411_per_message_indicators = -1; /* PerMessageIndicators */
176 static int hf_x411_deferred_delivery_time = -1; /* DeferredDeliveryTime */
177 static int hf_x411_per_domain_bilateral_information = -1; /* SEQUENCE_OF_PerDomainBilateralInformation */
178 static int hf_x411_per_domain_bilateral_information_item = -1; /* PerDomainBilateralInformation */
179 static int hf_x411_trace_information = -1; /* TraceInformation */
180 static int hf_x411_extensions = -1; /* SET_OF_ExtensionField */
181 static int hf_x411_extensions_item = -1; /* ExtensionField */
182 static int hf_x411_per_recipient_message_fields = -1; /* SEQUENCE_OF_PerRecipientMessageTransferFields */
183 static int hf_x411_per_recipient_message_fields_item = -1; /* PerRecipientMessageTransferFields */
184 static int hf_x411_recipient_name = -1; /* MTARecipientName */
185 static int hf_x411_originally_specified_recipient_number = -1; /* OriginallySpecifiedRecipientNumber */
186 static int hf_x411_per_recipient_indicators = -1; /* PerRecipientIndicators */
187 static int hf_x411_explicit_conversion = -1; /* ExplicitConversion */
188 static int hf_x411_probe_identifier = -1; /* ProbeIdentifier */
189 static int hf_x411_content_length = -1; /* ContentLength */
190 static int hf_x411_per_recipient_probe_transfer_fields = -1; /* SEQUENCE_OF_PerRecipientProbeTransferFields */
191 static int hf_x411_per_recipient_probe_transfer_fields_item = -1; /* PerRecipientProbeTransferFields */
192 static int hf_x411_report_identifier = -1; /* ReportIdentifier */
193 static int hf_x411_report_destination_name = -1; /* ReportDestinationName */
194 static int hf_x411_subject_identifier = -1; /* SubjectIdentifier */
195 static int hf_x411_subject_intermediate_trace_information = -1; /* SubjectIntermediateTraceInformation */
196 static int hf_x411_returned_content = -1; /* Content */
197 static int hf_x411_additional_information = -1; /* AdditionalInformation */
198 static int hf_x411_per_recipient_report_fields = -1; /* SEQUENCE_OF_PerRecipientReportTransferFields */
199 static int hf_x411_per_recipient_report_fields_item = -1; /* PerRecipientReportTransferFields */
200 static int hf_x411_mta_actual_recipient_name = -1; /* MTAActualRecipientName */
201 static int hf_x411_last_trace_information = -1; /* LastTraceInformation */
202 static int hf_x411_report_originally_intended_recipient_name = -1; /* MTAOriginallyIntendedRecipientName */
203 static int hf_x411_supplementary_information = -1; /* SupplementaryInformation */
204 static int hf_x411_country_name = -1; /* CountryName */
205 static int hf_x411_bilateral_domain = -1; /* T_bilateral_domain */
206 static int hf_x411_administration_domain_name = -1; /* AdministrationDomainName */
207 static int hf_x411_private_domain = -1; /* T_private_domain */
208 static int hf_x411_private_domain_identifier = -1; /* PrivateDomainIdentifier */
209 static int hf_x411_bilateral_information = -1; /* T_bilateral_information */
210 static int hf_x411_arrival_time = -1; /* ArrivalTime */
211 static int hf_x411_converted_encoded_information_types = -1; /* ConvertedEncodedInformationTypes */
212 static int hf_x411_trace_report_type = -1; /* ReportType */
213 static int hf_x411_InternalTraceInformation_item = -1; /* InternalTraceInformationElement */
214 static int hf_x411_global_domain_identifier = -1; /* GlobalDomainIdentifier */
215 static int hf_x411_mta_name = -1; /* MTAName */
216 static int hf_x411_mta_supplied_information = -1; /* MTASuppliedInformation */
217 static int hf_x411_routing_action = -1; /* RoutingAction */
218 static int hf_x411_attempted = -1; /* T_attempted */
219 static int hf_x411_mta = -1; /* MTAName */
220 static int hf_x411_domain = -1; /* GlobalDomainIdentifier */
221 static int hf_x411_deferred_time = -1; /* DeferredTime */
222 static int hf_x411_other_actions = -1; /* OtherActions */
223 static int hf_x411_TraceInformation_item = -1; /* TraceInformationElement */
224 static int hf_x411_domain_supplied_information = -1; /* DomainSuppliedInformation */
225 static int hf_x411_attempted_domain = -1; /* GlobalDomainIdentifier */
226 static int hf_x411_initiator_name = -1; /* ObjectName */
227 static int hf_x411_messages_waiting = -1; /* MessagesWaiting */
228 static int hf_x411_responder_name = -1; /* ObjectName */
229 static int hf_x411_user_agent = -1; /* ORAddressAndOptionalDirectoryName */
230 static int hf_x411_mTA = -1; /* MTAName */
231 static int hf_x411_message_store = -1; /* ORAddressAndOptionalDirectoryName */
232 static int hf_x411_urgent = -1; /* DeliveryQueue */
233 static int hf_x411_normal = -1; /* DeliveryQueue */
234 static int hf_x411_non_urgent = -1; /* DeliveryQueue */
235 static int hf_x411_messages = -1; /* INTEGER */
236 static int hf_x411_delivery_queue_octets = -1; /* INTEGER */
237 static int hf_x411_simple = -1; /* Password */
238 static int hf_x411_strong = -1; /* StrongCredentials */
239 static int hf_x411_protected = -1; /* ProtectedPassword */
240 static int hf_x411_ia5_string = -1; /* IA5String */
241 static int hf_x411_octet_string = -1; /* OCTET_STRING */
242 static int hf_x411_bind_token = -1; /* Token */
243 static int hf_x411_certificate = -1; /* Certificates */
244 static int hf_x411_certificate_selector = -1; /* CertificateAssertion */
245 static int hf_x411_signature = -1; /* Signature */
246 static int hf_x411_time1 = -1; /* UTCTime */
247 static int hf_x411_time2 = -1; /* UTCTime */
248 static int hf_x411_random1 = -1; /* BIT_STRING */
249 static int hf_x411_random2 = -1; /* BIT_STRING */
250 static int hf_x411_algorithmIdentifier = -1; /* AlgorithmIdentifier */
251 static int hf_x411_encrypted = -1; /* BIT_STRING */
252 static int hf_x411_SecurityContext_item = -1; /* SecurityLabel */
253 static int hf_x411_message_submission_envelope = -1; /* MessageSubmissionEnvelope */
254 static int hf_x411_message_submission_identifier = -1; /* MessageSubmissionIdentifier */
255 static int hf_x411_message_submission_time = -1; /* MessageSubmissionTime */
256 static int hf_x411_probe_submission_identifier = -1; /* ProbeSubmissionIdentifier */
257 static int hf_x411_probe_submission_time = -1; /* ProbeSubmissionTime */
258 static int hf_x411_ImproperlySpecifiedRecipients_item = -1; /* MTSRecipientName */
259 static int hf_x411_waiting_operations = -1; /* Operations */
260 static int hf_x411_waiting_messages = -1; /* WaitingMessages */
261 static int hf_x411_waiting_content_types = -1; /* SET_OF_ContentType */
262 static int hf_x411_waiting_content_types_item = -1; /* ContentType */
263 static int hf_x411_waiting_encoded_information_types = -1; /* EncodedInformationTypes */
264 static int hf_x411_message_delivery_identifier = -1; /* MessageDeliveryIdentifier */
265 static int hf_x411_message_delivery_time = -1; /* MessageDeliveryTime */
266 static int hf_x411_other_fields = -1; /* OtherMessageDeliveryFields */
267 static int hf_x411_recipient_certificate = -1; /* RecipientCertificate */
268 static int hf_x411_proof_of_delivery = -1; /* ProofOfDelivery */
269 static int hf_x411_subject_submission_identifier = -1; /* SubjectSubmissionIdentifier */
270 static int hf_x411_per_recipient_report_delivery_fields = -1; /* SEQUENCE_OF_PerRecipientReportDeliveryFields */
271 static int hf_x411_per_recipient_report_delivery_fields_item = -1; /* PerRecipientReportDeliveryFields */
272 static int hf_x411_empty_result = -1; /* NULL */
273 static int hf_x411_restrict = -1; /* BOOLEAN */
274 static int hf_x411_permissible_operations = -1; /* Operations */
275 static int hf_x411_permissible_maximum_content_length = -1; /* ContentLength */
276 static int hf_x411_permissible_lowest_priority = -1; /* Priority */
277 static int hf_x411_permissible_content_types = -1; /* ContentTypes */
278 static int hf_x411_permissible_encoded_information_types = -1; /* PermissibleEncodedInformationTypes */
279 static int hf_x411_permissible_security_context = -1; /* SecurityContext */
280 static int hf_x411_refused_argument = -1; /* T_refused_argument */
281 static int hf_x411_built_in_argument = -1; /* RefusedArgument */
282 static int hf_x411_refused_extension = -1; /* T_refused_extension */
283 static int hf_x411_refusal_reason = -1; /* RefusalReason */
284 static int hf_x411_user_name = -1; /* UserName */
285 static int hf_x411_user_address = -1; /* UserAddress */
286 static int hf_x411_deliverable_class = -1; /* SET_OF_DeliverableClass */
287 static int hf_x411_deliverable_class_item = -1; /* DeliverableClass */
288 static int hf_x411_default_delivery_controls = -1; /* DefaultDeliveryControls */
289 static int hf_x411_redirections = -1; /* Redirections */
290 static int hf_x411_restricted_delivery = -1; /* RestrictedDelivery */
291 static int hf_x411_retrieve_registrations = -1; /* RegistrationTypes */
292 static int hf_x411_non_empty_result = -1; /* T_non_empty_result */
293 static int hf_x411_registered_information = -1; /* RegisterArgument */
294 static int hf_x411_old_credentials = -1; /* Credentials */
295 static int hf_x411_new_credentials = -1; /* Credentials */
296 static int hf_x411_x121 = -1; /* T_x121 */
297 static int hf_x411_x121_address = -1; /* NumericString */
298 static int hf_x411_tsap_id = -1; /* PrintableString */
299 static int hf_x411_presentation = -1; /* PSAPAddress */
300 static int hf_x411_Redirections_item = -1; /* RecipientRedirection */
301 static int hf_x411_redirection_classes = -1; /* SET_OF_RedirectionClass */
302 static int hf_x411_redirection_classes_item = -1; /* RedirectionClass */
303 static int hf_x411_recipient_assigned_alternate_recipient = -1; /* RecipientAssignedAlternateRecipient */
304 static int hf_x411_content_types = -1; /* ContentTypes */
305 static int hf_x411_maximum_content_length = -1; /* ContentLength */
306 static int hf_x411_encoded_information_types_constraints = -1; /* EncodedInformationTypesConstraints */
307 static int hf_x411_security_labels = -1; /* SecurityContext */
308 static int hf_x411_class_priority = -1; /* SET_OF_Priority */
309 static int hf_x411_class_priority_item = -1; /* Priority */
310 static int hf_x411_objects = -1; /* T_objects */
311 static int hf_x411_applies_only_to = -1; /* SEQUENCE_OF_Restriction */
312 static int hf_x411_applies_only_to_item = -1; /* Restriction */
313 static int hf_x411_unacceptable_eits = -1; /* ExtendedEncodedInformationTypes */
314 static int hf_x411_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
315 static int hf_x411_exclusively_acceptable_eits = -1; /* ExtendedEncodedInformationTypes */
316 static int hf_x411_RestrictedDelivery_item = -1; /* Restriction */
317 static int hf_x411_permitted = -1; /* BOOLEAN */
318 static int hf_x411_source_type = -1; /* T_source_type */
319 static int hf_x411_source_name = -1; /* ExactOrPattern */
320 static int hf_x411_exact_match = -1; /* ORName */
321 static int hf_x411_pattern_match = -1; /* ORName */
322 static int hf_x411_standard_parameters = -1; /* T_standard_parameters */
323 static int hf_x411_type_extensions = -1; /* T_type_extensions */
324 static int hf_x411_type_extensions_item = -1; /* T_type_extensions_item */
325 static int hf_x411_mts_originator_name = -1; /* MTSOriginatorName */
326 static int hf_x411_per_recipient_message_submission_fields = -1; /* SEQUENCE_OF_PerRecipientMessageSubmissionFields */
327 static int hf_x411_per_recipient_message_submission_fields_item = -1; /* PerRecipientMessageSubmissionFields */
328 static int hf_x411_submission_recipient_name = -1; /* MTSRecipientName */
329 static int hf_x411_originator_report_request = -1; /* OriginatorReportRequest */
330 static int hf_x411_per_recipient_probe_submission_fields = -1; /* SEQUENCE_OF_PerRecipientProbeSubmissionFields */
331 static int hf_x411_per_recipient_probe_submission_fields_item = -1; /* PerRecipientProbeSubmissionFields */
332 static int hf_x411_probe_recipient_name = -1; /* MTSRecipientName */
333 static int hf_x411_delivered_content_type = -1; /* DeliveredContentType */
334 static int hf_x411_originator_name = -1; /* DeliveredOriginatorName */
335 static int hf_x411_delivery_flags = -1; /* DeliveryFlags */
336 static int hf_x411_other_recipient_names = -1; /* OtherRecipientNames */
337 static int hf_x411_this_recipient_name = -1; /* ThisRecipientName */
338 static int hf_x411_originally_intended_recipient_name = -1; /* MTSOriginallyIntendedRecipientName */
339 static int hf_x411_actual_recipient_name = -1; /* MTSActualRecipientName */
340 static int hf_x411_delivery_report_type = -1; /* ReportType */
341 static int hf_x411_delivery = -1; /* DeliveryReport */
342 static int hf_x411_non_delivery = -1; /* NonDeliveryReport */
343 static int hf_x411_type_of_MTS_user = -1; /* TypeOfMTSUser */
344 static int hf_x411_non_delivery_reason_code = -1; /* NonDeliveryReasonCode */
345 static int hf_x411_non_delivery_diagnostic_code = -1; /* NonDeliveryDiagnosticCode */
346 static int hf_x411_ContentTypes_item = -1; /* ContentType */
347 static int hf_x411_built_in = -1; /* BuiltInContentType */
348 static int hf_x411_extended = -1; /* ExtendedContentType */
349 static int hf_x411_OtherRecipientNames_item = -1; /* OtherRecipientName */
350 static int hf_x411_standard_extension = -1; /* INTEGER */
351 static int hf_x411_private_extension = -1; /* OBJECT_IDENTIFIER */
352 static int hf_x411_extension_type = -1; /* ExtensionType */
353 static int hf_x411_criticality = -1; /* Criticality */
354 static int hf_x411_extension_value = -1; /* ExtensionValue */
355 static int hf_x411_RequestedDeliveryMethod_item = -1; /* RequestedDeliveryMethod_item */
356 static int hf_x411_ia5text = -1; /* IA5String */
357 static int hf_x411_octets = -1; /* OCTET_STRING */
358 static int hf_x411_RedirectionHistory_item = -1; /* Redirection */
359 static int hf_x411_intended_recipient_name = -1; /* IntendedRecipientName */
360 static int hf_x411_redirection_reason = -1; /* RedirectionReason */
361 static int hf_x411_intended_recipient = -1; /* ORAddressAndOptionalDirectoryName */
362 static int hf_x411_redirection_time = -1; /* Time */
363 static int hf_x411_DLExpansionHistory_item = -1; /* DLExpansion */
364 static int hf_x411_dl = -1; /* ORAddressAndOptionalDirectoryName */
365 static int hf_x411_dl_expansion_time = -1; /* Time */
366 static int hf_x411_OriginatorAndDLExpansionHistory_item = -1; /* OriginatorAndDLExpansion */
367 static int hf_x411_originator_or_dl_name = -1; /* ORAddressAndOptionalDirectoryName */
368 static int hf_x411_origination_or_expansion_time = -1; /* Time */
369 static int hf_x411_report_type = -1; /* T_report_type */
370 static int hf_x411_report_type_delivery = -1; /* PerRecipientDeliveryReportFields */
371 static int hf_x411_non_delivery_report = -1; /* PerRecipientNonDeliveryReportFields */
372 static int hf_x411_mta_directory_name = -1; /* Name */
373 static int hf_x411_ExtendedCertificates_item = -1; /* ExtendedCertificate */
374 static int hf_x411_directory_entry = -1; /* Name */
375 static int hf_x411_DLExemptedRecipients_item = -1; /* ORAddressAndOrDirectoryName */
376 static int hf_x411_encryption_recipient = -1; /* CertificateAssertion */
377 static int hf_x411_encryption_originator = -1; /* CertificateAssertion */
378 static int hf_x411_selectors_content_integrity_check = -1; /* CertificateAssertion */
379 static int hf_x411_token_signature = -1; /* CertificateAssertion */
380 static int hf_x411_message_origin_authentication = -1; /* CertificateAssertion */
381 static int hf_x411_local_identifier = -1; /* LocalIdentifier */
382 static int hf_x411_numeric = -1; /* NumericString */
383 static int hf_x411_printable = -1; /* PrintableString */
384 static int hf_x411_built_in_standard_attributes = -1; /* BuiltInStandardAttributes */
385 static int hf_x411_built_in_domain_defined_attributes = -1; /* BuiltInDomainDefinedAttributes */
386 static int hf_x411_extension_attributes = -1; /* ExtensionAttributes */
387 static int hf_x411_directory_name = -1; /* Name */
388 static int hf_x411_network_address = -1; /* NetworkAddress */
389 static int hf_x411_terminal_identifier = -1; /* TerminalIdentifier */
390 static int hf_x411_private_domain_name = -1; /* PrivateDomainName */
391 static int hf_x411_organization_name = -1; /* OrganizationName */
392 static int hf_x411_numeric_user_identifier = -1; /* NumericUserIdentifier */
393 static int hf_x411_personal_name = -1; /* PersonalName */
394 static int hf_x411_organizational_unit_names = -1; /* OrganizationalUnitNames */
395 static int hf_x411_x121_dcc_code = -1; /* NumericString */
396 static int hf_x411_iso_3166_alpha2_code = -1; /* PrintableString */
397 static int hf_x411_printable_surname = -1; /* PrintableString */
398 static int hf_x411_printable_given_name = -1; /* PrintableString */
399 static int hf_x411_printable_initials = -1; /* PrintableString */
400 static int hf_x411_printable_generation_qualifier = -1; /* PrintableString */
401 static int hf_x411_OrganizationalUnitNames_item = -1; /* OrganizationalUnitName */
402 static int hf_x411_BuiltInDomainDefinedAttributes_item = -1; /* BuiltInDomainDefinedAttribute */
403 static int hf_x411_printable_type = -1; /* PrintableString */
404 static int hf_x411_printable_value = -1; /* PrintableString */
405 static int hf_x411_ExtensionAttributes_item = -1; /* ExtensionAttribute */
406 static int hf_x411_extension_attribute_type = -1; /* INTEGER */
407 static int hf_x411_extension_attribute_value = -1; /* T_extension_attribute_value */
408 static int hf_x411_teletex_surname = -1; /* TeletexString */
409 static int hf_x411_teletex_given_name = -1; /* TeletexString */
410 static int hf_x411_teletex_initials = -1; /* TeletexString */
411 static int hf_x411_teletex_generation_qualifier = -1; /* TeletexString */
412 static int hf_x411_universal_surname = -1; /* UniversalOrBMPString */
413 static int hf_x411_universal_given_name = -1; /* UniversalOrBMPString */
414 static int hf_x411_universal_initials = -1; /* UniversalOrBMPString */
415 static int hf_x411_universal_generation_qualifier = -1; /* UniversalOrBMPString */
416 static int hf_x411_TeletexOrganizationalUnitNames_item = -1; /* TeletexOrganizationalUnitName */
417 static int hf_x411_UniversalOrganizationalUnitNames_item = -1; /* UniversalOrganizationalUnitName */
418 static int hf_x411_character_encoding = -1; /* T_character_encoding */
419 static int hf_x411_two_octets = -1; /* BMPString */
420 static int hf_x411_four_octets = -1; /* UniversalString */
421 static int hf_x411_iso_639_language_code = -1; /* PrintableString */
422 static int hf_x411_numeric_code = -1; /* NumericString */
423 static int hf_x411_printable_code = -1; /* PrintableString */
424 static int hf_x411_printable_address = -1; /* T_printable_address */
425 static int hf_x411_printable_address_item = -1; /* PrintableString */
426 static int hf_x411_teletex_string = -1; /* TeletexString */
427 static int hf_x411_printable_string = -1; /* PrintableString */
428 static int hf_x411_e163_4_address = -1; /* T_e163_4_address */
429 static int hf_x411_number = -1; /* NumericString */
430 static int hf_x411_sub_address = -1; /* NumericString */
431 static int hf_x411_psap_address = -1; /* PresentationAddress */
432 static int hf_x411_TeletexDomainDefinedAttributes_item = -1; /* TeletexDomainDefinedAttribute */
433 static int hf_x411_type = -1; /* TeletexString */
434 static int hf_x411_teletex_value = -1; /* TeletexString */
435 static int hf_x411_UniversalDomainDefinedAttributes_item = -1; /* UniversalDomainDefinedAttribute */
436 static int hf_x411_universal_type = -1; /* UniversalOrBMPString */
437 static int hf_x411_universal_value = -1; /* UniversalOrBMPString */
438 static int hf_x411_built_in_encoded_information_types = -1; /* BuiltInEncodedInformationTypes */
439 static int hf_x411_g3_facsimile = -1; /* G3FacsimileNonBasicParameters */
440 static int hf_x411_teletex = -1; /* TeletexNonBasicParameters */
441 static int hf_x411_extended_encoded_information_types = -1; /* ExtendedEncodedInformationTypes */
442 static int hf_x411_ExtendedEncodedInformationTypes_item = -1; /* ExtendedEncodedInformationType */
443 static int hf_x411_graphic_character_sets = -1; /* TeletexString */
444 static int hf_x411_control_character_sets = -1; /* TeletexString */
445 static int hf_x411_page_formats = -1; /* OCTET_STRING */
446 static int hf_x411_miscellaneous_terminal_capabilities = -1; /* TeletexString */
447 static int hf_x411_private_use = -1; /* OCTET_STRING */
448 static int hf_x411_token_type_identifier = -1; /* TokenTypeIdentifier */
449 static int hf_x411_token = -1; /* TokenTypeData */
450 static int hf_x411_signature_algorithm_identifier = -1; /* AlgorithmIdentifier */
451 static int hf_x411_name = -1; /* T_name */
452 static int hf_x411_token_recipient_name = -1; /* MTSRecipientName */
453 static int hf_x411_token_mta = -1; /* MTANameAndOptionalGDI */
454 static int hf_x411_time = -1; /* Time */
455 static int hf_x411_signed_data = -1; /* TokenData */
456 static int hf_x411_encryption_algorithm_identifier = -1; /* AlgorithmIdentifier */
457 static int hf_x411_encrypted_data = -1; /* BIT_STRING */
458 static int hf_x411_asymmetric_token_data = -1; /* AsymmetricTokenData */
459 static int hf_x411_algorithm_identifier = -1; /* AlgorithmIdentifier */
460 static int hf_x411_token_data_type = -1; /* INTEGER */
461 static int hf_x411_value = -1; /* T_value */
462 static int hf_x411_content_confidentiality_algorithm_identifier = -1; /* ContentConfidentialityAlgorithmIdentifier */
463 static int hf_x411_content_integrity_check = -1; /* ContentIntegrityCheck */
464 static int hf_x411_message_security_label = -1; /* MessageSecurityLabel */
465 static int hf_x411_proof_of_delivery_request = -1; /* ProofOfDeliveryRequest */
466 static int hf_x411_message_sequence_number = -1; /* INTEGER */
467 static int hf_x411_content_confidentiality_key = -1; /* EncryptionKey */
468 static int hf_x411_content_integrity_key = -1; /* EncryptionKey */
469 static int hf_x411_security_policy_identifier = -1; /* SecurityPolicyIdentifier */
470 static int hf_x411_security_classification = -1; /* SecurityClassification */
471 static int hf_x411_privacy_mark = -1; /* PrivacyMark */
472 static int hf_x411_security_categories = -1; /* SecurityCategories */
473 static int hf_x411_SecurityCategories_item = -1; /* SecurityCategory */
474 static int hf_x411_category_type = -1; /* OBJECT_IDENTIFIER */
475 static int hf_x411_category_value = -1; /* CategoryValue */
477 static int hf_x411_PerRecipientIndicators_responsibility = -1;
478 static int hf_x411_PerRecipientIndicators_originating_MTA_report = -1;
479 static int hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report = -1;
480 static int hf_x411_PerRecipientIndicators_originator_report = -1;
481 static int hf_x411_PerRecipientIndicators_originator_non_delivery_report = -1;
482 static int hf_x411_PerRecipientIndicators_reserved_5 = -1;
483 static int hf_x411_PerRecipientIndicators_reserved_6 = -1;
484 static int hf_x411_PerRecipientIndicators_reserved_7 = -1;
485 static int hf_x411_OtherActions_redirected = -1;
486 static int hf_x411_OtherActions_dl_operation = -1;
487 static int hf_x411_Operations_probe_submission_or_report_delivery = -1;
488 static int hf_x411_Operations_message_submission_or_message_delivery = -1;
489 static int hf_x411_WaitingMessages_long_content = -1;
490 static int hf_x411_WaitingMessages_low_priority = -1;
491 static int hf_x411_WaitingMessages_other_security_labels = -1;
492 static int hf_x411_T_source_type_originated_by = -1;
493 static int hf_x411_T_source_type_redirected_by = -1;
494 static int hf_x411_T_source_type_dl_expanded_by = -1;
495 static int hf_x411_T_standard_parameters_user_name = -1;
496 static int hf_x411_T_standard_parameters_user_address = -1;
497 static int hf_x411_T_standard_parameters_deliverable_class = -1;
498 static int hf_x411_T_standard_parameters_default_delivery_controls = -1;
499 static int hf_x411_T_standard_parameters_redirections = -1;
500 static int hf_x411_T_standard_parameters_restricted_delivery = -1;
501 static int hf_x411_PerMessageIndicators_disclosure_of_other_recipients = -1;
502 static int hf_x411_PerMessageIndicators_implicit_conversion_prohibited = -1;
503 static int hf_x411_PerMessageIndicators_alternate_recipient_allowed = -1;
504 static int hf_x411_PerMessageIndicators_content_return_request = -1;
505 static int hf_x411_PerMessageIndicators_reserved = -1;
506 static int hf_x411_PerMessageIndicators_bit_5 = -1;
507 static int hf_x411_PerMessageIndicators_bit_6 = -1;
508 static int hf_x411_PerMessageIndicators_service_message = -1;
509 static int hf_x411_OriginatorReportRequest_report = -1;
510 static int hf_x411_OriginatorReportRequest_non_delivery_report = -1;
511 static int hf_x411_DeliveryFlags_implicit_conversion_prohibited = -1;
512 static int hf_x411_Criticality_for_submission = -1;
513 static int hf_x411_Criticality_for_transfer = -1;
514 static int hf_x411_Criticality_for_delivery = -1;
515 static int hf_x411_PhysicalDeliveryModes_ordinary_mail = -1;
516 static int hf_x411_PhysicalDeliveryModes_special_delivery = -1;
517 static int hf_x411_PhysicalDeliveryModes_express_mail = -1;
518 static int hf_x411_PhysicalDeliveryModes_counter_collection = -1;
519 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice = -1;
520 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice = -1;
521 static int hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice = -1;
522 static int hf_x411_PhysicalDeliveryModes_bureau_fax_delivery = -1;
523 static int hf_x411_BuiltInEncodedInformationTypes_unknown = -1;
524 static int hf_x411_BuiltInEncodedInformationTypes_ia5_text = -1;
525 static int hf_x411_BuiltInEncodedInformationTypes_g3_facsimile = -1;
526 static int hf_x411_BuiltInEncodedInformationTypes_g4_class_1 = -1;
527 static int hf_x411_BuiltInEncodedInformationTypes_teletex = -1;
528 static int hf_x411_BuiltInEncodedInformationTypes_videotex = -1;
529 static int hf_x411_BuiltInEncodedInformationTypes_voice = -1;
530 static int hf_x411_BuiltInEncodedInformationTypes_sfd = -1;
531 static int hf_x411_BuiltInEncodedInformationTypes_mixed_mode = -1;
532 static int hf_x411_G3FacsimileNonBasicParameters_two_dimensional = -1;
533 static int hf_x411_G3FacsimileNonBasicParameters_fine_resolution = -1;
534 static int hf_x411_G3FacsimileNonBasicParameters_unlimited_length = -1;
535 static int hf_x411_G3FacsimileNonBasicParameters_b4_length = -1;
536 static int hf_x411_G3FacsimileNonBasicParameters_a3_width = -1;
537 static int hf_x411_G3FacsimileNonBasicParameters_b4_width = -1;
538 static int hf_x411_G3FacsimileNonBasicParameters_t6_coding = -1;
539 static int hf_x411_G3FacsimileNonBasicParameters_uncompressed = -1;
540 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728 = -1;
541 static int hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728 = -1;
542 static int hf_x411_G3FacsimileNonBasicParameters_resolution_type = -1;
543 static int hf_x411_G3FacsimileNonBasicParameters_resolution_400x400 = -1;
544 static int hf_x411_G3FacsimileNonBasicParameters_resolution_300x300 = -1;
545 static int hf_x411_G3FacsimileNonBasicParameters_resolution_8x15 = -1;
546 static int hf_x411_G3FacsimileNonBasicParameters_edi = -1;
547 static int hf_x411_G3FacsimileNonBasicParameters_dtm = -1;
548 static int hf_x411_G3FacsimileNonBasicParameters_bft = -1;
549 static int hf_x411_G3FacsimileNonBasicParameters_mixed_mode = -1;
550 static int hf_x411_G3FacsimileNonBasicParameters_character_mode = -1;
551 static int hf_x411_G3FacsimileNonBasicParameters_twelve_bits = -1;
552 static int hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann = -1;
553 static int hf_x411_G3FacsimileNonBasicParameters_full_colour = -1;
554 static int hf_x411_G3FacsimileNonBasicParameters_jpeg = -1;
555 static int hf_x411_G3FacsimileNonBasicParameters_processable_mode_26 = -1;
557 /*--- End of included file: packet-x411-hf.c ---*/
558 #line 75 "packet-x411-template.c"
560 /* Initialize the subtree pointers */
561 static gint ett_x411 = -1;
562 static gint ett_x411_content_unknown = -1;
563 static gint ett_x411_bilateral_information = -1;
565 /*--- Included file: packet-x411-ett.c ---*/
566 #line 1 "packet-x411-ett.c"
567 static gint ett_x411_MTABindArgument = -1;
568 static gint ett_x411_AuthenticatedArgument = -1;
569 static gint ett_x411_MTABindResult = -1;
570 static gint ett_x411_AuthenticatedResult = -1;
571 static gint ett_x411_MTS_APDU = -1;
572 static gint ett_x411_Message = -1;
573 static gint ett_x411_Report = -1;
574 static gint ett_x411_MessageTransferEnvelope = -1;
575 static gint ett_x411_SEQUENCE_OF_PerDomainBilateralInformation = -1;
576 static gint ett_x411_SET_OF_ExtensionField = -1;
577 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields = -1;
578 static gint ett_x411_PerRecipientMessageTransferFields = -1;
579 static gint ett_x411_ProbeTransferEnvelope = -1;
580 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields = -1;
581 static gint ett_x411_PerRecipientProbeTransferFields = -1;
582 static gint ett_x411_ReportTransferEnvelope = -1;
583 static gint ett_x411_ReportTransferContent = -1;
584 static gint ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields = -1;
585 static gint ett_x411_PerRecipientReportTransferFields = -1;
586 static gint ett_x411_PerDomainBilateralInformation = -1;
587 static gint ett_x411_T_bilateral_domain = -1;
588 static gint ett_x411_T_private_domain = -1;
589 static gint ett_x411_PerRecipientIndicators = -1;
590 static gint ett_x411_LastTraceInformation = -1;
591 static gint ett_x411_InternalTraceInformation = -1;
592 static gint ett_x411_InternalTraceInformationElement = -1;
593 static gint ett_x411_MTASuppliedInformation = -1;
594 static gint ett_x411_T_attempted = -1;
595 static gint ett_x411_TraceInformation = -1;
596 static gint ett_x411_TraceInformationElement = -1;
597 static gint ett_x411_DomainSuppliedInformation = -1;
598 static gint ett_x411_OtherActions = -1;
599 static gint ett_x411_MTSBindArgument = -1;
600 static gint ett_x411_MTSBindResult = -1;
601 static gint ett_x411_ObjectName = -1;
602 static gint ett_x411_MessagesWaiting = -1;
603 static gint ett_x411_DeliveryQueue = -1;
604 static gint ett_x411_Credentials = -1;
605 static gint ett_x411_Password = -1;
606 static gint ett_x411_StrongCredentials = -1;
607 static gint ett_x411_ProtectedPassword = -1;
608 static gint ett_x411_Signature = -1;
609 static gint ett_x411_SecurityContext = -1;
610 static gint ett_x411_MessageSubmissionArgument = -1;
611 static gint ett_x411_MessageSubmissionResult = -1;
612 static gint ett_x411_ProbeSubmissionResult = -1;
613 static gint ett_x411_ImproperlySpecifiedRecipients = -1;
614 static gint ett_x411_Waiting = -1;
615 static gint ett_x411_SET_OF_ContentType = -1;
616 static gint ett_x411_Operations = -1;
617 static gint ett_x411_WaitingMessages = -1;
618 static gint ett_x411_MessageDeliveryArgument = -1;
619 static gint ett_x411_MessageDeliveryResult = -1;
620 static gint ett_x411_ReportDeliveryArgument = -1;
621 static gint ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields = -1;
622 static gint ett_x411_ReportDeliveryResult = -1;
623 static gint ett_x411_DeliveryControlArgument = -1;
624 static gint ett_x411_DeliveryControlResult = -1;
625 static gint ett_x411_RefusedOperation = -1;
626 static gint ett_x411_T_refused_argument = -1;
627 static gint ett_x411_Controls = -1;
628 static gint ett_x411_RegisterArgument = -1;
629 static gint ett_x411_SET_OF_DeliverableClass = -1;
630 static gint ett_x411_RegisterResult = -1;
631 static gint ett_x411_T_non_empty_result = -1;
632 static gint ett_x411_ChangeCredentialsArgument = -1;
633 static gint ett_x411_UserAddress = -1;
634 static gint ett_x411_T_x121 = -1;
635 static gint ett_x411_Redirections = -1;
636 static gint ett_x411_RecipientRedirection = -1;
637 static gint ett_x411_SET_OF_RedirectionClass = -1;
638 static gint ett_x411_MessageClass = -1;
639 static gint ett_x411_SET_OF_Priority = -1;
640 static gint ett_x411_SEQUENCE_OF_Restriction = -1;
641 static gint ett_x411_EncodedInformationTypesConstraints = -1;
642 static gint ett_x411_RestrictedDelivery = -1;
643 static gint ett_x411_Restriction = -1;
644 static gint ett_x411_T_source_type = -1;
645 static gint ett_x411_ExactOrPattern = -1;
646 static gint ett_x411_RegistrationTypes = -1;
647 static gint ett_x411_T_standard_parameters = -1;
648 static gint ett_x411_T_type_extensions = -1;
649 static gint ett_x411_MessageSubmissionEnvelope = -1;
650 static gint ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields = -1;
651 static gint ett_x411_PerRecipientMessageSubmissionFields = -1;
652 static gint ett_x411_ProbeSubmissionEnvelope = -1;
653 static gint ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields = -1;
654 static gint ett_x411_PerRecipientProbeSubmissionFields = -1;
655 static gint ett_x411_MessageDeliveryEnvelope = -1;
656 static gint ett_x411_OtherMessageDeliveryFields = -1;
657 static gint ett_x411_ReportDeliveryEnvelope = -1;
658 static gint ett_x411_PerRecipientReportDeliveryFields = -1;
659 static gint ett_x411_ReportType = -1;
660 static gint ett_x411_DeliveryReport = -1;
661 static gint ett_x411_NonDeliveryReport = -1;
662 static gint ett_x411_ContentTypes = -1;
663 static gint ett_x411_ContentType = -1;
664 static gint ett_x411_DeliveredContentType = -1;
665 static gint ett_x411_PerMessageIndicators = -1;
666 static gint ett_x411_OriginatorReportRequest = -1;
667 static gint ett_x411_DeliveryFlags = -1;
668 static gint ett_x411_OtherRecipientNames = -1;
669 static gint ett_x411_ExtensionType = -1;
670 static gint ett_x411_Criticality = -1;
671 static gint ett_x411_ExtensionField = -1;
672 static gint ett_x411_RequestedDeliveryMethod = -1;
673 static gint ett_x411_PhysicalDeliveryModes = -1;
674 static gint ett_x411_ContentCorrelator = -1;
675 static gint ett_x411_RedirectionHistory = -1;
676 static gint ett_x411_Redirection = -1;
677 static gint ett_x411_IntendedRecipientName = -1;
678 static gint ett_x411_DLExpansionHistory = -1;
679 static gint ett_x411_DLExpansion = -1;
680 static gint ett_x411_OriginatorAndDLExpansionHistory = -1;
681 static gint ett_x411_OriginatorAndDLExpansion = -1;
682 static gint ett_x411_PerRecipientReportFields = -1;
683 static gint ett_x411_T_report_type = -1;
684 static gint ett_x411_PerRecipientDeliveryReportFields = -1;
685 static gint ett_x411_PerRecipientNonDeliveryReportFields = -1;
686 static gint ett_x411_ReportingMTAName = -1;
687 static gint ett_x411_ExtendedCertificates = -1;
688 static gint ett_x411_ExtendedCertificate = -1;
689 static gint ett_x411_DLExemptedRecipients = -1;
690 static gint ett_x411_CertificateSelectors = -1;
691 static gint ett_x411_MTSIdentifier = -1;
692 static gint ett_x411_GlobalDomainIdentifier = -1;
693 static gint ett_x411_PrivateDomainIdentifier = -1;
694 static gint ett_x411_ORName = -1;
695 static gint ett_x411_ORAddress = -1;
696 static gint ett_x411_BuiltInStandardAttributes = -1;
697 static gint ett_x411_CountryName = -1;
698 static gint ett_x411_AdministrationDomainName = -1;
699 static gint ett_x411_PrivateDomainName = -1;
700 static gint ett_x411_PersonalName = -1;
701 static gint ett_x411_OrganizationalUnitNames = -1;
702 static gint ett_x411_BuiltInDomainDefinedAttributes = -1;
703 static gint ett_x411_BuiltInDomainDefinedAttribute = -1;
704 static gint ett_x411_ExtensionAttributes = -1;
705 static gint ett_x411_ExtensionAttribute = -1;
706 static gint ett_x411_TeletexPersonalName = -1;
707 static gint ett_x411_UniversalPersonalName = -1;
708 static gint ett_x411_TeletexOrganizationalUnitNames = -1;
709 static gint ett_x411_UniversalOrganizationalUnitNames = -1;
710 static gint ett_x411_UniversalOrBMPString = -1;
711 static gint ett_x411_T_character_encoding = -1;
712 static gint ett_x411_PhysicalDeliveryCountryName = -1;
713 static gint ett_x411_PostalCode = -1;
714 static gint ett_x411_UnformattedPostalAddress = -1;
715 static gint ett_x411_T_printable_address = -1;
716 static gint ett_x411_PDSParameter = -1;
717 static gint ett_x411_ExtendedNetworkAddress = -1;
718 static gint ett_x411_T_e163_4_address = -1;
719 static gint ett_x411_TeletexDomainDefinedAttributes = -1;
720 static gint ett_x411_TeletexDomainDefinedAttribute = -1;
721 static gint ett_x411_UniversalDomainDefinedAttributes = -1;
722 static gint ett_x411_UniversalDomainDefinedAttribute = -1;
723 static gint ett_x411_EncodedInformationTypes = -1;
724 static gint ett_x411_BuiltInEncodedInformationTypes = -1;
725 static gint ett_x411_ExtendedEncodedInformationTypes = -1;
726 static gint ett_x411_NonBasicParameters = -1;
727 static gint ett_x411_G3FacsimileNonBasicParameters = -1;
728 static gint ett_x411_TeletexNonBasicParameters = -1;
729 static gint ett_x411_Token = -1;
730 static gint ett_x411_AsymmetricTokenData = -1;
731 static gint ett_x411_T_name = -1;
732 static gint ett_x411_MTANameAndOptionalGDI = -1;
733 static gint ett_x411_AsymmetricToken = -1;
734 static gint ett_x411_TokenData = -1;
735 static gint ett_x411_MessageTokenSignedData = -1;
736 static gint ett_x411_MessageTokenEncryptedData = -1;
737 static gint ett_x411_SecurityLabel = -1;
738 static gint ett_x411_SecurityCategories = -1;
739 static gint ett_x411_SecurityCategory = -1;
741 /*--- End of included file: packet-x411-ett.c ---*/
742 #line 81 "packet-x411-template.c"
745 /*--- Included file: packet-x411-fn.c ---*/
746 #line 1 "packet-x411-fn.c"
747 /*--- Fields for imported types ---*/
749 static int dissect_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
750 return dissect_x509af_Certificates(TRUE, tvb, offset, pinfo, tree, hf_x411_certificate);
752 static int dissect_certificate_selector_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
753 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_certificate_selector);
755 static int dissect_algorithmIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
756 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_algorithmIdentifier);
758 static int dissect_mta_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
759 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_directory_name);
761 static int dissect_directory_entry_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
762 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_entry);
764 static int dissect_encryption_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
765 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_recipient);
767 static int dissect_encryption_originator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
768 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_originator);
770 static int dissect_selectors_content_integrity_check_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
771 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_selectors_content_integrity_check);
773 static int dissect_token_signature_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
774 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_token_signature);
776 static int dissect_message_origin_authentication_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
777 return dissect_x509ce_CertificateAssertion(TRUE, tvb, offset, pinfo, tree, hf_x411_message_origin_authentication);
779 static int dissect_directory_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
780 return dissect_x509if_Name(TRUE, tvb, offset, pinfo, tree, hf_x411_directory_name);
782 static int dissect_psap_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
783 return dissect_x509sat_PresentationAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_psap_address);
785 static int dissect_signature_algorithm_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
786 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_signature_algorithm_identifier);
788 static int dissect_encryption_algorithm_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
789 return dissect_x509af_AlgorithmIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_encryption_algorithm_identifier);
791 static int dissect_algorithm_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
792 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_algorithm_identifier);
798 dissect_x411_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
799 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
803 static int dissect_unauthenticated(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
804 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_unauthenticated);
806 static int dissect_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
807 return dissect_x411_NULL(FALSE, tvb, offset, pinfo, tree, hf_x411_empty_result);
813 dissect_x411_MTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
815 tvbuff_t *mtaname = NULL;
817 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
818 pinfo, tree, tvb, offset, hf_index,
824 proto_item_append_text(address_item, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
828 if (check_col(pinfo->cinfo, COL_INFO) && mtaname) {
829 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
838 static int dissect_authenticated_initiator_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
839 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_initiator_name);
841 static int dissect_authenticated_responder_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
842 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_responder_name);
844 static int dissect_mta_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
845 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_name);
847 static int dissect_mta(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
848 return dissect_x411_MTAName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta);
850 static int dissect_mTA_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
851 return dissect_x411_MTAName(TRUE, tvb, offset, pinfo, tree, hf_x411_mTA);
857 dissect_x411_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
858 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
859 pinfo, tree, tvb, offset, hf_index,
864 static int dissect_ia5_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
865 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5_string);
867 static int dissect_ia5text(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
868 return dissect_x411_IA5String(FALSE, tvb, offset, pinfo, tree, hf_x411_ia5text);
874 dissect_x411_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
875 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
880 static int dissect_octet_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
881 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octet_string);
883 static int dissect_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
884 return dissect_x411_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_octets);
886 static int dissect_page_formats_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
887 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_page_formats);
889 static int dissect_private_use_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
890 return dissect_x411_OCTET_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_private_use);
894 static const value_string x411_Password_vals[] = {
896 { 1, "octet-string" },
900 static const ber_choice_t Password_choice[] = {
901 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5_string },
902 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octet_string },
907 dissect_x411_Password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
908 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
909 Password_choice, hf_index, ett_x411_Password,
914 static int dissect_simple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
915 return dissect_x411_Password(FALSE, tvb, offset, pinfo, tree, hf_x411_simple);
921 dissect_x411_TokenTypeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
922 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
926 static int dissect_token_type_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
927 return dissect_x411_TokenTypeIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_token_type_identifier);
933 dissect_x411_TokenTypeData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
936 if(object_identifier_id)
937 call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
943 static int dissect_token_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
944 return dissect_x411_TokenTypeData(TRUE, tvb, offset, pinfo, tree, hf_x411_token);
948 static const ber_sequence_t Token_sequence[] = {
949 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_token_type_identifier_impl },
950 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_token_impl },
955 dissect_x411_Token(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
956 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
957 Token_sequence, hf_index, ett_x411_Token);
961 static int dissect_bind_token_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
962 return dissect_x411_Token(TRUE, tvb, offset, pinfo, tree, hf_x411_bind_token);
966 static const ber_sequence_t StrongCredentials_set[] = {
967 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bind_token_impl },
968 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_certificate_impl },
969 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_certificate_selector_impl },
974 dissect_x411_StrongCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
975 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
976 StrongCredentials_set, hf_index, ett_x411_StrongCredentials);
980 static int dissect_strong_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
981 return dissect_x411_StrongCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_strong);
987 dissect_x411_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
988 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
994 static int dissect_random1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
995 return dissect_x411_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_random1);
997 static int dissect_random2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
998 return dissect_x411_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_random2);
1000 static int dissect_encrypted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1001 return dissect_x411_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_x411_encrypted);
1003 static int dissect_encrypted_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1004 return dissect_x411_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_x411_encrypted_data);
1008 static const ber_sequence_t Signature_sequence[] = {
1009 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
1010 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
1015 dissect_x411_Signature(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1016 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1017 Signature_sequence, hf_index, ett_x411_Signature);
1021 static int dissect_signature(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1022 return dissect_x411_Signature(FALSE, tvb, offset, pinfo, tree, hf_x411_signature);
1028 dissect_x411_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1029 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
1030 pinfo, tree, tvb, offset, hf_index,
1035 static int dissect_time1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1036 return dissect_x411_UTCTime(TRUE, tvb, offset, pinfo, tree, hf_x411_time1);
1038 static int dissect_time2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1039 return dissect_x411_UTCTime(TRUE, tvb, offset, pinfo, tree, hf_x411_time2);
1043 static const ber_sequence_t ProtectedPassword_set[] = {
1044 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature },
1045 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time1_impl },
1046 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_time2_impl },
1047 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random1_impl },
1048 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_random2_impl },
1053 dissect_x411_ProtectedPassword(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1054 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1055 ProtectedPassword_set, hf_index, ett_x411_ProtectedPassword);
1059 static int dissect_protected_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1060 return dissect_x411_ProtectedPassword(TRUE, tvb, offset, pinfo, tree, hf_x411_protected);
1064 static const value_string x411_Credentials_vals[] = {
1071 static const ber_choice_t Credentials_choice[] = {
1072 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_simple },
1073 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_strong_impl },
1074 { 2, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_protected_impl },
1075 { 0, 0, 0, 0, NULL }
1079 dissect_x411_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1080 #line 671 "x411.cnf"
1081 guint32 credentials;
1083 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1084 Credentials_choice, hf_index, ett_x411_Credentials,
1088 if (check_col(pinfo->cinfo, COL_INFO)) {
1089 if(credentials == -1) credentials = 0;
1090 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(credentials, x411_Credentials_vals, "Credentials(%d)"));
1097 static int dissect_old_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1098 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_old_credentials);
1100 static int dissect_new_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1101 return dissect_x411_Credentials(TRUE, tvb, offset, pinfo, tree, hf_x411_new_credentials);
1107 dissect_x411_InitiatorCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1108 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1112 static int dissect_initiator_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1113 return dissect_x411_InitiatorCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_initiator_credentials);
1119 dissect_x411_SecurityPolicyIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1120 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1124 static int dissect_security_policy_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1125 return dissect_x411_SecurityPolicyIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_security_policy_identifier);
1129 static const value_string x411_SecurityClassification_vals[] = {
1131 { 1, "unclassified" },
1132 { 2, "restricted" },
1133 { 3, "confidential" },
1135 { 5, "top-secret" },
1141 dissect_x411_SecurityClassification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1142 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1147 static int dissect_security_classification(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1148 return dissect_x411_SecurityClassification(FALSE, tvb, offset, pinfo, tree, hf_x411_security_classification);
1154 dissect_x411_PrivacyMark(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1155 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1156 pinfo, tree, tvb, offset, hf_index,
1161 static int dissect_privacy_mark(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1162 return dissect_x411_PrivacyMark(FALSE, tvb, offset, pinfo, tree, hf_x411_privacy_mark);
1168 dissect_x411_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1169 #line 327 "x411.cnf"
1171 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
1179 static int dissect_private_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1180 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_private_extension);
1182 static int dissect_category_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1183 return dissect_x411_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_x411_category_type);
1189 dissect_x411_CategoryValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1190 #line 248 "x411.cnf"
1192 offset = dissect_unknown_ber(pinfo, tvb, offset, tree);
1198 static int dissect_category_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1199 return dissect_x411_CategoryValue(TRUE, tvb, offset, pinfo, tree, hf_x411_category_value);
1203 static const ber_sequence_t SecurityCategory_sequence[] = {
1204 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_category_type_impl },
1205 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_category_value_impl },
1210 dissect_x411_SecurityCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1211 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1212 SecurityCategory_sequence, hf_index, ett_x411_SecurityCategory);
1216 static int dissect_SecurityCategories_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1217 return dissect_x411_SecurityCategory(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityCategories_item);
1221 static const ber_sequence_t SecurityCategories_set_of[1] = {
1222 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SecurityCategories_item },
1226 dissect_x411_SecurityCategories(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1227 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1228 SecurityCategories_set_of, hf_index, ett_x411_SecurityCategories);
1232 static int dissect_security_categories(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1233 return dissect_x411_SecurityCategories(FALSE, tvb, offset, pinfo, tree, hf_x411_security_categories);
1237 static const ber_sequence_t SecurityLabel_set[] = {
1238 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_policy_identifier },
1239 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_classification },
1240 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_privacy_mark },
1241 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_security_categories },
1246 dissect_x411_SecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1247 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1248 SecurityLabel_set, hf_index, ett_x411_SecurityLabel);
1252 static int dissect_SecurityContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1253 return dissect_x411_SecurityLabel(FALSE, tvb, offset, pinfo, tree, hf_x411_SecurityContext_item);
1257 static const ber_sequence_t SecurityContext_set_of[1] = {
1258 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_SecurityContext_item },
1262 dissect_x411_SecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1263 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1264 SecurityContext_set_of, hf_index, ett_x411_SecurityContext);
1268 static int dissect_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1269 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_context);
1271 static int dissect_permissible_security_context_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1272 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_security_context);
1274 static int dissect_security_labels_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1275 return dissect_x411_SecurityContext(TRUE, tvb, offset, pinfo, tree, hf_x411_security_labels);
1279 static const ber_sequence_t AuthenticatedArgument_set[] = {
1280 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_initiator_name_impl },
1281 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
1282 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
1287 dissect_x411_AuthenticatedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1288 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1289 AuthenticatedArgument_set, hf_index, ett_x411_AuthenticatedArgument);
1293 static int dissect_authenticated_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1294 return dissect_x411_AuthenticatedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_argument);
1298 static const value_string x411_MTABindArgument_vals[] = {
1299 { 0, "unauthenticated" },
1300 { 1, "authenticated" },
1304 static const ber_choice_t MTABindArgument_choice[] = {
1305 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1306 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_authenticated_argument_impl },
1307 { 0, 0, 0, 0, NULL }
1311 dissect_x411_MTABindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1312 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1313 MTABindArgument_choice, hf_index, ett_x411_MTABindArgument,
1322 dissect_x411_ResponderCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1323 offset = dissect_x411_Credentials(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1327 static int dissect_responder_credentials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1328 return dissect_x411_ResponderCredentials(TRUE, tvb, offset, pinfo, tree, hf_x411_responder_credentials);
1332 static const ber_sequence_t AuthenticatedResult_set[] = {
1333 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_authenticated_responder_name_impl },
1334 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
1339 dissect_x411_AuthenticatedResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1340 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1341 AuthenticatedResult_set, hf_index, ett_x411_AuthenticatedResult);
1345 static int dissect_authenticated_result_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1346 return dissect_x411_AuthenticatedResult(TRUE, tvb, offset, pinfo, tree, hf_x411_authenticated_result);
1350 static const value_string x411_MTABindResult_vals[] = {
1351 { 0, "unauthenticated" },
1352 { 1, "authenticated" },
1356 static const ber_choice_t MTABindResult_choice[] = {
1357 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_unauthenticated },
1358 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_authenticated_result_impl },
1359 { 0, 0, 0, 0, NULL }
1363 dissect_x411_MTABindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1364 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1365 MTABindResult_choice, hf_index, ett_x411_MTABindResult,
1372 static const value_string x411_MTABindError_vals[] = {
1374 { 2, "authentication-error" },
1375 { 3, "unacceptable-dialogue-mode" },
1376 { 4, "unacceptable-security-context" },
1377 { 5, "inadequate-association-confidentiality" },
1383 dissect_x411_MTABindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1384 #line 654 "x411.cnf"
1386 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1389 if((error != -1) && check_col(pinfo->cinfo, COL_INFO))
1390 col_append_fstr(pinfo->cinfo, COL_INFO, " (%s)", val_to_str(error, x411_MTABindError_vals, "error(%d)"));
1400 dissect_x411_NumericString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1401 #line 482 "x411.cnf"
1402 tvbuff_t *nstring = NULL;
1404 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1405 pinfo, tree, tvb, offset, hf_index,
1409 if(doing_address && nstring)
1410 g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
1416 static int dissect_x121_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1417 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_address);
1419 static int dissect_numeric(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1420 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric);
1422 static int dissect_x121_dcc_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1423 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_x121_dcc_code);
1425 static int dissect_numeric_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1426 return dissect_x411_NumericString(FALSE, tvb, offset, pinfo, tree, hf_x411_numeric_code);
1428 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1429 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_number);
1431 static int dissect_sub_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1432 return dissect_x411_NumericString(TRUE, tvb, offset, pinfo, tree, hf_x411_sub_address);
1438 dissect_x411_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1439 #line 504 "x411.cnf"
1440 tvbuff_t *pstring = NULL;
1443 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1444 pinfo, tree, tvb, offset, hf_index,
1448 if(doing_address && pstring) {
1449 if(hf_index == hf_x411_printable_surname) fmt = "/S=";
1450 else if(hf_index == hf_x411_printable_given_name) fmt = "/G=";
1451 else if(hf_index == hf_x411_printable_initials) fmt = "/I=";
1452 else if(hf_index == hf_x411_printable_generation_qualifier) fmt = "/GQ=";
1453 else if(hf_index == hf_x411_printable_type) fmt = "/DD.";
1454 else if(hf_index == hf_x411_printable_value) fmt = "=";
1457 g_strlcat(oraddress, fmt, MAX_ORA_STR_LEN);
1459 g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
1467 static int dissect_tsap_id(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1468 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_tsap_id);
1470 static int dissect_printable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1471 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable);
1473 static int dissect_iso_3166_alpha2_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1474 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_3166_alpha2_code);
1476 static int dissect_printable_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1477 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_surname);
1479 static int dissect_printable_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1480 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_given_name);
1482 static int dissect_printable_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1483 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_initials);
1485 static int dissect_printable_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1486 return dissect_x411_PrintableString(TRUE, tvb, offset, pinfo, tree, hf_x411_printable_generation_qualifier);
1488 static int dissect_printable_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1489 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_type);
1491 static int dissect_printable_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1492 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_value);
1494 static int dissect_iso_639_language_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1495 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_iso_639_language_code);
1497 static int dissect_printable_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1498 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_code);
1500 static int dissect_printable_address_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1501 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address_item);
1503 static int dissect_printable_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1504 return dissect_x411_PrintableString(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_string);
1508 static const value_string x411_CountryName_vals[] = {
1509 { 0, "x121-dcc-code" },
1510 { 1, "iso-3166-alpha2-code" },
1514 static const ber_choice_t CountryName_choice[] = {
1515 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
1516 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
1517 { 0, 0, 0, 0, NULL }
1521 dissect_x411_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1522 #line 259 "x411.cnf"
1524 gboolean pc, ind_field;
1529 /* XXX asn2wrs can not yet handle tagged assignment yes so this
1530 * XXX is some conformance file magic to work around that bug
1532 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1533 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1537 g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
1539 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1540 CountryName_choice, hf_index, ett_x411_CountryName, NULL);
1548 static int dissect_country_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1549 return dissect_x411_CountryName(FALSE, tvb, offset, pinfo, tree, hf_x411_country_name);
1553 static const value_string x411_AdministrationDomainName_vals[] = {
1559 static const ber_choice_t AdministrationDomainName_choice[] = {
1560 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1561 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1562 { 0, 0, 0, 0, NULL }
1566 dissect_x411_AdministrationDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1567 #line 281 "x411.cnf"
1569 gboolean pc, ind_field;
1574 /* XXX asn2wrs can not yet handle tagged assignment yes so this
1575 * XXX is some conformance file magic to work around that bug
1577 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
1578 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
1582 g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
1584 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1585 AdministrationDomainName_choice, hf_index, ett_x411_AdministrationDomainName, NULL);
1591 static int dissect_administration_domain_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1592 return dissect_x411_AdministrationDomainName(FALSE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1594 static int dissect_administration_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1595 return dissect_x411_AdministrationDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_administration_domain_name);
1599 static const value_string x411_PrivateDomainIdentifier_vals[] = {
1605 static const ber_choice_t PrivateDomainIdentifier_choice[] = {
1606 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1607 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1608 { 0, 0, 0, 0, NULL }
1612 dissect_x411_PrivateDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1613 #line 444 "x411.cnf"
1616 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1618 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1619 PrivateDomainIdentifier_choice, hf_index, ett_x411_PrivateDomainIdentifier,
1627 static int dissect_private_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1628 return dissect_x411_PrivateDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1630 static int dissect_private_domain_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1631 return dissect_x411_PrivateDomainIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_identifier);
1635 static const ber_sequence_t GlobalDomainIdentifier_sequence[] = {
1636 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
1637 { BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1638 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier },
1643 dissect_x411_GlobalDomainIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1644 #line 551 "x411.cnf"
1646 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
1647 address_item = tree;
1649 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1650 GlobalDomainIdentifier_sequence, hf_index, ett_x411_GlobalDomainIdentifier);
1654 proto_item_append_text(address_item, " (%s/", oraddress);
1661 static int dissect_global_domain_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1662 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_global_domain_identifier);
1664 static int dissect_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1665 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_domain);
1667 static int dissect_attempted_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1668 return dissect_x411_GlobalDomainIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted_domain);
1674 dissect_x411_LocalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1675 #line 565 "x411.cnf"
1676 tvbuff_t *id = NULL;
1678 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1679 pinfo, tree, tvb, offset, hf_index,
1683 if(doing_address && id)
1684 proto_item_append_text(address_item, " $ %s)", tvb_format_text(id, 0, tvb_length(id)));
1690 static int dissect_local_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1691 return dissect_x411_LocalIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_local_identifier);
1695 static const ber_sequence_t MTSIdentifier_sequence[] = {
1696 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
1697 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_local_identifier },
1702 dissect_x411_MTSIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1703 #line 573 "x411.cnf"
1705 doing_address = TRUE;
1707 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1708 MTSIdentifier_sequence, hf_index, ett_x411_MTSIdentifier);
1711 doing_address = FALSE;
1721 dissect_x411_MessageIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1722 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1726 static int dissect_message_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1727 return dissect_x411_MessageIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_identifier);
1733 dissect_x411_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1734 #line 413 "x411.cnf"
1735 tvbuff_t *string = NULL;
1737 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1738 pinfo, tree, tvb, offset, hf_index,
1742 if(doing_address && string) {
1743 g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN);
1744 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1756 dissect_x411_NetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1757 offset = dissect_x411_X121Address(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1761 static int dissect_network_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1762 return dissect_x411_NetworkAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_network_address);
1768 dissect_x411_TerminalIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1769 #line 427 "x411.cnf"
1770 tvbuff_t *string = NULL;
1772 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1773 pinfo, tree, tvb, offset, hf_index,
1777 if(doing_address && string) {
1778 g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN);
1779 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1786 static int dissect_terminal_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1787 return dissect_x411_TerminalIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_terminal_identifier);
1791 static const value_string x411_PrivateDomainName_vals[] = {
1797 static const ber_choice_t PrivateDomainName_choice[] = {
1798 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric },
1799 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable },
1800 { 0, 0, 0, 0, NULL }
1804 dissect_x411_PrivateDomainName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1805 #line 437 "x411.cnf"
1808 g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
1810 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1811 PrivateDomainName_choice, hf_index, ett_x411_PrivateDomainName,
1819 static int dissect_private_domain_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1820 return dissect_x411_PrivateDomainName(TRUE, tvb, offset, pinfo, tree, hf_x411_private_domain_name);
1826 dissect_x411_OrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1827 #line 454 "x411.cnf"
1828 tvbuff_t *string = NULL;
1830 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1831 pinfo, tree, tvb, offset, hf_index,
1835 if(doing_address && string) {
1836 g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN);
1837 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
1844 static int dissect_organization_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1845 return dissect_x411_OrganizationName(TRUE, tvb, offset, pinfo, tree, hf_x411_organization_name);
1851 dissect_x411_NumericUserIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1852 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1853 pinfo, tree, tvb, offset, hf_index,
1858 static int dissect_numeric_user_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1859 return dissect_x411_NumericUserIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_numeric_user_identifier);
1863 static const ber_sequence_t PersonalName_set[] = {
1864 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_printable_surname_impl },
1865 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_given_name_impl },
1866 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_initials_impl },
1867 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_printable_generation_qualifier_impl },
1872 dissect_x411_PersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1873 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1874 PersonalName_set, hf_index, ett_x411_PersonalName);
1878 static int dissect_personal_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1879 return dissect_x411_PersonalName(TRUE, tvb, offset, pinfo, tree, hf_x411_personal_name);
1885 dissect_x411_OrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1886 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1887 pinfo, tree, tvb, offset, hf_index,
1892 static int dissect_OrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1893 return dissect_x411_OrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_OrganizationalUnitNames_item);
1897 static const ber_sequence_t OrganizationalUnitNames_sequence_of[1] = {
1898 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_OrganizationalUnitNames_item },
1902 dissect_x411_OrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1903 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1904 OrganizationalUnitNames_sequence_of, hf_index, ett_x411_OrganizationalUnitNames);
1908 static int dissect_organizational_unit_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1909 return dissect_x411_OrganizationalUnitNames(TRUE, tvb, offset, pinfo, tree, hf_x411_organizational_unit_names);
1913 static const ber_sequence_t BuiltInStandardAttributes_sequence[] = {
1914 { BER_CLASS_APP, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_country_name },
1915 { BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
1916 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_network_address_impl },
1917 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_terminal_identifier_impl },
1918 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_name_impl },
1919 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organization_name_impl },
1920 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numeric_user_identifier_impl },
1921 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_personal_name_impl },
1922 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_organizational_unit_names_impl },
1927 dissect_x411_BuiltInStandardAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1928 #line 590 "x411.cnf"
1930 address_item = tree;
1932 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1933 BuiltInStandardAttributes_sequence, hf_index, ett_x411_BuiltInStandardAttributes);
1940 static int dissect_built_in_standard_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1941 return dissect_x411_BuiltInStandardAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_standard_attributes);
1945 static const ber_sequence_t BuiltInDomainDefinedAttribute_sequence[] = {
1946 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_type },
1947 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_value },
1952 dissect_x411_BuiltInDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1953 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1954 BuiltInDomainDefinedAttribute_sequence, hf_index, ett_x411_BuiltInDomainDefinedAttribute);
1958 static int dissect_BuiltInDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1959 return dissect_x411_BuiltInDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_BuiltInDomainDefinedAttributes_item);
1963 static const ber_sequence_t BuiltInDomainDefinedAttributes_sequence_of[1] = {
1964 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BuiltInDomainDefinedAttributes_item },
1968 dissect_x411_BuiltInDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1969 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1970 BuiltInDomainDefinedAttributes_sequence_of, hf_index, ett_x411_BuiltInDomainDefinedAttributes);
1974 static int dissect_built_in_domain_defined_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1975 return dissect_x411_BuiltInDomainDefinedAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in_domain_defined_attributes);
1981 dissect_x411_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1982 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1987 static int dissect_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1988 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_messages);
1990 static int dissect_delivery_queue_octets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1991 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_queue_octets);
1993 static int dissect_standard_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1994 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_extension);
1996 static int dissect_extension_attribute_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1997 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_type);
1999 static int dissect_token_data_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2000 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_token_data_type);
2002 static int dissect_message_sequence_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2003 return dissect_x411_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_x411_message_sequence_number);
2009 dissect_x411_T_extension_attribute_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2010 #line 252 "x411.cnf"
2012 offset=call_x411_oid_callback("x411.extension-attribute", tvb, offset, pinfo, tree);
2018 static int dissect_extension_attribute_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2019 return dissect_x411_T_extension_attribute_value(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_attribute_value);
2023 static const ber_sequence_t ExtensionAttribute_sequence[] = {
2024 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_attribute_type_impl },
2025 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_extension_attribute_value_impl },
2030 dissect_x411_ExtensionAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2031 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2032 ExtensionAttribute_sequence, hf_index, ett_x411_ExtensionAttribute);
2036 static int dissect_ExtensionAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2037 return dissect_x411_ExtensionAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtensionAttributes_item);
2041 static const ber_sequence_t ExtensionAttributes_set_of[1] = {
2042 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExtensionAttributes_item },
2046 dissect_x411_ExtensionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2047 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2048 ExtensionAttributes_set_of, hf_index, ett_x411_ExtensionAttributes);
2052 static int dissect_extension_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2053 return dissect_x411_ExtensionAttributes(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_attributes);
2057 static const ber_sequence_t ORName_sequence[] = {
2058 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
2059 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
2060 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
2061 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_directory_name_impl },
2066 dissect_x411_ORName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2067 #line 538 "x411.cnf"
2069 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
2070 address_item = NULL;
2071 doing_address = TRUE;
2073 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2074 ORName_sequence, hf_index, ett_x411_ORName);
2077 if(*oraddress && address_item)
2078 proto_item_append_text(address_item, " (%s/)", oraddress);
2080 doing_address = FALSE;
2086 static int dissect_exact_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2087 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_exact_match);
2089 static int dissect_pattern_match_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2090 return dissect_x411_ORName(TRUE, tvb, offset, pinfo, tree, hf_x411_pattern_match);
2096 dissect_x411_ORAddressAndOptionalDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2097 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2101 static int dissect_user_agent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2102 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_agent);
2104 static int dissect_message_store_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2105 return dissect_x411_ORAddressAndOptionalDirectoryName(TRUE, tvb, offset, pinfo, tree, hf_x411_message_store);
2107 static int dissect_intended_recipient(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2108 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient);
2110 static int dissect_dl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2111 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_dl);
2113 static int dissect_originator_or_dl_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2114 return dissect_x411_ORAddressAndOptionalDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_or_dl_name);
2120 dissect_x411_MTAOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2121 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2125 static int dissect_mta_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2126 return dissect_x411_MTAOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_originator_name);
2130 static const asn_namedbit BuiltInEncodedInformationTypes_bits[] = {
2131 { 0, &hf_x411_BuiltInEncodedInformationTypes_unknown, -1, -1, "unknown", NULL },
2132 { 2, &hf_x411_BuiltInEncodedInformationTypes_ia5_text, -1, -1, "ia5-text", NULL },
2133 { 3, &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile, -1, -1, "g3-facsimile", NULL },
2134 { 4, &hf_x411_BuiltInEncodedInformationTypes_g4_class_1, -1, -1, "g4-class-1", NULL },
2135 { 5, &hf_x411_BuiltInEncodedInformationTypes_teletex, -1, -1, "teletex", NULL },
2136 { 6, &hf_x411_BuiltInEncodedInformationTypes_videotex, -1, -1, "videotex", NULL },
2137 { 7, &hf_x411_BuiltInEncodedInformationTypes_voice, -1, -1, "voice", NULL },
2138 { 8, &hf_x411_BuiltInEncodedInformationTypes_sfd, -1, -1, "sfd", NULL },
2139 { 9, &hf_x411_BuiltInEncodedInformationTypes_mixed_mode, -1, -1, "mixed-mode", NULL },
2140 { 0, NULL, 0, 0, NULL, NULL }
2144 dissect_x411_BuiltInEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2145 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2146 BuiltInEncodedInformationTypes_bits, hf_index, ett_x411_BuiltInEncodedInformationTypes,
2151 static int dissect_built_in_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2152 return dissect_x411_BuiltInEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_encoded_information_types);
2156 static const asn_namedbit G3FacsimileNonBasicParameters_bits[] = {
2157 { 8, &hf_x411_G3FacsimileNonBasicParameters_two_dimensional, -1, -1, "two-dimensional", NULL },
2158 { 9, &hf_x411_G3FacsimileNonBasicParameters_fine_resolution, -1, -1, "fine-resolution", NULL },
2159 { 20, &hf_x411_G3FacsimileNonBasicParameters_unlimited_length, -1, -1, "unlimited-length", NULL },
2160 { 21, &hf_x411_G3FacsimileNonBasicParameters_b4_length, -1, -1, "b4-length", NULL },
2161 { 22, &hf_x411_G3FacsimileNonBasicParameters_a3_width, -1, -1, "a3-width", NULL },
2162 { 23, &hf_x411_G3FacsimileNonBasicParameters_b4_width, -1, -1, "b4-width", NULL },
2163 { 25, &hf_x411_G3FacsimileNonBasicParameters_t6_coding, -1, -1, "t6-coding", NULL },
2164 { 30, &hf_x411_G3FacsimileNonBasicParameters_uncompressed, -1, -1, "uncompressed", NULL },
2165 { 37, &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728, -1, -1, "width-middle-864-of-1728", NULL },
2166 { 38, &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728, -1, -1, "width-middle-1216-of-1728", NULL },
2167 { 44, &hf_x411_G3FacsimileNonBasicParameters_resolution_type, -1, -1, "resolution-type", NULL },
2168 { 45, &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400, -1, -1, "resolution-400x400", NULL },
2169 { 46, &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300, -1, -1, "resolution-300x300", NULL },
2170 { 47, &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15, -1, -1, "resolution-8x15", NULL },
2171 { 49, &hf_x411_G3FacsimileNonBasicParameters_edi, -1, -1, "edi", NULL },
2172 { 50, &hf_x411_G3FacsimileNonBasicParameters_dtm, -1, -1, "dtm", NULL },
2173 { 51, &hf_x411_G3FacsimileNonBasicParameters_bft, -1, -1, "bft", NULL },
2174 { 58, &hf_x411_G3FacsimileNonBasicParameters_mixed_mode, -1, -1, "mixed-mode", NULL },
2175 { 60, &hf_x411_G3FacsimileNonBasicParameters_character_mode, -1, -1, "character-mode", NULL },
2176 { 65, &hf_x411_G3FacsimileNonBasicParameters_twelve_bits, -1, -1, "twelve-bits", NULL },
2177 { 66, &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann, -1, -1, "preferred-huffmann", NULL },
2178 { 67, &hf_x411_G3FacsimileNonBasicParameters_full_colour, -1, -1, "full-colour", NULL },
2179 { 68, &hf_x411_G3FacsimileNonBasicParameters_jpeg, -1, -1, "jpeg", NULL },
2180 { 71, &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26, -1, -1, "processable-mode-26", NULL },
2181 { 0, NULL, 0, 0, NULL, NULL }
2185 dissect_x411_G3FacsimileNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2186 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2187 G3FacsimileNonBasicParameters_bits, hf_index, ett_x411_G3FacsimileNonBasicParameters,
2192 static int dissect_g3_facsimile_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2193 return dissect_x411_G3FacsimileNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_g3_facsimile);
2199 dissect_x411_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2200 #line 492 "x411.cnf"
2201 tvbuff_t *tstring = NULL;
2203 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
2204 pinfo, tree, tvb, offset, hf_index,
2208 if(doing_address && tstring)
2209 g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
2216 static int dissect_teletex_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2217 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_surname);
2219 static int dissect_teletex_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2220 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_given_name);
2222 static int dissect_teletex_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2223 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_initials);
2225 static int dissect_teletex_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2226 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex_generation_qualifier);
2228 static int dissect_teletex_string(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2229 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_string);
2231 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2232 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_type);
2234 static int dissect_teletex_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2235 return dissect_x411_TeletexString(FALSE, tvb, offset, pinfo, tree, hf_x411_teletex_value);
2237 static int dissect_graphic_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2238 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_graphic_character_sets);
2240 static int dissect_control_character_sets_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2241 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_control_character_sets);
2243 static int dissect_miscellaneous_terminal_capabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2244 return dissect_x411_TeletexString(TRUE, tvb, offset, pinfo, tree, hf_x411_miscellaneous_terminal_capabilities);
2248 static const ber_sequence_t TeletexNonBasicParameters_set[] = {
2249 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_graphic_character_sets_impl },
2250 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_control_character_sets_impl },
2251 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_page_formats_impl },
2252 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscellaneous_terminal_capabilities_impl },
2253 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_private_use_impl },
2258 dissect_x411_TeletexNonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2259 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2260 TeletexNonBasicParameters_set, hf_index, ett_x411_TeletexNonBasicParameters);
2264 static int dissect_teletex_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2265 return dissect_x411_TeletexNonBasicParameters(TRUE, tvb, offset, pinfo, tree, hf_x411_teletex);
2271 dissect_x411_ExtendedEncodedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2272 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
2276 static int dissect_ExtendedEncodedInformationTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2277 return dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedEncodedInformationTypes_item);
2281 static const ber_sequence_t ExtendedEncodedInformationTypes_set_of[1] = {
2282 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ExtendedEncodedInformationTypes_item },
2286 dissect_x411_ExtendedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2287 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2288 ExtendedEncodedInformationTypes_set_of, hf_index, ett_x411_ExtendedEncodedInformationTypes);
2292 static int dissect_unacceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2293 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_unacceptable_eits);
2295 static int dissect_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2296 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_acceptable_eits);
2298 static int dissect_exclusively_acceptable_eits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2299 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_exclusively_acceptable_eits);
2301 static int dissect_extended_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2302 return dissect_x411_ExtendedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_extended_encoded_information_types);
2306 static const ber_sequence_t EncodedInformationTypes_set[] = {
2307 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_encoded_information_types_impl },
2308 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
2309 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
2310 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extended_encoded_information_types_impl },
2315 dissect_x411_EncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2316 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2317 EncodedInformationTypes_set, hf_index, ett_x411_EncodedInformationTypes);
2321 static int dissect_waiting_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2322 return dissect_x411_EncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_encoded_information_types);
2328 dissect_x411_OriginalEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2329 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2333 static int dissect_original_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2334 return dissect_x411_OriginalEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
2336 static int dissect_original_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2337 return dissect_x411_OriginalEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_original_encoded_information_types);
2341 static const value_string x411_BuiltInContentType_vals[] = {
2342 { 0, "unidentified" },
2344 { 2, "interpersonal-messaging-1984" },
2345 { 22, "interpersonal-messaging-1988" },
2346 { 35, "edi-messaging" },
2347 { 40, "voice-messaging" },
2353 dissect_x411_BuiltInContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2354 #line 351 "x411.cnf"
2357 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2361 /* convert integer content type to oid for dispatch when the content is found */
2364 content_type_id = ep_strdup("2.6.1.10.0");
2367 content_type_id = ep_strdup("2.6.1.10.1");
2370 content_type_id = NULL;
2378 static int dissect_built_in(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2379 return dissect_x411_BuiltInContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_built_in);
2381 static int dissect_built_in_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2382 return dissect_x411_BuiltInContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in);
2388 dissect_x411_ExtendedContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2389 #line 335 "x411.cnf"
2390 const char *name = NULL;
2392 offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &content_type_id);
2395 if(content_type_id) {
2396 name = get_oid_str_name(content_type_id);
2398 if(!name) name = content_type_id;
2400 proto_item_append_text(tree, " (%s)", name);
2407 static int dissect_extended(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2408 return dissect_x411_ExtendedContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_extended);
2412 static const value_string x411_ContentType_vals[] = {
2418 static const ber_choice_t ContentType_choice[] = {
2419 { 0, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_built_in },
2420 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
2421 { 0, 0, 0, 0, NULL }
2425 dissect_x411_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2426 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2427 ContentType_choice, hf_index, ett_x411_ContentType,
2432 static int dissect_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2433 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_content_type);
2435 static int dissect_waiting_content_types_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2436 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types_item);
2438 static int dissect_ContentTypes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2439 return dissect_x411_ContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_ContentTypes_item);
2445 dissect_x411_ContentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2446 #line 301 "x411.cnf"
2448 gboolean pc, ind_field;
2453 /* XXX asn2wrs can not yet handle tagged assignment yes so this
2454 * XXX is some conformance file magic to work around that bug
2456 offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
2457 offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
2460 /* this is magic I haven't seen used before - I've stripped the tag - but now I'm going to say it is IMPLICIT! */
2461 offset = dissect_ber_restricted_string(TRUE, BER_UNI_TAG_PrintableString,
2462 pinfo, tree, tvb, offset, hf_index,
2470 static int dissect_content_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2471 return dissect_x411_ContentIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2473 static int dissect_content_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2474 return dissect_x411_ContentIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_content_identifier);
2478 static const value_string x411_Priority_vals[] = {
2480 { 1, "non-urgent" },
2487 dissect_x411_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2488 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2493 static int dissect_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2494 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_priority);
2496 static int dissect_permissible_lowest_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2497 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_lowest_priority);
2499 static int dissect_class_priority_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2500 return dissect_x411_Priority(FALSE, tvb, offset, pinfo, tree, hf_x411_class_priority_item);
2504 static const asn_namedbit PerMessageIndicators_bits[] = {
2505 { 0, &hf_x411_PerMessageIndicators_disclosure_of_other_recipients, -1, -1, "disclosure-of-other-recipients", NULL },
2506 { 1, &hf_x411_PerMessageIndicators_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
2507 { 2, &hf_x411_PerMessageIndicators_alternate_recipient_allowed, -1, -1, "alternate-recipient-allowed", NULL },
2508 { 3, &hf_x411_PerMessageIndicators_content_return_request, -1, -1, "content-return-request", NULL },
2509 { 4, &hf_x411_PerMessageIndicators_reserved, -1, -1, "reserved", NULL },
2510 { 5, &hf_x411_PerMessageIndicators_bit_5, -1, -1, "bit-5", NULL },
2511 { 6, &hf_x411_PerMessageIndicators_bit_6, -1, -1, "bit-6", NULL },
2512 { 7, &hf_x411_PerMessageIndicators_service_message, -1, -1, "service-message", NULL },
2513 { 0, NULL, 0, 0, NULL, NULL }
2517 dissect_x411_PerMessageIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2518 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2519 PerMessageIndicators_bits, hf_index, ett_x411_PerMessageIndicators,
2524 static int dissect_per_message_indicators(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2525 return dissect_x411_PerMessageIndicators(FALSE, tvb, offset, pinfo, tree, hf_x411_per_message_indicators);
2531 dissect_x411_Time(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2532 #line 633 "x411.cnf"
2533 tvbuff_t *arrival = NULL;
2535 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
2536 pinfo, tree, tvb, offset, hf_index,
2540 if(arrival && doing_address)
2541 proto_item_append_text(address_item, " %s", tvb_format_text(arrival, 0, tvb_length(arrival)));
2547 static int dissect_redirection_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2548 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_time);
2550 static int dissect_dl_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2551 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_dl_expansion_time);
2553 static int dissect_origination_or_expansion_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2554 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_origination_or_expansion_time);
2556 static int dissect_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2557 return dissect_x411_Time(FALSE, tvb, offset, pinfo, tree, hf_x411_time);
2563 dissect_x411_DeferredDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2564 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2568 static int dissect_deferred_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2569 return dissect_x411_DeferredDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_delivery_time);
2573 static const ber_sequence_t T_private_domain_sequence[] = {
2574 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_administration_domain_name_impl },
2575 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_private_domain_identifier_impl },
2580 dissect_x411_T_private_domain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2581 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2582 T_private_domain_sequence, hf_index, ett_x411_T_private_domain);
2586 static int dissect_private_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2587 return dissect_x411_T_private_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_private_domain);
2591 static const value_string x411_T_bilateral_domain_vals[] = {
2592 { 0, "administration-domain-name" },
2593 { 1, "private-domain" },
2597 static const ber_choice_t T_bilateral_domain_choice[] = {
2598 { 0, BER_CLASS_APP, 2, BER_FLAGS_NOOWNTAG, dissect_administration_domain_name },
2599 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_private_domain },
2600 { 0, 0, 0, 0, NULL }
2604 dissect_x411_T_bilateral_domain(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2605 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2606 T_bilateral_domain_choice, hf_index, ett_x411_T_bilateral_domain,
2611 static int dissect_bilateral_domain(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2612 return dissect_x411_T_bilateral_domain(FALSE, tvb, offset, pinfo, tree, hf_x411_bilateral_domain);
2618 dissect_x411_T_bilateral_information(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2619 #line 685 "x411.cnf"
2620 proto_item *item = NULL;
2624 /* work out the length */
2625 loffset = dissect_ber_identifier(pinfo, tree, tvb, offset, NULL, NULL, NULL);
2626 (void) dissect_ber_length(pinfo, tree, tvb, loffset, &len, NULL);
2628 /* create some structure so we can tell what this unknown ASN.1 represents */
2629 item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
2630 tree = proto_item_add_subtree(item, ett_x411_bilateral_information);
2632 offset = dissect_unknown_ber(pinfo, tvb, offset, tree);
2638 static int dissect_bilateral_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2639 return dissect_x411_T_bilateral_information(FALSE, tvb, offset, pinfo, tree, hf_x411_bilateral_information);
2643 static const ber_sequence_t PerDomainBilateralInformation_sequence[] = {
2644 { BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_country_name },
2645 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_bilateral_domain },
2646 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_bilateral_information },
2651 dissect_x411_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2652 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2653 PerDomainBilateralInformation_sequence, hf_index, ett_x411_PerDomainBilateralInformation);
2657 static int dissect_per_domain_bilateral_information_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2658 return dissect_x411_PerDomainBilateralInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information_item);
2662 static const ber_sequence_t SEQUENCE_OF_PerDomainBilateralInformation_sequence_of[1] = {
2663 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_domain_bilateral_information_item },
2667 dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2668 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2669 SEQUENCE_OF_PerDomainBilateralInformation_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerDomainBilateralInformation);
2673 static int dissect_per_domain_bilateral_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2674 return dissect_x411_SEQUENCE_OF_PerDomainBilateralInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_per_domain_bilateral_information);
2680 dissect_x411_ArrivalTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2681 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2685 static int dissect_arrival_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2686 return dissect_x411_ArrivalTime(TRUE, tvb, offset, pinfo, tree, hf_x411_arrival_time);
2690 static const value_string x411_RoutingAction_vals[] = {
2698 dissect_x411_RoutingAction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2699 #line 644 "x411.cnf"
2702 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2706 proto_item_append_text(address_item, " %s", val_to_str(action, x411_RoutingAction_vals, "action(%d)"));
2712 static int dissect_routing_action_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2713 return dissect_x411_RoutingAction(TRUE, tvb, offset, pinfo, tree, hf_x411_routing_action);
2719 dissect_x411_DeferredTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2720 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2724 static int dissect_deferred_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2725 return dissect_x411_DeferredTime(TRUE, tvb, offset, pinfo, tree, hf_x411_deferred_time);
2731 dissect_x411_ConvertedEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2732 offset = dissect_x411_EncodedInformationTypes(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2736 static int dissect_converted_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2737 return dissect_x411_ConvertedEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2739 static int dissect_converted_encoded_information_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2740 return dissect_x411_ConvertedEncodedInformationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_converted_encoded_information_types);
2744 static const asn_namedbit OtherActions_bits[] = {
2745 { 0, &hf_x411_OtherActions_redirected, -1, -1, "redirected", NULL },
2746 { 1, &hf_x411_OtherActions_dl_operation, -1, -1, "dl-operation", NULL },
2747 { 0, NULL, 0, 0, NULL, NULL }
2751 dissect_x411_OtherActions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2752 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2753 OtherActions_bits, hf_index, ett_x411_OtherActions,
2758 static int dissect_other_actions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2759 return dissect_x411_OtherActions(TRUE, tvb, offset, pinfo, tree, hf_x411_other_actions);
2763 static const ber_sequence_t DomainSuppliedInformation_set[] = {
2764 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
2765 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
2766 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attempted_domain },
2767 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
2768 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
2769 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
2774 dissect_x411_DomainSuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2775 #line 612 "x411.cnf"
2777 doing_address = FALSE;
2779 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2780 DomainSuppliedInformation_set, hf_index, ett_x411_DomainSuppliedInformation);
2783 doing_address = TRUE;
2784 proto_item_append_text(tree, ")");
2790 static int dissect_domain_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2791 return dissect_x411_DomainSuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_domain_supplied_information);
2795 static const ber_sequence_t TraceInformationElement_sequence[] = {
2796 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
2797 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_domain_supplied_information },
2802 dissect_x411_TraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2803 #line 596 "x411.cnf"
2805 doing_address = TRUE;
2807 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2808 TraceInformationElement_sequence, hf_index, ett_x411_TraceInformationElement);
2811 doing_address = FALSE;
2817 static int dissect_TraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2818 return dissect_x411_TraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_TraceInformation_item);
2822 static const ber_sequence_t TraceInformation_sequence_of[1] = {
2823 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TraceInformation_item },
2827 dissect_x411_TraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2828 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2829 TraceInformation_sequence_of, hf_index, ett_x411_TraceInformation);
2833 static int dissect_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2834 return dissect_x411_TraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_trace_information);
2838 static const value_string x411_ExtensionType_vals[] = {
2839 { 0, "standard-extension" },
2840 { 3, "private-extension" },
2844 static const ber_choice_t ExtensionType_choice[] = {
2845 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_standard_extension_impl },
2846 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_private_extension_impl },
2847 { 0, 0, 0, 0, NULL }
2851 dissect_x411_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2852 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2853 ExtensionType_choice, hf_index, ett_x411_ExtensionType,
2858 static int dissect_extension_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2859 return dissect_x411_ExtensionType(FALSE, tvb, offset, pinfo, tree, hf_x411_extension_type);
2863 static const asn_namedbit Criticality_bits[] = {
2864 { 0, &hf_x411_Criticality_for_submission, -1, -1, "for-submission", NULL },
2865 { 1, &hf_x411_Criticality_for_transfer, -1, -1, "for-transfer", NULL },
2866 { 2, &hf_x411_Criticality_for_delivery, -1, -1, "for-delivery", NULL },
2867 { 0, NULL, 0, 0, NULL, NULL }
2871 dissect_x411_Criticality(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2872 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2873 Criticality_bits, hf_index, ett_x411_Criticality,
2878 static int dissect_criticality_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2879 return dissect_x411_Criticality(TRUE, tvb, offset, pinfo, tree, hf_x411_criticality);
2885 dissect_x411_ExtensionValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2886 #line 236 "x411.cnf"
2889 if(extension_id != -1)
2890 offset=call_x411_oid_callback("x411.extension", tvb, offset, pinfo, tree);
2891 else if(object_identifier_id) {
2892 call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
2893 name = get_oid_str_name(object_identifier_id);
2894 proto_item_append_text(tree, " (%s)", name ? name : object_identifier_id);
2902 static int dissect_extension_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2903 return dissect_x411_ExtensionValue(TRUE, tvb, offset, pinfo, tree, hf_x411_extension_value);
2907 static const ber_sequence_t ExtensionField_sequence[] = {
2908 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extension_type },
2909 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_criticality_impl },
2910 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_extension_value_impl },
2915 dissect_x411_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2916 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2917 ExtensionField_sequence, hf_index, ett_x411_ExtensionField);
2921 static int dissect_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2922 return dissect_x411_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions_item);
2926 static const ber_sequence_t SET_OF_ExtensionField_set_of[1] = {
2927 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extensions_item },
2931 dissect_x411_SET_OF_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2932 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2933 SET_OF_ExtensionField_set_of, hf_index, ett_x411_SET_OF_ExtensionField);
2937 static int dissect_extensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2938 return dissect_x411_SET_OF_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_x411_extensions);
2940 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2941 return dissect_x411_SET_OF_ExtensionField(TRUE, tvb, offset, pinfo, tree, hf_x411_extensions);
2947 dissect_x411_MTARecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2948 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2952 static int dissect_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2953 return dissect_x411_MTARecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_recipient_name);
2959 dissect_x411_OriginallySpecifiedRecipientNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2960 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2965 static int dissect_originally_specified_recipient_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2966 return dissect_x411_OriginallySpecifiedRecipientNumber(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_specified_recipient_number);
2970 static const asn_namedbit PerRecipientIndicators_bits[] = {
2971 { 0, &hf_x411_PerRecipientIndicators_responsibility, -1, -1, "responsibility", NULL },
2972 { 1, &hf_x411_PerRecipientIndicators_originating_MTA_report, -1, -1, "originating-MTA-report", NULL },
2973 { 2, &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report, -1, -1, "originating-MTA-non-delivery-report", NULL },
2974 { 3, &hf_x411_PerRecipientIndicators_originator_report, -1, -1, "originator-report", NULL },
2975 { 4, &hf_x411_PerRecipientIndicators_originator_non_delivery_report, -1, -1, "originator-non-delivery-report", NULL },
2976 { 5, &hf_x411_PerRecipientIndicators_reserved_5, -1, -1, "reserved-5", NULL },
2977 { 6, &hf_x411_PerRecipientIndicators_reserved_6, -1, -1, "reserved-6", NULL },
2978 { 7, &hf_x411_PerRecipientIndicators_reserved_7, -1, -1, "reserved-7", NULL },
2979 { 0, NULL, 0, 0, NULL, NULL }
2983 dissect_x411_PerRecipientIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2984 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2985 PerRecipientIndicators_bits, hf_index, ett_x411_PerRecipientIndicators,
2990 static int dissect_per_recipient_indicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2991 return dissect_x411_PerRecipientIndicators(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_indicators);
2995 static const value_string x411_ExplicitConversion_vals[] = {
2996 { 0, "ia5-text-to-teletex" },
2997 { 8, "ia5-text-to-g3-facsimile" },
2998 { 9, "ia5-text-to-g4-class-1" },
2999 { 10, "ia5-text-to-videotex" },
3000 { 11, "teletex-to-ia5-text" },
3001 { 12, "teletex-to-g3-facsimile" },
3002 { 13, "teletex-to-g4-class-1" },
3003 { 14, "teletex-to-videotex" },
3004 { 16, "videotex-to-ia5-text" },
3005 { 17, "videotex-to-teletex" },
3011 dissect_x411_ExplicitConversion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3012 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3017 static int dissect_explicit_conversion_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3018 return dissect_x411_ExplicitConversion(TRUE, tvb, offset, pinfo, tree, hf_x411_explicit_conversion);
3022 static const ber_sequence_t PerRecipientMessageTransferFields_set[] = {
3023 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
3024 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3025 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3026 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3027 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3032 dissect_x411_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3033 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3034 PerRecipientMessageTransferFields_set, hf_index, ett_x411_PerRecipientMessageTransferFields);
3038 static int dissect_per_recipient_message_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3039 return dissect_x411_PerRecipientMessageTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields_item);
3043 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of[1] = {
3044 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_fields_item },
3048 dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3049 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3050 SEQUENCE_OF_PerRecipientMessageTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields);
3054 static int dissect_per_recipient_message_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3055 return dissect_x411_SEQUENCE_OF_PerRecipientMessageTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_fields);
3059 static const ber_sequence_t MessageTransferEnvelope_set[] = {
3060 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_identifier },
3061 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
3062 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3063 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3064 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3065 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
3066 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3067 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
3068 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
3069 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3070 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3071 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_fields_impl },
3076 dissect_x411_MessageTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3077 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3078 MessageTransferEnvelope_set, hf_index, ett_x411_MessageTransferEnvelope);
3082 static int dissect_message_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3083 return dissect_x411_MessageTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_envelope);
3089 dissect_x411_Content(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3090 #line 369 "x411.cnf"
3093 /* we can do this now constructed octet strings are supported */
3094 offset = dissect_ber_octet_string(FALSE, pinfo, NULL, tvb, offset, hf_index, &next_tvb);
3097 if (content_type_id) {
3098 (void) call_ber_oid_callback(content_type_id, next_tvb, 0, pinfo, top_tree ? top_tree : tree);
3100 proto_item *item = NULL;
3101 proto_tree *next_tree = NULL;
3103 item = proto_tree_add_text(top_tree ? top_tree : tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "X.411 Unknown Content (unknown built-in content-type)");
3105 next_tree=proto_item_add_subtree(item, ett_x411_content_unknown);
3107 dissect_unknown_ber(pinfo, next_tvb, 0, next_tree);
3115 static int dissect_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3116 return dissect_x411_Content(FALSE, tvb, offset, pinfo, tree, hf_x411_content);
3118 static int dissect_returned_content_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3119 return dissect_x411_Content(TRUE, tvb, offset, pinfo, tree, hf_x411_returned_content);
3123 static const ber_sequence_t Message_sequence[] = {
3124 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_envelope },
3125 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
3130 dissect_x411_Message(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3131 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3132 Message_sequence, hf_index, ett_x411_Message);
3136 static int dissect_message_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3137 return dissect_x411_Message(TRUE, tvb, offset, pinfo, tree, hf_x411_message);
3143 dissect_x411_ProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3144 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3148 static int dissect_probe_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3149 return dissect_x411_ProbeIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_identifier);
3155 dissect_x411_ContentLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3156 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3161 static int dissect_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3162 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_content_length);
3164 static int dissect_permissible_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3165 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_maximum_content_length);
3167 static int dissect_maximum_content_length_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3168 return dissect_x411_ContentLength(TRUE, tvb, offset, pinfo, tree, hf_x411_maximum_content_length);
3172 static const ber_sequence_t PerRecipientProbeTransferFields_set[] = {
3173 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_recipient_name },
3174 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3175 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3176 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
3177 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3182 dissect_x411_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3183 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3184 PerRecipientProbeTransferFields_set, hf_index, ett_x411_PerRecipientProbeTransferFields);
3188 static int dissect_per_recipient_probe_transfer_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3189 return dissect_x411_PerRecipientProbeTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields_item);
3193 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of[1] = {
3194 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_transfer_fields_item },
3198 dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3199 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3200 SEQUENCE_OF_PerRecipientProbeTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields);
3204 static int dissect_per_recipient_probe_transfer_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3205 return dissect_x411_SEQUENCE_OF_PerRecipientProbeTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_transfer_fields);
3209 static const ber_sequence_t ProbeTransferEnvelope_set[] = {
3210 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_identifier },
3211 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mta_originator_name },
3212 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3213 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3214 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3215 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
3216 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
3217 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_per_domain_bilateral_information_impl },
3218 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3219 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3220 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_transfer_fields_impl },
3225 dissect_x411_ProbeTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3226 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3227 ProbeTransferEnvelope_set, hf_index, ett_x411_ProbeTransferEnvelope);
3235 dissect_x411_Probe(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3236 offset = dissect_x411_ProbeTransferEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3240 static int dissect_probe_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3241 return dissect_x411_Probe(TRUE, tvb, offset, pinfo, tree, hf_x411_probe);
3247 dissect_x411_ReportIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3248 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3252 static int dissect_report_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3253 return dissect_x411_ReportIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_report_identifier);
3259 dissect_x411_ReportDestinationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3260 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3264 static int dissect_report_destination_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3265 return dissect_x411_ReportDestinationName(FALSE, tvb, offset, pinfo, tree, hf_x411_report_destination_name);
3269 static const ber_sequence_t ReportTransferEnvelope_set[] = {
3270 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_report_identifier },
3271 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_report_destination_name },
3272 { BER_CLASS_APP, 9, BER_FLAGS_NOOWNTAG, dissect_trace_information },
3273 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3278 dissect_x411_ReportTransferEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3279 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3280 ReportTransferEnvelope_set, hf_index, ett_x411_ReportTransferEnvelope);
3284 static int dissect_report_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3285 return dissect_x411_ReportTransferEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_report_envelope);
3291 dissect_x411_MessageOrProbeIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3292 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3300 dissect_x411_SubjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3301 offset = dissect_x411_MessageOrProbeIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3305 static int dissect_subject_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3306 return dissect_x411_SubjectIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_identifier);
3312 dissect_x411_SubjectIntermediateTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3313 offset = dissect_x411_TraceInformation(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3317 static int dissect_subject_intermediate_trace_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3318 return dissect_x411_SubjectIntermediateTraceInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_intermediate_trace_information);
3324 dissect_x411_AdditionalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3325 #line 230 "x411.cnf"
3326 /*XXX not implemented yet */
3332 static int dissect_additional_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3333 return dissect_x411_AdditionalInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_additional_information);
3339 dissect_x411_MTAActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3340 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3344 static int dissect_mta_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3345 return dissect_x411_MTAActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_mta_actual_recipient_name);
3351 dissect_x411_MessageDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3352 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3356 static int dissect_message_delivery_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3357 return dissect_x411_MessageDeliveryTime(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
3359 static int dissect_message_delivery_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3360 return dissect_x411_MessageDeliveryTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_delivery_time);
3364 static const value_string x411_TypeOfMTSUser_vals[] = {
3370 { 5, "physical-recipient" },
3377 dissect_x411_TypeOfMTSUser(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3378 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3383 static int dissect_type_of_MTS_user(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3384 return dissect_x411_TypeOfMTSUser(FALSE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
3386 static int dissect_type_of_MTS_user_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3387 return dissect_x411_TypeOfMTSUser(TRUE, tvb, offset, pinfo, tree, hf_x411_type_of_MTS_user);
3391 static const ber_sequence_t DeliveryReport_set[] = {
3392 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_delivery_time_impl },
3393 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_of_MTS_user_impl },
3398 dissect_x411_DeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3399 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3400 DeliveryReport_set, hf_index, ett_x411_DeliveryReport);
3404 static int dissect_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3405 return dissect_x411_DeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery);
3409 const value_string x411_NonDeliveryReasonCode_vals[] = {
3410 { 0, "transfer-failure" },
3411 { 1, "unable-to-transfer" },
3412 { 2, "conversion-not-performed" },
3413 { 3, "physical-rendition-not-performed" },
3414 { 4, "physical-delivery-not-performed" },
3415 { 5, "restricted-delivery" },
3416 { 6, "directory-operation-unsuccessful" },
3417 { 7, "deferred-delivery-not-performed" },
3418 { 8, "transfer-failure-for-security-reason" },
3424 dissect_x411_NonDeliveryReasonCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3425 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3430 static int dissect_non_delivery_reason_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3431 return dissect_x411_NonDeliveryReasonCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
3433 static int dissect_non_delivery_reason_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3434 return dissect_x411_NonDeliveryReasonCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_reason_code);
3438 const value_string x411_NonDeliveryDiagnosticCode_vals[] = {
3439 { 0, "unrecognised-OR-name" },
3440 { 1, "ambiguous-OR-name" },
3441 { 2, "mts-congestion" },
3442 { 3, "loop-detected" },
3443 { 4, "recipient-unavailable" },
3444 { 5, "maximum-time-expired" },
3445 { 6, "encoded-information-types-unsupported" },
3446 { 7, "content-too-long" },
3447 { 8, "conversion-impractical" },
3448 { 9, "implicit-conversion-prohibited" },
3449 { 10, "implicit-conversion-not-subscribed" },
3450 { 11, "invalid-arguments" },
3451 { 12, "content-syntax-error" },
3452 { 13, "size-constraint-violation" },
3453 { 14, "protocol-violation" },
3454 { 15, "content-type-not-supported" },
3455 { 16, "too-many-recipients" },
3456 { 17, "no-bilateral-agreement" },
3457 { 18, "unsupported-critical-function" },
3458 { 19, "conversion-with-loss-prohibited" },
3459 { 20, "line-too-long" },
3460 { 21, "page-split" },
3461 { 22, "pictorial-symbol-loss" },
3462 { 23, "punctuation-symbol-loss" },
3463 { 24, "alphabetic-character-loss" },
3464 { 25, "multiple-information-loss" },
3465 { 26, "recipient-reassignment-prohibited" },
3466 { 27, "redirection-loop-detected" },
3467 { 28, "dl-expansion-prohibited" },
3468 { 29, "no-dl-submit-permission" },
3469 { 30, "dl-expansion-failure" },
3470 { 31, "physical-rendition-attributes-not-supported" },
3471 { 32, "undeliverable-mail-physical-delivery-address-incorrect" },
3472 { 33, "undeliverable-mail-physical-delivery-office-incorrect-or-invalid" },
3473 { 34, "undeliverable-mail-physical-delivery-address-incomplete" },
3474 { 35, "undeliverable-mail-recipient-unknown" },
3475 { 36, "undeliverable-mail-recipient-deceased" },
3476 { 37, "undeliverable-mail-organization-expired" },
3477 { 38, "undeliverable-mail-recipient-refused-to-accept" },
3478 { 39, "undeliverable-mail-recipient-did-not-claim" },
3479 { 40, "undeliverable-mail-recipient-changed-address-permanently" },
3480 { 41, "undeliverable-mail-recipient-changed-address-temporarily" },
3481 { 42, "undeliverable-mail-recipient-changed-temporary-address" },
3482 { 43, "undeliverable-mail-new-address-unknown" },
3483 { 44, "undeliverable-mail-recipient-did-not-want-forwarding" },
3484 { 45, "undeliverable-mail-originator-prohibited-forwarding" },
3485 { 46, "secure-messaging-error" },
3486 { 47, "unable-to-downgrade" },
3487 { 48, "unable-to-complete-transfer" },
3488 { 49, "transfer-attempts-limit-reached" },
3489 { 50, "incorrect-notification-type" },
3490 { 51, "dl-expansion-prohibited-by-security-policy" },
3491 { 52, "forbidden-alternate-recipient" },
3492 { 53, "security-policy-violation" },
3493 { 54, "security-services-refusal" },
3494 { 55, "unauthorised-dl-member" },
3495 { 56, "unauthorised-dl-name" },
3496 { 57, "unauthorised-originally-intended-recipient-name" },
3497 { 58, "unauthorised-originator-name" },
3498 { 59, "unauthorised-recipient-name" },
3499 { 60, "unreliable-system" },
3500 { 61, "authentication-failure-on-subject-message" },
3501 { 62, "decryption-failed" },
3502 { 63, "decryption-key-unobtainable" },
3503 { 64, "double-envelope-creation-failure" },
3504 { 65, "double-enveloping-message-restoring-failure" },
3505 { 66, "failure-of-proof-of-message" },
3506 { 67, "integrity-failure-on-subject-message" },
3507 { 68, "invalid-security-label" },
3508 { 69, "key-failure" },
3509 { 70, "mandatory-parameter-absence" },
3510 { 71, "operation-security-failure" },
3511 { 72, "repudiation-failure-of-message" },
3512 { 73, "security-context-failure" },
3513 { 74, "token-decryption-failed" },
3514 { 75, "token-error" },
3515 { 76, "unknown-security-label" },
3516 { 77, "unsupported-algorithm-identifier" },
3517 { 78, "unsupported-security-policy" },
3523 dissect_x411_NonDeliveryDiagnosticCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3524 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3529 static int dissect_non_delivery_diagnostic_code(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3530 return dissect_x411_NonDeliveryDiagnosticCode(FALSE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
3532 static int dissect_non_delivery_diagnostic_code_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3533 return dissect_x411_NonDeliveryDiagnosticCode(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_diagnostic_code);
3537 static const ber_sequence_t NonDeliveryReport_set[] = {
3538 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_non_delivery_reason_code_impl },
3539 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_non_delivery_diagnostic_code_impl },
3544 dissect_x411_NonDeliveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3545 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3546 NonDeliveryReport_set, hf_index, ett_x411_NonDeliveryReport);
3550 static int dissect_non_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3551 return dissect_x411_NonDeliveryReport(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery);
3555 static const value_string x411_ReportType_vals[] = {
3557 { 1, "non-delivery" },
3561 static const ber_choice_t ReportType_choice[] = {
3562 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_delivery_impl },
3563 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_non_delivery_impl },
3564 { 0, 0, 0, 0, NULL }
3568 dissect_x411_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3569 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3570 ReportType_choice, hf_index, ett_x411_ReportType,
3575 static int dissect_trace_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3576 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_trace_report_type);
3578 static int dissect_delivery_report_type_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3579 return dissect_x411_ReportType(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_report_type);
3583 static const ber_sequence_t LastTraceInformation_set[] = {
3584 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3585 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3586 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_trace_report_type_impl },
3591 dissect_x411_LastTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3592 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3593 LastTraceInformation_set, hf_index, ett_x411_LastTraceInformation);
3597 static int dissect_last_trace_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3598 return dissect_x411_LastTraceInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_last_trace_information);
3604 dissect_x411_MTAOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3605 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3609 static int dissect_report_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3610 return dissect_x411_MTAOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_report_originally_intended_recipient_name);
3616 dissect_x411_SupplementaryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3617 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
3618 pinfo, tree, tvb, offset, hf_index,
3623 static int dissect_supplementary_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3624 return dissect_x411_SupplementaryInformation(TRUE, tvb, offset, pinfo, tree, hf_x411_supplementary_information);
3628 static const ber_sequence_t PerRecipientReportTransferFields_set[] = {
3629 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mta_actual_recipient_name_impl },
3630 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_originally_specified_recipient_number_impl },
3631 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_per_recipient_indicators_impl },
3632 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_last_trace_information_impl },
3633 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_report_originally_intended_recipient_name_impl },
3634 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
3635 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3640 dissect_x411_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3641 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3642 PerRecipientReportTransferFields_set, hf_index, ett_x411_PerRecipientReportTransferFields);
3646 static int dissect_per_recipient_report_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3647 return dissect_x411_PerRecipientReportTransferFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_fields_item);
3651 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of[1] = {
3652 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_fields_item },
3656 dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3657 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3658 SEQUENCE_OF_PerRecipientReportTransferFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields);
3662 static int dissect_per_recipient_report_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3663 return dissect_x411_SEQUENCE_OF_PerRecipientReportTransferFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_fields);
3667 static const ber_sequence_t ReportTransferContent_set[] = {
3668 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_identifier },
3669 { BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_subject_intermediate_trace_information },
3670 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
3671 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
3672 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
3673 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
3674 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additional_information_impl },
3675 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3676 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_per_recipient_report_fields_impl },
3681 dissect_x411_ReportTransferContent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3682 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3683 ReportTransferContent_set, hf_index, ett_x411_ReportTransferContent);
3687 static int dissect_report_content(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3688 return dissect_x411_ReportTransferContent(FALSE, tvb, offset, pinfo, tree, hf_x411_report_content);
3692 static const ber_sequence_t Report_sequence[] = {
3693 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_envelope },
3694 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_report_content },
3699 dissect_x411_Report(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3700 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3701 Report_sequence, hf_index, ett_x411_Report);
3705 static int dissect_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3706 return dissect_x411_Report(TRUE, tvb, offset, pinfo, tree, hf_x411_report);
3710 static const value_string x411_MTS_APDU_vals[] = {
3717 static const ber_choice_t MTS_APDU_choice[] = {
3718 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_impl },
3719 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_probe_impl },
3720 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_report_impl },
3721 { 0, 0, 0, 0, NULL }
3725 dissect_x411_MTS_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3726 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3727 MTS_APDU_choice, hf_index, ett_x411_MTS_APDU,
3736 dissect_x411_MTAOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3737 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3743 static const value_string x411_T_attempted_vals[] = {
3749 static const ber_choice_t T_attempted_choice[] = {
3750 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta },
3751 { 1, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
3752 { 0, 0, 0, 0, NULL }
3756 dissect_x411_T_attempted(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3757 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3758 T_attempted_choice, hf_index, ett_x411_T_attempted,
3763 static int dissect_attempted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3764 return dissect_x411_T_attempted(FALSE, tvb, offset, pinfo, tree, hf_x411_attempted);
3768 static const ber_sequence_t MTASuppliedInformation_set[] = {
3769 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_arrival_time_impl },
3770 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routing_action_impl },
3771 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attempted },
3772 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_time_impl },
3773 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
3774 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_actions_impl },
3779 dissect_x411_MTASuppliedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3780 #line 621 "x411.cnf"
3782 doing_address = FALSE;
3784 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3785 MTASuppliedInformation_set, hf_index, ett_x411_MTASuppliedInformation);
3788 doing_address = TRUE;
3789 proto_item_append_text(tree, ")");
3795 static int dissect_mta_supplied_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3796 return dissect_x411_MTASuppliedInformation(FALSE, tvb, offset, pinfo, tree, hf_x411_mta_supplied_information);
3800 static const ber_sequence_t InternalTraceInformationElement_sequence[] = {
3801 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
3802 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
3803 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_mta_supplied_information },
3808 dissect_x411_InternalTraceInformationElement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3809 #line 604 "x411.cnf"
3811 doing_address = TRUE;
3813 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3814 InternalTraceInformationElement_sequence, hf_index, ett_x411_InternalTraceInformationElement);
3817 doing_address = FALSE;
3823 static int dissect_InternalTraceInformation_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3824 return dissect_x411_InternalTraceInformationElement(FALSE, tvb, offset, pinfo, tree, hf_x411_InternalTraceInformation_item);
3828 static const ber_sequence_t InternalTraceInformation_sequence_of[1] = {
3829 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_InternalTraceInformation_item },
3833 dissect_x411_InternalTraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3834 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3835 InternalTraceInformation_sequence_of, hf_index, ett_x411_InternalTraceInformation);
3841 static const value_string x411_ObjectName_vals[] = {
3842 { 0, "user-agent" },
3844 { 2, "message-store" },
3848 static const ber_choice_t ObjectName_choice[] = {
3849 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_user_agent },
3850 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mTA_impl },
3851 { 2, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_message_store_impl },
3852 { 0, 0, 0, 0, NULL }
3856 dissect_x411_ObjectName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3857 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3858 ObjectName_choice, hf_index, ett_x411_ObjectName,
3863 static int dissect_initiator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3864 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_initiator_name);
3866 static int dissect_responder_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3867 return dissect_x411_ObjectName(FALSE, tvb, offset, pinfo, tree, hf_x411_responder_name);
3871 static const ber_sequence_t DeliveryQueue_set[] = {
3872 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messages_impl },
3873 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_queue_octets_impl },
3878 dissect_x411_DeliveryQueue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3879 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3880 DeliveryQueue_set, hf_index, ett_x411_DeliveryQueue);
3884 static int dissect_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3885 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_urgent);
3887 static int dissect_normal_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3888 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_normal);
3890 static int dissect_non_urgent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3891 return dissect_x411_DeliveryQueue(TRUE, tvb, offset, pinfo, tree, hf_x411_non_urgent);
3895 static const ber_sequence_t MessagesWaiting_set[] = {
3896 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_urgent_impl },
3897 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_normal_impl },
3898 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_non_urgent_impl },
3903 dissect_x411_MessagesWaiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3904 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3905 MessagesWaiting_set, hf_index, ett_x411_MessagesWaiting);
3909 static int dissect_messages_waiting(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3910 return dissect_x411_MessagesWaiting(FALSE, tvb, offset, pinfo, tree, hf_x411_messages_waiting);
3914 static const ber_sequence_t MTSBindArgument_set[] = {
3915 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_name },
3916 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3917 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_initiator_credentials_impl },
3918 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_context_impl },
3919 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3924 dissect_x411_MTSBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3925 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3926 MTSBindArgument_set, hf_index, ett_x411_MTSBindArgument);
3932 static const ber_sequence_t MTSBindResult_set[] = {
3933 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_name },
3934 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_messages_waiting },
3935 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_responder_credentials_impl },
3936 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3941 dissect_x411_MTSBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3942 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3943 MTSBindResult_set, hf_index, ett_x411_MTSBindResult);
3949 static const value_string x411_MTSBindError_vals[] = {
3951 { 2, "authentication-error" },
3952 { 3, "unacceptable-dialogue-mode" },
3953 { 4, "unacceptable-security-context" },
3954 { 5, "inadequate-association-confidentiality" },
3960 dissect_x411_MTSBindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3961 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3970 dissect_x411_ORAddressAndOrDirectoryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3971 offset = dissect_x411_ORName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3975 static int dissect_DLExemptedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3976 return dissect_x411_ORAddressAndOrDirectoryName(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExemptedRecipients_item);
3982 dissect_x411_MTSOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3983 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3987 static int dissect_mts_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3988 return dissect_x411_MTSOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_mts_originator_name);
3994 dissect_x411_MTSRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3995 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3999 static int dissect_ImproperlySpecifiedRecipients_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4000 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_ImproperlySpecifiedRecipients_item);
4002 static int dissect_submission_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4003 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_submission_recipient_name);
4005 static int dissect_probe_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4006 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_recipient_name);
4008 static int dissect_token_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4009 return dissect_x411_MTSRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_token_recipient_name);
4013 static const asn_namedbit OriginatorReportRequest_bits[] = {
4014 { 3, &hf_x411_OriginatorReportRequest_report, -1, -1, "report", NULL },
4015 { 4, &hf_x411_OriginatorReportRequest_non_delivery_report, -1, -1, "non-delivery-report", NULL },
4016 { 0, NULL, 0, 0, NULL, NULL }
4020 dissect_x411_OriginatorReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4021 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4022 OriginatorReportRequest_bits, hf_index, ett_x411_OriginatorReportRequest,
4027 static int dissect_originator_report_request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4028 return dissect_x411_OriginatorReportRequest(TRUE, tvb, offset, pinfo, tree, hf_x411_originator_report_request);
4032 static const ber_sequence_t PerRecipientMessageSubmissionFields_set[] = {
4033 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_submission_recipient_name },
4034 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
4035 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
4036 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4041 dissect_x411_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4042 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4043 PerRecipientMessageSubmissionFields_set, hf_index, ett_x411_PerRecipientMessageSubmissionFields);
4047 static int dissect_per_recipient_message_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4048 return dissect_x411_PerRecipientMessageSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields_item);
4052 static const ber_sequence_t SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of[1] = {
4053 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_message_submission_fields_item },
4057 dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4058 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4059 SEQUENCE_OF_PerRecipientMessageSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields);
4063 static int dissect_per_recipient_message_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4064 return dissect_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_message_submission_fields);
4068 static const ber_sequence_t MessageSubmissionEnvelope_set[] = {
4069 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
4070 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4071 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4072 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4073 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4074 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
4075 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_deferred_delivery_time_impl },
4076 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4077 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_per_recipient_message_submission_fields_impl },
4082 dissect_x411_MessageSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4083 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4084 MessageSubmissionEnvelope_set, hf_index, ett_x411_MessageSubmissionEnvelope);
4088 static int dissect_message_submission_envelope(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4089 return dissect_x411_MessageSubmissionEnvelope(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_envelope);
4093 static const ber_sequence_t MessageSubmissionArgument_sequence[] = {
4094 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_message_submission_envelope },
4095 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4100 dissect_x411_MessageSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4101 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4102 MessageSubmissionArgument_sequence, hf_index, ett_x411_MessageSubmissionArgument);
4110 dissect_x411_MessageSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4111 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4115 static int dissect_message_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4116 return dissect_x411_MessageSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_submission_identifier);
4122 dissect_x411_MessageSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4123 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4127 static int dissect_message_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4128 return dissect_x411_MessageSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_message_submission_time);
4132 static const ber_sequence_t MessageSubmissionResult_set[] = {
4133 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_submission_identifier },
4134 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4135 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4136 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4141 dissect_x411_MessageSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4142 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4143 MessageSubmissionResult_set, hf_index, ett_x411_MessageSubmissionResult);
4149 static const ber_sequence_t PerRecipientProbeSubmissionFields_set[] = {
4150 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_probe_recipient_name },
4151 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_originator_report_request_impl },
4152 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_explicit_conversion_impl },
4153 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4158 dissect_x411_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4159 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4160 PerRecipientProbeSubmissionFields_set, hf_index, ett_x411_PerRecipientProbeSubmissionFields);
4164 static int dissect_per_recipient_probe_submission_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4165 return dissect_x411_PerRecipientProbeSubmissionFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields_item);
4169 static const ber_sequence_t SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of[1] = {
4170 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_probe_submission_fields_item },
4174 dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4175 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4176 SEQUENCE_OF_PerRecipientProbeSubmissionFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields);
4180 static int dissect_per_recipient_probe_submission_fields_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4181 return dissect_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields(TRUE, tvb, offset, pinfo, tree, hf_x411_per_recipient_probe_submission_fields);
4185 static const ber_sequence_t ProbeSubmissionEnvelope_set[] = {
4186 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_mts_originator_name },
4187 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4188 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4189 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4190 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_length_impl },
4191 { BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_per_message_indicators },
4192 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4193 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_per_recipient_probe_submission_fields_impl },
4198 dissect_x411_ProbeSubmissionEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4199 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4200 ProbeSubmissionEnvelope_set, hf_index, ett_x411_ProbeSubmissionEnvelope);
4208 dissect_x411_ProbeSubmissionArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4209 offset = dissect_x411_ProbeSubmissionEnvelope(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4217 dissect_x411_ProbeSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4218 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4222 static int dissect_probe_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4223 return dissect_x411_ProbeSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_probe_submission_identifier);
4229 dissect_x411_ProbeSubmissionTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4230 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4234 static int dissect_probe_submission_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4235 return dissect_x411_ProbeSubmissionTime(TRUE, tvb, offset, pinfo, tree, hf_x411_probe_submission_time);
4239 static const ber_sequence_t ProbeSubmissionResult_set[] = {
4240 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_probe_submission_identifier },
4241 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_probe_submission_time_impl },
4242 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4243 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4248 dissect_x411_ProbeSubmissionResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4249 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4250 ProbeSubmissionResult_set, hf_index, ett_x411_ProbeSubmissionResult);
4258 dissect_x411_CancelDeferredDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4259 offset = dissect_x411_MessageSubmissionIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4267 dissect_x411_CancelDeferredDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4268 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
4276 dissect_x411_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4277 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
4281 static int dissect_restrict_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4282 return dissect_x411_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_x411_restrict);
4284 static int dissect_permitted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4285 return dissect_x411_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x411_permitted);
4289 static const asn_namedbit Operations_bits[] = {
4290 { 0, &hf_x411_Operations_probe_submission_or_report_delivery, -1, -1, "probe-submission-or-report-delivery", NULL },
4291 { 1, &hf_x411_Operations_message_submission_or_message_delivery, -1, -1, "message-submission-or-message-delivery", NULL },
4292 { 0, NULL, 0, 0, NULL, NULL }
4296 dissect_x411_Operations(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4297 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4298 Operations_bits, hf_index, ett_x411_Operations,
4303 static int dissect_waiting_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4304 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_operations);
4306 static int dissect_permissible_operations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4307 return dissect_x411_Operations(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_operations);
4311 static const ber_sequence_t ContentTypes_set_of[1] = {
4312 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ContentTypes_item },
4316 dissect_x411_ContentTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4317 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4318 ContentTypes_set_of, hf_index, ett_x411_ContentTypes);
4322 static int dissect_permissible_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4323 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_permissible_content_types);
4325 static int dissect_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4326 return dissect_x411_ContentTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_content_types);
4330 static const ber_sequence_t EncodedInformationTypesConstraints_sequence[] = {
4331 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_unacceptable_eits_impl },
4332 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_acceptable_eits_impl },
4333 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_exclusively_acceptable_eits_impl },
4338 dissect_x411_EncodedInformationTypesConstraints(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4339 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4340 EncodedInformationTypesConstraints_sequence, hf_index, ett_x411_EncodedInformationTypesConstraints);
4344 static int dissect_encoded_information_types_constraints_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4345 return dissect_x411_EncodedInformationTypesConstraints(TRUE, tvb, offset, pinfo, tree, hf_x411_encoded_information_types_constraints);
4351 dissect_x411_PermissibleEncodedInformationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4352 offset = dissect_x411_EncodedInformationTypesConstraints(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4356 static int dissect_permissible_encoded_information_types(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4357 return dissect_x411_PermissibleEncodedInformationTypes(FALSE, tvb, offset, pinfo, tree, hf_x411_permissible_encoded_information_types);
4361 static const ber_sequence_t Controls_set[] = {
4362 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4363 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4364 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4365 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4366 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4367 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4368 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4373 dissect_x411_Controls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4374 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4375 Controls_set, hf_index, ett_x411_Controls);
4383 dissect_x411_SubmissionControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4384 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4392 dissect_x411_SubmissionControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4393 offset = dissect_x411_SubmissionControls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4399 static const asn_namedbit WaitingMessages_bits[] = {
4400 { 0, &hf_x411_WaitingMessages_long_content, -1, -1, "long-content", NULL },
4401 { 1, &hf_x411_WaitingMessages_low_priority, -1, -1, "low-priority", NULL },
4402 { 2, &hf_x411_WaitingMessages_other_security_labels, -1, -1, "other-security-labels", NULL },
4403 { 0, NULL, 0, 0, NULL, NULL }
4407 dissect_x411_WaitingMessages(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4408 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4409 WaitingMessages_bits, hf_index, ett_x411_WaitingMessages,
4414 static int dissect_waiting_messages_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4415 return dissect_x411_WaitingMessages(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_messages);
4419 static const ber_sequence_t SET_OF_ContentType_set_of[1] = {
4420 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_waiting_content_types_item },
4424 dissect_x411_SET_OF_ContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4425 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4426 SET_OF_ContentType_set_of, hf_index, ett_x411_SET_OF_ContentType);
4430 static int dissect_waiting_content_types_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4431 return dissect_x411_SET_OF_ContentType(TRUE, tvb, offset, pinfo, tree, hf_x411_waiting_content_types);
4435 static const ber_sequence_t Waiting_set[] = {
4436 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4437 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4438 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4439 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4444 dissect_x411_Waiting(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4445 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4446 Waiting_set, hf_index, ett_x411_Waiting);
4454 dissect_x411_SubmissionControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4455 offset = dissect_x411_Waiting(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4461 static const ber_sequence_t ImproperlySpecifiedRecipients_sequence_of[1] = {
4462 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ImproperlySpecifiedRecipients_item },
4466 dissect_x411_ImproperlySpecifiedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4467 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4468 ImproperlySpecifiedRecipients_sequence_of, hf_index, ett_x411_ImproperlySpecifiedRecipients);
4474 static const value_string x411_SecurityProblem_vals[] = {
4475 { 0, "assemby-instructions-conflict-with-security-services" },
4476 { 1, "authentication-problem" },
4477 { 2, "authentication-failure-on-subject-message" },
4478 { 3, "confidentiality-association-problem" },
4479 { 4, "decryption-failed" },
4480 { 5, "decryption-key-unobtainable" },
4481 { 6, "failure-of-proof-of-message" },
4482 { 7, "forbidden-user-security-label-register" },
4483 { 8, "incompatible-change-with-original-security-context" },
4484 { 9, "integrity-failure-on-subject-message" },
4485 { 10, "invalid-security-label" },
4486 { 11, "invalid-security-label-update" },
4487 { 12, "key-failure" },
4488 { 13, "mandatory-parameter-absence" },
4489 { 14, "operation-security-failure" },
4490 { 15, "redirection-prohibited" },
4491 { 16, "refused-alternate-recipient-name" },
4492 { 17, "repudiation-failure-of-message" },
4493 { 18, "responder-credentials-checking-problem" },
4494 { 19, "security-context-failure" },
4495 { 20, "security-context-problem" },
4496 { 21, "security-policy-violation" },
4497 { 22, "security-services-refusal" },
4498 { 23, "token-decryption-failed" },
4499 { 24, "token-error" },
4500 { 25, "unable-to-aggregate-security-labels" },
4501 { 26, "unauthorised-dl-name" },
4502 { 27, "unauthorised-entry-class" },
4503 { 28, "unauthorised-originally-intended-recipient-name" },
4504 { 29, "unauthorised-originator-name" },
4505 { 30, "unauthorised-recipient-name" },
4506 { 31, "unauthorised-security-label-update" },
4507 { 32, "unauthorised-user-name" },
4508 { 33, "unknown-security-label" },
4509 { 34, "unsupported-algorithm-identifier" },
4510 { 35, "unsupported-security-policy" },
4516 dissect_x411_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4517 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4526 dissect_x411_MessageDeliveryIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4527 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4531 static int dissect_message_delivery_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4532 return dissect_x411_MessageDeliveryIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_message_delivery_identifier);
4536 static const value_string x411_DeliveredContentType_vals[] = {
4542 static const ber_choice_t DeliveredContentType_choice[] = {
4543 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_built_in_impl },
4544 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extended },
4545 { 0, 0, 0, 0, NULL }
4549 dissect_x411_DeliveredContentType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4550 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4551 DeliveredContentType_choice, hf_index, ett_x411_DeliveredContentType,
4556 static int dissect_delivered_content_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4557 return dissect_x411_DeliveredContentType(FALSE, tvb, offset, pinfo, tree, hf_x411_delivered_content_type);
4563 dissect_x411_DeliveredOriginatorName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4564 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4568 static int dissect_originator_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4569 return dissect_x411_DeliveredOriginatorName(FALSE, tvb, offset, pinfo, tree, hf_x411_originator_name);
4573 static const asn_namedbit DeliveryFlags_bits[] = {
4574 { 1, &hf_x411_DeliveryFlags_implicit_conversion_prohibited, -1, -1, "implicit-conversion-prohibited", NULL },
4575 { 0, NULL, 0, 0, NULL, NULL }
4579 dissect_x411_DeliveryFlags(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4580 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
4581 DeliveryFlags_bits, hf_index, ett_x411_DeliveryFlags,
4586 static int dissect_delivery_flags_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4587 return dissect_x411_DeliveryFlags(TRUE, tvb, offset, pinfo, tree, hf_x411_delivery_flags);
4593 dissect_x411_OtherRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4594 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4598 static int dissect_OtherRecipientNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4599 return dissect_x411_OtherRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_OtherRecipientNames_item);
4603 static const ber_sequence_t OtherRecipientNames_sequence_of[1] = {
4604 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_OtherRecipientNames_item },
4608 dissect_x411_OtherRecipientNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4609 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4610 OtherRecipientNames_sequence_of, hf_index, ett_x411_OtherRecipientNames);
4614 static int dissect_other_recipient_names_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4615 return dissect_x411_OtherRecipientNames(TRUE, tvb, offset, pinfo, tree, hf_x411_other_recipient_names);
4621 dissect_x411_ThisRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4622 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4626 static int dissect_this_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4627 return dissect_x411_ThisRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_this_recipient_name);
4633 dissect_x411_MTSOriginallyIntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4634 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4638 static int dissect_originally_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4639 return dissect_x411_MTSOriginallyIntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4641 static int dissect_originally_intended_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4642 return dissect_x411_MTSOriginallyIntendedRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_originally_intended_recipient_name);
4646 static const ber_sequence_t OtherMessageDeliveryFields_set[] = {
4647 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_delivered_content_type },
4648 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_name },
4649 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_original_encoded_information_types_impl },
4650 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_priority },
4651 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delivery_flags_impl },
4652 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_other_recipient_names_impl },
4653 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_this_recipient_name_impl },
4654 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4655 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_converted_encoded_information_types_impl },
4656 { BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_message_submission_time_impl },
4657 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_identifier_impl },
4658 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4663 dissect_x411_OtherMessageDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4664 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4665 OtherMessageDeliveryFields_set, hf_index, ett_x411_OtherMessageDeliveryFields);
4669 static int dissect_other_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4670 return dissect_x411_OtherMessageDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_other_fields);
4674 static const ber_sequence_t MessageDeliveryArgument_sequence[] = {
4675 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
4676 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
4677 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
4678 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_content },
4683 dissect_x411_MessageDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4684 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4685 MessageDeliveryArgument_sequence, hf_index, ett_x411_MessageDeliveryArgument);
4693 dissect_x411_RecipientCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4694 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4698 static int dissect_recipient_certificate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4699 return dissect_x411_RecipientCertificate(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_certificate);
4705 dissect_x411_ProofOfDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4706 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4710 static int dissect_proof_of_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4711 return dissect_x411_ProofOfDelivery(TRUE, tvb, offset, pinfo, tree, hf_x411_proof_of_delivery);
4715 static const ber_sequence_t MessageDeliveryResult_set[] = {
4716 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
4717 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proof_of_delivery_impl },
4718 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4723 dissect_x411_MessageDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4724 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4725 MessageDeliveryResult_set, hf_index, ett_x411_MessageDeliveryResult);
4733 dissect_x411_SubjectSubmissionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4734 offset = dissect_x411_MTSIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4738 static int dissect_subject_submission_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4739 return dissect_x411_SubjectSubmissionIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x411_subject_submission_identifier);
4745 dissect_x411_MTSActualRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4746 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4750 static int dissect_actual_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4751 return dissect_x411_MTSActualRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4753 static int dissect_actual_recipient_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4754 return dissect_x411_MTSActualRecipientName(TRUE, tvb, offset, pinfo, tree, hf_x411_actual_recipient_name);
4758 static const ber_sequence_t PerRecipientReportDeliveryFields_set[] = {
4759 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actual_recipient_name_impl },
4760 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_delivery_report_type_impl },
4761 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_converted_encoded_information_types },
4762 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originally_intended_recipient_name_impl },
4763 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supplementary_information_impl },
4764 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4769 dissect_x411_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4770 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4771 PerRecipientReportDeliveryFields_set, hf_index, ett_x411_PerRecipientReportDeliveryFields);
4775 static int dissect_per_recipient_report_delivery_fields_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4776 return dissect_x411_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields_item);
4780 static const ber_sequence_t SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of[1] = {
4781 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields_item },
4785 dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4786 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4787 SEQUENCE_OF_PerRecipientReportDeliveryFields_sequence_of, hf_index, ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields);
4791 static int dissect_per_recipient_report_delivery_fields(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4792 return dissect_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields(FALSE, tvb, offset, pinfo, tree, hf_x411_per_recipient_report_delivery_fields);
4796 static const ber_sequence_t ReportDeliveryArgument_set[] = {
4797 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
4798 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
4799 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
4800 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
4801 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4802 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
4803 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_returned_content_impl },
4808 dissect_x411_ReportDeliveryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4809 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4810 ReportDeliveryArgument_set, hf_index, ett_x411_ReportDeliveryArgument);
4816 static const value_string x411_ReportDeliveryResult_vals[] = {
4817 { 0, "empty-result" },
4818 { 1, "extensions" },
4819 { 2, "extensions" },
4823 static const ber_choice_t ReportDeliveryResult_choice[] = {
4824 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
4825 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4826 { 2, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4827 { 3, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_extensions },
4828 { 0, 0, 0, 0, NULL }
4832 dissect_x411_ReportDeliveryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4833 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4834 ReportDeliveryResult_choice, hf_index, ett_x411_ReportDeliveryResult,
4841 static const ber_sequence_t DeliveryControlArgument_set[] = {
4842 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restrict_impl },
4843 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_operations_impl },
4844 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_maximum_content_length_impl },
4845 { BER_CLASS_APP, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_lowest_priority },
4846 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_content_types_impl },
4847 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permissible_encoded_information_types },
4848 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permissible_security_context_impl },
4849 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4854 dissect_x411_DeliveryControlArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4855 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4856 DeliveryControlArgument_set, hf_index, ett_x411_DeliveryControlArgument);
4862 static const ber_sequence_t DeliveryControlResult_set[] = {
4863 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_operations_impl },
4864 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_messages_impl },
4865 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_waiting_content_types_impl },
4866 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_waiting_encoded_information_types },
4867 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
4872 dissect_x411_DeliveryControlResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4873 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4874 DeliveryControlResult_set, hf_index, ett_x411_DeliveryControlResult);
4880 static const value_string x411_RefusedArgument_vals[] = {
4882 { 1, "user-address" },
4883 { 2, "deliverable-content-types" },
4884 { 3, "deliverable-maximum-content-length" },
4885 { 4, "deliverable-encoded-information-types-constraints" },
4886 { 5, "deliverable-security-labels" },
4887 { 6, "recipient-assigned-redirections" },
4888 { 7, "restricted-delivery" },
4889 { 8, "retrieve-registrations" },
4891 { 11, "permissible-operations" },
4892 { 12, "permissible-lowest-priority" },
4893 { 13, "permissible-encoded-information-types" },
4894 { 14, "permissible-content-types" },
4895 { 15, "permissible-maximum-content-length" },
4896 { 16, "permissible-security-context" },
4902 dissect_x411_RefusedArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4903 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4908 static int dissect_built_in_argument_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4909 return dissect_x411_RefusedArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_built_in_argument);
4915 dissect_x411_T_refused_extension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4916 #line 256 "x411.cnf"
4917 /*XXX not implemented yet */
4923 static int dissect_refused_extension(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4924 return dissect_x411_T_refused_extension(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_extension);
4928 static const value_string x411_T_refused_argument_vals[] = {
4929 { 0, "built-in-argument" },
4930 { 1, "refused-extension" },
4934 static const ber_choice_t T_refused_argument_choice[] = {
4935 { 0, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_built_in_argument_impl },
4936 { 1, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_refused_extension },
4937 { 0, 0, 0, 0, NULL }
4941 dissect_x411_T_refused_argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4942 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4943 T_refused_argument_choice, hf_index, ett_x411_T_refused_argument,
4948 static int dissect_refused_argument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4949 return dissect_x411_T_refused_argument(FALSE, tvb, offset, pinfo, tree, hf_x411_refused_argument);
4953 static const value_string x411_RefusalReason_vals[] = {
4954 { 0, "facility-unavailable" },
4955 { 1, "facility-not-subscribed" },
4956 { 2, "parameter-unacceptable" },
4962 dissect_x411_RefusalReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4963 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4968 static int dissect_refusal_reason_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4969 return dissect_x411_RefusalReason(TRUE, tvb, offset, pinfo, tree, hf_x411_refusal_reason);
4973 static const ber_sequence_t RefusedOperation_set[] = {
4974 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_refused_argument },
4975 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_refusal_reason_impl },
4980 dissect_x411_RefusedOperation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4981 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4982 RefusedOperation_set, hf_index, ett_x411_RefusedOperation);
4990 dissect_x411_ProofOfDeliveryAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4991 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4999 dissect_x411_DeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5000 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5008 dissect_x411_UserName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5009 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5013 static int dissect_user_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5014 return dissect_x411_UserName(FALSE, tvb, offset, pinfo, tree, hf_x411_user_name);
5018 static const ber_sequence_t T_x121_sequence[] = {
5019 { BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x121_address },
5020 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_tsap_id },
5025 dissect_x411_T_x121(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5026 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5027 T_x121_sequence, hf_index, ett_x411_T_x121);
5031 static int dissect_x121_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5032 return dissect_x411_T_x121(TRUE, tvb, offset, pinfo, tree, hf_x411_x121);
5038 dissect_x411_PSAPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5039 offset = dissect_x509sat_PresentationAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5043 static int dissect_presentation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5044 return dissect_x411_PSAPAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_presentation);
5048 static const value_string x411_UserAddress_vals[] = {
5050 { 1, "presentation" },
5054 static const ber_choice_t UserAddress_choice[] = {
5055 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_x121_impl },
5056 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_presentation_impl },
5057 { 0, 0, 0, 0, NULL }
5061 dissect_x411_UserAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5062 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5063 UserAddress_choice, hf_index, ett_x411_UserAddress,
5068 static int dissect_user_address_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5069 return dissect_x411_UserAddress(TRUE, tvb, offset, pinfo, tree, hf_x411_user_address);
5073 static const ber_sequence_t SET_OF_Priority_set_of[1] = {
5074 { BER_CLASS_APP, 7, BER_FLAGS_NOOWNTAG, dissect_class_priority_item },
5078 dissect_x411_SET_OF_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5079 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5080 SET_OF_Priority_set_of, hf_index, ett_x411_SET_OF_Priority);
5084 static int dissect_class_priority_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5085 return dissect_x411_SET_OF_Priority(TRUE, tvb, offset, pinfo, tree, hf_x411_class_priority);
5089 static const value_string x411_T_objects_vals[] = {
5098 dissect_x411_T_objects(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5099 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5104 static int dissect_objects_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5105 return dissect_x411_T_objects(TRUE, tvb, offset, pinfo, tree, hf_x411_objects);
5109 static const asn_namedbit T_source_type_bits[] = {
5110 { 0, &hf_x411_T_source_type_originated_by, -1, -1, "originated-by", NULL },
5111 { 1, &hf_x411_T_source_type_redirected_by, -1, -1, "redirected-by", NULL },
5112 { 2, &hf_x411_T_source_type_dl_expanded_by, -1, -1, "dl-expanded-by", NULL },
5113 { 0, NULL, 0, 0, NULL, NULL }
5117 dissect_x411_T_source_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5118 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5119 T_source_type_bits, hf_index, ett_x411_T_source_type,
5124 static int dissect_source_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5125 return dissect_x411_T_source_type(FALSE, tvb, offset, pinfo, tree, hf_x411_source_type);
5129 static const value_string x411_ExactOrPattern_vals[] = {
5130 { 0, "exact-match" },
5131 { 1, "pattern-match" },
5135 static const ber_choice_t ExactOrPattern_choice[] = {
5136 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_exact_match_impl },
5137 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pattern_match_impl },
5138 { 0, 0, 0, 0, NULL }
5142 dissect_x411_ExactOrPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5143 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5144 ExactOrPattern_choice, hf_index, ett_x411_ExactOrPattern,
5149 static int dissect_source_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5150 return dissect_x411_ExactOrPattern(FALSE, tvb, offset, pinfo, tree, hf_x411_source_name);
5154 static const ber_sequence_t Restriction_set[] = {
5155 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_permitted },
5156 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_source_type },
5157 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_source_name },
5162 dissect_x411_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5163 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5164 Restriction_set, hf_index, ett_x411_Restriction);
5168 static int dissect_applies_only_to_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5169 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_applies_only_to_item);
5171 static int dissect_RestrictedDelivery_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5172 return dissect_x411_Restriction(FALSE, tvb, offset, pinfo, tree, hf_x411_RestrictedDelivery_item);
5176 static const ber_sequence_t SEQUENCE_OF_Restriction_sequence_of[1] = {
5177 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_applies_only_to_item },
5181 dissect_x411_SEQUENCE_OF_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5182 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5183 SEQUENCE_OF_Restriction_sequence_of, hf_index, ett_x411_SEQUENCE_OF_Restriction);
5187 static int dissect_applies_only_to_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5188 return dissect_x411_SEQUENCE_OF_Restriction(TRUE, tvb, offset, pinfo, tree, hf_x411_applies_only_to);
5192 static const ber_sequence_t MessageClass_set[] = {
5193 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_types_impl },
5194 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximum_content_length_impl },
5195 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encoded_information_types_constraints_impl },
5196 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_security_labels_impl },
5197 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_class_priority_impl },
5198 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_objects_impl },
5199 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_applies_only_to_impl },
5200 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5205 dissect_x411_MessageClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5206 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5207 MessageClass_set, hf_index, ett_x411_MessageClass);
5215 dissect_x411_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5216 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5220 static int dissect_deliverable_class_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5221 return dissect_x411_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class_item);
5225 static const ber_sequence_t SET_OF_DeliverableClass_set_of[1] = {
5226 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_deliverable_class_item },
5230 dissect_x411_SET_OF_DeliverableClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5231 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5232 SET_OF_DeliverableClass_set_of, hf_index, ett_x411_SET_OF_DeliverableClass);
5236 static int dissect_deliverable_class(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5237 return dissect_x411_SET_OF_DeliverableClass(FALSE, tvb, offset, pinfo, tree, hf_x411_deliverable_class);
5243 dissect_x411_DefaultDeliveryControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5244 offset = dissect_x411_Controls(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5248 static int dissect_default_delivery_controls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5249 return dissect_x411_DefaultDeliveryControls(FALSE, tvb, offset, pinfo, tree, hf_x411_default_delivery_controls);
5255 dissect_x411_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5256 offset = dissect_x411_MessageClass(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5260 static int dissect_redirection_classes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5261 return dissect_x411_RedirectionClass(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_classes_item);
5265 static const ber_sequence_t SET_OF_RedirectionClass_set_of[1] = {
5266 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_redirection_classes_item },
5270 dissect_x411_SET_OF_RedirectionClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5271 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5272 SET_OF_RedirectionClass_set_of, hf_index, ett_x411_SET_OF_RedirectionClass);
5276 static int dissect_redirection_classes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5277 return dissect_x411_SET_OF_RedirectionClass(TRUE, tvb, offset, pinfo, tree, hf_x411_redirection_classes);
5283 dissect_x411_RecipientAssignedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5284 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5288 static int dissect_recipient_assigned_alternate_recipient_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5289 return dissect_x411_RecipientAssignedAlternateRecipient(TRUE, tvb, offset, pinfo, tree, hf_x411_recipient_assigned_alternate_recipient);
5293 static const ber_sequence_t RecipientRedirection_set[] = {
5294 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirection_classes_impl },
5295 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_assigned_alternate_recipient_impl },
5300 dissect_x411_RecipientRedirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5301 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5302 RecipientRedirection_set, hf_index, ett_x411_RecipientRedirection);
5306 static int dissect_Redirections_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5307 return dissect_x411_RecipientRedirection(FALSE, tvb, offset, pinfo, tree, hf_x411_Redirections_item);
5311 static const ber_sequence_t Redirections_sequence_of[1] = {
5312 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_Redirections_item },
5316 dissect_x411_Redirections(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5317 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5318 Redirections_sequence_of, hf_index, ett_x411_Redirections);
5322 static int dissect_redirections_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5323 return dissect_x411_Redirections(TRUE, tvb, offset, pinfo, tree, hf_x411_redirections);
5327 static const ber_sequence_t RestrictedDelivery_sequence_of[1] = {
5328 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_RestrictedDelivery_item },
5332 dissect_x411_RestrictedDelivery(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5333 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5334 RestrictedDelivery_sequence_of, hf_index, ett_x411_RestrictedDelivery);
5338 static int dissect_restricted_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5339 return dissect_x411_RestrictedDelivery(TRUE, tvb, offset, pinfo, tree, hf_x411_restricted_delivery);
5343 static const asn_namedbit T_standard_parameters_bits[] = {
5344 { 0, &hf_x411_T_standard_parameters_user_name, -1, -1, "user-name", NULL },
5345 { 1, &hf_x411_T_standard_parameters_user_address, -1, -1, "user-address", NULL },
5346 { 2, &hf_x411_T_standard_parameters_deliverable_class, -1, -1, "deliverable-class", NULL },
5347 { 3, &hf_x411_T_standard_parameters_default_delivery_controls, -1, -1, "default-delivery-controls", NULL },
5348 { 4, &hf_x411_T_standard_parameters_redirections, -1, -1, "redirections", NULL },
5349 { 5, &hf_x411_T_standard_parameters_restricted_delivery, -1, -1, "restricted-delivery", NULL },
5350 { 0, NULL, 0, 0, NULL, NULL }
5354 dissect_x411_T_standard_parameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5355 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5356 T_standard_parameters_bits, hf_index, ett_x411_T_standard_parameters,
5361 static int dissect_standard_parameters_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5362 return dissect_x411_T_standard_parameters(TRUE, tvb, offset, pinfo, tree, hf_x411_standard_parameters);
5368 dissect_x411_T_type_extensions_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5369 #line 233 "x411.cnf"
5370 /*XXX not implemented yet */
5376 static int dissect_type_extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5377 return dissect_x411_T_type_extensions_item(FALSE, tvb, offset, pinfo, tree, hf_x411_type_extensions_item);
5381 static const ber_sequence_t T_type_extensions_set_of[1] = {
5382 { BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_type_extensions_item },
5386 dissect_x411_T_type_extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5387 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5388 T_type_extensions_set_of, hf_index, ett_x411_T_type_extensions);
5392 static int dissect_type_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5393 return dissect_x411_T_type_extensions(TRUE, tvb, offset, pinfo, tree, hf_x411_type_extensions);
5397 static const ber_sequence_t RegistrationTypes_sequence[] = {
5398 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_standard_parameters_impl },
5399 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_type_extensions_impl },
5404 dissect_x411_RegistrationTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5405 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5406 RegistrationTypes_sequence, hf_index, ett_x411_RegistrationTypes);
5410 static int dissect_retrieve_registrations_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5411 return dissect_x411_RegistrationTypes(TRUE, tvb, offset, pinfo, tree, hf_x411_retrieve_registrations);
5415 static const ber_sequence_t RegisterArgument_set[] = {
5416 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_user_name },
5417 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_user_address_impl },
5418 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_deliverable_class },
5419 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_default_delivery_controls },
5420 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirections_impl },
5421 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_restricted_delivery_impl },
5422 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_retrieve_registrations_impl },
5423 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5428 dissect_x411_RegisterArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5429 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5430 RegisterArgument_set, hf_index, ett_x411_RegisterArgument);
5434 static int dissect_registered_information_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5435 return dissect_x411_RegisterArgument(TRUE, tvb, offset, pinfo, tree, hf_x411_registered_information);
5439 static const ber_sequence_t T_non_empty_result_set[] = {
5440 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_registered_information_impl },
5441 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5446 dissect_x411_T_non_empty_result(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5447 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5448 T_non_empty_result_set, hf_index, ett_x411_T_non_empty_result);
5452 static int dissect_non_empty_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5453 return dissect_x411_T_non_empty_result(FALSE, tvb, offset, pinfo, tree, hf_x411_non_empty_result);
5457 static const value_string x411_RegisterResult_vals[] = {
5458 { 0, "empty-result" },
5459 { 1, "non-empty-result" },
5463 static const ber_choice_t RegisterResult_choice[] = {
5464 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_empty_result },
5465 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_non_empty_result },
5466 { 0, 0, 0, 0, NULL }
5470 dissect_x411_RegisterResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5471 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5472 RegisterResult_choice, hf_index, ett_x411_RegisterResult,
5479 static const ber_sequence_t ChangeCredentialsArgument_set[] = {
5480 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_old_credentials_impl },
5481 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_new_credentials_impl },
5486 dissect_x411_ChangeCredentialsArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5487 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5488 ChangeCredentialsArgument_set, hf_index, ett_x411_ChangeCredentialsArgument);
5494 static const ber_sequence_t MessageDeliveryEnvelope_sequence[] = {
5495 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_message_delivery_identifier },
5496 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
5497 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_other_fields },
5502 dissect_x411_MessageDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5503 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5504 MessageDeliveryEnvelope_sequence, hf_index, ett_x411_MessageDeliveryEnvelope);
5510 static const ber_sequence_t ReportDeliveryEnvelope_set[] = {
5511 { BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_subject_submission_identifier },
5512 { BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_content_identifier },
5513 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_content_type },
5514 { BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_original_encoded_information_types },
5515 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
5516 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_per_recipient_report_delivery_fields },
5521 dissect_x411_ReportDeliveryEnvelope(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5522 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5523 ReportDeliveryEnvelope_set, hf_index, ett_x411_ReportDeliveryEnvelope);
5529 static const value_string x411_RecipientReassignmentProhibited_vals[] = {
5530 { 0, "recipient-reassignment-allowed" },
5531 { 1, "recipient-reassignment-prohibited" },
5537 dissect_x411_RecipientReassignmentProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5538 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5547 dissect_x411_MTSOriginatorRequestedAlternateRecipient(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5548 offset = dissect_x411_ORAddressAndOrDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5554 static const value_string x411_DLExpansionProhibited_vals[] = {
5555 { 0, "dl-expansion-allowed" },
5556 { 1, "dl-expansion-prohibited" },
5562 dissect_x411_DLExpansionProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5563 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5570 static const value_string x411_ConversionWithLossProhibited_vals[] = {
5571 { 0, "conversion-with-loss-allowed" },
5572 { 1, "conversion-with-loss-prohibited" },
5578 dissect_x411_ConversionWithLossProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5579 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5588 dissect_x411_LatestDeliveryTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5589 offset = dissect_x411_Time(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5595 static const value_string x411_RequestedDeliveryMethod_item_vals[] = {
5596 { 0, "any-delivery-method" },
5597 { 1, "mhs-delivery" },
5598 { 2, "physical-delivery" },
5599 { 3, "telex-delivery" },
5600 { 4, "teletex-delivery" },
5601 { 5, "g3-facsimile-delivery" },
5602 { 6, "g4-facsimile-delivery" },
5603 { 7, "ia5-terminal-delivery" },
5604 { 8, "videotex-delivery" },
5605 { 9, "telephone-delivery" },
5611 dissect_x411_RequestedDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5612 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5617 static int dissect_RequestedDeliveryMethod_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5618 return dissect_x411_RequestedDeliveryMethod_item(FALSE, tvb, offset, pinfo, tree, hf_x411_RequestedDeliveryMethod_item);
5622 static const ber_sequence_t RequestedDeliveryMethod_sequence_of[1] = {
5623 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_RequestedDeliveryMethod_item },
5627 dissect_x411_RequestedDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5628 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5629 RequestedDeliveryMethod_sequence_of, hf_index, ett_x411_RequestedDeliveryMethod);
5635 static const value_string x411_PhysicalForwardingProhibited_vals[] = {
5636 { 0, "physical-forwarding-allowed" },
5637 { 1, "physical-forwarding-prohibited" },
5643 dissect_x411_PhysicalForwardingProhibited(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5644 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5651 static const value_string x411_PhysicalForwardingAddressRequest_vals[] = {
5652 { 0, "physical-forwarding-address-not-requested" },
5653 { 1, "physical-forwarding-address-requested" },
5659 dissect_x411_PhysicalForwardingAddressRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5660 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5667 static const asn_namedbit PhysicalDeliveryModes_bits[] = {
5668 { 0, &hf_x411_PhysicalDeliveryModes_ordinary_mail, -1, -1, "ordinary-mail", NULL },
5669 { 1, &hf_x411_PhysicalDeliveryModes_special_delivery, -1, -1, "special-delivery", NULL },
5670 { 2, &hf_x411_PhysicalDeliveryModes_express_mail, -1, -1, "express-mail", NULL },
5671 { 3, &hf_x411_PhysicalDeliveryModes_counter_collection, -1, -1, "counter-collection", NULL },
5672 { 4, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice, -1, -1, "counter-collection-with-telephone-advice", NULL },
5673 { 5, &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice, -1, -1, "counter-collection-with-telex-advice", NULL },
5674 { 6, &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice, -1, -1, "counter-collection-with-teletex-advice", NULL },
5675 { 7, &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery, -1, -1, "bureau-fax-delivery", NULL },
5676 { 0, NULL, 0, 0, NULL, NULL }
5680 dissect_x411_PhysicalDeliveryModes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5681 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
5682 PhysicalDeliveryModes_bits, hf_index, ett_x411_PhysicalDeliveryModes,
5689 static const value_string x411_RegisteredMailType_vals[] = {
5690 { 0, "non-registered-mail" },
5691 { 1, "registered-mail" },
5692 { 2, "registered-mail-to-addressee-in-person" },
5698 dissect_x411_RegisteredMailType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5699 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5708 dissect_x411_RecipientNumberForAdvice(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5709 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
5710 pinfo, tree, tvb, offset, hf_index,
5719 dissect_x411_PhysicalRenditionAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5720 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5726 static const ber_sequence_t ORAddress_sequence[] = {
5727 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_built_in_standard_attributes },
5728 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_built_in_domain_defined_attributes },
5729 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_extension_attributes },
5734 dissect_x411_ORAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5735 #line 525 "x411.cnf"
5737 oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
5738 doing_address = TRUE;
5739 address_item = NULL;
5741 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5742 ORAddress_sequence, hf_index, ett_x411_ORAddress);
5745 if(*oraddress && address_item)
5746 proto_item_append_text(address_item, " %s/", oraddress);
5748 doing_address = FALSE;
5758 dissect_x411_OriginatorReturnAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5759 offset = dissect_x411_ORAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5765 static const value_string x411_PhysicalDeliveryReportRequest_vals[] = {
5766 { 0, "return-of-undeliverable-mail-by-PDS" },
5767 { 1, "return-of-notification-by-PDS" },
5768 { 2, "return-of-notification-by-MHS" },
5769 { 3, "return-of-notification-by-MHS-and-PDS" },
5775 dissect_x411_PhysicalDeliveryReportRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5776 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5785 dissect_x411_OriginatorCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5786 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5794 dissect_x411_MessageToken(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5795 offset = dissect_x411_Token(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5803 dissect_x411_ContentConfidentialityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5804 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5808 static int dissect_content_confidentiality_algorithm_identifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5809 return dissect_x411_ContentConfidentialityAlgorithmIdentifier(TRUE, tvb, offset, pinfo, tree, hf_x411_content_confidentiality_algorithm_identifier);
5815 dissect_x411_ContentIntegrityCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5816 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5820 static int dissect_content_integrity_check_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5821 return dissect_x411_ContentIntegrityCheck(TRUE, tvb, offset, pinfo, tree, hf_x411_content_integrity_check);
5827 dissect_x411_ContentIntegrityAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5828 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5836 dissect_x411_MessageOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5837 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5845 dissect_x411_MessageOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5846 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5854 dissect_x411_MessageSecurityLabel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5855 offset = dissect_x411_SecurityLabel(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5859 static int dissect_message_security_label_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5860 return dissect_x411_MessageSecurityLabel(TRUE, tvb, offset, pinfo, tree, hf_x411_message_security_label);
5864 static const value_string x411_ProofOfSubmissionRequest_vals[] = {
5865 { 0, "proof-of-submission-not-requested" },
5866 { 1, "proof-of-submission-requested" },
5872 dissect_x411_ProofOfSubmissionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5873 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5880 static const value_string x411_ProofOfDeliveryRequest_vals[] = {
5881 { 0, "proof-of-delivery-not-requested" },
5882 { 1, "proof-of-delivery-requested" },
5888 dissect_x411_ProofOfDeliveryRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5889 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5894 static int dissect_proof_of_delivery_request_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5895 return dissect_x411_ProofOfDeliveryRequest(TRUE, tvb, offset, pinfo, tree, hf_x411_proof_of_delivery_request);
5899 static const value_string x411_ContentCorrelator_vals[] = {
5905 static const ber_choice_t ContentCorrelator_choice[] = {
5906 { 0, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_ia5text },
5907 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_octets },
5908 { 0, 0, 0, 0, NULL }
5912 dissect_x411_ContentCorrelator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5913 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5914 ContentCorrelator_choice, hf_index, ett_x411_ContentCorrelator,
5923 dissect_x411_ProbeOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5924 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5932 dissect_x411_ProbeOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5933 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
5939 static const ber_sequence_t IntendedRecipientName_sequence[] = {
5940 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_intended_recipient },
5941 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_redirection_time },
5946 dissect_x411_IntendedRecipientName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5947 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5948 IntendedRecipientName_sequence, hf_index, ett_x411_IntendedRecipientName);
5952 static int dissect_intended_recipient_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5953 return dissect_x411_IntendedRecipientName(FALSE, tvb, offset, pinfo, tree, hf_x411_intended_recipient_name);
5957 static const value_string x411_RedirectionReason_vals[] = {
5958 { 0, "recipient-assigned-alternate-recipient" },
5959 { 1, "originator-requested-alternate-recipient" },
5960 { 2, "recipient-MD-assigned-alternate-recipient" },
5961 { 3, "directory-look-up" },
5968 dissect_x411_RedirectionReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5969 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5974 static int dissect_redirection_reason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5975 return dissect_x411_RedirectionReason(FALSE, tvb, offset, pinfo, tree, hf_x411_redirection_reason);
5979 static const ber_sequence_t Redirection_sequence[] = {
5980 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_intended_recipient_name },
5981 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_redirection_reason },
5986 dissect_x411_Redirection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5987 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5988 Redirection_sequence, hf_index, ett_x411_Redirection);
5992 static int dissect_RedirectionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5993 return dissect_x411_Redirection(FALSE, tvb, offset, pinfo, tree, hf_x411_RedirectionHistory_item);
5997 static const ber_sequence_t RedirectionHistory_sequence_of[1] = {
5998 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RedirectionHistory_item },
6002 dissect_x411_RedirectionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6003 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6004 RedirectionHistory_sequence_of, hf_index, ett_x411_RedirectionHistory);
6010 static const ber_sequence_t DLExpansion_sequence[] = {
6011 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_dl },
6012 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dl_expansion_time },
6017 dissect_x411_DLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6018 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6019 DLExpansion_sequence, hf_index, ett_x411_DLExpansion);
6023 static int dissect_DLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6024 return dissect_x411_DLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_DLExpansionHistory_item);
6028 static const ber_sequence_t DLExpansionHistory_sequence_of[1] = {
6029 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_DLExpansionHistory_item },
6033 dissect_x411_DLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6034 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6035 DLExpansionHistory_sequence_of, hf_index, ett_x411_DLExpansionHistory);
6043 dissect_x411_PhysicalForwardingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6044 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6050 static const ber_sequence_t OriginatorAndDLExpansion_sequence[] = {
6051 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_originator_or_dl_name },
6052 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_origination_or_expansion_time },
6057 dissect_x411_OriginatorAndDLExpansion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6058 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6059 OriginatorAndDLExpansion_sequence, hf_index, ett_x411_OriginatorAndDLExpansion);
6063 static int dissect_OriginatorAndDLExpansionHistory_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6064 return dissect_x411_OriginatorAndDLExpansion(FALSE, tvb, offset, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_item);
6068 static const ber_sequence_t OriginatorAndDLExpansionHistory_sequence_of[1] = {
6069 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_OriginatorAndDLExpansionHistory_item },
6073 dissect_x411_OriginatorAndDLExpansionHistory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6074 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6075 OriginatorAndDLExpansionHistory_sequence_of, hf_index, ett_x411_OriginatorAndDLExpansionHistory);
6083 dissect_x411_ReportingDLName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6084 offset = dissect_x411_ORAddressAndOptionalDirectoryName(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6092 dissect_x411_ReportingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6093 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6101 dissect_x411_ReportOriginAuthenticationCheck(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6102 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6110 dissect_x411_ReportOriginAuthenticationAlgorithmIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6111 offset = dissect_x509af_AlgorithmIdentifier(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6117 static const ber_sequence_t PerRecipientDeliveryReportFields_sequence[] = {
6118 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_message_delivery_time },
6119 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_type_of_MTS_user },
6120 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_recipient_certificate_impl },
6125 dissect_x411_PerRecipientDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6126 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6127 PerRecipientDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientDeliveryReportFields);
6131 static int dissect_report_type_delivery_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6132 return dissect_x411_PerRecipientDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_report_type_delivery);
6136 static const ber_sequence_t PerRecipientNonDeliveryReportFields_sequence[] = {
6137 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_non_delivery_reason_code },
6138 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_non_delivery_diagnostic_code },
6143 dissect_x411_PerRecipientNonDeliveryReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6144 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6145 PerRecipientNonDeliveryReportFields_sequence, hf_index, ett_x411_PerRecipientNonDeliveryReportFields);
6149 static int dissect_non_delivery_report_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6150 return dissect_x411_PerRecipientNonDeliveryReportFields(TRUE, tvb, offset, pinfo, tree, hf_x411_non_delivery_report);
6154 static const value_string x411_T_report_type_vals[] = {
6156 { 1, "non-delivery" },
6160 static const ber_choice_t T_report_type_choice[] = {
6161 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_report_type_delivery_impl },
6162 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_non_delivery_report_impl },
6163 { 0, 0, 0, 0, NULL }
6167 dissect_x411_T_report_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6168 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6169 T_report_type_choice, hf_index, ett_x411_T_report_type,
6174 static int dissect_report_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6175 return dissect_x411_T_report_type(FALSE, tvb, offset, pinfo, tree, hf_x411_report_type);
6179 static const ber_sequence_t PerRecipientReportFields_sequence[] = {
6180 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_actual_recipient_name },
6181 { BER_CLASS_APP, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_originally_intended_recipient_name },
6182 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_report_type },
6187 dissect_x411_PerRecipientReportFields(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6188 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6189 PerRecipientReportFields_sequence, hf_index, ett_x411_PerRecipientReportFields);
6197 dissect_x411_OriginatingMTACertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6198 offset = dissect_x509af_Certificates(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6206 dissect_x411_ProofOfSubmission(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6207 offset = dissect_x411_Signature(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6213 static const ber_sequence_t ReportingMTAName_sequence[] = {
6214 { BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_domain },
6215 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
6216 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mta_directory_name_impl },
6221 dissect_x411_ReportingMTAName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6222 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6223 ReportingMTAName_sequence, hf_index, ett_x411_ReportingMTAName);
6229 static const value_string x411_ExtendedCertificate_vals[] = {
6230 { 0, "directory-entry" },
6231 { 1, "certificate" },
6235 static const ber_choice_t ExtendedCertificate_choice[] = {
6236 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_directory_entry_impl },
6237 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_certificate_impl },
6238 { 0, 0, 0, 0, NULL }
6242 dissect_x411_ExtendedCertificate(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6243 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6244 ExtendedCertificate_choice, hf_index, ett_x411_ExtendedCertificate,
6249 static int dissect_ExtendedCertificates_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6250 return dissect_x411_ExtendedCertificate(FALSE, tvb, offset, pinfo, tree, hf_x411_ExtendedCertificates_item);
6254 static const ber_sequence_t ExtendedCertificates_set_of[1] = {
6255 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ExtendedCertificates_item },
6259 dissect_x411_ExtendedCertificates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6260 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
6261 ExtendedCertificates_set_of, hf_index, ett_x411_ExtendedCertificates);
6267 static const ber_sequence_t DLExemptedRecipients_set_of[1] = {
6268 { BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_DLExemptedRecipients_item },
6272 dissect_x411_DLExemptedRecipients(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6273 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
6274 DLExemptedRecipients_set_of, hf_index, ett_x411_DLExemptedRecipients);
6280 static const ber_sequence_t CertificateSelectors_set[] = {
6281 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_recipient_impl },
6282 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_originator_impl },
6283 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectors_content_integrity_check_impl },
6284 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_token_signature_impl },
6285 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_origin_authentication_impl },
6290 dissect_x411_CertificateSelectors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6291 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6292 CertificateSelectors_set, hf_index, ett_x411_CertificateSelectors);
6300 dissect_x411_CommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6301 #line 467 "x411.cnf"
6302 tvbuff_t *string = NULL;
6304 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6305 pinfo, tree, tvb, offset, hf_index,
6309 if(doing_address && string) {
6310 g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN);
6311 g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
6324 dissect_x411_TeletexCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6325 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6326 pinfo, tree, tvb, offset, hf_index,
6335 dissect_x411_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6336 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
6337 pinfo, tree, tvb, offset, hf_index,
6342 static int dissect_two_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6343 return dissect_x411_BMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_two_octets);
6349 dissect_x411_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6350 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
6351 pinfo, tree, tvb, offset, hf_index,
6356 static int dissect_four_octets(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6357 return dissect_x411_UniversalString(FALSE, tvb, offset, pinfo, tree, hf_x411_four_octets);
6361 static const value_string x411_T_character_encoding_vals[] = {
6362 { 0, "two-octets" },
6363 { 1, "four-octets" },
6367 static const ber_choice_t T_character_encoding_choice[] = {
6368 { 0, BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_two_octets },
6369 { 1, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_four_octets },
6370 { 0, 0, 0, 0, NULL }
6374 dissect_x411_T_character_encoding(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6375 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6376 T_character_encoding_choice, hf_index, ett_x411_T_character_encoding,
6381 static int dissect_character_encoding(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6382 return dissect_x411_T_character_encoding(FALSE, tvb, offset, pinfo, tree, hf_x411_character_encoding);
6386 static const ber_sequence_t UniversalOrBMPString_set[] = {
6387 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_character_encoding },
6388 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_iso_639_language_code },
6393 dissect_x411_UniversalOrBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6394 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6395 UniversalOrBMPString_set, hf_index, ett_x411_UniversalOrBMPString);
6399 static int dissect_universal_surname_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6400 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_surname);
6402 static int dissect_universal_given_name_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6403 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_given_name);
6405 static int dissect_universal_initials_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6406 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_initials);
6408 static int dissect_universal_generation_qualifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6409 return dissect_x411_UniversalOrBMPString(TRUE, tvb, offset, pinfo, tree, hf_x411_universal_generation_qualifier);
6411 static int dissect_universal_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6412 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_type);
6414 static int dissect_universal_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6415 return dissect_x411_UniversalOrBMPString(FALSE, tvb, offset, pinfo, tree, hf_x411_universal_value);
6421 dissect_x411_UniversalCommonName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6422 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6430 dissect_x411_TeletexOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6431 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6432 pinfo, tree, tvb, offset, hf_index,
6441 dissect_x411_UniversalOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6442 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6448 static const ber_sequence_t TeletexPersonalName_set[] = {
6449 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_teletex_surname_impl },
6450 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_given_name_impl },
6451 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_initials_impl },
6452 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_generation_qualifier_impl },
6457 dissect_x411_TeletexPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6458 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6459 TeletexPersonalName_set, hf_index, ett_x411_TeletexPersonalName);
6465 static const ber_sequence_t UniversalPersonalName_set[] = {
6466 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_universal_surname_impl },
6467 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_given_name_impl },
6468 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_initials_impl },
6469 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_universal_generation_qualifier_impl },
6474 dissect_x411_UniversalPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6475 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6476 UniversalPersonalName_set, hf_index, ett_x411_UniversalPersonalName);
6484 dissect_x411_TeletexOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6485 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
6486 pinfo, tree, tvb, offset, hf_index,
6491 static int dissect_TeletexOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6492 return dissect_x411_TeletexOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_item);
6496 static const ber_sequence_t TeletexOrganizationalUnitNames_sequence_of[1] = {
6497 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_TeletexOrganizationalUnitNames_item },
6501 dissect_x411_TeletexOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6502 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6503 TeletexOrganizationalUnitNames_sequence_of, hf_index, ett_x411_TeletexOrganizationalUnitNames);
6511 dissect_x411_UniversalOrganizationalUnitName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6512 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6516 static int dissect_UniversalOrganizationalUnitNames_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6517 return dissect_x411_UniversalOrganizationalUnitName(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_item);
6521 static const ber_sequence_t UniversalOrganizationalUnitNames_sequence_of[1] = {
6522 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_UniversalOrganizationalUnitNames_item },
6526 dissect_x411_UniversalOrganizationalUnitNames(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6527 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6528 UniversalOrganizationalUnitNames_sequence_of, hf_index, ett_x411_UniversalOrganizationalUnitNames);
6536 dissect_x411_PDSName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6537 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
6538 pinfo, tree, tvb, offset, hf_index,
6545 static const value_string x411_PhysicalDeliveryCountryName_vals[] = {
6546 { 0, "x121-dcc-code" },
6547 { 1, "iso-3166-alpha2-code" },
6551 static const ber_choice_t PhysicalDeliveryCountryName_choice[] = {
6552 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_x121_dcc_code },
6553 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_iso_3166_alpha2_code },
6554 { 0, 0, 0, 0, NULL }
6558 dissect_x411_PhysicalDeliveryCountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6559 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6560 PhysicalDeliveryCountryName_choice, hf_index, ett_x411_PhysicalDeliveryCountryName,
6567 static const value_string x411_PostalCode_vals[] = {
6568 { 0, "numeric-code" },
6569 { 1, "printable-code" },
6573 static const ber_choice_t PostalCode_choice[] = {
6574 { 0, BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_NOOWNTAG, dissect_numeric_code },
6575 { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_code },
6576 { 0, 0, 0, 0, NULL }
6580 dissect_x411_PostalCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6581 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6582 PostalCode_choice, hf_index, ett_x411_PostalCode,
6589 static const ber_sequence_t PDSParameter_set[] = {
6590 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_string },
6591 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6596 dissect_x411_PDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6597 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6598 PDSParameter_set, hf_index, ett_x411_PDSParameter);
6606 dissect_x411_PhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6607 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6615 dissect_x411_UniversalPDSParameter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6616 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6624 dissect_x411_UniversalPhysicalDeliveryOfficeName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6625 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6633 dissect_x411_PhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6634 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6642 dissect_x411_UniversalPhysicalDeliveryOfficeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6643 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6651 dissect_x411_ExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6652 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6660 dissect_x411_UniversalExtensionORAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6661 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6669 dissect_x411_PhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6670 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6678 dissect_x411_UniversalPhysicalDeliveryPersonalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6679 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6687 dissect_x411_PhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6688 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6696 dissect_x411_UniversalPhysicalDeliveryOrganizationName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6697 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6705 dissect_x411_ExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6706 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6714 dissect_x411_UniversalExtensionPhysicalDeliveryAddressComponents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6715 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6721 static const ber_sequence_t T_printable_address_sequence_of[1] = {
6722 { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_printable_address_item },
6726 dissect_x411_T_printable_address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6727 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6728 T_printable_address_sequence_of, hf_index, ett_x411_T_printable_address);
6732 static int dissect_printable_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6733 return dissect_x411_T_printable_address(FALSE, tvb, offset, pinfo, tree, hf_x411_printable_address);
6737 static const ber_sequence_t UnformattedPostalAddress_set[] = {
6738 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_printable_address },
6739 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_teletex_string },
6744 dissect_x411_UnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6745 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6746 UnformattedPostalAddress_set, hf_index, ett_x411_UnformattedPostalAddress);
6754 dissect_x411_UniversalUnformattedPostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6755 offset = dissect_x411_UniversalOrBMPString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6763 dissect_x411_StreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6764 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6772 dissect_x411_UniversalStreetAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6773 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6781 dissect_x411_PostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6782 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6790 dissect_x411_UniversalPostOfficeBoxAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6791 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6799 dissect_x411_UniversalPosteRestanteAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6800 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6808 dissect_x411_UniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6809 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6817 dissect_x411_UniversalUniquePostalName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6818 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6826 dissect_x411_LocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6827 offset = dissect_x411_PDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6835 dissect_x411_UniversalLocalPostalAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6836 offset = dissect_x411_UniversalPDSParameter(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6842 static const ber_sequence_t T_e163_4_address_sequence[] = {
6843 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_number_impl },
6844 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sub_address_impl },
6849 dissect_x411_T_e163_4_address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6850 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6851 T_e163_4_address_sequence, hf_index, ett_x411_T_e163_4_address);
6855 static int dissect_e163_4_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6856 return dissect_x411_T_e163_4_address(FALSE, tvb, offset, pinfo, tree, hf_x411_e163_4_address);
6860 static const value_string x411_ExtendedNetworkAddress_vals[] = {
6861 { 0, "e163-4-address" },
6862 { 1, "psap-address" },
6866 static const ber_choice_t ExtendedNetworkAddress_choice[] = {
6867 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_e163_4_address },
6868 { 1, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_psap_address_impl },
6869 { 0, 0, 0, 0, NULL }
6873 dissect_x411_ExtendedNetworkAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6874 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6875 ExtendedNetworkAddress_choice, hf_index, ett_x411_ExtendedNetworkAddress,
6882 static const value_string x411_TerminalType_vals[] = {
6885 { 5, "g3-facsimile" },
6886 { 6, "g4-facsimile" },
6887 { 7, "ia5-terminal" },
6894 dissect_x411_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6895 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6902 static const ber_sequence_t TeletexDomainDefinedAttribute_sequence[] = {
6903 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_type },
6904 { BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_teletex_value },
6909 dissect_x411_TeletexDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6910 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6911 TeletexDomainDefinedAttribute_sequence, hf_index, ett_x411_TeletexDomainDefinedAttribute);
6915 static int dissect_TeletexDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6916 return dissect_x411_TeletexDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_TeletexDomainDefinedAttributes_item);
6920 static const ber_sequence_t TeletexDomainDefinedAttributes_sequence_of[1] = {
6921 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_TeletexDomainDefinedAttributes_item },
6925 dissect_x411_TeletexDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6926 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6927 TeletexDomainDefinedAttributes_sequence_of, hf_index, ett_x411_TeletexDomainDefinedAttributes);
6933 static const ber_sequence_t UniversalDomainDefinedAttribute_sequence[] = {
6934 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_type },
6935 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_universal_value },
6940 dissect_x411_UniversalDomainDefinedAttribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6941 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6942 UniversalDomainDefinedAttribute_sequence, hf_index, ett_x411_UniversalDomainDefinedAttribute);
6946 static int dissect_UniversalDomainDefinedAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6947 return dissect_x411_UniversalDomainDefinedAttribute(FALSE, tvb, offset, pinfo, tree, hf_x411_UniversalDomainDefinedAttributes_item);
6951 static const ber_sequence_t UniversalDomainDefinedAttributes_sequence_of[1] = {
6952 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_UniversalDomainDefinedAttributes_item },
6956 dissect_x411_UniversalDomainDefinedAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6957 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6958 UniversalDomainDefinedAttributes_sequence_of, hf_index, ett_x411_UniversalDomainDefinedAttributes);
6964 static const ber_sequence_t NonBasicParameters_set[] = {
6965 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_g3_facsimile_impl },
6966 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_teletex_impl },
6971 dissect_x411_NonBasicParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6972 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
6973 NonBasicParameters_set, hf_index, ett_x411_NonBasicParameters);
6979 static const ber_sequence_t MTANameAndOptionalGDI_sequence[] = {
6980 { BER_CLASS_APP, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_global_domain_identifier },
6981 { BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_mta_name },
6986 dissect_x411_MTANameAndOptionalGDI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6987 #line 581 "x411.cnf"
6989 doing_address = TRUE;
6991 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6992 MTANameAndOptionalGDI_sequence, hf_index, ett_x411_MTANameAndOptionalGDI);
6995 doing_address = FALSE;
6996 proto_item_append_text(tree, ")");
7002 static int dissect_token_mta_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7003 return dissect_x411_MTANameAndOptionalGDI(TRUE, tvb, offset, pinfo, tree, hf_x411_token_mta);
7007 static const value_string x411_T_name_vals[] = {
7008 { 0, "recipient-name" },
7013 static const ber_choice_t T_name_choice[] = {
7014 { 0, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_token_recipient_name },
7015 { 1, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_token_mta_impl },
7016 { 0, 0, 0, 0, NULL }
7020 dissect_x411_T_name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7021 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7022 T_name_choice, hf_index, ett_x411_T_name,
7027 static int dissect_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7028 return dissect_x411_T_name(FALSE, tvb, offset, pinfo, tree, hf_x411_name);
7034 dissect_x411_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7035 #line 681 "x411.cnf"
7037 offset=call_x411_oid_callback("x411.tokendata", tvb, offset, pinfo, tree);
7043 static int dissect_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7044 return dissect_x411_T_value(TRUE, tvb, offset, pinfo, tree, hf_x411_value);
7048 static const ber_sequence_t TokenData_sequence[] = {
7049 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_token_data_type_impl },
7050 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_value_impl },
7055 dissect_x411_TokenData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7056 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7057 TokenData_sequence, hf_index, ett_x411_TokenData);
7061 static int dissect_signed_data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7062 return dissect_x411_TokenData(TRUE, tvb, offset, pinfo, tree, hf_x411_signed_data);
7066 static const ber_sequence_t AsymmetricTokenData_sequence[] = {
7067 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signature_algorithm_identifier },
7068 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
7069 { BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_time },
7070 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_signed_data_impl },
7071 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encryption_algorithm_identifier_impl },
7072 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_encrypted_data_impl },
7077 dissect_x411_AsymmetricTokenData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7078 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7079 AsymmetricTokenData_sequence, hf_index, ett_x411_AsymmetricTokenData);
7083 static int dissect_asymmetric_token_data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7084 return dissect_x411_AsymmetricTokenData(FALSE, tvb, offset, pinfo, tree, hf_x411_asymmetric_token_data);
7088 static const ber_sequence_t AsymmetricToken_sequence[] = {
7089 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_asymmetric_token_data },
7090 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithm_identifier },
7091 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
7096 dissect_x411_AsymmetricToken(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7097 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7098 AsymmetricToken_sequence, hf_index, ett_x411_AsymmetricToken);
7106 dissect_x411_RandomNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7107 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7117 dissect_x411_BindTokenSignedData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7118 offset = dissect_x411_RandomNumber(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7124 static const ber_sequence_t MessageTokenSignedData_sequence[] = {
7125 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_confidentiality_algorithm_identifier_impl },
7126 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
7127 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_security_label_impl },
7128 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_proof_of_delivery_request_impl },
7129 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_sequence_number_impl },
7134 dissect_x411_MessageTokenSignedData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7135 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7136 MessageTokenSignedData_sequence, hf_index, ett_x411_MessageTokenSignedData);
7144 dissect_x411_EncryptionKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7145 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7151 static int dissect_content_confidentiality_key_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7152 return dissect_x411_EncryptionKey(TRUE, tvb, offset, pinfo, tree, hf_x411_content_confidentiality_key);
7154 static int dissect_content_integrity_key_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7155 return dissect_x411_EncryptionKey(TRUE, tvb, offset, pinfo, tree, hf_x411_content_integrity_key);
7159 static const ber_sequence_t MessageTokenEncryptedData_sequence[] = {
7160 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_confidentiality_key_impl },
7161 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_check_impl },
7162 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_security_label_impl },
7163 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_content_integrity_key_impl },
7164 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_message_sequence_number_impl },
7169 dissect_x411_MessageTokenEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7170 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7171 MessageTokenEncryptedData_sequence, hf_index, ett_x411_MessageTokenEncryptedData);
7179 dissect_x411_BindTokenEncryptedData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7180 offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
7187 static void dissect_MTABindArgument_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7188 dissect_x411_MTABindArgument(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindArgument_PDU);
7190 static void dissect_MTABindResult_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7191 dissect_x411_MTABindResult(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindResult_PDU);
7193 static void dissect_MTABindError_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7194 dissect_x411_MTABindError(FALSE, tvb, 0, pinfo, tree, hf_x411_MTABindError_PDU);
7196 static void dissect_MTS_APDU_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7197 dissect_x411_MTS_APDU(FALSE, tvb, 0, pinfo, tree, hf_x411_MTS_APDU_PDU);
7199 static void dissect_InternalTraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7200 dissect_x411_InternalTraceInformation(FALSE, tvb, 0, pinfo, tree, hf_x411_InternalTraceInformation_PDU);
7202 static void dissect_TraceInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7203 dissect_x411_TraceInformation(TRUE, tvb, 0, pinfo, tree, hf_x411_TraceInformation_PDU);
7205 static void dissect_ReportDeliveryArgument_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7206 dissect_x411_ReportDeliveryArgument(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportDeliveryArgument_PDU);
7208 static void dissect_RecipientCertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7209 dissect_x411_RecipientCertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientCertificate_PDU);
7211 static void dissect_ProofOfDelivery_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7212 dissect_x411_ProofOfDelivery(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfDelivery_PDU);
7214 static void dissect_ExtendedContentType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7215 dissect_x411_ExtendedContentType(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedContentType_PDU);
7217 static void dissect_ContentLength_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7218 dissect_x411_ContentLength(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentLength_PDU);
7220 static void dissect_RecipientReassignmentProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7221 dissect_x411_RecipientReassignmentProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientReassignmentProhibited_PDU);
7223 static void dissect_MTSOriginatorRequestedAlternateRecipient_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7224 dissect_x411_MTSOriginatorRequestedAlternateRecipient(FALSE, tvb, 0, pinfo, tree, hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU);
7226 static void dissect_DLExpansionProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7227 dissect_x411_DLExpansionProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionProhibited_PDU);
7229 static void dissect_ConversionWithLossProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7230 dissect_x411_ConversionWithLossProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_ConversionWithLossProhibited_PDU);
7232 static void dissect_LatestDeliveryTime_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7233 dissect_x411_LatestDeliveryTime(FALSE, tvb, 0, pinfo, tree, hf_x411_LatestDeliveryTime_PDU);
7235 static void dissect_RequestedDeliveryMethod_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7236 dissect_x411_RequestedDeliveryMethod(FALSE, tvb, 0, pinfo, tree, hf_x411_RequestedDeliveryMethod_PDU);
7238 static void dissect_PhysicalForwardingProhibited_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7239 dissect_x411_PhysicalForwardingProhibited(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingProhibited_PDU);
7241 static void dissect_PhysicalForwardingAddressRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7242 dissect_x411_PhysicalForwardingAddressRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddressRequest_PDU);
7244 static void dissect_PhysicalDeliveryModes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7245 dissect_x411_PhysicalDeliveryModes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryModes_PDU);
7247 static void dissect_RegisteredMailType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7248 dissect_x411_RegisteredMailType(FALSE, tvb, 0, pinfo, tree, hf_x411_RegisteredMailType_PDU);
7250 static void dissect_RecipientNumberForAdvice_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7251 dissect_x411_RecipientNumberForAdvice(FALSE, tvb, 0, pinfo, tree, hf_x411_RecipientNumberForAdvice_PDU);
7253 static void dissect_PhysicalRenditionAttributes_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7254 dissect_x411_PhysicalRenditionAttributes(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalRenditionAttributes_PDU);
7256 static void dissect_OriginatorReturnAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7257 dissect_x411_OriginatorReturnAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorReturnAddress_PDU);
7259 static void dissect_PhysicalDeliveryReportRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7260 dissect_x411_PhysicalDeliveryReportRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryReportRequest_PDU);
7262 static void dissect_OriginatorCertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7263 dissect_x411_OriginatorCertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorCertificate_PDU);
7265 static void dissect_MessageToken_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7266 dissect_x411_MessageToken(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageToken_PDU);
7268 static void dissect_ContentConfidentialityAlgorithmIdentifier_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7269 dissect_x411_ContentConfidentialityAlgorithmIdentifier(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU);
7271 static void dissect_ContentIntegrityCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7272 dissect_x411_ContentIntegrityCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentIntegrityCheck_PDU);
7274 static void dissect_MessageOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7275 dissect_x411_MessageOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageOriginAuthenticationCheck_PDU);
7277 static void dissect_MessageSecurityLabel_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7278 dissect_x411_MessageSecurityLabel(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageSecurityLabel_PDU);
7280 static void dissect_ProofOfSubmissionRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7281 dissect_x411_ProofOfSubmissionRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfSubmissionRequest_PDU);
7283 static void dissect_ProofOfDeliveryRequest_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7284 dissect_x411_ProofOfDeliveryRequest(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfDeliveryRequest_PDU);
7286 static void dissect_ContentCorrelator_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7287 dissect_x411_ContentCorrelator(FALSE, tvb, 0, pinfo, tree, hf_x411_ContentCorrelator_PDU);
7289 static void dissect_ProbeOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7290 dissect_x411_ProbeOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ProbeOriginAuthenticationCheck_PDU);
7292 static void dissect_RedirectionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7293 dissect_x411_RedirectionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_RedirectionHistory_PDU);
7295 static void dissect_DLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7296 dissect_x411_DLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExpansionHistory_PDU);
7298 static void dissect_PhysicalForwardingAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7299 dissect_x411_PhysicalForwardingAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalForwardingAddress_PDU);
7301 static void dissect_OriginatorAndDLExpansionHistory_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7302 dissect_x411_OriginatorAndDLExpansionHistory(FALSE, tvb, 0, pinfo, tree, hf_x411_OriginatorAndDLExpansionHistory_PDU);
7304 static void dissect_ReportingDLName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7305 dissect_x411_ReportingDLName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingDLName_PDU);
7307 static void dissect_ReportingMTACertificate_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7308 dissect_x411_ReportingMTACertificate(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTACertificate_PDU);
7310 static void dissect_ReportOriginAuthenticationCheck_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7311 dissect_x411_ReportOriginAuthenticationCheck(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportOriginAuthenticationCheck_PDU);
7313 static void dissect_ProofOfSubmission_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7314 dissect_x411_ProofOfSubmission(FALSE, tvb, 0, pinfo, tree, hf_x411_ProofOfSubmission_PDU);
7316 static void dissect_ReportingMTAName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7317 dissect_x411_ReportingMTAName(FALSE, tvb, 0, pinfo, tree, hf_x411_ReportingMTAName_PDU);
7319 static void dissect_ExtendedCertificates_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7320 dissect_x411_ExtendedCertificates(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedCertificates_PDU);
7322 static void dissect_DLExemptedRecipients_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7323 dissect_x411_DLExemptedRecipients(FALSE, tvb, 0, pinfo, tree, hf_x411_DLExemptedRecipients_PDU);
7325 static void dissect_CertificateSelectors_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7326 dissect_x411_CertificateSelectors(FALSE, tvb, 0, pinfo, tree, hf_x411_CertificateSelectors_PDU);
7328 static void dissect_ORName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7329 dissect_x411_ORName(TRUE, tvb, 0, pinfo, tree, hf_x411_ORName_PDU);
7331 static void dissect_ORAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7332 dissect_x411_ORAddress(FALSE, tvb, 0, pinfo, tree, hf_x411_ORAddress_PDU);
7334 static void dissect_CommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7335 dissect_x411_CommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_CommonName_PDU);
7337 static void dissect_TeletexCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7338 dissect_x411_TeletexCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexCommonName_PDU);
7340 static void dissect_UniversalCommonName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7341 dissect_x411_UniversalCommonName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalCommonName_PDU);
7343 static void dissect_TeletexOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7344 dissect_x411_TeletexOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationName_PDU);
7346 static void dissect_UniversalOrganizationName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7347 dissect_x411_UniversalOrganizationName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationName_PDU);
7349 static void dissect_TeletexPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7350 dissect_x411_TeletexPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexPersonalName_PDU);
7352 static void dissect_UniversalPersonalName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7353 dissect_x411_UniversalPersonalName(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalPersonalName_PDU);
7355 static void dissect_TeletexOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7356 dissect_x411_TeletexOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_TeletexOrganizationalUnitNames_PDU);
7358 static void dissect_UniversalOrganizationalUnitNames_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7359 dissect_x411_UniversalOrganizationalUnitNames(FALSE, tvb, 0, pinfo, tree, hf_x411_UniversalOrganizationalUnitNames_PDU);
7361 static void dissect_PDSName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7362 dissect_x411_PDSName(FALSE, tvb, 0, pinfo, tree, hf_x411_PDSName_PDU);
7364 static void dissect_PhysicalDeliveryCountryName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7365 dissect_x411_PhysicalDeliveryCountryName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryCountryName_PDU);
7367 static void dissect_PostalCode_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7368 dissect_x411_PostalCode(FALSE, tvb, 0, pinfo, tree, hf_x411_PostalCode_PDU);
7370 static void dissect_PhysicalDeliveryOfficeName_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7371 dissect_x411_PhysicalDeliveryOfficeName(FALSE, tvb, 0, pinfo, tree, hf_x411_PhysicalDeliveryOfficeName_PDU);
7373 static void dissect_ExtendedEncodedInformationType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7374 dissect_x411_ExtendedEncodedInformationType(FALSE, tvb, 0, pinfo, tree, hf_x411_ExtendedEncodedInformationType_PDU);
7376 static void dissect_MTANameAndOptionalGDI_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7377 dissect_x411_MTANameAndOptionalGDI(FALSE, tvb, 0, pinfo, tree, hf_x411_MTANameAndOptionalGDI_PDU);
7379 static void dissect_AsymmetricToken_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7380 dissect_x411_AsymmetricToken(FALSE, tvb, 0, pinfo, tree, hf_x411_AsymmetricToken_PDU);
7382 static void dissect_BindTokenSignedData_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7383 dissect_x411_BindTokenSignedData(FALSE, tvb, 0, pinfo, tree, hf_x411_BindTokenSignedData_PDU);
7385 static void dissect_MessageTokenSignedData_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7386 dissect_x411_MessageTokenSignedData(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageTokenSignedData_PDU);
7388 static void dissect_MessageTokenEncryptedData_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7389 dissect_x411_MessageTokenEncryptedData(FALSE, tvb, 0, pinfo, tree, hf_x411_MessageTokenEncryptedData_PDU);
7391 static void dissect_BindTokenEncryptedData_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
7392 dissect_x411_BindTokenEncryptedData(FALSE, tvb, 0, pinfo, tree, hf_x411_BindTokenEncryptedData_PDU);
7396 /*--- End of included file: packet-x411-fn.c ---*/
7397 #line 83 "packet-x411-template.c"
7400 call_x411_oid_callback(char *base_oid, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
7402 const char *name = NULL;
7403 char extension_oid[MAX_OID_STR_LEN];
7405 sprintf(extension_oid, "%s.%d", base_oid, extension_id);
7407 name = get_oid_str_name(extension_oid);
7408 proto_item_append_text(tree, " (%s)", name ? name : extension_oid);
7410 return call_ber_oid_callback(extension_oid, tvb, offset, pinfo, tree);
7416 * Dissect X411 MTS APDU
7419 dissect_x411_mts_apdu (tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7421 proto_item *item=NULL;
7422 proto_tree *tree=NULL;
7424 /* save parent_tree so subdissectors can create new top nodes */
7425 top_tree=parent_tree;
7428 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7429 tree = proto_item_add_subtree(item, ett_x411);
7432 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7433 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7434 if (check_col(pinfo->cinfo, COL_INFO))
7435 col_set_str(pinfo->cinfo, COL_INFO, "Transfer");
7437 dissect_x411_MTS_APDU (FALSE, tvb, 0, pinfo, tree, hf_x411_MTS_APDU_PDU);
7441 * Dissect X411 PDUs inside a PPDU.
7444 dissect_x411(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
7448 proto_item *item=NULL;
7449 proto_tree *tree=NULL;
7450 int (*x411_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) = NULL;
7454 /* save parent_tree so subdissectors can create new top nodes */
7455 top_tree=parent_tree;
7457 /* do we have operation information from the ROS dissector? */
7458 if( !pinfo->private_data ){
7460 proto_tree_add_text(parent_tree, tvb, offset, -1,
7461 "Internal error: can't get operation information from ROS dissector.");
7465 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
7469 item = proto_tree_add_item(parent_tree, proto_x411, tvb, 0, -1, FALSE);
7470 tree = proto_item_add_subtree(item, ett_x411);
7472 if (check_col(pinfo->cinfo, COL_PROTOCOL))
7473 col_set_str(pinfo->cinfo, COL_PROTOCOL, "P1");
7474 if (check_col(pinfo->cinfo, COL_INFO))
7475 col_clear(pinfo->cinfo, COL_INFO);
7477 switch(session->ros_op & ROS_OP_MASK) {
7478 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
7479 x411_dissector = dissect_x411_MTABindArgument;
7480 x411_op_name = "Bind-Argument";
7481 hf_x411_index = hf_x411_MTABindArgument_PDU;
7483 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
7484 x411_dissector = dissect_x411_MTABindResult;
7485 x411_op_name = "Bind-Result";
7486 hf_x411_index = hf_x411_MTABindResult_PDU;
7488 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
7489 x411_dissector = dissect_x411_MTABindError;
7490 x411_op_name = "Bind-Error";
7491 hf_x411_index = hf_x411_MTABindError_PDU;
7493 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
7494 x411_dissector = dissect_x411_MTS_APDU;
7495 x411_op_name = "Transfer";
7496 hf_x411_index = hf_x411_MTS_APDU_PDU;
7499 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported X411 PDU");
7503 if (check_col(pinfo->cinfo, COL_INFO))
7504 col_add_str(pinfo->cinfo, COL_INFO, x411_op_name);
7506 while (tvb_reported_length_remaining(tvb, offset) > 0){
7508 offset=(*x411_dissector)(FALSE, tvb, offset, pinfo , tree, hf_x411_index);
7509 if(offset == old_offset){
7510 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte X411 PDU");
7511 offset = tvb_length(tvb);
7518 /*--- proto_register_x411 -------------------------------------------*/
7519 void proto_register_x411(void) {
7521 /* List of fields */
7522 static hf_register_info hf[] =
7525 /*--- Included file: packet-x411-hfarr.c ---*/
7526 #line 1 "packet-x411-hfarr.c"
7527 { &hf_x411_MTABindArgument_PDU,
7528 { "MTABindArgument", "x411.MTABindArgument",
7529 FT_UINT32, BASE_DEC, VALS(x411_MTABindArgument_vals), 0,
7530 "x411.MTABindArgument", HFILL }},
7531 { &hf_x411_MTABindResult_PDU,
7532 { "MTABindResult", "x411.MTABindResult",
7533 FT_UINT32, BASE_DEC, VALS(x411_MTABindResult_vals), 0,
7534 "x411.MTABindResult", HFILL }},
7535 { &hf_x411_MTABindError_PDU,
7536 { "MTABindError", "x411.MTABindError",
7537 FT_UINT32, BASE_DEC, VALS(x411_MTABindError_vals), 0,
7538 "x411.MTABindError", HFILL }},
7539 { &hf_x411_MTS_APDU_PDU,
7540 { "MTS-APDU", "x411.MTS_APDU",
7541 FT_UINT32, BASE_DEC, VALS(x411_MTS_APDU_vals), 0,
7542 "x411.MTS_APDU", HFILL }},
7543 { &hf_x411_InternalTraceInformation_PDU,
7544 { "InternalTraceInformation", "x411.InternalTraceInformation",
7545 FT_UINT32, BASE_DEC, NULL, 0,
7546 "x411.InternalTraceInformation", HFILL }},
7547 { &hf_x411_TraceInformation_PDU,
7548 { "TraceInformation", "x411.TraceInformation",
7549 FT_UINT32, BASE_DEC, NULL, 0,
7550 "x411.TraceInformation", HFILL }},
7551 { &hf_x411_ReportDeliveryArgument_PDU,
7552 { "ReportDeliveryArgument", "x411.ReportDeliveryArgument",
7553 FT_NONE, BASE_NONE, NULL, 0,
7554 "x411.ReportDeliveryArgument", HFILL }},
7555 { &hf_x411_RecipientCertificate_PDU,
7556 { "RecipientCertificate", "x411.RecipientCertificate",
7557 FT_NONE, BASE_NONE, NULL, 0,
7558 "x411.RecipientCertificate", HFILL }},
7559 { &hf_x411_ProofOfDelivery_PDU,
7560 { "ProofOfDelivery", "x411.ProofOfDelivery",
7561 FT_NONE, BASE_NONE, NULL, 0,
7562 "x411.ProofOfDelivery", HFILL }},
7563 { &hf_x411_ExtendedContentType_PDU,
7564 { "ExtendedContentType", "x411.ExtendedContentType",
7565 FT_OID, BASE_NONE, NULL, 0,
7566 "x411.ExtendedContentType", HFILL }},
7567 { &hf_x411_ContentLength_PDU,
7568 { "ContentLength", "x411.ContentLength",
7569 FT_UINT32, BASE_DEC, NULL, 0,
7570 "x411.ContentLength", HFILL }},
7571 { &hf_x411_RecipientReassignmentProhibited_PDU,
7572 { "RecipientReassignmentProhibited", "x411.RecipientReassignmentProhibited",
7573 FT_UINT32, BASE_DEC, VALS(x411_RecipientReassignmentProhibited_vals), 0,
7574 "x411.RecipientReassignmentProhibited", HFILL }},
7575 { &hf_x411_MTSOriginatorRequestedAlternateRecipient_PDU,
7576 { "MTSOriginatorRequestedAlternateRecipient", "x411.MTSOriginatorRequestedAlternateRecipient",
7577 FT_NONE, BASE_NONE, NULL, 0,
7578 "x411.MTSOriginatorRequestedAlternateRecipient", HFILL }},
7579 { &hf_x411_DLExpansionProhibited_PDU,
7580 { "DLExpansionProhibited", "x411.DLExpansionProhibited",
7581 FT_UINT32, BASE_DEC, VALS(x411_DLExpansionProhibited_vals), 0,
7582 "x411.DLExpansionProhibited", HFILL }},
7583 { &hf_x411_ConversionWithLossProhibited_PDU,
7584 { "ConversionWithLossProhibited", "x411.ConversionWithLossProhibited",
7585 FT_UINT32, BASE_DEC, VALS(x411_ConversionWithLossProhibited_vals), 0,
7586 "x411.ConversionWithLossProhibited", HFILL }},
7587 { &hf_x411_LatestDeliveryTime_PDU,
7588 { "LatestDeliveryTime", "x411.LatestDeliveryTime",
7589 FT_STRING, BASE_NONE, NULL, 0,
7590 "x411.LatestDeliveryTime", HFILL }},
7591 { &hf_x411_RequestedDeliveryMethod_PDU,
7592 { "RequestedDeliveryMethod", "x411.RequestedDeliveryMethod",
7593 FT_UINT32, BASE_DEC, NULL, 0,
7594 "x411.RequestedDeliveryMethod", HFILL }},
7595 { &hf_x411_PhysicalForwardingProhibited_PDU,
7596 { "PhysicalForwardingProhibited", "x411.PhysicalForwardingProhibited",
7597 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingProhibited_vals), 0,
7598 "x411.PhysicalForwardingProhibited", HFILL }},
7599 { &hf_x411_PhysicalForwardingAddressRequest_PDU,
7600 { "PhysicalForwardingAddressRequest", "x411.PhysicalForwardingAddressRequest",
7601 FT_UINT32, BASE_DEC, VALS(x411_PhysicalForwardingAddressRequest_vals), 0,
7602 "x411.PhysicalForwardingAddressRequest", HFILL }},
7603 { &hf_x411_PhysicalDeliveryModes_PDU,
7604 { "PhysicalDeliveryModes", "x411.PhysicalDeliveryModes",
7605 FT_BYTES, BASE_HEX, NULL, 0,
7606 "x411.PhysicalDeliveryModes", HFILL }},
7607 { &hf_x411_RegisteredMailType_PDU,
7608 { "RegisteredMailType", "x411.RegisteredMailType",
7609 FT_UINT32, BASE_DEC, VALS(x411_RegisteredMailType_vals), 0,
7610 "x411.RegisteredMailType", HFILL }},
7611 { &hf_x411_RecipientNumberForAdvice_PDU,
7612 { "RecipientNumberForAdvice", "x411.RecipientNumberForAdvice",
7613 FT_STRING, BASE_NONE, NULL, 0,
7614 "x411.RecipientNumberForAdvice", HFILL }},
7615 { &hf_x411_PhysicalRenditionAttributes_PDU,
7616 { "PhysicalRenditionAttributes", "x411.PhysicalRenditionAttributes",
7617 FT_OID, BASE_NONE, NULL, 0,
7618 "x411.PhysicalRenditionAttributes", HFILL }},
7619 { &hf_x411_OriginatorReturnAddress_PDU,
7620 { "OriginatorReturnAddress", "x411.OriginatorReturnAddress",
7621 FT_NONE, BASE_NONE, NULL, 0,
7622 "x411.OriginatorReturnAddress", HFILL }},
7623 { &hf_x411_PhysicalDeliveryReportRequest_PDU,
7624 { "PhysicalDeliveryReportRequest", "x411.PhysicalDeliveryReportRequest",
7625 FT_INT32, BASE_DEC, VALS(x411_PhysicalDeliveryReportRequest_vals), 0,
7626 "x411.PhysicalDeliveryReportRequest", HFILL }},
7627 { &hf_x411_OriginatorCertificate_PDU,
7628 { "OriginatorCertificate", "x411.OriginatorCertificate",
7629 FT_NONE, BASE_NONE, NULL, 0,
7630 "x411.OriginatorCertificate", HFILL }},
7631 { &hf_x411_MessageToken_PDU,
7632 { "MessageToken", "x411.MessageToken",
7633 FT_NONE, BASE_NONE, NULL, 0,
7634 "x411.MessageToken", HFILL }},
7635 { &hf_x411_ContentConfidentialityAlgorithmIdentifier_PDU,
7636 { "ContentConfidentialityAlgorithmIdentifier", "x411.ContentConfidentialityAlgorithmIdentifier",
7637 FT_NONE, BASE_NONE, NULL, 0,
7638 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
7639 { &hf_x411_ContentIntegrityCheck_PDU,
7640 { "ContentIntegrityCheck", "x411.ContentIntegrityCheck",
7641 FT_NONE, BASE_NONE, NULL, 0,
7642 "x411.ContentIntegrityCheck", HFILL }},
7643 { &hf_x411_MessageOriginAuthenticationCheck_PDU,
7644 { "MessageOriginAuthenticationCheck", "x411.MessageOriginAuthenticationCheck",
7645 FT_NONE, BASE_NONE, NULL, 0,
7646 "x411.MessageOriginAuthenticationCheck", HFILL }},
7647 { &hf_x411_MessageSecurityLabel_PDU,
7648 { "MessageSecurityLabel", "x411.MessageSecurityLabel",
7649 FT_NONE, BASE_NONE, NULL, 0,
7650 "x411.MessageSecurityLabel", HFILL }},
7651 { &hf_x411_ProofOfSubmissionRequest_PDU,
7652 { "ProofOfSubmissionRequest", "x411.ProofOfSubmissionRequest",
7653 FT_UINT32, BASE_DEC, VALS(x411_ProofOfSubmissionRequest_vals), 0,
7654 "x411.ProofOfSubmissionRequest", HFILL }},
7655 { &hf_x411_ProofOfDeliveryRequest_PDU,
7656 { "ProofOfDeliveryRequest", "x411.ProofOfDeliveryRequest",
7657 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
7658 "x411.ProofOfDeliveryRequest", HFILL }},
7659 { &hf_x411_ContentCorrelator_PDU,
7660 { "ContentCorrelator", "x411.ContentCorrelator",
7661 FT_UINT32, BASE_DEC, VALS(x411_ContentCorrelator_vals), 0,
7662 "x411.ContentCorrelator", HFILL }},
7663 { &hf_x411_ProbeOriginAuthenticationCheck_PDU,
7664 { "ProbeOriginAuthenticationCheck", "x411.ProbeOriginAuthenticationCheck",
7665 FT_NONE, BASE_NONE, NULL, 0,
7666 "x411.ProbeOriginAuthenticationCheck", HFILL }},
7667 { &hf_x411_RedirectionHistory_PDU,
7668 { "RedirectionHistory", "x411.RedirectionHistory",
7669 FT_UINT32, BASE_DEC, NULL, 0,
7670 "x411.RedirectionHistory", HFILL }},
7671 { &hf_x411_DLExpansionHistory_PDU,
7672 { "DLExpansionHistory", "x411.DLExpansionHistory",
7673 FT_UINT32, BASE_DEC, NULL, 0,
7674 "x411.DLExpansionHistory", HFILL }},
7675 { &hf_x411_PhysicalForwardingAddress_PDU,
7676 { "PhysicalForwardingAddress", "x411.PhysicalForwardingAddress",
7677 FT_NONE, BASE_NONE, NULL, 0,
7678 "x411.PhysicalForwardingAddress", HFILL }},
7679 { &hf_x411_OriginatorAndDLExpansionHistory_PDU,
7680 { "OriginatorAndDLExpansionHistory", "x411.OriginatorAndDLExpansionHistory",
7681 FT_UINT32, BASE_DEC, NULL, 0,
7682 "x411.OriginatorAndDLExpansionHistory", HFILL }},
7683 { &hf_x411_ReportingDLName_PDU,
7684 { "ReportingDLName", "x411.ReportingDLName",
7685 FT_NONE, BASE_NONE, NULL, 0,
7686 "x411.ReportingDLName", HFILL }},
7687 { &hf_x411_ReportingMTACertificate_PDU,
7688 { "ReportingMTACertificate", "x411.ReportingMTACertificate",
7689 FT_NONE, BASE_NONE, NULL, 0,
7690 "x411.ReportingMTACertificate", HFILL }},
7691 { &hf_x411_ReportOriginAuthenticationCheck_PDU,
7692 { "ReportOriginAuthenticationCheck", "x411.ReportOriginAuthenticationCheck",
7693 FT_NONE, BASE_NONE, NULL, 0,
7694 "x411.ReportOriginAuthenticationCheck", HFILL }},
7695 { &hf_x411_ProofOfSubmission_PDU,
7696 { "ProofOfSubmission", "x411.ProofOfSubmission",
7697 FT_NONE, BASE_NONE, NULL, 0,
7698 "x411.ProofOfSubmission", HFILL }},
7699 { &hf_x411_ReportingMTAName_PDU,
7700 { "ReportingMTAName", "x411.ReportingMTAName",
7701 FT_NONE, BASE_NONE, NULL, 0,
7702 "x411.ReportingMTAName", HFILL }},
7703 { &hf_x411_ExtendedCertificates_PDU,
7704 { "ExtendedCertificates", "x411.ExtendedCertificates",
7705 FT_UINT32, BASE_DEC, NULL, 0,
7706 "x411.ExtendedCertificates", HFILL }},
7707 { &hf_x411_DLExemptedRecipients_PDU,
7708 { "DLExemptedRecipients", "x411.DLExemptedRecipients",
7709 FT_UINT32, BASE_DEC, NULL, 0,
7710 "x411.DLExemptedRecipients", HFILL }},
7711 { &hf_x411_CertificateSelectors_PDU,
7712 { "CertificateSelectors", "x411.CertificateSelectors",
7713 FT_NONE, BASE_NONE, NULL, 0,
7714 "x411.CertificateSelectors", HFILL }},
7715 { &hf_x411_ORName_PDU,
7716 { "ORName", "x411.ORName",
7717 FT_NONE, BASE_NONE, NULL, 0,
7718 "x411.ORName", HFILL }},
7719 { &hf_x411_ORAddress_PDU,
7720 { "ORAddress", "x411.ORAddress",
7721 FT_NONE, BASE_NONE, NULL, 0,
7722 "x411.ORAddress", HFILL }},
7723 { &hf_x411_CommonName_PDU,
7724 { "CommonName", "x411.CommonName",
7725 FT_STRING, BASE_NONE, NULL, 0,
7726 "x411.CommonName", HFILL }},
7727 { &hf_x411_TeletexCommonName_PDU,
7728 { "TeletexCommonName", "x411.TeletexCommonName",
7729 FT_STRING, BASE_NONE, NULL, 0,
7730 "x411.TeletexCommonName", HFILL }},
7731 { &hf_x411_UniversalCommonName_PDU,
7732 { "UniversalCommonName", "x411.UniversalCommonName",
7733 FT_NONE, BASE_NONE, NULL, 0,
7734 "x411.UniversalCommonName", HFILL }},
7735 { &hf_x411_TeletexOrganizationName_PDU,
7736 { "TeletexOrganizationName", "x411.TeletexOrganizationName",
7737 FT_STRING, BASE_NONE, NULL, 0,
7738 "x411.TeletexOrganizationName", HFILL }},
7739 { &hf_x411_UniversalOrganizationName_PDU,
7740 { "UniversalOrganizationName", "x411.UniversalOrganizationName",
7741 FT_NONE, BASE_NONE, NULL, 0,
7742 "x411.UniversalOrganizationName", HFILL }},
7743 { &hf_x411_TeletexPersonalName_PDU,
7744 { "TeletexPersonalName", "x411.TeletexPersonalName",
7745 FT_NONE, BASE_NONE, NULL, 0,
7746 "x411.TeletexPersonalName", HFILL }},
7747 { &hf_x411_UniversalPersonalName_PDU,
7748 { "UniversalPersonalName", "x411.UniversalPersonalName",
7749 FT_NONE, BASE_NONE, NULL, 0,
7750 "x411.UniversalPersonalName", HFILL }},
7751 { &hf_x411_TeletexOrganizationalUnitNames_PDU,
7752 { "TeletexOrganizationalUnitNames", "x411.TeletexOrganizationalUnitNames",
7753 FT_UINT32, BASE_DEC, NULL, 0,
7754 "x411.TeletexOrganizationalUnitNames", HFILL }},
7755 { &hf_x411_UniversalOrganizationalUnitNames_PDU,
7756 { "UniversalOrganizationalUnitNames", "x411.UniversalOrganizationalUnitNames",
7757 FT_UINT32, BASE_DEC, NULL, 0,
7758 "x411.UniversalOrganizationalUnitNames", HFILL }},
7759 { &hf_x411_PDSName_PDU,
7760 { "PDSName", "x411.PDSName",
7761 FT_STRING, BASE_NONE, NULL, 0,
7762 "x411.PDSName", HFILL }},
7763 { &hf_x411_PhysicalDeliveryCountryName_PDU,
7764 { "PhysicalDeliveryCountryName", "x411.PhysicalDeliveryCountryName",
7765 FT_UINT32, BASE_DEC, VALS(x411_PhysicalDeliveryCountryName_vals), 0,
7766 "x411.PhysicalDeliveryCountryName", HFILL }},
7767 { &hf_x411_PostalCode_PDU,
7768 { "PostalCode", "x411.PostalCode",
7769 FT_UINT32, BASE_DEC, VALS(x411_PostalCode_vals), 0,
7770 "x411.PostalCode", HFILL }},
7771 { &hf_x411_PhysicalDeliveryOfficeName_PDU,
7772 { "PhysicalDeliveryOfficeName", "x411.PhysicalDeliveryOfficeName",
7773 FT_NONE, BASE_NONE, NULL, 0,
7774 "x411.PhysicalDeliveryOfficeName", HFILL }},
7775 { &hf_x411_ExtendedEncodedInformationType_PDU,
7776 { "ExtendedEncodedInformationType", "x411.ExtendedEncodedInformationType",
7777 FT_OID, BASE_NONE, NULL, 0,
7778 "x411.ExtendedEncodedInformationType", HFILL }},
7779 { &hf_x411_MTANameAndOptionalGDI_PDU,
7780 { "MTANameAndOptionalGDI", "x411.MTANameAndOptionalGDI",
7781 FT_NONE, BASE_NONE, NULL, 0,
7782 "x411.MTANameAndOptionalGDI", HFILL }},
7783 { &hf_x411_AsymmetricToken_PDU,
7784 { "AsymmetricToken", "x411.AsymmetricToken",
7785 FT_NONE, BASE_NONE, NULL, 0,
7786 "x411.AsymmetricToken", HFILL }},
7787 { &hf_x411_BindTokenSignedData_PDU,
7788 { "BindTokenSignedData", "x411.BindTokenSignedData",
7789 FT_BYTES, BASE_HEX, NULL, 0,
7790 "x411.BindTokenSignedData", HFILL }},
7791 { &hf_x411_MessageTokenSignedData_PDU,
7792 { "MessageTokenSignedData", "x411.MessageTokenSignedData",
7793 FT_NONE, BASE_NONE, NULL, 0,
7794 "x411.MessageTokenSignedData", HFILL }},
7795 { &hf_x411_MessageTokenEncryptedData_PDU,
7796 { "MessageTokenEncryptedData", "x411.MessageTokenEncryptedData",
7797 FT_NONE, BASE_NONE, NULL, 0,
7798 "x411.MessageTokenEncryptedData", HFILL }},
7799 { &hf_x411_BindTokenEncryptedData_PDU,
7800 { "BindTokenEncryptedData", "x411.BindTokenEncryptedData",
7801 FT_NONE, BASE_NONE, NULL, 0,
7802 "x411.BindTokenEncryptedData", HFILL }},
7803 { &hf_x411_unauthenticated,
7804 { "unauthenticated", "x411.unauthenticated",
7805 FT_NONE, BASE_NONE, NULL, 0,
7806 "x411.NULL", HFILL }},
7807 { &hf_x411_authenticated_argument,
7808 { "authenticated", "x411.authenticated",
7809 FT_NONE, BASE_NONE, NULL, 0,
7810 "x411.AuthenticatedArgument", HFILL }},
7811 { &hf_x411_authenticated_initiator_name,
7812 { "initiator-name", "x411.initiator_name",
7813 FT_STRING, BASE_NONE, NULL, 0,
7814 "x411.MTAName", HFILL }},
7815 { &hf_x411_initiator_credentials,
7816 { "initiator-credentials", "x411.initiator_credentials",
7817 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7818 "x411.InitiatorCredentials", HFILL }},
7819 { &hf_x411_security_context,
7820 { "security-context", "x411.security_context",
7821 FT_UINT32, BASE_DEC, NULL, 0,
7822 "x411.SecurityContext", HFILL }},
7823 { &hf_x411_authenticated_result,
7824 { "authenticated", "x411.authenticated",
7825 FT_NONE, BASE_NONE, NULL, 0,
7826 "x411.AuthenticatedResult", HFILL }},
7827 { &hf_x411_authenticated_responder_name,
7828 { "responder-name", "x411.responder_name",
7829 FT_STRING, BASE_NONE, NULL, 0,
7830 "x411.MTAName", HFILL }},
7831 { &hf_x411_responder_credentials,
7832 { "responder-credentials", "x411.responder_credentials",
7833 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
7834 "x411.ResponderCredentials", HFILL }},
7836 { "message", "x411.message",
7837 FT_NONE, BASE_NONE, NULL, 0,
7838 "x411.Message", HFILL }},
7840 { "probe", "x411.probe",
7841 FT_NONE, BASE_NONE, NULL, 0,
7842 "x411.Probe", HFILL }},
7844 { "report", "x411.report",
7845 FT_NONE, BASE_NONE, NULL, 0,
7846 "x411.Report", HFILL }},
7847 { &hf_x411_message_envelope,
7848 { "envelope", "x411.envelope",
7849 FT_NONE, BASE_NONE, NULL, 0,
7850 "x411.MessageTransferEnvelope", HFILL }},
7852 { "content", "x411.content",
7853 FT_BYTES, BASE_HEX, NULL, 0,
7854 "x411.Content", HFILL }},
7855 { &hf_x411_report_envelope,
7856 { "envelope", "x411.envelope",
7857 FT_NONE, BASE_NONE, NULL, 0,
7858 "x411.ReportTransferEnvelope", HFILL }},
7859 { &hf_x411_report_content,
7860 { "content", "x411.content",
7861 FT_NONE, BASE_NONE, NULL, 0,
7862 "x411.ReportTransferContent", HFILL }},
7863 { &hf_x411_message_identifier,
7864 { "message-identifier", "x411.message_identifier",
7865 FT_NONE, BASE_NONE, NULL, 0,
7866 "x411.MessageIdentifier", HFILL }},
7867 { &hf_x411_mta_originator_name,
7868 { "originator-name", "x411.originator_name",
7869 FT_NONE, BASE_NONE, NULL, 0,
7870 "x411.MTAOriginatorName", HFILL }},
7871 { &hf_x411_original_encoded_information_types,
7872 { "original-encoded-information-types", "x411.original_encoded_information_types",
7873 FT_NONE, BASE_NONE, NULL, 0,
7874 "x411.OriginalEncodedInformationTypes", HFILL }},
7875 { &hf_x411_content_type,
7876 { "content-type", "x411.content_type",
7877 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
7878 "x411.ContentType", HFILL }},
7879 { &hf_x411_content_identifier,
7880 { "content-identifier", "x411.content_identifier",
7881 FT_STRING, BASE_NONE, NULL, 0,
7882 "x411.ContentIdentifier", HFILL }},
7883 { &hf_x411_priority,
7884 { "priority", "x411.priority",
7885 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
7886 "x411.Priority", HFILL }},
7887 { &hf_x411_per_message_indicators,
7888 { "per-message-indicators", "x411.per_message_indicators",
7889 FT_BYTES, BASE_HEX, NULL, 0,
7890 "x411.PerMessageIndicators", HFILL }},
7891 { &hf_x411_deferred_delivery_time,
7892 { "deferred-delivery-time", "x411.deferred_delivery_time",
7893 FT_STRING, BASE_NONE, NULL, 0,
7894 "x411.DeferredDeliveryTime", HFILL }},
7895 { &hf_x411_per_domain_bilateral_information,
7896 { "per-domain-bilateral-information", "x411.per_domain_bilateral_information",
7897 FT_UINT32, BASE_DEC, NULL, 0,
7898 "x411.SEQUENCE_OF_PerDomainBilateralInformation", HFILL }},
7899 { &hf_x411_per_domain_bilateral_information_item,
7900 { "Item", "x411.per_domain_bilateral_information_item",
7901 FT_NONE, BASE_NONE, NULL, 0,
7902 "x411.PerDomainBilateralInformation", HFILL }},
7903 { &hf_x411_trace_information,
7904 { "trace-information", "x411.trace_information",
7905 FT_UINT32, BASE_DEC, NULL, 0,
7906 "x411.TraceInformation", HFILL }},
7907 { &hf_x411_extensions,
7908 { "extensions", "x411.extensions",
7909 FT_UINT32, BASE_DEC, NULL, 0,
7910 "x411.SET_OF_ExtensionField", HFILL }},
7911 { &hf_x411_extensions_item,
7912 { "Item", "x411.extensions_item",
7913 FT_NONE, BASE_NONE, NULL, 0,
7914 "x411.ExtensionField", HFILL }},
7915 { &hf_x411_per_recipient_message_fields,
7916 { "per-recipient-fields", "x411.per_recipient_fields",
7917 FT_UINT32, BASE_DEC, NULL, 0,
7918 "x411.SEQUENCE_OF_PerRecipientMessageTransferFields", HFILL }},
7919 { &hf_x411_per_recipient_message_fields_item,
7920 { "Item", "x411.per_recipient_fields_item",
7921 FT_NONE, BASE_NONE, NULL, 0,
7922 "x411.PerRecipientMessageTransferFields", HFILL }},
7923 { &hf_x411_recipient_name,
7924 { "recipient-name", "x411.recipient_name",
7925 FT_NONE, BASE_NONE, NULL, 0,
7926 "x411.MTARecipientName", HFILL }},
7927 { &hf_x411_originally_specified_recipient_number,
7928 { "originally-specified-recipient-number", "x411.originally_specified_recipient_number",
7929 FT_INT32, BASE_DEC, NULL, 0,
7930 "x411.OriginallySpecifiedRecipientNumber", HFILL }},
7931 { &hf_x411_per_recipient_indicators,
7932 { "per-recipient-indicators", "x411.per_recipient_indicators",
7933 FT_BYTES, BASE_HEX, NULL, 0,
7934 "x411.PerRecipientIndicators", HFILL }},
7935 { &hf_x411_explicit_conversion,
7936 { "explicit-conversion", "x411.explicit_conversion",
7937 FT_UINT32, BASE_DEC, VALS(x411_ExplicitConversion_vals), 0,
7938 "x411.ExplicitConversion", HFILL }},
7939 { &hf_x411_probe_identifier,
7940 { "probe-identifier", "x411.probe_identifier",
7941 FT_NONE, BASE_NONE, NULL, 0,
7942 "x411.ProbeIdentifier", HFILL }},
7943 { &hf_x411_content_length,
7944 { "content-length", "x411.content_length",
7945 FT_UINT32, BASE_DEC, NULL, 0,
7946 "x411.ContentLength", HFILL }},
7947 { &hf_x411_per_recipient_probe_transfer_fields,
7948 { "per-recipient-fields", "x411.per_recipient_fields",
7949 FT_UINT32, BASE_DEC, NULL, 0,
7950 "x411.SEQUENCE_OF_PerRecipientProbeTransferFields", HFILL }},
7951 { &hf_x411_per_recipient_probe_transfer_fields_item,
7952 { "Item", "x411.per_recipient_fields_item",
7953 FT_NONE, BASE_NONE, NULL, 0,
7954 "x411.PerRecipientProbeTransferFields", HFILL }},
7955 { &hf_x411_report_identifier,
7956 { "report-identifier", "x411.report_identifier",
7957 FT_NONE, BASE_NONE, NULL, 0,
7958 "x411.ReportIdentifier", HFILL }},
7959 { &hf_x411_report_destination_name,
7960 { "report-destination-name", "x411.report_destination_name",
7961 FT_NONE, BASE_NONE, NULL, 0,
7962 "x411.ReportDestinationName", HFILL }},
7963 { &hf_x411_subject_identifier,
7964 { "subject-identifier", "x411.subject_identifier",
7965 FT_NONE, BASE_NONE, NULL, 0,
7966 "x411.SubjectIdentifier", HFILL }},
7967 { &hf_x411_subject_intermediate_trace_information,
7968 { "subject-intermediate-trace-information", "x411.subject_intermediate_trace_information",
7969 FT_UINT32, BASE_DEC, NULL, 0,
7970 "x411.SubjectIntermediateTraceInformation", HFILL }},
7971 { &hf_x411_returned_content,
7972 { "returned-content", "x411.returned_content",
7973 FT_BYTES, BASE_HEX, NULL, 0,
7974 "x411.Content", HFILL }},
7975 { &hf_x411_additional_information,
7976 { "additional-information", "x411.additional_information",
7977 FT_NONE, BASE_NONE, NULL, 0,
7978 "x411.AdditionalInformation", HFILL }},
7979 { &hf_x411_per_recipient_report_fields,
7980 { "per-recipient-fields", "x411.per_recipient_fields",
7981 FT_UINT32, BASE_DEC, NULL, 0,
7982 "x411.SEQUENCE_OF_PerRecipientReportTransferFields", HFILL }},
7983 { &hf_x411_per_recipient_report_fields_item,
7984 { "Item", "x411.per_recipient_fields_item",
7985 FT_NONE, BASE_NONE, NULL, 0,
7986 "x411.PerRecipientReportTransferFields", HFILL }},
7987 { &hf_x411_mta_actual_recipient_name,
7988 { "actual-recipient-name", "x411.actual_recipient_name",
7989 FT_NONE, BASE_NONE, NULL, 0,
7990 "x411.MTAActualRecipientName", HFILL }},
7991 { &hf_x411_last_trace_information,
7992 { "last-trace-information", "x411.last_trace_information",
7993 FT_NONE, BASE_NONE, NULL, 0,
7994 "x411.LastTraceInformation", HFILL }},
7995 { &hf_x411_report_originally_intended_recipient_name,
7996 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
7997 FT_NONE, BASE_NONE, NULL, 0,
7998 "x411.MTAOriginallyIntendedRecipientName", HFILL }},
7999 { &hf_x411_supplementary_information,
8000 { "supplementary-information", "x411.supplementary_information",
8001 FT_STRING, BASE_NONE, NULL, 0,
8002 "x411.SupplementaryInformation", HFILL }},
8003 { &hf_x411_country_name,
8004 { "country-name", "x411.country_name",
8005 FT_UINT32, BASE_DEC, VALS(x411_CountryName_vals), 0,
8006 "x411.CountryName", HFILL }},
8007 { &hf_x411_bilateral_domain,
8008 { "domain", "x411.domain",
8009 FT_UINT32, BASE_DEC, VALS(x411_T_bilateral_domain_vals), 0,
8010 "x411.T_bilateral_domain", HFILL }},
8011 { &hf_x411_administration_domain_name,
8012 { "administration-domain-name", "x411.administration_domain_name",
8013 FT_UINT32, BASE_DEC, VALS(x411_AdministrationDomainName_vals), 0,
8014 "x411.AdministrationDomainName", HFILL }},
8015 { &hf_x411_private_domain,
8016 { "private-domain", "x411.private_domain",
8017 FT_NONE, BASE_NONE, NULL, 0,
8018 "x411.T_private_domain", HFILL }},
8019 { &hf_x411_private_domain_identifier,
8020 { "private-domain-identifier", "x411.private_domain_identifier",
8021 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainIdentifier_vals), 0,
8022 "x411.PrivateDomainIdentifier", HFILL }},
8023 { &hf_x411_bilateral_information,
8024 { "bilateral-information", "x411.bilateral_information",
8025 FT_NONE, BASE_NONE, NULL, 0,
8026 "x411.T_bilateral_information", HFILL }},
8027 { &hf_x411_arrival_time,
8028 { "arrival-time", "x411.arrival_time",
8029 FT_STRING, BASE_NONE, NULL, 0,
8030 "x411.ArrivalTime", HFILL }},
8031 { &hf_x411_converted_encoded_information_types,
8032 { "converted-encoded-information-types", "x411.converted_encoded_information_types",
8033 FT_NONE, BASE_NONE, NULL, 0,
8034 "x411.ConvertedEncodedInformationTypes", HFILL }},
8035 { &hf_x411_trace_report_type,
8036 { "report-type", "x411.report_type",
8037 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8038 "x411.ReportType", HFILL }},
8039 { &hf_x411_InternalTraceInformation_item,
8040 { "Item", "x411.InternalTraceInformation_item",
8041 FT_NONE, BASE_NONE, NULL, 0,
8042 "x411.InternalTraceInformationElement", HFILL }},
8043 { &hf_x411_global_domain_identifier,
8044 { "global-domain-identifier", "x411.global_domain_identifier",
8045 FT_NONE, BASE_NONE, NULL, 0,
8046 "x411.GlobalDomainIdentifier", HFILL }},
8047 { &hf_x411_mta_name,
8048 { "mta-name", "x411.mta_name",
8049 FT_STRING, BASE_NONE, NULL, 0,
8050 "x411.MTAName", HFILL }},
8051 { &hf_x411_mta_supplied_information,
8052 { "mta-supplied-information", "x411.mta_supplied_information",
8053 FT_NONE, BASE_NONE, NULL, 0,
8054 "x411.MTASuppliedInformation", HFILL }},
8055 { &hf_x411_routing_action,
8056 { "routing-action", "x411.routing_action",
8057 FT_UINT32, BASE_DEC, VALS(x411_RoutingAction_vals), 0,
8058 "x411.RoutingAction", HFILL }},
8059 { &hf_x411_attempted,
8060 { "attempted", "x411.attempted",
8061 FT_UINT32, BASE_DEC, VALS(x411_T_attempted_vals), 0,
8062 "x411.T_attempted", HFILL }},
8064 { "mta", "x411.mta",
8065 FT_STRING, BASE_NONE, NULL, 0,
8066 "x411.MTAName", HFILL }},
8068 { "domain", "x411.domain",
8069 FT_NONE, BASE_NONE, NULL, 0,
8070 "x411.GlobalDomainIdentifier", HFILL }},
8071 { &hf_x411_deferred_time,
8072 { "deferred-time", "x411.deferred_time",
8073 FT_STRING, BASE_NONE, NULL, 0,
8074 "x411.DeferredTime", HFILL }},
8075 { &hf_x411_other_actions,
8076 { "other-actions", "x411.other_actions",
8077 FT_BYTES, BASE_HEX, NULL, 0,
8078 "x411.OtherActions", HFILL }},
8079 { &hf_x411_TraceInformation_item,
8080 { "Item", "x411.TraceInformation_item",
8081 FT_NONE, BASE_NONE, NULL, 0,
8082 "x411.TraceInformationElement", HFILL }},
8083 { &hf_x411_domain_supplied_information,
8084 { "domain-supplied-information", "x411.domain_supplied_information",
8085 FT_NONE, BASE_NONE, NULL, 0,
8086 "x411.DomainSuppliedInformation", HFILL }},
8087 { &hf_x411_attempted_domain,
8088 { "attempted-domain", "x411.attempted_domain",
8089 FT_NONE, BASE_NONE, NULL, 0,
8090 "x411.GlobalDomainIdentifier", HFILL }},
8091 { &hf_x411_initiator_name,
8092 { "initiator-name", "x411.initiator_name",
8093 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
8094 "x411.ObjectName", HFILL }},
8095 { &hf_x411_messages_waiting,
8096 { "messages-waiting", "x411.messages_waiting",
8097 FT_NONE, BASE_NONE, NULL, 0,
8098 "x411.MessagesWaiting", HFILL }},
8099 { &hf_x411_responder_name,
8100 { "responder-name", "x411.responder_name",
8101 FT_UINT32, BASE_DEC, VALS(x411_ObjectName_vals), 0,
8102 "x411.ObjectName", HFILL }},
8103 { &hf_x411_user_agent,
8104 { "user-agent", "x411.user_agent",
8105 FT_NONE, BASE_NONE, NULL, 0,
8106 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8108 { "mTA", "x411.mTA",
8109 FT_STRING, BASE_NONE, NULL, 0,
8110 "x411.MTAName", HFILL }},
8111 { &hf_x411_message_store,
8112 { "message-store", "x411.message_store",
8113 FT_NONE, BASE_NONE, NULL, 0,
8114 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8116 { "urgent", "x411.urgent",
8117 FT_NONE, BASE_NONE, NULL, 0,
8118 "x411.DeliveryQueue", HFILL }},
8120 { "normal", "x411.normal",
8121 FT_NONE, BASE_NONE, NULL, 0,
8122 "x411.DeliveryQueue", HFILL }},
8123 { &hf_x411_non_urgent,
8124 { "non-urgent", "x411.non_urgent",
8125 FT_NONE, BASE_NONE, NULL, 0,
8126 "x411.DeliveryQueue", HFILL }},
8127 { &hf_x411_messages,
8128 { "messages", "x411.messages",
8129 FT_INT32, BASE_DEC, NULL, 0,
8130 "x411.INTEGER", HFILL }},
8131 { &hf_x411_delivery_queue_octets,
8132 { "octets", "x411.octets",
8133 FT_INT32, BASE_DEC, NULL, 0,
8134 "x411.INTEGER", HFILL }},
8136 { "simple", "x411.simple",
8137 FT_UINT32, BASE_DEC, VALS(x411_Password_vals), 0,
8138 "x411.Password", HFILL }},
8140 { "strong", "x411.strong",
8141 FT_NONE, BASE_NONE, NULL, 0,
8142 "x411.StrongCredentials", HFILL }},
8143 { &hf_x411_protected,
8144 { "protected", "x411.protected",
8145 FT_NONE, BASE_NONE, NULL, 0,
8146 "x411.ProtectedPassword", HFILL }},
8147 { &hf_x411_ia5_string,
8148 { "ia5-string", "x411.ia5_string",
8149 FT_STRING, BASE_NONE, NULL, 0,
8150 "x411.IA5String", HFILL }},
8151 { &hf_x411_octet_string,
8152 { "octet-string", "x411.octet_string",
8153 FT_BYTES, BASE_HEX, NULL, 0,
8154 "x411.OCTET_STRING", HFILL }},
8155 { &hf_x411_bind_token,
8156 { "bind-token", "x411.bind_token",
8157 FT_NONE, BASE_NONE, NULL, 0,
8158 "x411.Token", HFILL }},
8159 { &hf_x411_certificate,
8160 { "certificate", "x411.certificate",
8161 FT_NONE, BASE_NONE, NULL, 0,
8162 "x509af.Certificates", HFILL }},
8163 { &hf_x411_certificate_selector,
8164 { "certificate-selector", "x411.certificate_selector",
8165 FT_NONE, BASE_NONE, NULL, 0,
8166 "x509ce.CertificateAssertion", HFILL }},
8167 { &hf_x411_signature,
8168 { "signature", "x411.signature",
8169 FT_NONE, BASE_NONE, NULL, 0,
8170 "x411.Signature", HFILL }},
8172 { "time1", "x411.time1",
8173 FT_STRING, BASE_NONE, NULL, 0,
8174 "x411.UTCTime", HFILL }},
8176 { "time2", "x411.time2",
8177 FT_STRING, BASE_NONE, NULL, 0,
8178 "x411.UTCTime", HFILL }},
8180 { "random1", "x411.random1",
8181 FT_BYTES, BASE_HEX, NULL, 0,
8182 "x411.BIT_STRING", HFILL }},
8184 { "random2", "x411.random2",
8185 FT_BYTES, BASE_HEX, NULL, 0,
8186 "x411.BIT_STRING", HFILL }},
8187 { &hf_x411_algorithmIdentifier,
8188 { "algorithmIdentifier", "x411.algorithmIdentifier",
8189 FT_NONE, BASE_NONE, NULL, 0,
8190 "x509af.AlgorithmIdentifier", HFILL }},
8191 { &hf_x411_encrypted,
8192 { "encrypted", "x411.encrypted",
8193 FT_BYTES, BASE_HEX, NULL, 0,
8194 "x411.BIT_STRING", HFILL }},
8195 { &hf_x411_SecurityContext_item,
8196 { "Item", "x411.SecurityContext_item",
8197 FT_NONE, BASE_NONE, NULL, 0,
8198 "x411.SecurityLabel", HFILL }},
8199 { &hf_x411_message_submission_envelope,
8200 { "envelope", "x411.envelope",
8201 FT_NONE, BASE_NONE, NULL, 0,
8202 "x411.MessageSubmissionEnvelope", HFILL }},
8203 { &hf_x411_message_submission_identifier,
8204 { "message-submission-identifier", "x411.message_submission_identifier",
8205 FT_NONE, BASE_NONE, NULL, 0,
8206 "x411.MessageSubmissionIdentifier", HFILL }},
8207 { &hf_x411_message_submission_time,
8208 { "message-submission-time", "x411.message_submission_time",
8209 FT_STRING, BASE_NONE, NULL, 0,
8210 "x411.MessageSubmissionTime", HFILL }},
8211 { &hf_x411_probe_submission_identifier,
8212 { "probe-submission-identifier", "x411.probe_submission_identifier",
8213 FT_NONE, BASE_NONE, NULL, 0,
8214 "x411.ProbeSubmissionIdentifier", HFILL }},
8215 { &hf_x411_probe_submission_time,
8216 { "probe-submission-time", "x411.probe_submission_time",
8217 FT_STRING, BASE_NONE, NULL, 0,
8218 "x411.ProbeSubmissionTime", HFILL }},
8219 { &hf_x411_ImproperlySpecifiedRecipients_item,
8220 { "Item", "x411.ImproperlySpecifiedRecipients_item",
8221 FT_NONE, BASE_NONE, NULL, 0,
8222 "x411.MTSRecipientName", HFILL }},
8223 { &hf_x411_waiting_operations,
8224 { "waiting-operations", "x411.waiting_operations",
8225 FT_BYTES, BASE_HEX, NULL, 0,
8226 "x411.Operations", HFILL }},
8227 { &hf_x411_waiting_messages,
8228 { "waiting-messages", "x411.waiting_messages",
8229 FT_BYTES, BASE_HEX, NULL, 0,
8230 "x411.WaitingMessages", HFILL }},
8231 { &hf_x411_waiting_content_types,
8232 { "waiting-content-types", "x411.waiting_content_types",
8233 FT_UINT32, BASE_DEC, NULL, 0,
8234 "x411.SET_OF_ContentType", HFILL }},
8235 { &hf_x411_waiting_content_types_item,
8236 { "Item", "x411.waiting_content_types_item",
8237 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8238 "x411.ContentType", HFILL }},
8239 { &hf_x411_waiting_encoded_information_types,
8240 { "waiting-encoded-information-types", "x411.waiting_encoded_information_types",
8241 FT_NONE, BASE_NONE, NULL, 0,
8242 "x411.EncodedInformationTypes", HFILL }},
8243 { &hf_x411_message_delivery_identifier,
8244 { "message-delivery-identifier", "x411.message_delivery_identifier",
8245 FT_NONE, BASE_NONE, NULL, 0,
8246 "x411.MessageDeliveryIdentifier", HFILL }},
8247 { &hf_x411_message_delivery_time,
8248 { "message-delivery-time", "x411.message_delivery_time",
8249 FT_STRING, BASE_NONE, NULL, 0,
8250 "x411.MessageDeliveryTime", HFILL }},
8251 { &hf_x411_other_fields,
8252 { "other-fields", "x411.other_fields",
8253 FT_NONE, BASE_NONE, NULL, 0,
8254 "x411.OtherMessageDeliveryFields", HFILL }},
8255 { &hf_x411_recipient_certificate,
8256 { "recipient-certificate", "x411.recipient_certificate",
8257 FT_NONE, BASE_NONE, NULL, 0,
8258 "x411.RecipientCertificate", HFILL }},
8259 { &hf_x411_proof_of_delivery,
8260 { "proof-of-delivery", "x411.proof_of_delivery",
8261 FT_NONE, BASE_NONE, NULL, 0,
8262 "x411.ProofOfDelivery", HFILL }},
8263 { &hf_x411_subject_submission_identifier,
8264 { "subject-submission-identifier", "x411.subject_submission_identifier",
8265 FT_NONE, BASE_NONE, NULL, 0,
8266 "x411.SubjectSubmissionIdentifier", HFILL }},
8267 { &hf_x411_per_recipient_report_delivery_fields,
8268 { "per-recipient-fields", "x411.per_recipient_fields",
8269 FT_UINT32, BASE_DEC, NULL, 0,
8270 "x411.SEQUENCE_OF_PerRecipientReportDeliveryFields", HFILL }},
8271 { &hf_x411_per_recipient_report_delivery_fields_item,
8272 { "Item", "x411.per_recipient_fields_item",
8273 FT_NONE, BASE_NONE, NULL, 0,
8274 "x411.PerRecipientReportDeliveryFields", HFILL }},
8275 { &hf_x411_empty_result,
8276 { "empty-result", "x411.empty_result",
8277 FT_NONE, BASE_NONE, NULL, 0,
8278 "x411.NULL", HFILL }},
8279 { &hf_x411_restrict,
8280 { "restrict", "x411.restrict",
8281 FT_BOOLEAN, 8, NULL, 0,
8282 "x411.BOOLEAN", HFILL }},
8283 { &hf_x411_permissible_operations,
8284 { "permissible-operations", "x411.permissible_operations",
8285 FT_BYTES, BASE_HEX, NULL, 0,
8286 "x411.Operations", HFILL }},
8287 { &hf_x411_permissible_maximum_content_length,
8288 { "permissible-maximum-content-length", "x411.permissible_maximum_content_length",
8289 FT_UINT32, BASE_DEC, NULL, 0,
8290 "x411.ContentLength", HFILL }},
8291 { &hf_x411_permissible_lowest_priority,
8292 { "permissible-lowest-priority", "x411.permissible_lowest_priority",
8293 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
8294 "x411.Priority", HFILL }},
8295 { &hf_x411_permissible_content_types,
8296 { "permissible-content-types", "x411.permissible_content_types",
8297 FT_UINT32, BASE_DEC, NULL, 0,
8298 "x411.ContentTypes", HFILL }},
8299 { &hf_x411_permissible_encoded_information_types,
8300 { "permissible-encoded-information-types", "x411.permissible_encoded_information_types",
8301 FT_NONE, BASE_NONE, NULL, 0,
8302 "x411.PermissibleEncodedInformationTypes", HFILL }},
8303 { &hf_x411_permissible_security_context,
8304 { "permissible-security-context", "x411.permissible_security_context",
8305 FT_UINT32, BASE_DEC, NULL, 0,
8306 "x411.SecurityContext", HFILL }},
8307 { &hf_x411_refused_argument,
8308 { "refused-argument", "x411.refused_argument",
8309 FT_UINT32, BASE_DEC, VALS(x411_T_refused_argument_vals), 0,
8310 "x411.T_refused_argument", HFILL }},
8311 { &hf_x411_built_in_argument,
8312 { "built-in-argument", "x411.built_in_argument",
8313 FT_UINT32, BASE_DEC, VALS(x411_RefusedArgument_vals), 0,
8314 "x411.RefusedArgument", HFILL }},
8315 { &hf_x411_refused_extension,
8316 { "refused-extension", "x411.refused_extension",
8317 FT_NONE, BASE_NONE, NULL, 0,
8318 "x411.T_refused_extension", HFILL }},
8319 { &hf_x411_refusal_reason,
8320 { "refusal-reason", "x411.refusal_reason",
8321 FT_UINT32, BASE_DEC, VALS(x411_RefusalReason_vals), 0,
8322 "x411.RefusalReason", HFILL }},
8323 { &hf_x411_user_name,
8324 { "user-name", "x411.user_name",
8325 FT_NONE, BASE_NONE, NULL, 0,
8326 "x411.UserName", HFILL }},
8327 { &hf_x411_user_address,
8328 { "user-address", "x411.user_address",
8329 FT_UINT32, BASE_DEC, VALS(x411_UserAddress_vals), 0,
8330 "x411.UserAddress", HFILL }},
8331 { &hf_x411_deliverable_class,
8332 { "deliverable-class", "x411.deliverable_class",
8333 FT_UINT32, BASE_DEC, NULL, 0,
8334 "x411.SET_OF_DeliverableClass", HFILL }},
8335 { &hf_x411_deliverable_class_item,
8336 { "Item", "x411.deliverable_class_item",
8337 FT_NONE, BASE_NONE, NULL, 0,
8338 "x411.DeliverableClass", HFILL }},
8339 { &hf_x411_default_delivery_controls,
8340 { "default-delivery-controls", "x411.default_delivery_controls",
8341 FT_NONE, BASE_NONE, NULL, 0,
8342 "x411.DefaultDeliveryControls", HFILL }},
8343 { &hf_x411_redirections,
8344 { "redirections", "x411.redirections",
8345 FT_UINT32, BASE_DEC, NULL, 0,
8346 "x411.Redirections", HFILL }},
8347 { &hf_x411_restricted_delivery,
8348 { "restricted-delivery", "x411.restricted_delivery",
8349 FT_UINT32, BASE_DEC, NULL, 0,
8350 "x411.RestrictedDelivery", HFILL }},
8351 { &hf_x411_retrieve_registrations,
8352 { "retrieve-registrations", "x411.retrieve_registrations",
8353 FT_NONE, BASE_NONE, NULL, 0,
8354 "x411.RegistrationTypes", HFILL }},
8355 { &hf_x411_non_empty_result,
8356 { "non-empty-result", "x411.non_empty_result",
8357 FT_NONE, BASE_NONE, NULL, 0,
8358 "x411.T_non_empty_result", HFILL }},
8359 { &hf_x411_registered_information,
8360 { "registered-information", "x411.registered_information",
8361 FT_NONE, BASE_NONE, NULL, 0,
8362 "x411.RegisterArgument", HFILL }},
8363 { &hf_x411_old_credentials,
8364 { "old-credentials", "x411.old_credentials",
8365 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8366 "x411.Credentials", HFILL }},
8367 { &hf_x411_new_credentials,
8368 { "new-credentials", "x411.new_credentials",
8369 FT_UINT32, BASE_DEC, VALS(x411_Credentials_vals), 0,
8370 "x411.Credentials", HFILL }},
8372 { "x121", "x411.x121",
8373 FT_NONE, BASE_NONE, NULL, 0,
8374 "x411.T_x121", HFILL }},
8375 { &hf_x411_x121_address,
8376 { "x121-address", "x411.x121_address",
8377 FT_STRING, BASE_NONE, NULL, 0,
8378 "x411.NumericString", HFILL }},
8380 { "tsap-id", "x411.tsap_id",
8381 FT_STRING, BASE_NONE, NULL, 0,
8382 "x411.PrintableString", HFILL }},
8383 { &hf_x411_presentation,
8384 { "presentation", "x411.presentation",
8385 FT_NONE, BASE_NONE, NULL, 0,
8386 "x411.PSAPAddress", HFILL }},
8387 { &hf_x411_Redirections_item,
8388 { "Item", "x411.Redirections_item",
8389 FT_NONE, BASE_NONE, NULL, 0,
8390 "x411.RecipientRedirection", HFILL }},
8391 { &hf_x411_redirection_classes,
8392 { "redirection-classes", "x411.redirection_classes",
8393 FT_UINT32, BASE_DEC, NULL, 0,
8394 "x411.SET_OF_RedirectionClass", HFILL }},
8395 { &hf_x411_redirection_classes_item,
8396 { "Item", "x411.redirection_classes_item",
8397 FT_NONE, BASE_NONE, NULL, 0,
8398 "x411.RedirectionClass", HFILL }},
8399 { &hf_x411_recipient_assigned_alternate_recipient,
8400 { "recipient-assigned-alternate-recipient", "x411.recipient_assigned_alternate_recipient",
8401 FT_NONE, BASE_NONE, NULL, 0,
8402 "x411.RecipientAssignedAlternateRecipient", HFILL }},
8403 { &hf_x411_content_types,
8404 { "content-types", "x411.content_types",
8405 FT_UINT32, BASE_DEC, NULL, 0,
8406 "x411.ContentTypes", HFILL }},
8407 { &hf_x411_maximum_content_length,
8408 { "maximum-content-length", "x411.maximum_content_length",
8409 FT_UINT32, BASE_DEC, NULL, 0,
8410 "x411.ContentLength", HFILL }},
8411 { &hf_x411_encoded_information_types_constraints,
8412 { "encoded-information-types-constraints", "x411.encoded_information_types_constraints",
8413 FT_NONE, BASE_NONE, NULL, 0,
8414 "x411.EncodedInformationTypesConstraints", HFILL }},
8415 { &hf_x411_security_labels,
8416 { "security-labels", "x411.security_labels",
8417 FT_UINT32, BASE_DEC, NULL, 0,
8418 "x411.SecurityContext", HFILL }},
8419 { &hf_x411_class_priority,
8420 { "priority", "x411.priority",
8421 FT_UINT32, BASE_DEC, NULL, 0,
8422 "x411.SET_OF_Priority", HFILL }},
8423 { &hf_x411_class_priority_item,
8424 { "Item", "x411.priority_item",
8425 FT_UINT32, BASE_DEC, VALS(x411_Priority_vals), 0,
8426 "x411.Priority", HFILL }},
8428 { "objects", "x411.objects",
8429 FT_UINT32, BASE_DEC, VALS(x411_T_objects_vals), 0,
8430 "x411.T_objects", HFILL }},
8431 { &hf_x411_applies_only_to,
8432 { "applies-only-to", "x411.applies_only_to",
8433 FT_UINT32, BASE_DEC, NULL, 0,
8434 "x411.SEQUENCE_OF_Restriction", HFILL }},
8435 { &hf_x411_applies_only_to_item,
8436 { "Item", "x411.applies_only_to_item",
8437 FT_NONE, BASE_NONE, NULL, 0,
8438 "x411.Restriction", HFILL }},
8439 { &hf_x411_unacceptable_eits,
8440 { "unacceptable-eits", "x411.unacceptable_eits",
8441 FT_UINT32, BASE_DEC, NULL, 0,
8442 "x411.ExtendedEncodedInformationTypes", HFILL }},
8443 { &hf_x411_acceptable_eits,
8444 { "acceptable-eits", "x411.acceptable_eits",
8445 FT_UINT32, BASE_DEC, NULL, 0,
8446 "x411.ExtendedEncodedInformationTypes", HFILL }},
8447 { &hf_x411_exclusively_acceptable_eits,
8448 { "exclusively-acceptable-eits", "x411.exclusively_acceptable_eits",
8449 FT_UINT32, BASE_DEC, NULL, 0,
8450 "x411.ExtendedEncodedInformationTypes", HFILL }},
8451 { &hf_x411_RestrictedDelivery_item,
8452 { "Item", "x411.RestrictedDelivery_item",
8453 FT_NONE, BASE_NONE, NULL, 0,
8454 "x411.Restriction", HFILL }},
8455 { &hf_x411_permitted,
8456 { "permitted", "x411.permitted",
8457 FT_BOOLEAN, 8, NULL, 0,
8458 "x411.BOOLEAN", HFILL }},
8459 { &hf_x411_source_type,
8460 { "source-type", "x411.source_type",
8461 FT_BYTES, BASE_HEX, NULL, 0,
8462 "x411.T_source_type", HFILL }},
8463 { &hf_x411_source_name,
8464 { "source-name", "x411.source_name",
8465 FT_UINT32, BASE_DEC, VALS(x411_ExactOrPattern_vals), 0,
8466 "x411.ExactOrPattern", HFILL }},
8467 { &hf_x411_exact_match,
8468 { "exact-match", "x411.exact_match",
8469 FT_NONE, BASE_NONE, NULL, 0,
8470 "x411.ORName", HFILL }},
8471 { &hf_x411_pattern_match,
8472 { "pattern-match", "x411.pattern_match",
8473 FT_NONE, BASE_NONE, NULL, 0,
8474 "x411.ORName", HFILL }},
8475 { &hf_x411_standard_parameters,
8476 { "standard-parameters", "x411.standard_parameters",
8477 FT_BYTES, BASE_HEX, NULL, 0,
8478 "x411.T_standard_parameters", HFILL }},
8479 { &hf_x411_type_extensions,
8480 { "extensions", "x411.extensions",
8481 FT_UINT32, BASE_DEC, NULL, 0,
8482 "x411.T_type_extensions", HFILL }},
8483 { &hf_x411_type_extensions_item,
8484 { "Item", "x411.extensions_item",
8485 FT_NONE, BASE_NONE, NULL, 0,
8486 "x411.T_type_extensions_item", HFILL }},
8487 { &hf_x411_mts_originator_name,
8488 { "originator-name", "x411.originator_name",
8489 FT_NONE, BASE_NONE, NULL, 0,
8490 "x411.MTSOriginatorName", HFILL }},
8491 { &hf_x411_per_recipient_message_submission_fields,
8492 { "per-recipient-fields", "x411.per_recipient_fields",
8493 FT_UINT32, BASE_DEC, NULL, 0,
8494 "x411.SEQUENCE_OF_PerRecipientMessageSubmissionFields", HFILL }},
8495 { &hf_x411_per_recipient_message_submission_fields_item,
8496 { "Item", "x411.per_recipient_fields_item",
8497 FT_NONE, BASE_NONE, NULL, 0,
8498 "x411.PerRecipientMessageSubmissionFields", HFILL }},
8499 { &hf_x411_submission_recipient_name,
8500 { "recipient-name", "x411.recipient_name",
8501 FT_NONE, BASE_NONE, NULL, 0,
8502 "x411.MTSRecipientName", HFILL }},
8503 { &hf_x411_originator_report_request,
8504 { "originator-report-request", "x411.originator_report_request",
8505 FT_BYTES, BASE_HEX, NULL, 0,
8506 "x411.OriginatorReportRequest", HFILL }},
8507 { &hf_x411_per_recipient_probe_submission_fields,
8508 { "per-recipient-fields", "x411.per_recipient_fields",
8509 FT_UINT32, BASE_DEC, NULL, 0,
8510 "x411.SEQUENCE_OF_PerRecipientProbeSubmissionFields", HFILL }},
8511 { &hf_x411_per_recipient_probe_submission_fields_item,
8512 { "Item", "x411.per_recipient_fields_item",
8513 FT_NONE, BASE_NONE, NULL, 0,
8514 "x411.PerRecipientProbeSubmissionFields", HFILL }},
8515 { &hf_x411_probe_recipient_name,
8516 { "recipient-name", "x411.recipient_name",
8517 FT_NONE, BASE_NONE, NULL, 0,
8518 "x411.MTSRecipientName", HFILL }},
8519 { &hf_x411_delivered_content_type,
8520 { "content-type", "x411.content_type",
8521 FT_UINT32, BASE_DEC, VALS(x411_DeliveredContentType_vals), 0,
8522 "x411.DeliveredContentType", HFILL }},
8523 { &hf_x411_originator_name,
8524 { "originator-name", "x411.originator_name",
8525 FT_NONE, BASE_NONE, NULL, 0,
8526 "x411.DeliveredOriginatorName", HFILL }},
8527 { &hf_x411_delivery_flags,
8528 { "delivery-flags", "x411.delivery_flags",
8529 FT_BYTES, BASE_HEX, NULL, 0,
8530 "x411.DeliveryFlags", HFILL }},
8531 { &hf_x411_other_recipient_names,
8532 { "other-recipient-names", "x411.other_recipient_names",
8533 FT_UINT32, BASE_DEC, NULL, 0,
8534 "x411.OtherRecipientNames", HFILL }},
8535 { &hf_x411_this_recipient_name,
8536 { "this-recipient-name", "x411.this_recipient_name",
8537 FT_NONE, BASE_NONE, NULL, 0,
8538 "x411.ThisRecipientName", HFILL }},
8539 { &hf_x411_originally_intended_recipient_name,
8540 { "originally-intended-recipient-name", "x411.originally_intended_recipient_name",
8541 FT_NONE, BASE_NONE, NULL, 0,
8542 "x411.MTSOriginallyIntendedRecipientName", HFILL }},
8543 { &hf_x411_actual_recipient_name,
8544 { "actual-recipient-name", "x411.actual_recipient_name",
8545 FT_NONE, BASE_NONE, NULL, 0,
8546 "x411.MTSActualRecipientName", HFILL }},
8547 { &hf_x411_delivery_report_type,
8548 { "report-type", "x411.report_type",
8549 FT_UINT32, BASE_DEC, VALS(x411_ReportType_vals), 0,
8550 "x411.ReportType", HFILL }},
8551 { &hf_x411_delivery,
8552 { "delivery", "x411.delivery",
8553 FT_NONE, BASE_NONE, NULL, 0,
8554 "x411.DeliveryReport", HFILL }},
8555 { &hf_x411_non_delivery,
8556 { "non-delivery", "x411.non_delivery",
8557 FT_NONE, BASE_NONE, NULL, 0,
8558 "x411.NonDeliveryReport", HFILL }},
8559 { &hf_x411_type_of_MTS_user,
8560 { "type-of-MTS-user", "x411.type_of_MTS_user",
8561 FT_UINT32, BASE_DEC, VALS(x411_TypeOfMTSUser_vals), 0,
8562 "x411.TypeOfMTSUser", HFILL }},
8563 { &hf_x411_non_delivery_reason_code,
8564 { "non-delivery-reason-code", "x411.non_delivery_reason_code",
8565 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryReasonCode_vals), 0,
8566 "x411.NonDeliveryReasonCode", HFILL }},
8567 { &hf_x411_non_delivery_diagnostic_code,
8568 { "non-delivery-diagnostic-code", "x411.non_delivery_diagnostic_code",
8569 FT_UINT32, BASE_DEC, VALS(x411_NonDeliveryDiagnosticCode_vals), 0,
8570 "x411.NonDeliveryDiagnosticCode", HFILL }},
8571 { &hf_x411_ContentTypes_item,
8572 { "Item", "x411.ContentTypes_item",
8573 FT_UINT32, BASE_DEC, VALS(x411_ContentType_vals), 0,
8574 "x411.ContentType", HFILL }},
8575 { &hf_x411_built_in,
8576 { "built-in", "x411.built_in",
8577 FT_INT32, BASE_DEC, VALS(x411_BuiltInContentType_vals), 0,
8578 "x411.BuiltInContentType", HFILL }},
8579 { &hf_x411_extended,
8580 { "extended", "x411.extended",
8581 FT_OID, BASE_NONE, NULL, 0,
8582 "x411.ExtendedContentType", HFILL }},
8583 { &hf_x411_OtherRecipientNames_item,
8584 { "Item", "x411.OtherRecipientNames_item",
8585 FT_NONE, BASE_NONE, NULL, 0,
8586 "x411.OtherRecipientName", HFILL }},
8587 { &hf_x411_standard_extension,
8588 { "standard-extension", "x411.standard_extension",
8589 FT_INT32, BASE_DEC, NULL, 0,
8590 "x411.INTEGER", HFILL }},
8591 { &hf_x411_private_extension,
8592 { "private-extension", "x411.private_extension",
8593 FT_OID, BASE_NONE, NULL, 0,
8594 "x411.OBJECT_IDENTIFIER", HFILL }},
8595 { &hf_x411_extension_type,
8596 { "type", "x411.type",
8597 FT_UINT32, BASE_DEC, VALS(x411_ExtensionType_vals), 0,
8598 "x411.ExtensionType", HFILL }},
8599 { &hf_x411_criticality,
8600 { "criticality", "x411.criticality",
8601 FT_BYTES, BASE_HEX, NULL, 0,
8602 "x411.Criticality", HFILL }},
8603 { &hf_x411_extension_value,
8604 { "value", "x411.value",
8605 FT_NONE, BASE_NONE, NULL, 0,
8606 "x411.ExtensionValue", HFILL }},
8607 { &hf_x411_RequestedDeliveryMethod_item,
8608 { "Item", "x411.RequestedDeliveryMethod_item",
8609 FT_UINT32, BASE_DEC, VALS(x411_RequestedDeliveryMethod_item_vals), 0,
8610 "x411.RequestedDeliveryMethod_item", HFILL }},
8612 { "ia5text", "x411.ia5text",
8613 FT_STRING, BASE_NONE, NULL, 0,
8614 "x411.IA5String", HFILL }},
8616 { "octets", "x411.octets",
8617 FT_BYTES, BASE_HEX, NULL, 0,
8618 "x411.OCTET_STRING", HFILL }},
8619 { &hf_x411_RedirectionHistory_item,
8620 { "Item", "x411.RedirectionHistory_item",
8621 FT_NONE, BASE_NONE, NULL, 0,
8622 "x411.Redirection", HFILL }},
8623 { &hf_x411_intended_recipient_name,
8624 { "intended-recipient-name", "x411.intended_recipient_name",
8625 FT_NONE, BASE_NONE, NULL, 0,
8626 "x411.IntendedRecipientName", HFILL }},
8627 { &hf_x411_redirection_reason,
8628 { "redirection-reason", "x411.redirection_reason",
8629 FT_UINT32, BASE_DEC, VALS(x411_RedirectionReason_vals), 0,
8630 "x411.RedirectionReason", HFILL }},
8631 { &hf_x411_intended_recipient,
8632 { "intended-recipient", "x411.intended_recipient",
8633 FT_NONE, BASE_NONE, NULL, 0,
8634 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8635 { &hf_x411_redirection_time,
8636 { "redirection-time", "x411.redirection_time",
8637 FT_STRING, BASE_NONE, NULL, 0,
8638 "x411.Time", HFILL }},
8639 { &hf_x411_DLExpansionHistory_item,
8640 { "Item", "x411.DLExpansionHistory_item",
8641 FT_NONE, BASE_NONE, NULL, 0,
8642 "x411.DLExpansion", HFILL }},
8645 FT_NONE, BASE_NONE, NULL, 0,
8646 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8647 { &hf_x411_dl_expansion_time,
8648 { "dl-expansion-time", "x411.dl_expansion_time",
8649 FT_STRING, BASE_NONE, NULL, 0,
8650 "x411.Time", HFILL }},
8651 { &hf_x411_OriginatorAndDLExpansionHistory_item,
8652 { "Item", "x411.OriginatorAndDLExpansionHistory_item",
8653 FT_NONE, BASE_NONE, NULL, 0,
8654 "x411.OriginatorAndDLExpansion", HFILL }},
8655 { &hf_x411_originator_or_dl_name,
8656 { "originator-or-dl-name", "x411.originator_or_dl_name",
8657 FT_NONE, BASE_NONE, NULL, 0,
8658 "x411.ORAddressAndOptionalDirectoryName", HFILL }},
8659 { &hf_x411_origination_or_expansion_time,
8660 { "origination-or-expansion-time", "x411.origination_or_expansion_time",
8661 FT_STRING, BASE_NONE, NULL, 0,
8662 "x411.Time", HFILL }},
8663 { &hf_x411_report_type,
8664 { "report-type", "x411.report_type",
8665 FT_UINT32, BASE_DEC, VALS(x411_T_report_type_vals), 0,
8666 "x411.T_report_type", HFILL }},
8667 { &hf_x411_report_type_delivery,
8668 { "delivery", "x411.delivery",
8669 FT_NONE, BASE_NONE, NULL, 0,
8670 "x411.PerRecipientDeliveryReportFields", HFILL }},
8671 { &hf_x411_non_delivery_report,
8672 { "non-delivery", "x411.non_delivery",
8673 FT_NONE, BASE_NONE, NULL, 0,
8674 "x411.PerRecipientNonDeliveryReportFields", HFILL }},
8675 { &hf_x411_mta_directory_name,
8676 { "mta-directory-name", "x411.mta_directory_name",
8677 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8678 "x509if.Name", HFILL }},
8679 { &hf_x411_ExtendedCertificates_item,
8680 { "Item", "x411.ExtendedCertificates_item",
8681 FT_UINT32, BASE_DEC, VALS(x411_ExtendedCertificate_vals), 0,
8682 "x411.ExtendedCertificate", HFILL }},
8683 { &hf_x411_directory_entry,
8684 { "directory-entry", "x411.directory_entry",
8685 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8686 "x509if.Name", HFILL }},
8687 { &hf_x411_DLExemptedRecipients_item,
8688 { "Item", "x411.DLExemptedRecipients_item",
8689 FT_NONE, BASE_NONE, NULL, 0,
8690 "x411.ORAddressAndOrDirectoryName", HFILL }},
8691 { &hf_x411_encryption_recipient,
8692 { "encryption-recipient", "x411.encryption_recipient",
8693 FT_NONE, BASE_NONE, NULL, 0,
8694 "x509ce.CertificateAssertion", HFILL }},
8695 { &hf_x411_encryption_originator,
8696 { "encryption-originator", "x411.encryption_originator",
8697 FT_NONE, BASE_NONE, NULL, 0,
8698 "x509ce.CertificateAssertion", HFILL }},
8699 { &hf_x411_selectors_content_integrity_check,
8700 { "content-integrity-check", "x411.content_integrity_check",
8701 FT_NONE, BASE_NONE, NULL, 0,
8702 "x509ce.CertificateAssertion", HFILL }},
8703 { &hf_x411_token_signature,
8704 { "token-signature", "x411.token_signature",
8705 FT_NONE, BASE_NONE, NULL, 0,
8706 "x509ce.CertificateAssertion", HFILL }},
8707 { &hf_x411_message_origin_authentication,
8708 { "message-origin-authentication", "x411.message_origin_authentication",
8709 FT_NONE, BASE_NONE, NULL, 0,
8710 "x509ce.CertificateAssertion", HFILL }},
8711 { &hf_x411_local_identifier,
8712 { "local-identifier", "x411.local_identifier",
8713 FT_STRING, BASE_NONE, NULL, 0,
8714 "x411.LocalIdentifier", HFILL }},
8716 { "numeric", "x411.numeric",
8717 FT_STRING, BASE_NONE, NULL, 0,
8718 "x411.NumericString", HFILL }},
8719 { &hf_x411_printable,
8720 { "printable", "x411.printable",
8721 FT_STRING, BASE_NONE, NULL, 0,
8722 "x411.PrintableString", HFILL }},
8723 { &hf_x411_built_in_standard_attributes,
8724 { "built-in-standard-attributes", "x411.built_in_standard_attributes",
8725 FT_NONE, BASE_NONE, NULL, 0,
8726 "x411.BuiltInStandardAttributes", HFILL }},
8727 { &hf_x411_built_in_domain_defined_attributes,
8728 { "built-in-domain-defined-attributes", "x411.built_in_domain_defined_attributes",
8729 FT_UINT32, BASE_DEC, NULL, 0,
8730 "x411.BuiltInDomainDefinedAttributes", HFILL }},
8731 { &hf_x411_extension_attributes,
8732 { "extension-attributes", "x411.extension_attributes",
8733 FT_UINT32, BASE_DEC, NULL, 0,
8734 "x411.ExtensionAttributes", HFILL }},
8735 { &hf_x411_directory_name,
8736 { "directory-name", "x411.directory_name",
8737 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
8738 "x509if.Name", HFILL }},
8739 { &hf_x411_network_address,
8740 { "network-address", "x411.network_address",
8741 FT_STRING, BASE_NONE, NULL, 0,
8742 "x411.NetworkAddress", HFILL }},
8743 { &hf_x411_terminal_identifier,
8744 { "terminal-identifier", "x411.terminal_identifier",
8745 FT_STRING, BASE_NONE, NULL, 0,
8746 "x411.TerminalIdentifier", HFILL }},
8747 { &hf_x411_private_domain_name,
8748 { "private-domain-name", "x411.private_domain_name",
8749 FT_UINT32, BASE_DEC, VALS(x411_PrivateDomainName_vals), 0,
8750 "x411.PrivateDomainName", HFILL }},
8751 { &hf_x411_organization_name,
8752 { "organization-name", "x411.organization_name",
8753 FT_STRING, BASE_NONE, NULL, 0,
8754 "x411.OrganizationName", HFILL }},
8755 { &hf_x411_numeric_user_identifier,
8756 { "numeric-user-identifier", "x411.numeric_user_identifier",
8757 FT_STRING, BASE_NONE, NULL, 0,
8758 "x411.NumericUserIdentifier", HFILL }},
8759 { &hf_x411_personal_name,
8760 { "personal-name", "x411.personal_name",
8761 FT_NONE, BASE_NONE, NULL, 0,
8762 "x411.PersonalName", HFILL }},
8763 { &hf_x411_organizational_unit_names,
8764 { "organizational-unit-names", "x411.organizational_unit_names",
8765 FT_UINT32, BASE_DEC, NULL, 0,
8766 "x411.OrganizationalUnitNames", HFILL }},
8767 { &hf_x411_x121_dcc_code,
8768 { "x121-dcc-code", "x411.x121_dcc_code",
8769 FT_STRING, BASE_NONE, NULL, 0,
8770 "x411.NumericString", HFILL }},
8771 { &hf_x411_iso_3166_alpha2_code,
8772 { "iso-3166-alpha2-code", "x411.iso_3166_alpha2_code",
8773 FT_STRING, BASE_NONE, NULL, 0,
8774 "x411.PrintableString", HFILL }},
8775 { &hf_x411_printable_surname,
8776 { "surname", "x411.surname",
8777 FT_STRING, BASE_NONE, NULL, 0,
8778 "x411.PrintableString", HFILL }},
8779 { &hf_x411_printable_given_name,
8780 { "given-name", "x411.given_name",
8781 FT_STRING, BASE_NONE, NULL, 0,
8782 "x411.PrintableString", HFILL }},
8783 { &hf_x411_printable_initials,
8784 { "initials", "x411.initials",
8785 FT_STRING, BASE_NONE, NULL, 0,
8786 "x411.PrintableString", HFILL }},
8787 { &hf_x411_printable_generation_qualifier,
8788 { "generation-qualifier", "x411.generation_qualifier",
8789 FT_STRING, BASE_NONE, NULL, 0,
8790 "x411.PrintableString", HFILL }},
8791 { &hf_x411_OrganizationalUnitNames_item,
8792 { "Item", "x411.OrganizationalUnitNames_item",
8793 FT_STRING, BASE_NONE, NULL, 0,
8794 "x411.OrganizationalUnitName", HFILL }},
8795 { &hf_x411_BuiltInDomainDefinedAttributes_item,
8796 { "Item", "x411.BuiltInDomainDefinedAttributes_item",
8797 FT_NONE, BASE_NONE, NULL, 0,
8798 "x411.BuiltInDomainDefinedAttribute", HFILL }},
8799 { &hf_x411_printable_type,
8800 { "type", "x411.type",
8801 FT_STRING, BASE_NONE, NULL, 0,
8802 "x411.PrintableString", HFILL }},
8803 { &hf_x411_printable_value,
8804 { "value", "x411.value",
8805 FT_STRING, BASE_NONE, NULL, 0,
8806 "x411.PrintableString", HFILL }},
8807 { &hf_x411_ExtensionAttributes_item,
8808 { "Item", "x411.ExtensionAttributes_item",
8809 FT_NONE, BASE_NONE, NULL, 0,
8810 "x411.ExtensionAttribute", HFILL }},
8811 { &hf_x411_extension_attribute_type,
8812 { "extension-attribute-type", "x411.extension_attribute_type",
8813 FT_INT32, BASE_DEC, NULL, 0,
8814 "x411.INTEGER", HFILL }},
8815 { &hf_x411_extension_attribute_value,
8816 { "extension-attribute-value", "x411.extension_attribute_value",
8817 FT_NONE, BASE_NONE, NULL, 0,
8818 "x411.T_extension_attribute_value", HFILL }},
8819 { &hf_x411_teletex_surname,
8820 { "surname", "x411.surname",
8821 FT_STRING, BASE_NONE, NULL, 0,
8822 "x411.TeletexString", HFILL }},
8823 { &hf_x411_teletex_given_name,
8824 { "given-name", "x411.given_name",
8825 FT_STRING, BASE_NONE, NULL, 0,
8826 "x411.TeletexString", HFILL }},
8827 { &hf_x411_teletex_initials,
8828 { "initials", "x411.initials",
8829 FT_STRING, BASE_NONE, NULL, 0,
8830 "x411.TeletexString", HFILL }},
8831 { &hf_x411_teletex_generation_qualifier,
8832 { "generation-qualifier", "x411.generation_qualifier",
8833 FT_STRING, BASE_NONE, NULL, 0,
8834 "x411.TeletexString", HFILL }},
8835 { &hf_x411_universal_surname,
8836 { "surname", "x411.surname",
8837 FT_NONE, BASE_NONE, NULL, 0,
8838 "x411.UniversalOrBMPString", HFILL }},
8839 { &hf_x411_universal_given_name,
8840 { "given-name", "x411.given_name",
8841 FT_NONE, BASE_NONE, NULL, 0,
8842 "x411.UniversalOrBMPString", HFILL }},
8843 { &hf_x411_universal_initials,
8844 { "initials", "x411.initials",
8845 FT_NONE, BASE_NONE, NULL, 0,
8846 "x411.UniversalOrBMPString", HFILL }},
8847 { &hf_x411_universal_generation_qualifier,
8848 { "generation-qualifier", "x411.generation_qualifier",
8849 FT_NONE, BASE_NONE, NULL, 0,
8850 "x411.UniversalOrBMPString", HFILL }},
8851 { &hf_x411_TeletexOrganizationalUnitNames_item,
8852 { "Item", "x411.TeletexOrganizationalUnitNames_item",
8853 FT_STRING, BASE_NONE, NULL, 0,
8854 "x411.TeletexOrganizationalUnitName", HFILL }},
8855 { &hf_x411_UniversalOrganizationalUnitNames_item,
8856 { "Item", "x411.UniversalOrganizationalUnitNames_item",
8857 FT_NONE, BASE_NONE, NULL, 0,
8858 "x411.UniversalOrganizationalUnitName", HFILL }},
8859 { &hf_x411_character_encoding,
8860 { "character-encoding", "x411.character_encoding",
8861 FT_UINT32, BASE_DEC, VALS(x411_T_character_encoding_vals), 0,
8862 "x411.T_character_encoding", HFILL }},
8863 { &hf_x411_two_octets,
8864 { "two-octets", "x411.two_octets",
8865 FT_STRING, BASE_NONE, NULL, 0,
8866 "x411.BMPString", HFILL }},
8867 { &hf_x411_four_octets,
8868 { "four-octets", "x411.four_octets",
8869 FT_STRING, BASE_NONE, NULL, 0,
8870 "x411.UniversalString", HFILL }},
8871 { &hf_x411_iso_639_language_code,
8872 { "iso-639-language-code", "x411.iso_639_language_code",
8873 FT_STRING, BASE_NONE, NULL, 0,
8874 "x411.PrintableString", HFILL }},
8875 { &hf_x411_numeric_code,
8876 { "numeric-code", "x411.numeric_code",
8877 FT_STRING, BASE_NONE, NULL, 0,
8878 "x411.NumericString", HFILL }},
8879 { &hf_x411_printable_code,
8880 { "printable-code", "x411.printable_code",
8881 FT_STRING, BASE_NONE, NULL, 0,
8882 "x411.PrintableString", HFILL }},
8883 { &hf_x411_printable_address,
8884 { "printable-address", "x411.printable_address",
8885 FT_UINT32, BASE_DEC, NULL, 0,
8886 "x411.T_printable_address", HFILL }},
8887 { &hf_x411_printable_address_item,
8888 { "Item", "x411.printable_address_item",
8889 FT_STRING, BASE_NONE, NULL, 0,
8890 "x411.PrintableString", HFILL }},
8891 { &hf_x411_teletex_string,
8892 { "teletex-string", "x411.teletex_string",
8893 FT_STRING, BASE_NONE, NULL, 0,
8894 "x411.TeletexString", HFILL }},
8895 { &hf_x411_printable_string,
8896 { "printable-string", "x411.printable_string",
8897 FT_STRING, BASE_NONE, NULL, 0,
8898 "x411.PrintableString", HFILL }},
8899 { &hf_x411_e163_4_address,
8900 { "e163-4-address", "x411.e163_4_address",
8901 FT_NONE, BASE_NONE, NULL, 0,
8902 "x411.T_e163_4_address", HFILL }},
8904 { "number", "x411.number",
8905 FT_STRING, BASE_NONE, NULL, 0,
8906 "x411.NumericString", HFILL }},
8907 { &hf_x411_sub_address,
8908 { "sub-address", "x411.sub_address",
8909 FT_STRING, BASE_NONE, NULL, 0,
8910 "x411.NumericString", HFILL }},
8911 { &hf_x411_psap_address,
8912 { "psap-address", "x411.psap_address",
8913 FT_NONE, BASE_NONE, NULL, 0,
8914 "x509sat.PresentationAddress", HFILL }},
8915 { &hf_x411_TeletexDomainDefinedAttributes_item,
8916 { "Item", "x411.TeletexDomainDefinedAttributes_item",
8917 FT_NONE, BASE_NONE, NULL, 0,
8918 "x411.TeletexDomainDefinedAttribute", HFILL }},
8920 { "type", "x411.type",
8921 FT_STRING, BASE_NONE, NULL, 0,
8922 "x411.TeletexString", HFILL }},
8923 { &hf_x411_teletex_value,
8924 { "value", "x411.value",
8925 FT_STRING, BASE_NONE, NULL, 0,
8926 "x411.TeletexString", HFILL }},
8927 { &hf_x411_UniversalDomainDefinedAttributes_item,
8928 { "Item", "x411.UniversalDomainDefinedAttributes_item",
8929 FT_NONE, BASE_NONE, NULL, 0,
8930 "x411.UniversalDomainDefinedAttribute", HFILL }},
8931 { &hf_x411_universal_type,
8932 { "type", "x411.type",
8933 FT_NONE, BASE_NONE, NULL, 0,
8934 "x411.UniversalOrBMPString", HFILL }},
8935 { &hf_x411_universal_value,
8936 { "value", "x411.value",
8937 FT_NONE, BASE_NONE, NULL, 0,
8938 "x411.UniversalOrBMPString", HFILL }},
8939 { &hf_x411_built_in_encoded_information_types,
8940 { "built-in-encoded-information-types", "x411.built_in_encoded_information_types",
8941 FT_BYTES, BASE_HEX, NULL, 0,
8942 "x411.BuiltInEncodedInformationTypes", HFILL }},
8943 { &hf_x411_g3_facsimile,
8944 { "g3-facsimile", "x411.g3_facsimile",
8945 FT_BYTES, BASE_HEX, NULL, 0,
8946 "x411.G3FacsimileNonBasicParameters", HFILL }},
8948 { "teletex", "x411.teletex",
8949 FT_NONE, BASE_NONE, NULL, 0,
8950 "x411.TeletexNonBasicParameters", HFILL }},
8951 { &hf_x411_extended_encoded_information_types,
8952 { "extended-encoded-information-types", "x411.extended_encoded_information_types",
8953 FT_UINT32, BASE_DEC, NULL, 0,
8954 "x411.ExtendedEncodedInformationTypes", HFILL }},
8955 { &hf_x411_ExtendedEncodedInformationTypes_item,
8956 { "Item", "x411.ExtendedEncodedInformationTypes_item",
8957 FT_OID, BASE_NONE, NULL, 0,
8958 "x411.ExtendedEncodedInformationType", HFILL }},
8959 { &hf_x411_graphic_character_sets,
8960 { "graphic-character-sets", "x411.graphic_character_sets",
8961 FT_STRING, BASE_NONE, NULL, 0,
8962 "x411.TeletexString", HFILL }},
8963 { &hf_x411_control_character_sets,
8964 { "control-character-sets", "x411.control_character_sets",
8965 FT_STRING, BASE_NONE, NULL, 0,
8966 "x411.TeletexString", HFILL }},
8967 { &hf_x411_page_formats,
8968 { "page-formats", "x411.page_formats",
8969 FT_BYTES, BASE_HEX, NULL, 0,
8970 "x411.OCTET_STRING", HFILL }},
8971 { &hf_x411_miscellaneous_terminal_capabilities,
8972 { "miscellaneous-terminal-capabilities", "x411.miscellaneous_terminal_capabilities",
8973 FT_STRING, BASE_NONE, NULL, 0,
8974 "x411.TeletexString", HFILL }},
8975 { &hf_x411_private_use,
8976 { "private-use", "x411.private_use",
8977 FT_BYTES, BASE_HEX, NULL, 0,
8978 "x411.OCTET_STRING", HFILL }},
8979 { &hf_x411_token_type_identifier,
8980 { "token-type-identifier", "x411.token_type_identifier",
8981 FT_OID, BASE_NONE, NULL, 0,
8982 "x411.TokenTypeIdentifier", HFILL }},
8984 { "token", "x411.token",
8985 FT_NONE, BASE_NONE, NULL, 0,
8986 "x411.TokenTypeData", HFILL }},
8987 { &hf_x411_signature_algorithm_identifier,
8988 { "signature-algorithm-identifier", "x411.signature_algorithm_identifier",
8989 FT_NONE, BASE_NONE, NULL, 0,
8990 "x509af.AlgorithmIdentifier", HFILL }},
8992 { "name", "x411.name",
8993 FT_UINT32, BASE_DEC, VALS(x411_T_name_vals), 0,
8994 "x411.T_name", HFILL }},
8995 { &hf_x411_token_recipient_name,
8996 { "recipient-name", "x411.recipient_name",
8997 FT_NONE, BASE_NONE, NULL, 0,
8998 "x411.MTSRecipientName", HFILL }},
8999 { &hf_x411_token_mta,
9000 { "mta", "x411.mta",
9001 FT_NONE, BASE_NONE, NULL, 0,
9002 "x411.MTANameAndOptionalGDI", HFILL }},
9004 { "time", "x411.time",
9005 FT_STRING, BASE_NONE, NULL, 0,
9006 "x411.Time", HFILL }},
9007 { &hf_x411_signed_data,
9008 { "signed-data", "x411.signed_data",
9009 FT_NONE, BASE_NONE, NULL, 0,
9010 "x411.TokenData", HFILL }},
9011 { &hf_x411_encryption_algorithm_identifier,
9012 { "encryption-algorithm-identifier", "x411.encryption_algorithm_identifier",
9013 FT_NONE, BASE_NONE, NULL, 0,
9014 "x509af.AlgorithmIdentifier", HFILL }},
9015 { &hf_x411_encrypted_data,
9016 { "encrypted-data", "x411.encrypted_data",
9017 FT_BYTES, BASE_HEX, NULL, 0,
9018 "x411.BIT_STRING", HFILL }},
9019 { &hf_x411_asymmetric_token_data,
9020 { "asymmetric-token-data", "x411.asymmetric_token_data",
9021 FT_NONE, BASE_NONE, NULL, 0,
9022 "x411.AsymmetricTokenData", HFILL }},
9023 { &hf_x411_algorithm_identifier,
9024 { "algorithm-identifier", "x411.algorithm_identifier",
9025 FT_NONE, BASE_NONE, NULL, 0,
9026 "x509af.AlgorithmIdentifier", HFILL }},
9027 { &hf_x411_token_data_type,
9028 { "type", "x411.type",
9029 FT_INT32, BASE_DEC, NULL, 0,
9030 "x411.INTEGER", HFILL }},
9032 { "value", "x411.value",
9033 FT_NONE, BASE_NONE, NULL, 0,
9034 "x411.T_value", HFILL }},
9035 { &hf_x411_content_confidentiality_algorithm_identifier,
9036 { "content-confidentiality-algorithm-identifier", "x411.content_confidentiality_algorithm_identifier",
9037 FT_NONE, BASE_NONE, NULL, 0,
9038 "x411.ContentConfidentialityAlgorithmIdentifier", HFILL }},
9039 { &hf_x411_content_integrity_check,
9040 { "content-integrity-check", "x411.content_integrity_check",
9041 FT_NONE, BASE_NONE, NULL, 0,
9042 "x411.ContentIntegrityCheck", HFILL }},
9043 { &hf_x411_message_security_label,
9044 { "message-security-label", "x411.message_security_label",
9045 FT_NONE, BASE_NONE, NULL, 0,
9046 "x411.MessageSecurityLabel", HFILL }},
9047 { &hf_x411_proof_of_delivery_request,
9048 { "proof-of-delivery-request", "x411.proof_of_delivery_request",
9049 FT_UINT32, BASE_DEC, VALS(x411_ProofOfDeliveryRequest_vals), 0,
9050 "x411.ProofOfDeliveryRequest", HFILL }},
9051 { &hf_x411_message_sequence_number,
9052 { "message-sequence-number", "x411.message_sequence_number",
9053 FT_INT32, BASE_DEC, NULL, 0,
9054 "x411.INTEGER", HFILL }},
9055 { &hf_x411_content_confidentiality_key,
9056 { "content-confidentiality-key", "x411.content_confidentiality_key",
9057 FT_BYTES, BASE_HEX, NULL, 0,
9058 "x411.EncryptionKey", HFILL }},
9059 { &hf_x411_content_integrity_key,
9060 { "content-integrity-key", "x411.content_integrity_key",
9061 FT_BYTES, BASE_HEX, NULL, 0,
9062 "x411.EncryptionKey", HFILL }},
9063 { &hf_x411_security_policy_identifier,
9064 { "security-policy-identifier", "x411.security_policy_identifier",
9065 FT_OID, BASE_NONE, NULL, 0,
9066 "x411.SecurityPolicyIdentifier", HFILL }},
9067 { &hf_x411_security_classification,
9068 { "security-classification", "x411.security_classification",
9069 FT_UINT32, BASE_DEC, VALS(x411_SecurityClassification_vals), 0,
9070 "x411.SecurityClassification", HFILL }},
9071 { &hf_x411_privacy_mark,
9072 { "privacy-mark", "x411.privacy_mark",
9073 FT_STRING, BASE_NONE, NULL, 0,
9074 "x411.PrivacyMark", HFILL }},
9075 { &hf_x411_security_categories,
9076 { "security-categories", "x411.security_categories",
9077 FT_UINT32, BASE_DEC, NULL, 0,
9078 "x411.SecurityCategories", HFILL }},
9079 { &hf_x411_SecurityCategories_item,
9080 { "Item", "x411.SecurityCategories_item",
9081 FT_NONE, BASE_NONE, NULL, 0,
9082 "x411.SecurityCategory", HFILL }},
9083 { &hf_x411_category_type,
9084 { "type", "x411.type",
9085 FT_OID, BASE_NONE, NULL, 0,
9086 "x411.OBJECT_IDENTIFIER", HFILL }},
9087 { &hf_x411_category_value,
9088 { "value", "x411.value",
9089 FT_NONE, BASE_NONE, NULL, 0,
9090 "x411.CategoryValue", HFILL }},
9091 { &hf_x411_PerRecipientIndicators_responsibility,
9092 { "responsibility", "x411.responsibility",
9093 FT_BOOLEAN, 8, NULL, 0x80,
9095 { &hf_x411_PerRecipientIndicators_originating_MTA_report,
9096 { "originating-MTA-report", "x411.originating-MTA-report",
9097 FT_BOOLEAN, 8, NULL, 0x40,
9099 { &hf_x411_PerRecipientIndicators_originating_MTA_non_delivery_report,
9100 { "originating-MTA-non-delivery-report", "x411.originating-MTA-non-delivery-report",
9101 FT_BOOLEAN, 8, NULL, 0x20,
9103 { &hf_x411_PerRecipientIndicators_originator_report,
9104 { "originator-report", "x411.originator-report",
9105 FT_BOOLEAN, 8, NULL, 0x10,
9107 { &hf_x411_PerRecipientIndicators_originator_non_delivery_report,
9108 { "originator-non-delivery-report", "x411.originator-non-delivery-report",
9109 FT_BOOLEAN, 8, NULL, 0x08,
9111 { &hf_x411_PerRecipientIndicators_reserved_5,
9112 { "reserved-5", "x411.reserved-5",
9113 FT_BOOLEAN, 8, NULL, 0x04,
9115 { &hf_x411_PerRecipientIndicators_reserved_6,
9116 { "reserved-6", "x411.reserved-6",
9117 FT_BOOLEAN, 8, NULL, 0x02,
9119 { &hf_x411_PerRecipientIndicators_reserved_7,
9120 { "reserved-7", "x411.reserved-7",
9121 FT_BOOLEAN, 8, NULL, 0x01,
9123 { &hf_x411_OtherActions_redirected,
9124 { "redirected", "x411.redirected",
9125 FT_BOOLEAN, 8, NULL, 0x80,
9127 { &hf_x411_OtherActions_dl_operation,
9128 { "dl-operation", "x411.dl-operation",
9129 FT_BOOLEAN, 8, NULL, 0x40,
9131 { &hf_x411_Operations_probe_submission_or_report_delivery,
9132 { "probe-submission-or-report-delivery", "x411.probe-submission-or-report-delivery",
9133 FT_BOOLEAN, 8, NULL, 0x80,
9135 { &hf_x411_Operations_message_submission_or_message_delivery,
9136 { "message-submission-or-message-delivery", "x411.message-submission-or-message-delivery",
9137 FT_BOOLEAN, 8, NULL, 0x40,
9139 { &hf_x411_WaitingMessages_long_content,
9140 { "long-content", "x411.long-content",
9141 FT_BOOLEAN, 8, NULL, 0x80,
9143 { &hf_x411_WaitingMessages_low_priority,
9144 { "low-priority", "x411.low-priority",
9145 FT_BOOLEAN, 8, NULL, 0x40,
9147 { &hf_x411_WaitingMessages_other_security_labels,
9148 { "other-security-labels", "x411.other-security-labels",
9149 FT_BOOLEAN, 8, NULL, 0x20,
9151 { &hf_x411_T_source_type_originated_by,
9152 { "originated-by", "x411.originated-by",
9153 FT_BOOLEAN, 8, NULL, 0x80,
9155 { &hf_x411_T_source_type_redirected_by,
9156 { "redirected-by", "x411.redirected-by",
9157 FT_BOOLEAN, 8, NULL, 0x40,
9159 { &hf_x411_T_source_type_dl_expanded_by,
9160 { "dl-expanded-by", "x411.dl-expanded-by",
9161 FT_BOOLEAN, 8, NULL, 0x20,
9163 { &hf_x411_T_standard_parameters_user_name,
9164 { "user-name", "x411.user-name",
9165 FT_BOOLEAN, 8, NULL, 0x80,
9167 { &hf_x411_T_standard_parameters_user_address,
9168 { "user-address", "x411.user-address",
9169 FT_BOOLEAN, 8, NULL, 0x40,
9171 { &hf_x411_T_standard_parameters_deliverable_class,
9172 { "deliverable-class", "x411.deliverable-class",
9173 FT_BOOLEAN, 8, NULL, 0x20,
9175 { &hf_x411_T_standard_parameters_default_delivery_controls,
9176 { "default-delivery-controls", "x411.default-delivery-controls",
9177 FT_BOOLEAN, 8, NULL, 0x10,
9179 { &hf_x411_T_standard_parameters_redirections,
9180 { "redirections", "x411.redirections",
9181 FT_BOOLEAN, 8, NULL, 0x08,
9183 { &hf_x411_T_standard_parameters_restricted_delivery,
9184 { "restricted-delivery", "x411.restricted-delivery",
9185 FT_BOOLEAN, 8, NULL, 0x04,
9187 { &hf_x411_PerMessageIndicators_disclosure_of_other_recipients,
9188 { "disclosure-of-other-recipients", "x411.disclosure-of-other-recipients",
9189 FT_BOOLEAN, 8, NULL, 0x80,
9191 { &hf_x411_PerMessageIndicators_implicit_conversion_prohibited,
9192 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9193 FT_BOOLEAN, 8, NULL, 0x40,
9195 { &hf_x411_PerMessageIndicators_alternate_recipient_allowed,
9196 { "alternate-recipient-allowed", "x411.alternate-recipient-allowed",
9197 FT_BOOLEAN, 8, NULL, 0x20,
9199 { &hf_x411_PerMessageIndicators_content_return_request,
9200 { "content-return-request", "x411.content-return-request",
9201 FT_BOOLEAN, 8, NULL, 0x10,
9203 { &hf_x411_PerMessageIndicators_reserved,
9204 { "reserved", "x411.reserved",
9205 FT_BOOLEAN, 8, NULL, 0x08,
9207 { &hf_x411_PerMessageIndicators_bit_5,
9208 { "bit-5", "x411.bit-5",
9209 FT_BOOLEAN, 8, NULL, 0x04,
9211 { &hf_x411_PerMessageIndicators_bit_6,
9212 { "bit-6", "x411.bit-6",
9213 FT_BOOLEAN, 8, NULL, 0x02,
9215 { &hf_x411_PerMessageIndicators_service_message,
9216 { "service-message", "x411.service-message",
9217 FT_BOOLEAN, 8, NULL, 0x01,
9219 { &hf_x411_OriginatorReportRequest_report,
9220 { "report", "x411.report",
9221 FT_BOOLEAN, 8, NULL, 0x10,
9223 { &hf_x411_OriginatorReportRequest_non_delivery_report,
9224 { "non-delivery-report", "x411.non-delivery-report",
9225 FT_BOOLEAN, 8, NULL, 0x08,
9227 { &hf_x411_DeliveryFlags_implicit_conversion_prohibited,
9228 { "implicit-conversion-prohibited", "x411.implicit-conversion-prohibited",
9229 FT_BOOLEAN, 8, NULL, 0x40,
9231 { &hf_x411_Criticality_for_submission,
9232 { "for-submission", "x411.for-submission",
9233 FT_BOOLEAN, 8, NULL, 0x80,
9235 { &hf_x411_Criticality_for_transfer,
9236 { "for-transfer", "x411.for-transfer",
9237 FT_BOOLEAN, 8, NULL, 0x40,
9239 { &hf_x411_Criticality_for_delivery,
9240 { "for-delivery", "x411.for-delivery",
9241 FT_BOOLEAN, 8, NULL, 0x20,
9243 { &hf_x411_PhysicalDeliveryModes_ordinary_mail,
9244 { "ordinary-mail", "x411.ordinary-mail",
9245 FT_BOOLEAN, 8, NULL, 0x80,
9247 { &hf_x411_PhysicalDeliveryModes_special_delivery,
9248 { "special-delivery", "x411.special-delivery",
9249 FT_BOOLEAN, 8, NULL, 0x40,
9251 { &hf_x411_PhysicalDeliveryModes_express_mail,
9252 { "express-mail", "x411.express-mail",
9253 FT_BOOLEAN, 8, NULL, 0x20,
9255 { &hf_x411_PhysicalDeliveryModes_counter_collection,
9256 { "counter-collection", "x411.counter-collection",
9257 FT_BOOLEAN, 8, NULL, 0x10,
9259 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telephone_advice,
9260 { "counter-collection-with-telephone-advice", "x411.counter-collection-with-telephone-advice",
9261 FT_BOOLEAN, 8, NULL, 0x08,
9263 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_telex_advice,
9264 { "counter-collection-with-telex-advice", "x411.counter-collection-with-telex-advice",
9265 FT_BOOLEAN, 8, NULL, 0x04,
9267 { &hf_x411_PhysicalDeliveryModes_counter_collection_with_teletex_advice,
9268 { "counter-collection-with-teletex-advice", "x411.counter-collection-with-teletex-advice",
9269 FT_BOOLEAN, 8, NULL, 0x02,
9271 { &hf_x411_PhysicalDeliveryModes_bureau_fax_delivery,
9272 { "bureau-fax-delivery", "x411.bureau-fax-delivery",
9273 FT_BOOLEAN, 8, NULL, 0x01,
9275 { &hf_x411_BuiltInEncodedInformationTypes_unknown,
9276 { "unknown", "x411.unknown",
9277 FT_BOOLEAN, 8, NULL, 0x80,
9279 { &hf_x411_BuiltInEncodedInformationTypes_ia5_text,
9280 { "ia5-text", "x411.ia5-text",
9281 FT_BOOLEAN, 8, NULL, 0x20,
9283 { &hf_x411_BuiltInEncodedInformationTypes_g3_facsimile,
9284 { "g3-facsimile", "x411.g3-facsimile",
9285 FT_BOOLEAN, 8, NULL, 0x10,
9287 { &hf_x411_BuiltInEncodedInformationTypes_g4_class_1,
9288 { "g4-class-1", "x411.g4-class-1",
9289 FT_BOOLEAN, 8, NULL, 0x08,
9291 { &hf_x411_BuiltInEncodedInformationTypes_teletex,
9292 { "teletex", "x411.teletex",
9293 FT_BOOLEAN, 8, NULL, 0x04,
9295 { &hf_x411_BuiltInEncodedInformationTypes_videotex,
9296 { "videotex", "x411.videotex",
9297 FT_BOOLEAN, 8, NULL, 0x02,
9299 { &hf_x411_BuiltInEncodedInformationTypes_voice,
9300 { "voice", "x411.voice",
9301 FT_BOOLEAN, 8, NULL, 0x01,
9303 { &hf_x411_BuiltInEncodedInformationTypes_sfd,
9304 { "sfd", "x411.sfd",
9305 FT_BOOLEAN, 8, NULL, 0x80,
9307 { &hf_x411_BuiltInEncodedInformationTypes_mixed_mode,
9308 { "mixed-mode", "x411.mixed-mode",
9309 FT_BOOLEAN, 8, NULL, 0x40,
9311 { &hf_x411_G3FacsimileNonBasicParameters_two_dimensional,
9312 { "two-dimensional", "x411.two-dimensional",
9313 FT_BOOLEAN, 8, NULL, 0x80,
9315 { &hf_x411_G3FacsimileNonBasicParameters_fine_resolution,
9316 { "fine-resolution", "x411.fine-resolution",
9317 FT_BOOLEAN, 8, NULL, 0x40,
9319 { &hf_x411_G3FacsimileNonBasicParameters_unlimited_length,
9320 { "unlimited-length", "x411.unlimited-length",
9321 FT_BOOLEAN, 8, NULL, 0x08,
9323 { &hf_x411_G3FacsimileNonBasicParameters_b4_length,
9324 { "b4-length", "x411.b4-length",
9325 FT_BOOLEAN, 8, NULL, 0x04,
9327 { &hf_x411_G3FacsimileNonBasicParameters_a3_width,
9328 { "a3-width", "x411.a3-width",
9329 FT_BOOLEAN, 8, NULL, 0x02,
9331 { &hf_x411_G3FacsimileNonBasicParameters_b4_width,
9332 { "b4-width", "x411.b4-width",
9333 FT_BOOLEAN, 8, NULL, 0x01,
9335 { &hf_x411_G3FacsimileNonBasicParameters_t6_coding,
9336 { "t6-coding", "x411.t6-coding",
9337 FT_BOOLEAN, 8, NULL, 0x40,
9339 { &hf_x411_G3FacsimileNonBasicParameters_uncompressed,
9340 { "uncompressed", "x411.uncompressed",
9341 FT_BOOLEAN, 8, NULL, 0x02,
9343 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_864_of_1728,
9344 { "width-middle-864-of-1728", "x411.width-middle-864-of-1728",
9345 FT_BOOLEAN, 8, NULL, 0x04,
9347 { &hf_x411_G3FacsimileNonBasicParameters_width_middle_1216_of_1728,
9348 { "width-middle-1216-of-1728", "x411.width-middle-1216-of-1728",
9349 FT_BOOLEAN, 8, NULL, 0x02,
9351 { &hf_x411_G3FacsimileNonBasicParameters_resolution_type,
9352 { "resolution-type", "x411.resolution-type",
9353 FT_BOOLEAN, 8, NULL, 0x08,
9355 { &hf_x411_G3FacsimileNonBasicParameters_resolution_400x400,
9356 { "resolution-400x400", "x411.resolution-400x400",
9357 FT_BOOLEAN, 8, NULL, 0x04,
9359 { &hf_x411_G3FacsimileNonBasicParameters_resolution_300x300,
9360 { "resolution-300x300", "x411.resolution-300x300",
9361 FT_BOOLEAN, 8, NULL, 0x02,
9363 { &hf_x411_G3FacsimileNonBasicParameters_resolution_8x15,
9364 { "resolution-8x15", "x411.resolution-8x15",
9365 FT_BOOLEAN, 8, NULL, 0x01,
9367 { &hf_x411_G3FacsimileNonBasicParameters_edi,
9368 { "edi", "x411.edi",
9369 FT_BOOLEAN, 8, NULL, 0x40,
9371 { &hf_x411_G3FacsimileNonBasicParameters_dtm,
9372 { "dtm", "x411.dtm",
9373 FT_BOOLEAN, 8, NULL, 0x20,
9375 { &hf_x411_G3FacsimileNonBasicParameters_bft,
9376 { "bft", "x411.bft",
9377 FT_BOOLEAN, 8, NULL, 0x10,
9379 { &hf_x411_G3FacsimileNonBasicParameters_mixed_mode,
9380 { "mixed-mode", "x411.mixed-mode",
9381 FT_BOOLEAN, 8, NULL, 0x20,
9383 { &hf_x411_G3FacsimileNonBasicParameters_character_mode,
9384 { "character-mode", "x411.character-mode",
9385 FT_BOOLEAN, 8, NULL, 0x08,
9387 { &hf_x411_G3FacsimileNonBasicParameters_twelve_bits,
9388 { "twelve-bits", "x411.twelve-bits",
9389 FT_BOOLEAN, 8, NULL, 0x40,
9391 { &hf_x411_G3FacsimileNonBasicParameters_preferred_huffmann,
9392 { "preferred-huffmann", "x411.preferred-huffmann",
9393 FT_BOOLEAN, 8, NULL, 0x20,
9395 { &hf_x411_G3FacsimileNonBasicParameters_full_colour,
9396 { "full-colour", "x411.full-colour",
9397 FT_BOOLEAN, 8, NULL, 0x10,
9399 { &hf_x411_G3FacsimileNonBasicParameters_jpeg,
9400 { "jpeg", "x411.jpeg",
9401 FT_BOOLEAN, 8, NULL, 0x08,
9403 { &hf_x411_G3FacsimileNonBasicParameters_processable_mode_26,
9404 { "processable-mode-26", "x411.processable-mode-26",
9405 FT_BOOLEAN, 8, NULL, 0x01,
9408 /*--- End of included file: packet-x411-hfarr.c ---*/
9409 #line 210 "packet-x411-template.c"
9412 /* List of subtrees */
9413 static gint *ett[] = {
9415 &ett_x411_content_unknown,
9416 &ett_x411_bilateral_information,
9418 /*--- Included file: packet-x411-ettarr.c ---*/
9419 #line 1 "packet-x411-ettarr.c"
9420 &ett_x411_MTABindArgument,
9421 &ett_x411_AuthenticatedArgument,
9422 &ett_x411_MTABindResult,
9423 &ett_x411_AuthenticatedResult,
9427 &ett_x411_MessageTransferEnvelope,
9428 &ett_x411_SEQUENCE_OF_PerDomainBilateralInformation,
9429 &ett_x411_SET_OF_ExtensionField,
9430 &ett_x411_SEQUENCE_OF_PerRecipientMessageTransferFields,
9431 &ett_x411_PerRecipientMessageTransferFields,
9432 &ett_x411_ProbeTransferEnvelope,
9433 &ett_x411_SEQUENCE_OF_PerRecipientProbeTransferFields,
9434 &ett_x411_PerRecipientProbeTransferFields,
9435 &ett_x411_ReportTransferEnvelope,
9436 &ett_x411_ReportTransferContent,
9437 &ett_x411_SEQUENCE_OF_PerRecipientReportTransferFields,
9438 &ett_x411_PerRecipientReportTransferFields,
9439 &ett_x411_PerDomainBilateralInformation,
9440 &ett_x411_T_bilateral_domain,
9441 &ett_x411_T_private_domain,
9442 &ett_x411_PerRecipientIndicators,
9443 &ett_x411_LastTraceInformation,
9444 &ett_x411_InternalTraceInformation,
9445 &ett_x411_InternalTraceInformationElement,
9446 &ett_x411_MTASuppliedInformation,
9447 &ett_x411_T_attempted,
9448 &ett_x411_TraceInformation,
9449 &ett_x411_TraceInformationElement,
9450 &ett_x411_DomainSuppliedInformation,
9451 &ett_x411_OtherActions,
9452 &ett_x411_MTSBindArgument,
9453 &ett_x411_MTSBindResult,
9454 &ett_x411_ObjectName,
9455 &ett_x411_MessagesWaiting,
9456 &ett_x411_DeliveryQueue,
9457 &ett_x411_Credentials,
9459 &ett_x411_StrongCredentials,
9460 &ett_x411_ProtectedPassword,
9461 &ett_x411_Signature,
9462 &ett_x411_SecurityContext,
9463 &ett_x411_MessageSubmissionArgument,
9464 &ett_x411_MessageSubmissionResult,
9465 &ett_x411_ProbeSubmissionResult,
9466 &ett_x411_ImproperlySpecifiedRecipients,
9468 &ett_x411_SET_OF_ContentType,
9469 &ett_x411_Operations,
9470 &ett_x411_WaitingMessages,
9471 &ett_x411_MessageDeliveryArgument,
9472 &ett_x411_MessageDeliveryResult,
9473 &ett_x411_ReportDeliveryArgument,
9474 &ett_x411_SEQUENCE_OF_PerRecipientReportDeliveryFields,
9475 &ett_x411_ReportDeliveryResult,
9476 &ett_x411_DeliveryControlArgument,
9477 &ett_x411_DeliveryControlResult,
9478 &ett_x411_RefusedOperation,
9479 &ett_x411_T_refused_argument,
9481 &ett_x411_RegisterArgument,
9482 &ett_x411_SET_OF_DeliverableClass,
9483 &ett_x411_RegisterResult,
9484 &ett_x411_T_non_empty_result,
9485 &ett_x411_ChangeCredentialsArgument,
9486 &ett_x411_UserAddress,
9488 &ett_x411_Redirections,
9489 &ett_x411_RecipientRedirection,
9490 &ett_x411_SET_OF_RedirectionClass,
9491 &ett_x411_MessageClass,
9492 &ett_x411_SET_OF_Priority,
9493 &ett_x411_SEQUENCE_OF_Restriction,
9494 &ett_x411_EncodedInformationTypesConstraints,
9495 &ett_x411_RestrictedDelivery,
9496 &ett_x411_Restriction,
9497 &ett_x411_T_source_type,
9498 &ett_x411_ExactOrPattern,
9499 &ett_x411_RegistrationTypes,
9500 &ett_x411_T_standard_parameters,
9501 &ett_x411_T_type_extensions,
9502 &ett_x411_MessageSubmissionEnvelope,
9503 &ett_x411_SEQUENCE_OF_PerRecipientMessageSubmissionFields,
9504 &ett_x411_PerRecipientMessageSubmissionFields,
9505 &ett_x411_ProbeSubmissionEnvelope,
9506 &ett_x411_SEQUENCE_OF_PerRecipientProbeSubmissionFields,
9507 &ett_x411_PerRecipientProbeSubmissionFields,
9508 &ett_x411_MessageDeliveryEnvelope,
9509 &ett_x411_OtherMessageDeliveryFields,
9510 &ett_x411_ReportDeliveryEnvelope,
9511 &ett_x411_PerRecipientReportDeliveryFields,
9512 &ett_x411_ReportType,
9513 &ett_x411_DeliveryReport,
9514 &ett_x411_NonDeliveryReport,
9515 &ett_x411_ContentTypes,
9516 &ett_x411_ContentType,
9517 &ett_x411_DeliveredContentType,
9518 &ett_x411_PerMessageIndicators,
9519 &ett_x411_OriginatorReportRequest,
9520 &ett_x411_DeliveryFlags,
9521 &ett_x411_OtherRecipientNames,
9522 &ett_x411_ExtensionType,
9523 &ett_x411_Criticality,
9524 &ett_x411_ExtensionField,
9525 &ett_x411_RequestedDeliveryMethod,
9526 &ett_x411_PhysicalDeliveryModes,
9527 &ett_x411_ContentCorrelator,
9528 &ett_x411_RedirectionHistory,
9529 &ett_x411_Redirection,
9530 &ett_x411_IntendedRecipientName,
9531 &ett_x411_DLExpansionHistory,
9532 &ett_x411_DLExpansion,
9533 &ett_x411_OriginatorAndDLExpansionHistory,
9534 &ett_x411_OriginatorAndDLExpansion,
9535 &ett_x411_PerRecipientReportFields,
9536 &ett_x411_T_report_type,
9537 &ett_x411_PerRecipientDeliveryReportFields,
9538 &ett_x411_PerRecipientNonDeliveryReportFields,
9539 &ett_x411_ReportingMTAName,
9540 &ett_x411_ExtendedCertificates,
9541 &ett_x411_ExtendedCertificate,
9542 &ett_x411_DLExemptedRecipients,
9543 &ett_x411_CertificateSelectors,
9544 &ett_x411_MTSIdentifier,
9545 &ett_x411_GlobalDomainIdentifier,
9546 &ett_x411_PrivateDomainIdentifier,
9548 &ett_x411_ORAddress,
9549 &ett_x411_BuiltInStandardAttributes,
9550 &ett_x411_CountryName,
9551 &ett_x411_AdministrationDomainName,
9552 &ett_x411_PrivateDomainName,
9553 &ett_x411_PersonalName,
9554 &ett_x411_OrganizationalUnitNames,
9555 &ett_x411_BuiltInDomainDefinedAttributes,
9556 &ett_x411_BuiltInDomainDefinedAttribute,
9557 &ett_x411_ExtensionAttributes,
9558 &ett_x411_ExtensionAttribute,
9559 &ett_x411_TeletexPersonalName,
9560 &ett_x411_UniversalPersonalName,
9561 &ett_x411_TeletexOrganizationalUnitNames,
9562 &ett_x411_UniversalOrganizationalUnitNames,
9563 &ett_x411_UniversalOrBMPString,
9564 &ett_x411_T_character_encoding,
9565 &ett_x411_PhysicalDeliveryCountryName,
9566 &ett_x411_PostalCode,
9567 &ett_x411_UnformattedPostalAddress,
9568 &ett_x411_T_printable_address,
9569 &ett_x411_PDSParameter,
9570 &ett_x411_ExtendedNetworkAddress,
9571 &ett_x411_T_e163_4_address,
9572 &ett_x411_TeletexDomainDefinedAttributes,
9573 &ett_x411_TeletexDomainDefinedAttribute,
9574 &ett_x411_UniversalDomainDefinedAttributes,
9575 &ett_x411_UniversalDomainDefinedAttribute,
9576 &ett_x411_EncodedInformationTypes,
9577 &ett_x411_BuiltInEncodedInformationTypes,
9578 &ett_x411_ExtendedEncodedInformationTypes,
9579 &ett_x411_NonBasicParameters,
9580 &ett_x411_G3FacsimileNonBasicParameters,
9581 &ett_x411_TeletexNonBasicParameters,
9583 &ett_x411_AsymmetricTokenData,
9585 &ett_x411_MTANameAndOptionalGDI,
9586 &ett_x411_AsymmetricToken,
9587 &ett_x411_TokenData,
9588 &ett_x411_MessageTokenSignedData,
9589 &ett_x411_MessageTokenEncryptedData,
9590 &ett_x411_SecurityLabel,
9591 &ett_x411_SecurityCategories,
9592 &ett_x411_SecurityCategory,
9594 /*--- End of included file: packet-x411-ettarr.c ---*/
9595 #line 218 "packet-x411-template.c"
9598 /* Register protocol */
9599 proto_x411 = proto_register_protocol(PNAME, PSNAME, PFNAME);
9600 register_dissector("x411", dissect_x411, proto_x411);
9601 /* Register fields and subtrees */
9602 proto_register_field_array(proto_x411, hf, array_length(hf));
9603 proto_register_subtree_array(ett, array_length(ett));
9608 /*--- proto_reg_handoff_x411 --- */
9609 void proto_reg_handoff_x411(void) {
9610 dissector_handle_t handle = NULL;
9613 /*--- Included file: packet-x411-dis-tab.c ---*/
9614 #line 1 "packet-x411-dis-tab.c"
9615 register_ber_oid_dissector("x411.extension.1", dissect_RecipientReassignmentProhibited_PDU, proto_x411, "recipient-reassignment-prohibited");
9616 register_ber_oid_dissector("x411.extension.2", dissect_MTSOriginatorRequestedAlternateRecipient_PDU, proto_x411, "originator-requested-alternate-recipient");
9617 register_ber_oid_dissector("x411.extension.3", dissect_DLExpansionProhibited_PDU, proto_x411, "dl-expansion-prohibited");
9618 register_ber_oid_dissector("x411.extension.4", dissect_ConversionWithLossProhibited_PDU, proto_x411, "conversion-with-loss-prohibited");
9619 register_ber_oid_dissector("x411.extension.5", dissect_LatestDeliveryTime_PDU, proto_x411, "latest-delivery-time");
9620 register_ber_oid_dissector("x411.extension.6", dissect_RequestedDeliveryMethod_PDU, proto_x411, "requested-delivery-method");
9621 register_ber_oid_dissector("x411.extension.7", dissect_PhysicalForwardingProhibited_PDU, proto_x411, "physical-forwarding-prohibited");
9622 register_ber_oid_dissector("x411.extension.8", dissect_PhysicalForwardingAddressRequest_PDU, proto_x411, "physical-forwarding-address-request");
9623 register_ber_oid_dissector("x411.extension.9", dissect_PhysicalDeliveryModes_PDU, proto_x411, "physical-delivery-modes");
9624 register_ber_oid_dissector("x411.extension.10", dissect_RegisteredMailType_PDU, proto_x411, "registered-mail-type");
9625 register_ber_oid_dissector("x411.extension.11", dissect_RecipientNumberForAdvice_PDU, proto_x411, "recipient-number-for-advice");
9626 register_ber_oid_dissector("x411.extension.12", dissect_PhysicalRenditionAttributes_PDU, proto_x411, "physical-rendition-attributes");
9627 register_ber_oid_dissector("x411.extension.13", dissect_OriginatorReturnAddress_PDU, proto_x411, "originator-return-address");
9628 register_ber_oid_dissector("x411.extension.14", dissect_PhysicalDeliveryReportRequest_PDU, proto_x411, "physical-delivery-report-request");
9629 register_ber_oid_dissector("x411.extension.15", dissect_OriginatorCertificate_PDU, proto_x411, "originator-certificate");
9630 register_ber_oid_dissector("x411.extension.16", dissect_MessageToken_PDU, proto_x411, "message-token");
9631 register_ber_oid_dissector("x411.extension.17", dissect_ContentConfidentialityAlgorithmIdentifier_PDU, proto_x411, "content-confidentiality-algorithm-identifier");
9632 register_ber_oid_dissector("x411.extension.18", dissect_ContentIntegrityCheck_PDU, proto_x411, "content-integrity-check");
9633 register_ber_oid_dissector("x411.extension.19", dissect_MessageOriginAuthenticationCheck_PDU, proto_x411, "message-origin-authentication-check");
9634 register_ber_oid_dissector("x411.extension.20", dissect_MessageSecurityLabel_PDU, proto_x411, "message-security-label");
9635 register_ber_oid_dissector("x411.extension.21", dissect_ProofOfSubmissionRequest_PDU, proto_x411, "proof-of-submission-request");
9636 register_ber_oid_dissector("x411.extension.22", dissect_ProofOfDeliveryRequest_PDU, proto_x411, "proof-of-delivery-request");
9637 register_ber_oid_dissector("x411.extension.23", dissect_ContentCorrelator_PDU, proto_x411, "content-correlator");
9638 register_ber_oid_dissector("x411.extension.24", dissect_ProbeOriginAuthenticationCheck_PDU, proto_x411, "probe-origin-authentication-check");
9639 register_ber_oid_dissector("x411.extension.25", dissect_RedirectionHistory_PDU, proto_x411, "redirection-history");
9640 register_ber_oid_dissector("x411.extension.26", dissect_DLExpansionHistory_PDU, proto_x411, "dl-expansion-history");
9641 register_ber_oid_dissector("x411.extension.27", dissect_PhysicalForwardingAddress_PDU, proto_x411, "physical-forwarding-address");
9642 register_ber_oid_dissector("x411.extension.28", dissect_RecipientCertificate_PDU, proto_x411, "recipient-certificate");
9643 register_ber_oid_dissector("x411.extension.29", dissect_ProofOfDelivery_PDU, proto_x411, "proof-of-delivery");
9644 register_ber_oid_dissector("x411.extension.30", dissect_OriginatorAndDLExpansionHistory_PDU, proto_x411, "originator-and-DL-expansion-history");
9645 register_ber_oid_dissector("x411.extension.31", dissect_ReportingDLName_PDU, proto_x411, "reporting-DL-name");
9646 register_ber_oid_dissector("x411.extension.32", dissect_ReportingMTACertificate_PDU, proto_x411, "reporting-MTA-certificate");
9647 register_ber_oid_dissector("x411.extension.33", dissect_ReportOriginAuthenticationCheck_PDU, proto_x411, "report-origin-authentication-check");
9648 register_ber_oid_dissector("x411.extension.35", dissect_ProofOfSubmission_PDU, proto_x411, "proof-of-submission");
9649 register_ber_oid_dissector("x411.extension.37", dissect_TraceInformation_PDU, proto_x411, "trace-information");
9650 register_ber_oid_dissector("x411.extension.38", dissect_InternalTraceInformation_PDU, proto_x411, "internal-trace-information");
9651 register_ber_oid_dissector("x411.extension.39", dissect_ReportingMTAName_PDU, proto_x411, "reporting-MTA-name");
9652 register_ber_oid_dissector("x411.extension.40", dissect_ExtendedCertificates_PDU, proto_x411, "multiple-originator-certificates");
9653 register_ber_oid_dissector("x411.extension.42", dissect_DLExemptedRecipients_PDU, proto_x411, "dl-exempted-recipients");
9654 register_ber_oid_dissector("x411.extension.45", dissect_CertificateSelectors_PDU, proto_x411, "certificate-selectors");
9655 register_ber_oid_dissector("x411.extension-attribute.1", dissect_CommonName_PDU, proto_x411, "common-name");
9656 register_ber_oid_dissector("x411.extension-attribute.2", dissect_TeletexCommonName_PDU, proto_x411, "teletex-common-name");
9657 register_ber_oid_dissector("x411.extension-attribute.3", dissect_TeletexOrganizationName_PDU, proto_x411, "teletex-organization-name");
9658 register_ber_oid_dissector("x411.extension-attribute.4", dissect_TeletexPersonalName_PDU, proto_x411, "teletex-personal-name");
9659 register_ber_oid_dissector("x411.extension-attribute.5", dissect_TeletexOrganizationalUnitNames_PDU, proto_x411, "teletex-organizational-unit-names");
9660 register_ber_oid_dissector("x411.extension-attribute.7", dissect_PDSName_PDU, proto_x411, "pds-name");
9661 register_ber_oid_dissector("x411.extension-attribute.8", dissect_PhysicalDeliveryCountryName_PDU, proto_x411, "physical-delivery-country-name");
9662 register_ber_oid_dissector("x411.extension-attribute.9", dissect_PostalCode_PDU, proto_x411, "postal-code");
9663 register_ber_oid_dissector("x411.extension-attribute.10", dissect_PhysicalDeliveryOfficeName_PDU, proto_x411, "physical-delivery-office-name");
9664 register_ber_oid_dissector("x411.extension-attribute.24", dissect_UniversalCommonName_PDU, proto_x411, "universal-common-name");
9665 register_ber_oid_dissector("x411.extension-attribute.25", dissect_UniversalOrganizationName_PDU, proto_x411, "universal-organization-name");
9666 register_ber_oid_dissector("x411.extension-attribute.26", dissect_UniversalPersonalName_PDU, proto_x411, "universal-personal-name");
9667 register_ber_oid_dissector("x411.extension-attribute.27", dissect_UniversalOrganizationalUnitNames_PDU, proto_x411, "universal-organizational-unit-names");
9668 register_ber_oid_dissector("2.6.1.4.14", dissect_ReportDeliveryArgument_PDU, proto_x411, "id-et-report");
9669 register_ber_oid_dissector("2.6.3.6.0", dissect_AsymmetricToken_PDU, proto_x411, "id-tok-asymmetricToken");
9670 register_ber_oid_dissector("2.6.5.6.0", dissect_MTANameAndOptionalGDI_PDU, proto_x411, "id-on-mtaName");
9671 register_ber_oid_dissector("x411.tokendata.1", dissect_BindTokenSignedData_PDU, proto_x411, "bind-token-signed-data");
9672 register_ber_oid_dissector("x411.tokendata.2", dissect_MessageTokenSignedData_PDU, proto_x411, "message-token-signed-data");
9673 register_ber_oid_dissector("x411.tokendata.3", dissect_MessageTokenEncryptedData_PDU, proto_x411, "message-token-encrypted-data");
9674 register_ber_oid_dissector("x411.tokendata.4", dissect_BindTokenEncryptedData_PDU, proto_x411, "bind-token-encrypted-data");
9675 register_ber_oid_dissector("2.6.5.2.0", dissect_ContentLength_PDU, proto_x411, "id-at-mhs-maximum-content-length");
9676 register_ber_oid_dissector("2.6.5.2.1", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-deliverable-content-types");
9677 register_ber_oid_dissector("2.6.5.2.2", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-exclusively-acceptable-eits");
9678 register_ber_oid_dissector("2.6.5.2.3", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-members");
9679 register_ber_oid_dissector("2.6.5.2.6", dissect_ORAddress_PDU, proto_x411, "id-at-mhs-or-addresses");
9680 register_ber_oid_dissector("2.6.5.2.9", dissect_ExtendedContentType_PDU, proto_x411, "id-at-mhs-supported-content-types");
9681 register_ber_oid_dissector("2.6.5.2.12", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-archive-service");
9682 register_ber_oid_dissector("2.6.5.2.15", dissect_ORName_PDU, proto_x411, "id-at-mhs-dl-subscription-service");
9683 register_ber_oid_dissector("2.6.5.2.17", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-acceptable-eits");
9684 register_ber_oid_dissector("2.6.5.2.18", dissect_ExtendedEncodedInformationType_PDU, proto_x411, "id-at-mhs-unacceptable-eits");
9685 register_ber_oid_dissector("2.16.840.1.101.2.1.5.47", dissect_ORName_PDU, proto_x411, "id-at-aLExemptedAddressProcessor");
9686 register_ber_oid_dissector("2.16.840.1.101.2.2.1.134.1", dissect_ORAddress_PDU, proto_x411, "id-at-collective-mhs-or-addresses");
9689 /*--- End of included file: packet-x411-dis-tab.c ---*/
9690 #line 235 "packet-x411-template.c"
9692 /* APPLICATION CONTEXT */
9694 add_oid_str_name("2.6.0.1.6", "id-ac-mts-transfer");
9696 /* ABSTRACT SYNTAXES */
9698 if((handle = find_dissector("x411")) != NULL) {
9699 register_rtse_oid_dissector_handle("2.6.0.2.12", handle, 0, "id-as-mta-rtse", TRUE);
9700 register_rtse_oid_dissector_handle("2.6.0.2.7", handle, 0, "id-as-mtse", FALSE);
9702 register_ber_syntax_dissector("X.411 Message", proto_x411, dissect_x411_mts_apdu);
9703 register_rtse_oid_dissector_handle("applicationProtocol.1", handle, 0, "mts-transfer-protocol-1984", FALSE);
9704 register_rtse_oid_dissector_handle("applicationProtocol.12", handle, 0, "mta-transfer-protocol", FALSE);